aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPalmer Dabbelt <palmer@dabbelt.com>2017-05-04 12:58:50 -0700
committerPalmer Dabbelt <palmer@dabbelt.com>2017-05-04 12:58:50 -0700
commit00e822b51648e4b1d9f5541ddc1e20240fd00464 (patch)
tree6d4286640e7cebdda154d74d7b1ea1f99680062d
parentfd3cb638fea3a945529517ea9d0d764b0c6a90a7 (diff)
parent89f4e3aba10910b443288211419da58022106e99 (diff)
downloadriscv-gnu-toolchain-00e822b51648e4b1d9f5541ddc1e20240fd00464.zip
riscv-gnu-toolchain-00e822b51648e4b1d9f5541ddc1e20240fd00464.tar.gz
riscv-gnu-toolchain-00e822b51648e4b1d9f5541ddc1e20240fd00464.tar.bz2
Merge branch 'to_archive' into __archive__
-rw-r--r--.gitignore6
-rw-r--r--.gitmodules15
-rw-r--r--.travis.yml25
-rw-r--r--LICENSE773
-rw-r--r--Makefile.in263
-rw-r--r--README.md97
-rwxr-xr-xconfigure4464
-rw-r--r--configure.ac116
-rw-r--r--linux-headers/include/asm-generic/auxvec.h8
-rw-r--r--linux-headers/include/asm-generic/bitsperlong.h15
-rw-r--r--linux-headers/include/asm-generic/errno-base.h39
-rw-r--r--linux-headers/include/asm-generic/errno.h122
-rw-r--r--linux-headers/include/asm-generic/fcntl.h220
-rw-r--r--linux-headers/include/asm-generic/int-l64.h34
-rw-r--r--linux-headers/include/asm-generic/int-ll64.h39
-rw-r--r--linux-headers/include/asm-generic/ioctl.h96
-rw-r--r--linux-headers/include/asm-generic/ioctls.h117
-rw-r--r--linux-headers/include/asm-generic/ipcbuf.h34
-rw-r--r--linux-headers/include/asm-generic/kvm_para.h4
-rw-r--r--linux-headers/include/asm-generic/mman-common.h75
-rw-r--r--linux-headers/include/asm-generic/mman.h22
-rw-r--r--linux-headers/include/asm-generic/msgbuf.h47
-rw-r--r--linux-headers/include/asm-generic/param.h19
-rw-r--r--linux-headers/include/asm-generic/poll.h41
-rw-r--r--linux-headers/include/asm-generic/posix_types.h96
-rw-r--r--linux-headers/include/asm-generic/resource.h61
-rw-r--r--linux-headers/include/asm-generic/sembuf.h38
-rw-r--r--linux-headers/include/asm-generic/setup.h6
-rw-r--r--linux-headers/include/asm-generic/shmbuf.h59
-rw-r--r--linux-headers/include/asm-generic/shmparam.h6
-rw-r--r--linux-headers/include/asm-generic/siginfo.h310
-rw-r--r--linux-headers/include/asm-generic/signal-defs.h28
-rw-r--r--linux-headers/include/asm-generic/signal.h119
-rw-r--r--linux-headers/include/asm-generic/socket.h95
-rw-r--r--linux-headers/include/asm-generic/sockios.h13
-rw-r--r--linux-headers/include/asm-generic/stat.h72
-rw-r--r--linux-headers/include/asm-generic/statfs.h83
-rw-r--r--linux-headers/include/asm-generic/swab.h18
-rw-r--r--linux-headers/include/asm-generic/termbits.h199
-rw-r--r--linux-headers/include/asm-generic/termios.h50
-rw-r--r--linux-headers/include/asm-generic/types.h8
-rw-r--r--linux-headers/include/asm-generic/ucontext.h12
-rw-r--r--linux-headers/include/asm-generic/unistd.h933
-rw-r--r--linux-headers/include/asm/auxvec.h7
-rw-r--r--linux-headers/include/asm/bitsperlong.h8
-rw-r--r--linux-headers/include/asm/byteorder.h6
-rw-r--r--linux-headers/include/asm/errno.h1
-rw-r--r--linux-headers/include/asm/fcntl.h1
-rw-r--r--linux-headers/include/asm/ioctl.h1
-rw-r--r--linux-headers/include/asm/ioctls.h1
-rw-r--r--linux-headers/include/asm/ipcbuf.h1
-rw-r--r--linux-headers/include/asm/mman.h1
-rw-r--r--linux-headers/include/asm/msgbuf.h1
-rw-r--r--linux-headers/include/asm/param.h1
-rw-r--r--linux-headers/include/asm/poll.h1
-rw-r--r--linux-headers/include/asm/posix_types.h1
-rw-r--r--linux-headers/include/asm/ptrace.h55
-rw-r--r--linux-headers/include/asm/resource.h1
-rw-r--r--linux-headers/include/asm/sembuf.h1
-rw-r--r--linux-headers/include/asm/setup.h6
-rw-r--r--linux-headers/include/asm/shmbuf.h1
-rw-r--r--linux-headers/include/asm/sigcontext.h16
-rw-r--r--linux-headers/include/asm/siginfo.h24
-rw-r--r--linux-headers/include/asm/signal.h1
-rw-r--r--linux-headers/include/asm/socket.h1
-rw-r--r--linux-headers/include/asm/sockios.h1
-rw-r--r--linux-headers/include/asm/stat.h1
-rw-r--r--linux-headers/include/asm/statfs.h1
-rw-r--r--linux-headers/include/asm/swab.h1
-rw-r--r--linux-headers/include/asm/termbits.h1
-rw-r--r--linux-headers/include/asm/termios.h1
-rw-r--r--linux-headers/include/asm/types.h1
-rw-r--r--linux-headers/include/asm/unistd.h9
-rw-r--r--linux-headers/include/drm/amdgpu_drm.h645
-rw-r--r--linux-headers/include/drm/drm.h877
-rw-r--r--linux-headers/include/drm/drm_fourcc.h232
-rw-r--r--linux-headers/include/drm/drm_mode.h614
-rw-r--r--linux-headers/include/drm/drm_sarea.h84
-rw-r--r--linux-headers/include/drm/exynos_drm.h365
-rw-r--r--linux-headers/include/drm/i810_drm.h283
-rw-r--r--linux-headers/include/drm/i915_drm.h1173
-rw-r--r--linux-headers/include/drm/mga_drm.h419
-rw-r--r--linux-headers/include/drm/msm_drm.h220
-rw-r--r--linux-headers/include/drm/nouveau_drm.h144
-rw-r--r--linux-headers/include/drm/qxl_drm.h151
-rw-r--r--linux-headers/include/drm/r128_drm.h328
-rw-r--r--linux-headers/include/drm/radeon_drm.h1070
-rw-r--r--linux-headers/include/drm/savage_drm.h212
-rw-r--r--linux-headers/include/drm/sis_drm.h67
-rw-r--r--linux-headers/include/drm/tegra_drm.h201
-rw-r--r--linux-headers/include/drm/vc4_drm.h279
-rw-r--r--linux-headers/include/drm/via_drm.h274
-rw-r--r--linux-headers/include/drm/virtgpu_drm.h166
-rw-r--r--linux-headers/include/drm/vmwgfx_drm.h1090
-rw-r--r--linux-headers/include/linux/acct.h116
-rw-r--r--linux-headers/include/linux/adb.h44
-rw-r--r--linux-headers/include/linux/adfs_fs.h44
-rw-r--r--linux-headers/include/linux/affs_hardblocks.h68
-rw-r--r--linux-headers/include/linux/agpgart.h112
-rw-r--r--linux-headers/include/linux/aio_abi.h111
-rw-r--r--linux-headers/include/linux/am437x-vpfe.h124
-rw-r--r--linux-headers/include/linux/android/binder.h352
-rw-r--r--linux-headers/include/linux/apm_bios.h137
-rw-r--r--linux-headers/include/linux/arcfb.h8
-rw-r--r--linux-headers/include/linux/atalk.h44
-rw-r--r--linux-headers/include/linux/atm.h241
-rw-r--r--linux-headers/include/linux/atm_eni.h23
-rw-r--r--linux-headers/include/linux/atm_he.h20
-rw-r--r--linux-headers/include/linux/atm_idt77105.h28
-rw-r--r--linux-headers/include/linux/atm_nicstar.h53
-rw-r--r--linux-headers/include/linux/atm_tcp.h61
-rw-r--r--linux-headers/include/linux/atm_zatm.h46
-rw-r--r--linux-headers/include/linux/atmapi.h29
-rw-r--r--linux-headers/include/linux/atmarp.h41
-rw-r--r--linux-headers/include/linux/atmbr2684.h117
-rw-r--r--linux-headers/include/linux/atmclip.h21
-rw-r--r--linux-headers/include/linux/atmdev.h215
-rw-r--r--linux-headers/include/linux/atmioc.h41
-rw-r--r--linux-headers/include/linux/atmlec.h91
-rw-r--r--linux-headers/include/linux/atmmpc.h126
-rw-r--r--linux-headers/include/linux/atmppp.h24
-rw-r--r--linux-headers/include/linux/atmsap.h162
-rw-r--r--linux-headers/include/linux/atmsvc.h55
-rw-r--r--linux-headers/include/linux/audit.h467
-rw-r--r--linux-headers/include/linux/auto_fs.h69
-rw-r--r--linux-headers/include/linux/auto_fs4.h157
-rw-r--r--linux-headers/include/linux/auxvec.h36
-rw-r--r--linux-headers/include/linux/ax25.h116
-rw-r--r--linux-headers/include/linux/b1lli.h73
-rw-r--r--linux-headers/include/linux/baycom.h39
-rw-r--r--linux-headers/include/linux/bcm933xx_hcs.h24
-rw-r--r--linux-headers/include/linux/bfs_fs.h81
-rw-r--r--linux-headers/include/linux/binfmts.h20
-rw-r--r--linux-headers/include/linux/blkpg.h59
-rw-r--r--linux-headers/include/linux/blktrace_api.h142
-rw-r--r--linux-headers/include/linux/bpf.h382
-rw-r--r--linux-headers/include/linux/bpf_common.h55
-rw-r--r--linux-headers/include/linux/bpqether.h41
-rw-r--r--linux-headers/include/linux/bsg.h66
-rw-r--r--linux-headers/include/linux/btrfs.h663
-rw-r--r--linux-headers/include/linux/byteorder/big_endian.h105
-rw-r--r--linux-headers/include/linux/byteorder/little_endian.h105
-rw-r--r--linux-headers/include/linux/caif/caif_socket.h194
-rw-r--r--linux-headers/include/linux/caif/if_caif.h34
-rw-r--r--linux-headers/include/linux/can.h200
-rw-r--r--linux-headers/include/linux/can/bcm.h103
-rw-r--r--linux-headers/include/linux/can/error.h124
-rw-r--r--linux-headers/include/linux/can/gw.h208
-rw-r--r--linux-headers/include/linux/can/netlink.h135
-rw-r--r--linux-headers/include/linux/can/raw.h63
-rw-r--r--linux-headers/include/linux/capability.h365
-rw-r--r--linux-headers/include/linux/capi.h131
-rw-r--r--linux-headers/include/linux/cciss_defs.h130
-rw-r--r--linux-headers/include/linux/cciss_ioctl.h88
-rw-r--r--linux-headers/include/linux/cdrom.h946
-rw-r--r--linux-headers/include/linux/cgroupstats.h71
-rw-r--r--linux-headers/include/linux/chio.h168
-rw-r--r--linux-headers/include/linux/cm4000_cs.h63
-rw-r--r--linux-headers/include/linux/cn_proc.h129
-rw-r--r--linux-headers/include/linux/coda.h736
-rw-r--r--linux-headers/include/linux/coda_psdev.h27
-rw-r--r--linux-headers/include/linux/coff.h351
-rw-r--r--linux-headers/include/linux/connector.h80
-rw-r--r--linux-headers/include/linux/const.h27
-rw-r--r--linux-headers/include/linux/cramfs_fs.h88
-rw-r--r--linux-headers/include/linux/cuda.h33
-rw-r--r--linux-headers/include/linux/cyclades.h493
-rw-r--r--linux-headers/include/linux/cycx_cfm.h101
-rw-r--r--linux-headers/include/linux/dcbnl.h755
-rw-r--r--linux-headers/include/linux/dccp.h237
-rw-r--r--linux-headers/include/linux/devlink.h72
-rw-r--r--linux-headers/include/linux/dlm.h75
-rw-r--r--linux-headers/include/linux/dlm_device.h108
-rw-r--r--linux-headers/include/linux/dlm_netlink.h58
-rw-r--r--linux-headers/include/linux/dlm_plock.h45
-rw-r--r--linux-headers/include/linux/dlmconstants.h163
-rw-r--r--linux-headers/include/linux/dm-ioctl.h360
-rw-r--r--linux-headers/include/linux/dm-log-userspace.h430
-rw-r--r--linux-headers/include/linux/dn.h148
-rw-r--r--linux-headers/include/linux/dqblk_xfs.h214
-rw-r--r--linux-headers/include/linux/dvb/audio.h135
-rw-r--r--linux-headers/include/linux/dvb/ca.h90
-rw-r--r--linux-headers/include/linux/dvb/dmx.h153
-rw-r--r--linux-headers/include/linux/dvb/frontend.h600
-rw-r--r--linux-headers/include/linux/dvb/net.h52
-rw-r--r--linux-headers/include/linux/dvb/osd.h144
-rw-r--r--linux-headers/include/linux/dvb/version.h29
-rw-r--r--linux-headers/include/linux/dvb/video.h271
-rw-r--r--linux-headers/include/linux/edd.h191
-rw-r--r--linux-headers/include/linux/efs_fs_sb.h62
-rw-r--r--linux-headers/include/linux/elf-em.h60
-rw-r--r--linux-headers/include/linux/elf-fdpic.h34
-rw-r--r--linux-headers/include/linux/elf.h420
-rw-r--r--linux-headers/include/linux/elfcore.h96
-rw-r--r--linux-headers/include/linux/errno.h1
-rw-r--r--linux-headers/include/linux/errqueue.h46
-rw-r--r--linux-headers/include/linux/ethtool.h1729
-rw-r--r--linux-headers/include/linux/eventpoll.h79
-rw-r--r--linux-headers/include/linux/fadvise.h21
-rw-r--r--linux-headers/include/linux/falloc.h61
-rw-r--r--linux-headers/include/linux/fanotify.h116
-rw-r--r--linux-headers/include/linux/fb.h400
-rw-r--r--linux-headers/include/linux/fcntl.h67
-rw-r--r--linux-headers/include/linux/fd.h383
-rw-r--r--linux-headers/include/linux/fdreg.h137
-rw-r--r--linux-headers/include/linux/fib_rules.h72
-rw-r--r--linux-headers/include/linux/fiemap.h69
-rw-r--r--linux-headers/include/linux/filter.h89
-rw-r--r--linux-headers/include/linux/firewire-cdev.h1039
-rw-r--r--linux-headers/include/linux/firewire-constants.h92
-rw-r--r--linux-headers/include/linux/flat.h58
-rw-r--r--linux-headers/include/linux/fou.h41
-rw-r--r--linux-headers/include/linux/fs.h328
-rw-r--r--linux-headers/include/linux/fsl_hypervisor.h220
-rw-r--r--linux-headers/include/linux/fuse.h772
-rw-r--r--linux-headers/include/linux/futex.h152
-rw-r--r--linux-headers/include/linux/gameport.h28
-rw-r--r--linux-headers/include/linux/gen_stats.h78
-rw-r--r--linux-headers/include/linux/genetlink.h87
-rw-r--r--linux-headers/include/linux/gfs2_ondisk.h482
-rw-r--r--linux-headers/include/linux/gigaset_dev.h38
-rw-r--r--linux-headers/include/linux/gpio.h58
-rw-r--r--linux-headers/include/linux/gsmmux.h40
-rw-r--r--linux-headers/include/linux/hdlc.h23
-rw-r--r--linux-headers/include/linux/hdlc/ioctl.h84
-rw-r--r--linux-headers/include/linux/hdlcdrv.h110
-rw-r--r--linux-headers/include/linux/hdreg.h642
-rw-r--r--linux-headers/include/linux/hid.h66
-rw-r--r--linux-headers/include/linux/hiddev.h212
-rw-r--r--linux-headers/include/linux/hidraw.h50
-rw-r--r--linux-headers/include/linux/hpet.h25
-rw-r--r--linux-headers/include/linux/hsi/cs-protocol.h119
-rw-r--r--linux-headers/include/linux/hsi/hsi_char.h63
-rw-r--r--linux-headers/include/linux/hsr_netlink.h50
-rw-r--r--linux-headers/include/linux/hw_breakpoint.h30
-rw-r--r--linux-headers/include/linux/hyperv.h399
-rw-r--r--linux-headers/include/linux/hysdn_if.h33
-rw-r--r--linux-headers/include/linux/i2c-dev.h74
-rw-r--r--linux-headers/include/linux/i2c.h152
-rw-r--r--linux-headers/include/linux/i2o-dev.h421
-rw-r--r--linux-headers/include/linux/i8k.h47
-rw-r--r--linux-headers/include/linux/icmp.h97
-rw-r--r--linux-headers/include/linux/icmpv6.h166
-rw-r--r--linux-headers/include/linux/if.h290
-rw-r--r--linux-headers/include/linux/if_addr.h67
-rw-r--r--linux-headers/include/linux/if_addrlabel.h32
-rw-r--r--linux-headers/include/linux/if_alg.h42
-rw-r--r--linux-headers/include/linux/if_arcnet.h129
-rw-r--r--linux-headers/include/linux/if_arp.h161
-rw-r--r--linux-headers/include/linux/if_bonding.h130
-rw-r--r--linux-headers/include/linux/if_bridge.h236
-rw-r--r--linux-headers/include/linux/if_cablemodem.h22
-rw-r--r--linux-headers/include/linux/if_eql.h54
-rw-r--r--linux-headers/include/linux/if_ether.h146
-rw-r--r--linux-headers/include/linux/if_fc.h51
-rw-r--r--linux-headers/include/linux/if_fddi.h106
-rw-r--r--linux-headers/include/linux/if_frad.h122
-rw-r--r--linux-headers/include/linux/if_hippi.h153
-rw-r--r--linux-headers/include/linux/if_infiniband.h29
-rw-r--r--linux-headers/include/linux/if_link.h780
-rw-r--r--linux-headers/include/linux/if_ltalk.h9
-rw-r--r--linux-headers/include/linux/if_macsec.h163
-rw-r--r--linux-headers/include/linux/if_packet.h301
-rw-r--r--linux-headers/include/linux/if_phonet.h16
-rw-r--r--linux-headers/include/linux/if_plip.h27
-rw-r--r--linux-headers/include/linux/if_ppp.h1
-rw-r--r--linux-headers/include/linux/if_pppol2tp.h104
-rw-r--r--linux-headers/include/linux/if_pppox.h156
-rw-r--r--linux-headers/include/linux/if_slip.h30
-rw-r--r--linux-headers/include/linux/if_team.h107
-rw-r--r--linux-headers/include/linux/if_tun.h107
-rw-r--r--linux-headers/include/linux/if_tunnel.h135
-rw-r--r--linux-headers/include/linux/if_vlan.h64
-rw-r--r--linux-headers/include/linux/if_x25.h26
-rw-r--r--linux-headers/include/linux/igmp.h128
-rw-r--r--linux-headers/include/linux/iio/events.h42
-rw-r--r--linux-headers/include/linux/iio/types.h99
-rw-r--r--linux-headers/include/linux/ila.h37
-rw-r--r--linux-headers/include/linux/in.h299
-rw-r--r--linux-headers/include/linux/in6.h294
-rw-r--r--linux-headers/include/linux/in_route.h32
-rw-r--r--linux-headers/include/linux/inet_diag.h152
-rw-r--r--linux-headers/include/linux/inotify.h74
-rw-r--r--linux-headers/include/linux/input-event-codes.h805
-rw-r--r--linux-headers/include/linux/input.h487
-rw-r--r--linux-headers/include/linux/ioctl.h7
-rw-r--r--linux-headers/include/linux/ip.h175
-rw-r--r--linux-headers/include/linux/ip6_tunnel.h51
-rw-r--r--linux-headers/include/linux/ip_vs.h453
-rw-r--r--linux-headers/include/linux/ipc.h81
-rw-r--r--linux-headers/include/linux/ipmi.h448
-rw-r--r--linux-headers/include/linux/ipmi_msgdefs.h121
-rw-r--r--linux-headers/include/linux/ipsec.h47
-rw-r--r--linux-headers/include/linux/ipv6.h184
-rw-r--r--linux-headers/include/linux/ipv6_route.h62
-rw-r--r--linux-headers/include/linux/ipx.h75
-rw-r--r--linux-headers/include/linux/irda.h251
-rw-r--r--linux-headers/include/linux/irqnr.h4
-rw-r--r--linux-headers/include/linux/isdn.h143
-rw-r--r--linux-headers/include/linux/isdn/capicmd.h115
-rw-r--r--linux-headers/include/linux/isdn_divertif.h30
-rw-r--r--linux-headers/include/linux/isdn_ppp.h67
-rw-r--r--linux-headers/include/linux/isdnif.h56
-rw-r--r--linux-headers/include/linux/iso_fs.h165
-rw-r--r--linux-headers/include/linux/ivtv.h73
-rw-r--r--linux-headers/include/linux/ivtvfb.h37
-rw-r--r--linux-headers/include/linux/ixjuser.h720
-rw-r--r--linux-headers/include/linux/jffs2.h223
-rw-r--r--linux-headers/include/linux/joystick.h136
-rw-r--r--linux-headers/include/linux/kcmp.h17
-rw-r--r--linux-headers/include/linux/kd.h183
-rw-r--r--linux-headers/include/linux/kdev_t.h11
-rw-r--r--linux-headers/include/linux/kernel-page-flags.h39
-rw-r--r--linux-headers/include/linux/kernel.h14
-rw-r--r--linux-headers/include/linux/kernelcapi.h47
-rw-r--r--linux-headers/include/linux/kexec.h58
-rw-r--r--linux-headers/include/linux/keyboard.h443
-rw-r--r--linux-headers/include/linux/keyctl.h61
-rw-r--r--linux-headers/include/linux/l2tp.h181
-rw-r--r--linux-headers/include/linux/libc-compat.h187
-rw-r--r--linux-headers/include/linux/limits.h20
-rw-r--r--linux-headers/include/linux/llc.h84
-rw-r--r--linux-headers/include/linux/loop.h96
-rw-r--r--linux-headers/include/linux/lp.h100
-rw-r--r--linux-headers/include/linux/lwtunnel.h43
-rw-r--r--linux-headers/include/linux/magic.h82
-rw-r--r--linux-headers/include/linux/major.h179
-rw-r--r--linux-headers/include/linux/map_to_7segment.h187
-rw-r--r--linux-headers/include/linux/matroxfb.h42
-rw-r--r--linux-headers/include/linux/mdio.h297
-rw-r--r--linux-headers/include/linux/media-bus-format.h137
-rw-r--r--linux-headers/include/linux/media.h383
-rw-r--r--linux-headers/include/linux/mei.h129
-rw-r--r--linux-headers/include/linux/membarrier.h53
-rw-r--r--linux-headers/include/linux/memfd.h8
-rw-r--r--linux-headers/include/linux/mempolicy.h73
-rw-r--r--linux-headers/include/linux/meye.h64
-rw-r--r--linux-headers/include/linux/mic_common.h234
-rw-r--r--linux-headers/include/linux/mic_ioctl.h72
-rw-r--r--linux-headers/include/linux/mii.h161
-rw-r--r--linux-headers/include/linux/minix_fs.h106
-rw-r--r--linux-headers/include/linux/mman.h13
-rw-r--r--linux-headers/include/linux/mmc/ioctl.h74
-rw-r--r--linux-headers/include/linux/mmtimer.h56
-rw-r--r--linux-headers/include/linux/mpls.h46
-rw-r--r--linux-headers/include/linux/mpls_iptunnel.h28
-rw-r--r--linux-headers/include/linux/mqueue.h53
-rw-r--r--linux-headers/include/linux/mroute.h121
-rw-r--r--linux-headers/include/linux/mroute6.h135
-rw-r--r--linux-headers/include/linux/msdos_fs.h199
-rw-r--r--linux-headers/include/linux/msg.h88
-rw-r--r--linux-headers/include/linux/mtio.h208
-rw-r--r--linux-headers/include/linux/n_r3964.h98
-rw-r--r--linux-headers/include/linux/nbd.h76
-rw-r--r--linux-headers/include/linux/ncp.h198
-rw-r--r--linux-headers/include/linux/ncp_fs.h146
-rw-r--r--linux-headers/include/linux/ncp_mount.h71
-rw-r--r--linux-headers/include/linux/ncp_no.h19
-rw-r--r--linux-headers/include/linux/ndctl.h227
-rw-r--r--linux-headers/include/linux/neighbour.h167
-rw-r--r--linux-headers/include/linux/net.h57
-rw-r--r--linux-headers/include/linux/net_dropmon.h64
-rw-r--r--linux-headers/include/linux/net_namespace.h23
-rw-r--r--linux-headers/include/linux/net_tstamp.h119
-rw-r--r--linux-headers/include/linux/netconf.h27
-rw-r--r--linux-headers/include/linux/netdevice.h65
-rw-r--r--linux-headers/include/linux/netfilter.h78
-rw-r--r--linux-headers/include/linux/netfilter/ipset/ip_set.h303
-rw-r--r--linux-headers/include/linux/netfilter/ipset/ip_set_bitmap.h15
-rw-r--r--linux-headers/include/linux/netfilter/ipset/ip_set_hash.h23
-rw-r--r--linux-headers/include/linux/netfilter/ipset/ip_set_list.h23
-rw-r--r--linux-headers/include/linux/netfilter/nf_conntrack_common.h127
-rw-r--r--linux-headers/include/linux/netfilter/nf_conntrack_ftp.h18
-rw-r--r--linux-headers/include/linux/netfilter/nf_conntrack_sctp.h21
-rw-r--r--linux-headers/include/linux/netfilter/nf_conntrack_tcp.h54
-rw-r--r--linux-headers/include/linux/netfilter/nf_conntrack_tuple_common.h42
-rw-r--r--linux-headers/include/linux/netfilter/nf_nat.h42
-rw-r--r--linux-headers/include/linux/netfilter/nf_tables.h1070
-rw-r--r--linux-headers/include/linux/netfilter/nf_tables_compat.h38
-rw-r--r--linux-headers/include/linux/netfilter/nfnetlink.h68
-rw-r--r--linux-headers/include/linux/netfilter/nfnetlink_acct.h44
-rw-r--r--linux-headers/include/linux/netfilter/nfnetlink_compat.h61
-rw-r--r--linux-headers/include/linux/netfilter/nfnetlink_conntrack.h264
-rw-r--r--linux-headers/include/linux/netfilter/nfnetlink_cthelper.h55
-rw-r--r--linux-headers/include/linux/netfilter/nfnetlink_cttimeout.h118
-rw-r--r--linux-headers/include/linux/netfilter/nfnetlink_log.h100
-rw-r--r--linux-headers/include/linux/netfilter/nfnetlink_queue.h117
-rw-r--r--linux-headers/include/linux/netfilter/x_tables.h185
-rw-r--r--linux-headers/include/linux/netfilter/xt_AUDIT.h30
-rw-r--r--linux-headers/include/linux/netfilter/xt_CHECKSUM.h20
-rw-r--r--linux-headers/include/linux/netfilter/xt_CLASSIFY.h10
-rw-r--r--linux-headers/include/linux/netfilter/xt_CONNMARK.h6
-rw-r--r--linux-headers/include/linux/netfilter/xt_CONNSECMARK.h15
-rw-r--r--linux-headers/include/linux/netfilter/xt_CT.h41
-rw-r--r--linux-headers/include/linux/netfilter/xt_DSCP.h26
-rw-r--r--linux-headers/include/linux/netfilter/xt_HMARK.h51
-rw-r--r--linux-headers/include/linux/netfilter/xt_IDLETIMER.h45
-rw-r--r--linux-headers/include/linux/netfilter/xt_LED.h15
-rw-r--r--linux-headers/include/linux/netfilter/xt_LOG.h19
-rw-r--r--linux-headers/include/linux/netfilter/xt_MARK.h6
-rw-r--r--linux-headers/include/linux/netfilter/xt_NFLOG.h20
-rw-r--r--linux-headers/include/linux/netfilter/xt_NFQUEUE.h38
-rw-r--r--linux-headers/include/linux/netfilter/xt_RATEEST.h16
-rw-r--r--linux-headers/include/linux/netfilter/xt_SECMARK.h22
-rw-r--r--linux-headers/include/linux/netfilter/xt_TCPMSS.h12
-rw-r--r--linux-headers/include/linux/netfilter/xt_TCPOPTSTRIP.h15
-rw-r--r--linux-headers/include/linux/netfilter/xt_TEE.h14
-rw-r--r--linux-headers/include/linux/netfilter/xt_TPROXY.h24
-rw-r--r--linux-headers/include/linux/netfilter/xt_addrtype.h44
-rw-r--r--linux-headers/include/linux/netfilter/xt_bpf.h19
-rw-r--r--linux-headers/include/linux/netfilter/xt_cgroup.h24
-rw-r--r--linux-headers/include/linux/netfilter/xt_cluster.h19
-rw-r--r--linux-headers/include/linux/netfilter/xt_comment.h10
-rw-r--r--linux-headers/include/linux/netfilter/xt_connbytes.h26
-rw-r--r--linux-headers/include/linux/netfilter/xt_connlabel.h12
-rw-r--r--linux-headers/include/linux/netfilter/xt_connlimit.h30
-rw-r--r--linux-headers/include/linux/netfilter/xt_connmark.h31
-rw-r--r--linux-headers/include/linux/netfilter/xt_conntrack.h78
-rw-r--r--linux-headers/include/linux/netfilter/xt_cpu.h11
-rw-r--r--linux-headers/include/linux/netfilter/xt_dccp.h25
-rw-r--r--linux-headers/include/linux/netfilter/xt_devgroup.h21
-rw-r--r--linux-headers/include/linux/netfilter/xt_dscp.h31
-rw-r--r--linux-headers/include/linux/netfilter/xt_ecn.h35
-rw-r--r--linux-headers/include/linux/netfilter/xt_esp.h15
-rw-r--r--linux-headers/include/linux/netfilter/xt_hashlimit.h74
-rw-r--r--linux-headers/include/linux/netfilter/xt_helper.h8
-rw-r--r--linux-headers/include/linux/netfilter/xt_ipcomp.h16
-rw-r--r--linux-headers/include/linux/netfilter/xt_iprange.h20
-rw-r--r--linux-headers/include/linux/netfilter/xt_ipvs.h30
-rw-r--r--linux-headers/include/linux/netfilter/xt_l2tp.h27
-rw-r--r--linux-headers/include/linux/netfilter/xt_length.h11
-rw-r--r--linux-headers/include/linux/netfilter/xt_limit.h24
-rw-r--r--linux-headers/include/linux/netfilter/xt_mac.h10
-rw-r--r--linux-headers/include/linux/netfilter/xt_mark.h15
-rw-r--r--linux-headers/include/linux/netfilter/xt_multiport.h29
-rw-r--r--linux-headers/include/linux/netfilter/xt_nfacct.h13
-rw-r--r--linux-headers/include/linux/netfilter/xt_osf.h136
-rw-r--r--linux-headers/include/linux/netfilter/xt_owner.h18
-rw-r--r--linux-headers/include/linux/netfilter/xt_physdev.h23
-rw-r--r--linux-headers/include/linux/netfilter/xt_pkttype.h8
-rw-r--r--linux-headers/include/linux/netfilter/xt_policy.h60
-rw-r--r--linux-headers/include/linux/netfilter/xt_quota.h22
-rw-r--r--linux-headers/include/linux/netfilter/xt_rateest.h38
-rw-r--r--linux-headers/include/linux/netfilter/xt_realm.h12
-rw-r--r--linux-headers/include/linux/netfilter/xt_recent.h46
-rw-r--r--linux-headers/include/linux/netfilter/xt_rpfilter.h17
-rw-r--r--linux-headers/include/linux/netfilter/xt_sctp.h92
-rw-r--r--linux-headers/include/linux/netfilter/xt_set.h93
-rw-r--r--linux-headers/include/linux/netfilter/xt_socket.h29
-rw-r--r--linux-headers/include/linux/netfilter/xt_state.h12
-rw-r--r--linux-headers/include/linux/netfilter/xt_statistic.h36
-rw-r--r--linux-headers/include/linux/netfilter/xt_string.h34
-rw-r--r--linux-headers/include/linux/netfilter/xt_tcpmss.h11
-rw-r--r--linux-headers/include/linux/netfilter/xt_tcpudp.h36
-rw-r--r--linux-headers/include/linux/netfilter/xt_time.h32
-rw-r--r--linux-headers/include/linux/netfilter/xt_u32.h42
-rw-r--r--linux-headers/include/linux/netfilter_arp.h19
-rw-r--r--linux-headers/include/linux/netfilter_arp/arp_tables.h205
-rw-r--r--linux-headers/include/linux/netfilter_arp/arpt_mangle.h26
-rw-r--r--linux-headers/include/linux/netfilter_bridge.h28
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_802_3.h63
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_among.h64
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_arp.h37
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_arpreply.h12
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_ip.h44
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_ip6.h51
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_limit.h24
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_log.h20
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_mark_m.h16
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_mark_t.h23
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_nat.h15
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_nflog.h23
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_pkttype.h12
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_redirect.h10
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_stp.h46
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebt_vlan.h22
-rw-r--r--linux-headers/include/linux/netfilter_bridge/ebtables.h268
-rw-r--r--linux-headers/include/linux/netfilter_decnet.h75
-rw-r--r--linux-headers/include/linux/netfilter_ipv4.h79
-rw-r--r--linux-headers/include/linux/netfilter_ipv4/ip_tables.h228
-rw-r--r--linux-headers/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h37
-rw-r--r--linux-headers/include/linux/netfilter_ipv4/ipt_ECN.h33
-rw-r--r--linux-headers/include/linux/netfilter_ipv4/ipt_LOG.h21
-rw-r--r--linux-headers/include/linux/netfilter_ipv4/ipt_REJECT.h20
-rw-r--r--linux-headers/include/linux/netfilter_ipv4/ipt_TTL.h23
-rw-r--r--linux-headers/include/linux/netfilter_ipv4/ipt_ah.h17
-rw-r--r--linux-headers/include/linux/netfilter_ipv4/ipt_ecn.h15
-rw-r--r--linux-headers/include/linux/netfilter_ipv4/ipt_ttl.h23
-rw-r--r--linux-headers/include/linux/netfilter_ipv6.h77
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6_tables.h269
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_HL.h24
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_LOG.h21
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_NPT.h16
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_REJECT.h22
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_ah.h22
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_frag.h25
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_hl.h24
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_ipv6header.h28
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_mh.h16
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_opts.h24
-rw-r--r--linux-headers/include/linux/netfilter_ipv6/ip6t_rt.h33
-rw-r--r--linux-headers/include/linux/netlink.h189
-rw-r--r--linux-headers/include/linux/netlink_diag.h53
-rw-r--r--linux-headers/include/linux/netrom.h36
-rw-r--r--linux-headers/include/linux/nfc.h315
-rw-r--r--linux-headers/include/linux/nfs.h133
-rw-r--r--linux-headers/include/linux/nfs2.h67
-rw-r--r--linux-headers/include/linux/nfs3.h97
-rw-r--r--linux-headers/include/linux/nfs4.h178
-rw-r--r--linux-headers/include/linux/nfs4_mount.h71
-rw-r--r--linux-headers/include/linux/nfs_fs.h61
-rw-r--r--linux-headers/include/linux/nfs_idmap.h65
-rw-r--r--linux-headers/include/linux/nfs_mount.h77
-rw-r--r--linux-headers/include/linux/nfsacl.h30
-rw-r--r--linux-headers/include/linux/nfsd/cld.h56
-rw-r--r--linux-headers/include/linux/nfsd/debug.h33
-rw-r--r--linux-headers/include/linux/nfsd/export.h64
-rw-r--r--linux-headers/include/linux/nfsd/nfsfh.h104
-rw-r--r--linux-headers/include/linux/nfsd/stats.h17
-rw-r--r--linux-headers/include/linux/nl80211.h4668
-rw-r--r--linux-headers/include/linux/nubus.h244
-rw-r--r--linux-headers/include/linux/nvme_ioctl.h65
-rw-r--r--linux-headers/include/linux/nvram.h16
-rw-r--r--linux-headers/include/linux/omap3isp.h646
-rw-r--r--linux-headers/include/linux/omapfb.h222
-rw-r--r--linux-headers/include/linux/oom.h20
-rw-r--r--linux-headers/include/linux/openvswitch.h760
-rw-r--r--linux-headers/include/linux/packet_diag.h80
-rw-r--r--linux-headers/include/linux/param.h6
-rw-r--r--linux-headers/include/linux/parport.h95
-rw-r--r--linux-headers/include/linux/patchkey.h33
-rw-r--r--linux-headers/include/linux/pci.h41
-rw-r--r--linux-headers/include/linux/pci_regs.h949
-rw-r--r--linux-headers/include/linux/perf_event.h976
-rw-r--r--linux-headers/include/linux/personality.h69
-rw-r--r--linux-headers/include/linux/pfkeyv2.h383
-rw-r--r--linux-headers/include/linux/pg.h63
-rw-r--r--linux-headers/include/linux/phantom.h49
-rw-r--r--linux-headers/include/linux/phonet.h185
-rw-r--r--linux-headers/include/linux/pkt_cls.h451
-rw-r--r--linux-headers/include/linux/pkt_sched.h857
-rw-r--r--linux-headers/include/linux/pktcdvd.h111
-rw-r--r--linux-headers/include/linux/pmu.h139
-rw-r--r--linux-headers/include/linux/poll.h1
-rw-r--r--linux-headers/include/linux/posix_types.h37
-rw-r--r--linux-headers/include/linux/ppdev.h99
-rw-r--r--linux-headers/include/linux/ppp-comp.h93
-rw-r--r--linux-headers/include/linux/ppp-ioctl.h120
-rw-r--r--linux-headers/include/linux/ppp_defs.h150
-rw-r--r--linux-headers/include/linux/pps.h131
-rw-r--r--linux-headers/include/linux/prctl.h200
-rw-r--r--linux-headers/include/linux/psci.h108
-rw-r--r--linux-headers/include/linux/ptp_clock.h146
-rw-r--r--linux-headers/include/linux/ptrace.h103
-rw-r--r--linux-headers/include/linux/qnx4_fs.h88
-rw-r--r--linux-headers/include/linux/qnxtypes.h28
-rw-r--r--linux-headers/include/linux/quota.h199
-rw-r--r--linux-headers/include/linux/radeonfb.h15
-rw-r--r--linux-headers/include/linux/raid/md_p.h386
-rw-r--r--linux-headers/include/linux/raid/md_u.h155
-rw-r--r--linux-headers/include/linux/random.h52
-rw-r--r--linux-headers/include/linux/raw.h18
-rw-r--r--linux-headers/include/linux/rds.h295
-rw-r--r--linux-headers/include/linux/reboot.h39
-rw-r--r--linux-headers/include/linux/reiserfs_fs.h26
-rw-r--r--linux-headers/include/linux/reiserfs_xattr.h24
-rw-r--r--linux-headers/include/linux/resource.h80
-rw-r--r--linux-headers/include/linux/rfkill.h111
-rw-r--r--linux-headers/include/linux/rio_mport_cdev.h277
-rw-r--r--linux-headers/include/linux/romfs_fs.h59
-rw-r--r--linux-headers/include/linux/rose.h90
-rw-r--r--linux-headers/include/linux/route.h67
-rw-r--r--linux-headers/include/linux/rtc.h107
-rw-r--r--linux-headers/include/linux/rtnetlink.h675
-rw-r--r--linux-headers/include/linux/scc.h172
-rw-r--r--linux-headers/include/linux/sched.h51
-rw-r--r--linux-headers/include/linux/scif_ioctl.h215
-rw-r--r--linux-headers/include/linux/screen_info.h75
-rw-r--r--linux-headers/include/linux/sctp.h899
-rw-r--r--linux-headers/include/linux/sdla.h116
-rw-r--r--linux-headers/include/linux/seccomp.h54
-rw-r--r--linux-headers/include/linux/securebits.h60
-rw-r--r--linux-headers/include/linux/selinux_netlink.h48
-rw-r--r--linux-headers/include/linux/sem.h92
-rw-r--r--linux-headers/include/linux/serial.h131
-rw-r--r--linux-headers/include/linux/serial_core.h267
-rw-r--r--linux-headers/include/linux/serial_reg.h380
-rw-r--r--linux-headers/include/linux/serio.h82
-rw-r--r--linux-headers/include/linux/shm.h78
-rw-r--r--linux-headers/include/linux/signal.h10
-rw-r--r--linux-headers/include/linux/signalfd.h52
-rw-r--r--linux-headers/include/linux/smiapp.h29
-rw-r--r--linux-headers/include/linux/snmp.h321
-rw-r--r--linux-headers/include/linux/sock_diag.h37
-rw-r--r--linux-headers/include/linux/socket.h21
-rw-r--r--linux-headers/include/linux/sockios.h149
-rw-r--r--linux-headers/include/linux/sonet.h60
-rw-r--r--linux-headers/include/linux/sonypi.h146
-rw-r--r--linux-headers/include/linux/sound.h31
-rw-r--r--linux-headers/include/linux/soundcard.h1276
-rw-r--r--linux-headers/include/linux/spi/spidev.h141
-rw-r--r--linux-headers/include/linux/stat.h45
-rw-r--r--linux-headers/include/linux/stddef.h5
-rw-r--r--linux-headers/include/linux/string.h7
-rw-r--r--linux-headers/include/linux/sunrpc/debug.h48
-rw-r--r--linux-headers/include/linux/suspend_ioctls.h33
-rw-r--r--linux-headers/include/linux/swab.h294
-rw-r--r--linux-headers/include/linux/synclink.h300
-rw-r--r--linux-headers/include/linux/sysctl.h934
-rw-r--r--linux-headers/include/linux/sysinfo.h24
-rw-r--r--linux-headers/include/linux/target_core_user.h145
-rw-r--r--linux-headers/include/linux/taskstats.h213
-rw-r--r--linux-headers/include/linux/tc_act/tc_bpf.h33
-rw-r--r--linux-headers/include/linux/tc_act/tc_connmark.h22
-rw-r--r--linux-headers/include/linux/tc_act/tc_csum.h32
-rw-r--r--linux-headers/include/linux/tc_act/tc_defact.h19
-rw-r--r--linux-headers/include/linux/tc_act/tc_gact.h32
-rw-r--r--linux-headers/include/linux/tc_act/tc_ife.h38
-rw-r--r--linux-headers/include/linux/tc_act/tc_ipt.h21
-rw-r--r--linux-headers/include/linux/tc_act/tc_mirred.h27
-rw-r--r--linux-headers/include/linux/tc_act/tc_nat.h27
-rw-r--r--linux-headers/include/linux/tc_act/tc_pedit.h34
-rw-r--r--linux-headers/include/linux/tc_act/tc_skbedit.h46
-rw-r--r--linux-headers/include/linux/tc_act/tc_vlan.h35
-rw-r--r--linux-headers/include/linux/tc_ematch/tc_em_cmp.h25
-rw-r--r--linux-headers/include/linux/tc_ematch/tc_em_meta.h92
-rw-r--r--linux-headers/include/linux/tc_ematch/tc_em_nbyte.h13
-rw-r--r--linux-headers/include/linux/tc_ematch/tc_em_text.h19
-rw-r--r--linux-headers/include/linux/tcp.h217
-rw-r--r--linux-headers/include/linux/tcp_metrics.h59
-rw-r--r--linux-headers/include/linux/telephony.h262
-rw-r--r--linux-headers/include/linux/termios.h22
-rw-r--r--linux-headers/include/linux/thermal.h35
-rw-r--r--linux-headers/include/linux/time.h69
-rw-r--r--linux-headers/include/linux/times.h13
-rw-r--r--linux-headers/include/linux/timex.h164
-rw-r--r--linux-headers/include/linux/tiocl.h39
-rw-r--r--linux-headers/include/linux/tipc.h232
-rw-r--r--linux-headers/include/linux/tipc_config.h405
-rw-r--r--linux-headers/include/linux/tipc_netlink.h253
-rw-r--r--linux-headers/include/linux/toshiba.h63
-rw-r--r--linux-headers/include/linux/tty.h39
-rw-r--r--linux-headers/include/linux/tty_flags.h85
-rw-r--r--linux-headers/include/linux/types.h51
-rw-r--r--linux-headers/include/linux/udf_fs_i.h21
-rw-r--r--linux-headers/include/linux/udp.h41
-rw-r--r--linux-headers/include/linux/uhid.h199
-rw-r--r--linux-headers/include/linux/uinput.h231
-rw-r--r--linux-headers/include/linux/uio.h30
-rw-r--r--linux-headers/include/linux/ultrasound.h103
-rw-r--r--linux-headers/include/linux/un.h13
-rw-r--r--linux-headers/include/linux/unistd.h9
-rw-r--r--linux-headers/include/linux/unix_diag.h58
-rw-r--r--linux-headers/include/linux/usb/audio.h547
-rw-r--r--linux-headers/include/linux/usb/cdc-wdm.h23
-rw-r--r--linux-headers/include/linux/usb/cdc.h447
-rw-r--r--linux-headers/include/linux/usb/ch11.h298
-rw-r--r--linux-headers/include/linux/usb/ch9.h1076
-rw-r--r--linux-headers/include/linux/usb/functionfs.h286
-rw-r--r--linux-headers/include/linux/usb/g_printer.h35
-rw-r--r--linux-headers/include/linux/usb/gadgetfs.h88
-rw-r--r--linux-headers/include/linux/usb/midi.h112
-rw-r--r--linux-headers/include/linux/usb/tmc.h66
-rw-r--r--linux-headers/include/linux/usb/video.h569
-rw-r--r--linux-headers/include/linux/usbdevice_fs.h194
-rw-r--r--linux-headers/include/linux/usbip.h26
-rw-r--r--linux-headers/include/linux/userfaultfd.h167
-rw-r--r--linux-headers/include/linux/utime.h11
-rw-r--r--linux-headers/include/linux/utsname.h34
-rw-r--r--linux-headers/include/linux/uuid.h58
-rw-r--r--linux-headers/include/linux/uvcvideo.h70
-rw-r--r--linux-headers/include/linux/v4l2-common.h107
-rw-r--r--linux-headers/include/linux/v4l2-controls.h977
-rw-r--r--linux-headers/include/linux/v4l2-dv-timings.h937
-rw-r--r--linux-headers/include/linux/v4l2-mediabus.h138
-rw-r--r--linux-headers/include/linux/v4l2-subdev.h180
-rw-r--r--linux-headers/include/linux/version.h2
-rw-r--r--linux-headers/include/linux/veth.h12
-rw-r--r--linux-headers/include/linux/vfio.h691
-rw-r--r--linux-headers/include/linux/vhost.h178
-rw-r--r--linux-headers/include/linux/videodev2.h2305
-rw-r--r--linux-headers/include/linux/virtio_9p.h44
-rw-r--r--linux-headers/include/linux/virtio_balloon.h85
-rw-r--r--linux-headers/include/linux/virtio_blk.h147
-rw-r--r--linux-headers/include/linux/virtio_config.h66
-rw-r--r--linux-headers/include/linux/virtio_console.h78
-rw-r--r--linux-headers/include/linux/virtio_gpu.h316
-rw-r--r--linux-headers/include/linux/virtio_ids.h45
-rw-r--r--linux-headers/include/linux/virtio_input.h76
-rw-r--r--linux-headers/include/linux/virtio_net.h245
-rw-r--r--linux-headers/include/linux/virtio_pci.h199
-rw-r--r--linux-headers/include/linux/virtio_ring.h172
-rw-r--r--linux-headers/include/linux/virtio_rng.h8
-rw-r--r--linux-headers/include/linux/virtio_scsi.h172
-rw-r--r--linux-headers/include/linux/virtio_types.h46
-rw-r--r--linux-headers/include/linux/vm_sockets.h156
-rw-r--r--linux-headers/include/linux/vt.h87
-rw-r--r--linux-headers/include/linux/wait.h21
-rw-r--r--linux-headers/include/linux/wanrouter.h17
-rw-r--r--linux-headers/include/linux/watchdog.h57
-rw-r--r--linux-headers/include/linux/wimax.h239
-rw-r--r--linux-headers/include/linux/wimax/i2400m.h572
-rw-r--r--linux-headers/include/linux/wireless.h1128
-rw-r--r--linux-headers/include/linux/x25.h152
-rw-r--r--linux-headers/include/linux/xattr.h77
-rw-r--r--linux-headers/include/linux/xfrm.h526
-rw-r--r--linux-headers/include/linux/xilinx-v4l2-controls.h73
-rw-r--r--linux-headers/include/linux/zorro.h113
-rw-r--r--linux-headers/include/linux/zorro_ids.h552
-rw-r--r--linux-headers/include/misc/cxl.h136
-rw-r--r--linux-headers/include/mtd/inftl-user.h91
-rw-r--r--linux-headers/include/mtd/mtd-abi.h284
-rw-r--r--linux-headers/include/mtd/mtd-user.h32
-rw-r--r--linux-headers/include/mtd/nftl-user.h90
-rw-r--r--linux-headers/include/mtd/ubi-user.h445
-rw-r--r--linux-headers/include/rdma/hfi/hfi1_user.h423
-rw-r--r--linux-headers/include/rdma/ib_user_cm.h325
-rw-r--r--linux-headers/include/rdma/ib_user_mad.h245
-rw-r--r--linux-headers/include/rdma/ib_user_sa.h76
-rw-r--r--linux-headers/include/rdma/ib_user_verbs.h948
-rw-r--r--linux-headers/include/rdma/rdma_netlink.h215
-rw-r--r--linux-headers/include/rdma/rdma_user_cm.h303
-rw-r--r--linux-headers/include/scsi/cxlflash_ioctl.h184
-rw-r--r--linux-headers/include/scsi/fc/fc_els.h831
-rw-r--r--linux-headers/include/scsi/fc/fc_fs.h348
-rw-r--r--linux-headers/include/scsi/fc/fc_gs.h96
-rw-r--r--linux-headers/include/scsi/fc/fc_ns.h208
-rw-r--r--linux-headers/include/scsi/scsi_bsg_fc.h320
-rw-r--r--linux-headers/include/scsi/scsi_netlink.h123
-rw-r--r--linux-headers/include/scsi/scsi_netlink_fc.h71
-rw-r--r--linux-headers/include/sound/asequencer.h611
-rw-r--r--linux-headers/include/sound/asound.h1019
-rw-r--r--linux-headers/include/sound/asound_fm.h134
-rw-r--r--linux-headers/include/sound/compress_offload.h191
-rw-r--r--linux-headers/include/sound/compress_params.h405
-rw-r--r--linux-headers/include/sound/emu10k1.h378
-rw-r--r--linux-headers/include/sound/firewire.h82
-rw-r--r--linux-headers/include/sound/hdsp.h110
-rw-r--r--linux-headers/include/sound/hdspm.h231
-rw-r--r--linux-headers/include/sound/sb16_csp.h122
-rw-r--r--linux-headers/include/sound/sfnt_info.h212
-rw-r--r--linux-headers/include/video/edid.h9
-rw-r--r--linux-headers/include/video/sisfb.h209
-rw-r--r--linux-headers/include/video/uvesafb.h60
-rw-r--r--linux-headers/include/xen/evtchn.h88
-rw-r--r--linux-headers/include/xen/gntalloc.h84
-rw-r--r--linux-headers/include/xen/gntdev.h202
-rw-r--r--linux-headers/include/xen/privcmd.h102
m---------riscv-binutils-gdb0
m---------riscv-dejagnu0
m---------riscv-gcc0
m---------riscv-glibc0
m---------riscv-newlib0
-rwxr-xr-xscripts/cp_s26
-rw-r--r--scripts/spike.exp6
-rw-r--r--scripts/wrapper/.gitignore3
-rw-r--r--scripts/wrapper/awk/awk.in7
-rwxr-xr-xscripts/wrapper/qemu/riscv32-unknown-linux-gnu-run1
-rwxr-xr-xscripts/wrapper/qemu/riscv64-unknown-linux-gnu-run1
-rw-r--r--scripts/wrapper/sed/sed.in7
760 files changed, 0 insertions, 118307 deletions
diff --git a/.gitignore b/.gitignore
deleted file mode 100644
index e734c9f..0000000
--- a/.gitignore
+++ /dev/null
@@ -1,6 +0,0 @@
-autom4te.cache
-build
-config.log
-config.status
-Makefile
-.DS_Store
diff --git a/.gitmodules b/.gitmodules
deleted file mode 100644
index cf212c9..0000000
--- a/.gitmodules
+++ /dev/null
@@ -1,15 +0,0 @@
-[submodule "riscv-binutils-gdb"]
- path = riscv-binutils-gdb
- url = ../riscv-binutils-gdb.git
-[submodule "riscv-gcc"]
- path = riscv-gcc
- url = ../riscv-gcc.git
-[submodule "riscv-glibc"]
- path = riscv-glibc
- url = ../riscv-glibc.git
-[submodule "riscv-dejagnu"]
- path = riscv-dejagnu
- url = ../riscv-dejagnu.git
-[submodule "riscv-newlib"]
- path = riscv-newlib
- url = ../riscv-newlib.git
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index eaa041f..0000000
--- a/.travis.yml
+++ /dev/null
@@ -1,25 +0,0 @@
-addons:
- apt:
- packages:
- - autoconf
- - automake
- - autotools-dev
- - bc
- - bison
- - build-essential
- - curl
- - flex
- - gawk
- - gperf
- - libgmp-dev
- - libmpc-dev
- - libmpfr-dev
- - libtool
- - patchutils
- - texinfo
-before_install:
- - export MAKEFLAGS="-j3"
-install: true
-script:
- - ./configure --prefix=/tmp/build-default
- - (make > /dev/null) || (make -j1 && exit 1)
diff --git a/LICENSE b/LICENSE
deleted file mode 100644
index 293b2ef..0000000
--- a/LICENSE
+++ /dev/null
@@ -1,773 +0,0 @@
-The software in the directory newlib and the files configure.ac, Makefile.in,
-and patches/newlib, is licensed as follows:
-
-Copyright (c) 2016, The Regents of the University of California (Regents).
-All Rights Reserved.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions are met:
-1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-3. Neither the name of the Regents nor the
- names of its contributors may be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-IN NO EVENT SHALL REGENTS BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
-SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, INCLUDING LOST PROFITS, ARISING
-OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF REGENTS HAS
-BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-
-REGENTS SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE SOFTWARE AND ACCOMPANYING DOCUMENTATION, IF ANY, PROVIDED
-HEREUNDER IS PROVIDED "AS IS". REGENTS HAS NO OBLIGATION TO PROVIDE
-MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
-
-The software in the directories binutils, gcc, and linux-headers, and the
-files patches/binutils and patches/gcc, is licensed as follows:
-
- GNU GENERAL PUBLIC LICENSE
- Version 2, June 1991
-
- Copyright (C) 1989, 1991 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-License is intended to guarantee your freedom to share and change free
-software--to make sure the software is free for all its users. This
-General Public License applies to most of the Free Software
-Foundation's software and to any other program whose authors commit to
-using it. (Some other Free Software Foundation software is covered by
-the GNU Library General Public License instead.) You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-this service if you wish), that you receive source code or can get it
-if you want it, that you can change the software or use pieces of it
-in new free programs; and that you know you can do these things.
-
- To protect your rights, we need to make restrictions that forbid
-anyone to deny you these rights or to ask you to surrender the rights.
-These restrictions translate to certain responsibilities for you if you
-distribute copies of the software, or if you modify it.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must give the recipients all the rights that
-you have. You must make sure that they, too, receive or can get the
-source code. And you must show them these terms so they know their
-rights.
-
- We protect your rights with two steps: (1) copyright the software, and
-(2) offer you this license which gives you legal permission to copy,
-distribute and/or modify the software.
-
- Also, for each author's protection and ours, we want to make certain
-that everyone understands that there is no warranty for this free
-software. If the software is modified by someone else and passed on, we
-want its recipients to know that what they have is not the original, so
-that any problems introduced by others will not reflect on the original
-authors' reputations.
-
- Finally, any free program is threatened constantly by software
-patents. We wish to avoid the danger that redistributors of a free
-program will individually obtain patent licenses, in effect making the
-program proprietary. To prevent this, we have made it clear that any
-patent must be licensed for everyone's free use or not licensed at all.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- GNU GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License applies to any program or other work which contains
-a notice placed by the copyright holder saying it may be distributed
-under the terms of this General Public License. The "Program", below,
-refers to any such program or work, and a "work based on the Program"
-means either the Program or any derivative work under copyright law:
-that is to say, a work containing the Program or a portion of it,
-either verbatim or with modifications and/or translated into another
-language. (Hereinafter, translation is included without limitation in
-the term "modification".) Each licensee is addressed as "you".
-
-Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running the Program is not restricted, and the output from the Program
-is covered only if its contents constitute a work based on the
-Program (independent of having been made by running the Program).
-Whether that is true depends on what the Program does.
-
- 1. You may copy and distribute verbatim copies of the Program's
-source code as you receive it, in any medium, provided that you
-conspicuously and appropriately publish on each copy an appropriate
-copyright notice and disclaimer of warranty; keep intact all the
-notices that refer to this License and to the absence of any warranty;
-and give any other recipients of the Program a copy of this License
-along with the Program.
-
-You may charge a fee for the physical act of transferring a copy, and
-you may at your option offer warranty protection in exchange for a fee.
-
- 2. You may modify your copy or copies of the Program or any portion
-of it, thus forming a work based on the Program, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) You must cause the modified files to carry prominent notices
- stating that you changed the files and the date of any change.
-
- b) You must cause any work that you distribute or publish, that in
- whole or in part contains or is derived from the Program or any
- part thereof, to be licensed as a whole at no charge to all third
- parties under the terms of this License.
-
- c) If the modified program normally reads commands interactively
- when run, you must cause it, when started running for such
- interactive use in the most ordinary way, to print or display an
- announcement including an appropriate copyright notice and a
- notice that there is no warranty (or else, saying that you provide
- a warranty) and that users may redistribute the program under
- these conditions, and telling the user how to view a copy of this
- License. (Exception: if the Program itself is interactive but
- does not normally print such an announcement, your work based on
- the Program is not required to print an announcement.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Program,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Program, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Program.
-
-In addition, mere aggregation of another work not based on the Program
-with the Program (or with a work based on the Program) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may copy and distribute the Program (or a work based on it,
-under Section 2) in object code or executable form under the terms of
-Sections 1 and 2 above provided that you also do one of the following:
-
- a) Accompany it with the complete corresponding machine-readable
- source code, which must be distributed under the terms of Sections
- 1 and 2 above on a medium customarily used for software interchange; or,
-
- b) Accompany it with a written offer, valid for at least three
- years, to give any third party, for a charge no more than your
- cost of physically performing source distribution, a complete
- machine-readable copy of the corresponding source code, to be
- distributed under the terms of Sections 1 and 2 above on a medium
- customarily used for software interchange; or,
-
- c) Accompany it with the information you received as to the offer
- to distribute corresponding source code. (This alternative is
- allowed only for noncommercial distribution and only if you
- received the program in object code or executable form with such
- an offer, in accord with Subsection b above.)
-
-The source code for a work means the preferred form of the work for
-making modifications to it. For an executable work, complete source
-code means all the source code for all modules it contains, plus any
-associated interface definition files, plus the scripts used to
-control compilation and installation of the executable. However, as a
-special exception, the source code distributed need not include
-anything that is normally distributed (in either source or binary
-form) with the major components (compiler, kernel, and so on) of the
-operating system on which the executable runs, unless that component
-itself accompanies the executable.
-
-If distribution of executable or object code is made by offering
-access to copy from a designated place, then offering equivalent
-access to copy the source code from the same place counts as
-distribution of the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 4. You may not copy, modify, sublicense, or distribute the Program
-except as expressly provided under this License. Any attempt
-otherwise to copy, modify, sublicense or distribute the Program is
-void, and will automatically terminate your rights under this License.
-However, parties who have received copies, or rights, from you under
-this License will not have their licenses terminated so long as such
-parties remain in full compliance.
-
- 5. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Program or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Program (or any work based on the
-Program), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Program or works based on it.
-
- 6. Each time you redistribute the Program (or any work based on the
-Program), the recipient automatically receives a license from the
-original licensor to copy, distribute or modify the Program subject to
-these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties to
-this License.
-
- 7. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Program at all. For example, if a patent
-license would not permit royalty-free redistribution of the Program by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Program.
-
-If any portion of this section is held invalid or unenforceable under
-any particular circumstance, the balance of the section is intended to
-apply and the section as a whole is intended to apply in other
-circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system, which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 8. If the distribution and/or use of the Program is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Program under this License
-may add an explicit geographical distribution limitation excluding
-those countries, so that distribution is permitted only in or among
-countries not thus excluded. In such case, this License incorporates
-the limitation as if written in the body of this License.
-
- 9. The Free Software Foundation may publish revised and/or new versions
-of the General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Program
-specifies a version number of this License which applies to it and "any
-later version", you have the option of following the terms and conditions
-either of that version or of any later version published by the Free
-Software Foundation. If the Program does not specify a version number of
-this License, you may choose any version ever published by the Free Software
-Foundation.
-
- 10. If you wish to incorporate parts of the Program into other free
-programs whose distribution conditions are different, write to the author
-to ask for permission. For software which is copyrighted by the Free
-Software Foundation, write to the Free Software Foundation; we sometimes
-make exceptions for this. Our decision will be guided by the two goals
-of preserving the free status of all derivatives of our free software and
-of promoting the sharing and reuse of software generally.
-
- NO WARRANTY
-
- 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
-FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
-OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
-PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
-OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
-MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
-TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
-PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
-REPAIR OR CORRECTION.
-
- 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
-REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
-INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
-OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
-TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
-YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
-PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES.
-
- END OF TERMS AND CONDITIONS
-
-The software in the directory glibc and the file patches/glibc is licensed as
-follows:
-
- GNU LESSER GENERAL PUBLIC LICENSE
- Version 2.1, February 1999
-
- Copyright (C) 1991, 1999 Free Software Foundation, Inc.
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
-[This is the first released version of the Lesser GPL. It also counts
- as the successor of the GNU Library Public License, version 2, hence
- the version number 2.1.]
-
- Preamble
-
- The licenses for most software are designed to take away your
-freedom to share and change it. By contrast, the GNU General Public
-Licenses are intended to guarantee your freedom to share and change
-free software--to make sure the software is free for all its users.
-
- This license, the Lesser General Public License, applies to some
-specially designated software packages--typically libraries--of the
-Free Software Foundation and other authors who decide to use it. You
-can use it too, but we suggest you first think carefully about whether
-this license or the ordinary General Public License is the better
-strategy to use in any particular case, based on the explanations below.
-
- When we speak of free software, we are referring to freedom of use,
-not price. Our General Public Licenses are designed to make sure that
-you have the freedom to distribute copies of free software (and charge
-for this service if you wish); that you receive source code or can get
-it if you want it; that you can change the software and use pieces of
-it in new free programs; and that you are informed that you can do
-these things.
-
- To protect your rights, we need to make restrictions that forbid
-distributors to deny you these rights or to ask you to surrender these
-rights. These restrictions translate to certain responsibilities for
-you if you distribute copies of the library or if you modify it.
-
- For example, if you distribute copies of the library, whether gratis
-or for a fee, you must give the recipients all the rights that we gave
-you. You must make sure that they, too, receive or can get the source
-code. If you link other code with the library, you must provide
-complete object files to the recipients, so that they can relink them
-with the library after making changes to the library and recompiling
-it. And you must show them these terms so they know their rights.
-
- We protect your rights with a two-step method: (1) we copyright the
-library, and (2) we offer you this license, which gives you legal
-permission to copy, distribute and/or modify the library.
-
- To protect each distributor, we want to make it very clear that
-there is no warranty for the free library. Also, if the library is
-modified by someone else and passed on, the recipients should know
-that what they have is not the original version, so that the original
-author's reputation will not be affected by problems that might be
-introduced by others.
-
- Finally, software patents pose a constant threat to the existence of
-any free program. We wish to make sure that a company cannot
-effectively restrict the users of a free program by obtaining a
-restrictive license from a patent holder. Therefore, we insist that
-any patent license obtained for a version of the library must be
-consistent with the full freedom of use specified in this license.
-
- Most GNU software, including some libraries, is covered by the
-ordinary GNU General Public License. This license, the GNU Lesser
-General Public License, applies to certain designated libraries, and
-is quite different from the ordinary General Public License. We use
-this license for certain libraries in order to permit linking those
-libraries into non-free programs.
-
- When a program is linked with a library, whether statically or using
-a shared library, the combination of the two is legally speaking a
-combined work, a derivative of the original library. The ordinary
-General Public License therefore permits such linking only if the
-entire combination fits its criteria of freedom. The Lesser General
-Public License permits more lax criteria for linking other code with
-the library.
-
- We call this license the "Lesser" General Public License because it
-does Less to protect the user's freedom than the ordinary General
-Public License. It also provides other free software developers Less
-of an advantage over competing non-free programs. These disadvantages
-are the reason we use the ordinary General Public License for many
-libraries. However, the Lesser license provides advantages in certain
-special circumstances.
-
- For example, on rare occasions, there may be a special need to
-encourage the widest possible use of a certain library, so that it becomes
-a de-facto standard. To achieve this, non-free programs must be
-allowed to use the library. A more frequent case is that a free
-library does the same job as widely used non-free libraries. In this
-case, there is little to gain by limiting the free library to free
-software only, so we use the Lesser General Public License.
-
- In other cases, permission to use a particular library in non-free
-programs enables a greater number of people to use a large body of
-free software. For example, permission to use the GNU C Library in
-non-free programs enables many more people to use the whole GNU
-operating system, as well as its variant, the GNU/Linux operating
-system.
-
- Although the Lesser General Public License is Less protective of the
-users' freedom, it does ensure that the user of a program that is
-linked with the Library has the freedom and the wherewithal to run
-that program using a modified version of the Library.
-
- The precise terms and conditions for copying, distribution and
-modification follow. Pay close attention to the difference between a
-"work based on the library" and a "work that uses the library". The
-former contains code derived from the library, whereas the latter must
-be combined with the library in order to run.
-
- GNU LESSER GENERAL PUBLIC LICENSE
- TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
-
- 0. This License Agreement applies to any software library or other
-program which contains a notice placed by the copyright holder or
-other authorized party saying it may be distributed under the terms of
-this Lesser General Public License (also called "this License").
-Each licensee is addressed as "you".
-
- A "library" means a collection of software functions and/or data
-prepared so as to be conveniently linked with application programs
-(which use some of those functions and data) to form executables.
-
- The "Library", below, refers to any such software library or work
-which has been distributed under these terms. A "work based on the
-Library" means either the Library or any derivative work under
-copyright law: that is to say, a work containing the Library or a
-portion of it, either verbatim or with modifications and/or translated
-straightforwardly into another language. (Hereinafter, translation is
-included without limitation in the term "modification".)
-
- "Source code" for a work means the preferred form of the work for
-making modifications to it. For a library, complete source code means
-all the source code for all modules it contains, plus any associated
-interface definition files, plus the scripts used to control compilation
-and installation of the library.
-
- Activities other than copying, distribution and modification are not
-covered by this License; they are outside its scope. The act of
-running a program using the Library is not restricted, and output from
-such a program is covered only if its contents constitute a work based
-on the Library (independent of the use of the Library in a tool for
-writing it). Whether that is true depends on what the Library does
-and what the program that uses the Library does.
-
- 1. You may copy and distribute verbatim copies of the Library's
-complete source code as you receive it, in any medium, provided that
-you conspicuously and appropriately publish on each copy an
-appropriate copyright notice and disclaimer of warranty; keep intact
-all the notices that refer to this License and to the absence of any
-warranty; and distribute a copy of this License along with the
-Library.
-
- You may charge a fee for the physical act of transferring a copy,
-and you may at your option offer warranty protection in exchange for a
-fee.
-
- 2. You may modify your copy or copies of the Library or any portion
-of it, thus forming a work based on the Library, and copy and
-distribute such modifications or work under the terms of Section 1
-above, provided that you also meet all of these conditions:
-
- a) The modified work must itself be a software library.
-
- b) You must cause the files modified to carry prominent notices
- stating that you changed the files and the date of any change.
-
- c) You must cause the whole of the work to be licensed at no
- charge to all third parties under the terms of this License.
-
- d) If a facility in the modified Library refers to a function or a
- table of data to be supplied by an application program that uses
- the facility, other than as an argument passed when the facility
- is invoked, then you must make a good faith effort to ensure that,
- in the event an application does not supply such function or
- table, the facility still operates, and performs whatever part of
- its purpose remains meaningful.
-
- (For example, a function in a library to compute square roots has
- a purpose that is entirely well-defined independent of the
- application. Therefore, Subsection 2d requires that any
- application-supplied function or table used by this function must
- be optional: if the application does not supply it, the square
- root function must still compute square roots.)
-
-These requirements apply to the modified work as a whole. If
-identifiable sections of that work are not derived from the Library,
-and can be reasonably considered independent and separate works in
-themselves, then this License, and its terms, do not apply to those
-sections when you distribute them as separate works. But when you
-distribute the same sections as part of a whole which is a work based
-on the Library, the distribution of the whole must be on the terms of
-this License, whose permissions for other licensees extend to the
-entire whole, and thus to each and every part regardless of who wrote
-it.
-
-Thus, it is not the intent of this section to claim rights or contest
-your rights to work written entirely by you; rather, the intent is to
-exercise the right to control the distribution of derivative or
-collective works based on the Library.
-
-In addition, mere aggregation of another work not based on the Library
-with the Library (or with a work based on the Library) on a volume of
-a storage or distribution medium does not bring the other work under
-the scope of this License.
-
- 3. You may opt to apply the terms of the ordinary GNU General Public
-License instead of this License to a given copy of the Library. To do
-this, you must alter all the notices that refer to this License, so
-that they refer to the ordinary GNU General Public License, version 2,
-instead of to this License. (If a newer version than version 2 of the
-ordinary GNU General Public License has appeared, then you can specify
-that version instead if you wish.) Do not make any other change in
-these notices.
-
- Once this change is made in a given copy, it is irreversible for
-that copy, so the ordinary GNU General Public License applies to all
-subsequent copies and derivative works made from that copy.
-
- This option is useful when you wish to copy part of the code of
-the Library into a program that is not a library.
-
- 4. You may copy and distribute the Library (or a portion or
-derivative of it, under Section 2) in object code or executable form
-under the terms of Sections 1 and 2 above provided that you accompany
-it with the complete corresponding machine-readable source code, which
-must be distributed under the terms of Sections 1 and 2 above on a
-medium customarily used for software interchange.
-
- If distribution of object code is made by offering access to copy
-from a designated place, then offering equivalent access to copy the
-source code from the same place satisfies the requirement to
-distribute the source code, even though third parties are not
-compelled to copy the source along with the object code.
-
- 5. A program that contains no derivative of any portion of the
-Library, but is designed to work with the Library by being compiled or
-linked with it, is called a "work that uses the Library". Such a
-work, in isolation, is not a derivative work of the Library, and
-therefore falls outside the scope of this License.
-
- However, linking a "work that uses the Library" with the Library
-creates an executable that is a derivative of the Library (because it
-contains portions of the Library), rather than a "work that uses the
-library". The executable is therefore covered by this License.
-Section 6 states terms for distribution of such executables.
-
- When a "work that uses the Library" uses material from a header file
-that is part of the Library, the object code for the work may be a
-derivative work of the Library even though the source code is not.
-Whether this is true is especially significant if the work can be
-linked without the Library, or if the work is itself a library. The
-threshold for this to be true is not precisely defined by law.
-
- If such an object file uses only numerical parameters, data
-structure layouts and accessors, and small macros and small inline
-functions (ten lines or less in length), then the use of the object
-file is unrestricted, regardless of whether it is legally a derivative
-work. (Executables containing this object code plus portions of the
-Library will still fall under Section 6.)
-
- Otherwise, if the work is a derivative of the Library, you may
-distribute the object code for the work under the terms of Section 6.
-Any executables containing that work also fall under Section 6,
-whether or not they are linked directly with the Library itself.
-
- 6. As an exception to the Sections above, you may also combine or
-link a "work that uses the Library" with the Library to produce a
-work containing portions of the Library, and distribute that work
-under terms of your choice, provided that the terms permit
-modification of the work for the customer's own use and reverse
-engineering for debugging such modifications.
-
- You must give prominent notice with each copy of the work that the
-Library is used in it and that the Library and its use are covered by
-this License. You must supply a copy of this License. If the work
-during execution displays copyright notices, you must include the
-copyright notice for the Library among them, as well as a reference
-directing the user to the copy of this License. Also, you must do one
-of these things:
-
- a) Accompany the work with the complete corresponding
- machine-readable source code for the Library including whatever
- changes were used in the work (which must be distributed under
- Sections 1 and 2 above); and, if the work is an executable linked
- with the Library, with the complete machine-readable "work that
- uses the Library", as object code and/or source code, so that the
- user can modify the Library and then relink to produce a modified
- executable containing the modified Library. (It is understood
- that the user who changes the contents of definitions files in the
- Library will not necessarily be able to recompile the application
- to use the modified definitions.)
-
- b) Use a suitable shared library mechanism for linking with the
- Library. A suitable mechanism is one that (1) uses at run time a
- copy of the library already present on the user's computer system,
- rather than copying library functions into the executable, and (2)
- will operate properly with a modified version of the library, if
- the user installs one, as long as the modified version is
- interface-compatible with the version that the work was made with.
-
- c) Accompany the work with a written offer, valid for at
- least three years, to give the same user the materials
- specified in Subsection 6a, above, for a charge no more
- than the cost of performing this distribution.
-
- d) If distribution of the work is made by offering access to copy
- from a designated place, offer equivalent access to copy the above
- specified materials from the same place.
-
- e) Verify that the user has already received a copy of these
- materials or that you have already sent this user a copy.
-
- For an executable, the required form of the "work that uses the
-Library" must include any data and utility programs needed for
-reproducing the executable from it. However, as a special exception,
-the materials to be distributed need not include anything that is
-normally distributed (in either source or binary form) with the major
-components (compiler, kernel, and so on) of the operating system on
-which the executable runs, unless that component itself accompanies
-the executable.
-
- It may happen that this requirement contradicts the license
-restrictions of other proprietary libraries that do not normally
-accompany the operating system. Such a contradiction means you cannot
-use both them and the Library together in an executable that you
-distribute.
-
- 7. You may place library facilities that are a work based on the
-Library side-by-side in a single library together with other library
-facilities not covered by this License, and distribute such a combined
-library, provided that the separate distribution of the work based on
-the Library and of the other library facilities is otherwise
-permitted, and provided that you do these two things:
-
- a) Accompany the combined library with a copy of the same work
- based on the Library, uncombined with any other library
- facilities. This must be distributed under the terms of the
- Sections above.
-
- b) Give prominent notice with the combined library of the fact
- that part of it is a work based on the Library, and explaining
- where to find the accompanying uncombined form of the same work.
-
- 8. You may not copy, modify, sublicense, link with, or distribute
-the Library except as expressly provided under this License. Any
-attempt otherwise to copy, modify, sublicense, link with, or
-distribute the Library is void, and will automatically terminate your
-rights under this License. However, parties who have received copies,
-or rights, from you under this License will not have their licenses
-terminated so long as such parties remain in full compliance.
-
- 9. You are not required to accept this License, since you have not
-signed it. However, nothing else grants you permission to modify or
-distribute the Library or its derivative works. These actions are
-prohibited by law if you do not accept this License. Therefore, by
-modifying or distributing the Library (or any work based on the
-Library), you indicate your acceptance of this License to do so, and
-all its terms and conditions for copying, distributing or modifying
-the Library or works based on it.
-
- 10. Each time you redistribute the Library (or any work based on the
-Library), the recipient automatically receives a license from the
-original licensor to copy, distribute, link with or modify the Library
-subject to these terms and conditions. You may not impose any further
-restrictions on the recipients' exercise of the rights granted herein.
-You are not responsible for enforcing compliance by third parties with
-this License.
-
- 11. If, as a consequence of a court judgment or allegation of patent
-infringement or for any other reason (not limited to patent issues),
-conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot
-distribute so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you
-may not distribute the Library at all. For example, if a patent
-license would not permit royalty-free redistribution of the Library by
-all those who receive copies directly or indirectly through you, then
-the only way you could satisfy both it and this License would be to
-refrain entirely from distribution of the Library.
-
-If any portion of this section is held invalid or unenforceable under any
-particular circumstance, the balance of the section is intended to apply,
-and the section as a whole is intended to apply in other circumstances.
-
-It is not the purpose of this section to induce you to infringe any
-patents or other property right claims or to contest validity of any
-such claims; this section has the sole purpose of protecting the
-integrity of the free software distribution system which is
-implemented by public license practices. Many people have made
-generous contributions to the wide range of software distributed
-through that system in reliance on consistent application of that
-system; it is up to the author/donor to decide if he or she is willing
-to distribute software through any other system and a licensee cannot
-impose that choice.
-
-This section is intended to make thoroughly clear what is believed to
-be a consequence of the rest of this License.
-
- 12. If the distribution and/or use of the Library is restricted in
-certain countries either by patents or by copyrighted interfaces, the
-original copyright holder who places the Library under this License may add
-an explicit geographical distribution limitation excluding those countries,
-so that distribution is permitted only in or among countries not thus
-excluded. In such case, this License incorporates the limitation as if
-written in the body of this License.
-
- 13. The Free Software Foundation may publish revised and/or new
-versions of the Lesser General Public License from time to time.
-Such new versions will be similar in spirit to the present version,
-but may differ in detail to address new problems or concerns.
-
-Each version is given a distinguishing version number. If the Library
-specifies a version number of this License which applies to it and
-"any later version", you have the option of following the terms and
-conditions either of that version or of any later version published by
-the Free Software Foundation. If the Library does not specify a
-license version number, you may choose any version ever published by
-the Free Software Foundation.
-
- 14. If you wish to incorporate parts of the Library into other free
-programs whose distribution conditions are incompatible with these,
-write to the author to ask for permission. For software which is
-copyrighted by the Free Software Foundation, write to the Free
-Software Foundation; we sometimes make exceptions for this. Our
-decision will be guided by the two goals of preserving the free status
-of all derivatives of our free software and of promoting the sharing
-and reuse of software generally.
-
- NO WARRANTY
-
- 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
-WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
-EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
-OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
-KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
-LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
-THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
-WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
-AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
-FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
-CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
-LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
-RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
-FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
-SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
-DAMAGES.
-
- END OF TERMS AND CONDITIONS
diff --git a/Makefile.in b/Makefile.in
deleted file mode 100644
index 7de14e3..0000000
--- a/Makefile.in
+++ /dev/null
@@ -1,263 +0,0 @@
-srcdir := @abs_top_srcdir@
-builddir := @abs_top_builddir@
-INSTALL_DIR := @prefix@
-
-PACKAGES :=
-
-DISTDIR ?= /var/cache/distfiles
-GNU_MIRROR := http://mirrors.kernel.org/gnu
-gcc_url := $(GNU_MIRROR)/gcc/gcc-$(gcc_version)/gcc-$(gcc_version).tar.gz
-glibc_url := $(GNU_MIRROR)/glibc/glibc-$(glibc_version).tar.gz
-newlib_url := ftp://sourceware.org/pub/newlib/newlib-$(newlib_version).tar.gz
-
-WITH_ARCH ?= @WITH_ARCH@
-WITH_ABI ?= @WITH_ABI@
-SYSROOT := $(INSTALL_DIR)/sysroot
-
-SHELL := /bin/sh
-AWK := @GAWK@
-SED := @GSED@
-PATH := $(INSTALL_DIR)/bin:$(PATH)
-
-# Check to see if we need wrapper scripts for awk/sed (which point to
-# gawk/gsed on platforms where these aren't the default), otherwise
-# don't override these as the wrappers don't always work.
-ifneq (@GSED@,/bin/sed)
- PATH := $(base_dir)/sed:$(PATH)
-endif
-ifneq (@GAWK@,/usr/bin/gawk)
- PATH := $(base_dir)/awk:$(PATH)
-endif
-
-export PATH AWK SED
-
-MULTILIB_FLAGS := @multilib_flags@
-MULTILIB_NAMES := @multilib_names@
-GCC_CHECKING_FLAGS := @gcc_checking@
-
-XLEN := $(shell echo $(WITH_ARCH) | tr A-Z a-z | sed 's/.*rv\([0-9]*\).*/\1/')
-ifneq ($(XLEN),32)
- XLEN := 64
-endif
-
-ifeq ($(MULTILIB_NAMES),)
- MULTILIB_NAMES := $(subst --with-arch=,,$(WITH_ARCH))-$(subst --with-abi=,,$(WITH_ABI))
-endif
-
-CFLAGS_FOR_TARGET := $(CFLAGS_FOR_TARGET_EXTRA)
-ASFLAGS_FOR_TARGET := $(ASFLAGS_FOR_TARGET_EXTRA)
-GLIBC_TARGET_FLAGS := $(GLIBC_TARGET_FLAGS_EXTRA)
-GLIBC_CC_FOR_TARGET ?= riscv$(XLEN)-unknown-linux-gnu-gcc
-GLIBC_CXX_FOR_TARGET ?= riscv$(XLEN)-unknown-linux-gnu-g++
-
-all: @default_target@
-newlib: stamps/build-gcc-newlib
-linux: stamps/build-gcc-linux-stage2
-
-$(addprefix src/original-,$(PACKAGES)):
- mkdir -p src
- rm -rf $@ $(subst original-,,$@)-*
- cd src && (cat $(DISTDIR)/$(subst src/original-,,$@)-$($(subst src/original-,,$@)_version).tar.gz || @FETCHER@ $($(subst src/original-,,$@)_url)) | tar zxf -
- mv $(subst original-,,$@)-$($(subst src/original-,,$@)_version) $@
-
-$(addprefix src/,$(PACKAGES)): src/%: src/original-%
- rm -rf $@ $@.tmp
- cp -a $< $@.tmp
- $(srcdir)/scripts/cp_s $(srcdir)/$(notdir $@) $@.tmp
- cd $@.tmp && patch -p1 < $(srcdir)/patches/$(notdir $@)
- if test -f $@.tmp/contrib/download_prerequisites && test "@NEED_GCC_EXTERNAL_LIBRARIES@" == "true"; then cd $@.tmp && ./contrib/download_prerequisites; fi
- mv $@.tmp $@
-
-.PHONY: patches $(addprefix $(srcdir)/patches/,$(PACKAGES))
-$(addprefix $(srcdir)/patches/,$(PACKAGES)): $(srcdir)/patches/%: src/%
- -cd src/$(notdir $@) && rm `cd $(srcdir)/$(notdir $@) && find . -type f`
- -cd src && diff --exclude=manual --exclude=autom4te.cache -rupN original-$(notdir $@) $(notdir $@) | filterdiff --remove-timestamps > $@
- $(srcdir)/scripts/cp_s $(srcdir)/$(notdir $@) $<
-
-patches: $(addprefix $(srcdir)/patches/,$(PACKAGES))
-
-stamps/build-binutils-linux: $(srcdir)/riscv-binutils-gdb
- rm -rf $@ $(notdir $@)
- mkdir $(notdir $@)
- cd $(notdir $@) && $</configure \
- --target=riscv$(XLEN)-unknown-linux-gnu \
- --prefix=$(INSTALL_DIR) \
- --with-sysroot=$(SYSROOT) \
- $(MULTILIB_FLAGS) \
- --disable-werror \
- --disable-nls
- $(MAKE) -C $(notdir $@)
- $(MAKE) -C $(notdir $@) install
- mkdir -p $(dir $@) && touch $@
-
-stamps/build-linux-headers:
- mkdir -p $(SYSROOT)/usr/
- cp -a $(srcdir)/linux-headers/include $(SYSROOT)/usr/
- mkdir -p $(dir $@) && touch $@
-
-stamps/build-glibc-linux-headers: $(srcdir)/riscv-glibc stamps/build-gcc-linux-stage1
- rm -rf $@ $(notdir $@)
- mkdir $(notdir $@)
- cd $(notdir $@) && CC="$(GLIBC_CC_FOR_TARGET)" $</configure \
- --host=riscv$(XLEN)-unknown-linux-gnu \
- --prefix=$(SYSROOT)/usr \
- libc_cv_forced_unwind=yes \
- libc_cv_c_cleanup=yes \
- --enable-shared \
- --enable-__thread \
- --disable-multilib \
- --enable-kernel=2.6.32
- $(MAKE) -C $(notdir $@) install-headers
- mkdir -p $(dir $@) && touch $@
-
-stamps/build-glibc-linux-%: $(srcdir)/riscv-glibc stamps/build-gcc-linux-stage1
- rm -rf $@ $(notdir $@)
- mkdir $(notdir $@)
- cd $(notdir $@) && \
- CC="$(GLIBC_CC_FOR_TARGET) -march=$(word 4,$(subst -, ,$@)) -mabi=$(word 5,$(subst -, ,$@))" \
- CFLAGS="$(CFLAGS_FOR_TARGET) -g -O2 -march=$(word 4,$(subst -, ,$@)) -mabi=$(word 5,$(subst -, ,$@))" \
- ASFLAGS="$(ASFLAGS_FOR_TARGET) -march=$(word 4,$(subst -, ,$@)) -mabi=$(word 5,$(subst -, ,$@))" \
- $</configure \
- --host=riscv$(XLEN)-unknown-linux-gnu \
- --prefix=/usr \
- libc_cv_forced_unwind=yes \
- libc_cv_c_cleanup=yes \
- --disable-werror \
- --enable-shared \
- --enable-__thread \
- $(MULTILIB_FLAGS) \
- --enable-kernel=2.6.32 \
- $(GLIBC_TARGET_FLAGS) \
- $(if $(filter %d,$@),,--without-fp) \
- --libdir=/usr/lib$(shell echo $(word 4,$(subst -, ,$@)) | sed 's/.*rv\([0-9]*\).*/\1/')/$(word 5,$(subst -, ,$@)) \
- libc_cv_slibdir=/lib$(shell echo $(word 4,$(subst -, ,$@)) | sed 's/.*rv\([0-9]*\).*/\1/')/$(word 5,$(subst -, ,$@))
- $(MAKE) -C $(notdir $@)
- +flock $(SYSROOT)/.lock $(MAKE) -C $(notdir $@) install install_root=$(SYSROOT)
- mkdir -p $(dir $@) && touch $@
-
-stamps/build-gcc-linux-stage1: $(srcdir)/riscv-gcc stamps/build-binutils-linux \
- stamps/build-linux-headers
- rm -rf $@ $(notdir $@)
- mkdir $(notdir $@)
- cd $(notdir $@) && $</configure \
- --target=riscv$(XLEN)-unknown-linux-gnu \
- --prefix=$(INSTALL_DIR) \
- --with-sysroot=$(SYSROOT) \
- --with-newlib \
- --without-headers \
- --disable-shared \
- --disable-threads \
- --with-system-zlib \
- --enable-tls \
- --enable-languages=c \
- --disable-libatomic \
- --disable-libmudflap \
- --disable-libssp \
- --disable-libquadmath \
- --disable-libgomp \
- --disable-nls \
- --disable-bootstrap \
- $(GCC_CHECKING_FLAGS) \
- $(MULTILIB_FLAGS) \
- $(WITH_ABI) \
- $(WITH_ARCH)
- $(MAKE) -C $(notdir $@) inhibit-libc=true all-gcc
- $(MAKE) -C $(notdir $@) inhibit-libc=true install-gcc
- $(MAKE) -C $(notdir $@) inhibit-libc=true all-target-libgcc
- $(MAKE) -C $(notdir $@) inhibit-libc=true install-target-libgcc
- mkdir -p $(dir $@) && touch $@
-
-stamps/build-gcc-linux-stage2: $(srcdir)/riscv-gcc $(addprefix stamps/build-glibc-linux-,$(MULTILIB_NAMES)) \
- stamps/build-glibc-linux-headers
- rm -rf $@ $(notdir $@)
- mkdir $(notdir $@)
- cd $(notdir $@) && $</configure \
- --target=riscv$(XLEN)-unknown-linux-gnu \
- --prefix=$(INSTALL_DIR) \
- --with-sysroot=$(SYSROOT) \
- --with-system-zlib \
- --enable-shared \
- --enable-tls \
- --enable-languages=c,c++,fortran \
- --disable-libmudflap \
- --disable-libssp \
- --disable-libquadmath \
- --disable-nls \
- --disable-bootstrap \
- $(GCC_CHECKING_FLAGS) \
- $(MULTILIB_FLAGS) \
- $(WITH_ABI) \
- $(WITH_ARCH)
- $(MAKE) -C $(notdir $@)
- $(MAKE) -C $(notdir $@) install
- cp -a $(INSTALL_DIR)/riscv$(XLEN)-unknown-linux-gnu/lib* $(SYSROOT)
- mkdir -p $(dir $@) && touch $@
-
-stamps/build-binutils-newlib: $(srcdir)/riscv-binutils-gdb
- rm -rf $@ $(notdir $@)
- mkdir $(notdir $@)
- cd $(notdir $@) && $</configure \
- --target=riscv$(XLEN)-unknown-elf \
- --prefix=$(INSTALL_DIR) \
- --disable-tls \
- --disable-werror
- $(MAKE) -C $(notdir $@)
- $(MAKE) -C $(notdir $@) install
- mkdir -p $(dir $@) && touch $@
-
-src/newlib-gcc: $(srcdir)/riscv-gcc
- rm -rf $@ $@.tmp
- mkdir -p $(dir $@)
- cp -a $< $@.tmp
- cp -a $(srcdir)/riscv-newlib/newlib $@.tmp
- cp -a $(srcdir)/riscv-newlib/libgloss $@.tmp
- $(srcdir)/scripts/cp_s $(srcdir)/riscv-newlib $@.tmp
- mv $@.tmp $@
-
-stamps/build-gcc-newlib: src/newlib-gcc stamps/build-binutils-newlib
- rm -rf $@ $(notdir $@)
- mkdir $(notdir $@)
- cd $(notdir $@) && $(CURDIR)/$</configure \
- --target=riscv$(XLEN)-unknown-elf \
- --prefix=$(INSTALL_DIR) \
- --disable-shared \
- --disable-threads \
- --disable-tls \
- --enable-languages=c,c++ \
- --with-system-zlib \
- --with-newlib \
- --disable-libmudflap \
- --disable-libssp \
- --disable-libquadmath \
- --disable-libgomp \
- --disable-nls \
- $(GCC_CHECKING_FLAGS) \
- $(MULTILIB_FLAGS) \
- $(WITH_ABI) \
- $(WITH_ARCH)
- $(MAKE) -C $(notdir $@) inhibit-libc=true
- $(MAKE) -C $(notdir $@) install
- mkdir -p $(dir $@) && touch $@
-
-.PHONY: check-gcc-newlib
-check-gcc-newlib: stamps/build-gcc-newlib
- export PATH=$(INSTALL_DIR)/bin:$(PATH) && \
- export DEJAGNULIBS=$(srcdir)/riscv-dejagnu && \
- cd build-gcc-newlib && \
- $(MAKE) check-gcc "RUNTESTFLAGS=--target_board=riscv-sim"
-
-check-gcc-linux: stamps/build-gcc-linux-stage2
- export PATH=$(srcdir)/scripts/wrapper/qemu:$(INSTALL_DIR)/bin:$(PATH) && \
- export DEJAGNULIBS=$(srcdir)/riscv-dejagnu && \
- export RISC_V_SYSROOT=$(SYSROOT) && \
- cd build-gcc-linux-stage2 && \
- $(MAKE) check-gcc "RUNTESTFLAGS=--target_board=riscv-sim"
-
-clean:
- rm -rf build-* $(addprefix src/,$(PACKAGES)) stamps
-
-distclean: clean
- rm -rf src
-
-# All of the packages install themselves, so our install target does nothing.
-install:
diff --git a/README.md b/README.md
deleted file mode 100644
index 61961d0..0000000
--- a/README.md
+++ /dev/null
@@ -1,97 +0,0 @@
-RISC-V GNU Compiler Toolchain
-=============================
-
-This is the RISC-V C and C++ cross-compiler. It supports two build modes:
-a generic ELF/Newlib toolchain and a more sophisticated Linux-ELF/glibc
-toolchain.
-
-### Getting the sources
-
-This repository uses submodules. You need the --recursive option to fetch the submodules automatically
-
- $ git clone --recursive https://github.com/riscv/riscv-gnu-toolchain
-
-Alternatively :
-
- $ git clone https://github.com/riscv/riscv-gnu-toolchain
- $ cd riscv-gnu-toolchain
- $ git submodule update --init --recursive
-
-
-
-### Prerequisites
-
-Several standard packages are needed to build the toolchain. On Ubuntu,
-executing the following command should suffice:
-
- $ sudo apt-get install autoconf automake autotools-dev curl libmpc-dev libmpfr-dev libgmp-dev gawk build-essential bison flex texinfo gperf libtool patchutils bc
-
-On Fedora/CentOS/RHEL OS, executing the following command should suffice:
-
- $ sudo yum install autoconf automake libmpc-devel mpfr-devel gmp-devel gawk bison flex texinfo patchutils gcc gcc-c++
-
-On OS X, you can use [Homebrew](http://brew.sh) to install the dependencies:
-
- $ brew install gawk gnu-sed gmp mpfr libmpc isl
-
-To build the glibc (Linux) on OS X, you will need to build within a case-sensitive file
-system. The simplest approach is to create and mount a new disk image with
-a case sensitive format. Make sure that the mount point does not contain spaces. This is not necessary to build newlib or gcc itself on OS X.
-
-This process will start by downloading about 200 MiB of upstream sources, then
-will patch, build, and install the toolchain. If a local cache of the
-upstream sources exists in $(DISTDIR), it will be used; the default location
-is /var/cache/distfiles. Your computer will need about 8 GiB of disk space to
-complete the process.
-
-### Installation (Newlib)
-
-To build the Newlib cross-compiler, pick an install path. If you choose,
-say, `/opt/riscv`, then add `/opt/riscv/bin` to your `PATH` now. Then, simply
-run the following command:
-
- ./configure --prefix=/opt/riscv
- make
-
-You should now be able to use riscv-gcc and its cousins.
-
-### Installation (Linux)
-
-To build the Linux cross-compiler, pick an install path. If you choose,
-say, `/opt/riscv`, then add `/opt/riscv/bin` to your `PATH` now. Then, simply
-run the following command:
-
- ./configure --prefix=/opt/riscv
- make linux
-
-### Installation (Linux multilib)
-
-To build the Linux cross-compiler with support for both 32-bit and
-64-bit, run the following commands:
-
- ./configure --prefix=/opt/riscv --enable-multilib
- make linux
-
-The multilib compiler will have the prefix riscv-unknown-linux-gnu-,
-rather than the usual prefix (riscv32-... or riscv64-...).
-
-### Advanced Options
-
-There are a number of additional options that may be passed to
-configure. See './configure --help' for more details.
-
-### Test Suite
-
-The DejaGnu test suite has been ported to RISC-V. This can run with GDB
-simulator for elf toolchain or Qemu for linux toolchain, and GDB simulator
-doesn't support floating-point.
-To test GCC, run the following commands:
-
- ./configure --prefix=$RISCV --disable-linux --with-arch=rv64ima # or --with-arch=rv32ima
- make newlib
- make check-gcc-newlib
-
- ./configure --prefix=$RISCV
- make linux
- # Need qemu-riscv32 or qemu-riscv64 in your `PATH`.
- make check-gcc-linux
diff --git a/configure b/configure
deleted file mode 100755
index 019ac00..0000000
--- a/configure
+++ /dev/null
@@ -1,4464 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for riscv-toolchain 1.0.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
- # into an infinite loop, continuously re-executing ourselves.
- if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
- _as_can_reexec=no; export _as_can_reexec;
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
- fi
- # We don't want this to propagate to other subprocesses.
- { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
- as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '\${1+\"\$@\"}'='\"\$@\"'
- setopt NO_GLOB_SUBST
-else
- case \`(set -o) 2>/dev/null\` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-"
- as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
- exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
- as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
- as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
- eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
- test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1"
- if (eval "$as_required") 2>/dev/null; then :
- as_have_required=yes
-else
- as_have_required=no
-fi
- if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- as_found=:
- case $as_dir in #(
- /*)
- for as_base in sh bash ksh sh5; do
- # Try only shells that exist, to save several forks.
- as_shell=$as_dir/$as_base
- if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
- CONFIG_SHELL=$as_shell as_have_required=yes
- if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
- break 2
-fi
-fi
- done;;
- esac
- as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
- { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
- CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
- if test "x$CONFIG_SHELL" != x; then :
- export CONFIG_SHELL
- # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
- *v*x* | *x*v* ) as_opts=-vx ;;
- *v* ) as_opts=-v ;;
- *x* ) as_opts=-x ;;
- * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
- if test x$as_have_required = xno; then :
- $as_echo "$0: This script requires a shell more modern than all"
- $as_echo "$0: the shells that I found on your system."
- if test x${ZSH_VERSION+set} = xset ; then
- $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
- $as_echo "$0: be upgraded to zsh 4.3.4 or later."
- else
- $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
- fi
- exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
- as_lineno_1=$LINENO as_lineno_1a=$LINENO
- as_lineno_2=$LINENO as_lineno_2a=$LINENO
- eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
- test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
- # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-)
- sed -n '
- p
- /[$]LINENO/=
- ' <$as_myself |
- sed '
- s/[$]LINENO.*/&-/
- t lineno
- b
- :lineno
- N
- :loop
- s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
- t loop
- s/-\n.*//
- ' >$as_me.lineno &&
- chmod +x "$as_me.lineno" ||
- { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
- # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
- # already done that, so ensure we don't try to do so again and fall
- # in an infinite loop. This has already happened in practice.
- _as_can_reexec=no; export _as_can_reexec
- # Don't try to exec as it changes $[0], causing all sort of problems
- # (the dirname of $[0] is not the place where we might find the
- # original and so on. Autoconf is especially sensitive to this).
- . "./$as_me.lineno"
- # Exit status is that of the last command.
- exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME='riscv-toolchain'
-PACKAGE_TARNAME='riscv-toolchain'
-PACKAGE_VERSION='1.0'
-PACKAGE_STRING='riscv-toolchain 1.0'
-PACKAGE_BUGREPORT=''
-PACKAGE_URL=''
-
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-gcc_checking
-multilib_names
-multilib_flags
-WITH_ABI
-WITH_ARCH
-default_target
-FETCHER
-FTP
-WGET
-CURL
-NEED_GCC_EXTERNAL_LIBRARIES
-GSED
-GAWK
-BASH
-FGREP
-GREP
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-enable_linux
-enable_atomic
-with_arch
-with_abi
-enable_multilib
-enable_gcc_checking
-'
- ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE_TARNAME}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
- # If the previous option needs an argument, assign it.
- if test -n "$ac_prev"; then
- eval $ac_prev=\$ac_option
- ac_prev=
- continue
- fi
-
- case $ac_option in
- *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
- *=) ac_optarg= ;;
- *) ac_optarg=yes ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_dashdash$ac_option in
- --)
- ac_dashdash=yes ;;
-
- -bindir | --bindir | --bindi | --bind | --bin | --bi)
- ac_prev=bindir ;;
- -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
- bindir=$ac_optarg ;;
-
- -build | --build | --buil | --bui | --bu)
- ac_prev=build_alias ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build_alias=$ac_optarg ;;
-
- -cache-file | --cache-file | --cache-fil | --cache-fi \
- | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
- ac_prev=cache_file ;;
- -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
- | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
- cache_file=$ac_optarg ;;
-
- --config-cache | -C)
- cache_file=config.cache ;;
-
- -datadir | --datadir | --datadi | --datad)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=*)
- datadir=$ac_optarg ;;
-
- -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
- | --dataroo | --dataro | --datar)
- ac_prev=datarootdir ;;
- -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
- | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
- datarootdir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=no ;;
-
- -docdir | --docdir | --docdi | --doc | --do)
- ac_prev=docdir ;;
- -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
- docdir=$ac_optarg ;;
-
- -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
- ac_prev=dvidir ;;
- -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
- dvidir=$ac_optarg ;;
-
- -enable-* | --enable-*)
- ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid feature name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"enable_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval enable_$ac_useropt=\$ac_optarg ;;
-
- -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
- | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
- | --exec | --exe | --ex)
- ac_prev=exec_prefix ;;
- -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
- | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
- | --exec=* | --exe=* | --ex=*)
- exec_prefix=$ac_optarg ;;
-
- -gas | --gas | --ga | --g)
- # Obsolete; use --with-gas.
- with_gas=yes ;;
-
- -help | --help | --hel | --he | -h)
- ac_init_help=long ;;
- -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
- ac_init_help=recursive ;;
- -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
- ac_init_help=short ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host_alias ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host_alias=$ac_optarg ;;
-
- -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
- ac_prev=htmldir ;;
- -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
- | --ht=*)
- htmldir=$ac_optarg ;;
-
- -includedir | --includedir | --includedi | --included | --include \
- | --includ | --inclu | --incl | --inc)
- ac_prev=includedir ;;
- -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
- | --includ=* | --inclu=* | --incl=* | --inc=*)
- includedir=$ac_optarg ;;
-
- -infodir | --infodir | --infodi | --infod | --info | --inf)
- ac_prev=infodir ;;
- -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
- infodir=$ac_optarg ;;
-
- -libdir | --libdir | --libdi | --libd)
- ac_prev=libdir ;;
- -libdir=* | --libdir=* | --libdi=* | --libd=*)
- libdir=$ac_optarg ;;
-
- -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
- | --libexe | --libex | --libe)
- ac_prev=libexecdir ;;
- -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
- | --libexe=* | --libex=* | --libe=*)
- libexecdir=$ac_optarg ;;
-
- -localedir | --localedir | --localedi | --localed | --locale)
- ac_prev=localedir ;;
- -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
- localedir=$ac_optarg ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst | --locals)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
- localstatedir=$ac_optarg ;;
-
- -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
- ac_prev=mandir ;;
- -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
- mandir=$ac_optarg ;;
-
- -nfp | --nfp | --nf)
- # Obsolete; use --without-fp.
- with_fp=no ;;
-
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c | -n)
- no_create=yes ;;
-
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
- no_recursion=yes ;;
-
- -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
- | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
- | --oldin | --oldi | --old | --ol | --o)
- ac_prev=oldincludedir ;;
- -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
- | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
- | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
- oldincludedir=$ac_optarg ;;
-
- -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
- ac_prev=prefix ;;
- -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
- prefix=$ac_optarg ;;
-
- -program-prefix | --program-prefix | --program-prefi | --program-pref \
- | --program-pre | --program-pr | --program-p)
- ac_prev=program_prefix ;;
- -program-prefix=* | --program-prefix=* | --program-prefi=* \
- | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
- program_prefix=$ac_optarg ;;
-
- -program-suffix | --program-suffix | --program-suffi | --program-suff \
- | --program-suf | --program-su | --program-s)
- ac_prev=program_suffix ;;
- -program-suffix=* | --program-suffix=* | --program-suffi=* \
- | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
- program_suffix=$ac_optarg ;;
-
- -program-transform-name | --program-transform-name \
- | --program-transform-nam | --program-transform-na \
- | --program-transform-n | --program-transform- \
- | --program-transform | --program-transfor \
- | --program-transfo | --program-transf \
- | --program-trans | --program-tran \
- | --progr-tra | --program-tr | --program-t)
- ac_prev=program_transform_name ;;
- -program-transform-name=* | --program-transform-name=* \
- | --program-transform-nam=* | --program-transform-na=* \
- | --program-transform-n=* | --program-transform-=* \
- | --program-transform=* | --program-transfor=* \
- | --program-transfo=* | --program-transf=* \
- | --program-trans=* | --program-tran=* \
- | --progr-tra=* | --program-tr=* | --program-t=*)
- program_transform_name=$ac_optarg ;;
-
- -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
- ac_prev=pdfdir ;;
- -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
- pdfdir=$ac_optarg ;;
-
- -psdir | --psdir | --psdi | --psd | --ps)
- ac_prev=psdir ;;
- -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
- psdir=$ac_optarg ;;
-
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- silent=yes ;;
-
- -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
- ac_prev=sbindir ;;
- -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
- | --sbi=* | --sb=*)
- sbindir=$ac_optarg ;;
-
- -sharedstatedir | --sharedstatedir | --sharedstatedi \
- | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
- | --sharedst | --shareds | --shared | --share | --shar \
- | --sha | --sh)
- ac_prev=sharedstatedir ;;
- -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
- | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
- | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
- | --sha=* | --sh=*)
- sharedstatedir=$ac_optarg ;;
-
- -site | --site | --sit)
- ac_prev=site ;;
- -site=* | --site=* | --sit=*)
- site=$ac_optarg ;;
-
- -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
- ac_prev=srcdir ;;
- -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
- srcdir=$ac_optarg ;;
-
- -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
- | --syscon | --sysco | --sysc | --sys | --sy)
- ac_prev=sysconfdir ;;
- -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
- | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
- sysconfdir=$ac_optarg ;;
-
- -target | --target | --targe | --targ | --tar | --ta | --t)
- ac_prev=target_alias ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target_alias=$ac_optarg ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers | -V)
- ac_init_version=: ;;
-
- -with-* | --with-*)
- ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=\$ac_optarg ;;
-
- -without-* | --without-*)
- ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
- as_fn_error $? "invalid package name: $ac_useropt"
- ac_useropt_orig=$ac_useropt
- ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
- case $ac_user_opts in
- *"
-"with_$ac_useropt"
-"*) ;;
- *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
- ac_unrecognized_sep=', ';;
- esac
- eval with_$ac_useropt=no ;;
-
- --x)
- # Obsolete; use --with-x.
- with_x=yes ;;
-
- -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
- | --x-incl | --x-inc | --x-in | --x-i)
- ac_prev=x_includes ;;
- -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
- | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
- x_includes=$ac_optarg ;;
-
- -x-libraries | --x-libraries | --x-librarie | --x-librari \
- | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
- ac_prev=x_libraries ;;
- -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
- | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
- x_libraries=$ac_optarg ;;
-
- -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- case $ac_envvar in #(
- '' | [0-9]* | *[!_$as_cr_alnum]* )
- as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
- esac
- eval $ac_envvar=\$ac_optarg
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
- : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- ac_option=--`echo $ac_prev | sed 's/_/-/g'`
- as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
- case $enable_option_checking in
- no) ;;
- fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
- *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
- esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
- datadir sysconfdir sharedstatedir localstatedir includedir \
- oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
- libdir localedir mandir
-do
- eval ac_val=\$$ac_var
- # Remove trailing slashes.
- case $ac_val in
- */ )
- ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
- eval $ac_var=\$ac_val;;
- esac
- # Be sure to have absolute directory names.
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) continue;;
- NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
- esac
- as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
- if test "x$build_alias" = x; then
- cross_compiling=maybe
- elif test "x$build_alias" != "x$host_alias"; then
- cross_compiling=yes
- fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
- as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
- as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
- ac_srcdir_defaulted=yes
- # Try the directory containing this script, then the parent directory.
- ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_myself" : 'X\(//\)[^/]' \| \
- X"$as_myself" : 'X\(//\)$' \| \
- X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- srcdir=$ac_confdir
- if test ! -r "$srcdir/$ac_unique_file"; then
- srcdir=..
- fi
-else
- ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
- test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
- as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
- cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
- pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
- srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
- eval ac_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_env_${ac_var}_value=\$${ac_var}
- eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
- eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-if test "$ac_init_help" = "long"; then
- # Omit some internal or obsolete options to make the list less imposing.
- # This message is too long to be a string in the A/UX 3.1 sh.
- cat <<_ACEOF
-\`configure' configures riscv-toolchain 1.0 to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE. See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
- -h, --help display this help and exit
- --help=short display options specific to this package
- --help=recursive display the short help of all the included packages
- -V, --version display version information and exit
- -q, --quiet, --silent do not print \`checking ...' messages
- --cache-file=FILE cache test results in FILE [disabled]
- -C, --config-cache alias for \`--cache-file=config.cache'
- -n, --no-create do not create output files
- --srcdir=DIR find the sources in DIR [configure dir or \`..']
-
-Installation directories:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
- --bindir=DIR user executables [EPREFIX/bin]
- --sbindir=DIR system admin executables [EPREFIX/sbin]
- --libexecdir=DIR program executables [EPREFIX/libexec]
- --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data [PREFIX/var]
- --libdir=DIR object code libraries [EPREFIX/lib]
- --includedir=DIR C header files [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc [/usr/include]
- --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
- --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
- --infodir=DIR info documentation [DATAROOTDIR/info]
- --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
- --mandir=DIR man documentation [DATAROOTDIR/man]
- --docdir=DIR documentation root [DATAROOTDIR/doc/riscv-toolchain]
- --htmldir=DIR html documentation [DOCDIR]
- --dvidir=DIR dvi documentation [DOCDIR]
- --pdfdir=DIR pdf documentation [DOCDIR]
- --psdir=DIR ps documentation [DOCDIR]
-_ACEOF
-
- cat <<\_ACEOF
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
- case $ac_init_help in
- short | recursive ) echo "Configuration of riscv-toolchain 1.0:";;
- esac
- cat <<\_ACEOF
-
-Optional Features:
- --disable-option-checking ignore unrecognized --enable/--with options
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-linux set linux as the default make target
- [--disable-linux]
- --disable-atomic disable use of atomic memory instructions in glibc
- [--enable-atomic]
- --enable-multilib build both RV32 and RV64 runtime libraries
- [--disable-multilib]
- --enable-gcc-checking Enable gcc internal checking, it will make gcc very
- slow, only enable it when developing gcc
- [--disable-gcc-checking]
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-arch=rv64g Sets the base RISC-V ISA, defaults to rv64g
- --with-abi=lp64d Sets the base RISC-V ABI, defaults to lp64d
-
-Some influential environment variables:
- CC C compiler command
- CFLAGS C compiler flags
- LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a
- nonstandard directory <lib dir>
- LIBS libraries to pass to the linker, e.g. -l<library>
- CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
- you have headers in a nonstandard directory <include dir>
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d "$ac_dir" ||
- { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
- continue
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
- cd "$ac_dir" || { ac_status=$?; continue; }
- # Check for guested configure.
- if test -f "$ac_srcdir/configure.gnu"; then
- echo &&
- $SHELL "$ac_srcdir/configure.gnu" --help=recursive
- elif test -f "$ac_srcdir/configure"; then
- echo &&
- $SHELL "$ac_srcdir/configure" --help=recursive
- else
- $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi || ac_status=$?
- cd "$ac_pwd" || { ac_status=$?; break; }
- done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
- cat <<\_ACEOF
-riscv-toolchain configure 1.0
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
- exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext
- if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest.$ac_objext; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
- as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- rm -f conftest.$ac_objext conftest$ac_exeext
- if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- grep -v '^ *+' conftest.err >conftest.er1
- cat conftest.er1 >&5
- mv -f conftest.er1 conftest.err
- fi
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; } && {
- test -z "$ac_c_werror_flag" ||
- test ! -s conftest.err
- } && test -s conftest$ac_exeext && {
- test "$cross_compiling" = yes ||
- test -x conftest$ac_exeext
- }; then :
- ac_retval=0
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_retval=1
-fi
- # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
- # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
- # interfere with the next link command; also delete a directory that is
- # left behind by Apple's compiler. We do this before executing the actions.
- rm -rf conftest.dSYM conftest_ipa8_conftest.oo
- eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
- as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-cat >config.log <<_ACEOF
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-
-It was created by riscv-toolchain $as_me 1.0, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
-
-/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
-/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
-/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
-/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
-/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- $as_echo "PATH: $as_dir"
- done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
- for ac_arg
- do
- case $ac_arg in
- -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil)
- continue ;;
- *\'*)
- ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
- 2)
- as_fn_append ac_configure_args1 " '$ac_arg'"
- if test $ac_must_keep_next = true; then
- ac_must_keep_next=false # Got value, back to normal.
- else
- case $ac_arg in
- *=* | --config-cache | -C | -disable-* | --disable-* \
- | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
- | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
- | -with-* | --with-* | -without-* | --without-* | --x)
- case "$ac_configure_args0 " in
- "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
- esac
- ;;
- -* ) ac_must_keep_next=true ;;
- esac
- fi
- as_fn_append ac_configure_args " '$ac_arg'"
- ;;
- esac
- done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log. We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
- echo
- # The following way of writing the cache mishandles newlines in values,
-(
- for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
- (set) 2>&1 |
- case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- sed -n \
- "s/'\''/'\''\\\\'\'''\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
- ;; #(
- *)
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-)
- echo
-
- $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=\$$ac_var
- case $ac_val in
- *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
- esac
- $as_echo "$ac_var='\''$ac_val'\''"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
- echo
- cat confdefs.h
- echo
- fi
- test "$ac_signal" != 0 &&
- $as_echo "$as_me: caught signal $ac_signal"
- $as_echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core core.conftest.* &&
- rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
- # We do not want a PATH search for config.site.
- case $CONFIG_SITE in #((
- -*) ac_site_file1=./$CONFIG_SITE;;
- */*) ac_site_file1=$CONFIG_SITE;;
- *) ac_site_file1=./$CONFIG_SITE;;
- esac
-elif test "x$prefix" != xNONE; then
- ac_site_file1=$prefix/share/config.site
- ac_site_file2=$prefix/etc/config.site
-else
- ac_site_file1=$ac_default_prefix/share/config.site
- ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
- test "x$ac_site_file" = xNONE && continue
- if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file" \
- || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
- fi
-done
-
-if test -r "$cache_file"; then
- # Some versions of bash will fail to source /dev/null (special files
- # actually), so we avoid doing that. DJGPP emulates it as a regular file.
- if test /dev/null != "$cache_file" && test -f "$cache_file"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . "$cache_file";;
- *) . "./$cache_file";;
- esac
- fi
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
- >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
- eval ac_old_set=\$ac_cv_env_${ac_var}_set
- eval ac_new_set=\$ac_env_${ac_var}_set
- eval ac_old_val=\$ac_cv_env_${ac_var}_value
- eval ac_new_val=\$ac_env_${ac_var}_value
- case $ac_old_set,$ac_new_set in
- set,)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,);;
- *)
- if test "x$ac_old_val" != "x$ac_new_val"; then
- # differences in whitespace do not lead to failure.
- ac_old_val_w=`echo x $ac_old_val`
- ac_new_val_w=`echo x $ac_new_val`
- if test "$ac_old_val_w" != "$ac_new_val_w"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- ac_cache_corrupted=:
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
- eval $ac_var=\$ac_old_val
- fi
- { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5
-$as_echo "$as_me: former value: \`$ac_old_val'" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5
-$as_echo "$as_me: current value: \`$ac_new_val'" >&2;}
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
- *) ac_arg=$ac_var=$ac_new_val ;;
- esac
- case " $ac_configure_args " in
- *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
- *) as_fn_append ac_configure_args " '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
- { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-else
- CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- fi
-fi
-if test -z "$CC"; then
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
- # We found a bogon in the path, so make sure we never use it.
- set dummy $ac_cv_prog_CC
- shift
- if test $# != 0; then
- # We chose a different compiler from the bogus one.
- # However, it has the same basename, so the bogon will be chosen
- # first if we set CC to just the basename; use the full file name.
- shift
- ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
- fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl.exe
- do
- # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl.exe
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -n "$ac_ct_CC"; then
- ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
- test -n "$ac_ct_CC" && break
-done
-
- if test "x$ac_ct_CC" = x; then
- CC=""
- else
- case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
- CC=$ac_ct_CC
- fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
- { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compiler $ac_option >&5") 2>conftest.err
- ac_status=$?
- if test -s conftest.err; then
- sed '10a\
-... rest of stderr output deleted ...
- 10q' conftest.err >conftest.er1
- cat conftest.er1 >&5
- fi
- rm -f conftest.er1 conftest.err
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- * ) ac_rmfiles="$ac_rmfiles $ac_file";;
- esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link_default") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile. We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
- then :; else
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- fi
- # We set ac_cv_exeext here because the later test for it is not
- # safe: cross compilers may not add the suffix if given an `-o'
- # argument, so we may need to know it at that point already.
- # Even if this section looks crufty: it has the advantage of
- # actually working.
- break;;
- * )
- break;;
- esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
- ac_file=''
-fi
-if test -z "$ac_file"; then :
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- break;;
- * ) break;;
- esac
-done
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
- { { ac_try="$ac_link"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_link") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }
- if { ac_try='./conftest$ac_cv_exeext'
- { { case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_try") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
- fi
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
- *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
- *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
- (eval "$ac_compile") 2>&5
- ac_status=$?
- $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
- test $ac_status = 0; }; then :
- for ac_file in conftest.o conftest.obj conftest.*; do
- test -f "$ac_file" || continue;
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_compiler_gnu=yes
-else
- ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
- GCC=yes
-else
- GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_save_c_werror_flag=$ac_c_werror_flag
- ac_c_werror_flag=yes
- ac_cv_prog_cc_g=no
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-else
- CFLAGS=""
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
- ac_c_werror_flag=$ac_save_c_werror_flag
- CFLAGS="-g"
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
- ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
- CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
- if test "$GCC" = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-g"
- fi
-else
- if test "$GCC" = yes; then
- CFLAGS="-O2"
- else
- CFLAGS=
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
- char **p;
- int i;
-{
- return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
- char *s;
- va_list v;
- va_start (v,p);
- s = g (p, va_arg (v,int));
- va_end (v);
- return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has
- function prototypes and stuff, but not '\xHH' hex character constants.
- These don't provoke an error unfortunately, instead are silently treated
- as 'x'. The following induces an error, until -std is added to get
- proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an
- array size at least. It's necessary to write '\x00'==0 to get something
- that's true only with -std. */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
- inside strings and character constants. */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1];
- ;
- return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
- -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
- test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
- x)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
- xno)
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
- *)
- CC="$CC $ac_cv_prog_cc_c89"
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
- then ac_cv_path_FGREP="$GREP -F"
- else
- if test -z "$FGREP"; then
- ac_path_FGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in fgrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
- # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'FGREP' >> "conftest.nl"
- "$ac_path_FGREP" FGREP < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_FGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_FGREP="$ac_path_FGREP"
- ac_path_FGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_FGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_FGREP"; then
- as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_FGREP=$FGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if ${ac_cv_path_GREP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GREP" || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-
-# Extract the first word of "bash", so it can be a program name with args.
-set dummy bash; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_BASH+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $BASH in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_BASH="$BASH" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_BASH="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_BASH" && ac_cv_path_BASH="as_fn_error $? "bash not found" "$LINENO" 5"
- ;;
-esac
-fi
-BASH=$ac_cv_path_BASH
-if test -n "$BASH"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BASH" >&5
-$as_echo "$BASH" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-if test -z "$GAWK"; then
- ac_path_GAWK_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in gawk awk; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GAWK="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GAWK" || continue
-if $ac_path_GAWK --version 2>&1 | $FGREP GNU >/dev/null; then :
- ac_cv_path_GAWK=$ac_path_GAWK ac_path_GAWK_found=:
-fi
- $ac_path_GAWK_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GAWK"; then
- as_fn_error $? "GNU Awk not found" "$LINENO" 5
- fi
-else
- ac_cv_path_GAWK=$GAWK
-fi
-
-GAWK=$ac_cv_path_GAWK
-
-
-if test -z "$GSED"; then
- ac_path_GSED_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in gsed sed; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GSED="$as_dir/$ac_prog$ac_exec_ext"
- as_fn_executable_p "$ac_path_GSED" || continue
-if $ac_path_GSED --version 2>&1 | $FGREP GNU >/dev/null; then :
- ac_cv_path_GSED=$ac_path_GSED ac_path_GSED_found=:
-fi
- $ac_path_GSED_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GSED"; then
- as_fn_error $? "GNU sed not found" "$LINENO" 5
- fi
-else
- ac_cv_path_GSED=$GSED
-fi
-
-GSED=$ac_cv_path_GSED
-
-
-need_gcc_external_libraries="no"
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for __gmpz_init in -lgmp" >&5
-$as_echo_n "checking for __gmpz_init in -lgmp... " >&6; }
-if ${ac_cv_lib_gmp___gmpz_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lgmp $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char __gmpz_init ();
-int
-main ()
-{
-return __gmpz_init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_gmp___gmpz_init=yes
-else
- ac_cv_lib_gmp___gmpz_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_gmp___gmpz_init" >&5
-$as_echo "$ac_cv_lib_gmp___gmpz_init" >&6; }
-if test "x$ac_cv_lib_gmp___gmpz_init" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBGMP 1
-_ACEOF
-
- LIBS="-lgmp $LIBS"
-
-else
- need_gcc_external_libraries="yes"
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpfr_init in -lmpfr" >&5
-$as_echo_n "checking for mpfr_init in -lmpfr... " >&6; }
-if ${ac_cv_lib_mpfr_mpfr_init+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lmpfr $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char mpfr_init ();
-int
-main ()
-{
-return mpfr_init ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_mpfr_mpfr_init=yes
-else
- ac_cv_lib_mpfr_mpfr_init=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_init" >&5
-$as_echo "$ac_cv_lib_mpfr_mpfr_init" >&6; }
-if test "x$ac_cv_lib_mpfr_mpfr_init" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBMPFR 1
-_ACEOF
-
- LIBS="-lmpfr $LIBS"
-
-else
- need_gcc_external_libraries="yes"
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpc_init2 in -lmpc" >&5
-$as_echo_n "checking for mpc_init2 in -lmpc... " >&6; }
-if ${ac_cv_lib_mpc_mpc_init2+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lmpc $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-
-/* Override any GCC internal prototype to avoid an error.
- Use char because int might match the return type of a GCC
- builtin and then its argument prototype would still apply. */
-#ifdef __cplusplus
-extern "C"
-#endif
-char mpc_init2 ();
-int
-main ()
-{
-return mpc_init2 ();
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
- ac_cv_lib_mpc_mpc_init2=yes
-else
- ac_cv_lib_mpc_mpc_init2=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpc_mpc_init2" >&5
-$as_echo "$ac_cv_lib_mpc_mpc_init2" >&6; }
-if test "x$ac_cv_lib_mpc_mpc_init2" = xyes; then :
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBMPC 1
-_ACEOF
-
- LIBS="-lmpc $LIBS"
-
-else
- need_gcc_external_libraries="yes"
-fi
-
-if test x"$need_gcc_external_libraries" != xno; then :
- NEED_GCC_EXTERNAL_LIBRARIES=true
-
-else
- NEED_GCC_EXTERNAL_LIBRARIES=false
-
-fi
-
-# Extract the first word of "curl", so it can be a program name with args.
-set dummy curl; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_CURL+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $CURL in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_CURL="$CURL" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_CURL="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_CURL" && ac_cv_path_CURL="no"
- ;;
-esac
-fi
-CURL=$ac_cv_path_CURL
-if test -n "$CURL"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CURL" >&5
-$as_echo "$CURL" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "wget", so it can be a program name with args.
-set dummy wget; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_WGET+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $WGET in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_WGET="$WGET" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_WGET="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_WGET" && ac_cv_path_WGET="no"
- ;;
-esac
-fi
-WGET=$ac_cv_path_WGET
-if test -n "$WGET"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $WGET" >&5
-$as_echo "$WGET" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-# Extract the first word of "ftp", so it can be a program name with args.
-set dummy ftp; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_path_FTP+:} false; then :
- $as_echo_n "(cached) " >&6
-else
- case $FTP in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_FTP="$FTP" # Let the user override the test with a path.
- ;;
- *)
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_exec_ext in '' $ac_executable_extensions; do
- if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_FTP="$as_dir/$ac_word$ac_exec_ext"
- $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
- done
-IFS=$as_save_IFS
-
- test -z "$ac_cv_path_FTP" && ac_cv_path_FTP="no"
- ;;
-esac
-fi
-FTP=$ac_cv_path_FTP
-if test -n "$FTP"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: $FTP" >&5
-$as_echo "$FTP" >&6; }
-else
- { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-if test x"$CURL" != xno; then :
- FETCHER="$CURL -L -o - --ftp-pasv --retry 10"
-elif test x"$WGET" != xno; then :
- FETCHER="$WGET -O -"
-elif test x"$FTP" != xno; then :
- FETCHER="$FTP -o - -p"
-else
- as_fn_error $? "no file transfer utility found" "$LINENO" 5
-fi
-
-
-# Check whether --enable-linux was given.
-if test "${enable_linux+set}" = set; then :
- enableval=$enable_linux;
-else
- enable_linux=no
-
-fi
-
-
-if test "x$enable_linux" != xno; then :
- default_target=linux
-
-else
- default_target=newlib
-
-fi
-
-# Check whether --enable-atomic was given.
-if test "${enable_atomic+set}" = set; then :
- enableval=$enable_atomic;
-else
- enable_atomic=yes
-
-fi
-
-
-
-# Check whether --with-arch was given.
-if test "${with_arch+set}" = set; then :
- withval=$with_arch; WITH_ARCH=--with-arch=$withval
-
-else
- WITH_ARCH=--with-arch=rv64g
-
-
-fi
-
-
-
-# Check whether --with-abi was given.
-if test "${with_abi+set}" = set; then :
- withval=$with_abi;
-else
- with_abi=default
-
-fi
-
-
-if test "x$with_abi" == xdefault; then :
- case $with_arch in #(
- *rv64g | *rv64*d*) :
- with_abi=lp64d ;; #(
- *rv64*f*) :
- with_abi=lp64f ;; #(
- *rv64*) :
- with_abi=lp64 ;; #(
- *rv32g | *rv32*d*) :
- with_abi=ilp32d ;; #(
- *rv32*f*) :
- with_abi=ilp32f ;; #(
- *rv32*) :
- with_abi=ilp32 ;; #(
- *) :
- as_fn_error $? "Unknown arch" "$LINENO" 5
- ;;
-esac
-fi
-
-WITH_ABI=--with-abi=$with_abi
-
-
-# Check whether --enable-multilib was given.
-if test "${enable_multilib+set}" = set; then :
- enableval=$enable_multilib;
-else
- enable_multilib=no
-
-fi
-
-
-if test "x$enable_multilib" != xno; then :
- multilib_flags=--enable-multilib
-
-else
- multilib_flags=--disable-multilib
-
-fi
-
-if test "x$enable_multilib" != xno; then :
- multilib_names="rv32ima-ilp32 rv32imafd-ilp32d rv64ima-lp64 rv64imafd-lp64d"
-
-fi
-
-# Check whether --enable-gcc-checking was given.
-if test "${enable_gcc_checking+set}" = set; then :
- enableval=$enable_gcc_checking;
-else
- enable_gcc_checking=yes
-
-fi
-
-if test "x$enable_gcc_checking" != xno; then :
- gcc_checking=--enable-checking=yes
-
-else
- gcc_checking=--enable-checking=release
-
-fi
-
-ac_config_files="$ac_config_files Makefile"
-
-ac_config_files="$ac_config_files scripts/wrapper/awk/awk"
-
-ac_config_files="$ac_config_files scripts/wrapper/sed/sed"
-
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems. If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
- for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
- eval ac_val=\$$ac_var
- case $ac_val in #(
- *${as_nl}*)
- case $ac_var in #(
- *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
- esac
- case $ac_var in #(
- _ | IFS | as_nl) ;; #(
- BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
- *) { eval $ac_var=; unset $ac_var;} ;;
- esac ;;
- esac
- done
-
- (set) 2>&1 |
- case $as_nl`(ac_space=' '; set) 2>&1` in #(
- *${as_nl}ac_space=\ *)
- # `set' does not quote correctly, so add quotes: double-quote
- # substitution turns \\\\ into \\, and sed turns \\ into \.
- sed -n \
- "s/'/'\\\\''/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
- ;; #(
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
- ;;
- esac |
- sort
-) |
- sed '
- /^ac_cv_env_/b end
- t clear
- :clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
- if test -w "$cache_file"; then
- if test "x$cache_file" != "x/dev/null"; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
- if test ! -f "$cache_file" || test -h "$cache_file"; then
- cat confcache >"$cache_file"
- else
- case $cache_file in #(
- */* | ?:*)
- mv -f confcache "$cache_file"$$ &&
- mv -f "$cache_file"$$ "$cache_file" ;; #(
- *)
- mv -f confcache "$cache_file" ;;
- esac
- fi
- fi
- else
- { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
- fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-ac_script='
-:mline
-/\\$/{
- N
- s,\\\n,,
- b mline
-}
-t clear
-:clear
-s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
-t quote
-b any
-:quote
-s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
-s/\[/\\&/g
-s/\]/\\&/g
-s/\$/$$/g
-H
-:any
-${
- g
- s/^\n//
- s/\n/ /g
- p
-}
-'
-DEFS=`sed -n "$ac_script" confdefs.h`
-
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
- ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
- # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
- # will be set to the directory where LIBOBJS objects are built.
- as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
- as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
- emulate sh
- NULLCMD=:
- # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
- setopt NO_GLOB_SUBST
-else
- case `(set -o) 2>/dev/null` in #(
- *posix*) :
- set -o posix ;; #(
- *) :
- ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
- && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='print -r --'
- as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
- as_echo='printf %s\n'
- as_echo_n='printf %s'
-else
- if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
- as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
- as_echo_n='/usr/ucb/echo -n'
- else
- as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
- as_echo_n_body='eval
- arg=$1;
- case $arg in #(
- *"$as_nl"*)
- expr "X$arg" : "X\\(.*\\)$as_nl";
- arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
- esac;
- expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
- '
- export as_echo_n_body
- as_echo_n='sh -c $as_echo_n_body as_echo'
- fi
- export as_echo_body
- as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- PATH_SEPARATOR=:
- (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
- (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
- PATH_SEPARATOR=';'
- }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order. Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" "" $as_nl"
-
-# Find who we are. Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
- *[\\/]* ) as_myself=$0 ;;
- *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
- done
-IFS=$as_save_IFS
-
- ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
- as_myself=$0
-fi
-if test ! -f "$as_myself"; then
- $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
- exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there. '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
- && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
- as_status=$1; test $as_status -eq 0 && as_status=1
- if test "$4"; then
- as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
- $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
- fi
- $as_echo "$as_me: error: $2" >&2
- as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
- return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
- set +e
- as_fn_set_status $1
- exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
- { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
- eval 'as_fn_append ()
- {
- eval $1+=\$2
- }'
-else
- as_fn_append ()
- {
- eval $1=\$$1\$2
- }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
- eval 'as_fn_arith ()
- {
- as_val=$(( $* ))
- }'
-else
- as_fn_arith ()
- {
- as_val=`expr "$@" || test $? -eq 1`
- }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
- test "X`expr 00001 : '.*\(...\)'`" = X001; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
- as_basename=basename
-else
- as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
- as_dirname=dirname
-else
- as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{
- s//\1/
- q
- }
- /^X\/\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\/\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
- case `echo 'xy\c'` in
- *c*) ECHO_T=' ';; # ECHO_T is single tab character.
- xy) ECHO_C='\c';;
- *) echo `echo ksh88 bug on AIX 6.1` > /dev/null
- ECHO_T=' ';;
- esac;;
-*)
- ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
- rm -f conf$$.dir/conf$$.file
-else
- rm -f conf$$.dir
- mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
- if ln -s conf$$.file conf$$ 2>/dev/null; then
- as_ln_s='ln -s'
- # ... but there are two gotchas:
- # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
- # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
- # In both cases, we have to default to `cp -pR'.
- ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
- as_ln_s='cp -pR'
- elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
- else
- as_ln_s='cp -pR'
- fi
-else
- as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
- case $as_dir in #(
- -*) as_dir=./$as_dir;;
- esac
- test -d "$as_dir" || eval $as_mkdir_p || {
- as_dirs=
- while :; do
- case $as_dir in #(
- *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
- *) as_qdir=$as_dir;;
- esac
- as_dirs="'$as_qdir' $as_dirs"
- as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- test -d "$as_dir" && break
- done
- test -z "$as_dirs" || eval "mkdir $as_dirs"
- } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p='mkdir -p "$as_dir"'
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
- test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by riscv-toolchain $as_me 1.0, which was
-generated by GNU Autoconf 2.69. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration. Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
- -h, --help print this help, then exit
- -V, --version print version number and configuration settings, then exit
- --config print configuration, then exit
- -q, --quiet, --silent
- do not print progress messages
- -d, --debug don't remove temporary files
- --recheck update $as_me by reconfiguring in the same conditions
- --file=FILE[:TEMPLATE]
- instantiate the configuration file FILE
-
-Configuration files:
-$config_files
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-riscv-toolchain config.status 1.0
-configured by $0, generated by GNU Autoconf 2.69,
- with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
- case $1 in
- --*=?*)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
- ac_shift=:
- ;;
- --*=)
- ac_option=`expr "X$1" : 'X\([^=]*\)='`
- ac_optarg=
- ac_shift=:
- ;;
- *)
- ac_option=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- esac
-
- case $ac_option in
- # Handling of the options.
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
- $as_echo "$ac_cs_version"; exit ;;
- --config | --confi | --conf | --con | --co | --c )
- $as_echo "$ac_cs_config"; exit ;;
- --debug | --debu | --deb | --de | --d | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- case $ac_optarg in
- *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
- '') as_fn_error $? "missing file argument" ;;
- esac
- as_fn_append CONFIG_FILES " '$ac_optarg'"
- ac_need_defaults=false;;
- --he | --h | --help | --hel | -h )
- $as_echo "$ac_cs_usage"; exit ;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
- *) as_fn_append ac_config_targets " $1"
- ac_need_defaults=false ;;
-
- esac
- shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
- exec 6>/dev/null
- ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
- set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
- shift
- \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
- CONFIG_SHELL='$SHELL'
- export CONFIG_SHELL
- exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
- $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
- case $ac_config_target in
- "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- "scripts/wrapper/awk/awk") CONFIG_FILES="$CONFIG_FILES scripts/wrapper/awk/awk" ;;
- "scripts/wrapper/sed/sed") CONFIG_FILES="$CONFIG_FILES scripts/wrapper/sed/sed" ;;
-
- *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
- esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used. Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
- test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
- tmp= ac_tmp=
- trap 'exit_status=$?
- : "${ac_tmp:=$tmp}"
- { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
- trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
- test -d "$tmp"
-} ||
-{
- tmp=./conf$$-$RANDOM
- (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
- eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
- ac_cs_awk_cr='\\r'
-else
- ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
- echo "cat >conf$$subs.awk <<_ACEOF" &&
- echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
- echo "_ACEOF"
-} >conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
- . ./conf$$subs.sh ||
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
- ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
- if test $ac_delim_n = $ac_delim_num; then
- break
- elif $ac_last_try; then
- as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
- else
- ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
- fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
- N
- s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
- for (key in S) S_is_set[key] = 1
- FS = ""
-
-}
-{
- line = $ 0
- nfields = split(line, field, "@")
- substed = 0
- len = length(field[1])
- for (i = 2; i < nfields; i++) {
- key = field[i]
- keylen = length(key)
- if (S_is_set[key]) {
- value = S[key]
- line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
- len += length(value) + length(field[++i])
- substed = 1
- } else
- len += 1 + keylen
- }
-
- print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
- sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
- cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
- || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{
-h
-s///
-s/^/:/
-s/[ ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[ ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[ ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-
-eval set X " :F $CONFIG_FILES "
-shift
-for ac_tag
-do
- case $ac_tag in
- :[FHLC]) ac_mode=$ac_tag; continue;;
- esac
- case $ac_mode$ac_tag in
- :[FHL]*:*);;
- :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
- :[FH]-) ac_tag=-:-;;
- :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
- esac
- ac_save_IFS=$IFS
- IFS=:
- set x $ac_tag
- IFS=$ac_save_IFS
- shift
- ac_file=$1
- shift
-
- case $ac_mode in
- :L) ac_source=$1;;
- :[FH])
- ac_file_inputs=
- for ac_f
- do
- case $ac_f in
- -) ac_f="$ac_tmp/stdin";;
- *) # Look for the file first in the build tree, then in the source tree
- # (if the path is not absolute). The absolute path cannot be DOS-style,
- # because $ac_f cannot contain `:'.
- test -f "$ac_f" ||
- case $ac_f in
- [\\/$]*) false;;
- *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
- esac ||
- as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
- esac
- case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
- as_fn_append ac_file_inputs " '$ac_f'"
- done
-
- # Let's still pretend it is `configure' which instantiates (i.e., don't
- # use $as_me), people would be surprised to read:
- # /* config.h. Generated by config.status. */
- configure_input='Generated from '`
- $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
- `' by configure.'
- if test x"$ac_file" != x-; then
- configure_input="$ac_file. $configure_input"
- { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
- fi
- # Neutralize special characters interpreted by sed in replacement strings.
- case $configure_input in #(
- *\&* | *\|* | *\\* )
- ac_sed_conf_input=`$as_echo "$configure_input" |
- sed 's/[\\\\&|]/\\\\&/g'`;; #(
- *) ac_sed_conf_input=$configure_input;;
- esac
-
- case $ac_tag in
- *:-:* | *:-) cat >"$ac_tmp/stdin" \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
- esac
- ;;
- esac
-
- ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
- s//\1/
- q
- }
- /^X\(\/\/\)[^/].*/{
- s//\1/
- q
- }
- /^X\(\/\/\)$/{
- s//\1/
- q
- }
- /^X\(\/\).*/{
- s//\1/
- q
- }
- s/.*/./; q'`
- as_dir="$ac_dir"; as_fn_mkdir_p
- ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
- ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
- # A ".." for each directory in $ac_dir_suffix.
- ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
- case $ac_top_builddir_sub in
- "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
- *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
- esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
- .) # We are building in place.
- ac_srcdir=.
- ac_top_srcdir=$ac_top_builddir_sub
- ac_abs_top_srcdir=$ac_pwd ;;
- [\\/]* | ?:[\\/]* ) # Absolute name.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir
- ac_abs_top_srcdir=$srcdir ;;
- *) # Relative name.
- ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_build_prefix$srcdir
- ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
- case $ac_mode in
- :F)
- #
- # CONFIG_FILE
- #
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
- p
- q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
- ac_datarootdir_hack='
- s&@datadir@&$datadir&g
- s&@docdir@&$docdir&g
- s&@infodir@&$infodir&g
- s&@localedir@&$localedir&g
- s&@mandir@&$mandir&g
- s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
- >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
- { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
- { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \
- "$ac_tmp/out"`; test -z "$ac_out"; } &&
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined. Please make sure it is defined" >&2;}
-
- rm -f "$ac_tmp/stdin"
- case $ac_file in
- -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
- *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
- esac \
- || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-
-
-
- esac
-
-
- case $ac_file$ac_mode in
- "scripts/wrapper/awk/awk":F) chmod +x scripts/wrapper/awk ;;
- "scripts/wrapper/sed/sed":F) chmod +x scripts/wrapper/sed ;;
-
- esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
- as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded. So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status. When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
- ac_cs_success=:
- ac_config_status_args=
- test "$silent" = yes &&
- ac_config_status_args="$ac_config_status_args --quiet"
- exec 5>/dev/null
- $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
- exec 5>>config.log
- # Use ||, not &&, to avoid exiting from the if with $? = 1, which
- # would make configure fail if this is the last instruction.
- $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
- { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
diff --git a/configure.ac b/configure.ac
deleted file mode 100644
index 2869f83..0000000
--- a/configure.ac
+++ /dev/null
@@ -1,116 +0,0 @@
-AC_INIT(riscv-toolchain, 1.0)
-
-AC_PROG_CC
-AC_PROG_FGREP
-AC_PROG_GREP
-
-AC_PATH_PROG([BASH], [bash],
- [AC_MSG_ERROR([bash not found])])
-
-AC_PATH_PROGS_FEATURE_CHECK([GAWK], [gawk awk],
- [AS_IF([$ac_path_GAWK --version 2>&1 | $FGREP GNU >/dev/null],
- [ac_cv_path_GAWK=$ac_path_GAWK ac_path_GAWK_found=:])],
- [AC_MSG_ERROR([GNU Awk not found])])
-AC_SUBST([GAWK], [$ac_cv_path_GAWK])
-
-AC_PATH_PROGS_FEATURE_CHECK([GSED], [gsed sed],
- [AS_IF([$ac_path_GSED --version 2>&1 | $FGREP GNU >/dev/null],
- [ac_cv_path_GSED=$ac_path_GSED ac_path_GSED_found=:])],
- [AC_MSG_ERROR([GNU sed not found])])
-AC_SUBST([GSED], [$ac_cv_path_GSED])
-
-need_gcc_external_libraries="no"
-AC_CHECK_LIB(gmp, __gmpz_init, ,
- [need_gcc_external_libraries="yes"])
-AC_CHECK_LIB(mpfr, mpfr_init, ,
- [need_gcc_external_libraries="yes"])
-AC_CHECK_LIB(mpc, mpc_init2, ,
- [need_gcc_external_libraries="yes"])
-AS_IF([test x"$need_gcc_external_libraries" != xno],
- [AC_SUBST(NEED_GCC_EXTERNAL_LIBRARIES,true)],
- [AC_SUBST(NEED_GCC_EXTERNAL_LIBRARIES,false)])
-
-AC_PATH_PROG([CURL], [curl], [no])
-AC_PATH_PROG([WGET], [wget], [no])
-AC_PATH_PROG([FTP], [ftp], [no])
-AS_IF([test x"$CURL" != xno], [FETCHER="$CURL -L -o - --ftp-pasv --retry 10"],
- [test x"$WGET" != xno], [FETCHER="$WGET -O -"],
- [test x"$FTP" != xno], [FETCHER="$FTP -o - -p"],
- [AC_MSG_ERROR([no file transfer utility found])])
-AC_SUBST(FETCHER)
-
-AC_ARG_ENABLE(linux,
- [AS_HELP_STRING([--enable-linux],
- [set linux as the default make target @<:@--disable-linux@:>@])],
- [],
- [enable_linux=no]
- )
-
-AS_IF([test "x$enable_linux" != xno],
- [AC_SUBST(default_target, linux)],
- [AC_SUBST(default_target, newlib)])
-
-AC_ARG_ENABLE(atomic,
- [AS_HELP_STRING([--disable-atomic],
- [disable use of atomic memory instructions in glibc @<:@--enable-atomic@:>@])],
- [],
- [enable_atomic=yes]
- )
-
-AC_ARG_WITH(arch,
- [AS_HELP_STRING([--with-arch=rv64g],
- [Sets the base RISC-V ISA, defaults to rv64g])],
- AC_SUBST(WITH_ARCH, --with-arch=$withval),
- AC_SUBST(WITH_ARCH, --with-arch=rv64g)
- )
-
-AC_ARG_WITH(abi,
- [AS_HELP_STRING([--with-abi=lp64d],
- [Sets the base RISC-V ABI, defaults to lp64d])],
- [],
- [with_abi=default]
- )
-
-AS_IF([test "x$with_abi" == xdefault],
- [AS_CASE([$with_arch],
- [*rv64g | *rv64*d*], [with_abi=lp64d],
- [*rv64*f*], [with_abi=lp64f],
- [*rv64*], [with_abi=lp64],
- [*rv32g | *rv32*d*], [with_abi=ilp32d],
- [*rv32*f*], [with_abi=ilp32f],
- [*rv32*], [with_abi=ilp32],
- [AC_MSG_ERROR([Unknown arch])]
- )])
-
-AC_SUBST(WITH_ABI, --with-abi=$with_abi)
-
-AC_ARG_ENABLE(multilib,
- [AS_HELP_STRING([--enable-multilib],
- [build both RV32 and RV64 runtime libraries @<:@--disable-multilib@:>@])],
- [],
- [enable_multilib=no]
- )
-
-AS_IF([test "x$enable_multilib" != xno],
- [AC_SUBST(multilib_flags,--enable-multilib)],
- [AC_SUBST(multilib_flags,--disable-multilib)])
-
-AS_IF([test "x$enable_multilib" != xno],
- [AC_SUBST(multilib_names,"rv32ima-ilp32 rv32imafd-ilp32d rv64ima-lp64 rv64imafd-lp64d")],
- [])
-
-AC_ARG_ENABLE(gcc-checking,
- [AS_HELP_STRING([--enable-gcc-checking],
- [Enable gcc internal checking, it will make gcc very slow, only enable it when developing gcc @<:@--disable-gcc-checking@:>@])],
- [],
- [enable_gcc_checking=yes]
- )
-AS_IF([test "x$enable_gcc_checking" != xno],
- [AC_SUBST(gcc_checking, --enable-checking=yes)],
- [AC_SUBST(gcc_checking, --enable-checking=release)])
-
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_FILES([scripts/wrapper/awk/awk], [chmod +x scripts/wrapper/awk])
-AC_CONFIG_FILES([scripts/wrapper/sed/sed], [chmod +x scripts/wrapper/sed])
-
-AC_OUTPUT
diff --git a/linux-headers/include/asm-generic/auxvec.h b/linux-headers/include/asm-generic/auxvec.h
deleted file mode 100644
index b99573b..0000000
--- a/linux-headers/include/asm-generic/auxvec.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __ASM_GENERIC_AUXVEC_H
-#define __ASM_GENERIC_AUXVEC_H
-/*
- * Not all architectures need their own auxvec.h, the most
- * common definitions are already in linux/auxvec.h.
- */
-
-#endif /* __ASM_GENERIC_AUXVEC_H */
diff --git a/linux-headers/include/asm-generic/bitsperlong.h b/linux-headers/include/asm-generic/bitsperlong.h
deleted file mode 100644
index f832c3c..0000000
--- a/linux-headers/include/asm-generic/bitsperlong.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __ASM_GENERIC_BITS_PER_LONG
-#define __ASM_GENERIC_BITS_PER_LONG
-
-/*
- * There seems to be no way of detecting this automatically from user
- * space, so 64 bit architectures should override this in their
- * bitsperlong.h. In particular, an architecture that supports
- * both 32 and 64 bit user space must not rely on CONFIG_64BIT
- * to decide it, but rather check a compiler provided macro.
- */
-#ifndef __BITS_PER_LONG
-#define __BITS_PER_LONG 32
-#endif
-
-#endif /* __ASM_GENERIC_BITS_PER_LONG */
diff --git a/linux-headers/include/asm-generic/errno-base.h b/linux-headers/include/asm-generic/errno-base.h
deleted file mode 100644
index 6511597..0000000
--- a/linux-headers/include/asm-generic/errno-base.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef _ASM_GENERIC_ERRNO_BASE_H
-#define _ASM_GENERIC_ERRNO_BASE_H
-
-#define EPERM 1 /* Operation not permitted */
-#define ENOENT 2 /* No such file or directory */
-#define ESRCH 3 /* No such process */
-#define EINTR 4 /* Interrupted system call */
-#define EIO 5 /* I/O error */
-#define ENXIO 6 /* No such device or address */
-#define E2BIG 7 /* Argument list too long */
-#define ENOEXEC 8 /* Exec format error */
-#define EBADF 9 /* Bad file number */
-#define ECHILD 10 /* No child processes */
-#define EAGAIN 11 /* Try again */
-#define ENOMEM 12 /* Out of memory */
-#define EACCES 13 /* Permission denied */
-#define EFAULT 14 /* Bad address */
-#define ENOTBLK 15 /* Block device required */
-#define EBUSY 16 /* Device or resource busy */
-#define EEXIST 17 /* File exists */
-#define EXDEV 18 /* Cross-device link */
-#define ENODEV 19 /* No such device */
-#define ENOTDIR 20 /* Not a directory */
-#define EISDIR 21 /* Is a directory */
-#define EINVAL 22 /* Invalid argument */
-#define ENFILE 23 /* File table overflow */
-#define EMFILE 24 /* Too many open files */
-#define ENOTTY 25 /* Not a typewriter */
-#define ETXTBSY 26 /* Text file busy */
-#define EFBIG 27 /* File too large */
-#define ENOSPC 28 /* No space left on device */
-#define ESPIPE 29 /* Illegal seek */
-#define EROFS 30 /* Read-only file system */
-#define EMLINK 31 /* Too many links */
-#define EPIPE 32 /* Broken pipe */
-#define EDOM 33 /* Math argument out of domain of func */
-#define ERANGE 34 /* Math result not representable */
-
-#endif
diff --git a/linux-headers/include/asm-generic/errno.h b/linux-headers/include/asm-generic/errno.h
deleted file mode 100644
index 88e0914..0000000
--- a/linux-headers/include/asm-generic/errno.h
+++ /dev/null
@@ -1,122 +0,0 @@
-#ifndef _ASM_GENERIC_ERRNO_H
-#define _ASM_GENERIC_ERRNO_H
-
-#include <asm-generic/errno-base.h>
-
-#define EDEADLK 35 /* Resource deadlock would occur */
-#define ENAMETOOLONG 36 /* File name too long */
-#define ENOLCK 37 /* No record locks available */
-
-/*
- * This error code is special: arch syscall entry code will return
- * -ENOSYS if users try to call a syscall that doesn't exist. To keep
- * failures of syscalls that really do exist distinguishable from
- * failures due to attempts to use a nonexistent syscall, syscall
- * implementations should refrain from returning -ENOSYS.
- */
-#define ENOSYS 38 /* Invalid system call number */
-
-#define ENOTEMPTY 39 /* Directory not empty */
-#define ELOOP 40 /* Too many symbolic links encountered */
-#define EWOULDBLOCK EAGAIN /* Operation would block */
-#define ENOMSG 42 /* No message of desired type */
-#define EIDRM 43 /* Identifier removed */
-#define ECHRNG 44 /* Channel number out of range */
-#define EL2NSYNC 45 /* Level 2 not synchronized */
-#define EL3HLT 46 /* Level 3 halted */
-#define EL3RST 47 /* Level 3 reset */
-#define ELNRNG 48 /* Link number out of range */
-#define EUNATCH 49 /* Protocol driver not attached */
-#define ENOCSI 50 /* No CSI structure available */
-#define EL2HLT 51 /* Level 2 halted */
-#define EBADE 52 /* Invalid exchange */
-#define EBADR 53 /* Invalid request descriptor */
-#define EXFULL 54 /* Exchange full */
-#define ENOANO 55 /* No anode */
-#define EBADRQC 56 /* Invalid request code */
-#define EBADSLT 57 /* Invalid slot */
-
-#define EDEADLOCK EDEADLK
-
-#define EBFONT 59 /* Bad font file format */
-#define ENOSTR 60 /* Device not a stream */
-#define ENODATA 61 /* No data available */
-#define ETIME 62 /* Timer expired */
-#define ENOSR 63 /* Out of streams resources */
-#define ENONET 64 /* Machine is not on the network */
-#define ENOPKG 65 /* Package not installed */
-#define EREMOTE 66 /* Object is remote */
-#define ENOLINK 67 /* Link has been severed */
-#define EADV 68 /* Advertise error */
-#define ESRMNT 69 /* Srmount error */
-#define ECOMM 70 /* Communication error on send */
-#define EPROTO 71 /* Protocol error */
-#define EMULTIHOP 72 /* Multihop attempted */
-#define EDOTDOT 73 /* RFS specific error */
-#define EBADMSG 74 /* Not a data message */
-#define EOVERFLOW 75 /* Value too large for defined data type */
-#define ENOTUNIQ 76 /* Name not unique on network */
-#define EBADFD 77 /* File descriptor in bad state */
-#define EREMCHG 78 /* Remote address changed */
-#define ELIBACC 79 /* Can not access a needed shared library */
-#define ELIBBAD 80 /* Accessing a corrupted shared library */
-#define ELIBSCN 81 /* .lib section in a.out corrupted */
-#define ELIBMAX 82 /* Attempting to link in too many shared libraries */
-#define ELIBEXEC 83 /* Cannot exec a shared library directly */
-#define EILSEQ 84 /* Illegal byte sequence */
-#define ERESTART 85 /* Interrupted system call should be restarted */
-#define ESTRPIPE 86 /* Streams pipe error */
-#define EUSERS 87 /* Too many users */
-#define ENOTSOCK 88 /* Socket operation on non-socket */
-#define EDESTADDRREQ 89 /* Destination address required */
-#define EMSGSIZE 90 /* Message too long */
-#define EPROTOTYPE 91 /* Protocol wrong type for socket */
-#define ENOPROTOOPT 92 /* Protocol not available */
-#define EPROTONOSUPPORT 93 /* Protocol not supported */
-#define ESOCKTNOSUPPORT 94 /* Socket type not supported */
-#define EOPNOTSUPP 95 /* Operation not supported on transport endpoint */
-#define EPFNOSUPPORT 96 /* Protocol family not supported */
-#define EAFNOSUPPORT 97 /* Address family not supported by protocol */
-#define EADDRINUSE 98 /* Address already in use */
-#define EADDRNOTAVAIL 99 /* Cannot assign requested address */
-#define ENETDOWN 100 /* Network is down */
-#define ENETUNREACH 101 /* Network is unreachable */
-#define ENETRESET 102 /* Network dropped connection because of reset */
-#define ECONNABORTED 103 /* Software caused connection abort */
-#define ECONNRESET 104 /* Connection reset by peer */
-#define ENOBUFS 105 /* No buffer space available */
-#define EISCONN 106 /* Transport endpoint is already connected */
-#define ENOTCONN 107 /* Transport endpoint is not connected */
-#define ESHUTDOWN 108 /* Cannot send after transport endpoint shutdown */
-#define ETOOMANYREFS 109 /* Too many references: cannot splice */
-#define ETIMEDOUT 110 /* Connection timed out */
-#define ECONNREFUSED 111 /* Connection refused */
-#define EHOSTDOWN 112 /* Host is down */
-#define EHOSTUNREACH 113 /* No route to host */
-#define EALREADY 114 /* Operation already in progress */
-#define EINPROGRESS 115 /* Operation now in progress */
-#define ESTALE 116 /* Stale file handle */
-#define EUCLEAN 117 /* Structure needs cleaning */
-#define ENOTNAM 118 /* Not a XENIX named type file */
-#define ENAVAIL 119 /* No XENIX semaphores available */
-#define EISNAM 120 /* Is a named type file */
-#define EREMOTEIO 121 /* Remote I/O error */
-#define EDQUOT 122 /* Quota exceeded */
-
-#define ENOMEDIUM 123 /* No medium found */
-#define EMEDIUMTYPE 124 /* Wrong medium type */
-#define ECANCELED 125 /* Operation Canceled */
-#define ENOKEY 126 /* Required key not available */
-#define EKEYEXPIRED 127 /* Key has expired */
-#define EKEYREVOKED 128 /* Key has been revoked */
-#define EKEYREJECTED 129 /* Key was rejected by service */
-
-/* for robust mutexes */
-#define EOWNERDEAD 130 /* Owner died */
-#define ENOTRECOVERABLE 131 /* State not recoverable */
-
-#define ERFKILL 132 /* Operation not possible due to RF-kill */
-
-#define EHWPOISON 133 /* Memory page has hardware error */
-
-#endif
diff --git a/linux-headers/include/asm-generic/fcntl.h b/linux-headers/include/asm-generic/fcntl.h
deleted file mode 100644
index e063eff..0000000
--- a/linux-headers/include/asm-generic/fcntl.h
+++ /dev/null
@@ -1,220 +0,0 @@
-#ifndef _ASM_GENERIC_FCNTL_H
-#define _ASM_GENERIC_FCNTL_H
-
-#include <linux/types.h>
-
-/*
- * FMODE_EXEC is 0x20
- * FMODE_NONOTIFY is 0x4000000
- * These cannot be used by userspace O_* until internal and external open
- * flags are split.
- * -Eric Paris
- */
-
-/*
- * When introducing new O_* bits, please check its uniqueness in fcntl_init().
- */
-
-#define O_ACCMODE 00000003
-#define O_RDONLY 00000000
-#define O_WRONLY 00000001
-#define O_RDWR 00000002
-#ifndef O_CREAT
-#define O_CREAT 00000100 /* not fcntl */
-#endif
-#ifndef O_EXCL
-#define O_EXCL 00000200 /* not fcntl */
-#endif
-#ifndef O_NOCTTY
-#define O_NOCTTY 00000400 /* not fcntl */
-#endif
-#ifndef O_TRUNC
-#define O_TRUNC 00001000 /* not fcntl */
-#endif
-#ifndef O_APPEND
-#define O_APPEND 00002000
-#endif
-#ifndef O_NONBLOCK
-#define O_NONBLOCK 00004000
-#endif
-#ifndef O_DSYNC
-#define O_DSYNC 00010000 /* used to be O_SYNC, see below */
-#endif
-#ifndef FASYNC
-#define FASYNC 00020000 /* fcntl, for BSD compatibility */
-#endif
-#ifndef O_DIRECT
-#define O_DIRECT 00040000 /* direct disk access hint */
-#endif
-#ifndef O_LARGEFILE
-#define O_LARGEFILE 00100000
-#endif
-#ifndef O_DIRECTORY
-#define O_DIRECTORY 00200000 /* must be a directory */
-#endif
-#ifndef O_NOFOLLOW
-#define O_NOFOLLOW 00400000 /* don't follow links */
-#endif
-#ifndef O_NOATIME
-#define O_NOATIME 01000000
-#endif
-#ifndef O_CLOEXEC
-#define O_CLOEXEC 02000000 /* set close_on_exec */
-#endif
-
-/*
- * Before Linux 2.6.33 only O_DSYNC semantics were implemented, but using
- * the O_SYNC flag. We continue to use the existing numerical value
- * for O_DSYNC semantics now, but using the correct symbolic name for it.
- * This new value is used to request true Posix O_SYNC semantics. It is
- * defined in this strange way to make sure applications compiled against
- * new headers get at least O_DSYNC semantics on older kernels.
- *
- * This has the nice side-effect that we can simply test for O_DSYNC
- * wherever we do not care if O_DSYNC or O_SYNC is used.
- *
- * Note: __O_SYNC must never be used directly.
- */
-#ifndef O_SYNC
-#define __O_SYNC 04000000
-#define O_SYNC (__O_SYNC|O_DSYNC)
-#endif
-
-#ifndef O_PATH
-#define O_PATH 010000000
-#endif
-
-#ifndef __O_TMPFILE
-#define __O_TMPFILE 020000000
-#endif
-
-/* a horrid kludge trying to make sure that this will fail on old kernels */
-#define O_TMPFILE (__O_TMPFILE | O_DIRECTORY)
-#define O_TMPFILE_MASK (__O_TMPFILE | O_DIRECTORY | O_CREAT)
-
-#ifndef O_NDELAY
-#define O_NDELAY O_NONBLOCK
-#endif
-
-#define F_DUPFD 0 /* dup */
-#define F_GETFD 1 /* get close_on_exec */
-#define F_SETFD 2 /* set/clear close_on_exec */
-#define F_GETFL 3 /* get file->f_flags */
-#define F_SETFL 4 /* set file->f_flags */
-#ifndef F_GETLK
-#define F_GETLK 5
-#define F_SETLK 6
-#define F_SETLKW 7
-#endif
-#ifndef F_SETOWN
-#define F_SETOWN 8 /* for sockets. */
-#define F_GETOWN 9 /* for sockets. */
-#endif
-#ifndef F_SETSIG
-#define F_SETSIG 10 /* for sockets. */
-#define F_GETSIG 11 /* for sockets. */
-#endif
-
-#ifndef CONFIG_64BIT
-#ifndef F_GETLK64
-#define F_GETLK64 12 /* using 'struct flock64' */
-#define F_SETLK64 13
-#define F_SETLKW64 14
-#endif
-#endif
-
-#ifndef F_SETOWN_EX
-#define F_SETOWN_EX 15
-#define F_GETOWN_EX 16
-#endif
-
-#ifndef F_GETOWNER_UIDS
-#define F_GETOWNER_UIDS 17
-#endif
-
-/*
- * Open File Description Locks
- *
- * Usually record locks held by a process are released on *any* close and are
- * not inherited across a fork().
- *
- * These cmd values will set locks that conflict with process-associated
- * record locks, but are "owned" by the open file description, not the
- * process. This means that they are inherited across fork() like BSD (flock)
- * locks, and they are only released automatically when the last reference to
- * the the open file against which they were acquired is put.
- */
-#define F_OFD_GETLK 36
-#define F_OFD_SETLK 37
-#define F_OFD_SETLKW 38
-
-#define F_OWNER_TID 0
-#define F_OWNER_PID 1
-#define F_OWNER_PGRP 2
-
-struct f_owner_ex {
- int type;
- __kernel_pid_t pid;
-};
-
-/* for F_[GET|SET]FL */
-#define FD_CLOEXEC 1 /* actually anything with low bit set goes */
-
-/* for posix fcntl() and lockf() */
-#ifndef F_RDLCK
-#define F_RDLCK 0
-#define F_WRLCK 1
-#define F_UNLCK 2
-#endif
-
-/* for old implementation of bsd flock () */
-#ifndef F_EXLCK
-#define F_EXLCK 4 /* or 3 */
-#define F_SHLCK 8 /* or 4 */
-#endif
-
-/* operations for bsd flock(), also used by the kernel implementation */
-#define LOCK_SH 1 /* shared lock */
-#define LOCK_EX 2 /* exclusive lock */
-#define LOCK_NB 4 /* or'd with one of the above to prevent
- blocking */
-#define LOCK_UN 8 /* remove lock */
-
-#define LOCK_MAND 32 /* This is a mandatory flock ... */
-#define LOCK_READ 64 /* which allows concurrent read operations */
-#define LOCK_WRITE 128 /* which allows concurrent write operations */
-#define LOCK_RW 192 /* which allows concurrent read & write ops */
-
-#define F_LINUX_SPECIFIC_BASE 1024
-
-#ifndef HAVE_ARCH_STRUCT_FLOCK
-#ifndef __ARCH_FLOCK_PAD
-#define __ARCH_FLOCK_PAD
-#endif
-
-struct flock {
- short l_type;
- short l_whence;
- __kernel_off_t l_start;
- __kernel_off_t l_len;
- __kernel_pid_t l_pid;
- __ARCH_FLOCK_PAD
-};
-#endif
-
-#ifndef HAVE_ARCH_STRUCT_FLOCK64
-#ifndef __ARCH_FLOCK64_PAD
-#define __ARCH_FLOCK64_PAD
-#endif
-
-struct flock64 {
- short l_type;
- short l_whence;
- __kernel_loff_t l_start;
- __kernel_loff_t l_len;
- __kernel_pid_t l_pid;
- __ARCH_FLOCK64_PAD
-};
-#endif
-
-#endif /* _ASM_GENERIC_FCNTL_H */
diff --git a/linux-headers/include/asm-generic/int-l64.h b/linux-headers/include/asm-generic/int-l64.h
deleted file mode 100644
index e271ae2..0000000
--- a/linux-headers/include/asm-generic/int-l64.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * asm-generic/int-l64.h
- *
- * Integer declarations for architectures which use "long"
- * for 64-bit types.
- */
-
-#ifndef _ASM_GENERIC_INT_L64_H
-#define _ASM_GENERIC_INT_L64_H
-
-#include <asm/bitsperlong.h>
-
-#ifndef __ASSEMBLY__
-/*
- * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
- * header files exported to user space
- */
-
-typedef __signed__ char __s8;
-typedef unsigned char __u8;
-
-typedef __signed__ short __s16;
-typedef unsigned short __u16;
-
-typedef __signed__ int __s32;
-typedef unsigned int __u32;
-
-typedef __signed__ long __s64;
-typedef unsigned long __u64;
-
-#endif /* __ASSEMBLY__ */
-
-
-#endif /* _ASM_GENERIC_INT_L64_H */
diff --git a/linux-headers/include/asm-generic/int-ll64.h b/linux-headers/include/asm-generic/int-ll64.h
deleted file mode 100644
index 0ede047..0000000
--- a/linux-headers/include/asm-generic/int-ll64.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * asm-generic/int-ll64.h
- *
- * Integer declarations for architectures which use "long long"
- * for 64-bit types.
- */
-
-#ifndef _ASM_GENERIC_INT_LL64_H
-#define _ASM_GENERIC_INT_LL64_H
-
-#include <asm/bitsperlong.h>
-
-#ifndef __ASSEMBLY__
-/*
- * __xx is ok: it doesn't pollute the POSIX namespace. Use these in the
- * header files exported to user space
- */
-
-typedef __signed__ char __s8;
-typedef unsigned char __u8;
-
-typedef __signed__ short __s16;
-typedef unsigned short __u16;
-
-typedef __signed__ int __s32;
-typedef unsigned int __u32;
-
-#ifdef __GNUC__
-__extension__ typedef __signed__ long long __s64;
-__extension__ typedef unsigned long long __u64;
-#else
-typedef __signed__ long long __s64;
-typedef unsigned long long __u64;
-#endif
-
-#endif /* __ASSEMBLY__ */
-
-
-#endif /* _ASM_GENERIC_INT_LL64_H */
diff --git a/linux-headers/include/asm-generic/ioctl.h b/linux-headers/include/asm-generic/ioctl.h
deleted file mode 100644
index 0da2c7d..0000000
--- a/linux-headers/include/asm-generic/ioctl.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _ASM_GENERIC_IOCTL_H
-#define _ASM_GENERIC_IOCTL_H
-
-/* ioctl command encoding: 32 bits total, command in lower 16 bits,
- * size of the parameter structure in the lower 14 bits of the
- * upper 16 bits.
- * Encoding the size of the parameter structure in the ioctl request
- * is useful for catching programs compiled with old versions
- * and to avoid overwriting user space outside the user buffer area.
- * The highest 2 bits are reserved for indicating the ``access mode''.
- * NOTE: This limits the max parameter size to 16kB -1 !
- */
-
-/*
- * The following is for compatibility across the various Linux
- * platforms. The generic ioctl numbering scheme doesn't really enforce
- * a type field. De facto, however, the top 8 bits of the lower 16
- * bits are indeed used as a type field, so we might just as well make
- * this explicit here. Please be sure to use the decoding macros
- * below from now on.
- */
-#define _IOC_NRBITS 8
-#define _IOC_TYPEBITS 8
-
-/*
- * Let any architecture override either of the following before
- * including this file.
- */
-
-#ifndef _IOC_SIZEBITS
-# define _IOC_SIZEBITS 14
-#endif
-
-#ifndef _IOC_DIRBITS
-# define _IOC_DIRBITS 2
-#endif
-
-#define _IOC_NRMASK ((1 << _IOC_NRBITS)-1)
-#define _IOC_TYPEMASK ((1 << _IOC_TYPEBITS)-1)
-#define _IOC_SIZEMASK ((1 << _IOC_SIZEBITS)-1)
-#define _IOC_DIRMASK ((1 << _IOC_DIRBITS)-1)
-
-#define _IOC_NRSHIFT 0
-#define _IOC_TYPESHIFT (_IOC_NRSHIFT+_IOC_NRBITS)
-#define _IOC_SIZESHIFT (_IOC_TYPESHIFT+_IOC_TYPEBITS)
-#define _IOC_DIRSHIFT (_IOC_SIZESHIFT+_IOC_SIZEBITS)
-
-/*
- * Direction bits, which any architecture can choose to override
- * before including this file.
- */
-
-#ifndef _IOC_NONE
-# define _IOC_NONE 0U
-#endif
-
-#ifndef _IOC_WRITE
-# define _IOC_WRITE 1U
-#endif
-
-#ifndef _IOC_READ
-# define _IOC_READ 2U
-#endif
-
-#define _IOC(dir,type,nr,size) \
- (((dir) << _IOC_DIRSHIFT) | \
- ((type) << _IOC_TYPESHIFT) | \
- ((nr) << _IOC_NRSHIFT) | \
- ((size) << _IOC_SIZESHIFT))
-
-#define _IOC_TYPECHECK(t) (sizeof(t))
-
-/* used to create numbers */
-#define _IO(type,nr) _IOC(_IOC_NONE,(type),(nr),0)
-#define _IOR(type,nr,size) _IOC(_IOC_READ,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOW(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOWR(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),(_IOC_TYPECHECK(size)))
-#define _IOR_BAD(type,nr,size) _IOC(_IOC_READ,(type),(nr),sizeof(size))
-#define _IOW_BAD(type,nr,size) _IOC(_IOC_WRITE,(type),(nr),sizeof(size))
-#define _IOWR_BAD(type,nr,size) _IOC(_IOC_READ|_IOC_WRITE,(type),(nr),sizeof(size))
-
-/* used to decode ioctl numbers.. */
-#define _IOC_DIR(nr) (((nr) >> _IOC_DIRSHIFT) & _IOC_DIRMASK)
-#define _IOC_TYPE(nr) (((nr) >> _IOC_TYPESHIFT) & _IOC_TYPEMASK)
-#define _IOC_NR(nr) (((nr) >> _IOC_NRSHIFT) & _IOC_NRMASK)
-#define _IOC_SIZE(nr) (((nr) >> _IOC_SIZESHIFT) & _IOC_SIZEMASK)
-
-/* ...and for the drivers/sound files... */
-
-#define IOC_IN (_IOC_WRITE << _IOC_DIRSHIFT)
-#define IOC_OUT (_IOC_READ << _IOC_DIRSHIFT)
-#define IOC_INOUT ((_IOC_WRITE|_IOC_READ) << _IOC_DIRSHIFT)
-#define IOCSIZE_MASK (_IOC_SIZEMASK << _IOC_SIZESHIFT)
-#define IOCSIZE_SHIFT (_IOC_SIZESHIFT)
-
-#endif /* _ASM_GENERIC_IOCTL_H */
diff --git a/linux-headers/include/asm-generic/ioctls.h b/linux-headers/include/asm-generic/ioctls.h
deleted file mode 100644
index 467cdba..0000000
--- a/linux-headers/include/asm-generic/ioctls.h
+++ /dev/null
@@ -1,117 +0,0 @@
-#ifndef __ASM_GENERIC_IOCTLS_H
-#define __ASM_GENERIC_IOCTLS_H
-
-#include <linux/ioctl.h>
-
-/*
- * These are the most common definitions for tty ioctl numbers.
- * Most of them do not use the recommended _IOC(), but there is
- * probably some source code out there hardcoding the number,
- * so we might as well use them for all new platforms.
- *
- * The architectures that use different values here typically
- * try to be compatible with some Unix variants for the same
- * architecture.
- */
-
-/* 0x54 is just a magic number to make these relatively unique ('T') */
-
-#define TCGETS 0x5401
-#define TCSETS 0x5402
-#define TCSETSW 0x5403
-#define TCSETSF 0x5404
-#define TCGETA 0x5405
-#define TCSETA 0x5406
-#define TCSETAW 0x5407
-#define TCSETAF 0x5408
-#define TCSBRK 0x5409
-#define TCXONC 0x540A
-#define TCFLSH 0x540B
-#define TIOCEXCL 0x540C
-#define TIOCNXCL 0x540D
-#define TIOCSCTTY 0x540E
-#define TIOCGPGRP 0x540F
-#define TIOCSPGRP 0x5410
-#define TIOCOUTQ 0x5411
-#define TIOCSTI 0x5412
-#define TIOCGWINSZ 0x5413
-#define TIOCSWINSZ 0x5414
-#define TIOCMGET 0x5415
-#define TIOCMBIS 0x5416
-#define TIOCMBIC 0x5417
-#define TIOCMSET 0x5418
-#define TIOCGSOFTCAR 0x5419
-#define TIOCSSOFTCAR 0x541A
-#define FIONREAD 0x541B
-#define TIOCINQ FIONREAD
-#define TIOCLINUX 0x541C
-#define TIOCCONS 0x541D
-#define TIOCGSERIAL 0x541E
-#define TIOCSSERIAL 0x541F
-#define TIOCPKT 0x5420
-#define FIONBIO 0x5421
-#define TIOCNOTTY 0x5422
-#define TIOCSETD 0x5423
-#define TIOCGETD 0x5424
-#define TCSBRKP 0x5425 /* Needed for POSIX tcsendbreak() */
-#define TIOCSBRK 0x5427 /* BSD compatibility */
-#define TIOCCBRK 0x5428 /* BSD compatibility */
-#define TIOCGSID 0x5429 /* Return the session ID of FD */
-#define TCGETS2 _IOR('T', 0x2A, struct termios2)
-#define TCSETS2 _IOW('T', 0x2B, struct termios2)
-#define TCSETSW2 _IOW('T', 0x2C, struct termios2)
-#define TCSETSF2 _IOW('T', 0x2D, struct termios2)
-#define TIOCGRS485 0x542E
-#ifndef TIOCSRS485
-#define TIOCSRS485 0x542F
-#endif
-#define TIOCGPTN _IOR('T', 0x30, unsigned int) /* Get Pty Number (of pty-mux device) */
-#define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */
-#define TIOCGDEV _IOR('T', 0x32, unsigned int) /* Get primary device node of /dev/console */
-#define TCGETX 0x5432 /* SYS5 TCGETX compatibility */
-#define TCSETX 0x5433
-#define TCSETXF 0x5434
-#define TCSETXW 0x5435
-#define TIOCSIG _IOW('T', 0x36, int) /* pty: generate signal */
-#define TIOCVHANGUP 0x5437
-#define TIOCGPKT _IOR('T', 0x38, int) /* Get packet mode state */
-#define TIOCGPTLCK _IOR('T', 0x39, int) /* Get Pty lock state */
-#define TIOCGEXCL _IOR('T', 0x40, int) /* Get exclusive mode state */
-
-#define FIONCLEX 0x5450
-#define FIOCLEX 0x5451
-#define FIOASYNC 0x5452
-#define TIOCSERCONFIG 0x5453
-#define TIOCSERGWILD 0x5454
-#define TIOCSERSWILD 0x5455
-#define TIOCGLCKTRMIOS 0x5456
-#define TIOCSLCKTRMIOS 0x5457
-#define TIOCSERGSTRUCT 0x5458 /* For debugging only */
-#define TIOCSERGETLSR 0x5459 /* Get line status register */
-#define TIOCSERGETMULTI 0x545A /* Get multiport config */
-#define TIOCSERSETMULTI 0x545B /* Set multiport config */
-
-#define TIOCMIWAIT 0x545C /* wait for a change on serial input line(s) */
-#define TIOCGICOUNT 0x545D /* read serial port __inline__ interrupt counts */
-
-/*
- * Some arches already define FIOQSIZE due to a historical
- * conflict with a Hayes modem-specific ioctl value.
- */
-#ifndef FIOQSIZE
-# define FIOQSIZE 0x5460
-#endif
-
-/* Used for packet mode */
-#define TIOCPKT_DATA 0
-#define TIOCPKT_FLUSHREAD 1
-#define TIOCPKT_FLUSHWRITE 2
-#define TIOCPKT_STOP 4
-#define TIOCPKT_START 8
-#define TIOCPKT_NOSTOP 16
-#define TIOCPKT_DOSTOP 32
-#define TIOCPKT_IOCTL 64
-
-#define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
-
-#endif /* __ASM_GENERIC_IOCTLS_H */
diff --git a/linux-headers/include/asm-generic/ipcbuf.h b/linux-headers/include/asm-generic/ipcbuf.h
deleted file mode 100644
index 3dbcc1e..0000000
--- a/linux-headers/include/asm-generic/ipcbuf.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __ASM_GENERIC_IPCBUF_H
-#define __ASM_GENERIC_IPCBUF_H
-
-/*
- * The generic ipc64_perm structure:
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * ipc64_perm was originally meant to be architecture specific, but
- * everyone just ended up making identical copies without specific
- * optimizations, so we may just as well all use the same one.
- *
- * Pad space is left for:
- * - 32-bit mode_t on architectures that only had 16 bit
- * - 32-bit seq
- * - 2 miscellaneous 32-bit values
- */
-
-struct ipc64_perm {
- __kernel_key_t key;
- __kernel_uid32_t uid;
- __kernel_gid32_t gid;
- __kernel_uid32_t cuid;
- __kernel_gid32_t cgid;
- __kernel_mode_t mode;
- /* pad if mode_t is u16: */
- unsigned char __pad1[4 - sizeof(__kernel_mode_t)];
- unsigned short seq;
- unsigned short __pad2;
- __kernel_ulong_t __unused1;
- __kernel_ulong_t __unused2;
-};
-
-#endif /* __ASM_GENERIC_IPCBUF_H */
diff --git a/linux-headers/include/asm-generic/kvm_para.h b/linux-headers/include/asm-generic/kvm_para.h
deleted file mode 100644
index 486f0af..0000000
--- a/linux-headers/include/asm-generic/kvm_para.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * There isn't anything here, but the file must not be empty or patch
- * will delete it.
- */
diff --git a/linux-headers/include/asm-generic/mman-common.h b/linux-headers/include/asm-generic/mman-common.h
deleted file mode 100644
index 5827438..0000000
--- a/linux-headers/include/asm-generic/mman-common.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef __ASM_GENERIC_MMAN_COMMON_H
-#define __ASM_GENERIC_MMAN_COMMON_H
-
-/*
- Author: Michael S. Tsirkin <mst@mellanox.co.il>, Mellanox Technologies Ltd.
- Based on: asm-xxx/mman.h
-*/
-
-#define PROT_READ 0x1 /* page can be read */
-#define PROT_WRITE 0x2 /* page can be written */
-#define PROT_EXEC 0x4 /* page can be executed */
-#define PROT_SEM 0x8 /* page may be used for atomic ops */
-#define PROT_NONE 0x0 /* page can not be accessed */
-#define PROT_GROWSDOWN 0x01000000 /* mprotect flag: extend change to start of growsdown vma */
-#define PROT_GROWSUP 0x02000000 /* mprotect flag: extend change to end of growsup vma */
-
-#define MAP_SHARED 0x01 /* Share changes */
-#define MAP_PRIVATE 0x02 /* Changes are private */
-#define MAP_TYPE 0x0f /* Mask for type of mapping */
-#define MAP_FIXED 0x10 /* Interpret addr exactly */
-#define MAP_ANONYMOUS 0x20 /* don't use a file */
-#ifdef CONFIG_MMAP_ALLOW_UNINITIALIZED
-# define MAP_UNINITIALIZED 0x4000000 /* For anonymous mmap, memory could be uninitialized */
-#else
-# define MAP_UNINITIALIZED 0x0 /* Don't support this flag */
-#endif
-
-/*
- * Flags for mlock
- */
-#define MLOCK_ONFAULT 0x01 /* Lock pages in range after they are faulted in, do not prefault */
-
-#define MS_ASYNC 1 /* sync memory asynchronously */
-#define MS_INVALIDATE 2 /* invalidate the caches */
-#define MS_SYNC 4 /* synchronous memory sync */
-
-#define MADV_NORMAL 0 /* no further special treatment */
-#define MADV_RANDOM 1 /* expect random page references */
-#define MADV_SEQUENTIAL 2 /* expect sequential page references */
-#define MADV_WILLNEED 3 /* will need these pages */
-#define MADV_DONTNEED 4 /* don't need these pages */
-
-/* common parameters: try to keep these consistent across architectures */
-#define MADV_FREE 8 /* free pages only if memory pressure */
-#define MADV_REMOVE 9 /* remove these pages & resources */
-#define MADV_DONTFORK 10 /* don't inherit across fork */
-#define MADV_DOFORK 11 /* do inherit across fork */
-#define MADV_HWPOISON 100 /* poison a page for testing */
-#define MADV_SOFT_OFFLINE 101 /* soft offline page for testing */
-
-#define MADV_MERGEABLE 12 /* KSM may merge identical pages */
-#define MADV_UNMERGEABLE 13 /* KSM may not merge identical pages */
-
-#define MADV_HUGEPAGE 14 /* Worth backing with hugepages */
-#define MADV_NOHUGEPAGE 15 /* Not worth backing with hugepages */
-
-#define MADV_DONTDUMP 16 /* Explicity exclude from the core dump,
- overrides the coredump filter bits */
-#define MADV_DODUMP 17 /* Clear the MADV_DONTDUMP flag */
-
-/* compatibility flags */
-#define MAP_FILE 0
-
-/*
- * When MAP_HUGETLB is set bits [26:31] encode the log2 of the huge page size.
- * This gives us 6 bits, which is enough until someone invents 128 bit address
- * spaces.
- *
- * Assume these are all power of twos.
- * When 0 use the default page size.
- */
-#define MAP_HUGE_SHIFT 26
-#define MAP_HUGE_MASK 0x3f
-
-#endif /* __ASM_GENERIC_MMAN_COMMON_H */
diff --git a/linux-headers/include/asm-generic/mman.h b/linux-headers/include/asm-generic/mman.h
deleted file mode 100644
index 7162cd4..0000000
--- a/linux-headers/include/asm-generic/mman.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef __ASM_GENERIC_MMAN_H
-#define __ASM_GENERIC_MMAN_H
-
-#include <asm-generic/mman-common.h>
-
-#define MAP_GROWSDOWN 0x0100 /* stack-like segment */
-#define MAP_DENYWRITE 0x0800 /* ETXTBSY */
-#define MAP_EXECUTABLE 0x1000 /* mark it as an executable */
-#define MAP_LOCKED 0x2000 /* pages are locked */
-#define MAP_NORESERVE 0x4000 /* don't check for reservations */
-#define MAP_POPULATE 0x8000 /* populate (prefault) pagetables */
-#define MAP_NONBLOCK 0x10000 /* do not block on IO */
-#define MAP_STACK 0x20000 /* give out an address that is best suited for process/thread stacks */
-#define MAP_HUGETLB 0x40000 /* create a huge page mapping */
-
-/* Bits [26:31] are reserved, see mman-common.h for MAP_HUGETLB usage */
-
-#define MCL_CURRENT 1 /* lock all current mappings */
-#define MCL_FUTURE 2 /* lock all future mappings */
-#define MCL_ONFAULT 4 /* lock all pages that are faulted in */
-
-#endif /* __ASM_GENERIC_MMAN_H */
diff --git a/linux-headers/include/asm-generic/msgbuf.h b/linux-headers/include/asm-generic/msgbuf.h
deleted file mode 100644
index f55ecc4..0000000
--- a/linux-headers/include/asm-generic/msgbuf.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef __ASM_GENERIC_MSGBUF_H
-#define __ASM_GENERIC_MSGBUF_H
-
-#include <asm/bitsperlong.h>
-/*
- * generic msqid64_ds structure.
- *
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * msqid64_ds was originally meant to be architecture specific, but
- * everyone just ended up making identical copies without specific
- * optimizations, so we may just as well all use the same one.
- *
- * 64 bit architectures typically define a 64 bit __kernel_time_t,
- * so they do not need the first three padding words.
- * On big-endian systems, the padding is in the wrong place.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-
-struct msqid64_ds {
- struct ipc64_perm msg_perm;
- __kernel_time_t msg_stime; /* last msgsnd time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused1;
-#endif
- __kernel_time_t msg_rtime; /* last msgrcv time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused2;
-#endif
- __kernel_time_t msg_ctime; /* last change time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused3;
-#endif
- __kernel_ulong_t msg_cbytes; /* current number of bytes on queue */
- __kernel_ulong_t msg_qnum; /* number of messages in queue */
- __kernel_ulong_t msg_qbytes; /* max number of bytes on queue */
- __kernel_pid_t msg_lspid; /* pid of last msgsnd */
- __kernel_pid_t msg_lrpid; /* last receive pid */
- __kernel_ulong_t __unused4;
- __kernel_ulong_t __unused5;
-};
-
-#endif /* __ASM_GENERIC_MSGBUF_H */
diff --git a/linux-headers/include/asm-generic/param.h b/linux-headers/include/asm-generic/param.h
deleted file mode 100644
index bd69ff3..0000000
--- a/linux-headers/include/asm-generic/param.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __ASM_GENERIC_PARAM_H
-#define __ASM_GENERIC_PARAM_H
-
-#ifndef HZ
-#define HZ 100
-#endif
-
-#ifndef EXEC_PAGESIZE
-#define EXEC_PAGESIZE 4096
-#endif
-
-#ifndef NOGROUP
-#define NOGROUP (-1)
-#endif
-
-#define MAXHOSTNAMELEN 64 /* max length of hostname */
-
-
-#endif /* __ASM_GENERIC_PARAM_H */
diff --git a/linux-headers/include/asm-generic/poll.h b/linux-headers/include/asm-generic/poll.h
deleted file mode 100644
index a969498..0000000
--- a/linux-headers/include/asm-generic/poll.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef __ASM_GENERIC_POLL_H
-#define __ASM_GENERIC_POLL_H
-
-/* These are specified by iBCS2 */
-#define POLLIN 0x0001
-#define POLLPRI 0x0002
-#define POLLOUT 0x0004
-#define POLLERR 0x0008
-#define POLLHUP 0x0010
-#define POLLNVAL 0x0020
-
-/* The rest seem to be more-or-less nonstandard. Check them! */
-#define POLLRDNORM 0x0040
-#define POLLRDBAND 0x0080
-#ifndef POLLWRNORM
-#define POLLWRNORM 0x0100
-#endif
-#ifndef POLLWRBAND
-#define POLLWRBAND 0x0200
-#endif
-#ifndef POLLMSG
-#define POLLMSG 0x0400
-#endif
-#ifndef POLLREMOVE
-#define POLLREMOVE 0x1000
-#endif
-#ifndef POLLRDHUP
-#define POLLRDHUP 0x2000
-#endif
-
-#define POLLFREE 0x4000 /* currently only for epoll */
-
-#define POLL_BUSY_LOOP 0x8000
-
-struct pollfd {
- int fd;
- short events;
- short revents;
-};
-
-#endif /* __ASM_GENERIC_POLL_H */
diff --git a/linux-headers/include/asm-generic/posix_types.h b/linux-headers/include/asm-generic/posix_types.h
deleted file mode 100644
index fe74fcc..0000000
--- a/linux-headers/include/asm-generic/posix_types.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef __ASM_GENERIC_POSIX_TYPES_H
-#define __ASM_GENERIC_POSIX_TYPES_H
-
-#include <asm/bitsperlong.h>
-/*
- * This file is generally used by user-level software, so you need to
- * be a little careful about namespace pollution etc.
- *
- * First the types that are often defined in different ways across
- * architectures, so that you can override them.
- */
-
-#ifndef __kernel_long_t
-typedef long __kernel_long_t;
-typedef unsigned long __kernel_ulong_t;
-#endif
-
-#ifndef __kernel_ino_t
-typedef __kernel_ulong_t __kernel_ino_t;
-#endif
-
-#ifndef __kernel_mode_t
-typedef unsigned int __kernel_mode_t;
-#endif
-
-#ifndef __kernel_pid_t
-typedef int __kernel_pid_t;
-#endif
-
-#ifndef __kernel_ipc_pid_t
-typedef int __kernel_ipc_pid_t;
-#endif
-
-#ifndef __kernel_uid_t
-typedef unsigned int __kernel_uid_t;
-typedef unsigned int __kernel_gid_t;
-#endif
-
-#ifndef __kernel_suseconds_t
-typedef __kernel_long_t __kernel_suseconds_t;
-#endif
-
-#ifndef __kernel_daddr_t
-typedef int __kernel_daddr_t;
-#endif
-
-#ifndef __kernel_uid32_t
-typedef unsigned int __kernel_uid32_t;
-typedef unsigned int __kernel_gid32_t;
-#endif
-
-#ifndef __kernel_old_uid_t
-typedef __kernel_uid_t __kernel_old_uid_t;
-typedef __kernel_gid_t __kernel_old_gid_t;
-#endif
-
-#ifndef __kernel_old_dev_t
-typedef unsigned int __kernel_old_dev_t;
-#endif
-
-/*
- * Most 32 bit architectures use "unsigned int" size_t,
- * and all 64 bit architectures use "unsigned long" size_t.
- */
-#ifndef __kernel_size_t
-#if __BITS_PER_LONG != 64
-typedef unsigned int __kernel_size_t;
-typedef int __kernel_ssize_t;
-typedef int __kernel_ptrdiff_t;
-#else
-typedef __kernel_ulong_t __kernel_size_t;
-typedef __kernel_long_t __kernel_ssize_t;
-typedef __kernel_long_t __kernel_ptrdiff_t;
-#endif
-#endif
-
-#ifndef __kernel_fsid_t
-typedef struct {
- int val[2];
-} __kernel_fsid_t;
-#endif
-
-/*
- * anything below here should be completely generic
- */
-typedef __kernel_long_t __kernel_off_t;
-typedef long long __kernel_loff_t;
-typedef __kernel_long_t __kernel_time_t;
-typedef __kernel_long_t __kernel_clock_t;
-typedef int __kernel_timer_t;
-typedef int __kernel_clockid_t;
-typedef char * __kernel_caddr_t;
-typedef unsigned short __kernel_uid16_t;
-typedef unsigned short __kernel_gid16_t;
-
-#endif /* __ASM_GENERIC_POSIX_TYPES_H */
diff --git a/linux-headers/include/asm-generic/resource.h b/linux-headers/include/asm-generic/resource.h
deleted file mode 100644
index 498fd28..0000000
--- a/linux-headers/include/asm-generic/resource.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _ASM_GENERIC_RESOURCE_H
-#define _ASM_GENERIC_RESOURCE_H
-
-/*
- * Resource limit IDs
- *
- * ( Compatibility detail: there are architectures that have
- * a different rlimit ID order in the 5-9 range and want
- * to keep that order for binary compatibility. The reasons
- * are historic and all new rlimits are identical across all
- * arches. If an arch has such special order for some rlimits
- * then it defines them prior including asm-generic/resource.h. )
- */
-
-#define RLIMIT_CPU 0 /* CPU time in sec */
-#define RLIMIT_FSIZE 1 /* Maximum filesize */
-#define RLIMIT_DATA 2 /* max data size */
-#define RLIMIT_STACK 3 /* max stack size */
-#define RLIMIT_CORE 4 /* max core file size */
-
-#ifndef RLIMIT_RSS
-# define RLIMIT_RSS 5 /* max resident set size */
-#endif
-
-#ifndef RLIMIT_NPROC
-# define RLIMIT_NPROC 6 /* max number of processes */
-#endif
-
-#ifndef RLIMIT_NOFILE
-# define RLIMIT_NOFILE 7 /* max number of open files */
-#endif
-
-#ifndef RLIMIT_MEMLOCK
-# define RLIMIT_MEMLOCK 8 /* max locked-in-memory address space */
-#endif
-
-#ifndef RLIMIT_AS
-# define RLIMIT_AS 9 /* address space limit */
-#endif
-
-#define RLIMIT_LOCKS 10 /* maximum file locks held */
-#define RLIMIT_SIGPENDING 11 /* max number of pending signals */
-#define RLIMIT_MSGQUEUE 12 /* maximum bytes in POSIX mqueues */
-#define RLIMIT_NICE 13 /* max nice prio allowed to raise to
- 0-39 for nice level 19 .. -20 */
-#define RLIMIT_RTPRIO 14 /* maximum realtime priority */
-#define RLIMIT_RTTIME 15 /* timeout for RT tasks in us */
-#define RLIM_NLIMITS 16
-
-/*
- * SuS says limits have to be unsigned.
- * Which makes a ton more sense anyway.
- *
- * Some architectures override this (for compatibility reasons):
- */
-#ifndef RLIM_INFINITY
-# define RLIM_INFINITY (~0UL)
-#endif
-
-
-#endif /* _ASM_GENERIC_RESOURCE_H */
diff --git a/linux-headers/include/asm-generic/sembuf.h b/linux-headers/include/asm-generic/sembuf.h
deleted file mode 100644
index 4cb2c13..0000000
--- a/linux-headers/include/asm-generic/sembuf.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef __ASM_GENERIC_SEMBUF_H
-#define __ASM_GENERIC_SEMBUF_H
-
-#include <asm/bitsperlong.h>
-
-/*
- * The semid64_ds structure for x86 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * semid64_ds was originally meant to be architecture specific, but
- * everyone just ended up making identical copies without specific
- * optimizations, so we may just as well all use the same one.
- *
- * 64 bit architectures typically define a 64 bit __kernel_time_t,
- * so they do not need the first two padding words.
- * On big-endian systems, the padding is in the wrong place.
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-struct semid64_ds {
- struct ipc64_perm sem_perm; /* permissions .. see ipc.h */
- __kernel_time_t sem_otime; /* last semop time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused1;
-#endif
- __kernel_time_t sem_ctime; /* last change time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused2;
-#endif
- unsigned long sem_nsems; /* no. of semaphores in array */
- unsigned long __unused3;
- unsigned long __unused4;
-};
-
-#endif /* __ASM_GENERIC_SEMBUF_H */
diff --git a/linux-headers/include/asm-generic/setup.h b/linux-headers/include/asm-generic/setup.h
deleted file mode 100644
index 6fc26a5..0000000
--- a/linux-headers/include/asm-generic/setup.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __ASM_GENERIC_SETUP_H
-#define __ASM_GENERIC_SETUP_H
-
-#define COMMAND_LINE_SIZE 512
-
-#endif /* __ASM_GENERIC_SETUP_H */
diff --git a/linux-headers/include/asm-generic/shmbuf.h b/linux-headers/include/asm-generic/shmbuf.h
deleted file mode 100644
index 7e9fb2f..0000000
--- a/linux-headers/include/asm-generic/shmbuf.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __ASM_GENERIC_SHMBUF_H
-#define __ASM_GENERIC_SHMBUF_H
-
-#include <asm/bitsperlong.h>
-
-/*
- * The shmid64_ds structure for x86 architecture.
- * Note extra padding because this structure is passed back and forth
- * between kernel and user space.
- *
- * shmid64_ds was originally meant to be architecture specific, but
- * everyone just ended up making identical copies without specific
- * optimizations, so we may just as well all use the same one.
- *
- * 64 bit architectures typically define a 64 bit __kernel_time_t,
- * so they do not need the first two padding words.
- * On big-endian systems, the padding is in the wrong place.
- *
- *
- * Pad space is left for:
- * - 64-bit time_t to solve y2038 problem
- * - 2 miscellaneous 32-bit values
- */
-
-struct shmid64_ds {
- struct ipc64_perm shm_perm; /* operation perms */
- size_t shm_segsz; /* size of segment (bytes) */
- __kernel_time_t shm_atime; /* last attach time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused1;
-#endif
- __kernel_time_t shm_dtime; /* last detach time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused2;
-#endif
- __kernel_time_t shm_ctime; /* last change time */
-#if __BITS_PER_LONG != 64
- unsigned long __unused3;
-#endif
- __kernel_pid_t shm_cpid; /* pid of creator */
- __kernel_pid_t shm_lpid; /* pid of last operator */
- __kernel_ulong_t shm_nattch; /* no. of current attaches */
- __kernel_ulong_t __unused4;
- __kernel_ulong_t __unused5;
-};
-
-struct shminfo64 {
- __kernel_ulong_t shmmax;
- __kernel_ulong_t shmmin;
- __kernel_ulong_t shmmni;
- __kernel_ulong_t shmseg;
- __kernel_ulong_t shmall;
- __kernel_ulong_t __unused1;
- __kernel_ulong_t __unused2;
- __kernel_ulong_t __unused3;
- __kernel_ulong_t __unused4;
-};
-
-#endif /* __ASM_GENERIC_SHMBUF_H */
diff --git a/linux-headers/include/asm-generic/shmparam.h b/linux-headers/include/asm-generic/shmparam.h
deleted file mode 100644
index 51a3852..0000000
--- a/linux-headers/include/asm-generic/shmparam.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef __ASM_GENERIC_SHMPARAM_H
-#define __ASM_GENERIC_SHMPARAM_H
-
-#define SHMLBA PAGE_SIZE /* attach addr a multiple of this */
-
-#endif /* _ASM_GENERIC_SHMPARAM_H */
diff --git a/linux-headers/include/asm-generic/siginfo.h b/linux-headers/include/asm-generic/siginfo.h
deleted file mode 100644
index 75b17cc..0000000
--- a/linux-headers/include/asm-generic/siginfo.h
+++ /dev/null
@@ -1,310 +0,0 @@
-#ifndef _ASM_GENERIC_SIGINFO_H
-#define _ASM_GENERIC_SIGINFO_H
-
-
-#include <linux/types.h>
-
-typedef union sigval {
- int sival_int;
- void *sival_ptr;
-} sigval_t;
-
-/*
- * This is the size (including padding) of the part of the
- * struct siginfo that is before the union.
- */
-#ifndef __ARCH_SI_PREAMBLE_SIZE
-#define __ARCH_SI_PREAMBLE_SIZE (3 * sizeof(int))
-#endif
-
-#define SI_MAX_SIZE 128
-#ifndef SI_PAD_SIZE
-#define SI_PAD_SIZE ((SI_MAX_SIZE - __ARCH_SI_PREAMBLE_SIZE) / sizeof(int))
-#endif
-
-#ifndef __ARCH_SI_UID_T
-#define __ARCH_SI_UID_T __kernel_uid32_t
-#endif
-
-/*
- * The default "si_band" type is "long", as specified by POSIX.
- * However, some architectures want to override this to "int"
- * for historical compatibility reasons, so we allow that.
- */
-#ifndef __ARCH_SI_BAND_T
-#define __ARCH_SI_BAND_T long
-#endif
-
-#ifndef __ARCH_SI_CLOCK_T
-#define __ARCH_SI_CLOCK_T __kernel_clock_t
-#endif
-
-#ifndef __ARCH_SI_ATTRIBUTES
-#define __ARCH_SI_ATTRIBUTES
-#endif
-
-#ifndef HAVE_ARCH_SIGINFO_T
-
-typedef struct siginfo {
- int si_signo;
- int si_errno;
- int si_code;
-
- union {
- int _pad[SI_PAD_SIZE];
-
- /* kill() */
- struct {
- __kernel_pid_t _pid; /* sender's pid */
- __ARCH_SI_UID_T _uid; /* sender's uid */
- } _kill;
-
- /* POSIX.1b timers */
- struct {
- __kernel_timer_t _tid; /* timer id */
- int _overrun; /* overrun count */
- char _pad[sizeof( __ARCH_SI_UID_T) - sizeof(int)];
- sigval_t _sigval; /* same as below */
- int _sys_private; /* not to be passed to user */
- } _timer;
-
- /* POSIX.1b signals */
- struct {
- __kernel_pid_t _pid; /* sender's pid */
- __ARCH_SI_UID_T _uid; /* sender's uid */
- sigval_t _sigval;
- } _rt;
-
- /* SIGCHLD */
- struct {
- __kernel_pid_t _pid; /* which child */
- __ARCH_SI_UID_T _uid; /* sender's uid */
- int _status; /* exit code */
- __ARCH_SI_CLOCK_T _utime;
- __ARCH_SI_CLOCK_T _stime;
- } _sigchld;
-
- /* SIGILL, SIGFPE, SIGSEGV, SIGBUS */
- struct {
- void *_addr; /* faulting insn/memory ref. */
-#ifdef __ARCH_SI_TRAPNO
- int _trapno; /* TRAP # which caused the signal */
-#endif
- short _addr_lsb; /* LSB of the reported address */
- union {
- /* used when si_code=SEGV_BNDERR */
- struct {
- void *_lower;
- void *_upper;
- } _addr_bnd;
- /* used when si_code=SEGV_PKUERR */
- __u32 _pkey;
- };
- } _sigfault;
-
- /* SIGPOLL */
- struct {
- __ARCH_SI_BAND_T _band; /* POLL_IN, POLL_OUT, POLL_MSG */
- int _fd;
- } _sigpoll;
-
- /* SIGSYS */
- struct {
- void *_call_addr; /* calling user insn */
- int _syscall; /* triggering system call number */
- unsigned int _arch; /* AUDIT_ARCH_* of syscall */
- } _sigsys;
- } _sifields;
-} __ARCH_SI_ATTRIBUTES siginfo_t;
-
-/* If the arch shares siginfo, then it has SIGSYS. */
-#define __ARCH_SIGSYS
-#endif
-
-/*
- * How these fields are to be accessed.
- */
-#define si_pid _sifields._kill._pid
-#define si_uid _sifields._kill._uid
-#define si_tid _sifields._timer._tid
-#define si_overrun _sifields._timer._overrun
-#define si_sys_private _sifields._timer._sys_private
-#define si_status _sifields._sigchld._status
-#define si_utime _sifields._sigchld._utime
-#define si_stime _sifields._sigchld._stime
-#define si_value _sifields._rt._sigval
-#define si_int _sifields._rt._sigval.sival_int
-#define si_ptr _sifields._rt._sigval.sival_ptr
-#define si_addr _sifields._sigfault._addr
-#ifdef __ARCH_SI_TRAPNO
-#define si_trapno _sifields._sigfault._trapno
-#endif
-#define si_addr_lsb _sifields._sigfault._addr_lsb
-#define si_lower _sifields._sigfault._addr_bnd._lower
-#define si_upper _sifields._sigfault._addr_bnd._upper
-#define si_pkey _sifields._sigfault._pkey
-#define si_band _sifields._sigpoll._band
-#define si_fd _sifields._sigpoll._fd
-#ifdef __ARCH_SIGSYS
-#define si_call_addr _sifields._sigsys._call_addr
-#define si_syscall _sifields._sigsys._syscall
-#define si_arch _sifields._sigsys._arch
-#endif
-
-#define __SI_KILL 0
-#define __SI_TIMER 0
-#define __SI_POLL 0
-#define __SI_FAULT 0
-#define __SI_CHLD 0
-#define __SI_RT 0
-#define __SI_MESGQ 0
-#define __SI_SYS 0
-#define __SI_CODE(T,N) (N)
-
-/*
- * si_code values
- * Digital reserves positive values for kernel-generated signals.
- */
-#define SI_USER 0 /* sent by kill, sigsend, raise */
-#define SI_KERNEL 0x80 /* sent by the kernel from somewhere */
-#define SI_QUEUE -1 /* sent by sigqueue */
-#define SI_TIMER __SI_CODE(__SI_TIMER,-2) /* sent by timer expiration */
-#define SI_MESGQ __SI_CODE(__SI_MESGQ,-3) /* sent by real time mesq state change */
-#define SI_ASYNCIO -4 /* sent by AIO completion */
-#define SI_SIGIO -5 /* sent by queued SIGIO */
-#define SI_TKILL -6 /* sent by tkill system call */
-#define SI_DETHREAD -7 /* sent by execve() killing subsidiary threads */
-
-#define SI_FROMUSER(siptr) ((siptr)->si_code <= 0)
-#define SI_FROMKERNEL(siptr) ((siptr)->si_code > 0)
-
-/*
- * SIGILL si_codes
- */
-#define ILL_ILLOPC (__SI_FAULT|1) /* illegal opcode */
-#define ILL_ILLOPN (__SI_FAULT|2) /* illegal operand */
-#define ILL_ILLADR (__SI_FAULT|3) /* illegal addressing mode */
-#define ILL_ILLTRP (__SI_FAULT|4) /* illegal trap */
-#define ILL_PRVOPC (__SI_FAULT|5) /* privileged opcode */
-#define ILL_PRVREG (__SI_FAULT|6) /* privileged register */
-#define ILL_COPROC (__SI_FAULT|7) /* coprocessor error */
-#define ILL_BADSTK (__SI_FAULT|8) /* internal stack error */
-#define NSIGILL 8
-
-/*
- * SIGFPE si_codes
- */
-#define FPE_INTDIV (__SI_FAULT|1) /* integer divide by zero */
-#define FPE_INTOVF (__SI_FAULT|2) /* integer overflow */
-#define FPE_FLTDIV (__SI_FAULT|3) /* floating point divide by zero */
-#define FPE_FLTOVF (__SI_FAULT|4) /* floating point overflow */
-#define FPE_FLTUND (__SI_FAULT|5) /* floating point underflow */
-#define FPE_FLTRES (__SI_FAULT|6) /* floating point inexact result */
-#define FPE_FLTINV (__SI_FAULT|7) /* floating point invalid operation */
-#define FPE_FLTSUB (__SI_FAULT|8) /* subscript out of range */
-#define NSIGFPE 8
-
-/*
- * SIGSEGV si_codes
- */
-#define SEGV_MAPERR (__SI_FAULT|1) /* address not mapped to object */
-#define SEGV_ACCERR (__SI_FAULT|2) /* invalid permissions for mapped object */
-#define SEGV_BNDERR (__SI_FAULT|3) /* failed address bound checks */
-#define SEGV_PKUERR (__SI_FAULT|4) /* failed protection key checks */
-#define NSIGSEGV 4
-
-/*
- * SIGBUS si_codes
- */
-#define BUS_ADRALN (__SI_FAULT|1) /* invalid address alignment */
-#define BUS_ADRERR (__SI_FAULT|2) /* non-existent physical address */
-#define BUS_OBJERR (__SI_FAULT|3) /* object specific hardware error */
-/* hardware memory error consumed on a machine check: action required */
-#define BUS_MCEERR_AR (__SI_FAULT|4)
-/* hardware memory error detected in process but not consumed: action optional*/
-#define BUS_MCEERR_AO (__SI_FAULT|5)
-#define NSIGBUS 5
-
-/*
- * SIGTRAP si_codes
- */
-#define TRAP_BRKPT (__SI_FAULT|1) /* process breakpoint */
-#define TRAP_TRACE (__SI_FAULT|2) /* process trace trap */
-#define TRAP_BRANCH (__SI_FAULT|3) /* process taken branch trap */
-#define TRAP_HWBKPT (__SI_FAULT|4) /* hardware breakpoint/watchpoint */
-#define NSIGTRAP 4
-
-/*
- * SIGCHLD si_codes
- */
-#define CLD_EXITED (__SI_CHLD|1) /* child has exited */
-#define CLD_KILLED (__SI_CHLD|2) /* child was killed */
-#define CLD_DUMPED (__SI_CHLD|3) /* child terminated abnormally */
-#define CLD_TRAPPED (__SI_CHLD|4) /* traced child has trapped */
-#define CLD_STOPPED (__SI_CHLD|5) /* child has stopped */
-#define CLD_CONTINUED (__SI_CHLD|6) /* stopped child has continued */
-#define NSIGCHLD 6
-
-/*
- * SIGPOLL si_codes
- */
-#define POLL_IN (__SI_POLL|1) /* data input available */
-#define POLL_OUT (__SI_POLL|2) /* output buffers available */
-#define POLL_MSG (__SI_POLL|3) /* input message available */
-#define POLL_ERR (__SI_POLL|4) /* i/o error */
-#define POLL_PRI (__SI_POLL|5) /* high priority input available */
-#define POLL_HUP (__SI_POLL|6) /* device disconnected */
-#define NSIGPOLL 6
-
-/*
- * SIGSYS si_codes
- */
-#define SYS_SECCOMP (__SI_SYS|1) /* seccomp triggered */
-#define NSIGSYS 1
-
-/*
- * sigevent definitions
- *
- * It seems likely that SIGEV_THREAD will have to be handled from
- * userspace, libpthread transmuting it to SIGEV_SIGNAL, which the
- * thread manager then catches and does the appropriate nonsense.
- * However, everything is written out here so as to not get lost.
- */
-#define SIGEV_SIGNAL 0 /* notify via signal */
-#define SIGEV_NONE 1 /* other notification: meaningless */
-#define SIGEV_THREAD 2 /* deliver via thread creation */
-#define SIGEV_THREAD_ID 4 /* deliver to thread */
-
-/*
- * This works because the alignment is ok on all current architectures
- * but we leave open this being overridden in the future
- */
-#ifndef __ARCH_SIGEV_PREAMBLE_SIZE
-#define __ARCH_SIGEV_PREAMBLE_SIZE (sizeof(int) * 2 + sizeof(sigval_t))
-#endif
-
-#define SIGEV_MAX_SIZE 64
-#define SIGEV_PAD_SIZE ((SIGEV_MAX_SIZE - __ARCH_SIGEV_PREAMBLE_SIZE) \
- / sizeof(int))
-
-typedef struct sigevent {
- sigval_t sigev_value;
- int sigev_signo;
- int sigev_notify;
- union {
- int _pad[SIGEV_PAD_SIZE];
- int _tid;
-
- struct {
- void (*_function)(sigval_t);
- void *_attribute; /* really pthread_attr_t */
- } _sigev_thread;
- } _sigev_un;
-} sigevent_t;
-
-#define sigev_notify_function _sigev_un._sigev_thread._function
-#define sigev_notify_attributes _sigev_un._sigev_thread._attribute
-#define sigev_notify_thread_id _sigev_un._tid
-
-
-#endif /* _ASM_GENERIC_SIGINFO_H */
diff --git a/linux-headers/include/asm-generic/signal-defs.h b/linux-headers/include/asm-generic/signal-defs.h
deleted file mode 100644
index 04cfb6d..0000000
--- a/linux-headers/include/asm-generic/signal-defs.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __ASM_GENERIC_SIGNAL_DEFS_H
-#define __ASM_GENERIC_SIGNAL_DEFS_H
-
-
-
-#ifndef SIG_BLOCK
-#define SIG_BLOCK 0 /* for blocking signals */
-#endif
-#ifndef SIG_UNBLOCK
-#define SIG_UNBLOCK 1 /* for unblocking signals */
-#endif
-#ifndef SIG_SETMASK
-#define SIG_SETMASK 2 /* for setting the signal mask */
-#endif
-
-#ifndef __ASSEMBLY__
-typedef void __signalfn_t(int);
-typedef __signalfn_t *__sighandler_t;
-
-typedef void __restorefn_t(void);
-typedef __restorefn_t *__sigrestore_t;
-
-#define SIG_DFL ((__sighandler_t)0) /* default signal handling */
-#define SIG_IGN ((__sighandler_t)1) /* ignore signal */
-#define SIG_ERR ((__sighandler_t)-1) /* error return from signal */
-#endif
-
-#endif /* __ASM_GENERIC_SIGNAL_DEFS_H */
diff --git a/linux-headers/include/asm-generic/signal.h b/linux-headers/include/asm-generic/signal.h
deleted file mode 100644
index 08c462c..0000000
--- a/linux-headers/include/asm-generic/signal.h
+++ /dev/null
@@ -1,119 +0,0 @@
-#ifndef __ASM_GENERIC_SIGNAL_H
-#define __ASM_GENERIC_SIGNAL_H
-
-#include <linux/types.h>
-
-#define _NSIG 64
-#define _NSIG_BPW __BITS_PER_LONG
-#define _NSIG_WORDS (_NSIG / _NSIG_BPW)
-
-#define SIGHUP 1
-#define SIGINT 2
-#define SIGQUIT 3
-#define SIGILL 4
-#define SIGTRAP 5
-#define SIGABRT 6
-#define SIGIOT 6
-#define SIGBUS 7
-#define SIGFPE 8
-#define SIGKILL 9
-#define SIGUSR1 10
-#define SIGSEGV 11
-#define SIGUSR2 12
-#define SIGPIPE 13
-#define SIGALRM 14
-#define SIGTERM 15
-#define SIGSTKFLT 16
-#define SIGCHLD 17
-#define SIGCONT 18
-#define SIGSTOP 19
-#define SIGTSTP 20
-#define SIGTTIN 21
-#define SIGTTOU 22
-#define SIGURG 23
-#define SIGXCPU 24
-#define SIGXFSZ 25
-#define SIGVTALRM 26
-#define SIGPROF 27
-#define SIGWINCH 28
-#define SIGIO 29
-#define SIGPOLL SIGIO
-/*
-#define SIGLOST 29
-*/
-#define SIGPWR 30
-#define SIGSYS 31
-#define SIGUNUSED 31
-
-/* These should not be considered constants from userland. */
-#define SIGRTMIN 32
-#ifndef SIGRTMAX
-#define SIGRTMAX _NSIG
-#endif
-
-/*
- * SA_FLAGS values:
- *
- * SA_ONSTACK indicates that a registered stack_t will be used.
- * SA_RESTART flag to get restarting signals (which were the default long ago)
- * SA_NOCLDSTOP flag to turn off SIGCHLD when children stop.
- * SA_RESETHAND clears the handler when the signal is delivered.
- * SA_NOCLDWAIT flag on SIGCHLD to inhibit zombies.
- * SA_NODEFER prevents the current signal from being masked in the handler.
- *
- * SA_ONESHOT and SA_NOMASK are the historical Linux names for the Single
- * Unix names RESETHAND and NODEFER respectively.
- */
-#define SA_NOCLDSTOP 0x00000001
-#define SA_NOCLDWAIT 0x00000002
-#define SA_SIGINFO 0x00000004
-#define SA_ONSTACK 0x08000000
-#define SA_RESTART 0x10000000
-#define SA_NODEFER 0x40000000
-#define SA_RESETHAND 0x80000000
-
-#define SA_NOMASK SA_NODEFER
-#define SA_ONESHOT SA_RESETHAND
-
-/*
- * New architectures should not define the obsolete
- * SA_RESTORER 0x04000000
- */
-
-#if !defined MINSIGSTKSZ || !defined SIGSTKSZ
-#define MINSIGSTKSZ 2048
-#define SIGSTKSZ 8192
-#endif
-
-#ifndef __ASSEMBLY__
-typedef struct {
- unsigned long sig[_NSIG_WORDS];
-} sigset_t;
-
-/* not actually used, but required for linux/syscalls.h */
-typedef unsigned long old_sigset_t;
-
-#include <asm-generic/signal-defs.h>
-
-#ifdef SA_RESTORER
-#define __ARCH_HAS_SA_RESTORER
-#endif
-
-struct sigaction {
- __sighandler_t sa_handler;
- unsigned long sa_flags;
-#ifdef SA_RESTORER
- __sigrestore_t sa_restorer;
-#endif
- sigset_t sa_mask; /* mask last for extensibility */
-};
-
-typedef struct sigaltstack {
- void *ss_sp;
- int ss_flags;
- size_t ss_size;
-} stack_t;
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* __ASM_GENERIC_SIGNAL_H */
diff --git a/linux-headers/include/asm-generic/socket.h b/linux-headers/include/asm-generic/socket.h
deleted file mode 100644
index 67d632f..0000000
--- a/linux-headers/include/asm-generic/socket.h
+++ /dev/null
@@ -1,95 +0,0 @@
-#ifndef __ASM_GENERIC_SOCKET_H
-#define __ASM_GENERIC_SOCKET_H
-
-#include <asm/sockios.h>
-
-/* For setsockopt(2) */
-#define SOL_SOCKET 1
-
-#define SO_DEBUG 1
-#define SO_REUSEADDR 2
-#define SO_TYPE 3
-#define SO_ERROR 4
-#define SO_DONTROUTE 5
-#define SO_BROADCAST 6
-#define SO_SNDBUF 7
-#define SO_RCVBUF 8
-#define SO_SNDBUFFORCE 32
-#define SO_RCVBUFFORCE 33
-#define SO_KEEPALIVE 9
-#define SO_OOBINLINE 10
-#define SO_NO_CHECK 11
-#define SO_PRIORITY 12
-#define SO_LINGER 13
-#define SO_BSDCOMPAT 14
-#define SO_REUSEPORT 15
-#ifndef SO_PASSCRED /* powerpc only differs in these */
-#define SO_PASSCRED 16
-#define SO_PEERCRED 17
-#define SO_RCVLOWAT 18
-#define SO_SNDLOWAT 19
-#define SO_RCVTIMEO 20
-#define SO_SNDTIMEO 21
-#endif
-
-/* Security levels - as per NRL IPv6 - don't actually do anything */
-#define SO_SECURITY_AUTHENTICATION 22
-#define SO_SECURITY_ENCRYPTION_TRANSPORT 23
-#define SO_SECURITY_ENCRYPTION_NETWORK 24
-
-#define SO_BINDTODEVICE 25
-
-/* Socket filtering */
-#define SO_ATTACH_FILTER 26
-#define SO_DETACH_FILTER 27
-#define SO_GET_FILTER SO_ATTACH_FILTER
-
-#define SO_PEERNAME 28
-#define SO_TIMESTAMP 29
-#define SCM_TIMESTAMP SO_TIMESTAMP
-
-#define SO_ACCEPTCONN 30
-
-#define SO_PEERSEC 31
-#define SO_PASSSEC 34
-#define SO_TIMESTAMPNS 35
-#define SCM_TIMESTAMPNS SO_TIMESTAMPNS
-
-#define SO_MARK 36
-
-#define SO_TIMESTAMPING 37
-#define SCM_TIMESTAMPING SO_TIMESTAMPING
-
-#define SO_PROTOCOL 38
-#define SO_DOMAIN 39
-
-#define SO_RXQ_OVFL 40
-
-#define SO_WIFI_STATUS 41
-#define SCM_WIFI_STATUS SO_WIFI_STATUS
-#define SO_PEEK_OFF 42
-
-/* Instruct lower device to use last 4-bytes of skb data as FCS */
-#define SO_NOFCS 43
-
-#define SO_LOCK_FILTER 44
-
-#define SO_SELECT_ERR_QUEUE 45
-
-#define SO_BUSY_POLL 46
-
-#define SO_MAX_PACING_RATE 47
-
-#define SO_BPF_EXTENSIONS 48
-
-#define SO_INCOMING_CPU 49
-
-#define SO_ATTACH_BPF 50
-#define SO_DETACH_BPF SO_DETACH_FILTER
-
-#define SO_ATTACH_REUSEPORT_CBPF 51
-#define SO_ATTACH_REUSEPORT_EBPF 52
-
-#define SO_CNX_ADVICE 53
-
-#endif /* __ASM_GENERIC_SOCKET_H */
diff --git a/linux-headers/include/asm-generic/sockios.h b/linux-headers/include/asm-generic/sockios.h
deleted file mode 100644
index 9a61a36..0000000
--- a/linux-headers/include/asm-generic/sockios.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __ASM_GENERIC_SOCKIOS_H
-#define __ASM_GENERIC_SOCKIOS_H
-
-/* Socket-level I/O control calls. */
-#define FIOSETOWN 0x8901
-#define SIOCSPGRP 0x8902
-#define FIOGETOWN 0x8903
-#define SIOCGPGRP 0x8904
-#define SIOCATMARK 0x8905
-#define SIOCGSTAMP 0x8906 /* Get stamp (timeval) */
-#define SIOCGSTAMPNS 0x8907 /* Get stamp (timespec) */
-
-#endif /* __ASM_GENERIC_SOCKIOS_H */
diff --git a/linux-headers/include/asm-generic/stat.h b/linux-headers/include/asm-generic/stat.h
deleted file mode 100644
index bd8cad2..0000000
--- a/linux-headers/include/asm-generic/stat.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef __ASM_GENERIC_STAT_H
-#define __ASM_GENERIC_STAT_H
-
-/*
- * Everybody gets this wrong and has to stick with it for all
- * eternity. Hopefully, this version gets used by new architectures
- * so they don't fall into the same traps.
- *
- * stat64 is copied from powerpc64, with explicit padding added.
- * stat is the same structure layout on 64-bit, without the 'long long'
- * types.
- *
- * By convention, 64 bit architectures use the stat interface, while
- * 32 bit architectures use the stat64 interface. Note that we don't
- * provide an __old_kernel_stat here, which new architecture should
- * not have to start with.
- */
-
-#include <asm/bitsperlong.h>
-
-#define STAT_HAVE_NSEC 1
-
-struct stat {
- unsigned long st_dev; /* Device. */
- unsigned long st_ino; /* File serial number. */
- unsigned int st_mode; /* File mode. */
- unsigned int st_nlink; /* Link count. */
- unsigned int st_uid; /* User ID of the file's owner. */
- unsigned int st_gid; /* Group ID of the file's group. */
- unsigned long st_rdev; /* Device number, if device. */
- unsigned long __pad1;
- long st_size; /* Size of file, in bytes. */
- int st_blksize; /* Optimal block size for I/O. */
- int __pad2;
- long st_blocks; /* Number 512-byte blocks allocated. */
- long st_atime; /* Time of last access. */
- unsigned long st_atime_nsec;
- long st_mtime; /* Time of last modification. */
- unsigned long st_mtime_nsec;
- long st_ctime; /* Time of last status change. */
- unsigned long st_ctime_nsec;
- unsigned int __unused4;
- unsigned int __unused5;
-};
-
-/* This matches struct stat64 in glibc2.1. Only used for 32 bit. */
-#if __BITS_PER_LONG != 64 || defined(__ARCH_WANT_STAT64)
-struct stat64 {
- unsigned long long st_dev; /* Device. */
- unsigned long long st_ino; /* File serial number. */
- unsigned int st_mode; /* File mode. */
- unsigned int st_nlink; /* Link count. */
- unsigned int st_uid; /* User ID of the file's owner. */
- unsigned int st_gid; /* Group ID of the file's group. */
- unsigned long long st_rdev; /* Device number, if device. */
- unsigned long long __pad1;
- long long st_size; /* Size of file, in bytes. */
- int st_blksize; /* Optimal block size for I/O. */
- int __pad2;
- long long st_blocks; /* Number 512-byte blocks allocated. */
- int st_atime; /* Time of last access. */
- unsigned int st_atime_nsec;
- int st_mtime; /* Time of last modification. */
- unsigned int st_mtime_nsec;
- int st_ctime; /* Time of last status change. */
- unsigned int st_ctime_nsec;
- unsigned int __unused4;
- unsigned int __unused5;
-};
-#endif
-
-#endif /* __ASM_GENERIC_STAT_H */
diff --git a/linux-headers/include/asm-generic/statfs.h b/linux-headers/include/asm-generic/statfs.h
deleted file mode 100644
index 6877912..0000000
--- a/linux-headers/include/asm-generic/statfs.h
+++ /dev/null
@@ -1,83 +0,0 @@
-#ifndef _GENERIC_STATFS_H
-#define _GENERIC_STATFS_H
-
-#include <linux/types.h>
-
-
-/*
- * Most 64-bit platforms use 'long', while most 32-bit platforms use '__u32'.
- * Yes, they differ in signedness as well as size.
- * Special cases can override it for themselves -- except for S390x, which
- * is just a little too special for us. And MIPS, which I'm not touching
- * with a 10' pole.
- */
-#ifndef __statfs_word
-#if __BITS_PER_LONG == 64
-#define __statfs_word __kernel_long_t
-#else
-#define __statfs_word __u32
-#endif
-#endif
-
-struct statfs {
- __statfs_word f_type;
- __statfs_word f_bsize;
- __statfs_word f_blocks;
- __statfs_word f_bfree;
- __statfs_word f_bavail;
- __statfs_word f_files;
- __statfs_word f_ffree;
- __kernel_fsid_t f_fsid;
- __statfs_word f_namelen;
- __statfs_word f_frsize;
- __statfs_word f_flags;
- __statfs_word f_spare[4];
-};
-
-/*
- * ARM needs to avoid the 32-bit padding at the end, for consistency
- * between EABI and OABI
- */
-#ifndef ARCH_PACK_STATFS64
-#define ARCH_PACK_STATFS64
-#endif
-
-struct statfs64 {
- __statfs_word f_type;
- __statfs_word f_bsize;
- __u64 f_blocks;
- __u64 f_bfree;
- __u64 f_bavail;
- __u64 f_files;
- __u64 f_ffree;
- __kernel_fsid_t f_fsid;
- __statfs_word f_namelen;
- __statfs_word f_frsize;
- __statfs_word f_flags;
- __statfs_word f_spare[4];
-} ARCH_PACK_STATFS64;
-
-/*
- * IA64 and x86_64 need to avoid the 32-bit padding at the end,
- * to be compatible with the i386 ABI
- */
-#ifndef ARCH_PACK_COMPAT_STATFS64
-#define ARCH_PACK_COMPAT_STATFS64
-#endif
-
-struct compat_statfs64 {
- __u32 f_type;
- __u32 f_bsize;
- __u64 f_blocks;
- __u64 f_bfree;
- __u64 f_bavail;
- __u64 f_files;
- __u64 f_ffree;
- __kernel_fsid_t f_fsid;
- __u32 f_namelen;
- __u32 f_frsize;
- __u32 f_flags;
- __u32 f_spare[4];
-} ARCH_PACK_COMPAT_STATFS64;
-
-#endif /* _GENERIC_STATFS_H */
diff --git a/linux-headers/include/asm-generic/swab.h b/linux-headers/include/asm-generic/swab.h
deleted file mode 100644
index a8e9029..0000000
--- a/linux-headers/include/asm-generic/swab.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _ASM_GENERIC_SWAB_H
-#define _ASM_GENERIC_SWAB_H
-
-#include <asm/bitsperlong.h>
-
-/*
- * 32 bit architectures typically (but not always) want to
- * set __SWAB_64_THRU_32__. In user space, this is only
- * valid if the compiler supports 64 bit data types.
- */
-
-#if __BITS_PER_LONG == 32
-#if defined(__GNUC__) && !defined(__STRICT_ANSI__) || defined(__KERNEL__)
-#define __SWAB_64_THRU_32__
-#endif
-#endif
-
-#endif /* _ASM_GENERIC_SWAB_H */
diff --git a/linux-headers/include/asm-generic/termbits.h b/linux-headers/include/asm-generic/termbits.h
deleted file mode 100644
index 232b478..0000000
--- a/linux-headers/include/asm-generic/termbits.h
+++ /dev/null
@@ -1,199 +0,0 @@
-#ifndef __ASM_GENERIC_TERMBITS_H
-#define __ASM_GENERIC_TERMBITS_H
-
-#include <linux/posix_types.h>
-
-typedef unsigned char cc_t;
-typedef unsigned int speed_t;
-typedef unsigned int tcflag_t;
-
-#define NCCS 19
-struct termios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
-};
-
-struct termios2 {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-struct ktermios {
- tcflag_t c_iflag; /* input mode flags */
- tcflag_t c_oflag; /* output mode flags */
- tcflag_t c_cflag; /* control mode flags */
- tcflag_t c_lflag; /* local mode flags */
- cc_t c_line; /* line discipline */
- cc_t c_cc[NCCS]; /* control characters */
- speed_t c_ispeed; /* input speed */
- speed_t c_ospeed; /* output speed */
-};
-
-/* c_cc characters */
-#define VINTR 0
-#define VQUIT 1
-#define VERASE 2
-#define VKILL 3
-#define VEOF 4
-#define VTIME 5
-#define VMIN 6
-#define VSWTC 7
-#define VSTART 8
-#define VSTOP 9
-#define VSUSP 10
-#define VEOL 11
-#define VREPRINT 12
-#define VDISCARD 13
-#define VWERASE 14
-#define VLNEXT 15
-#define VEOL2 16
-
-/* c_iflag bits */
-#define IGNBRK 0000001
-#define BRKINT 0000002
-#define IGNPAR 0000004
-#define PARMRK 0000010
-#define INPCK 0000020
-#define ISTRIP 0000040
-#define INLCR 0000100
-#define IGNCR 0000200
-#define ICRNL 0000400
-#define IUCLC 0001000
-#define IXON 0002000
-#define IXANY 0004000
-#define IXOFF 0010000
-#define IMAXBEL 0020000
-#define IUTF8 0040000
-
-/* c_oflag bits */
-#define OPOST 0000001
-#define OLCUC 0000002
-#define ONLCR 0000004
-#define OCRNL 0000010
-#define ONOCR 0000020
-#define ONLRET 0000040
-#define OFILL 0000100
-#define OFDEL 0000200
-#define NLDLY 0000400
-#define NL0 0000000
-#define NL1 0000400
-#define CRDLY 0003000
-#define CR0 0000000
-#define CR1 0001000
-#define CR2 0002000
-#define CR3 0003000
-#define TABDLY 0014000
-#define TAB0 0000000
-#define TAB1 0004000
-#define TAB2 0010000
-#define TAB3 0014000
-#define XTABS 0014000
-#define BSDLY 0020000
-#define BS0 0000000
-#define BS1 0020000
-#define VTDLY 0040000
-#define VT0 0000000
-#define VT1 0040000
-#define FFDLY 0100000
-#define FF0 0000000
-#define FF1 0100000
-
-/* c_cflag bit meaning */
-#define CBAUD 0010017
-#define B0 0000000 /* hang up */
-#define B50 0000001
-#define B75 0000002
-#define B110 0000003
-#define B134 0000004
-#define B150 0000005
-#define B200 0000006
-#define B300 0000007
-#define B600 0000010
-#define B1200 0000011
-#define B1800 0000012
-#define B2400 0000013
-#define B4800 0000014
-#define B9600 0000015
-#define B19200 0000016
-#define B38400 0000017
-#define EXTA B19200
-#define EXTB B38400
-#define CSIZE 0000060
-#define CS5 0000000
-#define CS6 0000020
-#define CS7 0000040
-#define CS8 0000060
-#define CSTOPB 0000100
-#define CREAD 0000200
-#define PARENB 0000400
-#define PARODD 0001000
-#define HUPCL 0002000
-#define CLOCAL 0004000
-#define CBAUDEX 0010000
-#define BOTHER 0010000
-#define B57600 0010001
-#define B115200 0010002
-#define B230400 0010003
-#define B460800 0010004
-#define B500000 0010005
-#define B576000 0010006
-#define B921600 0010007
-#define B1000000 0010010
-#define B1152000 0010011
-#define B1500000 0010012
-#define B2000000 0010013
-#define B2500000 0010014
-#define B3000000 0010015
-#define B3500000 0010016
-#define B4000000 0010017
-#define CIBAUD 002003600000 /* input baud rate */
-#define CMSPAR 010000000000 /* mark or space (stick) parity */
-#define CRTSCTS 020000000000 /* flow control */
-
-#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
-
-/* c_lflag bits */
-#define ISIG 0000001
-#define ICANON 0000002
-#define XCASE 0000004
-#define ECHO 0000010
-#define ECHOE 0000020
-#define ECHOK 0000040
-#define ECHONL 0000100
-#define NOFLSH 0000200
-#define TOSTOP 0000400
-#define ECHOCTL 0001000
-#define ECHOPRT 0002000
-#define ECHOKE 0004000
-#define FLUSHO 0010000
-#define PENDIN 0040000
-#define IEXTEN 0100000
-#define EXTPROC 0200000
-
-/* tcflow() and TCXONC use these */
-#define TCOOFF 0
-#define TCOON 1
-#define TCIOFF 2
-#define TCION 3
-
-/* tcflush() and TCFLSH use these */
-#define TCIFLUSH 0
-#define TCOFLUSH 1
-#define TCIOFLUSH 2
-
-/* tcsetattr uses these */
-#define TCSANOW 0
-#define TCSADRAIN 1
-#define TCSAFLUSH 2
-
-#endif /* __ASM_GENERIC_TERMBITS_H */
diff --git a/linux-headers/include/asm-generic/termios.h b/linux-headers/include/asm-generic/termios.h
deleted file mode 100644
index 1c1166a..0000000
--- a/linux-headers/include/asm-generic/termios.h
+++ /dev/null
@@ -1,50 +0,0 @@
-#ifndef _ASM_GENERIC_TERMIOS_H
-#define _ASM_GENERIC_TERMIOS_H
-/*
- * Most architectures have straight copies of the x86 code, with
- * varying levels of bug fixes on top. Usually it's a good idea
- * to use this generic version instead, but be careful to avoid
- * ABI changes.
- * New architectures should not provide their own version.
- */
-
-#include <asm/termbits.h>
-#include <asm/ioctls.h>
-
-struct winsize {
- unsigned short ws_row;
- unsigned short ws_col;
- unsigned short ws_xpixel;
- unsigned short ws_ypixel;
-};
-
-#define NCC 8
-struct termio {
- unsigned short c_iflag; /* input mode flags */
- unsigned short c_oflag; /* output mode flags */
- unsigned short c_cflag; /* control mode flags */
- unsigned short c_lflag; /* local mode flags */
- unsigned char c_line; /* line discipline */
- unsigned char c_cc[NCC]; /* control characters */
-};
-
-/* modem lines */
-#define TIOCM_LE 0x001
-#define TIOCM_DTR 0x002
-#define TIOCM_RTS 0x004
-#define TIOCM_ST 0x008
-#define TIOCM_SR 0x010
-#define TIOCM_CTS 0x020
-#define TIOCM_CAR 0x040
-#define TIOCM_RNG 0x080
-#define TIOCM_DSR 0x100
-#define TIOCM_CD TIOCM_CAR
-#define TIOCM_RI TIOCM_RNG
-#define TIOCM_OUT1 0x2000
-#define TIOCM_OUT2 0x4000
-#define TIOCM_LOOP 0x8000
-
-/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
-
-
-#endif /* _ASM_GENERIC_TERMIOS_H */
diff --git a/linux-headers/include/asm-generic/types.h b/linux-headers/include/asm-generic/types.h
deleted file mode 100644
index a387792..0000000
--- a/linux-headers/include/asm-generic/types.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _ASM_GENERIC_TYPES_H
-#define _ASM_GENERIC_TYPES_H
-/*
- * int-ll64 is used everywhere now.
- */
-#include <asm-generic/int-ll64.h>
-
-#endif /* _ASM_GENERIC_TYPES_H */
diff --git a/linux-headers/include/asm-generic/ucontext.h b/linux-headers/include/asm-generic/ucontext.h
deleted file mode 100644
index ad77343..0000000
--- a/linux-headers/include/asm-generic/ucontext.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __ASM_GENERIC_UCONTEXT_H
-#define __ASM_GENERIC_UCONTEXT_H
-
-struct ucontext {
- unsigned long uc_flags;
- struct ucontext *uc_link;
- stack_t uc_stack;
- struct sigcontext uc_mcontext;
- sigset_t uc_sigmask; /* mask last for extensibility */
-};
-
-#endif /* __ASM_GENERIC_UCONTEXT_H */
diff --git a/linux-headers/include/asm-generic/unistd.h b/linux-headers/include/asm-generic/unistd.h
deleted file mode 100644
index c51afb7..0000000
--- a/linux-headers/include/asm-generic/unistd.h
+++ /dev/null
@@ -1,933 +0,0 @@
-#include <asm/bitsperlong.h>
-
-/*
- * This file contains the system call numbers, based on the
- * layout of the x86-64 architecture, which embeds the
- * pointer to the syscall in the table.
- *
- * As a basic principle, no duplication of functionality
- * should be added, e.g. we don't use lseek when llseek
- * is present. New architectures should use this file
- * and implement the less feature-full calls in user space.
- */
-
-#ifndef __SYSCALL
-#define __SYSCALL(x, y)
-#endif
-
-#if __BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT)
-#define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _32)
-#else
-#define __SC_3264(_nr, _32, _64) __SYSCALL(_nr, _64)
-#endif
-
-#ifdef __SYSCALL_COMPAT
-#define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _comp)
-#define __SC_COMP_3264(_nr, _32, _64, _comp) __SYSCALL(_nr, _comp)
-#else
-#define __SC_COMP(_nr, _sys, _comp) __SYSCALL(_nr, _sys)
-#define __SC_COMP_3264(_nr, _32, _64, _comp) __SC_3264(_nr, _32, _64)
-#endif
-
-#define __NR_io_setup 0
-__SC_COMP(__NR_io_setup, sys_io_setup, compat_sys_io_setup)
-#define __NR_io_destroy 1
-__SYSCALL(__NR_io_destroy, sys_io_destroy)
-#define __NR_io_submit 2
-__SC_COMP(__NR_io_submit, sys_io_submit, compat_sys_io_submit)
-#define __NR_io_cancel 3
-__SYSCALL(__NR_io_cancel, sys_io_cancel)
-#define __NR_io_getevents 4
-__SC_COMP(__NR_io_getevents, sys_io_getevents, compat_sys_io_getevents)
-
-/* fs/xattr.c */
-#define __NR_setxattr 5
-__SYSCALL(__NR_setxattr, sys_setxattr)
-#define __NR_lsetxattr 6
-__SYSCALL(__NR_lsetxattr, sys_lsetxattr)
-#define __NR_fsetxattr 7
-__SYSCALL(__NR_fsetxattr, sys_fsetxattr)
-#define __NR_getxattr 8
-__SYSCALL(__NR_getxattr, sys_getxattr)
-#define __NR_lgetxattr 9
-__SYSCALL(__NR_lgetxattr, sys_lgetxattr)
-#define __NR_fgetxattr 10
-__SYSCALL(__NR_fgetxattr, sys_fgetxattr)
-#define __NR_listxattr 11
-__SYSCALL(__NR_listxattr, sys_listxattr)
-#define __NR_llistxattr 12
-__SYSCALL(__NR_llistxattr, sys_llistxattr)
-#define __NR_flistxattr 13
-__SYSCALL(__NR_flistxattr, sys_flistxattr)
-#define __NR_removexattr 14
-__SYSCALL(__NR_removexattr, sys_removexattr)
-#define __NR_lremovexattr 15
-__SYSCALL(__NR_lremovexattr, sys_lremovexattr)
-#define __NR_fremovexattr 16
-__SYSCALL(__NR_fremovexattr, sys_fremovexattr)
-
-/* fs/dcache.c */
-#define __NR_getcwd 17
-__SYSCALL(__NR_getcwd, sys_getcwd)
-
-/* fs/cookies.c */
-#define __NR_lookup_dcookie 18
-__SC_COMP(__NR_lookup_dcookie, sys_lookup_dcookie, compat_sys_lookup_dcookie)
-
-/* fs/eventfd.c */
-#define __NR_eventfd2 19
-__SYSCALL(__NR_eventfd2, sys_eventfd2)
-
-/* fs/eventpoll.c */
-#define __NR_epoll_create1 20
-__SYSCALL(__NR_epoll_create1, sys_epoll_create1)
-#define __NR_epoll_ctl 21
-__SYSCALL(__NR_epoll_ctl, sys_epoll_ctl)
-#define __NR_epoll_pwait 22
-__SC_COMP(__NR_epoll_pwait, sys_epoll_pwait, compat_sys_epoll_pwait)
-
-/* fs/fcntl.c */
-#define __NR_dup 23
-__SYSCALL(__NR_dup, sys_dup)
-#define __NR_dup3 24
-__SYSCALL(__NR_dup3, sys_dup3)
-#define __NR3264_fcntl 25
-__SC_COMP_3264(__NR3264_fcntl, sys_fcntl64, sys_fcntl, compat_sys_fcntl64)
-
-/* fs/inotify_user.c */
-#define __NR_inotify_init1 26
-__SYSCALL(__NR_inotify_init1, sys_inotify_init1)
-#define __NR_inotify_add_watch 27
-__SYSCALL(__NR_inotify_add_watch, sys_inotify_add_watch)
-#define __NR_inotify_rm_watch 28
-__SYSCALL(__NR_inotify_rm_watch, sys_inotify_rm_watch)
-
-/* fs/ioctl.c */
-#define __NR_ioctl 29
-__SC_COMP(__NR_ioctl, sys_ioctl, compat_sys_ioctl)
-
-/* fs/ioprio.c */
-#define __NR_ioprio_set 30
-__SYSCALL(__NR_ioprio_set, sys_ioprio_set)
-#define __NR_ioprio_get 31
-__SYSCALL(__NR_ioprio_get, sys_ioprio_get)
-
-/* fs/locks.c */
-#define __NR_flock 32
-__SYSCALL(__NR_flock, sys_flock)
-
-/* fs/namei.c */
-#define __NR_mknodat 33
-__SYSCALL(__NR_mknodat, sys_mknodat)
-#define __NR_mkdirat 34
-__SYSCALL(__NR_mkdirat, sys_mkdirat)
-#define __NR_unlinkat 35
-__SYSCALL(__NR_unlinkat, sys_unlinkat)
-#define __NR_symlinkat 36
-__SYSCALL(__NR_symlinkat, sys_symlinkat)
-#define __NR_linkat 37
-__SYSCALL(__NR_linkat, sys_linkat)
-#define __NR_renameat 38
-__SYSCALL(__NR_renameat, sys_renameat)
-
-/* fs/namespace.c */
-#define __NR_umount2 39
-__SYSCALL(__NR_umount2, sys_umount)
-#define __NR_mount 40
-__SC_COMP(__NR_mount, sys_mount, compat_sys_mount)
-#define __NR_pivot_root 41
-__SYSCALL(__NR_pivot_root, sys_pivot_root)
-
-/* fs/nfsctl.c */
-#define __NR_nfsservctl 42
-__SYSCALL(__NR_nfsservctl, sys_ni_syscall)
-
-/* fs/open.c */
-#define __NR3264_statfs 43
-__SC_COMP_3264(__NR3264_statfs, sys_statfs64, sys_statfs, \
- compat_sys_statfs64)
-#define __NR3264_fstatfs 44
-__SC_COMP_3264(__NR3264_fstatfs, sys_fstatfs64, sys_fstatfs, \
- compat_sys_fstatfs64)
-#define __NR3264_truncate 45
-__SC_COMP_3264(__NR3264_truncate, sys_truncate64, sys_truncate, \
- compat_sys_truncate64)
-#define __NR3264_ftruncate 46
-__SC_COMP_3264(__NR3264_ftruncate, sys_ftruncate64, sys_ftruncate, \
- compat_sys_ftruncate64)
-
-#define __NR_fallocate 47
-__SC_COMP(__NR_fallocate, sys_fallocate, compat_sys_fallocate)
-#define __NR_faccessat 48
-__SYSCALL(__NR_faccessat, sys_faccessat)
-#define __NR_chdir 49
-__SYSCALL(__NR_chdir, sys_chdir)
-#define __NR_fchdir 50
-__SYSCALL(__NR_fchdir, sys_fchdir)
-#define __NR_chroot 51
-__SYSCALL(__NR_chroot, sys_chroot)
-#define __NR_fchmod 52
-__SYSCALL(__NR_fchmod, sys_fchmod)
-#define __NR_fchmodat 53
-__SYSCALL(__NR_fchmodat, sys_fchmodat)
-#define __NR_fchownat 54
-__SYSCALL(__NR_fchownat, sys_fchownat)
-#define __NR_fchown 55
-__SYSCALL(__NR_fchown, sys_fchown)
-#define __NR_openat 56
-__SC_COMP(__NR_openat, sys_openat, compat_sys_openat)
-#define __NR_close 57
-__SYSCALL(__NR_close, sys_close)
-#define __NR_vhangup 58
-__SYSCALL(__NR_vhangup, sys_vhangup)
-
-/* fs/pipe.c */
-#define __NR_pipe2 59
-__SYSCALL(__NR_pipe2, sys_pipe2)
-
-/* fs/quota.c */
-#define __NR_quotactl 60
-__SYSCALL(__NR_quotactl, sys_quotactl)
-
-/* fs/readdir.c */
-#define __NR_getdents64 61
-#define __ARCH_WANT_COMPAT_SYS_GETDENTS64
-__SC_COMP(__NR_getdents64, sys_getdents64, compat_sys_getdents64)
-
-/* fs/read_write.c */
-#define __NR3264_lseek 62
-__SC_3264(__NR3264_lseek, sys_llseek, sys_lseek)
-#define __NR_read 63
-__SYSCALL(__NR_read, sys_read)
-#define __NR_write 64
-__SYSCALL(__NR_write, sys_write)
-#define __NR_readv 65
-__SC_COMP(__NR_readv, sys_readv, compat_sys_readv)
-#define __NR_writev 66
-__SC_COMP(__NR_writev, sys_writev, compat_sys_writev)
-#define __NR_pread64 67
-__SC_COMP(__NR_pread64, sys_pread64, compat_sys_pread64)
-#define __NR_pwrite64 68
-__SC_COMP(__NR_pwrite64, sys_pwrite64, compat_sys_pwrite64)
-#define __NR_preadv 69
-__SC_COMP(__NR_preadv, sys_preadv, compat_sys_preadv)
-#define __NR_pwritev 70
-__SC_COMP(__NR_pwritev, sys_pwritev, compat_sys_pwritev)
-
-/* fs/sendfile.c */
-#define __NR3264_sendfile 71
-__SYSCALL(__NR3264_sendfile, sys_sendfile64)
-
-/* fs/select.c */
-#define __NR_pselect6 72
-__SC_COMP(__NR_pselect6, sys_pselect6, compat_sys_pselect6)
-#define __NR_ppoll 73
-__SC_COMP(__NR_ppoll, sys_ppoll, compat_sys_ppoll)
-
-/* fs/signalfd.c */
-#define __NR_signalfd4 74
-__SC_COMP(__NR_signalfd4, sys_signalfd4, compat_sys_signalfd4)
-
-/* fs/splice.c */
-#define __NR_vmsplice 75
-__SC_COMP(__NR_vmsplice, sys_vmsplice, compat_sys_vmsplice)
-#define __NR_splice 76
-__SYSCALL(__NR_splice, sys_splice)
-#define __NR_tee 77
-__SYSCALL(__NR_tee, sys_tee)
-
-/* fs/stat.c */
-#define __NR_readlinkat 78
-__SYSCALL(__NR_readlinkat, sys_readlinkat)
-#define __NR3264_fstatat 79
-__SC_3264(__NR3264_fstatat, sys_fstatat64, sys_newfstatat)
-#define __NR3264_fstat 80
-__SC_3264(__NR3264_fstat, sys_fstat64, sys_newfstat)
-
-/* fs/sync.c */
-#define __NR_sync 81
-__SYSCALL(__NR_sync, sys_sync)
-#define __NR_fsync 82
-__SYSCALL(__NR_fsync, sys_fsync)
-#define __NR_fdatasync 83
-__SYSCALL(__NR_fdatasync, sys_fdatasync)
-#ifdef __ARCH_WANT_SYNC_FILE_RANGE2
-#define __NR_sync_file_range2 84
-__SC_COMP(__NR_sync_file_range2, sys_sync_file_range2, \
- compat_sys_sync_file_range2)
-#else
-#define __NR_sync_file_range 84
-__SC_COMP(__NR_sync_file_range, sys_sync_file_range, \
- compat_sys_sync_file_range)
-#endif
-
-/* fs/timerfd.c */
-#define __NR_timerfd_create 85
-__SYSCALL(__NR_timerfd_create, sys_timerfd_create)
-#define __NR_timerfd_settime 86
-__SC_COMP(__NR_timerfd_settime, sys_timerfd_settime, \
- compat_sys_timerfd_settime)
-#define __NR_timerfd_gettime 87
-__SC_COMP(__NR_timerfd_gettime, sys_timerfd_gettime, \
- compat_sys_timerfd_gettime)
-
-/* fs/utimes.c */
-#define __NR_utimensat 88
-__SC_COMP(__NR_utimensat, sys_utimensat, compat_sys_utimensat)
-
-/* kernel/acct.c */
-#define __NR_acct 89
-__SYSCALL(__NR_acct, sys_acct)
-
-/* kernel/capability.c */
-#define __NR_capget 90
-__SYSCALL(__NR_capget, sys_capget)
-#define __NR_capset 91
-__SYSCALL(__NR_capset, sys_capset)
-
-/* kernel/exec_domain.c */
-#define __NR_personality 92
-__SYSCALL(__NR_personality, sys_personality)
-
-/* kernel/exit.c */
-#define __NR_exit 93
-__SYSCALL(__NR_exit, sys_exit)
-#define __NR_exit_group 94
-__SYSCALL(__NR_exit_group, sys_exit_group)
-#define __NR_waitid 95
-__SC_COMP(__NR_waitid, sys_waitid, compat_sys_waitid)
-
-/* kernel/fork.c */
-#define __NR_set_tid_address 96
-__SYSCALL(__NR_set_tid_address, sys_set_tid_address)
-#define __NR_unshare 97
-__SYSCALL(__NR_unshare, sys_unshare)
-
-/* kernel/futex.c */
-#define __NR_futex 98
-__SC_COMP(__NR_futex, sys_futex, compat_sys_futex)
-#define __NR_set_robust_list 99
-__SC_COMP(__NR_set_robust_list, sys_set_robust_list, \
- compat_sys_set_robust_list)
-#define __NR_get_robust_list 100
-__SC_COMP(__NR_get_robust_list, sys_get_robust_list, \
- compat_sys_get_robust_list)
-
-/* kernel/hrtimer.c */
-#define __NR_nanosleep 101
-__SC_COMP(__NR_nanosleep, sys_nanosleep, compat_sys_nanosleep)
-
-/* kernel/itimer.c */
-#define __NR_getitimer 102
-__SC_COMP(__NR_getitimer, sys_getitimer, compat_sys_getitimer)
-#define __NR_setitimer 103
-__SC_COMP(__NR_setitimer, sys_setitimer, compat_sys_setitimer)
-
-/* kernel/kexec.c */
-#define __NR_kexec_load 104
-__SC_COMP(__NR_kexec_load, sys_kexec_load, compat_sys_kexec_load)
-
-/* kernel/module.c */
-#define __NR_init_module 105
-__SYSCALL(__NR_init_module, sys_init_module)
-#define __NR_delete_module 106
-__SYSCALL(__NR_delete_module, sys_delete_module)
-
-/* kernel/posix-timers.c */
-#define __NR_timer_create 107
-__SC_COMP(__NR_timer_create, sys_timer_create, compat_sys_timer_create)
-#define __NR_timer_gettime 108
-__SC_COMP(__NR_timer_gettime, sys_timer_gettime, compat_sys_timer_gettime)
-#define __NR_timer_getoverrun 109
-__SYSCALL(__NR_timer_getoverrun, sys_timer_getoverrun)
-#define __NR_timer_settime 110
-__SC_COMP(__NR_timer_settime, sys_timer_settime, compat_sys_timer_settime)
-#define __NR_timer_delete 111
-__SYSCALL(__NR_timer_delete, sys_timer_delete)
-#define __NR_clock_settime 112
-__SC_COMP(__NR_clock_settime, sys_clock_settime, compat_sys_clock_settime)
-#define __NR_clock_gettime 113
-__SC_COMP(__NR_clock_gettime, sys_clock_gettime, compat_sys_clock_gettime)
-#define __NR_clock_getres 114
-__SC_COMP(__NR_clock_getres, sys_clock_getres, compat_sys_clock_getres)
-#define __NR_clock_nanosleep 115
-__SC_COMP(__NR_clock_nanosleep, sys_clock_nanosleep, \
- compat_sys_clock_nanosleep)
-
-/* kernel/printk.c */
-#define __NR_syslog 116
-__SYSCALL(__NR_syslog, sys_syslog)
-
-/* kernel/ptrace.c */
-#define __NR_ptrace 117
-__SYSCALL(__NR_ptrace, sys_ptrace)
-
-/* kernel/sched/core.c */
-#define __NR_sched_setparam 118
-__SYSCALL(__NR_sched_setparam, sys_sched_setparam)
-#define __NR_sched_setscheduler 119
-__SYSCALL(__NR_sched_setscheduler, sys_sched_setscheduler)
-#define __NR_sched_getscheduler 120
-__SYSCALL(__NR_sched_getscheduler, sys_sched_getscheduler)
-#define __NR_sched_getparam 121
-__SYSCALL(__NR_sched_getparam, sys_sched_getparam)
-#define __NR_sched_setaffinity 122
-__SC_COMP(__NR_sched_setaffinity, sys_sched_setaffinity, \
- compat_sys_sched_setaffinity)
-#define __NR_sched_getaffinity 123
-__SC_COMP(__NR_sched_getaffinity, sys_sched_getaffinity, \
- compat_sys_sched_getaffinity)
-#define __NR_sched_yield 124
-__SYSCALL(__NR_sched_yield, sys_sched_yield)
-#define __NR_sched_get_priority_max 125
-__SYSCALL(__NR_sched_get_priority_max, sys_sched_get_priority_max)
-#define __NR_sched_get_priority_min 126
-__SYSCALL(__NR_sched_get_priority_min, sys_sched_get_priority_min)
-#define __NR_sched_rr_get_interval 127
-__SC_COMP(__NR_sched_rr_get_interval, sys_sched_rr_get_interval, \
- compat_sys_sched_rr_get_interval)
-
-/* kernel/signal.c */
-#define __NR_restart_syscall 128
-__SYSCALL(__NR_restart_syscall, sys_restart_syscall)
-#define __NR_kill 129
-__SYSCALL(__NR_kill, sys_kill)
-#define __NR_tkill 130
-__SYSCALL(__NR_tkill, sys_tkill)
-#define __NR_tgkill 131
-__SYSCALL(__NR_tgkill, sys_tgkill)
-#define __NR_sigaltstack 132
-__SC_COMP(__NR_sigaltstack, sys_sigaltstack, compat_sys_sigaltstack)
-#define __NR_rt_sigsuspend 133
-__SC_COMP(__NR_rt_sigsuspend, sys_rt_sigsuspend, compat_sys_rt_sigsuspend)
-#define __NR_rt_sigaction 134
-__SC_COMP(__NR_rt_sigaction, sys_rt_sigaction, compat_sys_rt_sigaction)
-#define __NR_rt_sigprocmask 135
-__SC_COMP(__NR_rt_sigprocmask, sys_rt_sigprocmask, compat_sys_rt_sigprocmask)
-#define __NR_rt_sigpending 136
-__SC_COMP(__NR_rt_sigpending, sys_rt_sigpending, compat_sys_rt_sigpending)
-#define __NR_rt_sigtimedwait 137
-__SC_COMP(__NR_rt_sigtimedwait, sys_rt_sigtimedwait, \
- compat_sys_rt_sigtimedwait)
-#define __NR_rt_sigqueueinfo 138
-__SC_COMP(__NR_rt_sigqueueinfo, sys_rt_sigqueueinfo, \
- compat_sys_rt_sigqueueinfo)
-#define __NR_rt_sigreturn 139
-__SC_COMP(__NR_rt_sigreturn, sys_rt_sigreturn, compat_sys_rt_sigreturn)
-
-/* kernel/sys.c */
-#define __NR_setpriority 140
-__SYSCALL(__NR_setpriority, sys_setpriority)
-#define __NR_getpriority 141
-__SYSCALL(__NR_getpriority, sys_getpriority)
-#define __NR_reboot 142
-__SYSCALL(__NR_reboot, sys_reboot)
-#define __NR_setregid 143
-__SYSCALL(__NR_setregid, sys_setregid)
-#define __NR_setgid 144
-__SYSCALL(__NR_setgid, sys_setgid)
-#define __NR_setreuid 145
-__SYSCALL(__NR_setreuid, sys_setreuid)
-#define __NR_setuid 146
-__SYSCALL(__NR_setuid, sys_setuid)
-#define __NR_setresuid 147
-__SYSCALL(__NR_setresuid, sys_setresuid)
-#define __NR_getresuid 148
-__SYSCALL(__NR_getresuid, sys_getresuid)
-#define __NR_setresgid 149
-__SYSCALL(__NR_setresgid, sys_setresgid)
-#define __NR_getresgid 150
-__SYSCALL(__NR_getresgid, sys_getresgid)
-#define __NR_setfsuid 151
-__SYSCALL(__NR_setfsuid, sys_setfsuid)
-#define __NR_setfsgid 152
-__SYSCALL(__NR_setfsgid, sys_setfsgid)
-#define __NR_times 153
-__SC_COMP(__NR_times, sys_times, compat_sys_times)
-#define __NR_setpgid 154
-__SYSCALL(__NR_setpgid, sys_setpgid)
-#define __NR_getpgid 155
-__SYSCALL(__NR_getpgid, sys_getpgid)
-#define __NR_getsid 156
-__SYSCALL(__NR_getsid, sys_getsid)
-#define __NR_setsid 157
-__SYSCALL(__NR_setsid, sys_setsid)
-#define __NR_getgroups 158
-__SYSCALL(__NR_getgroups, sys_getgroups)
-#define __NR_setgroups 159
-__SYSCALL(__NR_setgroups, sys_setgroups)
-#define __NR_uname 160
-__SYSCALL(__NR_uname, sys_newuname)
-#define __NR_sethostname 161
-__SYSCALL(__NR_sethostname, sys_sethostname)
-#define __NR_setdomainname 162
-__SYSCALL(__NR_setdomainname, sys_setdomainname)
-#define __NR_getrlimit 163
-__SC_COMP(__NR_getrlimit, sys_getrlimit, compat_sys_getrlimit)
-#define __NR_setrlimit 164
-__SC_COMP(__NR_setrlimit, sys_setrlimit, compat_sys_setrlimit)
-#define __NR_getrusage 165
-__SC_COMP(__NR_getrusage, sys_getrusage, compat_sys_getrusage)
-#define __NR_umask 166
-__SYSCALL(__NR_umask, sys_umask)
-#define __NR_prctl 167
-__SYSCALL(__NR_prctl, sys_prctl)
-#define __NR_getcpu 168
-__SYSCALL(__NR_getcpu, sys_getcpu)
-
-/* kernel/time.c */
-#define __NR_gettimeofday 169
-__SC_COMP(__NR_gettimeofday, sys_gettimeofday, compat_sys_gettimeofday)
-#define __NR_settimeofday 170
-__SC_COMP(__NR_settimeofday, sys_settimeofday, compat_sys_settimeofday)
-#define __NR_adjtimex 171
-__SC_COMP(__NR_adjtimex, sys_adjtimex, compat_sys_adjtimex)
-
-/* kernel/timer.c */
-#define __NR_getpid 172
-__SYSCALL(__NR_getpid, sys_getpid)
-#define __NR_getppid 173
-__SYSCALL(__NR_getppid, sys_getppid)
-#define __NR_getuid 174
-__SYSCALL(__NR_getuid, sys_getuid)
-#define __NR_geteuid 175
-__SYSCALL(__NR_geteuid, sys_geteuid)
-#define __NR_getgid 176
-__SYSCALL(__NR_getgid, sys_getgid)
-#define __NR_getegid 177
-__SYSCALL(__NR_getegid, sys_getegid)
-#define __NR_gettid 178
-__SYSCALL(__NR_gettid, sys_gettid)
-#define __NR_sysinfo 179
-__SC_COMP(__NR_sysinfo, sys_sysinfo, compat_sys_sysinfo)
-
-/* ipc/mqueue.c */
-#define __NR_mq_open 180
-__SC_COMP(__NR_mq_open, sys_mq_open, compat_sys_mq_open)
-#define __NR_mq_unlink 181
-__SYSCALL(__NR_mq_unlink, sys_mq_unlink)
-#define __NR_mq_timedsend 182
-__SC_COMP(__NR_mq_timedsend, sys_mq_timedsend, compat_sys_mq_timedsend)
-#define __NR_mq_timedreceive 183
-__SC_COMP(__NR_mq_timedreceive, sys_mq_timedreceive, \
- compat_sys_mq_timedreceive)
-#define __NR_mq_notify 184
-__SC_COMP(__NR_mq_notify, sys_mq_notify, compat_sys_mq_notify)
-#define __NR_mq_getsetattr 185
-__SC_COMP(__NR_mq_getsetattr, sys_mq_getsetattr, compat_sys_mq_getsetattr)
-
-/* ipc/msg.c */
-#define __NR_msgget 186
-__SYSCALL(__NR_msgget, sys_msgget)
-#define __NR_msgctl 187
-__SC_COMP(__NR_msgctl, sys_msgctl, compat_sys_msgctl)
-#define __NR_msgrcv 188
-__SC_COMP(__NR_msgrcv, sys_msgrcv, compat_sys_msgrcv)
-#define __NR_msgsnd 189
-__SC_COMP(__NR_msgsnd, sys_msgsnd, compat_sys_msgsnd)
-
-/* ipc/sem.c */
-#define __NR_semget 190
-__SYSCALL(__NR_semget, sys_semget)
-#define __NR_semctl 191
-__SC_COMP(__NR_semctl, sys_semctl, compat_sys_semctl)
-#define __NR_semtimedop 192
-__SC_COMP(__NR_semtimedop, sys_semtimedop, compat_sys_semtimedop)
-#define __NR_semop 193
-__SYSCALL(__NR_semop, sys_semop)
-
-/* ipc/shm.c */
-#define __NR_shmget 194
-__SYSCALL(__NR_shmget, sys_shmget)
-#define __NR_shmctl 195
-__SC_COMP(__NR_shmctl, sys_shmctl, compat_sys_shmctl)
-#define __NR_shmat 196
-__SC_COMP(__NR_shmat, sys_shmat, compat_sys_shmat)
-#define __NR_shmdt 197
-__SYSCALL(__NR_shmdt, sys_shmdt)
-
-/* net/socket.c */
-#define __NR_socket 198
-__SYSCALL(__NR_socket, sys_socket)
-#define __NR_socketpair 199
-__SYSCALL(__NR_socketpair, sys_socketpair)
-#define __NR_bind 200
-__SYSCALL(__NR_bind, sys_bind)
-#define __NR_listen 201
-__SYSCALL(__NR_listen, sys_listen)
-#define __NR_accept 202
-__SYSCALL(__NR_accept, sys_accept)
-#define __NR_connect 203
-__SYSCALL(__NR_connect, sys_connect)
-#define __NR_getsockname 204
-__SYSCALL(__NR_getsockname, sys_getsockname)
-#define __NR_getpeername 205
-__SYSCALL(__NR_getpeername, sys_getpeername)
-#define __NR_sendto 206
-__SYSCALL(__NR_sendto, sys_sendto)
-#define __NR_recvfrom 207
-__SC_COMP(__NR_recvfrom, sys_recvfrom, compat_sys_recvfrom)
-#define __NR_setsockopt 208
-__SC_COMP(__NR_setsockopt, sys_setsockopt, compat_sys_setsockopt)
-#define __NR_getsockopt 209
-__SC_COMP(__NR_getsockopt, sys_getsockopt, compat_sys_getsockopt)
-#define __NR_shutdown 210
-__SYSCALL(__NR_shutdown, sys_shutdown)
-#define __NR_sendmsg 211
-__SC_COMP(__NR_sendmsg, sys_sendmsg, compat_sys_sendmsg)
-#define __NR_recvmsg 212
-__SC_COMP(__NR_recvmsg, sys_recvmsg, compat_sys_recvmsg)
-
-/* mm/filemap.c */
-#define __NR_readahead 213
-__SC_COMP(__NR_readahead, sys_readahead, compat_sys_readahead)
-
-/* mm/nommu.c, also with MMU */
-#define __NR_brk 214
-__SYSCALL(__NR_brk, sys_brk)
-#define __NR_munmap 215
-__SYSCALL(__NR_munmap, sys_munmap)
-#define __NR_mremap 216
-__SYSCALL(__NR_mremap, sys_mremap)
-
-/* security/keys/keyctl.c */
-#define __NR_add_key 217
-__SYSCALL(__NR_add_key, sys_add_key)
-#define __NR_request_key 218
-__SYSCALL(__NR_request_key, sys_request_key)
-#define __NR_keyctl 219
-__SC_COMP(__NR_keyctl, sys_keyctl, compat_sys_keyctl)
-
-/* arch/example/kernel/sys_example.c */
-#define __NR_clone 220
-__SYSCALL(__NR_clone, sys_clone)
-#define __NR_execve 221
-__SC_COMP(__NR_execve, sys_execve, compat_sys_execve)
-
-#define __NR3264_mmap 222
-__SC_3264(__NR3264_mmap, sys_mmap2, sys_mmap)
-/* mm/fadvise.c */
-#define __NR3264_fadvise64 223
-__SC_COMP(__NR3264_fadvise64, sys_fadvise64_64, compat_sys_fadvise64_64)
-
-/* mm/, CONFIG_MMU only */
-#ifndef __ARCH_NOMMU
-#define __NR_swapon 224
-__SYSCALL(__NR_swapon, sys_swapon)
-#define __NR_swapoff 225
-__SYSCALL(__NR_swapoff, sys_swapoff)
-#define __NR_mprotect 226
-__SYSCALL(__NR_mprotect, sys_mprotect)
-#define __NR_msync 227
-__SYSCALL(__NR_msync, sys_msync)
-#define __NR_mlock 228
-__SYSCALL(__NR_mlock, sys_mlock)
-#define __NR_munlock 229
-__SYSCALL(__NR_munlock, sys_munlock)
-#define __NR_mlockall 230
-__SYSCALL(__NR_mlockall, sys_mlockall)
-#define __NR_munlockall 231
-__SYSCALL(__NR_munlockall, sys_munlockall)
-#define __NR_mincore 232
-__SYSCALL(__NR_mincore, sys_mincore)
-#define __NR_madvise 233
-__SYSCALL(__NR_madvise, sys_madvise)
-#define __NR_remap_file_pages 234
-__SYSCALL(__NR_remap_file_pages, sys_remap_file_pages)
-#define __NR_mbind 235
-__SC_COMP(__NR_mbind, sys_mbind, compat_sys_mbind)
-#define __NR_get_mempolicy 236
-__SC_COMP(__NR_get_mempolicy, sys_get_mempolicy, compat_sys_get_mempolicy)
-#define __NR_set_mempolicy 237
-__SC_COMP(__NR_set_mempolicy, sys_set_mempolicy, compat_sys_set_mempolicy)
-#define __NR_migrate_pages 238
-__SC_COMP(__NR_migrate_pages, sys_migrate_pages, compat_sys_migrate_pages)
-#define __NR_move_pages 239
-__SC_COMP(__NR_move_pages, sys_move_pages, compat_sys_move_pages)
-#endif
-
-#define __NR_rt_tgsigqueueinfo 240
-__SC_COMP(__NR_rt_tgsigqueueinfo, sys_rt_tgsigqueueinfo, \
- compat_sys_rt_tgsigqueueinfo)
-#define __NR_perf_event_open 241
-__SYSCALL(__NR_perf_event_open, sys_perf_event_open)
-#define __NR_accept4 242
-__SYSCALL(__NR_accept4, sys_accept4)
-#define __NR_recvmmsg 243
-__SC_COMP(__NR_recvmmsg, sys_recvmmsg, compat_sys_recvmmsg)
-
-/*
- * Architectures may provide up to 16 syscalls of their own
- * starting with this value.
- */
-#define __NR_arch_specific_syscall 244
-
-#define __NR_wait4 260
-__SC_COMP(__NR_wait4, sys_wait4, compat_sys_wait4)
-#define __NR_prlimit64 261
-__SYSCALL(__NR_prlimit64, sys_prlimit64)
-#define __NR_fanotify_init 262
-__SYSCALL(__NR_fanotify_init, sys_fanotify_init)
-#define __NR_fanotify_mark 263
-__SYSCALL(__NR_fanotify_mark, sys_fanotify_mark)
-#define __NR_name_to_handle_at 264
-__SYSCALL(__NR_name_to_handle_at, sys_name_to_handle_at)
-#define __NR_open_by_handle_at 265
-__SC_COMP(__NR_open_by_handle_at, sys_open_by_handle_at, \
- compat_sys_open_by_handle_at)
-#define __NR_clock_adjtime 266
-__SC_COMP(__NR_clock_adjtime, sys_clock_adjtime, compat_sys_clock_adjtime)
-#define __NR_syncfs 267
-__SYSCALL(__NR_syncfs, sys_syncfs)
-#define __NR_setns 268
-__SYSCALL(__NR_setns, sys_setns)
-#define __NR_sendmmsg 269
-__SC_COMP(__NR_sendmmsg, sys_sendmmsg, compat_sys_sendmmsg)
-#define __NR_process_vm_readv 270
-__SC_COMP(__NR_process_vm_readv, sys_process_vm_readv, \
- compat_sys_process_vm_readv)
-#define __NR_process_vm_writev 271
-__SC_COMP(__NR_process_vm_writev, sys_process_vm_writev, \
- compat_sys_process_vm_writev)
-#define __NR_kcmp 272
-__SYSCALL(__NR_kcmp, sys_kcmp)
-#define __NR_finit_module 273
-__SYSCALL(__NR_finit_module, sys_finit_module)
-#define __NR_sched_setattr 274
-__SYSCALL(__NR_sched_setattr, sys_sched_setattr)
-#define __NR_sched_getattr 275
-__SYSCALL(__NR_sched_getattr, sys_sched_getattr)
-#define __NR_renameat2 276
-__SYSCALL(__NR_renameat2, sys_renameat2)
-#define __NR_seccomp 277
-__SYSCALL(__NR_seccomp, sys_seccomp)
-#define __NR_getrandom 278
-__SYSCALL(__NR_getrandom, sys_getrandom)
-#define __NR_memfd_create 279
-__SYSCALL(__NR_memfd_create, sys_memfd_create)
-#define __NR_bpf 280
-__SYSCALL(__NR_bpf, sys_bpf)
-#define __NR_execveat 281
-__SC_COMP(__NR_execveat, sys_execveat, compat_sys_execveat)
-#define __NR_userfaultfd 282
-__SYSCALL(__NR_userfaultfd, sys_userfaultfd)
-#define __NR_membarrier 283
-__SYSCALL(__NR_membarrier, sys_membarrier)
-#define __NR_mlock2 284
-__SYSCALL(__NR_mlock2, sys_mlock2)
-#define __NR_copy_file_range 285
-__SYSCALL(__NR_copy_file_range, sys_copy_file_range)
-#define __NR_preadv2 286
-__SC_COMP(__NR_preadv2, sys_preadv2, compat_sys_preadv2)
-#define __NR_pwritev2 287
-__SC_COMP(__NR_pwritev2, sys_pwritev2, compat_sys_pwritev2)
-
-#undef __NR_syscalls
-#define __NR_syscalls 288
-
-/*
- * All syscalls below here should go away really,
- * these are provided for both review and as a porting
- * help for the C library version.
- *
- * Last chance: are any of these important enough to
- * enable by default?
- */
-#ifdef __ARCH_WANT_SYSCALL_NO_AT
-#define __NR_open 1024
-__SYSCALL(__NR_open, sys_open)
-#define __NR_link 1025
-__SYSCALL(__NR_link, sys_link)
-#define __NR_unlink 1026
-__SYSCALL(__NR_unlink, sys_unlink)
-#define __NR_mknod 1027
-__SYSCALL(__NR_mknod, sys_mknod)
-#define __NR_chmod 1028
-__SYSCALL(__NR_chmod, sys_chmod)
-#define __NR_chown 1029
-__SYSCALL(__NR_chown, sys_chown)
-#define __NR_mkdir 1030
-__SYSCALL(__NR_mkdir, sys_mkdir)
-#define __NR_rmdir 1031
-__SYSCALL(__NR_rmdir, sys_rmdir)
-#define __NR_lchown 1032
-__SYSCALL(__NR_lchown, sys_lchown)
-#define __NR_access 1033
-__SYSCALL(__NR_access, sys_access)
-#define __NR_rename 1034
-__SYSCALL(__NR_rename, sys_rename)
-#define __NR_readlink 1035
-__SYSCALL(__NR_readlink, sys_readlink)
-#define __NR_symlink 1036
-__SYSCALL(__NR_symlink, sys_symlink)
-#define __NR_utimes 1037
-__SYSCALL(__NR_utimes, sys_utimes)
-#define __NR3264_stat 1038
-__SC_3264(__NR3264_stat, sys_stat64, sys_newstat)
-#define __NR3264_lstat 1039
-__SC_3264(__NR3264_lstat, sys_lstat64, sys_newlstat)
-
-#undef __NR_syscalls
-#define __NR_syscalls (__NR3264_lstat+1)
-#endif /* __ARCH_WANT_SYSCALL_NO_AT */
-
-#ifdef __ARCH_WANT_SYSCALL_NO_FLAGS
-#define __NR_pipe 1040
-__SYSCALL(__NR_pipe, sys_pipe)
-#define __NR_dup2 1041
-__SYSCALL(__NR_dup2, sys_dup2)
-#define __NR_epoll_create 1042
-__SYSCALL(__NR_epoll_create, sys_epoll_create)
-#define __NR_inotify_init 1043
-__SYSCALL(__NR_inotify_init, sys_inotify_init)
-#define __NR_eventfd 1044
-__SYSCALL(__NR_eventfd, sys_eventfd)
-#define __NR_signalfd 1045
-__SYSCALL(__NR_signalfd, sys_signalfd)
-
-#undef __NR_syscalls
-#define __NR_syscalls (__NR_signalfd+1)
-#endif /* __ARCH_WANT_SYSCALL_NO_FLAGS */
-
-#if (__BITS_PER_LONG == 32 || defined(__SYSCALL_COMPAT)) && \
- defined(__ARCH_WANT_SYSCALL_OFF_T)
-#define __NR_sendfile 1046
-__SYSCALL(__NR_sendfile, sys_sendfile)
-#define __NR_ftruncate 1047
-__SYSCALL(__NR_ftruncate, sys_ftruncate)
-#define __NR_truncate 1048
-__SYSCALL(__NR_truncate, sys_truncate)
-#define __NR_stat 1049
-__SYSCALL(__NR_stat, sys_newstat)
-#define __NR_lstat 1050
-__SYSCALL(__NR_lstat, sys_newlstat)
-#define __NR_fstat 1051
-__SYSCALL(__NR_fstat, sys_newfstat)
-#define __NR_fcntl 1052
-__SYSCALL(__NR_fcntl, sys_fcntl)
-#define __NR_fadvise64 1053
-#define __ARCH_WANT_SYS_FADVISE64
-__SYSCALL(__NR_fadvise64, sys_fadvise64)
-#define __NR_newfstatat 1054
-#define __ARCH_WANT_SYS_NEWFSTATAT
-__SYSCALL(__NR_newfstatat, sys_newfstatat)
-#define __NR_fstatfs 1055
-__SYSCALL(__NR_fstatfs, sys_fstatfs)
-#define __NR_statfs 1056
-__SYSCALL(__NR_statfs, sys_statfs)
-#define __NR_lseek 1057
-__SYSCALL(__NR_lseek, sys_lseek)
-#define __NR_mmap 1058
-__SYSCALL(__NR_mmap, sys_mmap)
-
-#undef __NR_syscalls
-#define __NR_syscalls (__NR_mmap+1)
-#endif /* 32 bit off_t syscalls */
-
-#ifdef __ARCH_WANT_SYSCALL_DEPRECATED
-#define __NR_alarm 1059
-#define __ARCH_WANT_SYS_ALARM
-__SYSCALL(__NR_alarm, sys_alarm)
-#define __NR_getpgrp 1060
-#define __ARCH_WANT_SYS_GETPGRP
-__SYSCALL(__NR_getpgrp, sys_getpgrp)
-#define __NR_pause 1061
-#define __ARCH_WANT_SYS_PAUSE
-__SYSCALL(__NR_pause, sys_pause)
-#define __NR_time 1062
-#define __ARCH_WANT_SYS_TIME
-#define __ARCH_WANT_COMPAT_SYS_TIME
-__SYSCALL(__NR_time, sys_time)
-#define __NR_utime 1063
-#define __ARCH_WANT_SYS_UTIME
-__SYSCALL(__NR_utime, sys_utime)
-
-#define __NR_creat 1064
-__SYSCALL(__NR_creat, sys_creat)
-#define __NR_getdents 1065
-#define __ARCH_WANT_SYS_GETDENTS
-__SYSCALL(__NR_getdents, sys_getdents)
-#define __NR_futimesat 1066
-__SYSCALL(__NR_futimesat, sys_futimesat)
-#define __NR_select 1067
-#define __ARCH_WANT_SYS_SELECT
-__SYSCALL(__NR_select, sys_select)
-#define __NR_poll 1068
-__SYSCALL(__NR_poll, sys_poll)
-#define __NR_epoll_wait 1069
-__SYSCALL(__NR_epoll_wait, sys_epoll_wait)
-#define __NR_ustat 1070
-__SYSCALL(__NR_ustat, sys_ustat)
-#define __NR_vfork 1071
-__SYSCALL(__NR_vfork, sys_vfork)
-#define __NR_oldwait4 1072
-__SYSCALL(__NR_oldwait4, sys_wait4)
-#define __NR_recv 1073
-__SYSCALL(__NR_recv, sys_recv)
-#define __NR_send 1074
-__SYSCALL(__NR_send, sys_send)
-#define __NR_bdflush 1075
-__SYSCALL(__NR_bdflush, sys_bdflush)
-#define __NR_umount 1076
-__SYSCALL(__NR_umount, sys_oldumount)
-#define __ARCH_WANT_SYS_OLDUMOUNT
-#define __NR_uselib 1077
-__SYSCALL(__NR_uselib, sys_uselib)
-#define __NR__sysctl 1078
-__SYSCALL(__NR__sysctl, sys_sysctl)
-
-#define __NR_fork 1079
-#ifdef CONFIG_MMU
-__SYSCALL(__NR_fork, sys_fork)
-#else
-__SYSCALL(__NR_fork, sys_ni_syscall)
-#endif /* CONFIG_MMU */
-
-#undef __NR_syscalls
-#define __NR_syscalls (__NR_fork+1)
-
-#endif /* __ARCH_WANT_SYSCALL_DEPRECATED */
-
-/*
- * 32 bit systems traditionally used different
- * syscalls for off_t and loff_t arguments, while
- * 64 bit systems only need the off_t version.
- * For new 32 bit platforms, there is no need to
- * implement the old 32 bit off_t syscalls, so
- * they take different names.
- * Here we map the numbers so that both versions
- * use the same syscall table layout.
- */
-#if __BITS_PER_LONG == 64 && !defined(__SYSCALL_COMPAT)
-#define __NR_fcntl __NR3264_fcntl
-#define __NR_statfs __NR3264_statfs
-#define __NR_fstatfs __NR3264_fstatfs
-#define __NR_truncate __NR3264_truncate
-#define __NR_ftruncate __NR3264_ftruncate
-#define __NR_lseek __NR3264_lseek
-#define __NR_sendfile __NR3264_sendfile
-#define __NR_newfstatat __NR3264_fstatat
-#define __NR_fstat __NR3264_fstat
-#define __NR_mmap __NR3264_mmap
-#define __NR_fadvise64 __NR3264_fadvise64
-#ifdef __NR3264_stat
-#define __NR_stat __NR3264_stat
-#define __NR_lstat __NR3264_lstat
-#endif
-#else
-#define __NR_fcntl64 __NR3264_fcntl
-#define __NR_statfs64 __NR3264_statfs
-#define __NR_fstatfs64 __NR3264_fstatfs
-#define __NR_truncate64 __NR3264_truncate
-#define __NR_ftruncate64 __NR3264_ftruncate
-#define __NR_llseek __NR3264_lseek
-#define __NR_sendfile64 __NR3264_sendfile
-#define __NR_fstatat64 __NR3264_fstatat
-#define __NR_fstat64 __NR3264_fstat
-#define __NR_mmap2 __NR3264_mmap
-#define __NR_fadvise64_64 __NR3264_fadvise64
-#ifdef __NR3264_stat
-#define __NR_stat64 __NR3264_stat
-#define __NR_lstat64 __NR3264_lstat
-#endif
-#endif
diff --git a/linux-headers/include/asm/auxvec.h b/linux-headers/include/asm/auxvec.h
deleted file mode 100644
index 8a860a5..0000000
--- a/linux-headers/include/asm/auxvec.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _ASM_RISCV_AUXVEC_H
-#define _ASM_RISCV_AUXVEC_H
-
-/* vDSO location */
-#define AT_SYSINFO_EHDR 33
-
-#endif /* _ASM_RISCV_AUXVEC_H */
diff --git a/linux-headers/include/asm/bitsperlong.h b/linux-headers/include/asm/bitsperlong.h
deleted file mode 100644
index 33d3ae0..0000000
--- a/linux-headers/include/asm/bitsperlong.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _ASM_RISCV_BITSPERLONG_H
-#define _ASM_RISCV_BITSPERLONG_H
-
-#define __BITS_PER_LONG (__SIZEOF_POINTER__ * 8)
-
-#include <asm-generic/bitsperlong.h>
-
-#endif /* _ASM_RISCV_BITSPERLONG_H */
diff --git a/linux-headers/include/asm/byteorder.h b/linux-headers/include/asm/byteorder.h
deleted file mode 100644
index 0be8269..0000000
--- a/linux-headers/include/asm/byteorder.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _ASM_RISCV_BYTEORDER_H
-#define _ASM_RISCV_BYTEORDER_H
-
-#include <linux/byteorder/little_endian.h>
-
-#endif /* _ASM_RISCV_BYTEORDER_H */
diff --git a/linux-headers/include/asm/errno.h b/linux-headers/include/asm/errno.h
deleted file mode 100644
index 4c82b50..0000000
--- a/linux-headers/include/asm/errno.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/errno.h>
diff --git a/linux-headers/include/asm/fcntl.h b/linux-headers/include/asm/fcntl.h
deleted file mode 100644
index 46ab12d..0000000
--- a/linux-headers/include/asm/fcntl.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/fcntl.h>
diff --git a/linux-headers/include/asm/ioctl.h b/linux-headers/include/asm/ioctl.h
deleted file mode 100644
index b279fe0..0000000
--- a/linux-headers/include/asm/ioctl.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/ioctl.h>
diff --git a/linux-headers/include/asm/ioctls.h b/linux-headers/include/asm/ioctls.h
deleted file mode 100644
index ec34c76..0000000
--- a/linux-headers/include/asm/ioctls.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/ioctls.h>
diff --git a/linux-headers/include/asm/ipcbuf.h b/linux-headers/include/asm/ipcbuf.h
deleted file mode 100644
index 84c7e51..0000000
--- a/linux-headers/include/asm/ipcbuf.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/ipcbuf.h>
diff --git a/linux-headers/include/asm/mman.h b/linux-headers/include/asm/mman.h
deleted file mode 100644
index 8eebf89..0000000
--- a/linux-headers/include/asm/mman.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/mman.h>
diff --git a/linux-headers/include/asm/msgbuf.h b/linux-headers/include/asm/msgbuf.h
deleted file mode 100644
index 809134c..0000000
--- a/linux-headers/include/asm/msgbuf.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/msgbuf.h>
diff --git a/linux-headers/include/asm/param.h b/linux-headers/include/asm/param.h
deleted file mode 100644
index 965d454..0000000
--- a/linux-headers/include/asm/param.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/param.h>
diff --git a/linux-headers/include/asm/poll.h b/linux-headers/include/asm/poll.h
deleted file mode 100644
index c98509d..0000000
--- a/linux-headers/include/asm/poll.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/poll.h>
diff --git a/linux-headers/include/asm/posix_types.h b/linux-headers/include/asm/posix_types.h
deleted file mode 100644
index 22cae62..0000000
--- a/linux-headers/include/asm/posix_types.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/posix_types.h>
diff --git a/linux-headers/include/asm/ptrace.h b/linux-headers/include/asm/ptrace.h
deleted file mode 100644
index 0167fe6..0000000
--- a/linux-headers/include/asm/ptrace.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _ASM_RISCV_PTRACE_H
-#define _ASM_RISCV_PTRACE_H
-
-#ifndef __ASSEMBLY__
-
-#include <linux/types.h>
-
-/* User-mode register state for core dumps, ptrace, sigcontext
- *
- * This decouples struct pt_regs from the userspace ABI.
- * struct user_regs_struct must form a prefix of struct pt_regs.
- */
-struct user_regs_struct {
- unsigned long pc;
- unsigned long ra;
- unsigned long sp;
- unsigned long gp;
- unsigned long tp;
- unsigned long t0;
- unsigned long t1;
- unsigned long t2;
- unsigned long s0;
- unsigned long s1;
- unsigned long a0;
- unsigned long a1;
- unsigned long a2;
- unsigned long a3;
- unsigned long a4;
- unsigned long a5;
- unsigned long a6;
- unsigned long a7;
- unsigned long s2;
- unsigned long s3;
- unsigned long s4;
- unsigned long s5;
- unsigned long s6;
- unsigned long s7;
- unsigned long s8;
- unsigned long s9;
- unsigned long s10;
- unsigned long s11;
- unsigned long t3;
- unsigned long t4;
- unsigned long t5;
- unsigned long t6;
-};
-
-struct user_fpregs_struct {
- __u64 f[32];
- __u32 fcsr;
-};
-
-#endif /* __ASSEMBLY__ */
-
-#endif /* _ASM_RISCV_PTRACE_H */
diff --git a/linux-headers/include/asm/resource.h b/linux-headers/include/asm/resource.h
deleted file mode 100644
index 04bc4db..0000000
--- a/linux-headers/include/asm/resource.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/resource.h>
diff --git a/linux-headers/include/asm/sembuf.h b/linux-headers/include/asm/sembuf.h
deleted file mode 100644
index 7673b83..0000000
--- a/linux-headers/include/asm/sembuf.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/sembuf.h>
diff --git a/linux-headers/include/asm/setup.h b/linux-headers/include/asm/setup.h
deleted file mode 100644
index 2fa6777..0000000
--- a/linux-headers/include/asm/setup.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _ASM_RISCV_SETUP_H
-#define _ASM_RISCV_SETUP_H
-
-#include <asm-generic/setup.h>
-
-#endif /* _ASM_RISCV_SETUP_H */
diff --git a/linux-headers/include/asm/shmbuf.h b/linux-headers/include/asm/shmbuf.h
deleted file mode 100644
index 83c05fc..0000000
--- a/linux-headers/include/asm/shmbuf.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/shmbuf.h>
diff --git a/linux-headers/include/asm/sigcontext.h b/linux-headers/include/asm/sigcontext.h
deleted file mode 100644
index 1a65e11..0000000
--- a/linux-headers/include/asm/sigcontext.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _ASM_RISCV_SIGCONTEXT_H
-#define _ASM_RISCV_SIGCONTEXT_H
-
-#include <asm/ptrace.h>
-
-/* Signal context structure
- *
- * This contains the context saved before a signal handler is invoked;
- * it is restored by sys_sigreturn / sys_rt_sigreturn.
- */
-struct sigcontext {
- struct user_regs_struct sc_regs;
- struct user_fpregs_struct sc_fpregs;
-};
-
-#endif /* _ASM_RISCV_SIGCONTEXT_H */
diff --git a/linux-headers/include/asm/siginfo.h b/linux-headers/include/asm/siginfo.h
deleted file mode 100644
index 29baf87..0000000
--- a/linux-headers/include/asm/siginfo.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2012 ARM Ltd.
- * Copyright (C) 2016 SiFive, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-#ifndef __ASM_SIGINFO_H
-#define __ASM_SIGINFO_H
-
-#define __ARCH_SI_PREAMBLE_SIZE (4 * sizeof(int))
-
-#include <asm-generic/siginfo.h>
-
-#endif
diff --git a/linux-headers/include/asm/signal.h b/linux-headers/include/asm/signal.h
deleted file mode 100644
index 7b1573c..0000000
--- a/linux-headers/include/asm/signal.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/signal.h>
diff --git a/linux-headers/include/asm/socket.h b/linux-headers/include/asm/socket.h
deleted file mode 100644
index 6b71384..0000000
--- a/linux-headers/include/asm/socket.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/socket.h>
diff --git a/linux-headers/include/asm/sockios.h b/linux-headers/include/asm/sockios.h
deleted file mode 100644
index def6d47..0000000
--- a/linux-headers/include/asm/sockios.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/sockios.h>
diff --git a/linux-headers/include/asm/stat.h b/linux-headers/include/asm/stat.h
deleted file mode 100644
index 3dc90fa..0000000
--- a/linux-headers/include/asm/stat.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/stat.h>
diff --git a/linux-headers/include/asm/statfs.h b/linux-headers/include/asm/statfs.h
deleted file mode 100644
index 0b91fe1..0000000
--- a/linux-headers/include/asm/statfs.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/statfs.h>
diff --git a/linux-headers/include/asm/swab.h b/linux-headers/include/asm/swab.h
deleted file mode 100644
index 7847e56..0000000
--- a/linux-headers/include/asm/swab.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/swab.h>
diff --git a/linux-headers/include/asm/termbits.h b/linux-headers/include/asm/termbits.h
deleted file mode 100644
index 3935b10..0000000
--- a/linux-headers/include/asm/termbits.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/termbits.h>
diff --git a/linux-headers/include/asm/termios.h b/linux-headers/include/asm/termios.h
deleted file mode 100644
index 280d78a..0000000
--- a/linux-headers/include/asm/termios.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/termios.h>
diff --git a/linux-headers/include/asm/types.h b/linux-headers/include/asm/types.h
deleted file mode 100644
index b9e79bc..0000000
--- a/linux-headers/include/asm/types.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm-generic/types.h>
diff --git a/linux-headers/include/asm/unistd.h b/linux-headers/include/asm/unistd.h
deleted file mode 100644
index 2ccd451..0000000
--- a/linux-headers/include/asm/unistd.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#include <asm-generic/unistd.h>
-
-#define __NR_sysriscv __NR_arch_specific_syscall
-#ifndef __riscv_atomic
-__SYSCALL(__NR_sysriscv, sys_sysriscv)
-#endif
-
-#define RISCV_ATOMIC_CMPXCHG 1
-#define RISCV_ATOMIC_CMPXCHG64 2
diff --git a/linux-headers/include/drm/amdgpu_drm.h b/linux-headers/include/drm/amdgpu_drm.h
deleted file mode 100644
index 453a76a..0000000
--- a/linux-headers/include/drm/amdgpu_drm.h
+++ /dev/null
@@ -1,645 +0,0 @@
-/* amdgpu_drm.h -- Public header for the amdgpu driver -*- linux-c -*-
- *
- * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas.
- * Copyright 2000 VA Linux Systems, Inc., Fremont, California.
- * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
- * Copyright 2014 Advanced Micro Devices, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- * Kevin E. Martin <martin@valinux.com>
- * Gareth Hughes <gareth@valinux.com>
- * Keith Whitwell <keith@tungstengraphics.com>
- */
-
-#ifndef __AMDGPU_DRM_H__
-#define __AMDGPU_DRM_H__
-
-#include "drm.h"
-
-#define DRM_AMDGPU_GEM_CREATE 0x00
-#define DRM_AMDGPU_GEM_MMAP 0x01
-#define DRM_AMDGPU_CTX 0x02
-#define DRM_AMDGPU_BO_LIST 0x03
-#define DRM_AMDGPU_CS 0x04
-#define DRM_AMDGPU_INFO 0x05
-#define DRM_AMDGPU_GEM_METADATA 0x06
-#define DRM_AMDGPU_GEM_WAIT_IDLE 0x07
-#define DRM_AMDGPU_GEM_VA 0x08
-#define DRM_AMDGPU_WAIT_CS 0x09
-#define DRM_AMDGPU_GEM_OP 0x10
-#define DRM_AMDGPU_GEM_USERPTR 0x11
-
-#define DRM_IOCTL_AMDGPU_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_CREATE, union drm_amdgpu_gem_create)
-#define DRM_IOCTL_AMDGPU_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_MMAP, union drm_amdgpu_gem_mmap)
-#define DRM_IOCTL_AMDGPU_CTX DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_CTX, union drm_amdgpu_ctx)
-#define DRM_IOCTL_AMDGPU_BO_LIST DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_BO_LIST, union drm_amdgpu_bo_list)
-#define DRM_IOCTL_AMDGPU_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_CS, union drm_amdgpu_cs)
-#define DRM_IOCTL_AMDGPU_INFO DRM_IOW(DRM_COMMAND_BASE + DRM_AMDGPU_INFO, struct drm_amdgpu_info)
-#define DRM_IOCTL_AMDGPU_GEM_METADATA DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_METADATA, struct drm_amdgpu_gem_metadata)
-#define DRM_IOCTL_AMDGPU_GEM_WAIT_IDLE DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_WAIT_IDLE, union drm_amdgpu_gem_wait_idle)
-#define DRM_IOCTL_AMDGPU_GEM_VA DRM_IOW(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_VA, struct drm_amdgpu_gem_va)
-#define DRM_IOCTL_AMDGPU_WAIT_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_WAIT_CS, union drm_amdgpu_wait_cs)
-#define DRM_IOCTL_AMDGPU_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_OP, struct drm_amdgpu_gem_op)
-#define DRM_IOCTL_AMDGPU_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_AMDGPU_GEM_USERPTR, struct drm_amdgpu_gem_userptr)
-
-#define AMDGPU_GEM_DOMAIN_CPU 0x1
-#define AMDGPU_GEM_DOMAIN_GTT 0x2
-#define AMDGPU_GEM_DOMAIN_VRAM 0x4
-#define AMDGPU_GEM_DOMAIN_GDS 0x8
-#define AMDGPU_GEM_DOMAIN_GWS 0x10
-#define AMDGPU_GEM_DOMAIN_OA 0x20
-
-/* Flag that CPU access will be required for the case of VRAM domain */
-#define AMDGPU_GEM_CREATE_CPU_ACCESS_REQUIRED (1 << 0)
-/* Flag that CPU access will not work, this VRAM domain is invisible */
-#define AMDGPU_GEM_CREATE_NO_CPU_ACCESS (1 << 1)
-/* Flag that USWC attributes should be used for GTT */
-#define AMDGPU_GEM_CREATE_CPU_GTT_USWC (1 << 2)
-
-struct drm_amdgpu_gem_create_in {
- /** the requested memory size */
- __u64 bo_size;
- /** physical start_addr alignment in bytes for some HW requirements */
- __u64 alignment;
- /** the requested memory domains */
- __u64 domains;
- /** allocation flags */
- __u64 domain_flags;
-};
-
-struct drm_amdgpu_gem_create_out {
- /** returned GEM object handle */
- __u32 handle;
- __u32 _pad;
-};
-
-union drm_amdgpu_gem_create {
- struct drm_amdgpu_gem_create_in in;
- struct drm_amdgpu_gem_create_out out;
-};
-
-/** Opcode to create new residency list. */
-#define AMDGPU_BO_LIST_OP_CREATE 0
-/** Opcode to destroy previously created residency list */
-#define AMDGPU_BO_LIST_OP_DESTROY 1
-/** Opcode to update resource information in the list */
-#define AMDGPU_BO_LIST_OP_UPDATE 2
-
-struct drm_amdgpu_bo_list_in {
- /** Type of operation */
- __u32 operation;
- /** Handle of list or 0 if we want to create one */
- __u32 list_handle;
- /** Number of BOs in list */
- __u32 bo_number;
- /** Size of each element describing BO */
- __u32 bo_info_size;
- /** Pointer to array describing BOs */
- __u64 bo_info_ptr;
-};
-
-struct drm_amdgpu_bo_list_entry {
- /** Handle of BO */
- __u32 bo_handle;
- /** New (if specified) BO priority to be used during migration */
- __u32 bo_priority;
-};
-
-struct drm_amdgpu_bo_list_out {
- /** Handle of resource list */
- __u32 list_handle;
- __u32 _pad;
-};
-
-union drm_amdgpu_bo_list {
- struct drm_amdgpu_bo_list_in in;
- struct drm_amdgpu_bo_list_out out;
-};
-
-/* context related */
-#define AMDGPU_CTX_OP_ALLOC_CTX 1
-#define AMDGPU_CTX_OP_FREE_CTX 2
-#define AMDGPU_CTX_OP_QUERY_STATE 3
-
-/* GPU reset status */
-#define AMDGPU_CTX_NO_RESET 0
-/* this the context caused it */
-#define AMDGPU_CTX_GUILTY_RESET 1
-/* some other context caused it */
-#define AMDGPU_CTX_INNOCENT_RESET 2
-/* unknown cause */
-#define AMDGPU_CTX_UNKNOWN_RESET 3
-
-struct drm_amdgpu_ctx_in {
- /** AMDGPU_CTX_OP_* */
- __u32 op;
- /** For future use, no flags defined so far */
- __u32 flags;
- __u32 ctx_id;
- __u32 _pad;
-};
-
-union drm_amdgpu_ctx_out {
- struct {
- __u32 ctx_id;
- __u32 _pad;
- } alloc;
-
- struct {
- /** For future use, no flags defined so far */
- __u64 flags;
- /** Number of resets caused by this context so far. */
- __u32 hangs;
- /** Reset status since the last call of the ioctl. */
- __u32 reset_status;
- } state;
-};
-
-union drm_amdgpu_ctx {
- struct drm_amdgpu_ctx_in in;
- union drm_amdgpu_ctx_out out;
-};
-
-/*
- * This is not a reliable API and you should expect it to fail for any
- * number of reasons and have fallback path that do not use userptr to
- * perform any operation.
- */
-#define AMDGPU_GEM_USERPTR_READONLY (1 << 0)
-#define AMDGPU_GEM_USERPTR_ANONONLY (1 << 1)
-#define AMDGPU_GEM_USERPTR_VALIDATE (1 << 2)
-#define AMDGPU_GEM_USERPTR_REGISTER (1 << 3)
-
-struct drm_amdgpu_gem_userptr {
- __u64 addr;
- __u64 size;
- /* AMDGPU_GEM_USERPTR_* */
- __u32 flags;
- /* Resulting GEM handle */
- __u32 handle;
-};
-
-/* same meaning as the GB_TILE_MODE and GL_MACRO_TILE_MODE fields */
-#define AMDGPU_TILING_ARRAY_MODE_SHIFT 0
-#define AMDGPU_TILING_ARRAY_MODE_MASK 0xf
-#define AMDGPU_TILING_PIPE_CONFIG_SHIFT 4
-#define AMDGPU_TILING_PIPE_CONFIG_MASK 0x1f
-#define AMDGPU_TILING_TILE_SPLIT_SHIFT 9
-#define AMDGPU_TILING_TILE_SPLIT_MASK 0x7
-#define AMDGPU_TILING_MICRO_TILE_MODE_SHIFT 12
-#define AMDGPU_TILING_MICRO_TILE_MODE_MASK 0x7
-#define AMDGPU_TILING_BANK_WIDTH_SHIFT 15
-#define AMDGPU_TILING_BANK_WIDTH_MASK 0x3
-#define AMDGPU_TILING_BANK_HEIGHT_SHIFT 17
-#define AMDGPU_TILING_BANK_HEIGHT_MASK 0x3
-#define AMDGPU_TILING_MACRO_TILE_ASPECT_SHIFT 19
-#define AMDGPU_TILING_MACRO_TILE_ASPECT_MASK 0x3
-#define AMDGPU_TILING_NUM_BANKS_SHIFT 21
-#define AMDGPU_TILING_NUM_BANKS_MASK 0x3
-
-#define AMDGPU_TILING_SET(field, value) \
- (((value) & AMDGPU_TILING_##field##_MASK) << AMDGPU_TILING_##field##_SHIFT)
-#define AMDGPU_TILING_GET(value, field) \
- (((value) >> AMDGPU_TILING_##field##_SHIFT) & AMDGPU_TILING_##field##_MASK)
-
-#define AMDGPU_GEM_METADATA_OP_SET_METADATA 1
-#define AMDGPU_GEM_METADATA_OP_GET_METADATA 2
-
-/** The same structure is shared for input/output */
-struct drm_amdgpu_gem_metadata {
- /** GEM Object handle */
- __u32 handle;
- /** Do we want get or set metadata */
- __u32 op;
- struct {
- /** For future use, no flags defined so far */
- __u64 flags;
- /** family specific tiling info */
- __u64 tiling_info;
- __u32 data_size_bytes;
- __u32 data[64];
- } data;
-};
-
-struct drm_amdgpu_gem_mmap_in {
- /** the GEM object handle */
- __u32 handle;
- __u32 _pad;
-};
-
-struct drm_amdgpu_gem_mmap_out {
- /** mmap offset from the vma offset manager */
- __u64 addr_ptr;
-};
-
-union drm_amdgpu_gem_mmap {
- struct drm_amdgpu_gem_mmap_in in;
- struct drm_amdgpu_gem_mmap_out out;
-};
-
-struct drm_amdgpu_gem_wait_idle_in {
- /** GEM object handle */
- __u32 handle;
- /** For future use, no flags defined so far */
- __u32 flags;
- /** Absolute timeout to wait */
- __u64 timeout;
-};
-
-struct drm_amdgpu_gem_wait_idle_out {
- /** BO status: 0 - BO is idle, 1 - BO is busy */
- __u32 status;
- /** Returned current memory domain */
- __u32 domain;
-};
-
-union drm_amdgpu_gem_wait_idle {
- struct drm_amdgpu_gem_wait_idle_in in;
- struct drm_amdgpu_gem_wait_idle_out out;
-};
-
-struct drm_amdgpu_wait_cs_in {
- /** Command submission handle */
- __u64 handle;
- /** Absolute timeout to wait */
- __u64 timeout;
- __u32 ip_type;
- __u32 ip_instance;
- __u32 ring;
- __u32 ctx_id;
-};
-
-struct drm_amdgpu_wait_cs_out {
- /** CS status: 0 - CS completed, 1 - CS still busy */
- __u64 status;
-};
-
-union drm_amdgpu_wait_cs {
- struct drm_amdgpu_wait_cs_in in;
- struct drm_amdgpu_wait_cs_out out;
-};
-
-#define AMDGPU_GEM_OP_GET_GEM_CREATE_INFO 0
-#define AMDGPU_GEM_OP_SET_PLACEMENT 1
-
-/* Sets or returns a value associated with a buffer. */
-struct drm_amdgpu_gem_op {
- /** GEM object handle */
- __u32 handle;
- /** AMDGPU_GEM_OP_* */
- __u32 op;
- /** Input or return value */
- __u64 value;
-};
-
-#define AMDGPU_VA_OP_MAP 1
-#define AMDGPU_VA_OP_UNMAP 2
-
-/* Delay the page table update till the next CS */
-#define AMDGPU_VM_DELAY_UPDATE (1 << 0)
-
-/* Mapping flags */
-/* readable mapping */
-#define AMDGPU_VM_PAGE_READABLE (1 << 1)
-/* writable mapping */
-#define AMDGPU_VM_PAGE_WRITEABLE (1 << 2)
-/* executable mapping, new for VI */
-#define AMDGPU_VM_PAGE_EXECUTABLE (1 << 3)
-
-struct drm_amdgpu_gem_va {
- /** GEM object handle */
- __u32 handle;
- __u32 _pad;
- /** AMDGPU_VA_OP_* */
- __u32 operation;
- /** AMDGPU_VM_PAGE_* */
- __u32 flags;
- /** va address to assign . Must be correctly aligned.*/
- __u64 va_address;
- /** Specify offset inside of BO to assign. Must be correctly aligned.*/
- __u64 offset_in_bo;
- /** Specify mapping size. Must be correctly aligned. */
- __u64 map_size;
-};
-
-#define AMDGPU_HW_IP_GFX 0
-#define AMDGPU_HW_IP_COMPUTE 1
-#define AMDGPU_HW_IP_DMA 2
-#define AMDGPU_HW_IP_UVD 3
-#define AMDGPU_HW_IP_VCE 4
-#define AMDGPU_HW_IP_NUM 5
-
-#define AMDGPU_HW_IP_INSTANCE_MAX_COUNT 1
-
-#define AMDGPU_CHUNK_ID_IB 0x01
-#define AMDGPU_CHUNK_ID_FENCE 0x02
-#define AMDGPU_CHUNK_ID_DEPENDENCIES 0x03
-
-struct drm_amdgpu_cs_chunk {
- __u32 chunk_id;
- __u32 length_dw;
- __u64 chunk_data;
-};
-
-struct drm_amdgpu_cs_in {
- /** Rendering context id */
- __u32 ctx_id;
- /** Handle of resource list associated with CS */
- __u32 bo_list_handle;
- __u32 num_chunks;
- __u32 _pad;
- /** this points to __u64 * which point to cs chunks */
- __u64 chunks;
-};
-
-struct drm_amdgpu_cs_out {
- __u64 handle;
-};
-
-union drm_amdgpu_cs {
- struct drm_amdgpu_cs_in in;
- struct drm_amdgpu_cs_out out;
-};
-
-/* Specify flags to be used for IB */
-
-/* This IB should be submitted to CE */
-#define AMDGPU_IB_FLAG_CE (1<<0)
-
-/* CE Preamble */
-#define AMDGPU_IB_FLAG_PREAMBLE (1<<1)
-
-struct drm_amdgpu_cs_chunk_ib {
- __u32 _pad;
- /** AMDGPU_IB_FLAG_* */
- __u32 flags;
- /** Virtual address to begin IB execution */
- __u64 va_start;
- /** Size of submission */
- __u32 ib_bytes;
- /** HW IP to submit to */
- __u32 ip_type;
- /** HW IP index of the same type to submit to */
- __u32 ip_instance;
- /** Ring index to submit to */
- __u32 ring;
-};
-
-struct drm_amdgpu_cs_chunk_dep {
- __u32 ip_type;
- __u32 ip_instance;
- __u32 ring;
- __u32 ctx_id;
- __u64 handle;
-};
-
-struct drm_amdgpu_cs_chunk_fence {
- __u32 handle;
- __u32 offset;
-};
-
-struct drm_amdgpu_cs_chunk_data {
- union {
- struct drm_amdgpu_cs_chunk_ib ib_data;
- struct drm_amdgpu_cs_chunk_fence fence_data;
- };
-};
-
-/**
- * Query h/w info: Flag that this is integrated (a.h.a. fusion) GPU
- *
- */
-#define AMDGPU_IDS_FLAGS_FUSION 0x1
-
-/* indicate if acceleration can be working */
-#define AMDGPU_INFO_ACCEL_WORKING 0x00
-/* get the crtc_id from the mode object id? */
-#define AMDGPU_INFO_CRTC_FROM_ID 0x01
-/* query hw IP info */
-#define AMDGPU_INFO_HW_IP_INFO 0x02
-/* query hw IP instance count for the specified type */
-#define AMDGPU_INFO_HW_IP_COUNT 0x03
-/* timestamp for GL_ARB_timer_query */
-#define AMDGPU_INFO_TIMESTAMP 0x05
-/* Query the firmware version */
-#define AMDGPU_INFO_FW_VERSION 0x0e
- /* Subquery id: Query VCE firmware version */
- #define AMDGPU_INFO_FW_VCE 0x1
- /* Subquery id: Query UVD firmware version */
- #define AMDGPU_INFO_FW_UVD 0x2
- /* Subquery id: Query GMC firmware version */
- #define AMDGPU_INFO_FW_GMC 0x03
- /* Subquery id: Query GFX ME firmware version */
- #define AMDGPU_INFO_FW_GFX_ME 0x04
- /* Subquery id: Query GFX PFP firmware version */
- #define AMDGPU_INFO_FW_GFX_PFP 0x05
- /* Subquery id: Query GFX CE firmware version */
- #define AMDGPU_INFO_FW_GFX_CE 0x06
- /* Subquery id: Query GFX RLC firmware version */
- #define AMDGPU_INFO_FW_GFX_RLC 0x07
- /* Subquery id: Query GFX MEC firmware version */
- #define AMDGPU_INFO_FW_GFX_MEC 0x08
- /* Subquery id: Query SMC firmware version */
- #define AMDGPU_INFO_FW_SMC 0x0a
- /* Subquery id: Query SDMA firmware version */
- #define AMDGPU_INFO_FW_SDMA 0x0b
-/* number of bytes moved for TTM migration */
-#define AMDGPU_INFO_NUM_BYTES_MOVED 0x0f
-/* the used VRAM size */
-#define AMDGPU_INFO_VRAM_USAGE 0x10
-/* the used GTT size */
-#define AMDGPU_INFO_GTT_USAGE 0x11
-/* Information about GDS, etc. resource configuration */
-#define AMDGPU_INFO_GDS_CONFIG 0x13
-/* Query information about VRAM and GTT domains */
-#define AMDGPU_INFO_VRAM_GTT 0x14
-/* Query information about register in MMR address space*/
-#define AMDGPU_INFO_READ_MMR_REG 0x15
-/* Query information about device: rev id, family, etc. */
-#define AMDGPU_INFO_DEV_INFO 0x16
-/* visible vram usage */
-#define AMDGPU_INFO_VIS_VRAM_USAGE 0x17
-
-#define AMDGPU_INFO_MMR_SE_INDEX_SHIFT 0
-#define AMDGPU_INFO_MMR_SE_INDEX_MASK 0xff
-#define AMDGPU_INFO_MMR_SH_INDEX_SHIFT 8
-#define AMDGPU_INFO_MMR_SH_INDEX_MASK 0xff
-
-/* Input structure for the INFO ioctl */
-struct drm_amdgpu_info {
- /* Where the return value will be stored */
- __u64 return_pointer;
- /* The size of the return value. Just like "size" in "snprintf",
- * it limits how many bytes the kernel can write. */
- __u32 return_size;
- /* The query request id. */
- __u32 query;
-
- union {
- struct {
- __u32 id;
- __u32 _pad;
- } mode_crtc;
-
- struct {
- /** AMDGPU_HW_IP_* */
- __u32 type;
- /**
- * Index of the IP if there are more IPs of the same
- * type. Ignored by AMDGPU_INFO_HW_IP_COUNT.
- */
- __u32 ip_instance;
- } query_hw_ip;
-
- struct {
- __u32 dword_offset;
- /** number of registers to read */
- __u32 count;
- __u32 instance;
- /** For future use, no flags defined so far */
- __u32 flags;
- } read_mmr_reg;
-
- struct {
- /** AMDGPU_INFO_FW_* */
- __u32 fw_type;
- /**
- * Index of the IP if there are more IPs of
- * the same type.
- */
- __u32 ip_instance;
- /**
- * Index of the engine. Whether this is used depends
- * on the firmware type. (e.g. MEC, SDMA)
- */
- __u32 index;
- __u32 _pad;
- } query_fw;
- };
-};
-
-struct drm_amdgpu_info_gds {
- /** GDS GFX partition size */
- __u32 gds_gfx_partition_size;
- /** GDS compute partition size */
- __u32 compute_partition_size;
- /** total GDS memory size */
- __u32 gds_total_size;
- /** GWS size per GFX partition */
- __u32 gws_per_gfx_partition;
- /** GSW size per compute partition */
- __u32 gws_per_compute_partition;
- /** OA size per GFX partition */
- __u32 oa_per_gfx_partition;
- /** OA size per compute partition */
- __u32 oa_per_compute_partition;
- __u32 _pad;
-};
-
-struct drm_amdgpu_info_vram_gtt {
- __u64 vram_size;
- __u64 vram_cpu_accessible_size;
- __u64 gtt_size;
-};
-
-struct drm_amdgpu_info_firmware {
- __u32 ver;
- __u32 feature;
-};
-
-#define AMDGPU_VRAM_TYPE_UNKNOWN 0
-#define AMDGPU_VRAM_TYPE_GDDR1 1
-#define AMDGPU_VRAM_TYPE_DDR2 2
-#define AMDGPU_VRAM_TYPE_GDDR3 3
-#define AMDGPU_VRAM_TYPE_GDDR4 4
-#define AMDGPU_VRAM_TYPE_GDDR5 5
-#define AMDGPU_VRAM_TYPE_HBM 6
-#define AMDGPU_VRAM_TYPE_DDR3 7
-
-struct drm_amdgpu_info_device {
- /** PCI Device ID */
- __u32 device_id;
- /** Internal chip revision: A0, A1, etc.) */
- __u32 chip_rev;
- __u32 external_rev;
- /** Revision id in PCI Config space */
- __u32 pci_rev;
- __u32 family;
- __u32 num_shader_engines;
- __u32 num_shader_arrays_per_engine;
- /* in KHz */
- __u32 gpu_counter_freq;
- __u64 max_engine_clock;
- __u64 max_memory_clock;
- /* cu information */
- __u32 cu_active_number;
- __u32 cu_ao_mask;
- __u32 cu_bitmap[4][4];
- /** Render backend pipe mask. One render backend is CB+DB. */
- __u32 enabled_rb_pipes_mask;
- __u32 num_rb_pipes;
- __u32 num_hw_gfx_contexts;
- __u32 _pad;
- __u64 ids_flags;
- /** Starting virtual address for UMDs. */
- __u64 virtual_address_offset;
- /** The maximum virtual address */
- __u64 virtual_address_max;
- /** Required alignment of virtual addresses. */
- __u32 virtual_address_alignment;
- /** Page table entry - fragment size */
- __u32 pte_fragment_size;
- __u32 gart_page_size;
- /** constant engine ram size*/
- __u32 ce_ram_size;
- /** video memory type info*/
- __u32 vram_type;
- /** video memory bit width*/
- __u32 vram_bit_width;
- /* vce harvesting instance */
- __u32 vce_harvest_config;
-};
-
-struct drm_amdgpu_info_hw_ip {
- /** Version of h/w IP */
- __u32 hw_ip_version_major;
- __u32 hw_ip_version_minor;
- /** Capabilities */
- __u64 capabilities_flags;
- /** command buffer address start alignment*/
- __u32 ib_start_alignment;
- /** command buffer size alignment*/
- __u32 ib_size_alignment;
- /** Bitmask of available rings. Bit 0 means ring 0, etc. */
- __u32 available_rings;
- __u32 _pad;
-};
-
-/*
- * Supported GPU families
- */
-#define AMDGPU_FAMILY_UNKNOWN 0
-#define AMDGPU_FAMILY_CI 120 /* Bonaire, Hawaii */
-#define AMDGPU_FAMILY_KV 125 /* Kaveri, Kabini, Mullins */
-#define AMDGPU_FAMILY_VI 130 /* Iceland, Tonga */
-#define AMDGPU_FAMILY_CZ 135 /* Carrizo, Stoney */
-
-#endif
diff --git a/linux-headers/include/drm/drm.h b/linux-headers/include/drm/drm.h
deleted file mode 100644
index 1ad9230..0000000
--- a/linux-headers/include/drm/drm.h
+++ /dev/null
@@ -1,877 +0,0 @@
-/**
- * \file drm.h
- * Header for the Direct Rendering Manager
- *
- * \author Rickard E. (Rik) Faith <faith@valinux.com>
- *
- * \par Acknowledgments:
- * Dec 1999, Richard Henderson <rth@twiddle.net>, move to generic \c cmpxchg.
- */
-
-/*
- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
- * All rights reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _DRM_H_
-#define _DRM_H_
-
-#if defined(__KERNEL__) || defined(__linux__)
-
-#include <linux/types.h>
-#include <asm/ioctl.h>
-typedef unsigned int drm_handle_t;
-
-#else /* One of the BSDs */
-
-#include <sys/ioccom.h>
-#include <sys/types.h>
-typedef int8_t __s8;
-typedef uint8_t __u8;
-typedef int16_t __s16;
-typedef uint16_t __u16;
-typedef int32_t __s32;
-typedef uint32_t __u32;
-typedef int64_t __s64;
-typedef uint64_t __u64;
-typedef size_t __kernel_size_t;
-typedef unsigned long drm_handle_t;
-
-#endif
-
-#define DRM_NAME "drm" /**< Name in kernel, /dev, and /proc */
-#define DRM_MIN_ORDER 5 /**< At least 2^5 bytes = 32 bytes */
-#define DRM_MAX_ORDER 22 /**< Up to 2^22 bytes = 4MB */
-#define DRM_RAM_PERCENT 10 /**< How much system ram can we lock? */
-
-#define _DRM_LOCK_HELD 0x80000000U /**< Hardware lock is held */
-#define _DRM_LOCK_CONT 0x40000000U /**< Hardware lock is contended */
-#define _DRM_LOCK_IS_HELD(lock) ((lock) & _DRM_LOCK_HELD)
-#define _DRM_LOCK_IS_CONT(lock) ((lock) & _DRM_LOCK_CONT)
-#define _DRM_LOCKING_CONTEXT(lock) ((lock) & ~(_DRM_LOCK_HELD|_DRM_LOCK_CONT))
-
-typedef unsigned int drm_context_t;
-typedef unsigned int drm_drawable_t;
-typedef unsigned int drm_magic_t;
-
-/**
- * Cliprect.
- *
- * \warning: If you change this structure, make sure you change
- * XF86DRIClipRectRec in the server as well
- *
- * \note KW: Actually it's illegal to change either for
- * backwards-compatibility reasons.
- */
-struct drm_clip_rect {
- unsigned short x1;
- unsigned short y1;
- unsigned short x2;
- unsigned short y2;
-};
-
-/**
- * Drawable information.
- */
-struct drm_drawable_info {
- unsigned int num_rects;
- struct drm_clip_rect *rects;
-};
-
-/**
- * Texture region,
- */
-struct drm_tex_region {
- unsigned char next;
- unsigned char prev;
- unsigned char in_use;
- unsigned char padding;
- unsigned int age;
-};
-
-/**
- * Hardware lock.
- *
- * The lock structure is a simple cache-line aligned integer. To avoid
- * processor bus contention on a multiprocessor system, there should not be any
- * other data stored in the same cache line.
- */
-struct drm_hw_lock {
- __volatile__ unsigned int lock; /**< lock variable */
- char padding[60]; /**< Pad to cache line */
-};
-
-/**
- * DRM_IOCTL_VERSION ioctl argument type.
- *
- * \sa drmGetVersion().
- */
-struct drm_version {
- int version_major; /**< Major version */
- int version_minor; /**< Minor version */
- int version_patchlevel; /**< Patch level */
- __kernel_size_t name_len; /**< Length of name buffer */
- char *name; /**< Name of driver */
- __kernel_size_t date_len; /**< Length of date buffer */
- char *date; /**< User-space buffer to hold date */
- __kernel_size_t desc_len; /**< Length of desc buffer */
- char *desc; /**< User-space buffer to hold desc */
-};
-
-/**
- * DRM_IOCTL_GET_UNIQUE ioctl argument type.
- *
- * \sa drmGetBusid() and drmSetBusId().
- */
-struct drm_unique {
- __kernel_size_t unique_len; /**< Length of unique */
- char *unique; /**< Unique name for driver instantiation */
-};
-
-struct drm_list {
- int count; /**< Length of user-space structures */
- struct drm_version *version;
-};
-
-struct drm_block {
- int unused;
-};
-
-/**
- * DRM_IOCTL_CONTROL ioctl argument type.
- *
- * \sa drmCtlInstHandler() and drmCtlUninstHandler().
- */
-struct drm_control {
- enum {
- DRM_ADD_COMMAND,
- DRM_RM_COMMAND,
- DRM_INST_HANDLER,
- DRM_UNINST_HANDLER
- } func;
- int irq;
-};
-
-/**
- * Type of memory to map.
- */
-enum drm_map_type {
- _DRM_FRAME_BUFFER = 0, /**< WC (no caching), no core dump */
- _DRM_REGISTERS = 1, /**< no caching, no core dump */
- _DRM_SHM = 2, /**< shared, cached */
- _DRM_AGP = 3, /**< AGP/GART */
- _DRM_SCATTER_GATHER = 4, /**< Scatter/gather memory for PCI DMA */
- _DRM_CONSISTENT = 5, /**< Consistent memory for PCI DMA */
-};
-
-/**
- * Memory mapping flags.
- */
-enum drm_map_flags {
- _DRM_RESTRICTED = 0x01, /**< Cannot be mapped to user-virtual */
- _DRM_READ_ONLY = 0x02,
- _DRM_LOCKED = 0x04, /**< shared, cached, locked */
- _DRM_KERNEL = 0x08, /**< kernel requires access */
- _DRM_WRITE_COMBINING = 0x10, /**< use write-combining if available */
- _DRM_CONTAINS_LOCK = 0x20, /**< SHM page that contains lock */
- _DRM_REMOVABLE = 0x40, /**< Removable mapping */
- _DRM_DRIVER = 0x80 /**< Managed by driver */
-};
-
-struct drm_ctx_priv_map {
- unsigned int ctx_id; /**< Context requesting private mapping */
- void *handle; /**< Handle of map */
-};
-
-/**
- * DRM_IOCTL_GET_MAP, DRM_IOCTL_ADD_MAP and DRM_IOCTL_RM_MAP ioctls
- * argument type.
- *
- * \sa drmAddMap().
- */
-struct drm_map {
- unsigned long offset; /**< Requested physical address (0 for SAREA)*/
- unsigned long size; /**< Requested physical size (bytes) */
- enum drm_map_type type; /**< Type of memory to map */
- enum drm_map_flags flags; /**< Flags */
- void *handle; /**< User-space: "Handle" to pass to mmap() */
- /**< Kernel-space: kernel-virtual address */
- int mtrr; /**< MTRR slot used */
- /* Private data */
-};
-
-/**
- * DRM_IOCTL_GET_CLIENT ioctl argument type.
- */
-struct drm_client {
- int idx; /**< Which client desired? */
- int auth; /**< Is client authenticated? */
- unsigned long pid; /**< Process ID */
- unsigned long uid; /**< User ID */
- unsigned long magic; /**< Magic */
- unsigned long iocs; /**< Ioctl count */
-};
-
-enum drm_stat_type {
- _DRM_STAT_LOCK,
- _DRM_STAT_OPENS,
- _DRM_STAT_CLOSES,
- _DRM_STAT_IOCTLS,
- _DRM_STAT_LOCKS,
- _DRM_STAT_UNLOCKS,
- _DRM_STAT_VALUE, /**< Generic value */
- _DRM_STAT_BYTE, /**< Generic byte counter (1024bytes/K) */
- _DRM_STAT_COUNT, /**< Generic non-byte counter (1000/k) */
-
- _DRM_STAT_IRQ, /**< IRQ */
- _DRM_STAT_PRIMARY, /**< Primary DMA bytes */
- _DRM_STAT_SECONDARY, /**< Secondary DMA bytes */
- _DRM_STAT_DMA, /**< DMA */
- _DRM_STAT_SPECIAL, /**< Special DMA (e.g., priority or polled) */
- _DRM_STAT_MISSED /**< Missed DMA opportunity */
- /* Add to the *END* of the list */
-};
-
-/**
- * DRM_IOCTL_GET_STATS ioctl argument type.
- */
-struct drm_stats {
- unsigned long count;
- struct {
- unsigned long value;
- enum drm_stat_type type;
- } data[15];
-};
-
-/**
- * Hardware locking flags.
- */
-enum drm_lock_flags {
- _DRM_LOCK_READY = 0x01, /**< Wait until hardware is ready for DMA */
- _DRM_LOCK_QUIESCENT = 0x02, /**< Wait until hardware quiescent */
- _DRM_LOCK_FLUSH = 0x04, /**< Flush this context's DMA queue first */
- _DRM_LOCK_FLUSH_ALL = 0x08, /**< Flush all DMA queues first */
- /* These *HALT* flags aren't supported yet
- -- they will be used to support the
- full-screen DGA-like mode. */
- _DRM_HALT_ALL_QUEUES = 0x10, /**< Halt all current and future queues */
- _DRM_HALT_CUR_QUEUES = 0x20 /**< Halt all current queues */
-};
-
-/**
- * DRM_IOCTL_LOCK, DRM_IOCTL_UNLOCK and DRM_IOCTL_FINISH ioctl argument type.
- *
- * \sa drmGetLock() and drmUnlock().
- */
-struct drm_lock {
- int context;
- enum drm_lock_flags flags;
-};
-
-/**
- * DMA flags
- *
- * \warning
- * These values \e must match xf86drm.h.
- *
- * \sa drm_dma.
- */
-enum drm_dma_flags {
- /* Flags for DMA buffer dispatch */
- _DRM_DMA_BLOCK = 0x01, /**<
- * Block until buffer dispatched.
- *
- * \note The buffer may not yet have
- * been processed by the hardware --
- * getting a hardware lock with the
- * hardware quiescent will ensure
- * that the buffer has been
- * processed.
- */
- _DRM_DMA_WHILE_LOCKED = 0x02, /**< Dispatch while lock held */
- _DRM_DMA_PRIORITY = 0x04, /**< High priority dispatch */
-
- /* Flags for DMA buffer request */
- _DRM_DMA_WAIT = 0x10, /**< Wait for free buffers */
- _DRM_DMA_SMALLER_OK = 0x20, /**< Smaller-than-requested buffers OK */
- _DRM_DMA_LARGER_OK = 0x40 /**< Larger-than-requested buffers OK */
-};
-
-/**
- * DRM_IOCTL_ADD_BUFS and DRM_IOCTL_MARK_BUFS ioctl argument type.
- *
- * \sa drmAddBufs().
- */
-struct drm_buf_desc {
- int count; /**< Number of buffers of this size */
- int size; /**< Size in bytes */
- int low_mark; /**< Low water mark */
- int high_mark; /**< High water mark */
- enum {
- _DRM_PAGE_ALIGN = 0x01, /**< Align on page boundaries for DMA */
- _DRM_AGP_BUFFER = 0x02, /**< Buffer is in AGP space */
- _DRM_SG_BUFFER = 0x04, /**< Scatter/gather memory buffer */
- _DRM_FB_BUFFER = 0x08, /**< Buffer is in frame buffer */
- _DRM_PCI_BUFFER_RO = 0x10 /**< Map PCI DMA buffer read-only */
- } flags;
- unsigned long agp_start; /**<
- * Start address of where the AGP buffers are
- * in the AGP aperture
- */
-};
-
-/**
- * DRM_IOCTL_INFO_BUFS ioctl argument type.
- */
-struct drm_buf_info {
- int count; /**< Entries in list */
- struct drm_buf_desc *list;
-};
-
-/**
- * DRM_IOCTL_FREE_BUFS ioctl argument type.
- */
-struct drm_buf_free {
- int count;
- int *list;
-};
-
-/**
- * Buffer information
- *
- * \sa drm_buf_map.
- */
-struct drm_buf_pub {
- int idx; /**< Index into the master buffer list */
- int total; /**< Buffer size */
- int used; /**< Amount of buffer in use (for DMA) */
- void *address; /**< Address of buffer */
-};
-
-/**
- * DRM_IOCTL_MAP_BUFS ioctl argument type.
- */
-struct drm_buf_map {
- int count; /**< Length of the buffer list */
- void *virtual; /**< Mmap'd area in user-virtual */
- struct drm_buf_pub *list; /**< Buffer information */
-};
-
-/**
- * DRM_IOCTL_DMA ioctl argument type.
- *
- * Indices here refer to the offset into the buffer list in drm_buf_get.
- *
- * \sa drmDMA().
- */
-struct drm_dma {
- int context; /**< Context handle */
- int send_count; /**< Number of buffers to send */
- int *send_indices; /**< List of handles to buffers */
- int *send_sizes; /**< Lengths of data to send */
- enum drm_dma_flags flags; /**< Flags */
- int request_count; /**< Number of buffers requested */
- int request_size; /**< Desired size for buffers */
- int *request_indices; /**< Buffer information */
- int *request_sizes;
- int granted_count; /**< Number of buffers granted */
-};
-
-enum drm_ctx_flags {
- _DRM_CONTEXT_PRESERVED = 0x01,
- _DRM_CONTEXT_2DONLY = 0x02
-};
-
-/**
- * DRM_IOCTL_ADD_CTX ioctl argument type.
- *
- * \sa drmCreateContext() and drmDestroyContext().
- */
-struct drm_ctx {
- drm_context_t handle;
- enum drm_ctx_flags flags;
-};
-
-/**
- * DRM_IOCTL_RES_CTX ioctl argument type.
- */
-struct drm_ctx_res {
- int count;
- struct drm_ctx *contexts;
-};
-
-/**
- * DRM_IOCTL_ADD_DRAW and DRM_IOCTL_RM_DRAW ioctl argument type.
- */
-struct drm_draw {
- drm_drawable_t handle;
-};
-
-/**
- * DRM_IOCTL_UPDATE_DRAW ioctl argument type.
- */
-typedef enum {
- DRM_DRAWABLE_CLIPRECTS,
-} drm_drawable_info_type_t;
-
-struct drm_update_draw {
- drm_drawable_t handle;
- unsigned int type;
- unsigned int num;
- unsigned long long data;
-};
-
-/**
- * DRM_IOCTL_GET_MAGIC and DRM_IOCTL_AUTH_MAGIC ioctl argument type.
- */
-struct drm_auth {
- drm_magic_t magic;
-};
-
-/**
- * DRM_IOCTL_IRQ_BUSID ioctl argument type.
- *
- * \sa drmGetInterruptFromBusID().
- */
-struct drm_irq_busid {
- int irq; /**< IRQ number */
- int busnum; /**< bus number */
- int devnum; /**< device number */
- int funcnum; /**< function number */
-};
-
-enum drm_vblank_seq_type {
- _DRM_VBLANK_ABSOLUTE = 0x0, /**< Wait for specific vblank sequence number */
- _DRM_VBLANK_RELATIVE = 0x1, /**< Wait for given number of vblanks */
- /* bits 1-6 are reserved for high crtcs */
- _DRM_VBLANK_HIGH_CRTC_MASK = 0x0000003e,
- _DRM_VBLANK_EVENT = 0x4000000, /**< Send event instead of blocking */
- _DRM_VBLANK_FLIP = 0x8000000, /**< Scheduled buffer swap should flip */
- _DRM_VBLANK_NEXTONMISS = 0x10000000, /**< If missed, wait for next vblank */
- _DRM_VBLANK_SECONDARY = 0x20000000, /**< Secondary display controller */
- _DRM_VBLANK_SIGNAL = 0x40000000 /**< Send signal instead of blocking, unsupported */
-};
-#define _DRM_VBLANK_HIGH_CRTC_SHIFT 1
-
-#define _DRM_VBLANK_TYPES_MASK (_DRM_VBLANK_ABSOLUTE | _DRM_VBLANK_RELATIVE)
-#define _DRM_VBLANK_FLAGS_MASK (_DRM_VBLANK_EVENT | _DRM_VBLANK_SIGNAL | \
- _DRM_VBLANK_SECONDARY | _DRM_VBLANK_NEXTONMISS)
-
-struct drm_wait_vblank_request {
- enum drm_vblank_seq_type type;
- unsigned int sequence;
- unsigned long signal;
-};
-
-struct drm_wait_vblank_reply {
- enum drm_vblank_seq_type type;
- unsigned int sequence;
- long tval_sec;
- long tval_usec;
-};
-
-/**
- * DRM_IOCTL_WAIT_VBLANK ioctl argument type.
- *
- * \sa drmWaitVBlank().
- */
-union drm_wait_vblank {
- struct drm_wait_vblank_request request;
- struct drm_wait_vblank_reply reply;
-};
-
-#define _DRM_PRE_MODESET 1
-#define _DRM_POST_MODESET 2
-
-/**
- * DRM_IOCTL_MODESET_CTL ioctl argument type
- *
- * \sa drmModesetCtl().
- */
-struct drm_modeset_ctl {
- __u32 crtc;
- __u32 cmd;
-};
-
-/**
- * DRM_IOCTL_AGP_ENABLE ioctl argument type.
- *
- * \sa drmAgpEnable().
- */
-struct drm_agp_mode {
- unsigned long mode; /**< AGP mode */
-};
-
-/**
- * DRM_IOCTL_AGP_ALLOC and DRM_IOCTL_AGP_FREE ioctls argument type.
- *
- * \sa drmAgpAlloc() and drmAgpFree().
- */
-struct drm_agp_buffer {
- unsigned long size; /**< In bytes -- will round to page boundary */
- unsigned long handle; /**< Used for binding / unbinding */
- unsigned long type; /**< Type of memory to allocate */
- unsigned long physical; /**< Physical used by i810 */
-};
-
-/**
- * DRM_IOCTL_AGP_BIND and DRM_IOCTL_AGP_UNBIND ioctls argument type.
- *
- * \sa drmAgpBind() and drmAgpUnbind().
- */
-struct drm_agp_binding {
- unsigned long handle; /**< From drm_agp_buffer */
- unsigned long offset; /**< In bytes -- will round to page boundary */
-};
-
-/**
- * DRM_IOCTL_AGP_INFO ioctl argument type.
- *
- * \sa drmAgpVersionMajor(), drmAgpVersionMinor(), drmAgpGetMode(),
- * drmAgpBase(), drmAgpSize(), drmAgpMemoryUsed(), drmAgpMemoryAvail(),
- * drmAgpVendorId() and drmAgpDeviceId().
- */
-struct drm_agp_info {
- int agp_version_major;
- int agp_version_minor;
- unsigned long mode;
- unsigned long aperture_base; /* physical address */
- unsigned long aperture_size; /* bytes */
- unsigned long memory_allowed; /* bytes */
- unsigned long memory_used;
-
- /* PCI information */
- unsigned short id_vendor;
- unsigned short id_device;
-};
-
-/**
- * DRM_IOCTL_SG_ALLOC ioctl argument type.
- */
-struct drm_scatter_gather {
- unsigned long size; /**< In bytes -- will round to page boundary */
- unsigned long handle; /**< Used for mapping / unmapping */
-};
-
-/**
- * DRM_IOCTL_SET_VERSION ioctl argument type.
- */
-struct drm_set_version {
- int drm_di_major;
- int drm_di_minor;
- int drm_dd_major;
- int drm_dd_minor;
-};
-
-/** DRM_IOCTL_GEM_CLOSE ioctl argument type */
-struct drm_gem_close {
- /** Handle of the object to be closed. */
- __u32 handle;
- __u32 pad;
-};
-
-/** DRM_IOCTL_GEM_FLINK ioctl argument type */
-struct drm_gem_flink {
- /** Handle for the object being named */
- __u32 handle;
-
- /** Returned global name */
- __u32 name;
-};
-
-/** DRM_IOCTL_GEM_OPEN ioctl argument type */
-struct drm_gem_open {
- /** Name of object being opened */
- __u32 name;
-
- /** Returned handle for the object */
- __u32 handle;
-
- /** Returned size of the object */
- __u64 size;
-};
-
-#define DRM_CAP_DUMB_BUFFER 0x1
-#define DRM_CAP_VBLANK_HIGH_CRTC 0x2
-#define DRM_CAP_DUMB_PREFERRED_DEPTH 0x3
-#define DRM_CAP_DUMB_PREFER_SHADOW 0x4
-#define DRM_CAP_PRIME 0x5
-#define DRM_PRIME_CAP_IMPORT 0x1
-#define DRM_PRIME_CAP_EXPORT 0x2
-#define DRM_CAP_TIMESTAMP_MONOTONIC 0x6
-#define DRM_CAP_ASYNC_PAGE_FLIP 0x7
-/*
- * The CURSOR_WIDTH and CURSOR_HEIGHT capabilities return a valid widthxheight
- * combination for the hardware cursor. The intention is that a hardware
- * agnostic userspace can query a cursor plane size to use.
- *
- * Note that the cross-driver contract is to merely return a valid size;
- * drivers are free to attach another meaning on top, eg. i915 returns the
- * maximum plane size.
- */
-#define DRM_CAP_CURSOR_WIDTH 0x8
-#define DRM_CAP_CURSOR_HEIGHT 0x9
-#define DRM_CAP_ADDFB2_MODIFIERS 0x10
-
-/** DRM_IOCTL_GET_CAP ioctl argument type */
-struct drm_get_cap {
- __u64 capability;
- __u64 value;
-};
-
-/**
- * DRM_CLIENT_CAP_STEREO_3D
- *
- * if set to 1, the DRM core will expose the stereo 3D capabilities of the
- * monitor by advertising the supported 3D layouts in the flags of struct
- * drm_mode_modeinfo.
- */
-#define DRM_CLIENT_CAP_STEREO_3D 1
-
-/**
- * DRM_CLIENT_CAP_UNIVERSAL_PLANES
- *
- * If set to 1, the DRM core will expose all planes (overlay, primary, and
- * cursor) to userspace.
- */
-#define DRM_CLIENT_CAP_UNIVERSAL_PLANES 2
-
-/**
- * DRM_CLIENT_CAP_ATOMIC
- *
- * If set to 1, the DRM core will expose atomic properties to userspace
- */
-#define DRM_CLIENT_CAP_ATOMIC 3
-
-/** DRM_IOCTL_SET_CLIENT_CAP ioctl argument type */
-struct drm_set_client_cap {
- __u64 capability;
- __u64 value;
-};
-
-#define DRM_RDWR O_RDWR
-#define DRM_CLOEXEC O_CLOEXEC
-struct drm_prime_handle {
- __u32 handle;
-
- /** Flags.. only applicable for handle->fd */
- __u32 flags;
-
- /** Returned dmabuf file descriptor */
- __s32 fd;
-};
-
-#include <drm/drm_mode.h>
-
-#define DRM_IOCTL_BASE 'd'
-#define DRM_IO(nr) _IO(DRM_IOCTL_BASE,nr)
-#define DRM_IOR(nr,type) _IOR(DRM_IOCTL_BASE,nr,type)
-#define DRM_IOW(nr,type) _IOW(DRM_IOCTL_BASE,nr,type)
-#define DRM_IOWR(nr,type) _IOWR(DRM_IOCTL_BASE,nr,type)
-
-#define DRM_IOCTL_VERSION DRM_IOWR(0x00, struct drm_version)
-#define DRM_IOCTL_GET_UNIQUE DRM_IOWR(0x01, struct drm_unique)
-#define DRM_IOCTL_GET_MAGIC DRM_IOR( 0x02, struct drm_auth)
-#define DRM_IOCTL_IRQ_BUSID DRM_IOWR(0x03, struct drm_irq_busid)
-#define DRM_IOCTL_GET_MAP DRM_IOWR(0x04, struct drm_map)
-#define DRM_IOCTL_GET_CLIENT DRM_IOWR(0x05, struct drm_client)
-#define DRM_IOCTL_GET_STATS DRM_IOR( 0x06, struct drm_stats)
-#define DRM_IOCTL_SET_VERSION DRM_IOWR(0x07, struct drm_set_version)
-#define DRM_IOCTL_MODESET_CTL DRM_IOW(0x08, struct drm_modeset_ctl)
-#define DRM_IOCTL_GEM_CLOSE DRM_IOW (0x09, struct drm_gem_close)
-#define DRM_IOCTL_GEM_FLINK DRM_IOWR(0x0a, struct drm_gem_flink)
-#define DRM_IOCTL_GEM_OPEN DRM_IOWR(0x0b, struct drm_gem_open)
-#define DRM_IOCTL_GET_CAP DRM_IOWR(0x0c, struct drm_get_cap)
-#define DRM_IOCTL_SET_CLIENT_CAP DRM_IOW( 0x0d, struct drm_set_client_cap)
-
-#define DRM_IOCTL_SET_UNIQUE DRM_IOW( 0x10, struct drm_unique)
-#define DRM_IOCTL_AUTH_MAGIC DRM_IOW( 0x11, struct drm_auth)
-#define DRM_IOCTL_BLOCK DRM_IOWR(0x12, struct drm_block)
-#define DRM_IOCTL_UNBLOCK DRM_IOWR(0x13, struct drm_block)
-#define DRM_IOCTL_CONTROL DRM_IOW( 0x14, struct drm_control)
-#define DRM_IOCTL_ADD_MAP DRM_IOWR(0x15, struct drm_map)
-#define DRM_IOCTL_ADD_BUFS DRM_IOWR(0x16, struct drm_buf_desc)
-#define DRM_IOCTL_MARK_BUFS DRM_IOW( 0x17, struct drm_buf_desc)
-#define DRM_IOCTL_INFO_BUFS DRM_IOWR(0x18, struct drm_buf_info)
-#define DRM_IOCTL_MAP_BUFS DRM_IOWR(0x19, struct drm_buf_map)
-#define DRM_IOCTL_FREE_BUFS DRM_IOW( 0x1a, struct drm_buf_free)
-
-#define DRM_IOCTL_RM_MAP DRM_IOW( 0x1b, struct drm_map)
-
-#define DRM_IOCTL_SET_SAREA_CTX DRM_IOW( 0x1c, struct drm_ctx_priv_map)
-#define DRM_IOCTL_GET_SAREA_CTX DRM_IOWR(0x1d, struct drm_ctx_priv_map)
-
-#define DRM_IOCTL_SET_MASTER DRM_IO(0x1e)
-#define DRM_IOCTL_DROP_MASTER DRM_IO(0x1f)
-
-#define DRM_IOCTL_ADD_CTX DRM_IOWR(0x20, struct drm_ctx)
-#define DRM_IOCTL_RM_CTX DRM_IOWR(0x21, struct drm_ctx)
-#define DRM_IOCTL_MOD_CTX DRM_IOW( 0x22, struct drm_ctx)
-#define DRM_IOCTL_GET_CTX DRM_IOWR(0x23, struct drm_ctx)
-#define DRM_IOCTL_SWITCH_CTX DRM_IOW( 0x24, struct drm_ctx)
-#define DRM_IOCTL_NEW_CTX DRM_IOW( 0x25, struct drm_ctx)
-#define DRM_IOCTL_RES_CTX DRM_IOWR(0x26, struct drm_ctx_res)
-#define DRM_IOCTL_ADD_DRAW DRM_IOWR(0x27, struct drm_draw)
-#define DRM_IOCTL_RM_DRAW DRM_IOWR(0x28, struct drm_draw)
-#define DRM_IOCTL_DMA DRM_IOWR(0x29, struct drm_dma)
-#define DRM_IOCTL_LOCK DRM_IOW( 0x2a, struct drm_lock)
-#define DRM_IOCTL_UNLOCK DRM_IOW( 0x2b, struct drm_lock)
-#define DRM_IOCTL_FINISH DRM_IOW( 0x2c, struct drm_lock)
-
-#define DRM_IOCTL_PRIME_HANDLE_TO_FD DRM_IOWR(0x2d, struct drm_prime_handle)
-#define DRM_IOCTL_PRIME_FD_TO_HANDLE DRM_IOWR(0x2e, struct drm_prime_handle)
-
-#define DRM_IOCTL_AGP_ACQUIRE DRM_IO( 0x30)
-#define DRM_IOCTL_AGP_RELEASE DRM_IO( 0x31)
-#define DRM_IOCTL_AGP_ENABLE DRM_IOW( 0x32, struct drm_agp_mode)
-#define DRM_IOCTL_AGP_INFO DRM_IOR( 0x33, struct drm_agp_info)
-#define DRM_IOCTL_AGP_ALLOC DRM_IOWR(0x34, struct drm_agp_buffer)
-#define DRM_IOCTL_AGP_FREE DRM_IOW( 0x35, struct drm_agp_buffer)
-#define DRM_IOCTL_AGP_BIND DRM_IOW( 0x36, struct drm_agp_binding)
-#define DRM_IOCTL_AGP_UNBIND DRM_IOW( 0x37, struct drm_agp_binding)
-
-#define DRM_IOCTL_SG_ALLOC DRM_IOWR(0x38, struct drm_scatter_gather)
-#define DRM_IOCTL_SG_FREE DRM_IOW( 0x39, struct drm_scatter_gather)
-
-#define DRM_IOCTL_WAIT_VBLANK DRM_IOWR(0x3a, union drm_wait_vblank)
-
-#define DRM_IOCTL_UPDATE_DRAW DRM_IOW(0x3f, struct drm_update_draw)
-
-#define DRM_IOCTL_MODE_GETRESOURCES DRM_IOWR(0xA0, struct drm_mode_card_res)
-#define DRM_IOCTL_MODE_GETCRTC DRM_IOWR(0xA1, struct drm_mode_crtc)
-#define DRM_IOCTL_MODE_SETCRTC DRM_IOWR(0xA2, struct drm_mode_crtc)
-#define DRM_IOCTL_MODE_CURSOR DRM_IOWR(0xA3, struct drm_mode_cursor)
-#define DRM_IOCTL_MODE_GETGAMMA DRM_IOWR(0xA4, struct drm_mode_crtc_lut)
-#define DRM_IOCTL_MODE_SETGAMMA DRM_IOWR(0xA5, struct drm_mode_crtc_lut)
-#define DRM_IOCTL_MODE_GETENCODER DRM_IOWR(0xA6, struct drm_mode_get_encoder)
-#define DRM_IOCTL_MODE_GETCONNECTOR DRM_IOWR(0xA7, struct drm_mode_get_connector)
-#define DRM_IOCTL_MODE_ATTACHMODE DRM_IOWR(0xA8, struct drm_mode_mode_cmd) /* deprecated (never worked) */
-#define DRM_IOCTL_MODE_DETACHMODE DRM_IOWR(0xA9, struct drm_mode_mode_cmd) /* deprecated (never worked) */
-
-#define DRM_IOCTL_MODE_GETPROPERTY DRM_IOWR(0xAA, struct drm_mode_get_property)
-#define DRM_IOCTL_MODE_SETPROPERTY DRM_IOWR(0xAB, struct drm_mode_connector_set_property)
-#define DRM_IOCTL_MODE_GETPROPBLOB DRM_IOWR(0xAC, struct drm_mode_get_blob)
-#define DRM_IOCTL_MODE_GETFB DRM_IOWR(0xAD, struct drm_mode_fb_cmd)
-#define DRM_IOCTL_MODE_ADDFB DRM_IOWR(0xAE, struct drm_mode_fb_cmd)
-#define DRM_IOCTL_MODE_RMFB DRM_IOWR(0xAF, unsigned int)
-#define DRM_IOCTL_MODE_PAGE_FLIP DRM_IOWR(0xB0, struct drm_mode_crtc_page_flip)
-#define DRM_IOCTL_MODE_DIRTYFB DRM_IOWR(0xB1, struct drm_mode_fb_dirty_cmd)
-
-#define DRM_IOCTL_MODE_CREATE_DUMB DRM_IOWR(0xB2, struct drm_mode_create_dumb)
-#define DRM_IOCTL_MODE_MAP_DUMB DRM_IOWR(0xB3, struct drm_mode_map_dumb)
-#define DRM_IOCTL_MODE_DESTROY_DUMB DRM_IOWR(0xB4, struct drm_mode_destroy_dumb)
-#define DRM_IOCTL_MODE_GETPLANERESOURCES DRM_IOWR(0xB5, struct drm_mode_get_plane_res)
-#define DRM_IOCTL_MODE_GETPLANE DRM_IOWR(0xB6, struct drm_mode_get_plane)
-#define DRM_IOCTL_MODE_SETPLANE DRM_IOWR(0xB7, struct drm_mode_set_plane)
-#define DRM_IOCTL_MODE_ADDFB2 DRM_IOWR(0xB8, struct drm_mode_fb_cmd2)
-#define DRM_IOCTL_MODE_OBJ_GETPROPERTIES DRM_IOWR(0xB9, struct drm_mode_obj_get_properties)
-#define DRM_IOCTL_MODE_OBJ_SETPROPERTY DRM_IOWR(0xBA, struct drm_mode_obj_set_property)
-#define DRM_IOCTL_MODE_CURSOR2 DRM_IOWR(0xBB, struct drm_mode_cursor2)
-#define DRM_IOCTL_MODE_ATOMIC DRM_IOWR(0xBC, struct drm_mode_atomic)
-#define DRM_IOCTL_MODE_CREATEPROPBLOB DRM_IOWR(0xBD, struct drm_mode_create_blob)
-#define DRM_IOCTL_MODE_DESTROYPROPBLOB DRM_IOWR(0xBE, struct drm_mode_destroy_blob)
-
-/**
- * Device specific ioctls should only be in their respective headers
- * The device specific ioctl range is from 0x40 to 0x9f.
- * Generic IOCTLS restart at 0xA0.
- *
- * \sa drmCommandNone(), drmCommandRead(), drmCommandWrite(), and
- * drmCommandReadWrite().
- */
-#define DRM_COMMAND_BASE 0x40
-#define DRM_COMMAND_END 0xA0
-
-/**
- * Header for events written back to userspace on the drm fd. The
- * type defines the type of event, the length specifies the total
- * length of the event (including the header), and user_data is
- * typically a 64 bit value passed with the ioctl that triggered the
- * event. A read on the drm fd will always only return complete
- * events, that is, if for example the read buffer is 100 bytes, and
- * there are two 64 byte events pending, only one will be returned.
- *
- * Event types 0 - 0x7fffffff are generic drm events, 0x80000000 and
- * up are chipset specific.
- */
-struct drm_event {
- __u32 type;
- __u32 length;
-};
-
-#define DRM_EVENT_VBLANK 0x01
-#define DRM_EVENT_FLIP_COMPLETE 0x02
-
-struct drm_event_vblank {
- struct drm_event base;
- __u64 user_data;
- __u32 tv_sec;
- __u32 tv_usec;
- __u32 sequence;
- __u32 reserved;
-};
-
-/* typedef area */
-typedef struct drm_clip_rect drm_clip_rect_t;
-typedef struct drm_drawable_info drm_drawable_info_t;
-typedef struct drm_tex_region drm_tex_region_t;
-typedef struct drm_hw_lock drm_hw_lock_t;
-typedef struct drm_version drm_version_t;
-typedef struct drm_unique drm_unique_t;
-typedef struct drm_list drm_list_t;
-typedef struct drm_block drm_block_t;
-typedef struct drm_control drm_control_t;
-typedef enum drm_map_type drm_map_type_t;
-typedef enum drm_map_flags drm_map_flags_t;
-typedef struct drm_ctx_priv_map drm_ctx_priv_map_t;
-typedef struct drm_map drm_map_t;
-typedef struct drm_client drm_client_t;
-typedef enum drm_stat_type drm_stat_type_t;
-typedef struct drm_stats drm_stats_t;
-typedef enum drm_lock_flags drm_lock_flags_t;
-typedef struct drm_lock drm_lock_t;
-typedef enum drm_dma_flags drm_dma_flags_t;
-typedef struct drm_buf_desc drm_buf_desc_t;
-typedef struct drm_buf_info drm_buf_info_t;
-typedef struct drm_buf_free drm_buf_free_t;
-typedef struct drm_buf_pub drm_buf_pub_t;
-typedef struct drm_buf_map drm_buf_map_t;
-typedef struct drm_dma drm_dma_t;
-typedef union drm_wait_vblank drm_wait_vblank_t;
-typedef struct drm_agp_mode drm_agp_mode_t;
-typedef enum drm_ctx_flags drm_ctx_flags_t;
-typedef struct drm_ctx drm_ctx_t;
-typedef struct drm_ctx_res drm_ctx_res_t;
-typedef struct drm_draw drm_draw_t;
-typedef struct drm_update_draw drm_update_draw_t;
-typedef struct drm_auth drm_auth_t;
-typedef struct drm_irq_busid drm_irq_busid_t;
-typedef enum drm_vblank_seq_type drm_vblank_seq_type_t;
-
-typedef struct drm_agp_buffer drm_agp_buffer_t;
-typedef struct drm_agp_binding drm_agp_binding_t;
-typedef struct drm_agp_info drm_agp_info_t;
-typedef struct drm_scatter_gather drm_scatter_gather_t;
-typedef struct drm_set_version drm_set_version_t;
-
-#endif
diff --git a/linux-headers/include/drm/drm_fourcc.h b/linux-headers/include/drm/drm_fourcc.h
deleted file mode 100644
index 4d8da69..0000000
--- a/linux-headers/include/drm/drm_fourcc.h
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright 2011 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef DRM_FOURCC_H
-#define DRM_FOURCC_H
-
-#include "drm.h"
-
-#define fourcc_code(a, b, c, d) ((__u32)(a) | ((__u32)(b) << 8) | \
- ((__u32)(c) << 16) | ((__u32)(d) << 24))
-
-#define DRM_FORMAT_BIG_ENDIAN (1<<31) /* format is big endian instead of little endian */
-
-/* color index */
-#define DRM_FORMAT_C8 fourcc_code('C', '8', ' ', ' ') /* [7:0] C */
-
-/* 8 bpp Red */
-#define DRM_FORMAT_R8 fourcc_code('R', '8', ' ', ' ') /* [7:0] R */
-
-/* 16 bpp RG */
-#define DRM_FORMAT_RG88 fourcc_code('R', 'G', '8', '8') /* [15:0] R:G 8:8 little endian */
-#define DRM_FORMAT_GR88 fourcc_code('G', 'R', '8', '8') /* [15:0] G:R 8:8 little endian */
-
-/* 8 bpp RGB */
-#define DRM_FORMAT_RGB332 fourcc_code('R', 'G', 'B', '8') /* [7:0] R:G:B 3:3:2 */
-#define DRM_FORMAT_BGR233 fourcc_code('B', 'G', 'R', '8') /* [7:0] B:G:R 2:3:3 */
-
-/* 16 bpp RGB */
-#define DRM_FORMAT_XRGB4444 fourcc_code('X', 'R', '1', '2') /* [15:0] x:R:G:B 4:4:4:4 little endian */
-#define DRM_FORMAT_XBGR4444 fourcc_code('X', 'B', '1', '2') /* [15:0] x:B:G:R 4:4:4:4 little endian */
-#define DRM_FORMAT_RGBX4444 fourcc_code('R', 'X', '1', '2') /* [15:0] R:G:B:x 4:4:4:4 little endian */
-#define DRM_FORMAT_BGRX4444 fourcc_code('B', 'X', '1', '2') /* [15:0] B:G:R:x 4:4:4:4 little endian */
-
-#define DRM_FORMAT_ARGB4444 fourcc_code('A', 'R', '1', '2') /* [15:0] A:R:G:B 4:4:4:4 little endian */
-#define DRM_FORMAT_ABGR4444 fourcc_code('A', 'B', '1', '2') /* [15:0] A:B:G:R 4:4:4:4 little endian */
-#define DRM_FORMAT_RGBA4444 fourcc_code('R', 'A', '1', '2') /* [15:0] R:G:B:A 4:4:4:4 little endian */
-#define DRM_FORMAT_BGRA4444 fourcc_code('B', 'A', '1', '2') /* [15:0] B:G:R:A 4:4:4:4 little endian */
-
-#define DRM_FORMAT_XRGB1555 fourcc_code('X', 'R', '1', '5') /* [15:0] x:R:G:B 1:5:5:5 little endian */
-#define DRM_FORMAT_XBGR1555 fourcc_code('X', 'B', '1', '5') /* [15:0] x:B:G:R 1:5:5:5 little endian */
-#define DRM_FORMAT_RGBX5551 fourcc_code('R', 'X', '1', '5') /* [15:0] R:G:B:x 5:5:5:1 little endian */
-#define DRM_FORMAT_BGRX5551 fourcc_code('B', 'X', '1', '5') /* [15:0] B:G:R:x 5:5:5:1 little endian */
-
-#define DRM_FORMAT_ARGB1555 fourcc_code('A', 'R', '1', '5') /* [15:0] A:R:G:B 1:5:5:5 little endian */
-#define DRM_FORMAT_ABGR1555 fourcc_code('A', 'B', '1', '5') /* [15:0] A:B:G:R 1:5:5:5 little endian */
-#define DRM_FORMAT_RGBA5551 fourcc_code('R', 'A', '1', '5') /* [15:0] R:G:B:A 5:5:5:1 little endian */
-#define DRM_FORMAT_BGRA5551 fourcc_code('B', 'A', '1', '5') /* [15:0] B:G:R:A 5:5:5:1 little endian */
-
-#define DRM_FORMAT_RGB565 fourcc_code('R', 'G', '1', '6') /* [15:0] R:G:B 5:6:5 little endian */
-#define DRM_FORMAT_BGR565 fourcc_code('B', 'G', '1', '6') /* [15:0] B:G:R 5:6:5 little endian */
-
-/* 24 bpp RGB */
-#define DRM_FORMAT_RGB888 fourcc_code('R', 'G', '2', '4') /* [23:0] R:G:B little endian */
-#define DRM_FORMAT_BGR888 fourcc_code('B', 'G', '2', '4') /* [23:0] B:G:R little endian */
-
-/* 32 bpp RGB */
-#define DRM_FORMAT_XRGB8888 fourcc_code('X', 'R', '2', '4') /* [31:0] x:R:G:B 8:8:8:8 little endian */
-#define DRM_FORMAT_XBGR8888 fourcc_code('X', 'B', '2', '4') /* [31:0] x:B:G:R 8:8:8:8 little endian */
-#define DRM_FORMAT_RGBX8888 fourcc_code('R', 'X', '2', '4') /* [31:0] R:G:B:x 8:8:8:8 little endian */
-#define DRM_FORMAT_BGRX8888 fourcc_code('B', 'X', '2', '4') /* [31:0] B:G:R:x 8:8:8:8 little endian */
-
-#define DRM_FORMAT_ARGB8888 fourcc_code('A', 'R', '2', '4') /* [31:0] A:R:G:B 8:8:8:8 little endian */
-#define DRM_FORMAT_ABGR8888 fourcc_code('A', 'B', '2', '4') /* [31:0] A:B:G:R 8:8:8:8 little endian */
-#define DRM_FORMAT_RGBA8888 fourcc_code('R', 'A', '2', '4') /* [31:0] R:G:B:A 8:8:8:8 little endian */
-#define DRM_FORMAT_BGRA8888 fourcc_code('B', 'A', '2', '4') /* [31:0] B:G:R:A 8:8:8:8 little endian */
-
-#define DRM_FORMAT_XRGB2101010 fourcc_code('X', 'R', '3', '0') /* [31:0] x:R:G:B 2:10:10:10 little endian */
-#define DRM_FORMAT_XBGR2101010 fourcc_code('X', 'B', '3', '0') /* [31:0] x:B:G:R 2:10:10:10 little endian */
-#define DRM_FORMAT_RGBX1010102 fourcc_code('R', 'X', '3', '0') /* [31:0] R:G:B:x 10:10:10:2 little endian */
-#define DRM_FORMAT_BGRX1010102 fourcc_code('B', 'X', '3', '0') /* [31:0] B:G:R:x 10:10:10:2 little endian */
-
-#define DRM_FORMAT_ARGB2101010 fourcc_code('A', 'R', '3', '0') /* [31:0] A:R:G:B 2:10:10:10 little endian */
-#define DRM_FORMAT_ABGR2101010 fourcc_code('A', 'B', '3', '0') /* [31:0] A:B:G:R 2:10:10:10 little endian */
-#define DRM_FORMAT_RGBA1010102 fourcc_code('R', 'A', '3', '0') /* [31:0] R:G:B:A 10:10:10:2 little endian */
-#define DRM_FORMAT_BGRA1010102 fourcc_code('B', 'A', '3', '0') /* [31:0] B:G:R:A 10:10:10:2 little endian */
-
-/* packed YCbCr */
-#define DRM_FORMAT_YUYV fourcc_code('Y', 'U', 'Y', 'V') /* [31:0] Cr0:Y1:Cb0:Y0 8:8:8:8 little endian */
-#define DRM_FORMAT_YVYU fourcc_code('Y', 'V', 'Y', 'U') /* [31:0] Cb0:Y1:Cr0:Y0 8:8:8:8 little endian */
-#define DRM_FORMAT_UYVY fourcc_code('U', 'Y', 'V', 'Y') /* [31:0] Y1:Cr0:Y0:Cb0 8:8:8:8 little endian */
-#define DRM_FORMAT_VYUY fourcc_code('V', 'Y', 'U', 'Y') /* [31:0] Y1:Cb0:Y0:Cr0 8:8:8:8 little endian */
-
-#define DRM_FORMAT_AYUV fourcc_code('A', 'Y', 'U', 'V') /* [31:0] A:Y:Cb:Cr 8:8:8:8 little endian */
-
-/*
- * 2 plane YCbCr
- * index 0 = Y plane, [7:0] Y
- * index 1 = Cr:Cb plane, [15:0] Cr:Cb little endian
- * or
- * index 1 = Cb:Cr plane, [15:0] Cb:Cr little endian
- */
-#define DRM_FORMAT_NV12 fourcc_code('N', 'V', '1', '2') /* 2x2 subsampled Cr:Cb plane */
-#define DRM_FORMAT_NV21 fourcc_code('N', 'V', '2', '1') /* 2x2 subsampled Cb:Cr plane */
-#define DRM_FORMAT_NV16 fourcc_code('N', 'V', '1', '6') /* 2x1 subsampled Cr:Cb plane */
-#define DRM_FORMAT_NV61 fourcc_code('N', 'V', '6', '1') /* 2x1 subsampled Cb:Cr plane */
-#define DRM_FORMAT_NV24 fourcc_code('N', 'V', '2', '4') /* non-subsampled Cr:Cb plane */
-#define DRM_FORMAT_NV42 fourcc_code('N', 'V', '4', '2') /* non-subsampled Cb:Cr plane */
-
-/*
- * 3 plane YCbCr
- * index 0: Y plane, [7:0] Y
- * index 1: Cb plane, [7:0] Cb
- * index 2: Cr plane, [7:0] Cr
- * or
- * index 1: Cr plane, [7:0] Cr
- * index 2: Cb plane, [7:0] Cb
- */
-#define DRM_FORMAT_YUV410 fourcc_code('Y', 'U', 'V', '9') /* 4x4 subsampled Cb (1) and Cr (2) planes */
-#define DRM_FORMAT_YVU410 fourcc_code('Y', 'V', 'U', '9') /* 4x4 subsampled Cr (1) and Cb (2) planes */
-#define DRM_FORMAT_YUV411 fourcc_code('Y', 'U', '1', '1') /* 4x1 subsampled Cb (1) and Cr (2) planes */
-#define DRM_FORMAT_YVU411 fourcc_code('Y', 'V', '1', '1') /* 4x1 subsampled Cr (1) and Cb (2) planes */
-#define DRM_FORMAT_YUV420 fourcc_code('Y', 'U', '1', '2') /* 2x2 subsampled Cb (1) and Cr (2) planes */
-#define DRM_FORMAT_YVU420 fourcc_code('Y', 'V', '1', '2') /* 2x2 subsampled Cr (1) and Cb (2) planes */
-#define DRM_FORMAT_YUV422 fourcc_code('Y', 'U', '1', '6') /* 2x1 subsampled Cb (1) and Cr (2) planes */
-#define DRM_FORMAT_YVU422 fourcc_code('Y', 'V', '1', '6') /* 2x1 subsampled Cr (1) and Cb (2) planes */
-#define DRM_FORMAT_YUV444 fourcc_code('Y', 'U', '2', '4') /* non-subsampled Cb (1) and Cr (2) planes */
-#define DRM_FORMAT_YVU444 fourcc_code('Y', 'V', '2', '4') /* non-subsampled Cr (1) and Cb (2) planes */
-
-
-/*
- * Format Modifiers:
- *
- * Format modifiers describe, typically, a re-ordering or modification
- * of the data in a plane of an FB. This can be used to express tiled/
- * swizzled formats, or compression, or a combination of the two.
- *
- * The upper 8 bits of the format modifier are a vendor-id as assigned
- * below. The lower 56 bits are assigned as vendor sees fit.
- */
-
-/* Vendor Ids: */
-#define DRM_FORMAT_MOD_NONE 0
-#define DRM_FORMAT_MOD_VENDOR_INTEL 0x01
-#define DRM_FORMAT_MOD_VENDOR_AMD 0x02
-#define DRM_FORMAT_MOD_VENDOR_NV 0x03
-#define DRM_FORMAT_MOD_VENDOR_SAMSUNG 0x04
-#define DRM_FORMAT_MOD_VENDOR_QCOM 0x05
-/* add more to the end as needed */
-
-#define fourcc_mod_code(vendor, val) \
- ((((__u64)DRM_FORMAT_MOD_VENDOR_## vendor) << 56) | (val & 0x00ffffffffffffffULL))
-
-/*
- * Format Modifier tokens:
- *
- * When adding a new token please document the layout with a code comment,
- * similar to the fourcc codes above. drm_fourcc.h is considered the
- * authoritative source for all of these.
- */
-
-/* Intel framebuffer modifiers */
-
-/*
- * Intel X-tiling layout
- *
- * This is a tiled layout using 4Kb tiles (except on gen2 where the tiles 2Kb)
- * in row-major layout. Within the tile bytes are laid out row-major, with
- * a platform-dependent stride. On top of that the memory can apply
- * platform-depending swizzling of some higher address bits into bit6.
- *
- * This format is highly platforms specific and not useful for cross-driver
- * sharing. It exists since on a given platform it does uniquely identify the
- * layout in a simple way for i915-specific userspace.
- */
-#define I915_FORMAT_MOD_X_TILED fourcc_mod_code(INTEL, 1)
-
-/*
- * Intel Y-tiling layout
- *
- * This is a tiled layout using 4Kb tiles (except on gen2 where the tiles 2Kb)
- * in row-major layout. Within the tile bytes are laid out in OWORD (16 bytes)
- * chunks column-major, with a platform-dependent height. On top of that the
- * memory can apply platform-depending swizzling of some higher address bits
- * into bit6.
- *
- * This format is highly platforms specific and not useful for cross-driver
- * sharing. It exists since on a given platform it does uniquely identify the
- * layout in a simple way for i915-specific userspace.
- */
-#define I915_FORMAT_MOD_Y_TILED fourcc_mod_code(INTEL, 2)
-
-/*
- * Intel Yf-tiling layout
- *
- * This is a tiled layout using 4Kb tiles in row-major layout.
- * Within the tile pixels are laid out in 16 256 byte units / sub-tiles which
- * are arranged in four groups (two wide, two high) with column-major layout.
- * Each group therefore consits out of four 256 byte units, which are also laid
- * out as 2x2 column-major.
- * 256 byte units are made out of four 64 byte blocks of pixels, producing
- * either a square block or a 2:1 unit.
- * 64 byte blocks of pixels contain four pixel rows of 16 bytes, where the width
- * in pixel depends on the pixel depth.
- */
-#define I915_FORMAT_MOD_Yf_TILED fourcc_mod_code(INTEL, 3)
-
-/*
- * Tiled, NV12MT, grouped in 64 (pixels) x 32 (lines) -sized macroblocks
- *
- * Macroblocks are laid in a Z-shape, and each pixel data is following the
- * standard NV12 style.
- * As for NV12, an image is the result of two frame buffers: one for Y,
- * one for the interleaved Cb/Cr components (1/2 the height of the Y buffer).
- * Alignment requirements are (for each buffer):
- * - multiple of 128 pixels for the width
- * - multiple of 32 pixels for the height
- *
- * For more information: see https://linuxtv.org/downloads/v4l-dvb-apis/re32.html
- */
-#define DRM_FORMAT_MOD_SAMSUNG_64_32_TILE fourcc_mod_code(SAMSUNG, 1)
-
-#endif /* DRM_FOURCC_H */
diff --git a/linux-headers/include/drm/drm_mode.h b/linux-headers/include/drm/drm_mode.h
deleted file mode 100644
index c021743..0000000
--- a/linux-headers/include/drm/drm_mode.h
+++ /dev/null
@@ -1,614 +0,0 @@
-/*
- * Copyright (c) 2007 Dave Airlie <airlied@linux.ie>
- * Copyright (c) 2007 Jakob Bornecrantz <wallbraker@gmail.com>
- * Copyright (c) 2008 Red Hat Inc.
- * Copyright (c) 2007-2008 Tungsten Graphics, Inc., Cedar Park, TX., USA
- * Copyright (c) 2007-2008 Intel Corporation
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#ifndef _DRM_MODE_H
-#define _DRM_MODE_H
-
-#include "drm.h"
-
-#define DRM_DISPLAY_INFO_LEN 32
-#define DRM_CONNECTOR_NAME_LEN 32
-#define DRM_DISPLAY_MODE_LEN 32
-#define DRM_PROP_NAME_LEN 32
-
-#define DRM_MODE_TYPE_BUILTIN (1<<0)
-#define DRM_MODE_TYPE_CLOCK_C ((1<<1) | DRM_MODE_TYPE_BUILTIN)
-#define DRM_MODE_TYPE_CRTC_C ((1<<2) | DRM_MODE_TYPE_BUILTIN)
-#define DRM_MODE_TYPE_PREFERRED (1<<3)
-#define DRM_MODE_TYPE_DEFAULT (1<<4)
-#define DRM_MODE_TYPE_USERDEF (1<<5)
-#define DRM_MODE_TYPE_DRIVER (1<<6)
-
-/* Video mode flags */
-/* bit compatible with the xorg definitions. */
-#define DRM_MODE_FLAG_PHSYNC (1<<0)
-#define DRM_MODE_FLAG_NHSYNC (1<<1)
-#define DRM_MODE_FLAG_PVSYNC (1<<2)
-#define DRM_MODE_FLAG_NVSYNC (1<<3)
-#define DRM_MODE_FLAG_INTERLACE (1<<4)
-#define DRM_MODE_FLAG_DBLSCAN (1<<5)
-#define DRM_MODE_FLAG_CSYNC (1<<6)
-#define DRM_MODE_FLAG_PCSYNC (1<<7)
-#define DRM_MODE_FLAG_NCSYNC (1<<8)
-#define DRM_MODE_FLAG_HSKEW (1<<9) /* hskew provided */
-#define DRM_MODE_FLAG_BCAST (1<<10)
-#define DRM_MODE_FLAG_PIXMUX (1<<11)
-#define DRM_MODE_FLAG_DBLCLK (1<<12)
-#define DRM_MODE_FLAG_CLKDIV2 (1<<13)
- /*
- * When adding a new stereo mode don't forget to adjust DRM_MODE_FLAGS_3D_MAX
- * (define not exposed to user space).
- */
-#define DRM_MODE_FLAG_3D_MASK (0x1f<<14)
-#define DRM_MODE_FLAG_3D_NONE (0<<14)
-#define DRM_MODE_FLAG_3D_FRAME_PACKING (1<<14)
-#define DRM_MODE_FLAG_3D_FIELD_ALTERNATIVE (2<<14)
-#define DRM_MODE_FLAG_3D_LINE_ALTERNATIVE (3<<14)
-#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_FULL (4<<14)
-#define DRM_MODE_FLAG_3D_L_DEPTH (5<<14)
-#define DRM_MODE_FLAG_3D_L_DEPTH_GFX_GFX_DEPTH (6<<14)
-#define DRM_MODE_FLAG_3D_TOP_AND_BOTTOM (7<<14)
-#define DRM_MODE_FLAG_3D_SIDE_BY_SIDE_HALF (8<<14)
-
-
-/* DPMS flags */
-/* bit compatible with the xorg definitions. */
-#define DRM_MODE_DPMS_ON 0
-#define DRM_MODE_DPMS_STANDBY 1
-#define DRM_MODE_DPMS_SUSPEND 2
-#define DRM_MODE_DPMS_OFF 3
-
-/* Scaling mode options */
-#define DRM_MODE_SCALE_NONE 0 /* Unmodified timing (display or
- software can still scale) */
-#define DRM_MODE_SCALE_FULLSCREEN 1 /* Full screen, ignore aspect */
-#define DRM_MODE_SCALE_CENTER 2 /* Centered, no scaling */
-#define DRM_MODE_SCALE_ASPECT 3 /* Full screen, preserve aspect */
-
-/* Picture aspect ratio options */
-#define DRM_MODE_PICTURE_ASPECT_NONE 0
-#define DRM_MODE_PICTURE_ASPECT_4_3 1
-#define DRM_MODE_PICTURE_ASPECT_16_9 2
-
-/* Dithering mode options */
-#define DRM_MODE_DITHERING_OFF 0
-#define DRM_MODE_DITHERING_ON 1
-#define DRM_MODE_DITHERING_AUTO 2
-
-/* Dirty info options */
-#define DRM_MODE_DIRTY_OFF 0
-#define DRM_MODE_DIRTY_ON 1
-#define DRM_MODE_DIRTY_ANNOTATE 2
-
-struct drm_mode_modeinfo {
- __u32 clock;
- __u16 hdisplay;
- __u16 hsync_start;
- __u16 hsync_end;
- __u16 htotal;
- __u16 hskew;
- __u16 vdisplay;
- __u16 vsync_start;
- __u16 vsync_end;
- __u16 vtotal;
- __u16 vscan;
-
- __u32 vrefresh;
-
- __u32 flags;
- __u32 type;
- char name[DRM_DISPLAY_MODE_LEN];
-};
-
-struct drm_mode_card_res {
- __u64 fb_id_ptr;
- __u64 crtc_id_ptr;
- __u64 connector_id_ptr;
- __u64 encoder_id_ptr;
- __u32 count_fbs;
- __u32 count_crtcs;
- __u32 count_connectors;
- __u32 count_encoders;
- __u32 min_width;
- __u32 max_width;
- __u32 min_height;
- __u32 max_height;
-};
-
-struct drm_mode_crtc {
- __u64 set_connectors_ptr;
- __u32 count_connectors;
-
- __u32 crtc_id; /**< Id */
- __u32 fb_id; /**< Id of framebuffer */
-
- __u32 x; /**< x Position on the framebuffer */
- __u32 y; /**< y Position on the framebuffer */
-
- __u32 gamma_size;
- __u32 mode_valid;
- struct drm_mode_modeinfo mode;
-};
-
-#define DRM_MODE_PRESENT_TOP_FIELD (1<<0)
-#define DRM_MODE_PRESENT_BOTTOM_FIELD (1<<1)
-
-/* Planes blend with or override other bits on the CRTC */
-struct drm_mode_set_plane {
- __u32 plane_id;
- __u32 crtc_id;
- __u32 fb_id; /* fb object contains surface format type */
- __u32 flags; /* see above flags */
-
- /* Signed dest location allows it to be partially off screen */
- __s32 crtc_x;
- __s32 crtc_y;
- __u32 crtc_w;
- __u32 crtc_h;
-
- /* Source values are 16.16 fixed point */
- __u32 src_x;
- __u32 src_y;
- __u32 src_h;
- __u32 src_w;
-};
-
-struct drm_mode_get_plane {
- __u32 plane_id;
-
- __u32 crtc_id;
- __u32 fb_id;
-
- __u32 possible_crtcs;
- __u32 gamma_size;
-
- __u32 count_format_types;
- __u64 format_type_ptr;
-};
-
-struct drm_mode_get_plane_res {
- __u64 plane_id_ptr;
- __u32 count_planes;
-};
-
-#define DRM_MODE_ENCODER_NONE 0
-#define DRM_MODE_ENCODER_DAC 1
-#define DRM_MODE_ENCODER_TMDS 2
-#define DRM_MODE_ENCODER_LVDS 3
-#define DRM_MODE_ENCODER_TVDAC 4
-#define DRM_MODE_ENCODER_VIRTUAL 5
-#define DRM_MODE_ENCODER_DSI 6
-#define DRM_MODE_ENCODER_DPMST 7
-
-struct drm_mode_get_encoder {
- __u32 encoder_id;
- __u32 encoder_type;
-
- __u32 crtc_id; /**< Id of crtc */
-
- __u32 possible_crtcs;
- __u32 possible_clones;
-};
-
-/* This is for connectors with multiple signal types. */
-/* Try to match DRM_MODE_CONNECTOR_X as closely as possible. */
-#define DRM_MODE_SUBCONNECTOR_Automatic 0
-#define DRM_MODE_SUBCONNECTOR_Unknown 0
-#define DRM_MODE_SUBCONNECTOR_DVID 3
-#define DRM_MODE_SUBCONNECTOR_DVIA 4
-#define DRM_MODE_SUBCONNECTOR_Composite 5
-#define DRM_MODE_SUBCONNECTOR_SVIDEO 6
-#define DRM_MODE_SUBCONNECTOR_Component 8
-#define DRM_MODE_SUBCONNECTOR_SCART 9
-
-#define DRM_MODE_CONNECTOR_Unknown 0
-#define DRM_MODE_CONNECTOR_VGA 1
-#define DRM_MODE_CONNECTOR_DVII 2
-#define DRM_MODE_CONNECTOR_DVID 3
-#define DRM_MODE_CONNECTOR_DVIA 4
-#define DRM_MODE_CONNECTOR_Composite 5
-#define DRM_MODE_CONNECTOR_SVIDEO 6
-#define DRM_MODE_CONNECTOR_LVDS 7
-#define DRM_MODE_CONNECTOR_Component 8
-#define DRM_MODE_CONNECTOR_9PinDIN 9
-#define DRM_MODE_CONNECTOR_DisplayPort 10
-#define DRM_MODE_CONNECTOR_HDMIA 11
-#define DRM_MODE_CONNECTOR_HDMIB 12
-#define DRM_MODE_CONNECTOR_TV 13
-#define DRM_MODE_CONNECTOR_eDP 14
-#define DRM_MODE_CONNECTOR_VIRTUAL 15
-#define DRM_MODE_CONNECTOR_DSI 16
-
-struct drm_mode_get_connector {
-
- __u64 encoders_ptr;
- __u64 modes_ptr;
- __u64 props_ptr;
- __u64 prop_values_ptr;
-
- __u32 count_modes;
- __u32 count_props;
- __u32 count_encoders;
-
- __u32 encoder_id; /**< Current Encoder */
- __u32 connector_id; /**< Id */
- __u32 connector_type;
- __u32 connector_type_id;
-
- __u32 connection;
- __u32 mm_width; /**< width in millimeters */
- __u32 mm_height; /**< height in millimeters */
- __u32 subpixel;
-
- __u32 pad;
-};
-
-#define DRM_MODE_PROP_PENDING (1<<0)
-#define DRM_MODE_PROP_RANGE (1<<1)
-#define DRM_MODE_PROP_IMMUTABLE (1<<2)
-#define DRM_MODE_PROP_ENUM (1<<3) /* enumerated type with text strings */
-#define DRM_MODE_PROP_BLOB (1<<4)
-#define DRM_MODE_PROP_BITMASK (1<<5) /* bitmask of enumerated types */
-
-/* non-extended types: legacy bitmask, one bit per type: */
-#define DRM_MODE_PROP_LEGACY_TYPE ( \
- DRM_MODE_PROP_RANGE | \
- DRM_MODE_PROP_ENUM | \
- DRM_MODE_PROP_BLOB | \
- DRM_MODE_PROP_BITMASK)
-
-/* extended-types: rather than continue to consume a bit per type,
- * grab a chunk of the bits to use as integer type id.
- */
-#define DRM_MODE_PROP_EXTENDED_TYPE 0x0000ffc0
-#define DRM_MODE_PROP_TYPE(n) ((n) << 6)
-#define DRM_MODE_PROP_OBJECT DRM_MODE_PROP_TYPE(1)
-#define DRM_MODE_PROP_SIGNED_RANGE DRM_MODE_PROP_TYPE(2)
-
-/* the PROP_ATOMIC flag is used to hide properties from userspace that
- * is not aware of atomic properties. This is mostly to work around
- * older userspace (DDX drivers) that read/write each prop they find,
- * witout being aware that this could be triggering a lengthy modeset.
- */
-#define DRM_MODE_PROP_ATOMIC 0x80000000
-
-struct drm_mode_property_enum {
- __u64 value;
- char name[DRM_PROP_NAME_LEN];
-};
-
-struct drm_mode_get_property {
- __u64 values_ptr; /* values and blob lengths */
- __u64 enum_blob_ptr; /* enum and blob id ptrs */
-
- __u32 prop_id;
- __u32 flags;
- char name[DRM_PROP_NAME_LEN];
-
- __u32 count_values;
- /* This is only used to count enum values, not blobs. The _blobs is
- * simply because of a historical reason, i.e. backwards compat. */
- __u32 count_enum_blobs;
-};
-
-struct drm_mode_connector_set_property {
- __u64 value;
- __u32 prop_id;
- __u32 connector_id;
-};
-
-struct drm_mode_obj_get_properties {
- __u64 props_ptr;
- __u64 prop_values_ptr;
- __u32 count_props;
- __u32 obj_id;
- __u32 obj_type;
-};
-
-struct drm_mode_obj_set_property {
- __u64 value;
- __u32 prop_id;
- __u32 obj_id;
- __u32 obj_type;
-};
-
-struct drm_mode_get_blob {
- __u32 blob_id;
- __u32 length;
- __u64 data;
-};
-
-struct drm_mode_fb_cmd {
- __u32 fb_id;
- __u32 width;
- __u32 height;
- __u32 pitch;
- __u32 bpp;
- __u32 depth;
- /* driver specific handle */
- __u32 handle;
-};
-
-#define DRM_MODE_FB_INTERLACED (1<<0) /* for interlaced framebuffers */
-#define DRM_MODE_FB_MODIFIERS (1<<1) /* enables ->modifer[] */
-
-struct drm_mode_fb_cmd2 {
- __u32 fb_id;
- __u32 width;
- __u32 height;
- __u32 pixel_format; /* fourcc code from drm_fourcc.h */
- __u32 flags; /* see above flags */
-
- /*
- * In case of planar formats, this ioctl allows up to 4
- * buffer objects with offsets and pitches per plane.
- * The pitch and offset order is dictated by the fourcc,
- * e.g. NV12 (http://fourcc.org/yuv.php#NV12) is described as:
- *
- * YUV 4:2:0 image with a plane of 8 bit Y samples
- * followed by an interleaved U/V plane containing
- * 8 bit 2x2 subsampled colour difference samples.
- *
- * So it would consist of Y as offsets[0] and UV as
- * offsets[1]. Note that offsets[0] will generally
- * be 0 (but this is not required).
- *
- * To accommodate tiled, compressed, etc formats, a per-plane
- * modifier can be specified. The default value of zero
- * indicates "native" format as specified by the fourcc.
- * Vendor specific modifier token. This allows, for example,
- * different tiling/swizzling pattern on different planes.
- * See discussion above of DRM_FORMAT_MOD_xxx.
- */
- __u32 handles[4];
- __u32 pitches[4]; /* pitch for each plane */
- __u32 offsets[4]; /* offset of each plane */
- __u64 modifier[4]; /* ie, tiling, compressed (per plane) */
-};
-
-#define DRM_MODE_FB_DIRTY_ANNOTATE_COPY 0x01
-#define DRM_MODE_FB_DIRTY_ANNOTATE_FILL 0x02
-#define DRM_MODE_FB_DIRTY_FLAGS 0x03
-
-#define DRM_MODE_FB_DIRTY_MAX_CLIPS 256
-
-/*
- * Mark a region of a framebuffer as dirty.
- *
- * Some hardware does not automatically update display contents
- * as a hardware or software draw to a framebuffer. This ioctl
- * allows userspace to tell the kernel and the hardware what
- * regions of the framebuffer have changed.
- *
- * The kernel or hardware is free to update more then just the
- * region specified by the clip rects. The kernel or hardware
- * may also delay and/or coalesce several calls to dirty into a
- * single update.
- *
- * Userspace may annotate the updates, the annotates are a
- * promise made by the caller that the change is either a copy
- * of pixels or a fill of a single color in the region specified.
- *
- * If the DRM_MODE_FB_DIRTY_ANNOTATE_COPY flag is given then
- * the number of updated regions are half of num_clips given,
- * where the clip rects are paired in src and dst. The width and
- * height of each one of the pairs must match.
- *
- * If the DRM_MODE_FB_DIRTY_ANNOTATE_FILL flag is given the caller
- * promises that the region specified of the clip rects is filled
- * completely with a single color as given in the color argument.
- */
-
-struct drm_mode_fb_dirty_cmd {
- __u32 fb_id;
- __u32 flags;
- __u32 color;
- __u32 num_clips;
- __u64 clips_ptr;
-};
-
-struct drm_mode_mode_cmd {
- __u32 connector_id;
- struct drm_mode_modeinfo mode;
-};
-
-#define DRM_MODE_CURSOR_BO 0x01
-#define DRM_MODE_CURSOR_MOVE 0x02
-#define DRM_MODE_CURSOR_FLAGS 0x03
-
-/*
- * depending on the value in flags different members are used.
- *
- * CURSOR_BO uses
- * crtc_id
- * width
- * height
- * handle - if 0 turns the cursor off
- *
- * CURSOR_MOVE uses
- * crtc_id
- * x
- * y
- */
-struct drm_mode_cursor {
- __u32 flags;
- __u32 crtc_id;
- __s32 x;
- __s32 y;
- __u32 width;
- __u32 height;
- /* driver specific handle */
- __u32 handle;
-};
-
-struct drm_mode_cursor2 {
- __u32 flags;
- __u32 crtc_id;
- __s32 x;
- __s32 y;
- __u32 width;
- __u32 height;
- /* driver specific handle */
- __u32 handle;
- __s32 hot_x;
- __s32 hot_y;
-};
-
-struct drm_mode_crtc_lut {
- __u32 crtc_id;
- __u32 gamma_size;
-
- /* pointers to arrays */
- __u64 red;
- __u64 green;
- __u64 blue;
-};
-
-struct drm_color_ctm {
- /* Conversion matrix in S31.32 format. */
- __s64 matrix[9];
-};
-
-struct drm_color_lut {
- /*
- * Data is U0.16 fixed point format.
- */
- __u16 red;
- __u16 green;
- __u16 blue;
- __u16 reserved;
-};
-
-#define DRM_MODE_PAGE_FLIP_EVENT 0x01
-#define DRM_MODE_PAGE_FLIP_ASYNC 0x02
-#define DRM_MODE_PAGE_FLIP_FLAGS (DRM_MODE_PAGE_FLIP_EVENT|DRM_MODE_PAGE_FLIP_ASYNC)
-
-/*
- * Request a page flip on the specified crtc.
- *
- * This ioctl will ask KMS to schedule a page flip for the specified
- * crtc. Once any pending rendering targeting the specified fb (as of
- * ioctl time) has completed, the crtc will be reprogrammed to display
- * that fb after the next vertical refresh. The ioctl returns
- * immediately, but subsequent rendering to the current fb will block
- * in the execbuffer ioctl until the page flip happens. If a page
- * flip is already pending as the ioctl is called, EBUSY will be
- * returned.
- *
- * Flag DRM_MODE_PAGE_FLIP_EVENT requests that drm sends back a vblank
- * event (see drm.h: struct drm_event_vblank) when the page flip is
- * done. The user_data field passed in with this ioctl will be
- * returned as the user_data field in the vblank event struct.
- *
- * Flag DRM_MODE_PAGE_FLIP_ASYNC requests that the flip happen
- * 'as soon as possible', meaning that it not delay waiting for vblank.
- * This may cause tearing on the screen.
- *
- * The reserved field must be zero until we figure out something
- * clever to use it for.
- */
-
-struct drm_mode_crtc_page_flip {
- __u32 crtc_id;
- __u32 fb_id;
- __u32 flags;
- __u32 reserved;
- __u64 user_data;
-};
-
-/* create a dumb scanout buffer */
-struct drm_mode_create_dumb {
- __u32 height;
- __u32 width;
- __u32 bpp;
- __u32 flags;
- /* handle, pitch, size will be returned */
- __u32 handle;
- __u32 pitch;
- __u64 size;
-};
-
-/* set up for mmap of a dumb scanout buffer */
-struct drm_mode_map_dumb {
- /** Handle for the object being mapped. */
- __u32 handle;
- __u32 pad;
- /**
- * Fake offset to use for subsequent mmap call
- *
- * This is a fixed-size type for 32/64 compatibility.
- */
- __u64 offset;
-};
-
-struct drm_mode_destroy_dumb {
- __u32 handle;
-};
-
-/* page-flip flags are valid, plus: */
-#define DRM_MODE_ATOMIC_TEST_ONLY 0x0100
-#define DRM_MODE_ATOMIC_NONBLOCK 0x0200
-#define DRM_MODE_ATOMIC_ALLOW_MODESET 0x0400
-
-#define DRM_MODE_ATOMIC_FLAGS (\
- DRM_MODE_PAGE_FLIP_EVENT |\
- DRM_MODE_PAGE_FLIP_ASYNC |\
- DRM_MODE_ATOMIC_TEST_ONLY |\
- DRM_MODE_ATOMIC_NONBLOCK |\
- DRM_MODE_ATOMIC_ALLOW_MODESET)
-
-struct drm_mode_atomic {
- __u32 flags;
- __u32 count_objs;
- __u64 objs_ptr;
- __u64 count_props_ptr;
- __u64 props_ptr;
- __u64 prop_values_ptr;
- __u64 reserved;
- __u64 user_data;
-};
-
-/**
- * Create a new 'blob' data property, copying length bytes from data pointer,
- * and returning new blob ID.
- */
-struct drm_mode_create_blob {
- /** Pointer to data to copy. */
- __u64 data;
- /** Length of data to copy. */
- __u32 length;
- /** Return: new property ID. */
- __u32 blob_id;
-};
-
-/**
- * Destroy a user-created blob property.
- */
-struct drm_mode_destroy_blob {
- __u32 blob_id;
-};
-
-#endif
diff --git a/linux-headers/include/drm/drm_sarea.h b/linux-headers/include/drm/drm_sarea.h
deleted file mode 100644
index 502934e..0000000
--- a/linux-headers/include/drm/drm_sarea.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/**
- * \file drm_sarea.h
- * \brief SAREA definitions
- *
- * \author Michel Dänzer <michel@daenzer.net>
- */
-
-/*
- * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _DRM_SAREA_H_
-#define _DRM_SAREA_H_
-
-#include "drm.h"
-
-/* SAREA area needs to be at least a page */
-#if defined(__alpha__)
-#define SAREA_MAX 0x2000U
-#elif defined(__mips__)
-#define SAREA_MAX 0x4000U
-#elif defined(__ia64__)
-#define SAREA_MAX 0x10000U /* 64kB */
-#else
-/* Intel 830M driver needs at least 8k SAREA */
-#define SAREA_MAX 0x2000U
-#endif
-
-/** Maximum number of drawables in the SAREA */
-#define SAREA_MAX_DRAWABLES 256
-
-#define SAREA_DRAWABLE_CLAIMED_ENTRY 0x80000000
-
-/** SAREA drawable */
-struct drm_sarea_drawable {
- unsigned int stamp;
- unsigned int flags;
-};
-
-/** SAREA frame */
-struct drm_sarea_frame {
- unsigned int x;
- unsigned int y;
- unsigned int width;
- unsigned int height;
- unsigned int fullscreen;
-};
-
-/** SAREA */
-struct drm_sarea {
- /** first thing is always the DRM locking structure */
- struct drm_hw_lock lock;
- /** \todo Use readers/writer lock for drm_sarea::drawable_lock */
- struct drm_hw_lock drawable_lock;
- struct drm_sarea_drawable drawableTable[SAREA_MAX_DRAWABLES]; /**< drawables */
- struct drm_sarea_frame frame; /**< frame */
- drm_context_t dummy_context;
-};
-
-typedef struct drm_sarea_drawable drm_sarea_drawable_t;
-typedef struct drm_sarea_frame drm_sarea_frame_t;
-typedef struct drm_sarea drm_sarea_t;
-
-#endif /* _DRM_SAREA_H_ */
diff --git a/linux-headers/include/drm/exynos_drm.h b/linux-headers/include/drm/exynos_drm.h
deleted file mode 100644
index 931c314..0000000
--- a/linux-headers/include/drm/exynos_drm.h
+++ /dev/null
@@ -1,365 +0,0 @@
-/* exynos_drm.h
- *
- * Copyright (c) 2011 Samsung Electronics Co., Ltd.
- * Authors:
- * Inki Dae <inki.dae@samsung.com>
- * Joonyoung Shim <jy0922.shim@samsung.com>
- * Seung-Woo Kim <sw0312.kim@samsung.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- */
-
-#ifndef _EXYNOS_DRM_H_
-#define _EXYNOS_DRM_H_
-
-#include "drm.h"
-
-/**
- * User-desired buffer creation information structure.
- *
- * @size: user-desired memory allocation size.
- * - this size value would be page-aligned internally.
- * @flags: user request for setting memory type or cache attributes.
- * @handle: returned a handle to created gem object.
- * - this handle will be set by gem module of kernel side.
- */
-struct drm_exynos_gem_create {
- __u64 size;
- __u32 flags;
- __u32 handle;
-};
-
-/**
- * A structure for getting a fake-offset that can be used with mmap.
- *
- * @handle: handle of gem object.
- * @reserved: just padding to be 64-bit aligned.
- * @offset: a fake-offset of gem object.
- */
-struct drm_exynos_gem_map {
- __u32 handle;
- __u32 reserved;
- __u64 offset;
-};
-
-/**
- * A structure to gem information.
- *
- * @handle: a handle to gem object created.
- * @flags: flag value including memory type and cache attribute and
- * this value would be set by driver.
- * @size: size to memory region allocated by gem and this size would
- * be set by driver.
- */
-struct drm_exynos_gem_info {
- __u32 handle;
- __u32 flags;
- __u64 size;
-};
-
-/**
- * A structure for user connection request of virtual display.
- *
- * @connection: indicate whether doing connetion or not by user.
- * @extensions: if this value is 1 then the vidi driver would need additional
- * 128bytes edid data.
- * @edid: the edid data pointer from user side.
- */
-struct drm_exynos_vidi_connection {
- __u32 connection;
- __u32 extensions;
- __u64 edid;
-};
-
-/* memory type definitions. */
-enum e_drm_exynos_gem_mem_type {
- /* Physically Continuous memory and used as default. */
- EXYNOS_BO_CONTIG = 0 << 0,
- /* Physically Non-Continuous memory. */
- EXYNOS_BO_NONCONTIG = 1 << 0,
- /* non-cachable mapping and used as default. */
- EXYNOS_BO_NONCACHABLE = 0 << 1,
- /* cachable mapping. */
- EXYNOS_BO_CACHABLE = 1 << 1,
- /* write-combine mapping. */
- EXYNOS_BO_WC = 1 << 2,
- EXYNOS_BO_MASK = EXYNOS_BO_NONCONTIG | EXYNOS_BO_CACHABLE |
- EXYNOS_BO_WC
-};
-
-struct drm_exynos_g2d_get_ver {
- __u32 major;
- __u32 minor;
-};
-
-struct drm_exynos_g2d_cmd {
- __u32 offset;
- __u32 data;
-};
-
-enum drm_exynos_g2d_buf_type {
- G2D_BUF_USERPTR = 1 << 31,
-};
-
-enum drm_exynos_g2d_event_type {
- G2D_EVENT_NOT,
- G2D_EVENT_NONSTOP,
- G2D_EVENT_STOP, /* not yet */
-};
-
-struct drm_exynos_g2d_userptr {
- unsigned long userptr;
- unsigned long size;
-};
-
-struct drm_exynos_g2d_set_cmdlist {
- __u64 cmd;
- __u64 cmd_buf;
- __u32 cmd_nr;
- __u32 cmd_buf_nr;
-
- /* for g2d event */
- __u64 event_type;
- __u64 user_data;
-};
-
-struct drm_exynos_g2d_exec {
- __u64 async;
-};
-
-enum drm_exynos_ops_id {
- EXYNOS_DRM_OPS_SRC,
- EXYNOS_DRM_OPS_DST,
- EXYNOS_DRM_OPS_MAX,
-};
-
-struct drm_exynos_sz {
- __u32 hsize;
- __u32 vsize;
-};
-
-struct drm_exynos_pos {
- __u32 x;
- __u32 y;
- __u32 w;
- __u32 h;
-};
-
-enum drm_exynos_flip {
- EXYNOS_DRM_FLIP_NONE = (0 << 0),
- EXYNOS_DRM_FLIP_VERTICAL = (1 << 0),
- EXYNOS_DRM_FLIP_HORIZONTAL = (1 << 1),
- EXYNOS_DRM_FLIP_BOTH = EXYNOS_DRM_FLIP_VERTICAL |
- EXYNOS_DRM_FLIP_HORIZONTAL,
-};
-
-enum drm_exynos_degree {
- EXYNOS_DRM_DEGREE_0,
- EXYNOS_DRM_DEGREE_90,
- EXYNOS_DRM_DEGREE_180,
- EXYNOS_DRM_DEGREE_270,
-};
-
-enum drm_exynos_planer {
- EXYNOS_DRM_PLANAR_Y,
- EXYNOS_DRM_PLANAR_CB,
- EXYNOS_DRM_PLANAR_CR,
- EXYNOS_DRM_PLANAR_MAX,
-};
-
-/**
- * A structure for ipp supported property list.
- *
- * @version: version of this structure.
- * @ipp_id: id of ipp driver.
- * @count: count of ipp driver.
- * @writeback: flag of writeback supporting.
- * @flip: flag of flip supporting.
- * @degree: flag of degree information.
- * @csc: flag of csc supporting.
- * @crop: flag of crop supporting.
- * @scale: flag of scale supporting.
- * @refresh_min: min hz of refresh.
- * @refresh_max: max hz of refresh.
- * @crop_min: crop min resolution.
- * @crop_max: crop max resolution.
- * @scale_min: scale min resolution.
- * @scale_max: scale max resolution.
- */
-struct drm_exynos_ipp_prop_list {
- __u32 version;
- __u32 ipp_id;
- __u32 count;
- __u32 writeback;
- __u32 flip;
- __u32 degree;
- __u32 csc;
- __u32 crop;
- __u32 scale;
- __u32 refresh_min;
- __u32 refresh_max;
- __u32 reserved;
- struct drm_exynos_sz crop_min;
- struct drm_exynos_sz crop_max;
- struct drm_exynos_sz scale_min;
- struct drm_exynos_sz scale_max;
-};
-
-/**
- * A structure for ipp config.
- *
- * @ops_id: property of operation directions.
- * @flip: property of mirror, flip.
- * @degree: property of rotation degree.
- * @fmt: property of image format.
- * @sz: property of image size.
- * @pos: property of image position(src-cropped,dst-scaler).
- */
-struct drm_exynos_ipp_config {
- __u32 ops_id;
- __u32 flip;
- __u32 degree;
- __u32 fmt;
- struct drm_exynos_sz sz;
- struct drm_exynos_pos pos;
-};
-
-enum drm_exynos_ipp_cmd {
- IPP_CMD_NONE,
- IPP_CMD_M2M,
- IPP_CMD_WB,
- IPP_CMD_OUTPUT,
- IPP_CMD_MAX,
-};
-
-/**
- * A structure for ipp property.
- *
- * @config: source, destination config.
- * @cmd: definition of command.
- * @ipp_id: id of ipp driver.
- * @prop_id: id of property.
- * @refresh_rate: refresh rate.
- */
-struct drm_exynos_ipp_property {
- struct drm_exynos_ipp_config config[EXYNOS_DRM_OPS_MAX];
- __u32 cmd;
- __u32 ipp_id;
- __u32 prop_id;
- __u32 refresh_rate;
-};
-
-enum drm_exynos_ipp_buf_type {
- IPP_BUF_ENQUEUE,
- IPP_BUF_DEQUEUE,
-};
-
-/**
- * A structure for ipp buffer operations.
- *
- * @ops_id: operation directions.
- * @buf_type: definition of buffer.
- * @prop_id: id of property.
- * @buf_id: id of buffer.
- * @handle: Y, Cb, Cr each planar handle.
- * @user_data: user data.
- */
-struct drm_exynos_ipp_queue_buf {
- __u32 ops_id;
- __u32 buf_type;
- __u32 prop_id;
- __u32 buf_id;
- __u32 handle[EXYNOS_DRM_PLANAR_MAX];
- __u32 reserved;
- __u64 user_data;
-};
-
-enum drm_exynos_ipp_ctrl {
- IPP_CTRL_PLAY,
- IPP_CTRL_STOP,
- IPP_CTRL_PAUSE,
- IPP_CTRL_RESUME,
- IPP_CTRL_MAX,
-};
-
-/**
- * A structure for ipp start/stop operations.
- *
- * @prop_id: id of property.
- * @ctrl: definition of control.
- */
-struct drm_exynos_ipp_cmd_ctrl {
- __u32 prop_id;
- __u32 ctrl;
-};
-
-#define DRM_EXYNOS_GEM_CREATE 0x00
-#define DRM_EXYNOS_GEM_MAP 0x01
-/* Reserved 0x03 ~ 0x05 for exynos specific gem ioctl */
-#define DRM_EXYNOS_GEM_GET 0x04
-#define DRM_EXYNOS_VIDI_CONNECTION 0x07
-
-/* G2D */
-#define DRM_EXYNOS_G2D_GET_VER 0x20
-#define DRM_EXYNOS_G2D_SET_CMDLIST 0x21
-#define DRM_EXYNOS_G2D_EXEC 0x22
-
-/* IPP - Image Post Processing */
-#define DRM_EXYNOS_IPP_GET_PROPERTY 0x30
-#define DRM_EXYNOS_IPP_SET_PROPERTY 0x31
-#define DRM_EXYNOS_IPP_QUEUE_BUF 0x32
-#define DRM_EXYNOS_IPP_CMD_CTRL 0x33
-
-#define DRM_IOCTL_EXYNOS_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_GEM_CREATE, struct drm_exynos_gem_create)
-#define DRM_IOCTL_EXYNOS_GEM_MAP DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_GEM_MAP, struct drm_exynos_gem_map)
-#define DRM_IOCTL_EXYNOS_GEM_GET DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_GEM_GET, struct drm_exynos_gem_info)
-
-#define DRM_IOCTL_EXYNOS_VIDI_CONNECTION DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_VIDI_CONNECTION, struct drm_exynos_vidi_connection)
-
-#define DRM_IOCTL_EXYNOS_G2D_GET_VER DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_G2D_GET_VER, struct drm_exynos_g2d_get_ver)
-#define DRM_IOCTL_EXYNOS_G2D_SET_CMDLIST DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_G2D_SET_CMDLIST, struct drm_exynos_g2d_set_cmdlist)
-#define DRM_IOCTL_EXYNOS_G2D_EXEC DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_G2D_EXEC, struct drm_exynos_g2d_exec)
-
-#define DRM_IOCTL_EXYNOS_IPP_GET_PROPERTY DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_IPP_GET_PROPERTY, struct drm_exynos_ipp_prop_list)
-#define DRM_IOCTL_EXYNOS_IPP_SET_PROPERTY DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_IPP_SET_PROPERTY, struct drm_exynos_ipp_property)
-#define DRM_IOCTL_EXYNOS_IPP_QUEUE_BUF DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_IPP_QUEUE_BUF, struct drm_exynos_ipp_queue_buf)
-#define DRM_IOCTL_EXYNOS_IPP_CMD_CTRL DRM_IOWR(DRM_COMMAND_BASE + \
- DRM_EXYNOS_IPP_CMD_CTRL, struct drm_exynos_ipp_cmd_ctrl)
-
-/* EXYNOS specific events */
-#define DRM_EXYNOS_G2D_EVENT 0x80000000
-#define DRM_EXYNOS_IPP_EVENT 0x80000001
-
-struct drm_exynos_g2d_event {
- struct drm_event base;
- __u64 user_data;
- __u32 tv_sec;
- __u32 tv_usec;
- __u32 cmdlist_no;
- __u32 reserved;
-};
-
-struct drm_exynos_ipp_event {
- struct drm_event base;
- __u64 user_data;
- __u32 tv_sec;
- __u32 tv_usec;
- __u32 prop_id;
- __u32 reserved;
- __u32 buf_id[EXYNOS_DRM_OPS_MAX];
-};
-
-#endif /* _EXYNOS_DRM_H_ */
diff --git a/linux-headers/include/drm/i810_drm.h b/linux-headers/include/drm/i810_drm.h
deleted file mode 100644
index bdb0287..0000000
--- a/linux-headers/include/drm/i810_drm.h
+++ /dev/null
@@ -1,283 +0,0 @@
-#ifndef _I810_DRM_H_
-#define _I810_DRM_H_
-
-#include "drm.h"
-
-/* WARNING: These defines must be the same as what the Xserver uses.
- * if you change them, you must change the defines in the Xserver.
- */
-
-#ifndef _I810_DEFINES_
-#define _I810_DEFINES_
-
-#define I810_DMA_BUF_ORDER 12
-#define I810_DMA_BUF_SZ (1<<I810_DMA_BUF_ORDER)
-#define I810_DMA_BUF_NR 256
-#define I810_NR_SAREA_CLIPRECTS 8
-
-/* Each region is a minimum of 64k, and there are at most 64 of them.
- */
-#define I810_NR_TEX_REGIONS 64
-#define I810_LOG_MIN_TEX_REGION_SIZE 16
-#endif
-
-#define I810_UPLOAD_TEX0IMAGE 0x1 /* handled clientside */
-#define I810_UPLOAD_TEX1IMAGE 0x2 /* handled clientside */
-#define I810_UPLOAD_CTX 0x4
-#define I810_UPLOAD_BUFFERS 0x8
-#define I810_UPLOAD_TEX0 0x10
-#define I810_UPLOAD_TEX1 0x20
-#define I810_UPLOAD_CLIPRECTS 0x40
-
-/* Indices into buf.Setup where various bits of state are mirrored per
- * context and per buffer. These can be fired at the card as a unit,
- * or in a piecewise fashion as required.
- */
-
-/* Destbuffer state
- * - backbuffer linear offset and pitch -- invarient in the current dri
- * - zbuffer linear offset and pitch -- also invarient
- * - drawing origin in back and depth buffers.
- *
- * Keep the depth/back buffer state here to accommodate private buffers
- * in the future.
- */
-#define I810_DESTREG_DI0 0 /* CMD_OP_DESTBUFFER_INFO (2 dwords) */
-#define I810_DESTREG_DI1 1
-#define I810_DESTREG_DV0 2 /* GFX_OP_DESTBUFFER_VARS (2 dwords) */
-#define I810_DESTREG_DV1 3
-#define I810_DESTREG_DR0 4 /* GFX_OP_DRAWRECT_INFO (4 dwords) */
-#define I810_DESTREG_DR1 5
-#define I810_DESTREG_DR2 6
-#define I810_DESTREG_DR3 7
-#define I810_DESTREG_DR4 8
-#define I810_DEST_SETUP_SIZE 10
-
-/* Context state
- */
-#define I810_CTXREG_CF0 0 /* GFX_OP_COLOR_FACTOR */
-#define I810_CTXREG_CF1 1
-#define I810_CTXREG_ST0 2 /* GFX_OP_STIPPLE */
-#define I810_CTXREG_ST1 3
-#define I810_CTXREG_VF 4 /* GFX_OP_VERTEX_FMT */
-#define I810_CTXREG_MT 5 /* GFX_OP_MAP_TEXELS */
-#define I810_CTXREG_MC0 6 /* GFX_OP_MAP_COLOR_STAGES - stage 0 */
-#define I810_CTXREG_MC1 7 /* GFX_OP_MAP_COLOR_STAGES - stage 1 */
-#define I810_CTXREG_MC2 8 /* GFX_OP_MAP_COLOR_STAGES - stage 2 */
-#define I810_CTXREG_MA0 9 /* GFX_OP_MAP_ALPHA_STAGES - stage 0 */
-#define I810_CTXREG_MA1 10 /* GFX_OP_MAP_ALPHA_STAGES - stage 1 */
-#define I810_CTXREG_MA2 11 /* GFX_OP_MAP_ALPHA_STAGES - stage 2 */
-#define I810_CTXREG_SDM 12 /* GFX_OP_SRC_DEST_MONO */
-#define I810_CTXREG_FOG 13 /* GFX_OP_FOG_COLOR */
-#define I810_CTXREG_B1 14 /* GFX_OP_BOOL_1 */
-#define I810_CTXREG_B2 15 /* GFX_OP_BOOL_2 */
-#define I810_CTXREG_LCS 16 /* GFX_OP_LINEWIDTH_CULL_SHADE_MODE */
-#define I810_CTXREG_PV 17 /* GFX_OP_PV_RULE -- Invarient! */
-#define I810_CTXREG_ZA 18 /* GFX_OP_ZBIAS_ALPHAFUNC */
-#define I810_CTXREG_AA 19 /* GFX_OP_ANTIALIAS */
-#define I810_CTX_SETUP_SIZE 20
-
-/* Texture state (per tex unit)
- */
-#define I810_TEXREG_MI0 0 /* GFX_OP_MAP_INFO (4 dwords) */
-#define I810_TEXREG_MI1 1
-#define I810_TEXREG_MI2 2
-#define I810_TEXREG_MI3 3
-#define I810_TEXREG_MF 4 /* GFX_OP_MAP_FILTER */
-#define I810_TEXREG_MLC 5 /* GFX_OP_MAP_LOD_CTL */
-#define I810_TEXREG_MLL 6 /* GFX_OP_MAP_LOD_LIMITS */
-#define I810_TEXREG_MCS 7 /* GFX_OP_MAP_COORD_SETS ??? */
-#define I810_TEX_SETUP_SIZE 8
-
-/* Flags for clear ioctl
- */
-#define I810_FRONT 0x1
-#define I810_BACK 0x2
-#define I810_DEPTH 0x4
-
-typedef enum _drm_i810_init_func {
- I810_INIT_DMA = 0x01,
- I810_CLEANUP_DMA = 0x02,
- I810_INIT_DMA_1_4 = 0x03
-} drm_i810_init_func_t;
-
-/* This is the init structure after v1.2 */
-typedef struct _drm_i810_init {
- drm_i810_init_func_t func;
- unsigned int mmio_offset;
- unsigned int buffers_offset;
- int sarea_priv_offset;
- unsigned int ring_start;
- unsigned int ring_end;
- unsigned int ring_size;
- unsigned int front_offset;
- unsigned int back_offset;
- unsigned int depth_offset;
- unsigned int overlay_offset;
- unsigned int overlay_physical;
- unsigned int w;
- unsigned int h;
- unsigned int pitch;
- unsigned int pitch_bits;
-} drm_i810_init_t;
-
-/* This is the init structure prior to v1.2 */
-typedef struct _drm_i810_pre12_init {
- drm_i810_init_func_t func;
- unsigned int mmio_offset;
- unsigned int buffers_offset;
- int sarea_priv_offset;
- unsigned int ring_start;
- unsigned int ring_end;
- unsigned int ring_size;
- unsigned int front_offset;
- unsigned int back_offset;
- unsigned int depth_offset;
- unsigned int w;
- unsigned int h;
- unsigned int pitch;
- unsigned int pitch_bits;
-} drm_i810_pre12_init_t;
-
-/* Warning: If you change the SAREA structure you must change the Xserver
- * structure as well */
-
-typedef struct _drm_i810_tex_region {
- unsigned char next, prev; /* indices to form a circular LRU */
- unsigned char in_use; /* owned by a client, or free? */
- int age; /* tracked by clients to update local LRU's */
-} drm_i810_tex_region_t;
-
-typedef struct _drm_i810_sarea {
- unsigned int ContextState[I810_CTX_SETUP_SIZE];
- unsigned int BufferState[I810_DEST_SETUP_SIZE];
- unsigned int TexState[2][I810_TEX_SETUP_SIZE];
- unsigned int dirty;
-
- unsigned int nbox;
- struct drm_clip_rect boxes[I810_NR_SAREA_CLIPRECTS];
-
- /* Maintain an LRU of contiguous regions of texture space. If
- * you think you own a region of texture memory, and it has an
- * age different to the one you set, then you are mistaken and
- * it has been stolen by another client. If global texAge
- * hasn't changed, there is no need to walk the list.
- *
- * These regions can be used as a proxy for the fine-grained
- * texture information of other clients - by maintaining them
- * in the same lru which is used to age their own textures,
- * clients have an approximate lru for the whole of global
- * texture space, and can make informed decisions as to which
- * areas to kick out. There is no need to choose whether to
- * kick out your own texture or someone else's - simply eject
- * them all in LRU order.
- */
-
- drm_i810_tex_region_t texList[I810_NR_TEX_REGIONS + 1];
- /* Last elt is sentinal */
- int texAge; /* last time texture was uploaded */
- int last_enqueue; /* last time a buffer was enqueued */
- int last_dispatch; /* age of the most recently dispatched buffer */
- int last_quiescent; /* */
- int ctxOwner; /* last context to upload state */
-
- int vertex_prim;
-
- int pf_enabled; /* is pageflipping allowed? */
- int pf_active;
- int pf_current_page; /* which buffer is being displayed? */
-} drm_i810_sarea_t;
-
-/* WARNING: If you change any of these defines, make sure to change the
- * defines in the Xserver file (xf86drmMga.h)
- */
-
-/* i810 specific ioctls
- * The device specific ioctl range is 0x40 to 0x79.
- */
-#define DRM_I810_INIT 0x00
-#define DRM_I810_VERTEX 0x01
-#define DRM_I810_CLEAR 0x02
-#define DRM_I810_FLUSH 0x03
-#define DRM_I810_GETAGE 0x04
-#define DRM_I810_GETBUF 0x05
-#define DRM_I810_SWAP 0x06
-#define DRM_I810_COPY 0x07
-#define DRM_I810_DOCOPY 0x08
-#define DRM_I810_OV0INFO 0x09
-#define DRM_I810_FSTATUS 0x0a
-#define DRM_I810_OV0FLIP 0x0b
-#define DRM_I810_MC 0x0c
-#define DRM_I810_RSTATUS 0x0d
-#define DRM_I810_FLIP 0x0e
-
-#define DRM_IOCTL_I810_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I810_INIT, drm_i810_init_t)
-#define DRM_IOCTL_I810_VERTEX DRM_IOW( DRM_COMMAND_BASE + DRM_I810_VERTEX, drm_i810_vertex_t)
-#define DRM_IOCTL_I810_CLEAR DRM_IOW( DRM_COMMAND_BASE + DRM_I810_CLEAR, drm_i810_clear_t)
-#define DRM_IOCTL_I810_FLUSH DRM_IO( DRM_COMMAND_BASE + DRM_I810_FLUSH)
-#define DRM_IOCTL_I810_GETAGE DRM_IO( DRM_COMMAND_BASE + DRM_I810_GETAGE)
-#define DRM_IOCTL_I810_GETBUF DRM_IOWR(DRM_COMMAND_BASE + DRM_I810_GETBUF, drm_i810_dma_t)
-#define DRM_IOCTL_I810_SWAP DRM_IO( DRM_COMMAND_BASE + DRM_I810_SWAP)
-#define DRM_IOCTL_I810_COPY DRM_IOW( DRM_COMMAND_BASE + DRM_I810_COPY, drm_i810_copy_t)
-#define DRM_IOCTL_I810_DOCOPY DRM_IO( DRM_COMMAND_BASE + DRM_I810_DOCOPY)
-#define DRM_IOCTL_I810_OV0INFO DRM_IOR( DRM_COMMAND_BASE + DRM_I810_OV0INFO, drm_i810_overlay_t)
-#define DRM_IOCTL_I810_FSTATUS DRM_IO ( DRM_COMMAND_BASE + DRM_I810_FSTATUS)
-#define DRM_IOCTL_I810_OV0FLIP DRM_IO ( DRM_COMMAND_BASE + DRM_I810_OV0FLIP)
-#define DRM_IOCTL_I810_MC DRM_IOW( DRM_COMMAND_BASE + DRM_I810_MC, drm_i810_mc_t)
-#define DRM_IOCTL_I810_RSTATUS DRM_IO ( DRM_COMMAND_BASE + DRM_I810_RSTATUS)
-#define DRM_IOCTL_I810_FLIP DRM_IO ( DRM_COMMAND_BASE + DRM_I810_FLIP)
-
-typedef struct _drm_i810_clear {
- int clear_color;
- int clear_depth;
- int flags;
-} drm_i810_clear_t;
-
-/* These may be placeholders if we have more cliprects than
- * I810_NR_SAREA_CLIPRECTS. In that case, the client sets discard to
- * false, indicating that the buffer will be dispatched again with a
- * new set of cliprects.
- */
-typedef struct _drm_i810_vertex {
- int idx; /* buffer index */
- int used; /* nr bytes in use */
- int discard; /* client is finished with the buffer? */
-} drm_i810_vertex_t;
-
-typedef struct _drm_i810_copy_t {
- int idx; /* buffer index */
- int used; /* nr bytes in use */
- void *address; /* Address to copy from */
-} drm_i810_copy_t;
-
-#define PR_TRIANGLES (0x0<<18)
-#define PR_TRISTRIP_0 (0x1<<18)
-#define PR_TRISTRIP_1 (0x2<<18)
-#define PR_TRIFAN (0x3<<18)
-#define PR_POLYGON (0x4<<18)
-#define PR_LINES (0x5<<18)
-#define PR_LINESTRIP (0x6<<18)
-#define PR_RECTS (0x7<<18)
-#define PR_MASK (0x7<<18)
-
-typedef struct drm_i810_dma {
- void *virtual;
- int request_idx;
- int request_size;
- int granted;
-} drm_i810_dma_t;
-
-typedef struct _drm_i810_overlay_t {
- unsigned int offset; /* Address of the Overlay Regs */
- unsigned int physical;
-} drm_i810_overlay_t;
-
-typedef struct _drm_i810_mc {
- int idx; /* buffer index */
- int used; /* nr bytes in use */
- int num_blocks; /* number of GFXBlocks */
- int *length; /* List of lengths for GFXBlocks (FUTURE) */
- unsigned int last_render; /* Last Render Request */
-} drm_i810_mc_t;
-
-#endif /* _I810_DRM_H_ */
diff --git a/linux-headers/include/drm/i915_drm.h b/linux-headers/include/drm/i915_drm.h
deleted file mode 100644
index c4ce6b2..0000000
--- a/linux-headers/include/drm/i915_drm.h
+++ /dev/null
@@ -1,1173 +0,0 @@
-/*
- * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
- * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-#ifndef _I915_DRM_H_
-#define _I915_DRM_H_
-
-#include "drm.h"
-
-/* Please note that modifications to all structs defined here are
- * subject to backwards-compatibility constraints.
- */
-
-/**
- * DOC: uevents generated by i915 on it's device node
- *
- * I915_L3_PARITY_UEVENT - Generated when the driver receives a parity mismatch
- * event from the gpu l3 cache. Additional information supplied is ROW,
- * BANK, SUBBANK, SLICE of the affected cacheline. Userspace should keep
- * track of these events and if a specific cache-line seems to have a
- * persistent error remap it with the l3 remapping tool supplied in
- * intel-gpu-tools. The value supplied with the event is always 1.
- *
- * I915_ERROR_UEVENT - Generated upon error detection, currently only via
- * hangcheck. The error detection event is a good indicator of when things
- * began to go badly. The value supplied with the event is a 1 upon error
- * detection, and a 0 upon reset completion, signifying no more error
- * exists. NOTE: Disabling hangcheck or reset via module parameter will
- * cause the related events to not be seen.
- *
- * I915_RESET_UEVENT - Event is generated just before an attempt to reset the
- * the GPU. The value supplied with the event is always 1. NOTE: Disable
- * reset via module parameter will cause this event to not be seen.
- */
-#define I915_L3_PARITY_UEVENT "L3_PARITY_ERROR"
-#define I915_ERROR_UEVENT "ERROR"
-#define I915_RESET_UEVENT "RESET"
-
-/* Each region is a minimum of 16k, and there are at most 255 of them.
- */
-#define I915_NR_TEX_REGIONS 255 /* table size 2k - maximum due to use
- * of chars for next/prev indices */
-#define I915_LOG_MIN_TEX_REGION_SIZE 14
-
-typedef struct _drm_i915_init {
- enum {
- I915_INIT_DMA = 0x01,
- I915_CLEANUP_DMA = 0x02,
- I915_RESUME_DMA = 0x03
- } func;
- unsigned int mmio_offset;
- int sarea_priv_offset;
- unsigned int ring_start;
- unsigned int ring_end;
- unsigned int ring_size;
- unsigned int front_offset;
- unsigned int back_offset;
- unsigned int depth_offset;
- unsigned int w;
- unsigned int h;
- unsigned int pitch;
- unsigned int pitch_bits;
- unsigned int back_pitch;
- unsigned int depth_pitch;
- unsigned int cpp;
- unsigned int chipset;
-} drm_i915_init_t;
-
-typedef struct _drm_i915_sarea {
- struct drm_tex_region texList[I915_NR_TEX_REGIONS + 1];
- int last_upload; /* last time texture was uploaded */
- int last_enqueue; /* last time a buffer was enqueued */
- int last_dispatch; /* age of the most recently dispatched buffer */
- int ctxOwner; /* last context to upload state */
- int texAge;
- int pf_enabled; /* is pageflipping allowed? */
- int pf_active;
- int pf_current_page; /* which buffer is being displayed? */
- int perf_boxes; /* performance boxes to be displayed */
- int width, height; /* screen size in pixels */
-
- drm_handle_t front_handle;
- int front_offset;
- int front_size;
-
- drm_handle_t back_handle;
- int back_offset;
- int back_size;
-
- drm_handle_t depth_handle;
- int depth_offset;
- int depth_size;
-
- drm_handle_t tex_handle;
- int tex_offset;
- int tex_size;
- int log_tex_granularity;
- int pitch;
- int rotation; /* 0, 90, 180 or 270 */
- int rotated_offset;
- int rotated_size;
- int rotated_pitch;
- int virtualX, virtualY;
-
- unsigned int front_tiled;
- unsigned int back_tiled;
- unsigned int depth_tiled;
- unsigned int rotated_tiled;
- unsigned int rotated2_tiled;
-
- int pipeA_x;
- int pipeA_y;
- int pipeA_w;
- int pipeA_h;
- int pipeB_x;
- int pipeB_y;
- int pipeB_w;
- int pipeB_h;
-
- /* fill out some space for old userspace triple buffer */
- drm_handle_t unused_handle;
- __u32 unused1, unused2, unused3;
-
- /* buffer object handles for static buffers. May change
- * over the lifetime of the client.
- */
- __u32 front_bo_handle;
- __u32 back_bo_handle;
- __u32 unused_bo_handle;
- __u32 depth_bo_handle;
-
-} drm_i915_sarea_t;
-
-/* due to userspace building against these headers we need some compat here */
-#define planeA_x pipeA_x
-#define planeA_y pipeA_y
-#define planeA_w pipeA_w
-#define planeA_h pipeA_h
-#define planeB_x pipeB_x
-#define planeB_y pipeB_y
-#define planeB_w pipeB_w
-#define planeB_h pipeB_h
-
-/* Flags for perf_boxes
- */
-#define I915_BOX_RING_EMPTY 0x1
-#define I915_BOX_FLIP 0x2
-#define I915_BOX_WAIT 0x4
-#define I915_BOX_TEXTURE_LOAD 0x8
-#define I915_BOX_LOST_CONTEXT 0x10
-
-/*
- * i915 specific ioctls.
- *
- * The device specific ioctl range is [DRM_COMMAND_BASE, DRM_COMMAND_END) ie
- * [0x40, 0xa0) (a0 is excluded). The numbers below are defined as offset
- * against DRM_COMMAND_BASE and should be between [0x0, 0x60).
- */
-#define DRM_I915_INIT 0x00
-#define DRM_I915_FLUSH 0x01
-#define DRM_I915_FLIP 0x02
-#define DRM_I915_BATCHBUFFER 0x03
-#define DRM_I915_IRQ_EMIT 0x04
-#define DRM_I915_IRQ_WAIT 0x05
-#define DRM_I915_GETPARAM 0x06
-#define DRM_I915_SETPARAM 0x07
-#define DRM_I915_ALLOC 0x08
-#define DRM_I915_FREE 0x09
-#define DRM_I915_INIT_HEAP 0x0a
-#define DRM_I915_CMDBUFFER 0x0b
-#define DRM_I915_DESTROY_HEAP 0x0c
-#define DRM_I915_SET_VBLANK_PIPE 0x0d
-#define DRM_I915_GET_VBLANK_PIPE 0x0e
-#define DRM_I915_VBLANK_SWAP 0x0f
-#define DRM_I915_HWS_ADDR 0x11
-#define DRM_I915_GEM_INIT 0x13
-#define DRM_I915_GEM_EXECBUFFER 0x14
-#define DRM_I915_GEM_PIN 0x15
-#define DRM_I915_GEM_UNPIN 0x16
-#define DRM_I915_GEM_BUSY 0x17
-#define DRM_I915_GEM_THROTTLE 0x18
-#define DRM_I915_GEM_ENTERVT 0x19
-#define DRM_I915_GEM_LEAVEVT 0x1a
-#define DRM_I915_GEM_CREATE 0x1b
-#define DRM_I915_GEM_PREAD 0x1c
-#define DRM_I915_GEM_PWRITE 0x1d
-#define DRM_I915_GEM_MMAP 0x1e
-#define DRM_I915_GEM_SET_DOMAIN 0x1f
-#define DRM_I915_GEM_SW_FINISH 0x20
-#define DRM_I915_GEM_SET_TILING 0x21
-#define DRM_I915_GEM_GET_TILING 0x22
-#define DRM_I915_GEM_GET_APERTURE 0x23
-#define DRM_I915_GEM_MMAP_GTT 0x24
-#define DRM_I915_GET_PIPE_FROM_CRTC_ID 0x25
-#define DRM_I915_GEM_MADVISE 0x26
-#define DRM_I915_OVERLAY_PUT_IMAGE 0x27
-#define DRM_I915_OVERLAY_ATTRS 0x28
-#define DRM_I915_GEM_EXECBUFFER2 0x29
-#define DRM_I915_GET_SPRITE_COLORKEY 0x2a
-#define DRM_I915_SET_SPRITE_COLORKEY 0x2b
-#define DRM_I915_GEM_WAIT 0x2c
-#define DRM_I915_GEM_CONTEXT_CREATE 0x2d
-#define DRM_I915_GEM_CONTEXT_DESTROY 0x2e
-#define DRM_I915_GEM_SET_CACHING 0x2f
-#define DRM_I915_GEM_GET_CACHING 0x30
-#define DRM_I915_REG_READ 0x31
-#define DRM_I915_GET_RESET_STATS 0x32
-#define DRM_I915_GEM_USERPTR 0x33
-#define DRM_I915_GEM_CONTEXT_GETPARAM 0x34
-#define DRM_I915_GEM_CONTEXT_SETPARAM 0x35
-
-#define DRM_IOCTL_I915_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT, drm_i915_init_t)
-#define DRM_IOCTL_I915_FLUSH DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLUSH)
-#define DRM_IOCTL_I915_FLIP DRM_IO ( DRM_COMMAND_BASE + DRM_I915_FLIP)
-#define DRM_IOCTL_I915_BATCHBUFFER DRM_IOW( DRM_COMMAND_BASE + DRM_I915_BATCHBUFFER, drm_i915_batchbuffer_t)
-#define DRM_IOCTL_I915_IRQ_EMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_IRQ_EMIT, drm_i915_irq_emit_t)
-#define DRM_IOCTL_I915_IRQ_WAIT DRM_IOW( DRM_COMMAND_BASE + DRM_I915_IRQ_WAIT, drm_i915_irq_wait_t)
-#define DRM_IOCTL_I915_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GETPARAM, drm_i915_getparam_t)
-#define DRM_IOCTL_I915_SETPARAM DRM_IOW( DRM_COMMAND_BASE + DRM_I915_SETPARAM, drm_i915_setparam_t)
-#define DRM_IOCTL_I915_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_ALLOC, drm_i915_mem_alloc_t)
-#define DRM_IOCTL_I915_FREE DRM_IOW( DRM_COMMAND_BASE + DRM_I915_FREE, drm_i915_mem_free_t)
-#define DRM_IOCTL_I915_INIT_HEAP DRM_IOW( DRM_COMMAND_BASE + DRM_I915_INIT_HEAP, drm_i915_mem_init_heap_t)
-#define DRM_IOCTL_I915_CMDBUFFER DRM_IOW( DRM_COMMAND_BASE + DRM_I915_CMDBUFFER, drm_i915_cmdbuffer_t)
-#define DRM_IOCTL_I915_DESTROY_HEAP DRM_IOW( DRM_COMMAND_BASE + DRM_I915_DESTROY_HEAP, drm_i915_mem_destroy_heap_t)
-#define DRM_IOCTL_I915_SET_VBLANK_PIPE DRM_IOW( DRM_COMMAND_BASE + DRM_I915_SET_VBLANK_PIPE, drm_i915_vblank_pipe_t)
-#define DRM_IOCTL_I915_GET_VBLANK_PIPE DRM_IOR( DRM_COMMAND_BASE + DRM_I915_GET_VBLANK_PIPE, drm_i915_vblank_pipe_t)
-#define DRM_IOCTL_I915_VBLANK_SWAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_VBLANK_SWAP, drm_i915_vblank_swap_t)
-#define DRM_IOCTL_I915_HWS_ADDR DRM_IOW(DRM_COMMAND_BASE + DRM_I915_HWS_ADDR, struct drm_i915_gem_init)
-#define DRM_IOCTL_I915_GEM_INIT DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_INIT, struct drm_i915_gem_init)
-#define DRM_IOCTL_I915_GEM_EXECBUFFER DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER, struct drm_i915_gem_execbuffer)
-#define DRM_IOCTL_I915_GEM_EXECBUFFER2 DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_EXECBUFFER2, struct drm_i915_gem_execbuffer2)
-#define DRM_IOCTL_I915_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_PIN, struct drm_i915_gem_pin)
-#define DRM_IOCTL_I915_GEM_UNPIN DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_UNPIN, struct drm_i915_gem_unpin)
-#define DRM_IOCTL_I915_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_BUSY, struct drm_i915_gem_busy)
-#define DRM_IOCTL_I915_GEM_SET_CACHING DRM_IOW(DRM_COMMAND_BASE + DRM_I915_GEM_SET_CACHING, struct drm_i915_gem_caching)
-#define DRM_IOCTL_I915_GEM_GET_CACHING DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_GET_CACHING, struct drm_i915_gem_caching)
-#define DRM_IOCTL_I915_GEM_THROTTLE DRM_IO ( DRM_COMMAND_BASE + DRM_I915_GEM_THROTTLE)
-#define DRM_IOCTL_I915_GEM_ENTERVT DRM_IO(DRM_COMMAND_BASE + DRM_I915_GEM_ENTERVT)
-#define DRM_IOCTL_I915_GEM_LEAVEVT DRM_IO(DRM_COMMAND_BASE + DRM_I915_GEM_LEAVEVT)
-#define DRM_IOCTL_I915_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_CREATE, struct drm_i915_gem_create)
-#define DRM_IOCTL_I915_GEM_PREAD DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_PREAD, struct drm_i915_gem_pread)
-#define DRM_IOCTL_I915_GEM_PWRITE DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_PWRITE, struct drm_i915_gem_pwrite)
-#define DRM_IOCTL_I915_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP, struct drm_i915_gem_mmap)
-#define DRM_IOCTL_I915_GEM_MMAP_GTT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MMAP_GTT, struct drm_i915_gem_mmap_gtt)
-#define DRM_IOCTL_I915_GEM_SET_DOMAIN DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SET_DOMAIN, struct drm_i915_gem_set_domain)
-#define DRM_IOCTL_I915_GEM_SW_FINISH DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_SW_FINISH, struct drm_i915_gem_sw_finish)
-#define DRM_IOCTL_I915_GEM_SET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_SET_TILING, struct drm_i915_gem_set_tiling)
-#define DRM_IOCTL_I915_GEM_GET_TILING DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_TILING, struct drm_i915_gem_get_tiling)
-#define DRM_IOCTL_I915_GEM_GET_APERTURE DRM_IOR (DRM_COMMAND_BASE + DRM_I915_GEM_GET_APERTURE, struct drm_i915_gem_get_aperture)
-#define DRM_IOCTL_I915_GET_PIPE_FROM_CRTC_ID DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GET_PIPE_FROM_CRTC_ID, struct drm_i915_get_pipe_from_crtc_id)
-#define DRM_IOCTL_I915_GEM_MADVISE DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_MADVISE, struct drm_i915_gem_madvise)
-#define DRM_IOCTL_I915_OVERLAY_PUT_IMAGE DRM_IOW(DRM_COMMAND_BASE + DRM_I915_OVERLAY_PUT_IMAGE, struct drm_intel_overlay_put_image)
-#define DRM_IOCTL_I915_OVERLAY_ATTRS DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_OVERLAY_ATTRS, struct drm_intel_overlay_attrs)
-#define DRM_IOCTL_I915_SET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_SET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey)
-#define DRM_IOCTL_I915_GET_SPRITE_COLORKEY DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GET_SPRITE_COLORKEY, struct drm_intel_sprite_colorkey)
-#define DRM_IOCTL_I915_GEM_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_I915_GEM_WAIT, struct drm_i915_gem_wait)
-#define DRM_IOCTL_I915_GEM_CONTEXT_CREATE DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_CREATE, struct drm_i915_gem_context_create)
-#define DRM_IOCTL_I915_GEM_CONTEXT_DESTROY DRM_IOW (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_DESTROY, struct drm_i915_gem_context_destroy)
-#define DRM_IOCTL_I915_REG_READ DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_REG_READ, struct drm_i915_reg_read)
-#define DRM_IOCTL_I915_GET_RESET_STATS DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GET_RESET_STATS, struct drm_i915_reset_stats)
-#define DRM_IOCTL_I915_GEM_USERPTR DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_USERPTR, struct drm_i915_gem_userptr)
-#define DRM_IOCTL_I915_GEM_CONTEXT_GETPARAM DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_GETPARAM, struct drm_i915_gem_context_param)
-#define DRM_IOCTL_I915_GEM_CONTEXT_SETPARAM DRM_IOWR (DRM_COMMAND_BASE + DRM_I915_GEM_CONTEXT_SETPARAM, struct drm_i915_gem_context_param)
-
-/* Allow drivers to submit batchbuffers directly to hardware, relying
- * on the security mechanisms provided by hardware.
- */
-typedef struct drm_i915_batchbuffer {
- int start; /* agp offset */
- int used; /* nr bytes in use */
- int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */
- int DR4; /* window origin for GFX_OP_DRAWRECT_INFO */
- int num_cliprects; /* mulitpass with multiple cliprects? */
- struct drm_clip_rect *cliprects; /* pointer to userspace cliprects */
-} drm_i915_batchbuffer_t;
-
-/* As above, but pass a pointer to userspace buffer which can be
- * validated by the kernel prior to sending to hardware.
- */
-typedef struct _drm_i915_cmdbuffer {
- char *buf; /* pointer to userspace command buffer */
- int sz; /* nr bytes in buf */
- int DR1; /* hw flags for GFX_OP_DRAWRECT_INFO */
- int DR4; /* window origin for GFX_OP_DRAWRECT_INFO */
- int num_cliprects; /* mulitpass with multiple cliprects? */
- struct drm_clip_rect *cliprects; /* pointer to userspace cliprects */
-} drm_i915_cmdbuffer_t;
-
-/* Userspace can request & wait on irq's:
- */
-typedef struct drm_i915_irq_emit {
- int *irq_seq;
-} drm_i915_irq_emit_t;
-
-typedef struct drm_i915_irq_wait {
- int irq_seq;
-} drm_i915_irq_wait_t;
-
-/* Ioctl to query kernel params:
- */
-#define I915_PARAM_IRQ_ACTIVE 1
-#define I915_PARAM_ALLOW_BATCHBUFFER 2
-#define I915_PARAM_LAST_DISPATCH 3
-#define I915_PARAM_CHIPSET_ID 4
-#define I915_PARAM_HAS_GEM 5
-#define I915_PARAM_NUM_FENCES_AVAIL 6
-#define I915_PARAM_HAS_OVERLAY 7
-#define I915_PARAM_HAS_PAGEFLIPPING 8
-#define I915_PARAM_HAS_EXECBUF2 9
-#define I915_PARAM_HAS_BSD 10
-#define I915_PARAM_HAS_BLT 11
-#define I915_PARAM_HAS_RELAXED_FENCING 12
-#define I915_PARAM_HAS_COHERENT_RINGS 13
-#define I915_PARAM_HAS_EXEC_CONSTANTS 14
-#define I915_PARAM_HAS_RELAXED_DELTA 15
-#define I915_PARAM_HAS_GEN7_SOL_RESET 16
-#define I915_PARAM_HAS_LLC 17
-#define I915_PARAM_HAS_ALIASING_PPGTT 18
-#define I915_PARAM_HAS_WAIT_TIMEOUT 19
-#define I915_PARAM_HAS_SEMAPHORES 20
-#define I915_PARAM_HAS_PRIME_VMAP_FLUSH 21
-#define I915_PARAM_HAS_VEBOX 22
-#define I915_PARAM_HAS_SECURE_BATCHES 23
-#define I915_PARAM_HAS_PINNED_BATCHES 24
-#define I915_PARAM_HAS_EXEC_NO_RELOC 25
-#define I915_PARAM_HAS_EXEC_HANDLE_LUT 26
-#define I915_PARAM_HAS_WT 27
-#define I915_PARAM_CMD_PARSER_VERSION 28
-#define I915_PARAM_HAS_COHERENT_PHYS_GTT 29
-#define I915_PARAM_MMAP_VERSION 30
-#define I915_PARAM_HAS_BSD2 31
-#define I915_PARAM_REVISION 32
-#define I915_PARAM_SUBSLICE_TOTAL 33
-#define I915_PARAM_EU_TOTAL 34
-#define I915_PARAM_HAS_GPU_RESET 35
-#define I915_PARAM_HAS_RESOURCE_STREAMER 36
-#define I915_PARAM_HAS_EXEC_SOFTPIN 37
-
-typedef struct drm_i915_getparam {
- __s32 param;
- /*
- * WARNING: Using pointers instead of fixed-size u64 means we need to write
- * compat32 code. Don't repeat this mistake.
- */
- int *value;
-} drm_i915_getparam_t;
-
-/* Ioctl to set kernel params:
- */
-#define I915_SETPARAM_USE_MI_BATCHBUFFER_START 1
-#define I915_SETPARAM_TEX_LRU_LOG_GRANULARITY 2
-#define I915_SETPARAM_ALLOW_BATCHBUFFER 3
-#define I915_SETPARAM_NUM_USED_FENCES 4
-
-typedef struct drm_i915_setparam {
- int param;
- int value;
-} drm_i915_setparam_t;
-
-/* A memory manager for regions of shared memory:
- */
-#define I915_MEM_REGION_AGP 1
-
-typedef struct drm_i915_mem_alloc {
- int region;
- int alignment;
- int size;
- int *region_offset; /* offset from start of fb or agp */
-} drm_i915_mem_alloc_t;
-
-typedef struct drm_i915_mem_free {
- int region;
- int region_offset;
-} drm_i915_mem_free_t;
-
-typedef struct drm_i915_mem_init_heap {
- int region;
- int size;
- int start;
-} drm_i915_mem_init_heap_t;
-
-/* Allow memory manager to be torn down and re-initialized (eg on
- * rotate):
- */
-typedef struct drm_i915_mem_destroy_heap {
- int region;
-} drm_i915_mem_destroy_heap_t;
-
-/* Allow X server to configure which pipes to monitor for vblank signals
- */
-#define DRM_I915_VBLANK_PIPE_A 1
-#define DRM_I915_VBLANK_PIPE_B 2
-
-typedef struct drm_i915_vblank_pipe {
- int pipe;
-} drm_i915_vblank_pipe_t;
-
-/* Schedule buffer swap at given vertical blank:
- */
-typedef struct drm_i915_vblank_swap {
- drm_drawable_t drawable;
- enum drm_vblank_seq_type seqtype;
- unsigned int sequence;
-} drm_i915_vblank_swap_t;
-
-typedef struct drm_i915_hws_addr {
- __u64 addr;
-} drm_i915_hws_addr_t;
-
-struct drm_i915_gem_init {
- /**
- * Beginning offset in the GTT to be managed by the DRM memory
- * manager.
- */
- __u64 gtt_start;
- /**
- * Ending offset in the GTT to be managed by the DRM memory
- * manager.
- */
- __u64 gtt_end;
-};
-
-struct drm_i915_gem_create {
- /**
- * Requested size for the object.
- *
- * The (page-aligned) allocated size for the object will be returned.
- */
- __u64 size;
- /**
- * Returned handle for the object.
- *
- * Object handles are nonzero.
- */
- __u32 handle;
- __u32 pad;
-};
-
-struct drm_i915_gem_pread {
- /** Handle for the object being read. */
- __u32 handle;
- __u32 pad;
- /** Offset into the object to read from */
- __u64 offset;
- /** Length of data to read */
- __u64 size;
- /**
- * Pointer to write the data into.
- *
- * This is a fixed-size type for 32/64 compatibility.
- */
- __u64 data_ptr;
-};
-
-struct drm_i915_gem_pwrite {
- /** Handle for the object being written to. */
- __u32 handle;
- __u32 pad;
- /** Offset into the object to write to */
- __u64 offset;
- /** Length of data to write */
- __u64 size;
- /**
- * Pointer to read the data from.
- *
- * This is a fixed-size type for 32/64 compatibility.
- */
- __u64 data_ptr;
-};
-
-struct drm_i915_gem_mmap {
- /** Handle for the object being mapped. */
- __u32 handle;
- __u32 pad;
- /** Offset in the object to map. */
- __u64 offset;
- /**
- * Length of data to map.
- *
- * The value will be page-aligned.
- */
- __u64 size;
- /**
- * Returned pointer the data was mapped at.
- *
- * This is a fixed-size type for 32/64 compatibility.
- */
- __u64 addr_ptr;
-
- /**
- * Flags for extended behaviour.
- *
- * Added in version 2.
- */
- __u64 flags;
-#define I915_MMAP_WC 0x1
-};
-
-struct drm_i915_gem_mmap_gtt {
- /** Handle for the object being mapped. */
- __u32 handle;
- __u32 pad;
- /**
- * Fake offset to use for subsequent mmap call
- *
- * This is a fixed-size type for 32/64 compatibility.
- */
- __u64 offset;
-};
-
-struct drm_i915_gem_set_domain {
- /** Handle for the object */
- __u32 handle;
-
- /** New read domains */
- __u32 read_domains;
-
- /** New write domain */
- __u32 write_domain;
-};
-
-struct drm_i915_gem_sw_finish {
- /** Handle for the object */
- __u32 handle;
-};
-
-struct drm_i915_gem_relocation_entry {
- /**
- * Handle of the buffer being pointed to by this relocation entry.
- *
- * It's appealing to make this be an index into the mm_validate_entry
- * list to refer to the buffer, but this allows the driver to create
- * a relocation list for state buffers and not re-write it per
- * exec using the buffer.
- */
- __u32 target_handle;
-
- /**
- * Value to be added to the offset of the target buffer to make up
- * the relocation entry.
- */
- __u32 delta;
-
- /** Offset in the buffer the relocation entry will be written into */
- __u64 offset;
-
- /**
- * Offset value of the target buffer that the relocation entry was last
- * written as.
- *
- * If the buffer has the same offset as last time, we can skip syncing
- * and writing the relocation. This value is written back out by
- * the execbuffer ioctl when the relocation is written.
- */
- __u64 presumed_offset;
-
- /**
- * Target memory domains read by this operation.
- */
- __u32 read_domains;
-
- /**
- * Target memory domains written by this operation.
- *
- * Note that only one domain may be written by the whole
- * execbuffer operation, so that where there are conflicts,
- * the application will get -EINVAL back.
- */
- __u32 write_domain;
-};
-
-/** @{
- * Intel memory domains
- *
- * Most of these just align with the various caches in
- * the system and are used to flush and invalidate as
- * objects end up cached in different domains.
- */
-/** CPU cache */
-#define I915_GEM_DOMAIN_CPU 0x00000001
-/** Render cache, used by 2D and 3D drawing */
-#define I915_GEM_DOMAIN_RENDER 0x00000002
-/** Sampler cache, used by texture engine */
-#define I915_GEM_DOMAIN_SAMPLER 0x00000004
-/** Command queue, used to load batch buffers */
-#define I915_GEM_DOMAIN_COMMAND 0x00000008
-/** Instruction cache, used by shader programs */
-#define I915_GEM_DOMAIN_INSTRUCTION 0x00000010
-/** Vertex address cache */
-#define I915_GEM_DOMAIN_VERTEX 0x00000020
-/** GTT domain - aperture and scanout */
-#define I915_GEM_DOMAIN_GTT 0x00000040
-/** @} */
-
-struct drm_i915_gem_exec_object {
- /**
- * User's handle for a buffer to be bound into the GTT for this
- * operation.
- */
- __u32 handle;
-
- /** Number of relocations to be performed on this buffer */
- __u32 relocation_count;
- /**
- * Pointer to array of struct drm_i915_gem_relocation_entry containing
- * the relocations to be performed in this buffer.
- */
- __u64 relocs_ptr;
-
- /** Required alignment in graphics aperture */
- __u64 alignment;
-
- /**
- * Returned value of the updated offset of the object, for future
- * presumed_offset writes.
- */
- __u64 offset;
-};
-
-struct drm_i915_gem_execbuffer {
- /**
- * List of buffers to be validated with their relocations to be
- * performend on them.
- *
- * This is a pointer to an array of struct drm_i915_gem_validate_entry.
- *
- * These buffers must be listed in an order such that all relocations
- * a buffer is performing refer to buffers that have already appeared
- * in the validate list.
- */
- __u64 buffers_ptr;
- __u32 buffer_count;
-
- /** Offset in the batchbuffer to start execution from. */
- __u32 batch_start_offset;
- /** Bytes used in batchbuffer from batch_start_offset */
- __u32 batch_len;
- __u32 DR1;
- __u32 DR4;
- __u32 num_cliprects;
- /** This is a struct drm_clip_rect *cliprects */
- __u64 cliprects_ptr;
-};
-
-struct drm_i915_gem_exec_object2 {
- /**
- * User's handle for a buffer to be bound into the GTT for this
- * operation.
- */
- __u32 handle;
-
- /** Number of relocations to be performed on this buffer */
- __u32 relocation_count;
- /**
- * Pointer to array of struct drm_i915_gem_relocation_entry containing
- * the relocations to be performed in this buffer.
- */
- __u64 relocs_ptr;
-
- /** Required alignment in graphics aperture */
- __u64 alignment;
-
- /**
- * When the EXEC_OBJECT_PINNED flag is specified this is populated by
- * the user with the GTT offset at which this object will be pinned.
- * When the I915_EXEC_NO_RELOC flag is specified this must contain the
- * presumed_offset of the object.
- * During execbuffer2 the kernel populates it with the value of the
- * current GTT offset of the object, for future presumed_offset writes.
- */
- __u64 offset;
-
-#define EXEC_OBJECT_NEEDS_FENCE (1<<0)
-#define EXEC_OBJECT_NEEDS_GTT (1<<1)
-#define EXEC_OBJECT_WRITE (1<<2)
-#define EXEC_OBJECT_SUPPORTS_48B_ADDRESS (1<<3)
-#define EXEC_OBJECT_PINNED (1<<4)
-#define __EXEC_OBJECT_UNKNOWN_FLAGS -(EXEC_OBJECT_PINNED<<1)
- __u64 flags;
-
- __u64 rsvd1;
- __u64 rsvd2;
-};
-
-struct drm_i915_gem_execbuffer2 {
- /**
- * List of gem_exec_object2 structs
- */
- __u64 buffers_ptr;
- __u32 buffer_count;
-
- /** Offset in the batchbuffer to start execution from. */
- __u32 batch_start_offset;
- /** Bytes used in batchbuffer from batch_start_offset */
- __u32 batch_len;
- __u32 DR1;
- __u32 DR4;
- __u32 num_cliprects;
- /** This is a struct drm_clip_rect *cliprects */
- __u64 cliprects_ptr;
-#define I915_EXEC_RING_MASK (7<<0)
-#define I915_EXEC_DEFAULT (0<<0)
-#define I915_EXEC_RENDER (1<<0)
-#define I915_EXEC_BSD (2<<0)
-#define I915_EXEC_BLT (3<<0)
-#define I915_EXEC_VEBOX (4<<0)
-
-/* Used for switching the constants addressing mode on gen4+ RENDER ring.
- * Gen6+ only supports relative addressing to dynamic state (default) and
- * absolute addressing.
- *
- * These flags are ignored for the BSD and BLT rings.
- */
-#define I915_EXEC_CONSTANTS_MASK (3<<6)
-#define I915_EXEC_CONSTANTS_REL_GENERAL (0<<6) /* default */
-#define I915_EXEC_CONSTANTS_ABSOLUTE (1<<6)
-#define I915_EXEC_CONSTANTS_REL_SURFACE (2<<6) /* gen4/5 only */
- __u64 flags;
- __u64 rsvd1; /* now used for context info */
- __u64 rsvd2;
-};
-
-/** Resets the SO write offset registers for transform feedback on gen7. */
-#define I915_EXEC_GEN7_SOL_RESET (1<<8)
-
-/** Request a privileged ("secure") batch buffer. Note only available for
- * DRM_ROOT_ONLY | DRM_MASTER processes.
- */
-#define I915_EXEC_SECURE (1<<9)
-
-/** Inform the kernel that the batch is and will always be pinned. This
- * negates the requirement for a workaround to be performed to avoid
- * an incoherent CS (such as can be found on 830/845). If this flag is
- * not passed, the kernel will endeavour to make sure the batch is
- * coherent with the CS before execution. If this flag is passed,
- * userspace assumes the responsibility for ensuring the same.
- */
-#define I915_EXEC_IS_PINNED (1<<10)
-
-/** Provide a hint to the kernel that the command stream and auxiliary
- * state buffers already holds the correct presumed addresses and so the
- * relocation process may be skipped if no buffers need to be moved in
- * preparation for the execbuffer.
- */
-#define I915_EXEC_NO_RELOC (1<<11)
-
-/** Use the reloc.handle as an index into the exec object array rather
- * than as the per-file handle.
- */
-#define I915_EXEC_HANDLE_LUT (1<<12)
-
-/** Used for switching BSD rings on the platforms with two BSD rings */
-#define I915_EXEC_BSD_SHIFT (13)
-#define I915_EXEC_BSD_MASK (3 << I915_EXEC_BSD_SHIFT)
-/* default ping-pong mode */
-#define I915_EXEC_BSD_DEFAULT (0 << I915_EXEC_BSD_SHIFT)
-#define I915_EXEC_BSD_RING1 (1 << I915_EXEC_BSD_SHIFT)
-#define I915_EXEC_BSD_RING2 (2 << I915_EXEC_BSD_SHIFT)
-
-/** Tell the kernel that the batchbuffer is processed by
- * the resource streamer.
- */
-#define I915_EXEC_RESOURCE_STREAMER (1<<15)
-
-#define __I915_EXEC_UNKNOWN_FLAGS -(I915_EXEC_RESOURCE_STREAMER<<1)
-
-#define I915_EXEC_CONTEXT_ID_MASK (0xffffffff)
-#define i915_execbuffer2_set_context_id(eb2, context) \
- (eb2).rsvd1 = context & I915_EXEC_CONTEXT_ID_MASK
-#define i915_execbuffer2_get_context_id(eb2) \
- ((eb2).rsvd1 & I915_EXEC_CONTEXT_ID_MASK)
-
-struct drm_i915_gem_pin {
- /** Handle of the buffer to be pinned. */
- __u32 handle;
- __u32 pad;
-
- /** alignment required within the aperture */
- __u64 alignment;
-
- /** Returned GTT offset of the buffer. */
- __u64 offset;
-};
-
-struct drm_i915_gem_unpin {
- /** Handle of the buffer to be unpinned. */
- __u32 handle;
- __u32 pad;
-};
-
-struct drm_i915_gem_busy {
- /** Handle of the buffer to check for busy */
- __u32 handle;
-
- /** Return busy status
- *
- * A return of 0 implies that the object is idle (after
- * having flushed any pending activity), and a non-zero return that
- * the object is still in-flight on the GPU. (The GPU has not yet
- * signaled completion for all pending requests that reference the
- * object.)
- *
- * The returned dword is split into two fields to indicate both
- * the engines on which the object is being read, and the
- * engine on which it is currently being written (if any).
- *
- * The low word (bits 0:15) indicate if the object is being written
- * to by any engine (there can only be one, as the GEM implicit
- * synchronisation rules force writes to be serialised). Only the
- * engine for the last write is reported.
- *
- * The high word (bits 16:31) are a bitmask of which engines are
- * currently reading from the object. Multiple engines may be
- * reading from the object simultaneously.
- *
- * The value of each engine is the same as specified in the
- * EXECBUFFER2 ioctl, i.e. I915_EXEC_RENDER, I915_EXEC_BSD etc.
- * Note I915_EXEC_DEFAULT is a symbolic value and is mapped to
- * the I915_EXEC_RENDER engine for execution, and so it is never
- * reported as active itself. Some hardware may have parallel
- * execution engines, e.g. multiple media engines, which are
- * mapped to the same identifier in the EXECBUFFER2 ioctl and
- * so are not separately reported for busyness.
- */
- __u32 busy;
-};
-
-/**
- * I915_CACHING_NONE
- *
- * GPU access is not coherent with cpu caches. Default for machines without an
- * LLC.
- */
-#define I915_CACHING_NONE 0
-/**
- * I915_CACHING_CACHED
- *
- * GPU access is coherent with cpu caches and furthermore the data is cached in
- * last-level caches shared between cpu cores and the gpu GT. Default on
- * machines with HAS_LLC.
- */
-#define I915_CACHING_CACHED 1
-/**
- * I915_CACHING_DISPLAY
- *
- * Special GPU caching mode which is coherent with the scanout engines.
- * Transparently falls back to I915_CACHING_NONE on platforms where no special
- * cache mode (like write-through or gfdt flushing) is available. The kernel
- * automatically sets this mode when using a buffer as a scanout target.
- * Userspace can manually set this mode to avoid a costly stall and clflush in
- * the hotpath of drawing the first frame.
- */
-#define I915_CACHING_DISPLAY 2
-
-struct drm_i915_gem_caching {
- /**
- * Handle of the buffer to set/get the caching level of. */
- __u32 handle;
-
- /**
- * Cacheing level to apply or return value
- *
- * bits0-15 are for generic caching control (i.e. the above defined
- * values). bits16-31 are reserved for platform-specific variations
- * (e.g. l3$ caching on gen7). */
- __u32 caching;
-};
-
-#define I915_TILING_NONE 0
-#define I915_TILING_X 1
-#define I915_TILING_Y 2
-
-#define I915_BIT_6_SWIZZLE_NONE 0
-#define I915_BIT_6_SWIZZLE_9 1
-#define I915_BIT_6_SWIZZLE_9_10 2
-#define I915_BIT_6_SWIZZLE_9_11 3
-#define I915_BIT_6_SWIZZLE_9_10_11 4
-/* Not seen by userland */
-#define I915_BIT_6_SWIZZLE_UNKNOWN 5
-/* Seen by userland. */
-#define I915_BIT_6_SWIZZLE_9_17 6
-#define I915_BIT_6_SWIZZLE_9_10_17 7
-
-struct drm_i915_gem_set_tiling {
- /** Handle of the buffer to have its tiling state updated */
- __u32 handle;
-
- /**
- * Tiling mode for the object (I915_TILING_NONE, I915_TILING_X,
- * I915_TILING_Y).
- *
- * This value is to be set on request, and will be updated by the
- * kernel on successful return with the actual chosen tiling layout.
- *
- * The tiling mode may be demoted to I915_TILING_NONE when the system
- * has bit 6 swizzling that can't be managed correctly by GEM.
- *
- * Buffer contents become undefined when changing tiling_mode.
- */
- __u32 tiling_mode;
-
- /**
- * Stride in bytes for the object when in I915_TILING_X or
- * I915_TILING_Y.
- */
- __u32 stride;
-
- /**
- * Returned address bit 6 swizzling required for CPU access through
- * mmap mapping.
- */
- __u32 swizzle_mode;
-};
-
-struct drm_i915_gem_get_tiling {
- /** Handle of the buffer to get tiling state for. */
- __u32 handle;
-
- /**
- * Current tiling mode for the object (I915_TILING_NONE, I915_TILING_X,
- * I915_TILING_Y).
- */
- __u32 tiling_mode;
-
- /**
- * Returned address bit 6 swizzling required for CPU access through
- * mmap mapping.
- */
- __u32 swizzle_mode;
-
- /**
- * Returned address bit 6 swizzling required for CPU access through
- * mmap mapping whilst bound.
- */
- __u32 phys_swizzle_mode;
-};
-
-struct drm_i915_gem_get_aperture {
- /** Total size of the aperture used by i915_gem_execbuffer, in bytes */
- __u64 aper_size;
-
- /**
- * Available space in the aperture used by i915_gem_execbuffer, in
- * bytes
- */
- __u64 aper_available_size;
-};
-
-struct drm_i915_get_pipe_from_crtc_id {
- /** ID of CRTC being requested **/
- __u32 crtc_id;
-
- /** pipe of requested CRTC **/
- __u32 pipe;
-};
-
-#define I915_MADV_WILLNEED 0
-#define I915_MADV_DONTNEED 1
-#define __I915_MADV_PURGED 2 /* internal state */
-
-struct drm_i915_gem_madvise {
- /** Handle of the buffer to change the backing store advice */
- __u32 handle;
-
- /* Advice: either the buffer will be needed again in the near future,
- * or wont be and could be discarded under memory pressure.
- */
- __u32 madv;
-
- /** Whether the backing store still exists. */
- __u32 retained;
-};
-
-/* flags */
-#define I915_OVERLAY_TYPE_MASK 0xff
-#define I915_OVERLAY_YUV_PLANAR 0x01
-#define I915_OVERLAY_YUV_PACKED 0x02
-#define I915_OVERLAY_RGB 0x03
-
-#define I915_OVERLAY_DEPTH_MASK 0xff00
-#define I915_OVERLAY_RGB24 0x1000
-#define I915_OVERLAY_RGB16 0x2000
-#define I915_OVERLAY_RGB15 0x3000
-#define I915_OVERLAY_YUV422 0x0100
-#define I915_OVERLAY_YUV411 0x0200
-#define I915_OVERLAY_YUV420 0x0300
-#define I915_OVERLAY_YUV410 0x0400
-
-#define I915_OVERLAY_SWAP_MASK 0xff0000
-#define I915_OVERLAY_NO_SWAP 0x000000
-#define I915_OVERLAY_UV_SWAP 0x010000
-#define I915_OVERLAY_Y_SWAP 0x020000
-#define I915_OVERLAY_Y_AND_UV_SWAP 0x030000
-
-#define I915_OVERLAY_FLAGS_MASK 0xff000000
-#define I915_OVERLAY_ENABLE 0x01000000
-
-struct drm_intel_overlay_put_image {
- /* various flags and src format description */
- __u32 flags;
- /* source picture description */
- __u32 bo_handle;
- /* stride values and offsets are in bytes, buffer relative */
- __u16 stride_Y; /* stride for packed formats */
- __u16 stride_UV;
- __u32 offset_Y; /* offset for packet formats */
- __u32 offset_U;
- __u32 offset_V;
- /* in pixels */
- __u16 src_width;
- __u16 src_height;
- /* to compensate the scaling factors for partially covered surfaces */
- __u16 src_scan_width;
- __u16 src_scan_height;
- /* output crtc description */
- __u32 crtc_id;
- __u16 dst_x;
- __u16 dst_y;
- __u16 dst_width;
- __u16 dst_height;
-};
-
-/* flags */
-#define I915_OVERLAY_UPDATE_ATTRS (1<<0)
-#define I915_OVERLAY_UPDATE_GAMMA (1<<1)
-#define I915_OVERLAY_DISABLE_DEST_COLORKEY (1<<2)
-struct drm_intel_overlay_attrs {
- __u32 flags;
- __u32 color_key;
- __s32 brightness;
- __u32 contrast;
- __u32 saturation;
- __u32 gamma0;
- __u32 gamma1;
- __u32 gamma2;
- __u32 gamma3;
- __u32 gamma4;
- __u32 gamma5;
-};
-
-/*
- * Intel sprite handling
- *
- * Color keying works with a min/mask/max tuple. Both source and destination
- * color keying is allowed.
- *
- * Source keying:
- * Sprite pixels within the min & max values, masked against the color channels
- * specified in the mask field, will be transparent. All other pixels will
- * be displayed on top of the primary plane. For RGB surfaces, only the min
- * and mask fields will be used; ranged compares are not allowed.
- *
- * Destination keying:
- * Primary plane pixels that match the min value, masked against the color
- * channels specified in the mask field, will be replaced by corresponding
- * pixels from the sprite plane.
- *
- * Note that source & destination keying are exclusive; only one can be
- * active on a given plane.
- */
-
-#define I915_SET_COLORKEY_NONE (1<<0) /* disable color key matching */
-#define I915_SET_COLORKEY_DESTINATION (1<<1)
-#define I915_SET_COLORKEY_SOURCE (1<<2)
-struct drm_intel_sprite_colorkey {
- __u32 plane_id;
- __u32 min_value;
- __u32 channel_mask;
- __u32 max_value;
- __u32 flags;
-};
-
-struct drm_i915_gem_wait {
- /** Handle of BO we shall wait on */
- __u32 bo_handle;
- __u32 flags;
- /** Number of nanoseconds to wait, Returns time remaining. */
- __s64 timeout_ns;
-};
-
-struct drm_i915_gem_context_create {
- /* output: id of new context*/
- __u32 ctx_id;
- __u32 pad;
-};
-
-struct drm_i915_gem_context_destroy {
- __u32 ctx_id;
- __u32 pad;
-};
-
-struct drm_i915_reg_read {
- /*
- * Register offset.
- * For 64bit wide registers where the upper 32bits don't immediately
- * follow the lower 32bits, the offset of the lower 32bits must
- * be specified
- */
- __u64 offset;
- __u64 val; /* Return value */
-};
-/* Known registers:
- *
- * Render engine timestamp - 0x2358 + 64bit - gen7+
- * - Note this register returns an invalid value if using the default
- * single instruction 8byte read, in order to workaround that use
- * offset (0x2538 | 1) instead.
- *
- */
-
-struct drm_i915_reset_stats {
- __u32 ctx_id;
- __u32 flags;
-
- /* All resets since boot/module reload, for all contexts */
- __u32 reset_count;
-
- /* Number of batches lost when active in GPU, for this context */
- __u32 batch_active;
-
- /* Number of batches lost pending for execution, for this context */
- __u32 batch_pending;
-
- __u32 pad;
-};
-
-struct drm_i915_gem_userptr {
- __u64 user_ptr;
- __u64 user_size;
- __u32 flags;
-#define I915_USERPTR_READ_ONLY 0x1
-#define I915_USERPTR_UNSYNCHRONIZED 0x80000000
- /**
- * Returned handle for the object.
- *
- * Object handles are nonzero.
- */
- __u32 handle;
-};
-
-struct drm_i915_gem_context_param {
- __u32 ctx_id;
- __u32 size;
- __u64 param;
-#define I915_CONTEXT_PARAM_BAN_PERIOD 0x1
-#define I915_CONTEXT_PARAM_NO_ZEROMAP 0x2
-#define I915_CONTEXT_PARAM_GTT_SIZE 0x3
- __u64 value;
-};
-
-#endif /* _I915_DRM_H_ */
diff --git a/linux-headers/include/drm/mga_drm.h b/linux-headers/include/drm/mga_drm.h
deleted file mode 100644
index ff812de..0000000
--- a/linux-headers/include/drm/mga_drm.h
+++ /dev/null
@@ -1,419 +0,0 @@
-/* mga_drm.h -- Public header for the Matrox g200/g400 driver -*- linux-c -*-
- * Created: Tue Jan 25 01:50:01 1999 by jhartmann@precisioninsight.com
- *
- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
- * All rights reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- * Jeff Hartmann <jhartmann@valinux.com>
- * Keith Whitwell <keith@tungstengraphics.com>
- *
- * Rewritten by:
- * Gareth Hughes <gareth@valinux.com>
- */
-
-#ifndef __MGA_DRM_H__
-#define __MGA_DRM_H__
-
-#include "drm.h"
-
-/* WARNING: If you change any of these defines, make sure to change the
- * defines in the Xserver file (mga_sarea.h)
- */
-
-#ifndef __MGA_SAREA_DEFINES__
-#define __MGA_SAREA_DEFINES__
-
-/* WARP pipe flags
- */
-#define MGA_F 0x1 /* fog */
-#define MGA_A 0x2 /* alpha */
-#define MGA_S 0x4 /* specular */
-#define MGA_T2 0x8 /* multitexture */
-
-#define MGA_WARP_TGZ 0
-#define MGA_WARP_TGZF (MGA_F)
-#define MGA_WARP_TGZA (MGA_A)
-#define MGA_WARP_TGZAF (MGA_F|MGA_A)
-#define MGA_WARP_TGZS (MGA_S)
-#define MGA_WARP_TGZSF (MGA_S|MGA_F)
-#define MGA_WARP_TGZSA (MGA_S|MGA_A)
-#define MGA_WARP_TGZSAF (MGA_S|MGA_F|MGA_A)
-#define MGA_WARP_T2GZ (MGA_T2)
-#define MGA_WARP_T2GZF (MGA_T2|MGA_F)
-#define MGA_WARP_T2GZA (MGA_T2|MGA_A)
-#define MGA_WARP_T2GZAF (MGA_T2|MGA_A|MGA_F)
-#define MGA_WARP_T2GZS (MGA_T2|MGA_S)
-#define MGA_WARP_T2GZSF (MGA_T2|MGA_S|MGA_F)
-#define MGA_WARP_T2GZSA (MGA_T2|MGA_S|MGA_A)
-#define MGA_WARP_T2GZSAF (MGA_T2|MGA_S|MGA_F|MGA_A)
-
-#define MGA_MAX_G200_PIPES 8 /* no multitex */
-#define MGA_MAX_G400_PIPES 16
-#define MGA_MAX_WARP_PIPES MGA_MAX_G400_PIPES
-#define MGA_WARP_UCODE_SIZE 32768 /* in bytes */
-
-#define MGA_CARD_TYPE_G200 1
-#define MGA_CARD_TYPE_G400 2
-#define MGA_CARD_TYPE_G450 3 /* not currently used */
-#define MGA_CARD_TYPE_G550 4
-
-#define MGA_FRONT 0x1
-#define MGA_BACK 0x2
-#define MGA_DEPTH 0x4
-
-/* What needs to be changed for the current vertex dma buffer?
- */
-#define MGA_UPLOAD_CONTEXT 0x1
-#define MGA_UPLOAD_TEX0 0x2
-#define MGA_UPLOAD_TEX1 0x4
-#define MGA_UPLOAD_PIPE 0x8
-#define MGA_UPLOAD_TEX0IMAGE 0x10 /* handled client-side */
-#define MGA_UPLOAD_TEX1IMAGE 0x20 /* handled client-side */
-#define MGA_UPLOAD_2D 0x40
-#define MGA_WAIT_AGE 0x80 /* handled client-side */
-#define MGA_UPLOAD_CLIPRECTS 0x100 /* handled client-side */
-#if 0
-#define MGA_DMA_FLUSH 0x200 /* set when someone gets the lock
- quiescent */
-#endif
-
-/* 32 buffers of 64k each, total 2 meg.
- */
-#define MGA_BUFFER_SIZE (1 << 16)
-#define MGA_NUM_BUFFERS 128
-
-/* Keep these small for testing.
- */
-#define MGA_NR_SAREA_CLIPRECTS 8
-
-/* 2 heaps (1 for card, 1 for agp), each divided into up to 128
- * regions, subject to a minimum region size of (1<<16) == 64k.
- *
- * Clients may subdivide regions internally, but when sharing between
- * clients, the region size is the minimum granularity.
- */
-
-#define MGA_CARD_HEAP 0
-#define MGA_AGP_HEAP 1
-#define MGA_NR_TEX_HEAPS 2
-#define MGA_NR_TEX_REGIONS 16
-#define MGA_LOG_MIN_TEX_REGION_SIZE 16
-
-#define DRM_MGA_IDLE_RETRY 2048
-
-#endif /* __MGA_SAREA_DEFINES__ */
-
-/* Setup registers for 3D context
- */
-typedef struct {
- unsigned int dstorg;
- unsigned int maccess;
- unsigned int plnwt;
- unsigned int dwgctl;
- unsigned int alphactrl;
- unsigned int fogcolor;
- unsigned int wflag;
- unsigned int tdualstage0;
- unsigned int tdualstage1;
- unsigned int fcol;
- unsigned int stencil;
- unsigned int stencilctl;
-} drm_mga_context_regs_t;
-
-/* Setup registers for 2D, X server
- */
-typedef struct {
- unsigned int pitch;
-} drm_mga_server_regs_t;
-
-/* Setup registers for each texture unit
- */
-typedef struct {
- unsigned int texctl;
- unsigned int texctl2;
- unsigned int texfilter;
- unsigned int texbordercol;
- unsigned int texorg;
- unsigned int texwidth;
- unsigned int texheight;
- unsigned int texorg1;
- unsigned int texorg2;
- unsigned int texorg3;
- unsigned int texorg4;
-} drm_mga_texture_regs_t;
-
-/* General aging mechanism
- */
-typedef struct {
- unsigned int head; /* Position of head pointer */
- unsigned int wrap; /* Primary DMA wrap count */
-} drm_mga_age_t;
-
-typedef struct _drm_mga_sarea {
- /* The channel for communication of state information to the kernel
- * on firing a vertex dma buffer.
- */
- drm_mga_context_regs_t context_state;
- drm_mga_server_regs_t server_state;
- drm_mga_texture_regs_t tex_state[2];
- unsigned int warp_pipe;
- unsigned int dirty;
- unsigned int vertsize;
-
- /* The current cliprects, or a subset thereof.
- */
- struct drm_clip_rect boxes[MGA_NR_SAREA_CLIPRECTS];
- unsigned int nbox;
-
- /* Information about the most recently used 3d drawable. The
- * client fills in the req_* fields, the server fills in the
- * exported_ fields and puts the cliprects into boxes, above.
- *
- * The client clears the exported_drawable field before
- * clobbering the boxes data.
- */
- unsigned int req_drawable; /* the X drawable id */
- unsigned int req_draw_buffer; /* MGA_FRONT or MGA_BACK */
-
- unsigned int exported_drawable;
- unsigned int exported_index;
- unsigned int exported_stamp;
- unsigned int exported_buffers;
- unsigned int exported_nfront;
- unsigned int exported_nback;
- int exported_back_x, exported_front_x, exported_w;
- int exported_back_y, exported_front_y, exported_h;
- struct drm_clip_rect exported_boxes[MGA_NR_SAREA_CLIPRECTS];
-
- /* Counters for aging textures and for client-side throttling.
- */
- unsigned int status[4];
- unsigned int last_wrap;
-
- drm_mga_age_t last_frame;
- unsigned int last_enqueue; /* last time a buffer was enqueued */
- unsigned int last_dispatch; /* age of the most recently dispatched buffer */
- unsigned int last_quiescent; /* */
-
- /* LRU lists for texture memory in agp space and on the card.
- */
- struct drm_tex_region texList[MGA_NR_TEX_HEAPS][MGA_NR_TEX_REGIONS + 1];
- unsigned int texAge[MGA_NR_TEX_HEAPS];
-
- /* Mechanism to validate card state.
- */
- int ctxOwner;
-} drm_mga_sarea_t;
-
-/* MGA specific ioctls
- * The device specific ioctl range is 0x40 to 0x79.
- */
-#define DRM_MGA_INIT 0x00
-#define DRM_MGA_FLUSH 0x01
-#define DRM_MGA_RESET 0x02
-#define DRM_MGA_SWAP 0x03
-#define DRM_MGA_CLEAR 0x04
-#define DRM_MGA_VERTEX 0x05
-#define DRM_MGA_INDICES 0x06
-#define DRM_MGA_ILOAD 0x07
-#define DRM_MGA_BLIT 0x08
-#define DRM_MGA_GETPARAM 0x09
-
-/* 3.2:
- * ioctls for operating on fences.
- */
-#define DRM_MGA_SET_FENCE 0x0a
-#define DRM_MGA_WAIT_FENCE 0x0b
-#define DRM_MGA_DMA_BOOTSTRAP 0x0c
-
-#define DRM_IOCTL_MGA_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_INIT, drm_mga_init_t)
-#define DRM_IOCTL_MGA_FLUSH DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_FLUSH, struct drm_lock)
-#define DRM_IOCTL_MGA_RESET DRM_IO( DRM_COMMAND_BASE + DRM_MGA_RESET)
-#define DRM_IOCTL_MGA_SWAP DRM_IO( DRM_COMMAND_BASE + DRM_MGA_SWAP)
-#define DRM_IOCTL_MGA_CLEAR DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_CLEAR, drm_mga_clear_t)
-#define DRM_IOCTL_MGA_VERTEX DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_VERTEX, drm_mga_vertex_t)
-#define DRM_IOCTL_MGA_INDICES DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_INDICES, drm_mga_indices_t)
-#define DRM_IOCTL_MGA_ILOAD DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_ILOAD, drm_mga_iload_t)
-#define DRM_IOCTL_MGA_BLIT DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_BLIT, drm_mga_blit_t)
-#define DRM_IOCTL_MGA_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_GETPARAM, drm_mga_getparam_t)
-#define DRM_IOCTL_MGA_SET_FENCE DRM_IOW( DRM_COMMAND_BASE + DRM_MGA_SET_FENCE, __u32)
-#define DRM_IOCTL_MGA_WAIT_FENCE DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_WAIT_FENCE, __u32)
-#define DRM_IOCTL_MGA_DMA_BOOTSTRAP DRM_IOWR(DRM_COMMAND_BASE + DRM_MGA_DMA_BOOTSTRAP, drm_mga_dma_bootstrap_t)
-
-typedef struct _drm_mga_warp_index {
- int installed;
- unsigned long phys_addr;
- int size;
-} drm_mga_warp_index_t;
-
-typedef struct drm_mga_init {
- enum {
- MGA_INIT_DMA = 0x01,
- MGA_CLEANUP_DMA = 0x02
- } func;
-
- unsigned long sarea_priv_offset;
-
- int chipset;
- int sgram;
-
- unsigned int maccess;
-
- unsigned int fb_cpp;
- unsigned int front_offset, front_pitch;
- unsigned int back_offset, back_pitch;
-
- unsigned int depth_cpp;
- unsigned int depth_offset, depth_pitch;
-
- unsigned int texture_offset[MGA_NR_TEX_HEAPS];
- unsigned int texture_size[MGA_NR_TEX_HEAPS];
-
- unsigned long fb_offset;
- unsigned long mmio_offset;
- unsigned long status_offset;
- unsigned long warp_offset;
- unsigned long primary_offset;
- unsigned long buffers_offset;
-} drm_mga_init_t;
-
-typedef struct drm_mga_dma_bootstrap {
- /**
- * \name AGP texture region
- *
- * On return from the DRM_MGA_DMA_BOOTSTRAP ioctl, these fields will
- * be filled in with the actual AGP texture settings.
- *
- * \warning
- * If these fields are non-zero, but dma_mga_dma_bootstrap::agp_mode
- * is zero, it means that PCI memory (most likely through the use of
- * an IOMMU) is being used for "AGP" textures.
- */
- /*@{ */
- unsigned long texture_handle; /**< Handle used to map AGP textures. */
- __u32 texture_size; /**< Size of the AGP texture region. */
- /*@} */
-
- /**
- * Requested size of the primary DMA region.
- *
- * On return from the DRM_MGA_DMA_BOOTSTRAP ioctl, this field will be
- * filled in with the actual AGP mode. If AGP was not available
- */
- __u32 primary_size;
-
- /**
- * Requested number of secondary DMA buffers.
- *
- * On return from the DRM_MGA_DMA_BOOTSTRAP ioctl, this field will be
- * filled in with the actual number of secondary DMA buffers
- * allocated. Particularly when PCI DMA is used, this may be
- * (subtantially) less than the number requested.
- */
- __u32 secondary_bin_count;
-
- /**
- * Requested size of each secondary DMA buffer.
- *
- * While the kernel \b is free to reduce
- * dma_mga_dma_bootstrap::secondary_bin_count, it is \b not allowed
- * to reduce dma_mga_dma_bootstrap::secondary_bin_size.
- */
- __u32 secondary_bin_size;
-
- /**
- * Bit-wise mask of AGPSTAT2_* values. Currently only \c AGPSTAT2_1X,
- * \c AGPSTAT2_2X, and \c AGPSTAT2_4X are supported. If this value is
- * zero, it means that PCI DMA should be used, even if AGP is
- * possible.
- *
- * On return from the DRM_MGA_DMA_BOOTSTRAP ioctl, this field will be
- * filled in with the actual AGP mode. If AGP was not available
- * (i.e., PCI DMA was used), this value will be zero.
- */
- __u32 agp_mode;
-
- /**
- * Desired AGP GART size, measured in megabytes.
- */
- __u8 agp_size;
-} drm_mga_dma_bootstrap_t;
-
-typedef struct drm_mga_clear {
- unsigned int flags;
- unsigned int clear_color;
- unsigned int clear_depth;
- unsigned int color_mask;
- unsigned int depth_mask;
-} drm_mga_clear_t;
-
-typedef struct drm_mga_vertex {
- int idx; /* buffer to queue */
- int used; /* bytes in use */
- int discard; /* client finished with buffer? */
-} drm_mga_vertex_t;
-
-typedef struct drm_mga_indices {
- int idx; /* buffer to queue */
- unsigned int start;
- unsigned int end;
- int discard; /* client finished with buffer? */
-} drm_mga_indices_t;
-
-typedef struct drm_mga_iload {
- int idx;
- unsigned int dstorg;
- unsigned int length;
-} drm_mga_iload_t;
-
-typedef struct _drm_mga_blit {
- unsigned int planemask;
- unsigned int srcorg;
- unsigned int dstorg;
- int src_pitch, dst_pitch;
- int delta_sx, delta_sy;
- int delta_dx, delta_dy;
- int height, ydir; /* flip image vertically */
- int source_pitch, dest_pitch;
-} drm_mga_blit_t;
-
-/* 3.1: An ioctl to get parameters that aren't available to the 3d
- * client any other way.
- */
-#define MGA_PARAM_IRQ_NR 1
-
-/* 3.2: Query the actual card type. The DDX only distinguishes between
- * G200 chips and non-G200 chips, which it calls G400. It turns out that
- * there are some very sublte differences between the G4x0 chips and the G550
- * chips. Using this parameter query, a client-side driver can detect the
- * difference between a G4x0 and a G550.
- */
-#define MGA_PARAM_CARD_TYPE 2
-
-typedef struct drm_mga_getparam {
- int param;
- void *value;
-} drm_mga_getparam_t;
-
-#endif
diff --git a/linux-headers/include/drm/msm_drm.h b/linux-headers/include/drm/msm_drm.h
deleted file mode 100644
index 4373ba7..0000000
--- a/linux-headers/include/drm/msm_drm.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (C) 2013 Red Hat
- * Author: Rob Clark <robdclark@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __MSM_DRM_H__
-#define __MSM_DRM_H__
-
-#include "drm.h"
-
-/* Please note that modifications to all structs defined here are
- * subject to backwards-compatibility constraints:
- * 1) Do not use pointers, use __u64 instead for 32 bit / 64 bit
- * user/kernel compatibility
- * 2) Keep fields aligned to their size
- * 3) Because of how drm_ioctl() works, we can add new fields at
- * the end of an ioctl if some care is taken: drm_ioctl() will
- * zero out the new fields at the tail of the ioctl, so a zero
- * value should have a backwards compatible meaning. And for
- * output params, userspace won't see the newly added output
- * fields.. so that has to be somehow ok.
- */
-
-#define MSM_PIPE_NONE 0x00
-#define MSM_PIPE_2D0 0x01
-#define MSM_PIPE_2D1 0x02
-#define MSM_PIPE_3D0 0x10
-
-/* timeouts are specified in clock-monotonic absolute times (to simplify
- * restarting interrupted ioctls). The following struct is logically the
- * same as 'struct timespec' but 32/64b ABI safe.
- */
-struct drm_msm_timespec {
- __s64 tv_sec; /* seconds */
- __s64 tv_nsec; /* nanoseconds */
-};
-
-#define MSM_PARAM_GPU_ID 0x01
-#define MSM_PARAM_GMEM_SIZE 0x02
-#define MSM_PARAM_CHIP_ID 0x03
-#define MSM_PARAM_MAX_FREQ 0x04
-#define MSM_PARAM_TIMESTAMP 0x05
-
-struct drm_msm_param {
- __u32 pipe; /* in, MSM_PIPE_x */
- __u32 param; /* in, MSM_PARAM_x */
- __u64 value; /* out (get_param) or in (set_param) */
-};
-
-/*
- * GEM buffers:
- */
-
-#define MSM_BO_SCANOUT 0x00000001 /* scanout capable */
-#define MSM_BO_GPU_READONLY 0x00000002
-#define MSM_BO_CACHE_MASK 0x000f0000
-/* cache modes */
-#define MSM_BO_CACHED 0x00010000
-#define MSM_BO_WC 0x00020000
-#define MSM_BO_UNCACHED 0x00040000
-
-#define MSM_BO_FLAGS (MSM_BO_SCANOUT | \
- MSM_BO_GPU_READONLY | \
- MSM_BO_CACHED | \
- MSM_BO_WC | \
- MSM_BO_UNCACHED)
-
-struct drm_msm_gem_new {
- __u64 size; /* in */
- __u32 flags; /* in, mask of MSM_BO_x */
- __u32 handle; /* out */
-};
-
-struct drm_msm_gem_info {
- __u32 handle; /* in */
- __u32 pad;
- __u64 offset; /* out, offset to pass to mmap() */
-};
-
-#define MSM_PREP_READ 0x01
-#define MSM_PREP_WRITE 0x02
-#define MSM_PREP_NOSYNC 0x04
-
-#define MSM_PREP_FLAGS (MSM_PREP_READ | MSM_PREP_WRITE | MSM_PREP_NOSYNC)
-
-struct drm_msm_gem_cpu_prep {
- __u32 handle; /* in */
- __u32 op; /* in, mask of MSM_PREP_x */
- struct drm_msm_timespec timeout; /* in */
-};
-
-struct drm_msm_gem_cpu_fini {
- __u32 handle; /* in */
-};
-
-/*
- * Cmdstream Submission:
- */
-
-/* The value written into the cmdstream is logically:
- *
- * ((relocbuf->gpuaddr + reloc_offset) << shift) | or
- *
- * When we have GPU's w/ >32bit ptrs, it should be possible to deal
- * with this by emit'ing two reloc entries with appropriate shift
- * values. Or a new MSM_SUBMIT_CMD_x type would also be an option.
- *
- * NOTE that reloc's must be sorted by order of increasing submit_offset,
- * otherwise EINVAL.
- */
-struct drm_msm_gem_submit_reloc {
- __u32 submit_offset; /* in, offset from submit_bo */
- __u32 or; /* in, value OR'd with result */
- __s32 shift; /* in, amount of left shift (can be negative) */
- __u32 reloc_idx; /* in, index of reloc_bo buffer */
- __u64 reloc_offset; /* in, offset from start of reloc_bo */
-};
-
-/* submit-types:
- * BUF - this cmd buffer is executed normally.
- * IB_TARGET_BUF - this cmd buffer is an IB target. Reloc's are
- * processed normally, but the kernel does not setup an IB to
- * this buffer in the first-level ringbuffer
- * CTX_RESTORE_BUF - only executed if there has been a GPU context
- * switch since the last SUBMIT ioctl
- */
-#define MSM_SUBMIT_CMD_BUF 0x0001
-#define MSM_SUBMIT_CMD_IB_TARGET_BUF 0x0002
-#define MSM_SUBMIT_CMD_CTX_RESTORE_BUF 0x0003
-struct drm_msm_gem_submit_cmd {
- __u32 type; /* in, one of MSM_SUBMIT_CMD_x */
- __u32 submit_idx; /* in, index of submit_bo cmdstream buffer */
- __u32 submit_offset; /* in, offset into submit_bo */
- __u32 size; /* in, cmdstream size */
- __u32 pad;
- __u32 nr_relocs; /* in, number of submit_reloc's */
- __u64 relocs; /* in, ptr to array of submit_reloc's */
-};
-
-/* Each buffer referenced elsewhere in the cmdstream submit (ie. the
- * cmdstream buffer(s) themselves or reloc entries) has one (and only
- * one) entry in the submit->bos[] table.
- *
- * As a optimization, the current buffer (gpu virtual address) can be
- * passed back through the 'presumed' field. If on a subsequent reloc,
- * userspace passes back a 'presumed' address that is still valid,
- * then patching the cmdstream for this entry is skipped. This can
- * avoid kernel needing to map/access the cmdstream bo in the common
- * case.
- */
-#define MSM_SUBMIT_BO_READ 0x0001
-#define MSM_SUBMIT_BO_WRITE 0x0002
-
-#define MSM_SUBMIT_BO_FLAGS (MSM_SUBMIT_BO_READ | MSM_SUBMIT_BO_WRITE)
-
-struct drm_msm_gem_submit_bo {
- __u32 flags; /* in, mask of MSM_SUBMIT_BO_x */
- __u32 handle; /* in, GEM handle */
- __u64 presumed; /* in/out, presumed buffer address */
-};
-
-/* Each cmdstream submit consists of a table of buffers involved, and
- * one or more cmdstream buffers. This allows for conditional execution
- * (context-restore), and IB buffers needed for per tile/bin draw cmds.
- */
-struct drm_msm_gem_submit {
- __u32 pipe; /* in, MSM_PIPE_x */
- __u32 fence; /* out */
- __u32 nr_bos; /* in, number of submit_bo's */
- __u32 nr_cmds; /* in, number of submit_cmd's */
- __u64 bos; /* in, ptr to array of submit_bo's */
- __u64 cmds; /* in, ptr to array of submit_cmd's */
-};
-
-/* The normal way to synchronize with the GPU is just to CPU_PREP on
- * a buffer if you need to access it from the CPU (other cmdstream
- * submission from same or other contexts, PAGE_FLIP ioctl, etc, all
- * handle the required synchronization under the hood). This ioctl
- * mainly just exists as a way to implement the gallium pipe_fence
- * APIs without requiring a dummy bo to synchronize on.
- */
-struct drm_msm_wait_fence {
- __u32 fence; /* in */
- __u32 pad;
- struct drm_msm_timespec timeout; /* in */
-};
-
-#define DRM_MSM_GET_PARAM 0x00
-/* placeholder:
-#define DRM_MSM_SET_PARAM 0x01
- */
-#define DRM_MSM_GEM_NEW 0x02
-#define DRM_MSM_GEM_INFO 0x03
-#define DRM_MSM_GEM_CPU_PREP 0x04
-#define DRM_MSM_GEM_CPU_FINI 0x05
-#define DRM_MSM_GEM_SUBMIT 0x06
-#define DRM_MSM_WAIT_FENCE 0x07
-#define DRM_MSM_NUM_IOCTLS 0x08
-
-#define DRM_IOCTL_MSM_GET_PARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GET_PARAM, struct drm_msm_param)
-#define DRM_IOCTL_MSM_GEM_NEW DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GEM_NEW, struct drm_msm_gem_new)
-#define DRM_IOCTL_MSM_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GEM_INFO, struct drm_msm_gem_info)
-#define DRM_IOCTL_MSM_GEM_CPU_PREP DRM_IOW (DRM_COMMAND_BASE + DRM_MSM_GEM_CPU_PREP, struct drm_msm_gem_cpu_prep)
-#define DRM_IOCTL_MSM_GEM_CPU_FINI DRM_IOW (DRM_COMMAND_BASE + DRM_MSM_GEM_CPU_FINI, struct drm_msm_gem_cpu_fini)
-#define DRM_IOCTL_MSM_GEM_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_MSM_GEM_SUBMIT, struct drm_msm_gem_submit)
-#define DRM_IOCTL_MSM_WAIT_FENCE DRM_IOW (DRM_COMMAND_BASE + DRM_MSM_WAIT_FENCE, struct drm_msm_wait_fence)
-
-#endif /* __MSM_DRM_H__ */
diff --git a/linux-headers/include/drm/nouveau_drm.h b/linux-headers/include/drm/nouveau_drm.h
deleted file mode 100644
index 500d82a..0000000
--- a/linux-headers/include/drm/nouveau_drm.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright 2005 Stephane Marchesin.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef __NOUVEAU_DRM_H__
-#define __NOUVEAU_DRM_H__
-
-#define DRM_NOUVEAU_EVENT_NVIF 0x80000000
-
-#include <drm/drm.h>
-
-#define NOUVEAU_GEM_DOMAIN_CPU (1 << 0)
-#define NOUVEAU_GEM_DOMAIN_VRAM (1 << 1)
-#define NOUVEAU_GEM_DOMAIN_GART (1 << 2)
-#define NOUVEAU_GEM_DOMAIN_MAPPABLE (1 << 3)
-#define NOUVEAU_GEM_DOMAIN_COHERENT (1 << 4)
-
-#define NOUVEAU_GEM_TILE_COMP 0x00030000 /* nv50-only */
-#define NOUVEAU_GEM_TILE_LAYOUT_MASK 0x0000ff00
-#define NOUVEAU_GEM_TILE_16BPP 0x00000001
-#define NOUVEAU_GEM_TILE_32BPP 0x00000002
-#define NOUVEAU_GEM_TILE_ZETA 0x00000004
-#define NOUVEAU_GEM_TILE_NONCONTIG 0x00000008
-
-struct drm_nouveau_gem_info {
- __u32 handle;
- __u32 domain;
- __u64 size;
- __u64 offset;
- __u64 map_handle;
- __u32 tile_mode;
- __u32 tile_flags;
-};
-
-struct drm_nouveau_gem_new {
- struct drm_nouveau_gem_info info;
- __u32 channel_hint;
- __u32 align;
-};
-
-#define NOUVEAU_GEM_MAX_BUFFERS 1024
-struct drm_nouveau_gem_pushbuf_bo_presumed {
- __u32 valid;
- __u32 domain;
- __u64 offset;
-};
-
-struct drm_nouveau_gem_pushbuf_bo {
- __u64 user_priv;
- __u32 handle;
- __u32 read_domains;
- __u32 write_domains;
- __u32 valid_domains;
- struct drm_nouveau_gem_pushbuf_bo_presumed presumed;
-};
-
-#define NOUVEAU_GEM_RELOC_LOW (1 << 0)
-#define NOUVEAU_GEM_RELOC_HIGH (1 << 1)
-#define NOUVEAU_GEM_RELOC_OR (1 << 2)
-#define NOUVEAU_GEM_MAX_RELOCS 1024
-struct drm_nouveau_gem_pushbuf_reloc {
- __u32 reloc_bo_index;
- __u32 reloc_bo_offset;
- __u32 bo_index;
- __u32 flags;
- __u32 data;
- __u32 vor;
- __u32 tor;
-};
-
-#define NOUVEAU_GEM_MAX_PUSH 512
-struct drm_nouveau_gem_pushbuf_push {
- __u32 bo_index;
- __u32 pad;
- __u64 offset;
- __u64 length;
-};
-
-struct drm_nouveau_gem_pushbuf {
- __u32 channel;
- __u32 nr_buffers;
- __u64 buffers;
- __u32 nr_relocs;
- __u32 nr_push;
- __u64 relocs;
- __u64 push;
- __u32 suffix0;
- __u32 suffix1;
- __u64 vram_available;
- __u64 gart_available;
-};
-
-#define NOUVEAU_GEM_CPU_PREP_NOWAIT 0x00000001
-#define NOUVEAU_GEM_CPU_PREP_WRITE 0x00000004
-struct drm_nouveau_gem_cpu_prep {
- __u32 handle;
- __u32 flags;
-};
-
-struct drm_nouveau_gem_cpu_fini {
- __u32 handle;
-};
-
-#define DRM_NOUVEAU_GETPARAM 0x00 /* deprecated */
-#define DRM_NOUVEAU_SETPARAM 0x01 /* deprecated */
-#define DRM_NOUVEAU_CHANNEL_ALLOC 0x02 /* deprecated */
-#define DRM_NOUVEAU_CHANNEL_FREE 0x03 /* deprecated */
-#define DRM_NOUVEAU_GROBJ_ALLOC 0x04 /* deprecated */
-#define DRM_NOUVEAU_NOTIFIEROBJ_ALLOC 0x05 /* deprecated */
-#define DRM_NOUVEAU_GPUOBJ_FREE 0x06 /* deprecated */
-#define DRM_NOUVEAU_NVIF 0x07
-#define DRM_NOUVEAU_GEM_NEW 0x40
-#define DRM_NOUVEAU_GEM_PUSHBUF 0x41
-#define DRM_NOUVEAU_GEM_CPU_PREP 0x42
-#define DRM_NOUVEAU_GEM_CPU_FINI 0x43
-#define DRM_NOUVEAU_GEM_INFO 0x44
-
-#define DRM_IOCTL_NOUVEAU_GEM_NEW DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_NEW, struct drm_nouveau_gem_new)
-#define DRM_IOCTL_NOUVEAU_GEM_PUSHBUF DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_PUSHBUF, struct drm_nouveau_gem_pushbuf)
-#define DRM_IOCTL_NOUVEAU_GEM_CPU_PREP DRM_IOW (DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_CPU_PREP, struct drm_nouveau_gem_cpu_prep)
-#define DRM_IOCTL_NOUVEAU_GEM_CPU_FINI DRM_IOW (DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_CPU_FINI, struct drm_nouveau_gem_cpu_fini)
-#define DRM_IOCTL_NOUVEAU_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_NOUVEAU_GEM_INFO, struct drm_nouveau_gem_info)
-
-#endif /* __NOUVEAU_DRM_H__ */
diff --git a/linux-headers/include/drm/qxl_drm.h b/linux-headers/include/drm/qxl_drm.h
deleted file mode 100644
index 852c6b6..0000000
--- a/linux-headers/include/drm/qxl_drm.h
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright 2013 Red Hat
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-#ifndef QXL_DRM_H
-#define QXL_DRM_H
-
-#include "drm.h"
-
-/* Please note that modifications to all structs defined here are
- * subject to backwards-compatibility constraints.
- *
- * Do not use pointers, use __u64 instead for 32 bit / 64 bit user/kernel
- * compatibility Keep fields aligned to their size
- */
-
-#define QXL_GEM_DOMAIN_CPU 0
-#define QXL_GEM_DOMAIN_VRAM 1
-#define QXL_GEM_DOMAIN_SURFACE 2
-
-#define DRM_QXL_ALLOC 0x00
-#define DRM_QXL_MAP 0x01
-#define DRM_QXL_EXECBUFFER 0x02
-#define DRM_QXL_UPDATE_AREA 0x03
-#define DRM_QXL_GETPARAM 0x04
-#define DRM_QXL_CLIENTCAP 0x05
-
-#define DRM_QXL_ALLOC_SURF 0x06
-
-struct drm_qxl_alloc {
- __u32 size;
- __u32 handle; /* 0 is an invalid handle */
-};
-
-struct drm_qxl_map {
- __u64 offset; /* use for mmap system call */
- __u32 handle;
- __u32 pad;
-};
-
-/*
- * dest is the bo we are writing the relocation into
- * src is bo we are relocating.
- * *(dest_handle.base_addr + dest_offset) = physical_address(src_handle.addr +
- * src_offset)
- */
-#define QXL_RELOC_TYPE_BO 1
-#define QXL_RELOC_TYPE_SURF 2
-
-struct drm_qxl_reloc {
- __u64 src_offset; /* offset into src_handle or src buffer */
- __u64 dst_offset; /* offset in dest handle */
- __u32 src_handle; /* dest handle to compute address from */
- __u32 dst_handle; /* 0 if to command buffer */
- __u32 reloc_type;
- __u32 pad;
-};
-
-struct drm_qxl_command {
- __u64 command; /* void* */
- __u64 relocs; /* struct drm_qxl_reloc* */
- __u32 type;
- __u32 command_size;
- __u32 relocs_num;
- __u32 pad;
-};
-
-/* XXX: call it drm_qxl_commands? */
-struct drm_qxl_execbuffer {
- __u32 flags; /* for future use */
- __u32 commands_num;
- __u64 commands; /* struct drm_qxl_command* */
-};
-
-struct drm_qxl_update_area {
- __u32 handle;
- __u32 top;
- __u32 left;
- __u32 bottom;
- __u32 right;
- __u32 pad;
-};
-
-#define QXL_PARAM_NUM_SURFACES 1 /* rom->n_surfaces */
-#define QXL_PARAM_MAX_RELOCS 2
-struct drm_qxl_getparam {
- __u64 param;
- __u64 value;
-};
-
-/* these are one bit values */
-struct drm_qxl_clientcap {
- __u32 index;
- __u32 pad;
-};
-
-struct drm_qxl_alloc_surf {
- __u32 format;
- __u32 width;
- __u32 height;
- __s32 stride;
- __u32 handle;
- __u32 pad;
-};
-
-#define DRM_IOCTL_QXL_ALLOC \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC, struct drm_qxl_alloc)
-
-#define DRM_IOCTL_QXL_MAP \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_MAP, struct drm_qxl_map)
-
-#define DRM_IOCTL_QXL_EXECBUFFER \
- DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_EXECBUFFER,\
- struct drm_qxl_execbuffer)
-
-#define DRM_IOCTL_QXL_UPDATE_AREA \
- DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_UPDATE_AREA,\
- struct drm_qxl_update_area)
-
-#define DRM_IOCTL_QXL_GETPARAM \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_GETPARAM,\
- struct drm_qxl_getparam)
-
-#define DRM_IOCTL_QXL_CLIENTCAP \
- DRM_IOW(DRM_COMMAND_BASE + DRM_QXL_CLIENTCAP,\
- struct drm_qxl_clientcap)
-
-#define DRM_IOCTL_QXL_ALLOC_SURF \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_QXL_ALLOC_SURF,\
- struct drm_qxl_alloc_surf)
-
-#endif
diff --git a/linux-headers/include/drm/r128_drm.h b/linux-headers/include/drm/r128_drm.h
deleted file mode 100644
index 2c559f7..0000000
--- a/linux-headers/include/drm/r128_drm.h
+++ /dev/null
@@ -1,328 +0,0 @@
-/* r128_drm.h -- Public header for the r128 driver -*- linux-c -*-
- * Created: Wed Apr 5 19:24:19 2000 by kevin@precisioninsight.com
- */
-/*
- * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas.
- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
- * All rights reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- * Gareth Hughes <gareth@valinux.com>
- * Kevin E. Martin <martin@valinux.com>
- */
-
-#ifndef __R128_DRM_H__
-#define __R128_DRM_H__
-
-#include "drm.h"
-
-/* WARNING: If you change any of these defines, make sure to change the
- * defines in the X server file (r128_sarea.h)
- */
-#ifndef __R128_SAREA_DEFINES__
-#define __R128_SAREA_DEFINES__
-
-/* What needs to be changed for the current vertex buffer?
- */
-#define R128_UPLOAD_CONTEXT 0x001
-#define R128_UPLOAD_SETUP 0x002
-#define R128_UPLOAD_TEX0 0x004
-#define R128_UPLOAD_TEX1 0x008
-#define R128_UPLOAD_TEX0IMAGES 0x010
-#define R128_UPLOAD_TEX1IMAGES 0x020
-#define R128_UPLOAD_CORE 0x040
-#define R128_UPLOAD_MASKS 0x080
-#define R128_UPLOAD_WINDOW 0x100
-#define R128_UPLOAD_CLIPRECTS 0x200 /* handled client-side */
-#define R128_REQUIRE_QUIESCENCE 0x400
-#define R128_UPLOAD_ALL 0x7ff
-
-#define R128_FRONT 0x1
-#define R128_BACK 0x2
-#define R128_DEPTH 0x4
-
-/* Primitive types
- */
-#define R128_POINTS 0x1
-#define R128_LINES 0x2
-#define R128_LINE_STRIP 0x3
-#define R128_TRIANGLES 0x4
-#define R128_TRIANGLE_FAN 0x5
-#define R128_TRIANGLE_STRIP 0x6
-
-/* Vertex/indirect buffer size
- */
-#define R128_BUFFER_SIZE 16384
-
-/* Byte offsets for indirect buffer data
- */
-#define R128_INDEX_PRIM_OFFSET 20
-#define R128_HOSTDATA_BLIT_OFFSET 32
-
-/* Keep these small for testing.
- */
-#define R128_NR_SAREA_CLIPRECTS 12
-
-/* There are 2 heaps (local/AGP). Each region within a heap is a
- * minimum of 64k, and there are at most 64 of them per heap.
- */
-#define R128_LOCAL_TEX_HEAP 0
-#define R128_AGP_TEX_HEAP 1
-#define R128_NR_TEX_HEAPS 2
-#define R128_NR_TEX_REGIONS 64
-#define R128_LOG_TEX_GRANULARITY 16
-
-#define R128_NR_CONTEXT_REGS 12
-
-#define R128_MAX_TEXTURE_LEVELS 11
-#define R128_MAX_TEXTURE_UNITS 2
-
-#endif /* __R128_SAREA_DEFINES__ */
-
-typedef struct {
- /* Context state - can be written in one large chunk */
- unsigned int dst_pitch_offset_c;
- unsigned int dp_gui_master_cntl_c;
- unsigned int sc_top_left_c;
- unsigned int sc_bottom_right_c;
- unsigned int z_offset_c;
- unsigned int z_pitch_c;
- unsigned int z_sten_cntl_c;
- unsigned int tex_cntl_c;
- unsigned int misc_3d_state_cntl_reg;
- unsigned int texture_clr_cmp_clr_c;
- unsigned int texture_clr_cmp_msk_c;
- unsigned int fog_color_c;
-
- /* Texture state */
- unsigned int tex_size_pitch_c;
- unsigned int constant_color_c;
-
- /* Setup state */
- unsigned int pm4_vc_fpu_setup;
- unsigned int setup_cntl;
-
- /* Mask state */
- unsigned int dp_write_mask;
- unsigned int sten_ref_mask_c;
- unsigned int plane_3d_mask_c;
-
- /* Window state */
- unsigned int window_xy_offset;
-
- /* Core state */
- unsigned int scale_3d_cntl;
-} drm_r128_context_regs_t;
-
-/* Setup registers for each texture unit
- */
-typedef struct {
- unsigned int tex_cntl;
- unsigned int tex_combine_cntl;
- unsigned int tex_size_pitch;
- unsigned int tex_offset[R128_MAX_TEXTURE_LEVELS];
- unsigned int tex_border_color;
-} drm_r128_texture_regs_t;
-
-typedef struct drm_r128_sarea {
- /* The channel for communication of state information to the kernel
- * on firing a vertex buffer.
- */
- drm_r128_context_regs_t context_state;
- drm_r128_texture_regs_t tex_state[R128_MAX_TEXTURE_UNITS];
- unsigned int dirty;
- unsigned int vertsize;
- unsigned int vc_format;
-
- /* The current cliprects, or a subset thereof.
- */
- struct drm_clip_rect boxes[R128_NR_SAREA_CLIPRECTS];
- unsigned int nbox;
-
- /* Counters for client-side throttling of rendering clients.
- */
- unsigned int last_frame;
- unsigned int last_dispatch;
-
- struct drm_tex_region tex_list[R128_NR_TEX_HEAPS][R128_NR_TEX_REGIONS + 1];
- unsigned int tex_age[R128_NR_TEX_HEAPS];
- int ctx_owner;
- int pfAllowPageFlip; /* number of 3d windows (0,1,2 or more) */
- int pfCurrentPage; /* which buffer is being displayed? */
-} drm_r128_sarea_t;
-
-/* WARNING: If you change any of these defines, make sure to change the
- * defines in the Xserver file (xf86drmR128.h)
- */
-
-/* Rage 128 specific ioctls
- * The device specific ioctl range is 0x40 to 0x79.
- */
-#define DRM_R128_INIT 0x00
-#define DRM_R128_CCE_START 0x01
-#define DRM_R128_CCE_STOP 0x02
-#define DRM_R128_CCE_RESET 0x03
-#define DRM_R128_CCE_IDLE 0x04
-/* 0x05 not used */
-#define DRM_R128_RESET 0x06
-#define DRM_R128_SWAP 0x07
-#define DRM_R128_CLEAR 0x08
-#define DRM_R128_VERTEX 0x09
-#define DRM_R128_INDICES 0x0a
-#define DRM_R128_BLIT 0x0b
-#define DRM_R128_DEPTH 0x0c
-#define DRM_R128_STIPPLE 0x0d
-/* 0x0e not used */
-#define DRM_R128_INDIRECT 0x0f
-#define DRM_R128_FULLSCREEN 0x10
-#define DRM_R128_CLEAR2 0x11
-#define DRM_R128_GETPARAM 0x12
-#define DRM_R128_FLIP 0x13
-
-#define DRM_IOCTL_R128_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_R128_INIT, drm_r128_init_t)
-#define DRM_IOCTL_R128_CCE_START DRM_IO( DRM_COMMAND_BASE + DRM_R128_CCE_START)
-#define DRM_IOCTL_R128_CCE_STOP DRM_IOW( DRM_COMMAND_BASE + DRM_R128_CCE_STOP, drm_r128_cce_stop_t)
-#define DRM_IOCTL_R128_CCE_RESET DRM_IO( DRM_COMMAND_BASE + DRM_R128_CCE_RESET)
-#define DRM_IOCTL_R128_CCE_IDLE DRM_IO( DRM_COMMAND_BASE + DRM_R128_CCE_IDLE)
-/* 0x05 not used */
-#define DRM_IOCTL_R128_RESET DRM_IO( DRM_COMMAND_BASE + DRM_R128_RESET)
-#define DRM_IOCTL_R128_SWAP DRM_IO( DRM_COMMAND_BASE + DRM_R128_SWAP)
-#define DRM_IOCTL_R128_CLEAR DRM_IOW( DRM_COMMAND_BASE + DRM_R128_CLEAR, drm_r128_clear_t)
-#define DRM_IOCTL_R128_VERTEX DRM_IOW( DRM_COMMAND_BASE + DRM_R128_VERTEX, drm_r128_vertex_t)
-#define DRM_IOCTL_R128_INDICES DRM_IOW( DRM_COMMAND_BASE + DRM_R128_INDICES, drm_r128_indices_t)
-#define DRM_IOCTL_R128_BLIT DRM_IOW( DRM_COMMAND_BASE + DRM_R128_BLIT, drm_r128_blit_t)
-#define DRM_IOCTL_R128_DEPTH DRM_IOW( DRM_COMMAND_BASE + DRM_R128_DEPTH, drm_r128_depth_t)
-#define DRM_IOCTL_R128_STIPPLE DRM_IOW( DRM_COMMAND_BASE + DRM_R128_STIPPLE, drm_r128_stipple_t)
-/* 0x0e not used */
-#define DRM_IOCTL_R128_INDIRECT DRM_IOWR(DRM_COMMAND_BASE + DRM_R128_INDIRECT, drm_r128_indirect_t)
-#define DRM_IOCTL_R128_FULLSCREEN DRM_IOW( DRM_COMMAND_BASE + DRM_R128_FULLSCREEN, drm_r128_fullscreen_t)
-#define DRM_IOCTL_R128_CLEAR2 DRM_IOW( DRM_COMMAND_BASE + DRM_R128_CLEAR2, drm_r128_clear2_t)
-#define DRM_IOCTL_R128_GETPARAM DRM_IOWR( DRM_COMMAND_BASE + DRM_R128_GETPARAM, drm_r128_getparam_t)
-#define DRM_IOCTL_R128_FLIP DRM_IO( DRM_COMMAND_BASE + DRM_R128_FLIP)
-
-typedef struct drm_r128_init {
- enum {
- R128_INIT_CCE = 0x01,
- R128_CLEANUP_CCE = 0x02
- } func;
- unsigned long sarea_priv_offset;
- int is_pci;
- int cce_mode;
- int cce_secure;
- int ring_size;
- int usec_timeout;
-
- unsigned int fb_bpp;
- unsigned int front_offset, front_pitch;
- unsigned int back_offset, back_pitch;
- unsigned int depth_bpp;
- unsigned int depth_offset, depth_pitch;
- unsigned int span_offset;
-
- unsigned long fb_offset;
- unsigned long mmio_offset;
- unsigned long ring_offset;
- unsigned long ring_rptr_offset;
- unsigned long buffers_offset;
- unsigned long agp_textures_offset;
-} drm_r128_init_t;
-
-typedef struct drm_r128_cce_stop {
- int flush;
- int idle;
-} drm_r128_cce_stop_t;
-
-typedef struct drm_r128_clear {
- unsigned int flags;
- unsigned int clear_color;
- unsigned int clear_depth;
- unsigned int color_mask;
- unsigned int depth_mask;
-} drm_r128_clear_t;
-
-typedef struct drm_r128_vertex {
- int prim;
- int idx; /* Index of vertex buffer */
- int count; /* Number of vertices in buffer */
- int discard; /* Client finished with buffer? */
-} drm_r128_vertex_t;
-
-typedef struct drm_r128_indices {
- int prim;
- int idx;
- int start;
- int end;
- int discard; /* Client finished with buffer? */
-} drm_r128_indices_t;
-
-typedef struct drm_r128_blit {
- int idx;
- int pitch;
- int offset;
- int format;
- unsigned short x, y;
- unsigned short width, height;
-} drm_r128_blit_t;
-
-typedef struct drm_r128_depth {
- enum {
- R128_WRITE_SPAN = 0x01,
- R128_WRITE_PIXELS = 0x02,
- R128_READ_SPAN = 0x03,
- R128_READ_PIXELS = 0x04
- } func;
- int n;
- int *x;
- int *y;
- unsigned int *buffer;
- unsigned char *mask;
-} drm_r128_depth_t;
-
-typedef struct drm_r128_stipple {
- unsigned int *mask;
-} drm_r128_stipple_t;
-
-typedef struct drm_r128_indirect {
- int idx;
- int start;
- int end;
- int discard;
-} drm_r128_indirect_t;
-
-typedef struct drm_r128_fullscreen {
- enum {
- R128_INIT_FULLSCREEN = 0x01,
- R128_CLEANUP_FULLSCREEN = 0x02
- } func;
-} drm_r128_fullscreen_t;
-
-/* 2.3: An ioctl to get parameters that aren't available to the 3d
- * client any other way.
- */
-#define R128_PARAM_IRQ_NR 1
-
-typedef struct drm_r128_getparam {
- int param;
- void *value;
-} drm_r128_getparam_t;
-
-#endif
diff --git a/linux-headers/include/drm/radeon_drm.h b/linux-headers/include/drm/radeon_drm.h
deleted file mode 100644
index c329222..0000000
--- a/linux-headers/include/drm/radeon_drm.h
+++ /dev/null
@@ -1,1070 +0,0 @@
-/* radeon_drm.h -- Public header for the radeon driver -*- linux-c -*-
- *
- * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas.
- * Copyright 2000 VA Linux Systems, Inc., Fremont, California.
- * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
- * All rights reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- *
- * Authors:
- * Kevin E. Martin <martin@valinux.com>
- * Gareth Hughes <gareth@valinux.com>
- * Keith Whitwell <keith@tungstengraphics.com>
- */
-
-#ifndef __RADEON_DRM_H__
-#define __RADEON_DRM_H__
-
-#include "drm.h"
-
-/* WARNING: If you change any of these defines, make sure to change the
- * defines in the X server file (radeon_sarea.h)
- */
-#ifndef __RADEON_SAREA_DEFINES__
-#define __RADEON_SAREA_DEFINES__
-
-/* Old style state flags, required for sarea interface (1.1 and 1.2
- * clears) and 1.2 drm_vertex2 ioctl.
- */
-#define RADEON_UPLOAD_CONTEXT 0x00000001
-#define RADEON_UPLOAD_VERTFMT 0x00000002
-#define RADEON_UPLOAD_LINE 0x00000004
-#define RADEON_UPLOAD_BUMPMAP 0x00000008
-#define RADEON_UPLOAD_MASKS 0x00000010
-#define RADEON_UPLOAD_VIEWPORT 0x00000020
-#define RADEON_UPLOAD_SETUP 0x00000040
-#define RADEON_UPLOAD_TCL 0x00000080
-#define RADEON_UPLOAD_MISC 0x00000100
-#define RADEON_UPLOAD_TEX0 0x00000200
-#define RADEON_UPLOAD_TEX1 0x00000400
-#define RADEON_UPLOAD_TEX2 0x00000800
-#define RADEON_UPLOAD_TEX0IMAGES 0x00001000
-#define RADEON_UPLOAD_TEX1IMAGES 0x00002000
-#define RADEON_UPLOAD_TEX2IMAGES 0x00004000
-#define RADEON_UPLOAD_CLIPRECTS 0x00008000 /* handled client-side */
-#define RADEON_REQUIRE_QUIESCENCE 0x00010000
-#define RADEON_UPLOAD_ZBIAS 0x00020000 /* version 1.2 and newer */
-#define RADEON_UPLOAD_ALL 0x003effff
-#define RADEON_UPLOAD_CONTEXT_ALL 0x003e01ff
-
-/* New style per-packet identifiers for use in cmd_buffer ioctl with
- * the RADEON_EMIT_PACKET command. Comments relate new packets to old
- * state bits and the packet size:
- */
-#define RADEON_EMIT_PP_MISC 0 /* context/7 */
-#define RADEON_EMIT_PP_CNTL 1 /* context/3 */
-#define RADEON_EMIT_RB3D_COLORPITCH 2 /* context/1 */
-#define RADEON_EMIT_RE_LINE_PATTERN 3 /* line/2 */
-#define RADEON_EMIT_SE_LINE_WIDTH 4 /* line/1 */
-#define RADEON_EMIT_PP_LUM_MATRIX 5 /* bumpmap/1 */
-#define RADEON_EMIT_PP_ROT_MATRIX_0 6 /* bumpmap/2 */
-#define RADEON_EMIT_RB3D_STENCILREFMASK 7 /* masks/3 */
-#define RADEON_EMIT_SE_VPORT_XSCALE 8 /* viewport/6 */
-#define RADEON_EMIT_SE_CNTL 9 /* setup/2 */
-#define RADEON_EMIT_SE_CNTL_STATUS 10 /* setup/1 */
-#define RADEON_EMIT_RE_MISC 11 /* misc/1 */
-#define RADEON_EMIT_PP_TXFILTER_0 12 /* tex0/6 */
-#define RADEON_EMIT_PP_BORDER_COLOR_0 13 /* tex0/1 */
-#define RADEON_EMIT_PP_TXFILTER_1 14 /* tex1/6 */
-#define RADEON_EMIT_PP_BORDER_COLOR_1 15 /* tex1/1 */
-#define RADEON_EMIT_PP_TXFILTER_2 16 /* tex2/6 */
-#define RADEON_EMIT_PP_BORDER_COLOR_2 17 /* tex2/1 */
-#define RADEON_EMIT_SE_ZBIAS_FACTOR 18 /* zbias/2 */
-#define RADEON_EMIT_SE_TCL_OUTPUT_VTX_FMT 19 /* tcl/11 */
-#define RADEON_EMIT_SE_TCL_MATERIAL_EMMISSIVE_RED 20 /* material/17 */
-#define R200_EMIT_PP_TXCBLEND_0 21 /* tex0/4 */
-#define R200_EMIT_PP_TXCBLEND_1 22 /* tex1/4 */
-#define R200_EMIT_PP_TXCBLEND_2 23 /* tex2/4 */
-#define R200_EMIT_PP_TXCBLEND_3 24 /* tex3/4 */
-#define R200_EMIT_PP_TXCBLEND_4 25 /* tex4/4 */
-#define R200_EMIT_PP_TXCBLEND_5 26 /* tex5/4 */
-#define R200_EMIT_PP_TXCBLEND_6 27 /* /4 */
-#define R200_EMIT_PP_TXCBLEND_7 28 /* /4 */
-#define R200_EMIT_TCL_LIGHT_MODEL_CTL_0 29 /* tcl/7 */
-#define R200_EMIT_TFACTOR_0 30 /* tf/7 */
-#define R200_EMIT_VTX_FMT_0 31 /* vtx/5 */
-#define R200_EMIT_VAP_CTL 32 /* vap/1 */
-#define R200_EMIT_MATRIX_SELECT_0 33 /* msl/5 */
-#define R200_EMIT_TEX_PROC_CTL_2 34 /* tcg/5 */
-#define R200_EMIT_TCL_UCP_VERT_BLEND_CTL 35 /* tcl/1 */
-#define R200_EMIT_PP_TXFILTER_0 36 /* tex0/6 */
-#define R200_EMIT_PP_TXFILTER_1 37 /* tex1/6 */
-#define R200_EMIT_PP_TXFILTER_2 38 /* tex2/6 */
-#define R200_EMIT_PP_TXFILTER_3 39 /* tex3/6 */
-#define R200_EMIT_PP_TXFILTER_4 40 /* tex4/6 */
-#define R200_EMIT_PP_TXFILTER_5 41 /* tex5/6 */
-#define R200_EMIT_PP_TXOFFSET_0 42 /* tex0/1 */
-#define R200_EMIT_PP_TXOFFSET_1 43 /* tex1/1 */
-#define R200_EMIT_PP_TXOFFSET_2 44 /* tex2/1 */
-#define R200_EMIT_PP_TXOFFSET_3 45 /* tex3/1 */
-#define R200_EMIT_PP_TXOFFSET_4 46 /* tex4/1 */
-#define R200_EMIT_PP_TXOFFSET_5 47 /* tex5/1 */
-#define R200_EMIT_VTE_CNTL 48 /* vte/1 */
-#define R200_EMIT_OUTPUT_VTX_COMP_SEL 49 /* vtx/1 */
-#define R200_EMIT_PP_TAM_DEBUG3 50 /* tam/1 */
-#define R200_EMIT_PP_CNTL_X 51 /* cst/1 */
-#define R200_EMIT_RB3D_DEPTHXY_OFFSET 52 /* cst/1 */
-#define R200_EMIT_RE_AUX_SCISSOR_CNTL 53 /* cst/1 */
-#define R200_EMIT_RE_SCISSOR_TL_0 54 /* cst/2 */
-#define R200_EMIT_RE_SCISSOR_TL_1 55 /* cst/2 */
-#define R200_EMIT_RE_SCISSOR_TL_2 56 /* cst/2 */
-#define R200_EMIT_SE_VAP_CNTL_STATUS 57 /* cst/1 */
-#define R200_EMIT_SE_VTX_STATE_CNTL 58 /* cst/1 */
-#define R200_EMIT_RE_POINTSIZE 59 /* cst/1 */
-#define R200_EMIT_TCL_INPUT_VTX_VECTOR_ADDR_0 60 /* cst/4 */
-#define R200_EMIT_PP_CUBIC_FACES_0 61
-#define R200_EMIT_PP_CUBIC_OFFSETS_0 62
-#define R200_EMIT_PP_CUBIC_FACES_1 63
-#define R200_EMIT_PP_CUBIC_OFFSETS_1 64
-#define R200_EMIT_PP_CUBIC_FACES_2 65
-#define R200_EMIT_PP_CUBIC_OFFSETS_2 66
-#define R200_EMIT_PP_CUBIC_FACES_3 67
-#define R200_EMIT_PP_CUBIC_OFFSETS_3 68
-#define R200_EMIT_PP_CUBIC_FACES_4 69
-#define R200_EMIT_PP_CUBIC_OFFSETS_4 70
-#define R200_EMIT_PP_CUBIC_FACES_5 71
-#define R200_EMIT_PP_CUBIC_OFFSETS_5 72
-#define RADEON_EMIT_PP_TEX_SIZE_0 73
-#define RADEON_EMIT_PP_TEX_SIZE_1 74
-#define RADEON_EMIT_PP_TEX_SIZE_2 75
-#define R200_EMIT_RB3D_BLENDCOLOR 76
-#define R200_EMIT_TCL_POINT_SPRITE_CNTL 77
-#define RADEON_EMIT_PP_CUBIC_FACES_0 78
-#define RADEON_EMIT_PP_CUBIC_OFFSETS_T0 79
-#define RADEON_EMIT_PP_CUBIC_FACES_1 80
-#define RADEON_EMIT_PP_CUBIC_OFFSETS_T1 81
-#define RADEON_EMIT_PP_CUBIC_FACES_2 82
-#define RADEON_EMIT_PP_CUBIC_OFFSETS_T2 83
-#define R200_EMIT_PP_TRI_PERF_CNTL 84
-#define R200_EMIT_PP_AFS_0 85
-#define R200_EMIT_PP_AFS_1 86
-#define R200_EMIT_ATF_TFACTOR 87
-#define R200_EMIT_PP_TXCTLALL_0 88
-#define R200_EMIT_PP_TXCTLALL_1 89
-#define R200_EMIT_PP_TXCTLALL_2 90
-#define R200_EMIT_PP_TXCTLALL_3 91
-#define R200_EMIT_PP_TXCTLALL_4 92
-#define R200_EMIT_PP_TXCTLALL_5 93
-#define R200_EMIT_VAP_PVS_CNTL 94
-#define RADEON_MAX_STATE_PACKETS 95
-
-/* Commands understood by cmd_buffer ioctl. More can be added but
- * obviously these can't be removed or changed:
- */
-#define RADEON_CMD_PACKET 1 /* emit one of the register packets above */
-#define RADEON_CMD_SCALARS 2 /* emit scalar data */
-#define RADEON_CMD_VECTORS 3 /* emit vector data */
-#define RADEON_CMD_DMA_DISCARD 4 /* discard current dma buf */
-#define RADEON_CMD_PACKET3 5 /* emit hw packet */
-#define RADEON_CMD_PACKET3_CLIP 6 /* emit hw packet wrapped in cliprects */
-#define RADEON_CMD_SCALARS2 7 /* r200 stopgap */
-#define RADEON_CMD_WAIT 8 /* emit hw wait commands -- note:
- * doesn't make the cpu wait, just
- * the graphics hardware */
-#define RADEON_CMD_VECLINEAR 9 /* another r200 stopgap */
-
-typedef union {
- int i;
- struct {
- unsigned char cmd_type, pad0, pad1, pad2;
- } header;
- struct {
- unsigned char cmd_type, packet_id, pad0, pad1;
- } packet;
- struct {
- unsigned char cmd_type, offset, stride, count;
- } scalars;
- struct {
- unsigned char cmd_type, offset, stride, count;
- } vectors;
- struct {
- unsigned char cmd_type, addr_lo, addr_hi, count;
- } veclinear;
- struct {
- unsigned char cmd_type, buf_idx, pad0, pad1;
- } dma;
- struct {
- unsigned char cmd_type, flags, pad0, pad1;
- } wait;
-} drm_radeon_cmd_header_t;
-
-#define RADEON_WAIT_2D 0x1
-#define RADEON_WAIT_3D 0x2
-
-/* Allowed parameters for R300_CMD_PACKET3
- */
-#define R300_CMD_PACKET3_CLEAR 0
-#define R300_CMD_PACKET3_RAW 1
-
-/* Commands understood by cmd_buffer ioctl for R300.
- * The interface has not been stabilized, so some of these may be removed
- * and eventually reordered before stabilization.
- */
-#define R300_CMD_PACKET0 1
-#define R300_CMD_VPU 2 /* emit vertex program upload */
-#define R300_CMD_PACKET3 3 /* emit a packet3 */
-#define R300_CMD_END3D 4 /* emit sequence ending 3d rendering */
-#define R300_CMD_CP_DELAY 5
-#define R300_CMD_DMA_DISCARD 6
-#define R300_CMD_WAIT 7
-# define R300_WAIT_2D 0x1
-# define R300_WAIT_3D 0x2
-/* these two defines are DOING IT WRONG - however
- * we have userspace which relies on using these.
- * The wait interface is backwards compat new
- * code should use the NEW_WAIT defines below
- * THESE ARE NOT BIT FIELDS
- */
-# define R300_WAIT_2D_CLEAN 0x3
-# define R300_WAIT_3D_CLEAN 0x4
-
-# define R300_NEW_WAIT_2D_3D 0x3
-# define R300_NEW_WAIT_2D_2D_CLEAN 0x4
-# define R300_NEW_WAIT_3D_3D_CLEAN 0x6
-# define R300_NEW_WAIT_2D_2D_CLEAN_3D_3D_CLEAN 0x8
-
-#define R300_CMD_SCRATCH 8
-#define R300_CMD_R500FP 9
-
-typedef union {
- unsigned int u;
- struct {
- unsigned char cmd_type, pad0, pad1, pad2;
- } header;
- struct {
- unsigned char cmd_type, count, reglo, reghi;
- } packet0;
- struct {
- unsigned char cmd_type, count, adrlo, adrhi;
- } vpu;
- struct {
- unsigned char cmd_type, packet, pad0, pad1;
- } packet3;
- struct {
- unsigned char cmd_type, packet;
- unsigned short count; /* amount of packet2 to emit */
- } delay;
- struct {
- unsigned char cmd_type, buf_idx, pad0, pad1;
- } dma;
- struct {
- unsigned char cmd_type, flags, pad0, pad1;
- } wait;
- struct {
- unsigned char cmd_type, reg, n_bufs, flags;
- } scratch;
- struct {
- unsigned char cmd_type, count, adrlo, adrhi_flags;
- } r500fp;
-} drm_r300_cmd_header_t;
-
-#define RADEON_FRONT 0x1
-#define RADEON_BACK 0x2
-#define RADEON_DEPTH 0x4
-#define RADEON_STENCIL 0x8
-#define RADEON_CLEAR_FASTZ 0x80000000
-#define RADEON_USE_HIERZ 0x40000000
-#define RADEON_USE_COMP_ZBUF 0x20000000
-
-#define R500FP_CONSTANT_TYPE (1 << 1)
-#define R500FP_CONSTANT_CLAMP (1 << 2)
-
-/* Primitive types
- */
-#define RADEON_POINTS 0x1
-#define RADEON_LINES 0x2
-#define RADEON_LINE_STRIP 0x3
-#define RADEON_TRIANGLES 0x4
-#define RADEON_TRIANGLE_FAN 0x5
-#define RADEON_TRIANGLE_STRIP 0x6
-
-/* Vertex/indirect buffer size
- */
-#define RADEON_BUFFER_SIZE 65536
-
-/* Byte offsets for indirect buffer data
- */
-#define RADEON_INDEX_PRIM_OFFSET 20
-
-#define RADEON_SCRATCH_REG_OFFSET 32
-
-#define R600_SCRATCH_REG_OFFSET 256
-
-#define RADEON_NR_SAREA_CLIPRECTS 12
-
-/* There are 2 heaps (local/GART). Each region within a heap is a
- * minimum of 64k, and there are at most 64 of them per heap.
- */
-#define RADEON_LOCAL_TEX_HEAP 0
-#define RADEON_GART_TEX_HEAP 1
-#define RADEON_NR_TEX_HEAPS 2
-#define RADEON_NR_TEX_REGIONS 64
-#define RADEON_LOG_TEX_GRANULARITY 16
-
-#define RADEON_MAX_TEXTURE_LEVELS 12
-#define RADEON_MAX_TEXTURE_UNITS 3
-
-#define RADEON_MAX_SURFACES 8
-
-/* Blits have strict offset rules. All blit offset must be aligned on
- * a 1K-byte boundary.
- */
-#define RADEON_OFFSET_SHIFT 10
-#define RADEON_OFFSET_ALIGN (1 << RADEON_OFFSET_SHIFT)
-#define RADEON_OFFSET_MASK (RADEON_OFFSET_ALIGN - 1)
-
-#endif /* __RADEON_SAREA_DEFINES__ */
-
-typedef struct {
- unsigned int red;
- unsigned int green;
- unsigned int blue;
- unsigned int alpha;
-} radeon_color_regs_t;
-
-typedef struct {
- /* Context state */
- unsigned int pp_misc; /* 0x1c14 */
- unsigned int pp_fog_color;
- unsigned int re_solid_color;
- unsigned int rb3d_blendcntl;
- unsigned int rb3d_depthoffset;
- unsigned int rb3d_depthpitch;
- unsigned int rb3d_zstencilcntl;
-
- unsigned int pp_cntl; /* 0x1c38 */
- unsigned int rb3d_cntl;
- unsigned int rb3d_coloroffset;
- unsigned int re_width_height;
- unsigned int rb3d_colorpitch;
- unsigned int se_cntl;
-
- /* Vertex format state */
- unsigned int se_coord_fmt; /* 0x1c50 */
-
- /* Line state */
- unsigned int re_line_pattern; /* 0x1cd0 */
- unsigned int re_line_state;
-
- unsigned int se_line_width; /* 0x1db8 */
-
- /* Bumpmap state */
- unsigned int pp_lum_matrix; /* 0x1d00 */
-
- unsigned int pp_rot_matrix_0; /* 0x1d58 */
- unsigned int pp_rot_matrix_1;
-
- /* Mask state */
- unsigned int rb3d_stencilrefmask; /* 0x1d7c */
- unsigned int rb3d_ropcntl;
- unsigned int rb3d_planemask;
-
- /* Viewport state */
- unsigned int se_vport_xscale; /* 0x1d98 */
- unsigned int se_vport_xoffset;
- unsigned int se_vport_yscale;
- unsigned int se_vport_yoffset;
- unsigned int se_vport_zscale;
- unsigned int se_vport_zoffset;
-
- /* Setup state */
- unsigned int se_cntl_status; /* 0x2140 */
-
- /* Misc state */
- unsigned int re_top_left; /* 0x26c0 */
- unsigned int re_misc;
-} drm_radeon_context_regs_t;
-
-typedef struct {
- /* Zbias state */
- unsigned int se_zbias_factor; /* 0x1dac */
- unsigned int se_zbias_constant;
-} drm_radeon_context2_regs_t;
-
-/* Setup registers for each texture unit
- */
-typedef struct {
- unsigned int pp_txfilter;
- unsigned int pp_txformat;
- unsigned int pp_txoffset;
- unsigned int pp_txcblend;
- unsigned int pp_txablend;
- unsigned int pp_tfactor;
- unsigned int pp_border_color;
-} drm_radeon_texture_regs_t;
-
-typedef struct {
- unsigned int start;
- unsigned int finish;
- unsigned int prim:8;
- unsigned int stateidx:8;
- unsigned int numverts:16; /* overloaded as offset/64 for elt prims */
- unsigned int vc_format; /* vertex format */
-} drm_radeon_prim_t;
-
-typedef struct {
- drm_radeon_context_regs_t context;
- drm_radeon_texture_regs_t tex[RADEON_MAX_TEXTURE_UNITS];
- drm_radeon_context2_regs_t context2;
- unsigned int dirty;
-} drm_radeon_state_t;
-
-typedef struct {
- /* The channel for communication of state information to the
- * kernel on firing a vertex buffer with either of the
- * obsoleted vertex/index ioctls.
- */
- drm_radeon_context_regs_t context_state;
- drm_radeon_texture_regs_t tex_state[RADEON_MAX_TEXTURE_UNITS];
- unsigned int dirty;
- unsigned int vertsize;
- unsigned int vc_format;
-
- /* The current cliprects, or a subset thereof.
- */
- struct drm_clip_rect boxes[RADEON_NR_SAREA_CLIPRECTS];
- unsigned int nbox;
-
- /* Counters for client-side throttling of rendering clients.
- */
- unsigned int last_frame;
- unsigned int last_dispatch;
- unsigned int last_clear;
-
- struct drm_tex_region tex_list[RADEON_NR_TEX_HEAPS][RADEON_NR_TEX_REGIONS +
- 1];
- unsigned int tex_age[RADEON_NR_TEX_HEAPS];
- int ctx_owner;
- int pfState; /* number of 3d windows (0,1,2ormore) */
- int pfCurrentPage; /* which buffer is being displayed? */
- int crtc2_base; /* CRTC2 frame offset */
- int tiling_enabled; /* set by drm, read by 2d + 3d clients */
-} drm_radeon_sarea_t;
-
-/* WARNING: If you change any of these defines, make sure to change the
- * defines in the Xserver file (xf86drmRadeon.h)
- *
- * KW: actually it's illegal to change any of this (backwards compatibility).
- */
-
-/* Radeon specific ioctls
- * The device specific ioctl range is 0x40 to 0x79.
- */
-#define DRM_RADEON_CP_INIT 0x00
-#define DRM_RADEON_CP_START 0x01
-#define DRM_RADEON_CP_STOP 0x02
-#define DRM_RADEON_CP_RESET 0x03
-#define DRM_RADEON_CP_IDLE 0x04
-#define DRM_RADEON_RESET 0x05
-#define DRM_RADEON_FULLSCREEN 0x06
-#define DRM_RADEON_SWAP 0x07
-#define DRM_RADEON_CLEAR 0x08
-#define DRM_RADEON_VERTEX 0x09
-#define DRM_RADEON_INDICES 0x0A
-#define DRM_RADEON_NOT_USED
-#define DRM_RADEON_STIPPLE 0x0C
-#define DRM_RADEON_INDIRECT 0x0D
-#define DRM_RADEON_TEXTURE 0x0E
-#define DRM_RADEON_VERTEX2 0x0F
-#define DRM_RADEON_CMDBUF 0x10
-#define DRM_RADEON_GETPARAM 0x11
-#define DRM_RADEON_FLIP 0x12
-#define DRM_RADEON_ALLOC 0x13
-#define DRM_RADEON_FREE 0x14
-#define DRM_RADEON_INIT_HEAP 0x15
-#define DRM_RADEON_IRQ_EMIT 0x16
-#define DRM_RADEON_IRQ_WAIT 0x17
-#define DRM_RADEON_CP_RESUME 0x18
-#define DRM_RADEON_SETPARAM 0x19
-#define DRM_RADEON_SURF_ALLOC 0x1a
-#define DRM_RADEON_SURF_FREE 0x1b
-/* KMS ioctl */
-#define DRM_RADEON_GEM_INFO 0x1c
-#define DRM_RADEON_GEM_CREATE 0x1d
-#define DRM_RADEON_GEM_MMAP 0x1e
-#define DRM_RADEON_GEM_PREAD 0x21
-#define DRM_RADEON_GEM_PWRITE 0x22
-#define DRM_RADEON_GEM_SET_DOMAIN 0x23
-#define DRM_RADEON_GEM_WAIT_IDLE 0x24
-#define DRM_RADEON_CS 0x26
-#define DRM_RADEON_INFO 0x27
-#define DRM_RADEON_GEM_SET_TILING 0x28
-#define DRM_RADEON_GEM_GET_TILING 0x29
-#define DRM_RADEON_GEM_BUSY 0x2a
-#define DRM_RADEON_GEM_VA 0x2b
-#define DRM_RADEON_GEM_OP 0x2c
-#define DRM_RADEON_GEM_USERPTR 0x2d
-
-#define DRM_IOCTL_RADEON_CP_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_INIT, drm_radeon_init_t)
-#define DRM_IOCTL_RADEON_CP_START DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_START)
-#define DRM_IOCTL_RADEON_CP_STOP DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CP_STOP, drm_radeon_cp_stop_t)
-#define DRM_IOCTL_RADEON_CP_RESET DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_RESET)
-#define DRM_IOCTL_RADEON_CP_IDLE DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_IDLE)
-#define DRM_IOCTL_RADEON_RESET DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_RESET)
-#define DRM_IOCTL_RADEON_FULLSCREEN DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_FULLSCREEN, drm_radeon_fullscreen_t)
-#define DRM_IOCTL_RADEON_SWAP DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_SWAP)
-#define DRM_IOCTL_RADEON_CLEAR DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CLEAR, drm_radeon_clear_t)
-#define DRM_IOCTL_RADEON_VERTEX DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_VERTEX, drm_radeon_vertex_t)
-#define DRM_IOCTL_RADEON_INDICES DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_INDICES, drm_radeon_indices_t)
-#define DRM_IOCTL_RADEON_STIPPLE DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_STIPPLE, drm_radeon_stipple_t)
-#define DRM_IOCTL_RADEON_INDIRECT DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_INDIRECT, drm_radeon_indirect_t)
-#define DRM_IOCTL_RADEON_TEXTURE DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_TEXTURE, drm_radeon_texture_t)
-#define DRM_IOCTL_RADEON_VERTEX2 DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_VERTEX2, drm_radeon_vertex2_t)
-#define DRM_IOCTL_RADEON_CMDBUF DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_CMDBUF, drm_radeon_cmd_buffer_t)
-#define DRM_IOCTL_RADEON_GETPARAM DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GETPARAM, drm_radeon_getparam_t)
-#define DRM_IOCTL_RADEON_FLIP DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_FLIP)
-#define DRM_IOCTL_RADEON_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_ALLOC, drm_radeon_mem_alloc_t)
-#define DRM_IOCTL_RADEON_FREE DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_FREE, drm_radeon_mem_free_t)
-#define DRM_IOCTL_RADEON_INIT_HEAP DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_INIT_HEAP, drm_radeon_mem_init_heap_t)
-#define DRM_IOCTL_RADEON_IRQ_EMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_IRQ_EMIT, drm_radeon_irq_emit_t)
-#define DRM_IOCTL_RADEON_IRQ_WAIT DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_IRQ_WAIT, drm_radeon_irq_wait_t)
-#define DRM_IOCTL_RADEON_CP_RESUME DRM_IO( DRM_COMMAND_BASE + DRM_RADEON_CP_RESUME)
-#define DRM_IOCTL_RADEON_SETPARAM DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SETPARAM, drm_radeon_setparam_t)
-#define DRM_IOCTL_RADEON_SURF_ALLOC DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SURF_ALLOC, drm_radeon_surface_alloc_t)
-#define DRM_IOCTL_RADEON_SURF_FREE DRM_IOW( DRM_COMMAND_BASE + DRM_RADEON_SURF_FREE, drm_radeon_surface_free_t)
-/* KMS */
-#define DRM_IOCTL_RADEON_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_INFO, struct drm_radeon_gem_info)
-#define DRM_IOCTL_RADEON_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_CREATE, struct drm_radeon_gem_create)
-#define DRM_IOCTL_RADEON_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_MMAP, struct drm_radeon_gem_mmap)
-#define DRM_IOCTL_RADEON_GEM_PREAD DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_PREAD, struct drm_radeon_gem_pread)
-#define DRM_IOCTL_RADEON_GEM_PWRITE DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_PWRITE, struct drm_radeon_gem_pwrite)
-#define DRM_IOCTL_RADEON_GEM_SET_DOMAIN DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_SET_DOMAIN, struct drm_radeon_gem_set_domain)
-#define DRM_IOCTL_RADEON_GEM_WAIT_IDLE DRM_IOW(DRM_COMMAND_BASE + DRM_RADEON_GEM_WAIT_IDLE, struct drm_radeon_gem_wait_idle)
-#define DRM_IOCTL_RADEON_CS DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_CS, struct drm_radeon_cs)
-#define DRM_IOCTL_RADEON_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_INFO, struct drm_radeon_info)
-#define DRM_IOCTL_RADEON_GEM_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_SET_TILING, struct drm_radeon_gem_set_tiling)
-#define DRM_IOCTL_RADEON_GEM_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_GET_TILING, struct drm_radeon_gem_get_tiling)
-#define DRM_IOCTL_RADEON_GEM_BUSY DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_BUSY, struct drm_radeon_gem_busy)
-#define DRM_IOCTL_RADEON_GEM_VA DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_VA, struct drm_radeon_gem_va)
-#define DRM_IOCTL_RADEON_GEM_OP DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_OP, struct drm_radeon_gem_op)
-#define DRM_IOCTL_RADEON_GEM_USERPTR DRM_IOWR(DRM_COMMAND_BASE + DRM_RADEON_GEM_USERPTR, struct drm_radeon_gem_userptr)
-
-typedef struct drm_radeon_init {
- enum {
- RADEON_INIT_CP = 0x01,
- RADEON_CLEANUP_CP = 0x02,
- RADEON_INIT_R200_CP = 0x03,
- RADEON_INIT_R300_CP = 0x04,
- RADEON_INIT_R600_CP = 0x05
- } func;
- unsigned long sarea_priv_offset;
- int is_pci;
- int cp_mode;
- int gart_size;
- int ring_size;
- int usec_timeout;
-
- unsigned int fb_bpp;
- unsigned int front_offset, front_pitch;
- unsigned int back_offset, back_pitch;
- unsigned int depth_bpp;
- unsigned int depth_offset, depth_pitch;
-
- unsigned long fb_offset;
- unsigned long mmio_offset;
- unsigned long ring_offset;
- unsigned long ring_rptr_offset;
- unsigned long buffers_offset;
- unsigned long gart_textures_offset;
-} drm_radeon_init_t;
-
-typedef struct drm_radeon_cp_stop {
- int flush;
- int idle;
-} drm_radeon_cp_stop_t;
-
-typedef struct drm_radeon_fullscreen {
- enum {
- RADEON_INIT_FULLSCREEN = 0x01,
- RADEON_CLEANUP_FULLSCREEN = 0x02
- } func;
-} drm_radeon_fullscreen_t;
-
-#define CLEAR_X1 0
-#define CLEAR_Y1 1
-#define CLEAR_X2 2
-#define CLEAR_Y2 3
-#define CLEAR_DEPTH 4
-
-typedef union drm_radeon_clear_rect {
- float f[5];
- unsigned int ui[5];
-} drm_radeon_clear_rect_t;
-
-typedef struct drm_radeon_clear {
- unsigned int flags;
- unsigned int clear_color;
- unsigned int clear_depth;
- unsigned int color_mask;
- unsigned int depth_mask; /* misnamed field: should be stencil */
- drm_radeon_clear_rect_t *depth_boxes;
-} drm_radeon_clear_t;
-
-typedef struct drm_radeon_vertex {
- int prim;
- int idx; /* Index of vertex buffer */
- int count; /* Number of vertices in buffer */
- int discard; /* Client finished with buffer? */
-} drm_radeon_vertex_t;
-
-typedef struct drm_radeon_indices {
- int prim;
- int idx;
- int start;
- int end;
- int discard; /* Client finished with buffer? */
-} drm_radeon_indices_t;
-
-/* v1.2 - obsoletes drm_radeon_vertex and drm_radeon_indices
- * - allows multiple primitives and state changes in a single ioctl
- * - supports driver change to emit native primitives
- */
-typedef struct drm_radeon_vertex2 {
- int idx; /* Index of vertex buffer */
- int discard; /* Client finished with buffer? */
- int nr_states;
- drm_radeon_state_t *state;
- int nr_prims;
- drm_radeon_prim_t *prim;
-} drm_radeon_vertex2_t;
-
-/* v1.3 - obsoletes drm_radeon_vertex2
- * - allows arbitrarily large cliprect list
- * - allows updating of tcl packet, vector and scalar state
- * - allows memory-efficient description of state updates
- * - allows state to be emitted without a primitive
- * (for clears, ctx switches)
- * - allows more than one dma buffer to be referenced per ioctl
- * - supports tcl driver
- * - may be extended in future versions with new cmd types, packets
- */
-typedef struct drm_radeon_cmd_buffer {
- int bufsz;
- char *buf;
- int nbox;
- struct drm_clip_rect *boxes;
-} drm_radeon_cmd_buffer_t;
-
-typedef struct drm_radeon_tex_image {
- unsigned int x, y; /* Blit coordinates */
- unsigned int width, height;
- const void *data;
-} drm_radeon_tex_image_t;
-
-typedef struct drm_radeon_texture {
- unsigned int offset;
- int pitch;
- int format;
- int width; /* Texture image coordinates */
- int height;
- drm_radeon_tex_image_t *image;
-} drm_radeon_texture_t;
-
-typedef struct drm_radeon_stipple {
- unsigned int *mask;
-} drm_radeon_stipple_t;
-
-typedef struct drm_radeon_indirect {
- int idx;
- int start;
- int end;
- int discard;
-} drm_radeon_indirect_t;
-
-/* enum for card type parameters */
-#define RADEON_CARD_PCI 0
-#define RADEON_CARD_AGP 1
-#define RADEON_CARD_PCIE 2
-
-/* 1.3: An ioctl to get parameters that aren't available to the 3d
- * client any other way.
- */
-#define RADEON_PARAM_GART_BUFFER_OFFSET 1 /* card offset of 1st GART buffer */
-#define RADEON_PARAM_LAST_FRAME 2
-#define RADEON_PARAM_LAST_DISPATCH 3
-#define RADEON_PARAM_LAST_CLEAR 4
-/* Added with DRM version 1.6. */
-#define RADEON_PARAM_IRQ_NR 5
-#define RADEON_PARAM_GART_BASE 6 /* card offset of GART base */
-/* Added with DRM version 1.8. */
-#define RADEON_PARAM_REGISTER_HANDLE 7 /* for drmMap() */
-#define RADEON_PARAM_STATUS_HANDLE 8
-#define RADEON_PARAM_SAREA_HANDLE 9
-#define RADEON_PARAM_GART_TEX_HANDLE 10
-#define RADEON_PARAM_SCRATCH_OFFSET 11
-#define RADEON_PARAM_CARD_TYPE 12
-#define RADEON_PARAM_VBLANK_CRTC 13 /* VBLANK CRTC */
-#define RADEON_PARAM_FB_LOCATION 14 /* FB location */
-#define RADEON_PARAM_NUM_GB_PIPES 15 /* num GB pipes */
-#define RADEON_PARAM_DEVICE_ID 16
-#define RADEON_PARAM_NUM_Z_PIPES 17 /* num Z pipes */
-
-typedef struct drm_radeon_getparam {
- int param;
- void *value;
-} drm_radeon_getparam_t;
-
-/* 1.6: Set up a memory manager for regions of shared memory:
- */
-#define RADEON_MEM_REGION_GART 1
-#define RADEON_MEM_REGION_FB 2
-
-typedef struct drm_radeon_mem_alloc {
- int region;
- int alignment;
- int size;
- int *region_offset; /* offset from start of fb or GART */
-} drm_radeon_mem_alloc_t;
-
-typedef struct drm_radeon_mem_free {
- int region;
- int region_offset;
-} drm_radeon_mem_free_t;
-
-typedef struct drm_radeon_mem_init_heap {
- int region;
- int size;
- int start;
-} drm_radeon_mem_init_heap_t;
-
-/* 1.6: Userspace can request & wait on irq's:
- */
-typedef struct drm_radeon_irq_emit {
- int *irq_seq;
-} drm_radeon_irq_emit_t;
-
-typedef struct drm_radeon_irq_wait {
- int irq_seq;
-} drm_radeon_irq_wait_t;
-
-/* 1.10: Clients tell the DRM where they think the framebuffer is located in
- * the card's address space, via a new generic ioctl to set parameters
- */
-
-typedef struct drm_radeon_setparam {
- unsigned int param;
- __s64 value;
-} drm_radeon_setparam_t;
-
-#define RADEON_SETPARAM_FB_LOCATION 1 /* determined framebuffer location */
-#define RADEON_SETPARAM_SWITCH_TILING 2 /* enable/disable color tiling */
-#define RADEON_SETPARAM_PCIGART_LOCATION 3 /* PCI Gart Location */
-#define RADEON_SETPARAM_NEW_MEMMAP 4 /* Use new memory map */
-#define RADEON_SETPARAM_PCIGART_TABLE_SIZE 5 /* PCI GART Table Size */
-#define RADEON_SETPARAM_VBLANK_CRTC 6 /* VBLANK CRTC */
-/* 1.14: Clients can allocate/free a surface
- */
-typedef struct drm_radeon_surface_alloc {
- unsigned int address;
- unsigned int size;
- unsigned int flags;
-} drm_radeon_surface_alloc_t;
-
-typedef struct drm_radeon_surface_free {
- unsigned int address;
-} drm_radeon_surface_free_t;
-
-#define DRM_RADEON_VBLANK_CRTC1 1
-#define DRM_RADEON_VBLANK_CRTC2 2
-
-/*
- * Kernel modesetting world below.
- */
-#define RADEON_GEM_DOMAIN_CPU 0x1
-#define RADEON_GEM_DOMAIN_GTT 0x2
-#define RADEON_GEM_DOMAIN_VRAM 0x4
-
-struct drm_radeon_gem_info {
- __u64 gart_size;
- __u64 vram_size;
- __u64 vram_visible;
-};
-
-#define RADEON_GEM_NO_BACKING_STORE (1 << 0)
-#define RADEON_GEM_GTT_UC (1 << 1)
-#define RADEON_GEM_GTT_WC (1 << 2)
-/* BO is expected to be accessed by the CPU */
-#define RADEON_GEM_CPU_ACCESS (1 << 3)
-/* CPU access is not expected to work for this BO */
-#define RADEON_GEM_NO_CPU_ACCESS (1 << 4)
-
-struct drm_radeon_gem_create {
- __u64 size;
- __u64 alignment;
- __u32 handle;
- __u32 initial_domain;
- __u32 flags;
-};
-
-/*
- * This is not a reliable API and you should expect it to fail for any
- * number of reasons and have fallback path that do not use userptr to
- * perform any operation.
- */
-#define RADEON_GEM_USERPTR_READONLY (1 << 0)
-#define RADEON_GEM_USERPTR_ANONONLY (1 << 1)
-#define RADEON_GEM_USERPTR_VALIDATE (1 << 2)
-#define RADEON_GEM_USERPTR_REGISTER (1 << 3)
-
-struct drm_radeon_gem_userptr {
- __u64 addr;
- __u64 size;
- __u32 flags;
- __u32 handle;
-};
-
-#define RADEON_TILING_MACRO 0x1
-#define RADEON_TILING_MICRO 0x2
-#define RADEON_TILING_SWAP_16BIT 0x4
-#define RADEON_TILING_SWAP_32BIT 0x8
-/* this object requires a surface when mapped - i.e. front buffer */
-#define RADEON_TILING_SURFACE 0x10
-#define RADEON_TILING_MICRO_SQUARE 0x20
-#define RADEON_TILING_EG_BANKW_SHIFT 8
-#define RADEON_TILING_EG_BANKW_MASK 0xf
-#define RADEON_TILING_EG_BANKH_SHIFT 12
-#define RADEON_TILING_EG_BANKH_MASK 0xf
-#define RADEON_TILING_EG_MACRO_TILE_ASPECT_SHIFT 16
-#define RADEON_TILING_EG_MACRO_TILE_ASPECT_MASK 0xf
-#define RADEON_TILING_EG_TILE_SPLIT_SHIFT 24
-#define RADEON_TILING_EG_TILE_SPLIT_MASK 0xf
-#define RADEON_TILING_EG_STENCIL_TILE_SPLIT_SHIFT 28
-#define RADEON_TILING_EG_STENCIL_TILE_SPLIT_MASK 0xf
-
-struct drm_radeon_gem_set_tiling {
- __u32 handle;
- __u32 tiling_flags;
- __u32 pitch;
-};
-
-struct drm_radeon_gem_get_tiling {
- __u32 handle;
- __u32 tiling_flags;
- __u32 pitch;
-};
-
-struct drm_radeon_gem_mmap {
- __u32 handle;
- __u32 pad;
- __u64 offset;
- __u64 size;
- __u64 addr_ptr;
-};
-
-struct drm_radeon_gem_set_domain {
- __u32 handle;
- __u32 read_domains;
- __u32 write_domain;
-};
-
-struct drm_radeon_gem_wait_idle {
- __u32 handle;
- __u32 pad;
-};
-
-struct drm_radeon_gem_busy {
- __u32 handle;
- __u32 domain;
-};
-
-struct drm_radeon_gem_pread {
- /** Handle for the object being read. */
- __u32 handle;
- __u32 pad;
- /** Offset into the object to read from */
- __u64 offset;
- /** Length of data to read */
- __u64 size;
- /** Pointer to write the data into. */
- /* void *, but pointers are not 32/64 compatible */
- __u64 data_ptr;
-};
-
-struct drm_radeon_gem_pwrite {
- /** Handle for the object being written to. */
- __u32 handle;
- __u32 pad;
- /** Offset into the object to write to */
- __u64 offset;
- /** Length of data to write */
- __u64 size;
- /** Pointer to read the data from. */
- /* void *, but pointers are not 32/64 compatible */
- __u64 data_ptr;
-};
-
-/* Sets or returns a value associated with a buffer. */
-struct drm_radeon_gem_op {
- __u32 handle; /* buffer */
- __u32 op; /* RADEON_GEM_OP_* */
- __u64 value; /* input or return value */
-};
-
-#define RADEON_GEM_OP_GET_INITIAL_DOMAIN 0
-#define RADEON_GEM_OP_SET_INITIAL_DOMAIN 1
-
-#define RADEON_VA_MAP 1
-#define RADEON_VA_UNMAP 2
-
-#define RADEON_VA_RESULT_OK 0
-#define RADEON_VA_RESULT_ERROR 1
-#define RADEON_VA_RESULT_VA_EXIST 2
-
-#define RADEON_VM_PAGE_VALID (1 << 0)
-#define RADEON_VM_PAGE_READABLE (1 << 1)
-#define RADEON_VM_PAGE_WRITEABLE (1 << 2)
-#define RADEON_VM_PAGE_SYSTEM (1 << 3)
-#define RADEON_VM_PAGE_SNOOPED (1 << 4)
-
-struct drm_radeon_gem_va {
- __u32 handle;
- __u32 operation;
- __u32 vm_id;
- __u32 flags;
- __u64 offset;
-};
-
-#define RADEON_CHUNK_ID_RELOCS 0x01
-#define RADEON_CHUNK_ID_IB 0x02
-#define RADEON_CHUNK_ID_FLAGS 0x03
-#define RADEON_CHUNK_ID_CONST_IB 0x04
-
-/* The first dword of RADEON_CHUNK_ID_FLAGS is a uint32 of these flags: */
-#define RADEON_CS_KEEP_TILING_FLAGS 0x01
-#define RADEON_CS_USE_VM 0x02
-#define RADEON_CS_END_OF_FRAME 0x04 /* a hint from userspace which CS is the last one */
-/* The second dword of RADEON_CHUNK_ID_FLAGS is a uint32 that sets the ring type */
-#define RADEON_CS_RING_GFX 0
-#define RADEON_CS_RING_COMPUTE 1
-#define RADEON_CS_RING_DMA 2
-#define RADEON_CS_RING_UVD 3
-#define RADEON_CS_RING_VCE 4
-/* The third dword of RADEON_CHUNK_ID_FLAGS is a sint32 that sets the priority */
-/* 0 = normal, + = higher priority, - = lower priority */
-
-struct drm_radeon_cs_chunk {
- __u32 chunk_id;
- __u32 length_dw;
- __u64 chunk_data;
-};
-
-/* drm_radeon_cs_reloc.flags */
-#define RADEON_RELOC_PRIO_MASK (0xf << 0)
-
-struct drm_radeon_cs_reloc {
- __u32 handle;
- __u32 read_domains;
- __u32 write_domain;
- __u32 flags;
-};
-
-struct drm_radeon_cs {
- __u32 num_chunks;
- __u32 cs_id;
- /* this points to __u64 * which point to cs chunks */
- __u64 chunks;
- /* updates to the limits after this CS ioctl */
- __u64 gart_limit;
- __u64 vram_limit;
-};
-
-#define RADEON_INFO_DEVICE_ID 0x00
-#define RADEON_INFO_NUM_GB_PIPES 0x01
-#define RADEON_INFO_NUM_Z_PIPES 0x02
-#define RADEON_INFO_ACCEL_WORKING 0x03
-#define RADEON_INFO_CRTC_FROM_ID 0x04
-#define RADEON_INFO_ACCEL_WORKING2 0x05
-#define RADEON_INFO_TILING_CONFIG 0x06
-#define RADEON_INFO_WANT_HYPERZ 0x07
-#define RADEON_INFO_WANT_CMASK 0x08 /* get access to CMASK on r300 */
-#define RADEON_INFO_CLOCK_CRYSTAL_FREQ 0x09 /* clock crystal frequency */
-#define RADEON_INFO_NUM_BACKENDS 0x0a /* DB/backends for r600+ - need for OQ */
-#define RADEON_INFO_NUM_TILE_PIPES 0x0b /* tile pipes for r600+ */
-#define RADEON_INFO_FUSION_GART_WORKING 0x0c /* fusion writes to GTT were broken before this */
-#define RADEON_INFO_BACKEND_MAP 0x0d /* pipe to backend map, needed by mesa */
-/* virtual address start, va < start are reserved by the kernel */
-#define RADEON_INFO_VA_START 0x0e
-/* maximum size of ib using the virtual memory cs */
-#define RADEON_INFO_IB_VM_MAX_SIZE 0x0f
-/* max pipes - needed for compute shaders */
-#define RADEON_INFO_MAX_PIPES 0x10
-/* timestamp for GL_ARB_timer_query (OpenGL), returns the current GPU clock */
-#define RADEON_INFO_TIMESTAMP 0x11
-/* max shader engines (SE) - needed for geometry shaders, etc. */
-#define RADEON_INFO_MAX_SE 0x12
-/* max SH per SE */
-#define RADEON_INFO_MAX_SH_PER_SE 0x13
-/* fast fb access is enabled */
-#define RADEON_INFO_FASTFB_WORKING 0x14
-/* query if a RADEON_CS_RING_* submission is supported */
-#define RADEON_INFO_RING_WORKING 0x15
-/* SI tile mode array */
-#define RADEON_INFO_SI_TILE_MODE_ARRAY 0x16
-/* query if CP DMA is supported on the compute ring */
-#define RADEON_INFO_SI_CP_DMA_COMPUTE 0x17
-/* CIK macrotile mode array */
-#define RADEON_INFO_CIK_MACROTILE_MODE_ARRAY 0x18
-/* query the number of render backends */
-#define RADEON_INFO_SI_BACKEND_ENABLED_MASK 0x19
-/* max engine clock - needed for OpenCL */
-#define RADEON_INFO_MAX_SCLK 0x1a
-/* version of VCE firmware */
-#define RADEON_INFO_VCE_FW_VERSION 0x1b
-/* version of VCE feedback */
-#define RADEON_INFO_VCE_FB_VERSION 0x1c
-#define RADEON_INFO_NUM_BYTES_MOVED 0x1d
-#define RADEON_INFO_VRAM_USAGE 0x1e
-#define RADEON_INFO_GTT_USAGE 0x1f
-#define RADEON_INFO_ACTIVE_CU_COUNT 0x20
-#define RADEON_INFO_CURRENT_GPU_TEMP 0x21
-#define RADEON_INFO_CURRENT_GPU_SCLK 0x22
-#define RADEON_INFO_CURRENT_GPU_MCLK 0x23
-#define RADEON_INFO_READ_REG 0x24
-#define RADEON_INFO_VA_UNMAP_WORKING 0x25
-#define RADEON_INFO_GPU_RESET_COUNTER 0x26
-
-struct drm_radeon_info {
- __u32 request;
- __u32 pad;
- __u64 value;
-};
-
-/* Those correspond to the tile index to use, this is to explicitly state
- * the API that is implicitly defined by the tile mode array.
- */
-#define SI_TILE_MODE_COLOR_LINEAR_ALIGNED 8
-#define SI_TILE_MODE_COLOR_1D 13
-#define SI_TILE_MODE_COLOR_1D_SCANOUT 9
-#define SI_TILE_MODE_COLOR_2D_8BPP 14
-#define SI_TILE_MODE_COLOR_2D_16BPP 15
-#define SI_TILE_MODE_COLOR_2D_32BPP 16
-#define SI_TILE_MODE_COLOR_2D_64BPP 17
-#define SI_TILE_MODE_COLOR_2D_SCANOUT_16BPP 11
-#define SI_TILE_MODE_COLOR_2D_SCANOUT_32BPP 12
-#define SI_TILE_MODE_DEPTH_STENCIL_1D 4
-#define SI_TILE_MODE_DEPTH_STENCIL_2D 0
-#define SI_TILE_MODE_DEPTH_STENCIL_2D_2AA 3
-#define SI_TILE_MODE_DEPTH_STENCIL_2D_4AA 3
-#define SI_TILE_MODE_DEPTH_STENCIL_2D_8AA 2
-
-#define CIK_TILE_MODE_DEPTH_STENCIL_1D 5
-
-#endif
diff --git a/linux-headers/include/drm/savage_drm.h b/linux-headers/include/drm/savage_drm.h
deleted file mode 100644
index 942c571..0000000
--- a/linux-headers/include/drm/savage_drm.h
+++ /dev/null
@@ -1,212 +0,0 @@
-/* savage_drm.h -- Public header for the savage driver
- *
- * Copyright 2004 Felix Kuehling
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sub license,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NON-INFRINGEMENT. IN NO EVENT SHALL FELIX KUEHLING BE LIABLE FOR
- * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF
- * CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
- * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef __SAVAGE_DRM_H__
-#define __SAVAGE_DRM_H__
-
-#include "drm.h"
-
-#ifndef __SAVAGE_SAREA_DEFINES__
-#define __SAVAGE_SAREA_DEFINES__
-
-/* 2 heaps (1 for card, 1 for agp), each divided into up to 128
- * regions, subject to a minimum region size of (1<<16) == 64k.
- *
- * Clients may subdivide regions internally, but when sharing between
- * clients, the region size is the minimum granularity.
- */
-
-#define SAVAGE_CARD_HEAP 0
-#define SAVAGE_AGP_HEAP 1
-#define SAVAGE_NR_TEX_HEAPS 2
-#define SAVAGE_NR_TEX_REGIONS 16
-#define SAVAGE_LOG_MIN_TEX_REGION_SIZE 16
-
-#endif /* __SAVAGE_SAREA_DEFINES__ */
-
-typedef struct _drm_savage_sarea {
- /* LRU lists for texture memory in agp space and on the card.
- */
- struct drm_tex_region texList[SAVAGE_NR_TEX_HEAPS][SAVAGE_NR_TEX_REGIONS +
- 1];
- unsigned int texAge[SAVAGE_NR_TEX_HEAPS];
-
- /* Mechanism to validate card state.
- */
- int ctxOwner;
-} drm_savage_sarea_t, *drm_savage_sarea_ptr;
-
-/* Savage-specific ioctls
- */
-#define DRM_SAVAGE_BCI_INIT 0x00
-#define DRM_SAVAGE_BCI_CMDBUF 0x01
-#define DRM_SAVAGE_BCI_EVENT_EMIT 0x02
-#define DRM_SAVAGE_BCI_EVENT_WAIT 0x03
-
-#define DRM_IOCTL_SAVAGE_BCI_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_SAVAGE_BCI_INIT, drm_savage_init_t)
-#define DRM_IOCTL_SAVAGE_BCI_CMDBUF DRM_IOW( DRM_COMMAND_BASE + DRM_SAVAGE_BCI_CMDBUF, drm_savage_cmdbuf_t)
-#define DRM_IOCTL_SAVAGE_BCI_EVENT_EMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_SAVAGE_BCI_EVENT_EMIT, drm_savage_event_emit_t)
-#define DRM_IOCTL_SAVAGE_BCI_EVENT_WAIT DRM_IOW( DRM_COMMAND_BASE + DRM_SAVAGE_BCI_EVENT_WAIT, drm_savage_event_wait_t)
-
-#define SAVAGE_DMA_PCI 1
-#define SAVAGE_DMA_AGP 3
-typedef struct drm_savage_init {
- enum {
- SAVAGE_INIT_BCI = 1,
- SAVAGE_CLEANUP_BCI = 2
- } func;
- unsigned int sarea_priv_offset;
-
- /* some parameters */
- unsigned int cob_size;
- unsigned int bci_threshold_lo, bci_threshold_hi;
- unsigned int dma_type;
-
- /* frame buffer layout */
- unsigned int fb_bpp;
- unsigned int front_offset, front_pitch;
- unsigned int back_offset, back_pitch;
- unsigned int depth_bpp;
- unsigned int depth_offset, depth_pitch;
-
- /* local textures */
- unsigned int texture_offset;
- unsigned int texture_size;
-
- /* physical locations of non-permanent maps */
- unsigned long status_offset;
- unsigned long buffers_offset;
- unsigned long agp_textures_offset;
- unsigned long cmd_dma_offset;
-} drm_savage_init_t;
-
-typedef union drm_savage_cmd_header drm_savage_cmd_header_t;
-typedef struct drm_savage_cmdbuf {
- /* command buffer in client's address space */
- drm_savage_cmd_header_t *cmd_addr;
- unsigned int size; /* size of the command buffer in 64bit units */
-
- unsigned int dma_idx; /* DMA buffer index to use */
- int discard; /* discard DMA buffer when done */
- /* vertex buffer in client's address space */
- unsigned int *vb_addr;
- unsigned int vb_size; /* size of client vertex buffer in bytes */
- unsigned int vb_stride; /* stride of vertices in 32bit words */
- /* boxes in client's address space */
- struct drm_clip_rect *box_addr;
- unsigned int nbox; /* number of clipping boxes */
-} drm_savage_cmdbuf_t;
-
-#define SAVAGE_WAIT_2D 0x1 /* wait for 2D idle before updating event tag */
-#define SAVAGE_WAIT_3D 0x2 /* wait for 3D idle before updating event tag */
-#define SAVAGE_WAIT_IRQ 0x4 /* emit or wait for IRQ, not implemented yet */
-typedef struct drm_savage_event {
- unsigned int count;
- unsigned int flags;
-} drm_savage_event_emit_t, drm_savage_event_wait_t;
-
-/* Commands for the cmdbuf ioctl
- */
-#define SAVAGE_CMD_STATE 0 /* a range of state registers */
-#define SAVAGE_CMD_DMA_PRIM 1 /* vertices from DMA buffer */
-#define SAVAGE_CMD_VB_PRIM 2 /* vertices from client vertex buffer */
-#define SAVAGE_CMD_DMA_IDX 3 /* indexed vertices from DMA buffer */
-#define SAVAGE_CMD_VB_IDX 4 /* indexed vertices client vertex buffer */
-#define SAVAGE_CMD_CLEAR 5 /* clear buffers */
-#define SAVAGE_CMD_SWAP 6 /* swap buffers */
-
-/* Primitive types
-*/
-#define SAVAGE_PRIM_TRILIST 0 /* triangle list */
-#define SAVAGE_PRIM_TRISTRIP 1 /* triangle strip */
-#define SAVAGE_PRIM_TRIFAN 2 /* triangle fan */
-#define SAVAGE_PRIM_TRILIST_201 3 /* reorder verts for correct flat
- * shading on s3d */
-
-/* Skip flags (vertex format)
- */
-#define SAVAGE_SKIP_Z 0x01
-#define SAVAGE_SKIP_W 0x02
-#define SAVAGE_SKIP_C0 0x04
-#define SAVAGE_SKIP_C1 0x08
-#define SAVAGE_SKIP_S0 0x10
-#define SAVAGE_SKIP_T0 0x20
-#define SAVAGE_SKIP_ST0 0x30
-#define SAVAGE_SKIP_S1 0x40
-#define SAVAGE_SKIP_T1 0x80
-#define SAVAGE_SKIP_ST1 0xc0
-#define SAVAGE_SKIP_ALL_S3D 0x3f
-#define SAVAGE_SKIP_ALL_S4 0xff
-
-/* Buffer names for clear command
- */
-#define SAVAGE_FRONT 0x1
-#define SAVAGE_BACK 0x2
-#define SAVAGE_DEPTH 0x4
-
-/* 64-bit command header
- */
-union drm_savage_cmd_header {
- struct {
- unsigned char cmd; /* command */
- unsigned char pad0;
- unsigned short pad1;
- unsigned short pad2;
- unsigned short pad3;
- } cmd; /* generic */
- struct {
- unsigned char cmd;
- unsigned char global; /* need idle engine? */
- unsigned short count; /* number of consecutive registers */
- unsigned short start; /* first register */
- unsigned short pad3;
- } state; /* SAVAGE_CMD_STATE */
- struct {
- unsigned char cmd;
- unsigned char prim; /* primitive type */
- unsigned short skip; /* vertex format (skip flags) */
- unsigned short count; /* number of vertices */
- unsigned short start; /* first vertex in DMA/vertex buffer */
- } prim; /* SAVAGE_CMD_DMA_PRIM, SAVAGE_CMD_VB_PRIM */
- struct {
- unsigned char cmd;
- unsigned char prim;
- unsigned short skip;
- unsigned short count; /* number of indices that follow */
- unsigned short pad3;
- } idx; /* SAVAGE_CMD_DMA_IDX, SAVAGE_CMD_VB_IDX */
- struct {
- unsigned char cmd;
- unsigned char pad0;
- unsigned short pad1;
- unsigned int flags;
- } clear0; /* SAVAGE_CMD_CLEAR */
- struct {
- unsigned int mask;
- unsigned int value;
- } clear1; /* SAVAGE_CMD_CLEAR data */
-};
-
-#endif
diff --git a/linux-headers/include/drm/sis_drm.h b/linux-headers/include/drm/sis_drm.h
deleted file mode 100644
index 374858c..0000000
--- a/linux-headers/include/drm/sis_drm.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* sis_drv.h -- Private header for sis driver -*- linux-c -*- */
-/*
- * Copyright 2005 Eric Anholt
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
-#ifndef __SIS_DRM_H__
-#define __SIS_DRM_H__
-
-/* SiS specific ioctls */
-#define NOT_USED_0_3
-#define DRM_SIS_FB_ALLOC 0x04
-#define DRM_SIS_FB_FREE 0x05
-#define NOT_USED_6_12
-#define DRM_SIS_AGP_INIT 0x13
-#define DRM_SIS_AGP_ALLOC 0x14
-#define DRM_SIS_AGP_FREE 0x15
-#define DRM_SIS_FB_INIT 0x16
-
-#define DRM_IOCTL_SIS_FB_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_SIS_FB_ALLOC, drm_sis_mem_t)
-#define DRM_IOCTL_SIS_FB_FREE DRM_IOW( DRM_COMMAND_BASE + DRM_SIS_FB_FREE, drm_sis_mem_t)
-#define DRM_IOCTL_SIS_AGP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_SIS_AGP_INIT, drm_sis_agp_t)
-#define DRM_IOCTL_SIS_AGP_ALLOC DRM_IOWR(DRM_COMMAND_BASE + DRM_SIS_AGP_ALLOC, drm_sis_mem_t)
-#define DRM_IOCTL_SIS_AGP_FREE DRM_IOW( DRM_COMMAND_BASE + DRM_SIS_AGP_FREE, drm_sis_mem_t)
-#define DRM_IOCTL_SIS_FB_INIT DRM_IOW( DRM_COMMAND_BASE + DRM_SIS_FB_INIT, drm_sis_fb_t)
-/*
-#define DRM_IOCTL_SIS_FLIP DRM_IOW( 0x48, drm_sis_flip_t)
-#define DRM_IOCTL_SIS_FLIP_INIT DRM_IO( 0x49)
-#define DRM_IOCTL_SIS_FLIP_FINAL DRM_IO( 0x50)
-*/
-
-typedef struct {
- int context;
- unsigned long offset;
- unsigned long size;
- unsigned long free;
-} drm_sis_mem_t;
-
-typedef struct {
- unsigned long offset, size;
-} drm_sis_agp_t;
-
-typedef struct {
- unsigned long offset, size;
-} drm_sis_fb_t;
-
-#endif /* __SIS_DRM_H__ */
diff --git a/linux-headers/include/drm/tegra_drm.h b/linux-headers/include/drm/tegra_drm.h
deleted file mode 100644
index af0257d..0000000
--- a/linux-headers/include/drm/tegra_drm.h
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 2012-2013, NVIDIA CORPORATION. All rights reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDER(S) OR AUTHOR(S) BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _TEGRA_DRM_H_
-#define _TEGRA_DRM_H_
-
-#include "drm.h"
-
-#define DRM_TEGRA_GEM_CREATE_TILED (1 << 0)
-#define DRM_TEGRA_GEM_CREATE_BOTTOM_UP (1 << 1)
-
-struct drm_tegra_gem_create {
- __u64 size;
- __u32 flags;
- __u32 handle;
-};
-
-struct drm_tegra_gem_mmap {
- __u32 handle;
- __u32 pad;
- __u64 offset;
-};
-
-struct drm_tegra_syncpt_read {
- __u32 id;
- __u32 value;
-};
-
-struct drm_tegra_syncpt_incr {
- __u32 id;
- __u32 pad;
-};
-
-struct drm_tegra_syncpt_wait {
- __u32 id;
- __u32 thresh;
- __u32 timeout;
- __u32 value;
-};
-
-#define DRM_TEGRA_NO_TIMEOUT (0xffffffff)
-
-struct drm_tegra_open_channel {
- __u32 client;
- __u32 pad;
- __u64 context;
-};
-
-struct drm_tegra_close_channel {
- __u64 context;
-};
-
-struct drm_tegra_get_syncpt {
- __u64 context;
- __u32 index;
- __u32 id;
-};
-
-struct drm_tegra_get_syncpt_base {
- __u64 context;
- __u32 syncpt;
- __u32 id;
-};
-
-struct drm_tegra_syncpt {
- __u32 id;
- __u32 incrs;
-};
-
-struct drm_tegra_cmdbuf {
- __u32 handle;
- __u32 offset;
- __u32 words;
- __u32 pad;
-};
-
-struct drm_tegra_reloc {
- struct {
- __u32 handle;
- __u32 offset;
- } cmdbuf;
- struct {
- __u32 handle;
- __u32 offset;
- } target;
- __u32 shift;
- __u32 pad;
-};
-
-struct drm_tegra_waitchk {
- __u32 handle;
- __u32 offset;
- __u32 syncpt;
- __u32 thresh;
-};
-
-struct drm_tegra_submit {
- __u64 context;
- __u32 num_syncpts;
- __u32 num_cmdbufs;
- __u32 num_relocs;
- __u32 num_waitchks;
- __u32 waitchk_mask;
- __u32 timeout;
- __u64 syncpts;
- __u64 cmdbufs;
- __u64 relocs;
- __u64 waitchks;
- __u32 fence; /* Return value */
-
- __u32 reserved[5]; /* future expansion */
-};
-
-#define DRM_TEGRA_GEM_TILING_MODE_PITCH 0
-#define DRM_TEGRA_GEM_TILING_MODE_TILED 1
-#define DRM_TEGRA_GEM_TILING_MODE_BLOCK 2
-
-struct drm_tegra_gem_set_tiling {
- /* input */
- __u32 handle;
- __u32 mode;
- __u32 value;
- __u32 pad;
-};
-
-struct drm_tegra_gem_get_tiling {
- /* input */
- __u32 handle;
- /* output */
- __u32 mode;
- __u32 value;
- __u32 pad;
-};
-
-#define DRM_TEGRA_GEM_BOTTOM_UP (1 << 0)
-#define DRM_TEGRA_GEM_FLAGS (DRM_TEGRA_GEM_BOTTOM_UP)
-
-struct drm_tegra_gem_set_flags {
- /* input */
- __u32 handle;
- /* output */
- __u32 flags;
-};
-
-struct drm_tegra_gem_get_flags {
- /* input */
- __u32 handle;
- /* output */
- __u32 flags;
-};
-
-#define DRM_TEGRA_GEM_CREATE 0x00
-#define DRM_TEGRA_GEM_MMAP 0x01
-#define DRM_TEGRA_SYNCPT_READ 0x02
-#define DRM_TEGRA_SYNCPT_INCR 0x03
-#define DRM_TEGRA_SYNCPT_WAIT 0x04
-#define DRM_TEGRA_OPEN_CHANNEL 0x05
-#define DRM_TEGRA_CLOSE_CHANNEL 0x06
-#define DRM_TEGRA_GET_SYNCPT 0x07
-#define DRM_TEGRA_SUBMIT 0x08
-#define DRM_TEGRA_GET_SYNCPT_BASE 0x09
-#define DRM_TEGRA_GEM_SET_TILING 0x0a
-#define DRM_TEGRA_GEM_GET_TILING 0x0b
-#define DRM_TEGRA_GEM_SET_FLAGS 0x0c
-#define DRM_TEGRA_GEM_GET_FLAGS 0x0d
-
-#define DRM_IOCTL_TEGRA_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_CREATE, struct drm_tegra_gem_create)
-#define DRM_IOCTL_TEGRA_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_MMAP, struct drm_tegra_gem_mmap)
-#define DRM_IOCTL_TEGRA_SYNCPT_READ DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_READ, struct drm_tegra_syncpt_read)
-#define DRM_IOCTL_TEGRA_SYNCPT_INCR DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_INCR, struct drm_tegra_syncpt_incr)
-#define DRM_IOCTL_TEGRA_SYNCPT_WAIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SYNCPT_WAIT, struct drm_tegra_syncpt_wait)
-#define DRM_IOCTL_TEGRA_OPEN_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_OPEN_CHANNEL, struct drm_tegra_open_channel)
-#define DRM_IOCTL_TEGRA_CLOSE_CHANNEL DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_CLOSE_CHANNEL, struct drm_tegra_open_channel)
-#define DRM_IOCTL_TEGRA_GET_SYNCPT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT, struct drm_tegra_get_syncpt)
-#define DRM_IOCTL_TEGRA_SUBMIT DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_SUBMIT, struct drm_tegra_submit)
-#define DRM_IOCTL_TEGRA_GET_SYNCPT_BASE DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GET_SYNCPT_BASE, struct drm_tegra_get_syncpt_base)
-#define DRM_IOCTL_TEGRA_GEM_SET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_SET_TILING, struct drm_tegra_gem_set_tiling)
-#define DRM_IOCTL_TEGRA_GEM_GET_TILING DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_GET_TILING, struct drm_tegra_gem_get_tiling)
-#define DRM_IOCTL_TEGRA_GEM_SET_FLAGS DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_SET_FLAGS, struct drm_tegra_gem_set_flags)
-#define DRM_IOCTL_TEGRA_GEM_GET_FLAGS DRM_IOWR(DRM_COMMAND_BASE + DRM_TEGRA_GEM_GET_FLAGS, struct drm_tegra_gem_get_flags)
-
-#endif
diff --git a/linux-headers/include/drm/vc4_drm.h b/linux-headers/include/drm/vc4_drm.h
deleted file mode 100644
index da3caa0..0000000
--- a/linux-headers/include/drm/vc4_drm.h
+++ /dev/null
@@ -1,279 +0,0 @@
-/*
- * Copyright © 2014-2015 Broadcom
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#ifndef _VC4_DRM_H_
-#define _VC4_DRM_H_
-
-#include "drm.h"
-
-#define DRM_VC4_SUBMIT_CL 0x00
-#define DRM_VC4_WAIT_SEQNO 0x01
-#define DRM_VC4_WAIT_BO 0x02
-#define DRM_VC4_CREATE_BO 0x03
-#define DRM_VC4_MMAP_BO 0x04
-#define DRM_VC4_CREATE_SHADER_BO 0x05
-#define DRM_VC4_GET_HANG_STATE 0x06
-
-#define DRM_IOCTL_VC4_SUBMIT_CL DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_SUBMIT_CL, struct drm_vc4_submit_cl)
-#define DRM_IOCTL_VC4_WAIT_SEQNO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_SEQNO, struct drm_vc4_wait_seqno)
-#define DRM_IOCTL_VC4_WAIT_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_WAIT_BO, struct drm_vc4_wait_bo)
-#define DRM_IOCTL_VC4_CREATE_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_CREATE_BO, struct drm_vc4_create_bo)
-#define DRM_IOCTL_VC4_MMAP_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_MMAP_BO, struct drm_vc4_mmap_bo)
-#define DRM_IOCTL_VC4_CREATE_SHADER_BO DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_CREATE_SHADER_BO, struct drm_vc4_create_shader_bo)
-#define DRM_IOCTL_VC4_GET_HANG_STATE DRM_IOWR(DRM_COMMAND_BASE + DRM_VC4_GET_HANG_STATE, struct drm_vc4_get_hang_state)
-
-struct drm_vc4_submit_rcl_surface {
- __u32 hindex; /* Handle index, or ~0 if not present. */
- __u32 offset; /* Offset to start of buffer. */
- /*
- * Bits for either render config (color_write) or load/store packet.
- * Bits should all be 0 for MSAA load/stores.
- */
- __u16 bits;
-
-#define VC4_SUBMIT_RCL_SURFACE_READ_IS_FULL_RES (1 << 0)
- __u16 flags;
-};
-
-/**
- * struct drm_vc4_submit_cl - ioctl argument for submitting commands to the 3D
- * engine.
- *
- * Drivers typically use GPU BOs to store batchbuffers / command lists and
- * their associated state. However, because the VC4 lacks an MMU, we have to
- * do validation of memory accesses by the GPU commands. If we were to store
- * our commands in BOs, we'd need to do uncached readback from them to do the
- * validation process, which is too expensive. Instead, userspace accumulates
- * commands and associated state in plain memory, then the kernel copies the
- * data to its own address space, and then validates and stores it in a GPU
- * BO.
- */
-struct drm_vc4_submit_cl {
- /* Pointer to the binner command list.
- *
- * This is the first set of commands executed, which runs the
- * coordinate shader to determine where primitives land on the screen,
- * then writes out the state updates and draw calls necessary per tile
- * to the tile allocation BO.
- */
- __u64 bin_cl;
-
- /* Pointer to the shader records.
- *
- * Shader records are the structures read by the hardware that contain
- * pointers to uniforms, shaders, and vertex attributes. The
- * reference to the shader record has enough information to determine
- * how many pointers are necessary (fixed number for shaders/uniforms,
- * and an attribute count), so those BO indices into bo_handles are
- * just stored as __u32s before each shader record passed in.
- */
- __u64 shader_rec;
-
- /* Pointer to uniform data and texture handles for the textures
- * referenced by the shader.
- *
- * For each shader state record, there is a set of uniform data in the
- * order referenced by the record (FS, VS, then CS). Each set of
- * uniform data has a __u32 index into bo_handles per texture
- * sample operation, in the order the QPU_W_TMUn_S writes appear in
- * the program. Following the texture BO handle indices is the actual
- * uniform data.
- *
- * The individual uniform state blocks don't have sizes passed in,
- * because the kernel has to determine the sizes anyway during shader
- * code validation.
- */
- __u64 uniforms;
- __u64 bo_handles;
-
- /* Size in bytes of the binner command list. */
- __u32 bin_cl_size;
- /* Size in bytes of the set of shader records. */
- __u32 shader_rec_size;
- /* Number of shader records.
- *
- * This could just be computed from the contents of shader_records and
- * the address bits of references to them from the bin CL, but it
- * keeps the kernel from having to resize some allocations it makes.
- */
- __u32 shader_rec_count;
- /* Size in bytes of the uniform state. */
- __u32 uniforms_size;
-
- /* Number of BO handles passed in (size is that times 4). */
- __u32 bo_handle_count;
-
- /* RCL setup: */
- __u16 width;
- __u16 height;
- __u8 min_x_tile;
- __u8 min_y_tile;
- __u8 max_x_tile;
- __u8 max_y_tile;
- struct drm_vc4_submit_rcl_surface color_read;
- struct drm_vc4_submit_rcl_surface color_write;
- struct drm_vc4_submit_rcl_surface zs_read;
- struct drm_vc4_submit_rcl_surface zs_write;
- struct drm_vc4_submit_rcl_surface msaa_color_write;
- struct drm_vc4_submit_rcl_surface msaa_zs_write;
- __u32 clear_color[2];
- __u32 clear_z;
- __u8 clear_s;
-
- __u32 pad:24;
-
-#define VC4_SUBMIT_CL_USE_CLEAR_COLOR (1 << 0)
- __u32 flags;
-
- /* Returned value of the seqno of this render job (for the
- * wait ioctl).
- */
- __u64 seqno;
-};
-
-/**
- * struct drm_vc4_wait_seqno - ioctl argument for waiting for
- * DRM_VC4_SUBMIT_CL completion using its returned seqno.
- *
- * timeout_ns is the timeout in nanoseconds, where "0" means "don't
- * block, just return the status."
- */
-struct drm_vc4_wait_seqno {
- __u64 seqno;
- __u64 timeout_ns;
-};
-
-/**
- * struct drm_vc4_wait_bo - ioctl argument for waiting for
- * completion of the last DRM_VC4_SUBMIT_CL on a BO.
- *
- * This is useful for cases where multiple processes might be
- * rendering to a BO and you want to wait for all rendering to be
- * completed.
- */
-struct drm_vc4_wait_bo {
- __u32 handle;
- __u32 pad;
- __u64 timeout_ns;
-};
-
-/**
- * struct drm_vc4_create_bo - ioctl argument for creating VC4 BOs.
- *
- * There are currently no values for the flags argument, but it may be
- * used in a future extension.
- */
-struct drm_vc4_create_bo {
- __u32 size;
- __u32 flags;
- /** Returned GEM handle for the BO. */
- __u32 handle;
- __u32 pad;
-};
-
-/**
- * struct drm_vc4_mmap_bo - ioctl argument for mapping VC4 BOs.
- *
- * This doesn't actually perform an mmap. Instead, it returns the
- * offset you need to use in an mmap on the DRM device node. This
- * means that tools like valgrind end up knowing about the mapped
- * memory.
- *
- * There are currently no values for the flags argument, but it may be
- * used in a future extension.
- */
-struct drm_vc4_mmap_bo {
- /** Handle for the object being mapped. */
- __u32 handle;
- __u32 flags;
- /** offset into the drm node to use for subsequent mmap call. */
- __u64 offset;
-};
-
-/**
- * struct drm_vc4_create_shader_bo - ioctl argument for creating VC4
- * shader BOs.
- *
- * Since allowing a shader to be overwritten while it's also being
- * executed from would allow privlege escalation, shaders must be
- * created using this ioctl, and they can't be mmapped later.
- */
-struct drm_vc4_create_shader_bo {
- /* Size of the data argument. */
- __u32 size;
- /* Flags, currently must be 0. */
- __u32 flags;
-
- /* Pointer to the data. */
- __u64 data;
-
- /** Returned GEM handle for the BO. */
- __u32 handle;
- /* Pad, must be 0. */
- __u32 pad;
-};
-
-struct drm_vc4_get_hang_state_bo {
- __u32 handle;
- __u32 paddr;
- __u32 size;
- __u32 pad;
-};
-
-/**
- * struct drm_vc4_hang_state - ioctl argument for collecting state
- * from a GPU hang for analysis.
-*/
-struct drm_vc4_get_hang_state {
- /** Pointer to array of struct drm_vc4_get_hang_state_bo. */
- __u64 bo;
- /**
- * On input, the size of the bo array. Output is the number
- * of bos to be returned.
- */
- __u32 bo_count;
-
- __u32 start_bin, start_render;
-
- __u32 ct0ca, ct0ea;
- __u32 ct1ca, ct1ea;
- __u32 ct0cs, ct1cs;
- __u32 ct0ra0, ct1ra0;
-
- __u32 bpca, bpcs;
- __u32 bpoa, bpos;
-
- __u32 vpmbase;
-
- __u32 dbge;
- __u32 fdbgo;
- __u32 fdbgb;
- __u32 fdbgr;
- __u32 fdbgs;
- __u32 errstat;
-
- /* Pad that we may save more registers into in the future. */
- __u32 pad[16];
-};
-
-#endif /* _VC4_DRM_H_ */
diff --git a/linux-headers/include/drm/via_drm.h b/linux-headers/include/drm/via_drm.h
deleted file mode 100644
index a5e7d06..0000000
--- a/linux-headers/include/drm/via_drm.h
+++ /dev/null
@@ -1,274 +0,0 @@
-/*
- * Copyright 1998-2003 VIA Technologies, Inc. All Rights Reserved.
- * Copyright 2001-2003 S3 Graphics, Inc. All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sub license,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
- * VIA, S3 GRAPHICS, AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-#ifndef _VIA_DRM_H_
-#define _VIA_DRM_H_
-
-#include "drm.h"
-
-/* WARNING: These defines must be the same as what the Xserver uses.
- * if you change them, you must change the defines in the Xserver.
- */
-
-#ifndef _VIA_DEFINES_
-#define _VIA_DEFINES_
-
-
-#define VIA_NR_SAREA_CLIPRECTS 8
-#define VIA_NR_XVMC_PORTS 10
-#define VIA_NR_XVMC_LOCKS 5
-#define VIA_MAX_CACHELINE_SIZE 64
-#define XVMCLOCKPTR(saPriv,lockNo) \
- ((__volatile__ struct drm_hw_lock *)(((((unsigned long) (saPriv)->XvMCLockArea) + \
- (VIA_MAX_CACHELINE_SIZE - 1)) & \
- ~(VIA_MAX_CACHELINE_SIZE - 1)) + \
- VIA_MAX_CACHELINE_SIZE*(lockNo)))
-
-/* Each region is a minimum of 64k, and there are at most 64 of them.
- */
-#define VIA_NR_TEX_REGIONS 64
-#define VIA_LOG_MIN_TEX_REGION_SIZE 16
-#endif
-
-#define VIA_UPLOAD_TEX0IMAGE 0x1 /* handled clientside */
-#define VIA_UPLOAD_TEX1IMAGE 0x2 /* handled clientside */
-#define VIA_UPLOAD_CTX 0x4
-#define VIA_UPLOAD_BUFFERS 0x8
-#define VIA_UPLOAD_TEX0 0x10
-#define VIA_UPLOAD_TEX1 0x20
-#define VIA_UPLOAD_CLIPRECTS 0x40
-#define VIA_UPLOAD_ALL 0xff
-
-/* VIA specific ioctls */
-#define DRM_VIA_ALLOCMEM 0x00
-#define DRM_VIA_FREEMEM 0x01
-#define DRM_VIA_AGP_INIT 0x02
-#define DRM_VIA_FB_INIT 0x03
-#define DRM_VIA_MAP_INIT 0x04
-#define DRM_VIA_DEC_FUTEX 0x05
-#define NOT_USED
-#define DRM_VIA_DMA_INIT 0x07
-#define DRM_VIA_CMDBUFFER 0x08
-#define DRM_VIA_FLUSH 0x09
-#define DRM_VIA_PCICMD 0x0a
-#define DRM_VIA_CMDBUF_SIZE 0x0b
-#define NOT_USED
-#define DRM_VIA_WAIT_IRQ 0x0d
-#define DRM_VIA_DMA_BLIT 0x0e
-#define DRM_VIA_BLIT_SYNC 0x0f
-
-#define DRM_IOCTL_VIA_ALLOCMEM DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_ALLOCMEM, drm_via_mem_t)
-#define DRM_IOCTL_VIA_FREEMEM DRM_IOW( DRM_COMMAND_BASE + DRM_VIA_FREEMEM, drm_via_mem_t)
-#define DRM_IOCTL_VIA_AGP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_AGP_INIT, drm_via_agp_t)
-#define DRM_IOCTL_VIA_FB_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_FB_INIT, drm_via_fb_t)
-#define DRM_IOCTL_VIA_MAP_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_MAP_INIT, drm_via_init_t)
-#define DRM_IOCTL_VIA_DEC_FUTEX DRM_IOW( DRM_COMMAND_BASE + DRM_VIA_DEC_FUTEX, drm_via_futex_t)
-#define DRM_IOCTL_VIA_DMA_INIT DRM_IOWR(DRM_COMMAND_BASE + DRM_VIA_DMA_INIT, drm_via_dma_init_t)
-#define DRM_IOCTL_VIA_CMDBUFFER DRM_IOW( DRM_COMMAND_BASE + DRM_VIA_CMDBUFFER, drm_via_cmdbuffer_t)
-#define DRM_IOCTL_VIA_FLUSH DRM_IO( DRM_COMMAND_BASE + DRM_VIA_FLUSH)
-#define DRM_IOCTL_VIA_PCICMD DRM_IOW( DRM_COMMAND_BASE + DRM_VIA_PCICMD, drm_via_cmdbuffer_t)
-#define DRM_IOCTL_VIA_CMDBUF_SIZE DRM_IOWR( DRM_COMMAND_BASE + DRM_VIA_CMDBUF_SIZE, \
- drm_via_cmdbuf_size_t)
-#define DRM_IOCTL_VIA_WAIT_IRQ DRM_IOWR( DRM_COMMAND_BASE + DRM_VIA_WAIT_IRQ, drm_via_irqwait_t)
-#define DRM_IOCTL_VIA_DMA_BLIT DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_DMA_BLIT, drm_via_dmablit_t)
-#define DRM_IOCTL_VIA_BLIT_SYNC DRM_IOW(DRM_COMMAND_BASE + DRM_VIA_BLIT_SYNC, drm_via_blitsync_t)
-
-/* Indices into buf.Setup where various bits of state are mirrored per
- * context and per buffer. These can be fired at the card as a unit,
- * or in a piecewise fashion as required.
- */
-
-#define VIA_TEX_SETUP_SIZE 8
-
-/* Flags for clear ioctl
- */
-#define VIA_FRONT 0x1
-#define VIA_BACK 0x2
-#define VIA_DEPTH 0x4
-#define VIA_STENCIL 0x8
-#define VIA_MEM_VIDEO 0 /* matches drm constant */
-#define VIA_MEM_AGP 1 /* matches drm constant */
-#define VIA_MEM_SYSTEM 2
-#define VIA_MEM_MIXED 3
-#define VIA_MEM_UNKNOWN 4
-
-typedef struct {
- __u32 offset;
- __u32 size;
-} drm_via_agp_t;
-
-typedef struct {
- __u32 offset;
- __u32 size;
-} drm_via_fb_t;
-
-typedef struct {
- __u32 context;
- __u32 type;
- __u32 size;
- unsigned long index;
- unsigned long offset;
-} drm_via_mem_t;
-
-typedef struct _drm_via_init {
- enum {
- VIA_INIT_MAP = 0x01,
- VIA_CLEANUP_MAP = 0x02
- } func;
-
- unsigned long sarea_priv_offset;
- unsigned long fb_offset;
- unsigned long mmio_offset;
- unsigned long agpAddr;
-} drm_via_init_t;
-
-typedef struct _drm_via_futex {
- enum {
- VIA_FUTEX_WAIT = 0x00,
- VIA_FUTEX_WAKE = 0X01
- } func;
- __u32 ms;
- __u32 lock;
- __u32 val;
-} drm_via_futex_t;
-
-typedef struct _drm_via_dma_init {
- enum {
- VIA_INIT_DMA = 0x01,
- VIA_CLEANUP_DMA = 0x02,
- VIA_DMA_INITIALIZED = 0x03
- } func;
-
- unsigned long offset;
- unsigned long size;
- unsigned long reg_pause_addr;
-} drm_via_dma_init_t;
-
-typedef struct _drm_via_cmdbuffer {
- char *buf;
- unsigned long size;
-} drm_via_cmdbuffer_t;
-
-/* Warning: If you change the SAREA structure you must change the Xserver
- * structure as well */
-
-typedef struct _drm_via_tex_region {
- unsigned char next, prev; /* indices to form a circular LRU */
- unsigned char inUse; /* owned by a client, or free? */
- int age; /* tracked by clients to update local LRU's */
-} drm_via_tex_region_t;
-
-typedef struct _drm_via_sarea {
- unsigned int dirty;
- unsigned int nbox;
- struct drm_clip_rect boxes[VIA_NR_SAREA_CLIPRECTS];
- drm_via_tex_region_t texList[VIA_NR_TEX_REGIONS + 1];
- int texAge; /* last time texture was uploaded */
- int ctxOwner; /* last context to upload state */
- int vertexPrim;
-
- /*
- * Below is for XvMC.
- * We want the lock integers alone on, and aligned to, a cache line.
- * Therefore this somewhat strange construct.
- */
-
- char XvMCLockArea[VIA_MAX_CACHELINE_SIZE * (VIA_NR_XVMC_LOCKS + 1)];
-
- unsigned int XvMCDisplaying[VIA_NR_XVMC_PORTS];
- unsigned int XvMCSubPicOn[VIA_NR_XVMC_PORTS];
- unsigned int XvMCCtxNoGrabbed; /* Last context to hold decoder */
-
- /* Used by the 3d driver only at this point, for pageflipping:
- */
- unsigned int pfCurrentOffset;
-} drm_via_sarea_t;
-
-typedef struct _drm_via_cmdbuf_size {
- enum {
- VIA_CMDBUF_SPACE = 0x01,
- VIA_CMDBUF_LAG = 0x02
- } func;
- int wait;
- __u32 size;
-} drm_via_cmdbuf_size_t;
-
-typedef enum {
- VIA_IRQ_ABSOLUTE = 0x0,
- VIA_IRQ_RELATIVE = 0x1,
- VIA_IRQ_SIGNAL = 0x10000000,
- VIA_IRQ_FORCE_SEQUENCE = 0x20000000
-} via_irq_seq_type_t;
-
-#define VIA_IRQ_FLAGS_MASK 0xF0000000
-
-enum drm_via_irqs {
- drm_via_irq_hqv0 = 0,
- drm_via_irq_hqv1,
- drm_via_irq_dma0_dd,
- drm_via_irq_dma0_td,
- drm_via_irq_dma1_dd,
- drm_via_irq_dma1_td,
- drm_via_irq_num
-};
-
-struct drm_via_wait_irq_request {
- unsigned irq;
- via_irq_seq_type_t type;
- __u32 sequence;
- __u32 signal;
-};
-
-typedef union drm_via_irqwait {
- struct drm_via_wait_irq_request request;
- struct drm_wait_vblank_reply reply;
-} drm_via_irqwait_t;
-
-typedef struct drm_via_blitsync {
- __u32 sync_handle;
- unsigned engine;
-} drm_via_blitsync_t;
-
-/* - * Below,"flags" is currently unused but will be used for possible future
- * extensions like kernel space bounce buffers for bad alignments and
- * blit engine busy-wait polling for better latency in the absence of
- * interrupts.
- */
-
-typedef struct drm_via_dmablit {
- __u32 num_lines;
- __u32 line_length;
-
- __u32 fb_addr;
- __u32 fb_stride;
-
- unsigned char *mem_addr;
- __u32 mem_stride;
-
- __u32 flags;
- int to_fb;
-
- drm_via_blitsync_t sync;
-} drm_via_dmablit_t;
-
-#endif /* _VIA_DRM_H_ */
diff --git a/linux-headers/include/drm/virtgpu_drm.h b/linux-headers/include/drm/virtgpu_drm.h
deleted file mode 100644
index c74f1f9..0000000
--- a/linux-headers/include/drm/virtgpu_drm.h
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright 2013 Red Hat
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-#ifndef VIRTGPU_DRM_H
-#define VIRTGPU_DRM_H
-
-#include "drm.h"
-
-/* Please note that modifications to all structs defined here are
- * subject to backwards-compatibility constraints.
- *
- * Do not use pointers, use __u64 instead for 32 bit / 64 bit user/kernel
- * compatibility Keep fields aligned to their size
- */
-
-#define DRM_VIRTGPU_MAP 0x01
-#define DRM_VIRTGPU_EXECBUFFER 0x02
-#define DRM_VIRTGPU_GETPARAM 0x03
-#define DRM_VIRTGPU_RESOURCE_CREATE 0x04
-#define DRM_VIRTGPU_RESOURCE_INFO 0x05
-#define DRM_VIRTGPU_TRANSFER_FROM_HOST 0x06
-#define DRM_VIRTGPU_TRANSFER_TO_HOST 0x07
-#define DRM_VIRTGPU_WAIT 0x08
-#define DRM_VIRTGPU_GET_CAPS 0x09
-
-struct drm_virtgpu_map {
- __u64 offset; /* use for mmap system call */
- __u32 handle;
- __u32 pad;
-};
-
-struct drm_virtgpu_execbuffer {
- __u32 flags; /* for future use */
- __u32 size;
- __u64 command; /* void* */
- __u64 bo_handles;
- __u32 num_bo_handles;
- __u32 pad;
-};
-
-#define VIRTGPU_PARAM_3D_FEATURES 1 /* do we have 3D features in the hw */
-
-struct drm_virtgpu_getparam {
- __u64 param;
- __u64 value;
-};
-
-/* NO_BO flags? NO resource flag? */
-/* resource flag for y_0_top */
-struct drm_virtgpu_resource_create {
- __u32 target;
- __u32 format;
- __u32 bind;
- __u32 width;
- __u32 height;
- __u32 depth;
- __u32 array_size;
- __u32 last_level;
- __u32 nr_samples;
- __u32 flags;
- __u32 bo_handle; /* if this is set - recreate a new resource attached to this bo ? */
- __u32 res_handle; /* returned by kernel */
- __u32 size; /* validate transfer in the host */
- __u32 stride; /* validate transfer in the host */
-};
-
-struct drm_virtgpu_resource_info {
- __u32 bo_handle;
- __u32 res_handle;
- __u32 size;
- __u32 stride;
-};
-
-struct drm_virtgpu_3d_box {
- __u32 x;
- __u32 y;
- __u32 z;
- __u32 w;
- __u32 h;
- __u32 d;
-};
-
-struct drm_virtgpu_3d_transfer_to_host {
- __u32 bo_handle;
- struct drm_virtgpu_3d_box box;
- __u32 level;
- __u32 offset;
-};
-
-struct drm_virtgpu_3d_transfer_from_host {
- __u32 bo_handle;
- struct drm_virtgpu_3d_box box;
- __u32 level;
- __u32 offset;
-};
-
-#define VIRTGPU_WAIT_NOWAIT 1 /* like it */
-struct drm_virtgpu_3d_wait {
- __u32 handle; /* 0 is an invalid handle */
- __u32 flags;
-};
-
-struct drm_virtgpu_get_caps {
- __u32 cap_set_id;
- __u32 cap_set_ver;
- __u64 addr;
- __u32 size;
- __u32 pad;
-};
-
-#define DRM_IOCTL_VIRTGPU_MAP \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_MAP, struct drm_virtgpu_map)
-
-#define DRM_IOCTL_VIRTGPU_EXECBUFFER \
- DRM_IOW(DRM_COMMAND_BASE + DRM_VIRTGPU_EXECBUFFER,\
- struct drm_virtgpu_execbuffer)
-
-#define DRM_IOCTL_VIRTGPU_GETPARAM \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GETPARAM,\
- struct drm_virtgpu_getparam)
-
-#define DRM_IOCTL_VIRTGPU_RESOURCE_CREATE \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_RESOURCE_CREATE, \
- struct drm_virtgpu_resource_create)
-
-#define DRM_IOCTL_VIRTGPU_RESOURCE_INFO \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_RESOURCE_INFO, \
- struct drm_virtgpu_resource_info)
-
-#define DRM_IOCTL_VIRTGPU_TRANSFER_FROM_HOST \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_TRANSFER_FROM_HOST, \
- struct drm_virtgpu_3d_transfer_from_host)
-
-#define DRM_IOCTL_VIRTGPU_TRANSFER_TO_HOST \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_TRANSFER_TO_HOST, \
- struct drm_virtgpu_3d_transfer_to_host)
-
-#define DRM_IOCTL_VIRTGPU_WAIT \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_WAIT, \
- struct drm_virtgpu_3d_wait)
-
-#define DRM_IOCTL_VIRTGPU_GET_CAPS \
- DRM_IOWR(DRM_COMMAND_BASE + DRM_VIRTGPU_GET_CAPS, \
- struct drm_virtgpu_get_caps)
-
-#endif
diff --git a/linux-headers/include/drm/vmwgfx_drm.h b/linux-headers/include/drm/vmwgfx_drm.h
deleted file mode 100644
index 5b68b4d..0000000
--- a/linux-headers/include/drm/vmwgfx_drm.h
+++ /dev/null
@@ -1,1090 +0,0 @@
-/**************************************************************************
- *
- * Copyright © 2009-2015 VMware, Inc., Palo Alto, CA., USA
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the
- * "Software"), to deal in the Software without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sub license, and/or sell copies of the Software, and to
- * permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice (including the
- * next paragraph) shall be included in all copies or substantial portions
- * of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
- * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
- * USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- **************************************************************************/
-
-#ifndef __VMWGFX_DRM_H__
-#define __VMWGFX_DRM_H__
-
-#include "drm.h"
-
-#define DRM_VMW_MAX_SURFACE_FACES 6
-#define DRM_VMW_MAX_MIP_LEVELS 24
-
-
-#define DRM_VMW_GET_PARAM 0
-#define DRM_VMW_ALLOC_DMABUF 1
-#define DRM_VMW_UNREF_DMABUF 2
-#define DRM_VMW_CURSOR_BYPASS 3
-/* guarded by DRM_VMW_PARAM_NUM_STREAMS != 0*/
-#define DRM_VMW_CONTROL_STREAM 4
-#define DRM_VMW_CLAIM_STREAM 5
-#define DRM_VMW_UNREF_STREAM 6
-/* guarded by DRM_VMW_PARAM_3D == 1 */
-#define DRM_VMW_CREATE_CONTEXT 7
-#define DRM_VMW_UNREF_CONTEXT 8
-#define DRM_VMW_CREATE_SURFACE 9
-#define DRM_VMW_UNREF_SURFACE 10
-#define DRM_VMW_REF_SURFACE 11
-#define DRM_VMW_EXECBUF 12
-#define DRM_VMW_GET_3D_CAP 13
-#define DRM_VMW_FENCE_WAIT 14
-#define DRM_VMW_FENCE_SIGNALED 15
-#define DRM_VMW_FENCE_UNREF 16
-#define DRM_VMW_FENCE_EVENT 17
-#define DRM_VMW_PRESENT 18
-#define DRM_VMW_PRESENT_READBACK 19
-#define DRM_VMW_UPDATE_LAYOUT 20
-#define DRM_VMW_CREATE_SHADER 21
-#define DRM_VMW_UNREF_SHADER 22
-#define DRM_VMW_GB_SURFACE_CREATE 23
-#define DRM_VMW_GB_SURFACE_REF 24
-#define DRM_VMW_SYNCCPU 25
-#define DRM_VMW_CREATE_EXTENDED_CONTEXT 26
-
-/*************************************************************************/
-/**
- * DRM_VMW_GET_PARAM - get device information.
- *
- * DRM_VMW_PARAM_FIFO_OFFSET:
- * Offset to use to map the first page of the FIFO read-only.
- * The fifo is mapped using the mmap() system call on the drm device.
- *
- * DRM_VMW_PARAM_OVERLAY_IOCTL:
- * Does the driver support the overlay ioctl.
- */
-
-#define DRM_VMW_PARAM_NUM_STREAMS 0
-#define DRM_VMW_PARAM_NUM_FREE_STREAMS 1
-#define DRM_VMW_PARAM_3D 2
-#define DRM_VMW_PARAM_HW_CAPS 3
-#define DRM_VMW_PARAM_FIFO_CAPS 4
-#define DRM_VMW_PARAM_MAX_FB_SIZE 5
-#define DRM_VMW_PARAM_FIFO_HW_VERSION 6
-#define DRM_VMW_PARAM_MAX_SURF_MEMORY 7
-#define DRM_VMW_PARAM_3D_CAPS_SIZE 8
-#define DRM_VMW_PARAM_MAX_MOB_MEMORY 9
-#define DRM_VMW_PARAM_MAX_MOB_SIZE 10
-#define DRM_VMW_PARAM_SCREEN_TARGET 11
-#define DRM_VMW_PARAM_DX 12
-
-/**
- * enum drm_vmw_handle_type - handle type for ref ioctls
- *
- */
-enum drm_vmw_handle_type {
- DRM_VMW_HANDLE_LEGACY = 0,
- DRM_VMW_HANDLE_PRIME = 1
-};
-
-/**
- * struct drm_vmw_getparam_arg
- *
- * @value: Returned value. //Out
- * @param: Parameter to query. //In.
- *
- * Argument to the DRM_VMW_GET_PARAM Ioctl.
- */
-
-struct drm_vmw_getparam_arg {
- __u64 value;
- __u32 param;
- __u32 pad64;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_CREATE_CONTEXT - Create a host context.
- *
- * Allocates a device unique context id, and queues a create context command
- * for the host. Does not wait for host completion.
- */
-
-/**
- * struct drm_vmw_context_arg
- *
- * @cid: Device unique context ID.
- *
- * Output argument to the DRM_VMW_CREATE_CONTEXT Ioctl.
- * Input argument to the DRM_VMW_UNREF_CONTEXT Ioctl.
- */
-
-struct drm_vmw_context_arg {
- __s32 cid;
- __u32 pad64;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_UNREF_CONTEXT - Create a host context.
- *
- * Frees a global context id, and queues a destroy host command for the host.
- * Does not wait for host completion. The context ID can be used directly
- * in the command stream and shows up as the same context ID on the host.
- */
-
-/*************************************************************************/
-/**
- * DRM_VMW_CREATE_SURFACE - Create a host suface.
- *
- * Allocates a device unique surface id, and queues a create surface command
- * for the host. Does not wait for host completion. The surface ID can be
- * used directly in the command stream and shows up as the same surface
- * ID on the host.
- */
-
-/**
- * struct drm_wmv_surface_create_req
- *
- * @flags: Surface flags as understood by the host.
- * @format: Surface format as understood by the host.
- * @mip_levels: Number of mip levels for each face.
- * An unused face should have 0 encoded.
- * @size_addr: Address of a user-space array of sruct drm_vmw_size
- * cast to an __u64 for 32-64 bit compatibility.
- * The size of the array should equal the total number of mipmap levels.
- * @shareable: Boolean whether other clients (as identified by file descriptors)
- * may reference this surface.
- * @scanout: Boolean whether the surface is intended to be used as a
- * scanout.
- *
- * Input data to the DRM_VMW_CREATE_SURFACE Ioctl.
- * Output data from the DRM_VMW_REF_SURFACE Ioctl.
- */
-
-struct drm_vmw_surface_create_req {
- __u32 flags;
- __u32 format;
- __u32 mip_levels[DRM_VMW_MAX_SURFACE_FACES];
- __u64 size_addr;
- __s32 shareable;
- __s32 scanout;
-};
-
-/**
- * struct drm_wmv_surface_arg
- *
- * @sid: Surface id of created surface or surface to destroy or reference.
- * @handle_type: Handle type for DRM_VMW_REF_SURFACE Ioctl.
- *
- * Output data from the DRM_VMW_CREATE_SURFACE Ioctl.
- * Input argument to the DRM_VMW_UNREF_SURFACE Ioctl.
- * Input argument to the DRM_VMW_REF_SURFACE Ioctl.
- */
-
-struct drm_vmw_surface_arg {
- __s32 sid;
- enum drm_vmw_handle_type handle_type;
-};
-
-/**
- * struct drm_vmw_size ioctl.
- *
- * @width - mip level width
- * @height - mip level height
- * @depth - mip level depth
- *
- * Description of a mip level.
- * Input data to the DRM_WMW_CREATE_SURFACE Ioctl.
- */
-
-struct drm_vmw_size {
- __u32 width;
- __u32 height;
- __u32 depth;
- __u32 pad64;
-};
-
-/**
- * union drm_vmw_surface_create_arg
- *
- * @rep: Output data as described above.
- * @req: Input data as described above.
- *
- * Argument to the DRM_VMW_CREATE_SURFACE Ioctl.
- */
-
-union drm_vmw_surface_create_arg {
- struct drm_vmw_surface_arg rep;
- struct drm_vmw_surface_create_req req;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_REF_SURFACE - Reference a host surface.
- *
- * Puts a reference on a host surface with a give sid, as previously
- * returned by the DRM_VMW_CREATE_SURFACE ioctl.
- * A reference will make sure the surface isn't destroyed while we hold
- * it and will allow the calling client to use the surface ID in the command
- * stream.
- *
- * On successful return, the Ioctl returns the surface information given
- * in the DRM_VMW_CREATE_SURFACE ioctl.
- */
-
-/**
- * union drm_vmw_surface_reference_arg
- *
- * @rep: Output data as described above.
- * @req: Input data as described above.
- *
- * Argument to the DRM_VMW_REF_SURFACE Ioctl.
- */
-
-union drm_vmw_surface_reference_arg {
- struct drm_vmw_surface_create_req rep;
- struct drm_vmw_surface_arg req;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_UNREF_SURFACE - Unreference a host surface.
- *
- * Clear a reference previously put on a host surface.
- * When all references are gone, including the one implicitly placed
- * on creation,
- * a destroy surface command will be queued for the host.
- * Does not wait for completion.
- */
-
-/*************************************************************************/
-/**
- * DRM_VMW_EXECBUF
- *
- * Submit a command buffer for execution on the host, and return a
- * fence seqno that when signaled, indicates that the command buffer has
- * executed.
- */
-
-/**
- * struct drm_vmw_execbuf_arg
- *
- * @commands: User-space address of a command buffer cast to an __u64.
- * @command-size: Size in bytes of the command buffer.
- * @throttle-us: Sleep until software is less than @throttle_us
- * microseconds ahead of hardware. The driver may round this value
- * to the nearest kernel tick.
- * @fence_rep: User-space address of a struct drm_vmw_fence_rep cast to an
- * __u64.
- * @version: Allows expanding the execbuf ioctl parameters without breaking
- * backwards compatibility, since user-space will always tell the kernel
- * which version it uses.
- * @flags: Execbuf flags. None currently.
- *
- * Argument to the DRM_VMW_EXECBUF Ioctl.
- */
-
-#define DRM_VMW_EXECBUF_VERSION 2
-
-struct drm_vmw_execbuf_arg {
- __u64 commands;
- __u32 command_size;
- __u32 throttle_us;
- __u64 fence_rep;
- __u32 version;
- __u32 flags;
- __u32 context_handle;
- __u32 pad64;
-};
-
-/**
- * struct drm_vmw_fence_rep
- *
- * @handle: Fence object handle for fence associated with a command submission.
- * @mask: Fence flags relevant for this fence object.
- * @seqno: Fence sequence number in fifo. A fence object with a lower
- * seqno will signal the EXEC flag before a fence object with a higher
- * seqno. This can be used by user-space to avoid kernel calls to determine
- * whether a fence has signaled the EXEC flag. Note that @seqno will
- * wrap at 32-bit.
- * @passed_seqno: The highest seqno number processed by the hardware
- * so far. This can be used to mark user-space fence objects as signaled, and
- * to determine whether a fence seqno might be stale.
- * @error: This member should've been set to -EFAULT on submission.
- * The following actions should be take on completion:
- * error == -EFAULT: Fence communication failed. The host is synchronized.
- * Use the last fence id read from the FIFO fence register.
- * error != 0 && error != -EFAULT:
- * Fence submission failed. The host is synchronized. Use the fence_seq member.
- * error == 0: All is OK, The host may not be synchronized.
- * Use the fence_seq member.
- *
- * Input / Output data to the DRM_VMW_EXECBUF Ioctl.
- */
-
-struct drm_vmw_fence_rep {
- __u32 handle;
- __u32 mask;
- __u32 seqno;
- __u32 passed_seqno;
- __u32 pad64;
- __s32 error;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_ALLOC_DMABUF
- *
- * Allocate a DMA buffer that is visible also to the host.
- * NOTE: The buffer is
- * identified by a handle and an offset, which are private to the guest, but
- * useable in the command stream. The guest kernel may translate these
- * and patch up the command stream accordingly. In the future, the offset may
- * be zero at all times, or it may disappear from the interface before it is
- * fixed.
- *
- * The DMA buffer may stay user-space mapped in the guest at all times,
- * and is thus suitable for sub-allocation.
- *
- * DMA buffers are mapped using the mmap() syscall on the drm device.
- */
-
-/**
- * struct drm_vmw_alloc_dmabuf_req
- *
- * @size: Required minimum size of the buffer.
- *
- * Input data to the DRM_VMW_ALLOC_DMABUF Ioctl.
- */
-
-struct drm_vmw_alloc_dmabuf_req {
- __u32 size;
- __u32 pad64;
-};
-
-/**
- * struct drm_vmw_dmabuf_rep
- *
- * @map_handle: Offset to use in the mmap() call used to map the buffer.
- * @handle: Handle unique to this buffer. Used for unreferencing.
- * @cur_gmr_id: GMR id to use in the command stream when this buffer is
- * referenced. See not above.
- * @cur_gmr_offset: Offset to use in the command stream when this buffer is
- * referenced. See note above.
- *
- * Output data from the DRM_VMW_ALLOC_DMABUF Ioctl.
- */
-
-struct drm_vmw_dmabuf_rep {
- __u64 map_handle;
- __u32 handle;
- __u32 cur_gmr_id;
- __u32 cur_gmr_offset;
- __u32 pad64;
-};
-
-/**
- * union drm_vmw_dmabuf_arg
- *
- * @req: Input data as described above.
- * @rep: Output data as described above.
- *
- * Argument to the DRM_VMW_ALLOC_DMABUF Ioctl.
- */
-
-union drm_vmw_alloc_dmabuf_arg {
- struct drm_vmw_alloc_dmabuf_req req;
- struct drm_vmw_dmabuf_rep rep;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_UNREF_DMABUF - Free a DMA buffer.
- *
- */
-
-/**
- * struct drm_vmw_unref_dmabuf_arg
- *
- * @handle: Handle indicating what buffer to free. Obtained from the
- * DRM_VMW_ALLOC_DMABUF Ioctl.
- *
- * Argument to the DRM_VMW_UNREF_DMABUF Ioctl.
- */
-
-struct drm_vmw_unref_dmabuf_arg {
- __u32 handle;
- __u32 pad64;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_CONTROL_STREAM - Control overlays, aka streams.
- *
- * This IOCTL controls the overlay units of the svga device.
- * The SVGA overlay units does not work like regular hardware units in
- * that they do not automaticaly read back the contents of the given dma
- * buffer. But instead only read back for each call to this ioctl, and
- * at any point between this call being made and a following call that
- * either changes the buffer or disables the stream.
- */
-
-/**
- * struct drm_vmw_rect
- *
- * Defines a rectangle. Used in the overlay ioctl to define
- * source and destination rectangle.
- */
-
-struct drm_vmw_rect {
- __s32 x;
- __s32 y;
- __u32 w;
- __u32 h;
-};
-
-/**
- * struct drm_vmw_control_stream_arg
- *
- * @stream_id: Stearm to control
- * @enabled: If false all following arguments are ignored.
- * @handle: Handle to buffer for getting data from.
- * @format: Format of the overlay as understood by the host.
- * @width: Width of the overlay.
- * @height: Height of the overlay.
- * @size: Size of the overlay in bytes.
- * @pitch: Array of pitches, the two last are only used for YUV12 formats.
- * @offset: Offset from start of dma buffer to overlay.
- * @src: Source rect, must be within the defined area above.
- * @dst: Destination rect, x and y may be negative.
- *
- * Argument to the DRM_VMW_CONTROL_STREAM Ioctl.
- */
-
-struct drm_vmw_control_stream_arg {
- __u32 stream_id;
- __u32 enabled;
-
- __u32 flags;
- __u32 color_key;
-
- __u32 handle;
- __u32 offset;
- __s32 format;
- __u32 size;
- __u32 width;
- __u32 height;
- __u32 pitch[3];
-
- __u32 pad64;
- struct drm_vmw_rect src;
- struct drm_vmw_rect dst;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_CURSOR_BYPASS - Give extra information about cursor bypass.
- *
- */
-
-#define DRM_VMW_CURSOR_BYPASS_ALL (1 << 0)
-#define DRM_VMW_CURSOR_BYPASS_FLAGS (1)
-
-/**
- * struct drm_vmw_cursor_bypass_arg
- *
- * @flags: Flags.
- * @crtc_id: Crtc id, only used if DMR_CURSOR_BYPASS_ALL isn't passed.
- * @xpos: X position of cursor.
- * @ypos: Y position of cursor.
- * @xhot: X hotspot.
- * @yhot: Y hotspot.
- *
- * Argument to the DRM_VMW_CURSOR_BYPASS Ioctl.
- */
-
-struct drm_vmw_cursor_bypass_arg {
- __u32 flags;
- __u32 crtc_id;
- __s32 xpos;
- __s32 ypos;
- __s32 xhot;
- __s32 yhot;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_CLAIM_STREAM - Claim a single stream.
- */
-
-/**
- * struct drm_vmw_context_arg
- *
- * @stream_id: Device unique context ID.
- *
- * Output argument to the DRM_VMW_CREATE_CONTEXT Ioctl.
- * Input argument to the DRM_VMW_UNREF_CONTEXT Ioctl.
- */
-
-struct drm_vmw_stream_arg {
- __u32 stream_id;
- __u32 pad64;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_UNREF_STREAM - Unclaim a stream.
- *
- * Return a single stream that was claimed by this process. Also makes
- * sure that the stream has been stopped.
- */
-
-/*************************************************************************/
-/**
- * DRM_VMW_GET_3D_CAP
- *
- * Read 3D capabilities from the FIFO
- *
- */
-
-/**
- * struct drm_vmw_get_3d_cap_arg
- *
- * @buffer: Pointer to a buffer for capability data, cast to an __u64
- * @size: Max size to copy
- *
- * Input argument to the DRM_VMW_GET_3D_CAP_IOCTL
- * ioctls.
- */
-
-struct drm_vmw_get_3d_cap_arg {
- __u64 buffer;
- __u32 max_size;
- __u32 pad64;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_FENCE_WAIT
- *
- * Waits for a fence object to signal. The wait is interruptible, so that
- * signals may be delivered during the interrupt. The wait may timeout,
- * in which case the calls returns -EBUSY. If the wait is restarted,
- * that is restarting without resetting @cookie_valid to zero,
- * the timeout is computed from the first call.
- *
- * The flags argument to the DRM_VMW_FENCE_WAIT ioctl indicates what to wait
- * on:
- * DRM_VMW_FENCE_FLAG_EXEC: All commands ahead of the fence in the command
- * stream
- * have executed.
- * DRM_VMW_FENCE_FLAG_QUERY: All query results resulting from query finish
- * commands
- * in the buffer given to the EXECBUF ioctl returning the fence object handle
- * are available to user-space.
- *
- * DRM_VMW_WAIT_OPTION_UNREF: If this wait option is given, and the
- * fenc wait ioctl returns 0, the fence object has been unreferenced after
- * the wait.
- */
-
-#define DRM_VMW_FENCE_FLAG_EXEC (1 << 0)
-#define DRM_VMW_FENCE_FLAG_QUERY (1 << 1)
-
-#define DRM_VMW_WAIT_OPTION_UNREF (1 << 0)
-
-/**
- * struct drm_vmw_fence_wait_arg
- *
- * @handle: Fence object handle as returned by the DRM_VMW_EXECBUF ioctl.
- * @cookie_valid: Must be reset to 0 on first call. Left alone on restart.
- * @kernel_cookie: Set to 0 on first call. Left alone on restart.
- * @timeout_us: Wait timeout in microseconds. 0 for indefinite timeout.
- * @lazy: Set to 1 if timing is not critical. Allow more than a kernel tick
- * before returning.
- * @flags: Fence flags to wait on.
- * @wait_options: Options that control the behaviour of the wait ioctl.
- *
- * Input argument to the DRM_VMW_FENCE_WAIT ioctl.
- */
-
-struct drm_vmw_fence_wait_arg {
- __u32 handle;
- __s32 cookie_valid;
- __u64 kernel_cookie;
- __u64 timeout_us;
- __s32 lazy;
- __s32 flags;
- __s32 wait_options;
- __s32 pad64;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_FENCE_SIGNALED
- *
- * Checks if a fence object is signaled..
- */
-
-/**
- * struct drm_vmw_fence_signaled_arg
- *
- * @handle: Fence object handle as returned by the DRM_VMW_EXECBUF ioctl.
- * @flags: Fence object flags input to DRM_VMW_FENCE_SIGNALED ioctl
- * @signaled: Out: Flags signaled.
- * @sequence: Out: Highest sequence passed so far. Can be used to signal the
- * EXEC flag of user-space fence objects.
- *
- * Input/Output argument to the DRM_VMW_FENCE_SIGNALED and DRM_VMW_FENCE_UNREF
- * ioctls.
- */
-
-struct drm_vmw_fence_signaled_arg {
- __u32 handle;
- __u32 flags;
- __s32 signaled;
- __u32 passed_seqno;
- __u32 signaled_flags;
- __u32 pad64;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_FENCE_UNREF
- *
- * Unreferences a fence object, and causes it to be destroyed if there are no
- * other references to it.
- *
- */
-
-/**
- * struct drm_vmw_fence_arg
- *
- * @handle: Fence object handle as returned by the DRM_VMW_EXECBUF ioctl.
- *
- * Input/Output argument to the DRM_VMW_FENCE_UNREF ioctl..
- */
-
-struct drm_vmw_fence_arg {
- __u32 handle;
- __u32 pad64;
-};
-
-
-/*************************************************************************/
-/**
- * DRM_VMW_FENCE_EVENT
- *
- * Queues an event on a fence to be delivered on the drm character device
- * when the fence has signaled the DRM_VMW_FENCE_FLAG_EXEC flag.
- * Optionally the approximate time when the fence signaled is
- * given by the event.
- */
-
-/*
- * The event type
- */
-#define DRM_VMW_EVENT_FENCE_SIGNALED 0x80000000
-
-struct drm_vmw_event_fence {
- struct drm_event base;
- __u64 user_data;
- __u32 tv_sec;
- __u32 tv_usec;
-};
-
-/*
- * Flags that may be given to the command.
- */
-/* Request fence signaled time on the event. */
-#define DRM_VMW_FE_FLAG_REQ_TIME (1 << 0)
-
-/**
- * struct drm_vmw_fence_event_arg
- *
- * @fence_rep: Pointer to fence_rep structure cast to __u64 or 0 if
- * the fence is not supposed to be referenced by user-space.
- * @user_info: Info to be delivered with the event.
- * @handle: Attach the event to this fence only.
- * @flags: A set of flags as defined above.
- */
-struct drm_vmw_fence_event_arg {
- __u64 fence_rep;
- __u64 user_data;
- __u32 handle;
- __u32 flags;
-};
-
-
-/*************************************************************************/
-/**
- * DRM_VMW_PRESENT
- *
- * Executes an SVGA present on a given fb for a given surface. The surface
- * is placed on the framebuffer. Cliprects are given relative to the given
- * point (the point disignated by dest_{x|y}).
- *
- */
-
-/**
- * struct drm_vmw_present_arg
- * @fb_id: framebuffer id to present / read back from.
- * @sid: Surface id to present from.
- * @dest_x: X placement coordinate for surface.
- * @dest_y: Y placement coordinate for surface.
- * @clips_ptr: Pointer to an array of clip rects cast to an __u64.
- * @num_clips: Number of cliprects given relative to the framebuffer origin,
- * in the same coordinate space as the frame buffer.
- * @pad64: Unused 64-bit padding.
- *
- * Input argument to the DRM_VMW_PRESENT ioctl.
- */
-
-struct drm_vmw_present_arg {
- __u32 fb_id;
- __u32 sid;
- __s32 dest_x;
- __s32 dest_y;
- __u64 clips_ptr;
- __u32 num_clips;
- __u32 pad64;
-};
-
-
-/*************************************************************************/
-/**
- * DRM_VMW_PRESENT_READBACK
- *
- * Executes an SVGA present readback from a given fb to the dma buffer
- * currently bound as the fb. If there is no dma buffer bound to the fb,
- * an error will be returned.
- *
- */
-
-/**
- * struct drm_vmw_present_arg
- * @fb_id: fb_id to present / read back from.
- * @num_clips: Number of cliprects.
- * @clips_ptr: Pointer to an array of clip rects cast to an __u64.
- * @fence_rep: Pointer to a struct drm_vmw_fence_rep, cast to an __u64.
- * If this member is NULL, then the ioctl should not return a fence.
- */
-
-struct drm_vmw_present_readback_arg {
- __u32 fb_id;
- __u32 num_clips;
- __u64 clips_ptr;
- __u64 fence_rep;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_UPDATE_LAYOUT - Update layout
- *
- * Updates the preferred modes and connection status for connectors. The
- * command consists of one drm_vmw_update_layout_arg pointing to an array
- * of num_outputs drm_vmw_rect's.
- */
-
-/**
- * struct drm_vmw_update_layout_arg
- *
- * @num_outputs: number of active connectors
- * @rects: pointer to array of drm_vmw_rect cast to an __u64
- *
- * Input argument to the DRM_VMW_UPDATE_LAYOUT Ioctl.
- */
-struct drm_vmw_update_layout_arg {
- __u32 num_outputs;
- __u32 pad64;
- __u64 rects;
-};
-
-
-/*************************************************************************/
-/**
- * DRM_VMW_CREATE_SHADER - Create shader
- *
- * Creates a shader and optionally binds it to a dma buffer containing
- * the shader byte-code.
- */
-
-/**
- * enum drm_vmw_shader_type - Shader types
- */
-enum drm_vmw_shader_type {
- drm_vmw_shader_type_vs = 0,
- drm_vmw_shader_type_ps,
-};
-
-
-/**
- * struct drm_vmw_shader_create_arg
- *
- * @shader_type: Shader type of the shader to create.
- * @size: Size of the byte-code in bytes.
- * where the shader byte-code starts
- * @buffer_handle: Buffer handle identifying the buffer containing the
- * shader byte-code
- * @shader_handle: On successful completion contains a handle that
- * can be used to subsequently identify the shader.
- * @offset: Offset in bytes into the buffer given by @buffer_handle,
- *
- * Input / Output argument to the DRM_VMW_CREATE_SHADER Ioctl.
- */
-struct drm_vmw_shader_create_arg {
- enum drm_vmw_shader_type shader_type;
- __u32 size;
- __u32 buffer_handle;
- __u32 shader_handle;
- __u64 offset;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_UNREF_SHADER - Unreferences a shader
- *
- * Destroys a user-space reference to a shader, optionally destroying
- * it.
- */
-
-/**
- * struct drm_vmw_shader_arg
- *
- * @handle: Handle identifying the shader to destroy.
- *
- * Input argument to the DRM_VMW_UNREF_SHADER ioctl.
- */
-struct drm_vmw_shader_arg {
- __u32 handle;
- __u32 pad64;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_GB_SURFACE_CREATE - Create a host guest-backed surface.
- *
- * Allocates a surface handle and queues a create surface command
- * for the host on the first use of the surface. The surface ID can
- * be used as the surface ID in commands referencing the surface.
- */
-
-/**
- * enum drm_vmw_surface_flags
- *
- * @drm_vmw_surface_flag_shareable: Whether the surface is shareable
- * @drm_vmw_surface_flag_scanout: Whether the surface is a scanout
- * surface.
- * @drm_vmw_surface_flag_create_buffer: Create a backup buffer if none is
- * given.
- */
-enum drm_vmw_surface_flags {
- drm_vmw_surface_flag_shareable = (1 << 0),
- drm_vmw_surface_flag_scanout = (1 << 1),
- drm_vmw_surface_flag_create_buffer = (1 << 2)
-};
-
-/**
- * struct drm_vmw_gb_surface_create_req
- *
- * @svga3d_flags: SVGA3d surface flags for the device.
- * @format: SVGA3d format.
- * @mip_level: Number of mip levels for all faces.
- * @drm_surface_flags Flags as described above.
- * @multisample_count Future use. Set to 0.
- * @autogen_filter Future use. Set to 0.
- * @buffer_handle Buffer handle of backup buffer. SVGA3D_INVALID_ID
- * if none.
- * @base_size Size of the base mip level for all faces.
- * @array_size Must be zero for non-DX hardware, and if non-zero
- * svga3d_flags must have proper bind flags setup.
- *
- * Input argument to the DRM_VMW_GB_SURFACE_CREATE Ioctl.
- * Part of output argument for the DRM_VMW_GB_SURFACE_REF Ioctl.
- */
-struct drm_vmw_gb_surface_create_req {
- __u32 svga3d_flags;
- __u32 format;
- __u32 mip_levels;
- enum drm_vmw_surface_flags drm_surface_flags;
- __u32 multisample_count;
- __u32 autogen_filter;
- __u32 buffer_handle;
- __u32 array_size;
- struct drm_vmw_size base_size;
-};
-
-/**
- * struct drm_vmw_gb_surface_create_rep
- *
- * @handle: Surface handle.
- * @backup_size: Size of backup buffers for this surface.
- * @buffer_handle: Handle of backup buffer. SVGA3D_INVALID_ID if none.
- * @buffer_size: Actual size of the buffer identified by
- * @buffer_handle
- * @buffer_map_handle: Offset into device address space for the buffer
- * identified by @buffer_handle.
- *
- * Part of output argument for the DRM_VMW_GB_SURFACE_REF ioctl.
- * Output argument for the DRM_VMW_GB_SURFACE_CREATE ioctl.
- */
-struct drm_vmw_gb_surface_create_rep {
- __u32 handle;
- __u32 backup_size;
- __u32 buffer_handle;
- __u32 buffer_size;
- __u64 buffer_map_handle;
-};
-
-/**
- * union drm_vmw_gb_surface_create_arg
- *
- * @req: Input argument as described above.
- * @rep: Output argument as described above.
- *
- * Argument to the DRM_VMW_GB_SURFACE_CREATE ioctl.
- */
-union drm_vmw_gb_surface_create_arg {
- struct drm_vmw_gb_surface_create_rep rep;
- struct drm_vmw_gb_surface_create_req req;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_GB_SURFACE_REF - Reference a host surface.
- *
- * Puts a reference on a host surface with a given handle, as previously
- * returned by the DRM_VMW_GB_SURFACE_CREATE ioctl.
- * A reference will make sure the surface isn't destroyed while we hold
- * it and will allow the calling client to use the surface handle in
- * the command stream.
- *
- * On successful return, the Ioctl returns the surface information given
- * to and returned from the DRM_VMW_GB_SURFACE_CREATE ioctl.
- */
-
-/**
- * struct drm_vmw_gb_surface_reference_arg
- *
- * @creq: The data used as input when the surface was created, as described
- * above at "struct drm_vmw_gb_surface_create_req"
- * @crep: Additional data output when the surface was created, as described
- * above at "struct drm_vmw_gb_surface_create_rep"
- *
- * Output Argument to the DRM_VMW_GB_SURFACE_REF ioctl.
- */
-struct drm_vmw_gb_surface_ref_rep {
- struct drm_vmw_gb_surface_create_req creq;
- struct drm_vmw_gb_surface_create_rep crep;
-};
-
-/**
- * union drm_vmw_gb_surface_reference_arg
- *
- * @req: Input data as described above at "struct drm_vmw_surface_arg"
- * @rep: Output data as described above at "struct drm_vmw_gb_surface_ref_rep"
- *
- * Argument to the DRM_VMW_GB_SURFACE_REF Ioctl.
- */
-union drm_vmw_gb_surface_reference_arg {
- struct drm_vmw_gb_surface_ref_rep rep;
- struct drm_vmw_surface_arg req;
-};
-
-
-/*************************************************************************/
-/**
- * DRM_VMW_SYNCCPU - Sync a DMA buffer / MOB for CPU access.
- *
- * Idles any previously submitted GPU operations on the buffer and
- * by default blocks command submissions that reference the buffer.
- * If the file descriptor used to grab a blocking CPU sync is closed, the
- * cpu sync is released.
- * The flags argument indicates how the grab / release operation should be
- * performed:
- */
-
-/**
- * enum drm_vmw_synccpu_flags - Synccpu flags:
- *
- * @drm_vmw_synccpu_read: Sync for read. If sync is done for read only, it's a
- * hint to the kernel to allow command submissions that references the buffer
- * for read-only.
- * @drm_vmw_synccpu_write: Sync for write. Block all command submissions
- * referencing this buffer.
- * @drm_vmw_synccpu_dontblock: Dont wait for GPU idle, but rather return
- * -EBUSY should the buffer be busy.
- * @drm_vmw_synccpu_allow_cs: Allow command submission that touches the buffer
- * while the buffer is synced for CPU. This is similar to the GEM bo idle
- * behavior.
- */
-enum drm_vmw_synccpu_flags {
- drm_vmw_synccpu_read = (1 << 0),
- drm_vmw_synccpu_write = (1 << 1),
- drm_vmw_synccpu_dontblock = (1 << 2),
- drm_vmw_synccpu_allow_cs = (1 << 3)
-};
-
-/**
- * enum drm_vmw_synccpu_op - Synccpu operations:
- *
- * @drm_vmw_synccpu_grab: Grab the buffer for CPU operations
- * @drm_vmw_synccpu_release: Release a previous grab.
- */
-enum drm_vmw_synccpu_op {
- drm_vmw_synccpu_grab,
- drm_vmw_synccpu_release
-};
-
-/**
- * struct drm_vmw_synccpu_arg
- *
- * @op: The synccpu operation as described above.
- * @handle: Handle identifying the buffer object.
- * @flags: Flags as described above.
- */
-struct drm_vmw_synccpu_arg {
- enum drm_vmw_synccpu_op op;
- enum drm_vmw_synccpu_flags flags;
- __u32 handle;
- __u32 pad64;
-};
-
-/*************************************************************************/
-/**
- * DRM_VMW_CREATE_EXTENDED_CONTEXT - Create a host context.
- *
- * Allocates a device unique context id, and queues a create context command
- * for the host. Does not wait for host completion.
- */
-enum drm_vmw_extended_context {
- drm_vmw_context_legacy,
- drm_vmw_context_dx
-};
-
-/**
- * union drm_vmw_extended_context_arg
- *
- * @req: Context type.
- * @rep: Context identifier.
- *
- * Argument to the DRM_VMW_CREATE_EXTENDED_CONTEXT Ioctl.
- */
-union drm_vmw_extended_context_arg {
- enum drm_vmw_extended_context req;
- struct drm_vmw_context_arg rep;
-};
-#endif
diff --git a/linux-headers/include/linux/acct.h b/linux-headers/include/linux/acct.h
deleted file mode 100644
index 19baf8a..0000000
--- a/linux-headers/include/linux/acct.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * BSD Process Accounting for Linux - Definitions
- *
- * Author: Marco van Wieringen (mvw@planets.elm.net)
- *
- * This header file contains the definitions needed to implement
- * BSD-style process accounting. The kernel accounting code and all
- * user-level programs that try to do something useful with the
- * process accounting log must include this file.
- *
- * Copyright (C) 1995 - 1997 Marco van Wieringen - ELM Consultancy B.V.
- *
- */
-
-#ifndef _LINUX_ACCT_H
-#define _LINUX_ACCT_H
-
-#include <linux/types.h>
-
-#include <asm/param.h>
-#include <asm/byteorder.h>
-
-/*
- * comp_t is a 16-bit "floating" point number with a 3-bit base 8
- * exponent and a 13-bit fraction.
- * comp2_t is 24-bit with 5-bit base 2 exponent and 20 bit fraction
- * (leading 1 not stored).
- * See linux/kernel/acct.c for the specific encoding systems used.
- */
-
-typedef __u16 comp_t;
-typedef __u32 comp2_t;
-
-/*
- * accounting file record
- *
- * This structure contains all of the information written out to the
- * process accounting file whenever a process exits.
- */
-
-#define ACCT_COMM 16
-
-struct acct
-{
- char ac_flag; /* Flags */
- char ac_version; /* Always set to ACCT_VERSION */
- /* for binary compatibility back until 2.0 */
- __u16 ac_uid16; /* LSB of Real User ID */
- __u16 ac_gid16; /* LSB of Real Group ID */
- __u16 ac_tty; /* Control Terminal */
- __u32 ac_btime; /* Process Creation Time */
- comp_t ac_utime; /* User Time */
- comp_t ac_stime; /* System Time */
- comp_t ac_etime; /* Elapsed Time */
- comp_t ac_mem; /* Average Memory Usage */
- comp_t ac_io; /* Chars Transferred */
- comp_t ac_rw; /* Blocks Read or Written */
- comp_t ac_minflt; /* Minor Pagefaults */
- comp_t ac_majflt; /* Major Pagefaults */
- comp_t ac_swaps; /* Number of Swaps */
-/* m68k had no padding here. */
- __u16 ac_ahz; /* AHZ */
- __u32 ac_exitcode; /* Exitcode */
- char ac_comm[ACCT_COMM + 1]; /* Command Name */
- __u8 ac_etime_hi; /* Elapsed Time MSB */
- __u16 ac_etime_lo; /* Elapsed Time LSB */
- __u32 ac_uid; /* Real User ID */
- __u32 ac_gid; /* Real Group ID */
-};
-
-struct acct_v3
-{
- char ac_flag; /* Flags */
- char ac_version; /* Always set to ACCT_VERSION */
- __u16 ac_tty; /* Control Terminal */
- __u32 ac_exitcode; /* Exitcode */
- __u32 ac_uid; /* Real User ID */
- __u32 ac_gid; /* Real Group ID */
- __u32 ac_pid; /* Process ID */
- __u32 ac_ppid; /* Parent Process ID */
- __u32 ac_btime; /* Process Creation Time */
- float ac_etime; /* Elapsed Time */
- comp_t ac_utime; /* User Time */
- comp_t ac_stime; /* System Time */
- comp_t ac_mem; /* Average Memory Usage */
- comp_t ac_io; /* Chars Transferred */
- comp_t ac_rw; /* Blocks Read or Written */
- comp_t ac_minflt; /* Minor Pagefaults */
- comp_t ac_majflt; /* Major Pagefaults */
- comp_t ac_swaps; /* Number of Swaps */
- char ac_comm[ACCT_COMM]; /* Command Name */
-};
-
-/*
- * accounting flags
- */
- /* bit set when the process ... */
-#define AFORK 0x01 /* ... executed fork, but did not exec */
-#define ASU 0x02 /* ... used super-user privileges */
-#define ACOMPAT 0x04 /* ... used compatibility mode (VAX only not used) */
-#define ACORE 0x08 /* ... dumped core */
-#define AXSIG 0x10 /* ... was killed by a signal */
-
-#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
-#define ACCT_BYTEORDER 0x80 /* accounting file is big endian */
-#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
-#define ACCT_BYTEORDER 0x00 /* accounting file is little endian */
-#else
-#error unspecified endianness
-#endif
-
-#define ACCT_VERSION 2
-#define AHZ (HZ)
-
-
-#endif /* _LINUX_ACCT_H */
diff --git a/linux-headers/include/linux/adb.h b/linux-headers/include/linux/adb.h
deleted file mode 100644
index 0815025..0000000
--- a/linux-headers/include/linux/adb.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Definitions for ADB (Apple Desktop Bus) support.
- */
-#ifndef __ADB_H
-#define __ADB_H
-
-/* ADB commands */
-#define ADB_BUSRESET 0
-#define ADB_FLUSH(id) (0x01 | ((id) << 4))
-#define ADB_WRITEREG(id, reg) (0x08 | (reg) | ((id) << 4))
-#define ADB_READREG(id, reg) (0x0C | (reg) | ((id) << 4))
-
-/* ADB default device IDs (upper 4 bits of ADB command byte) */
-#define ADB_DONGLE 1 /* "software execution control" devices */
-#define ADB_KEYBOARD 2
-#define ADB_MOUSE 3
-#define ADB_TABLET 4
-#define ADB_MODEM 5
-#define ADB_MISC 7 /* maybe a monitor */
-
-#define ADB_RET_OK 0
-#define ADB_RET_TIMEOUT 3
-
-/* The kind of ADB request. The controller may emulate some
- or all of those CUDA/PMU packet kinds */
-#define ADB_PACKET 0
-#define CUDA_PACKET 1
-#define ERROR_PACKET 2
-#define TIMER_PACKET 3
-#define POWER_PACKET 4
-#define MACIIC_PACKET 5
-#define PMU_PACKET 6
-#define ADB_QUERY 7
-
-/* ADB queries */
-
-/* ADB_QUERY_GETDEVINFO
- * Query ADB slot for device presence
- * data[2] = id, rep[0] = orig addr, rep[1] = handler_id
- */
-#define ADB_QUERY_GETDEVINFO 1
-
-
-#endif /* __ADB_H */
diff --git a/linux-headers/include/linux/adfs_fs.h b/linux-headers/include/linux/adfs_fs.h
deleted file mode 100644
index 4f506dc..0000000
--- a/linux-headers/include/linux/adfs_fs.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _ADFS_FS_H
-#define _ADFS_FS_H
-
-#include <linux/types.h>
-#include <linux/magic.h>
-
-/*
- * Disc Record at disc address 0xc00
- */
-struct adfs_discrecord {
- __u8 log2secsize;
- __u8 secspertrack;
- __u8 heads;
- __u8 density;
- __u8 idlen;
- __u8 log2bpmb;
- __u8 skew;
- __u8 bootoption;
- __u8 lowsector;
- __u8 nzones;
- __le16 zone_spare;
- __le32 root;
- __le32 disc_size;
- __le16 disc_id;
- __u8 disc_name[10];
- __le32 disc_type;
- __le32 disc_size_high;
- __u8 log2sharesize:4;
- __u8 unused40:4;
- __u8 big_flag:1;
- __u8 unused41:1;
- __u8 nzones_high;
- __le32 format_version;
- __le32 root_size;
- __u8 unused52[60 - 52];
-};
-
-#define ADFS_DISCRECORD (0xc00)
-#define ADFS_DR_OFFSET (0x1c0)
-#define ADFS_DR_SIZE 60
-#define ADFS_DR_SIZE_BITS (ADFS_DR_SIZE << 3)
-
-
-#endif /* _ADFS_FS_H */
diff --git a/linux-headers/include/linux/affs_hardblocks.h b/linux-headers/include/linux/affs_hardblocks.h
deleted file mode 100644
index f1b948c..0000000
--- a/linux-headers/include/linux/affs_hardblocks.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef AFFS_HARDBLOCKS_H
-#define AFFS_HARDBLOCKS_H
-
-#include <linux/types.h>
-
-/* Just the needed definitions for the RDB of an Amiga HD. */
-
-struct RigidDiskBlock {
- __u32 rdb_ID;
- __be32 rdb_SummedLongs;
- __s32 rdb_ChkSum;
- __u32 rdb_HostID;
- __be32 rdb_BlockBytes;
- __u32 rdb_Flags;
- __u32 rdb_BadBlockList;
- __be32 rdb_PartitionList;
- __u32 rdb_FileSysHeaderList;
- __u32 rdb_DriveInit;
- __u32 rdb_Reserved1[6];
- __u32 rdb_Cylinders;
- __u32 rdb_Sectors;
- __u32 rdb_Heads;
- __u32 rdb_Interleave;
- __u32 rdb_Park;
- __u32 rdb_Reserved2[3];
- __u32 rdb_WritePreComp;
- __u32 rdb_ReducedWrite;
- __u32 rdb_StepRate;
- __u32 rdb_Reserved3[5];
- __u32 rdb_RDBBlocksLo;
- __u32 rdb_RDBBlocksHi;
- __u32 rdb_LoCylinder;
- __u32 rdb_HiCylinder;
- __u32 rdb_CylBlocks;
- __u32 rdb_AutoParkSeconds;
- __u32 rdb_HighRDSKBlock;
- __u32 rdb_Reserved4;
- char rdb_DiskVendor[8];
- char rdb_DiskProduct[16];
- char rdb_DiskRevision[4];
- char rdb_ControllerVendor[8];
- char rdb_ControllerProduct[16];
- char rdb_ControllerRevision[4];
- __u32 rdb_Reserved5[10];
-};
-
-#define IDNAME_RIGIDDISK 0x5244534B /* "RDSK" */
-
-struct PartitionBlock {
- __be32 pb_ID;
- __be32 pb_SummedLongs;
- __s32 pb_ChkSum;
- __u32 pb_HostID;
- __be32 pb_Next;
- __u32 pb_Flags;
- __u32 pb_Reserved1[2];
- __u32 pb_DevFlags;
- __u8 pb_DriveName[32];
- __u32 pb_Reserved2[15];
- __be32 pb_Environment[17];
- __u32 pb_EReserved[15];
-};
-
-#define IDNAME_PARTITION 0x50415254 /* "PART" */
-
-#define RDB_ALLOCATION_LIMIT 16
-
-#endif /* AFFS_HARDBLOCKS_H */
diff --git a/linux-headers/include/linux/agpgart.h b/linux-headers/include/linux/agpgart.h
deleted file mode 100644
index cee0ec7..0000000
--- a/linux-headers/include/linux/agpgart.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * AGPGART module version 0.99
- * Copyright (C) 1999 Jeff Hartmann
- * Copyright (C) 1999 Precision Insight, Inc.
- * Copyright (C) 1999 Xi Graphics, Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * JEFF HARTMANN, OR ANY OTHER CONTRIBUTORS BE LIABLE FOR ANY CLAIM,
- * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
- * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE
- * OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- *
- */
-
-#ifndef _AGP_H
-#define _AGP_H
-
-#define AGPIOC_BASE 'A'
-#define AGPIOC_INFO _IOR (AGPIOC_BASE, 0, struct agp_info*)
-#define AGPIOC_ACQUIRE _IO (AGPIOC_BASE, 1)
-#define AGPIOC_RELEASE _IO (AGPIOC_BASE, 2)
-#define AGPIOC_SETUP _IOW (AGPIOC_BASE, 3, struct agp_setup*)
-#define AGPIOC_RESERVE _IOW (AGPIOC_BASE, 4, struct agp_region*)
-#define AGPIOC_PROTECT _IOW (AGPIOC_BASE, 5, struct agp_region*)
-#define AGPIOC_ALLOCATE _IOWR(AGPIOC_BASE, 6, struct agp_allocate*)
-#define AGPIOC_DEALLOCATE _IOW (AGPIOC_BASE, 7, int)
-#define AGPIOC_BIND _IOW (AGPIOC_BASE, 8, struct agp_bind*)
-#define AGPIOC_UNBIND _IOW (AGPIOC_BASE, 9, struct agp_unbind*)
-#define AGPIOC_CHIPSET_FLUSH _IO (AGPIOC_BASE, 10)
-
-#define AGP_DEVICE "/dev/agpgart"
-
-#ifndef TRUE
-#define TRUE 1
-#endif
-
-#ifndef FALSE
-#define FALSE 0
-#endif
-
-#include <linux/types.h>
-#include <stdlib.h>
-
-struct agp_version {
- __u16 major;
- __u16 minor;
-};
-
-typedef struct _agp_info {
- struct agp_version version; /* version of the driver */
- __u32 bridge_id; /* bridge vendor/device */
- __u32 agp_mode; /* mode info of bridge */
- unsigned long aper_base;/* base of aperture */
- size_t aper_size; /* size of aperture */
- size_t pg_total; /* max pages (swap + system) */
- size_t pg_system; /* max pages (system) */
- size_t pg_used; /* current pages used */
-} agp_info;
-
-typedef struct _agp_setup {
- __u32 agp_mode; /* mode info of bridge */
-} agp_setup;
-
-/*
- * The "prot" down below needs still a "sleep" flag somehow ...
- */
-typedef struct _agp_segment {
- __kernel_off_t pg_start; /* starting page to populate */
- __kernel_size_t pg_count; /* number of pages */
- int prot; /* prot flags for mmap */
-} agp_segment;
-
-typedef struct _agp_region {
- __kernel_pid_t pid; /* pid of process */
- __kernel_size_t seg_count; /* number of segments */
- struct _agp_segment *seg_list;
-} agp_region;
-
-typedef struct _agp_allocate {
- int key; /* tag of allocation */
- __kernel_size_t pg_count;/* number of pages */
- __u32 type; /* 0 == normal, other devspec */
- __u32 physical; /* device specific (some devices
- * need a phys address of the
- * actual page behind the gatt
- * table) */
-} agp_allocate;
-
-typedef struct _agp_bind {
- int key; /* tag of allocation */
- __kernel_off_t pg_start;/* starting page to populate */
-} agp_bind;
-
-typedef struct _agp_unbind {
- int key; /* tag of allocation */
- __u32 priority; /* priority for paging out */
-} agp_unbind;
-
-
-#endif /* _AGP_H */
diff --git a/linux-headers/include/linux/aio_abi.h b/linux-headers/include/linux/aio_abi.h
deleted file mode 100644
index bb2554f..0000000
--- a/linux-headers/include/linux/aio_abi.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/* include/linux/aio_abi.h
- *
- * Copyright 2000,2001,2002 Red Hat.
- *
- * Written by Benjamin LaHaise <bcrl@kvack.org>
- *
- * Distribute under the terms of the GPLv2 (see ../../COPYING) or under
- * the following terms.
- *
- * Permission to use, copy, modify, and distribute this software and its
- * documentation is hereby granted, provided that the above copyright
- * notice appears in all copies. This software is provided without any
- * warranty, express or implied. Red Hat makes no representations about
- * the suitability of this software for any purpose.
- *
- * IN NO EVENT SHALL RED HAT BE LIABLE TO ANY PARTY FOR DIRECT, INDIRECT,
- * SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OF
- * THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF RED HAT HAS BEEN ADVISED
- * OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * RED HAT DISCLAIMS ANY WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS ON AN "AS IS" BASIS, AND
- * RED HAT HAS NO OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES,
- * ENHANCEMENTS, OR MODIFICATIONS.
- */
-#ifndef __LINUX__AIO_ABI_H
-#define __LINUX__AIO_ABI_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-typedef __kernel_ulong_t aio_context_t;
-
-enum {
- IOCB_CMD_PREAD = 0,
- IOCB_CMD_PWRITE = 1,
- IOCB_CMD_FSYNC = 2,
- IOCB_CMD_FDSYNC = 3,
- /* These two are experimental.
- * IOCB_CMD_PREADX = 4,
- * IOCB_CMD_POLL = 5,
- */
- IOCB_CMD_NOOP = 6,
- IOCB_CMD_PREADV = 7,
- IOCB_CMD_PWRITEV = 8,
-};
-
-/*
- * Valid flags for the "aio_flags" member of the "struct iocb".
- *
- * IOCB_FLAG_RESFD - Set if the "aio_resfd" member of the "struct iocb"
- * is valid.
- */
-#define IOCB_FLAG_RESFD (1 << 0)
-
-/* read() from /dev/aio returns these structures. */
-struct io_event {
- __u64 data; /* the data field from the iocb */
- __u64 obj; /* what iocb this event came from */
- __s64 res; /* result code for this event */
- __s64 res2; /* secondary result */
-};
-
-#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
-#define PADDED(x,y) x, y
-#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
-#define PADDED(x,y) y, x
-#else
-#error edit for your odd byteorder.
-#endif
-
-/*
- * we always use a 64bit off_t when communicating
- * with userland. its up to libraries to do the
- * proper padding and aio_error abstraction
- */
-
-struct iocb {
- /* these are internal to the kernel/libc. */
- __u64 aio_data; /* data to be returned in event's data */
- __u32 PADDED(aio_key, aio_reserved1);
- /* the kernel sets aio_key to the req # */
-
- /* common fields */
- __u16 aio_lio_opcode; /* see IOCB_CMD_ above */
- __s16 aio_reqprio;
- __u32 aio_fildes;
-
- __u64 aio_buf;
- __u64 aio_nbytes;
- __s64 aio_offset;
-
- /* extra parameters */
- __u64 aio_reserved2; /* TODO: use this for a (struct sigevent *) */
-
- /* flags for the "struct iocb" */
- __u32 aio_flags;
-
- /*
- * if the IOCB_FLAG_RESFD flag of "aio_flags" is set, this is an
- * eventfd to signal AIO readiness to
- */
- __u32 aio_resfd;
-}; /* 64 bytes */
-
-#undef IFBIG
-#undef IFLITTLE
-
-#endif /* __LINUX__AIO_ABI_H */
-
diff --git a/linux-headers/include/linux/am437x-vpfe.h b/linux-headers/include/linux/am437x-vpfe.h
deleted file mode 100644
index d757743..0000000
--- a/linux-headers/include/linux/am437x-vpfe.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (C) 2013 - 2014 Texas Instruments, Inc.
- *
- * Benoit Parrot <bparrot@ti.com>
- * Lad, Prabhakar <prabhakar.csengg@gmail.com>
- *
- * This program is free software; you may redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef AM437X_VPFE_USER_H
-#define AM437X_VPFE_USER_H
-
-#include <linux/videodev2.h>
-
-enum vpfe_ccdc_data_size {
- VPFE_CCDC_DATA_16BITS = 0,
- VPFE_CCDC_DATA_15BITS,
- VPFE_CCDC_DATA_14BITS,
- VPFE_CCDC_DATA_13BITS,
- VPFE_CCDC_DATA_12BITS,
- VPFE_CCDC_DATA_11BITS,
- VPFE_CCDC_DATA_10BITS,
- VPFE_CCDC_DATA_8BITS,
-};
-
-/* enum for No of pixel per line to be avg. in Black Clamping*/
-enum vpfe_ccdc_sample_length {
- VPFE_CCDC_SAMPLE_1PIXELS = 0,
- VPFE_CCDC_SAMPLE_2PIXELS,
- VPFE_CCDC_SAMPLE_4PIXELS,
- VPFE_CCDC_SAMPLE_8PIXELS,
- VPFE_CCDC_SAMPLE_16PIXELS,
-};
-
-/* enum for No of lines in Black Clamping */
-enum vpfe_ccdc_sample_line {
- VPFE_CCDC_SAMPLE_1LINES = 0,
- VPFE_CCDC_SAMPLE_2LINES,
- VPFE_CCDC_SAMPLE_4LINES,
- VPFE_CCDC_SAMPLE_8LINES,
- VPFE_CCDC_SAMPLE_16LINES,
-};
-
-/* enum for Alaw gamma width */
-enum vpfe_ccdc_gamma_width {
- VPFE_CCDC_GAMMA_BITS_15_6 = 0, /* use bits 15-6 for gamma */
- VPFE_CCDC_GAMMA_BITS_14_5,
- VPFE_CCDC_GAMMA_BITS_13_4,
- VPFE_CCDC_GAMMA_BITS_12_3,
- VPFE_CCDC_GAMMA_BITS_11_2,
- VPFE_CCDC_GAMMA_BITS_10_1,
- VPFE_CCDC_GAMMA_BITS_09_0, /* use bits 9-0 for gamma */
-};
-
-/* structure for ALaw */
-struct vpfe_ccdc_a_law {
- /* Enable/disable A-Law */
- unsigned char enable;
- /* Gamma Width Input */
- enum vpfe_ccdc_gamma_width gamma_wd;
-};
-
-/* structure for Black Clamping */
-struct vpfe_ccdc_black_clamp {
- unsigned char enable;
- /* only if bClampEnable is TRUE */
- enum vpfe_ccdc_sample_length sample_pixel;
- /* only if bClampEnable is TRUE */
- enum vpfe_ccdc_sample_line sample_ln;
- /* only if bClampEnable is TRUE */
- unsigned short start_pixel;
- /* only if bClampEnable is TRUE */
- unsigned short sgain;
- /* only if bClampEnable is FALSE */
- unsigned short dc_sub;
-};
-
-/* structure for Black Level Compensation */
-struct vpfe_ccdc_black_compensation {
- /* Constant value to subtract from Red component */
- char r;
- /* Constant value to subtract from Gr component */
- char gr;
- /* Constant value to subtract from Blue component */
- char b;
- /* Constant value to subtract from Gb component */
- char gb;
-};
-
-/* Structure for CCDC configuration parameters for raw capture mode passed
- * by application
- */
-struct vpfe_ccdc_config_params_raw {
- /* data size value from 8 to 16 bits */
- enum vpfe_ccdc_data_size data_sz;
- /* Structure for Optional A-Law */
- struct vpfe_ccdc_a_law alaw;
- /* Structure for Optical Black Clamp */
- struct vpfe_ccdc_black_clamp blk_clamp;
- /* Structure for Black Compensation */
- struct vpfe_ccdc_black_compensation blk_comp;
-};
-
-/*
- * Private IOCTL
- * VIDIOC_AM437X_CCDC_CFG - Set CCDC configuration for raw capture
- * This is an experimental ioctl that will change in future kernels. So use
- * this ioctl with care !
- **/
-#define VIDIOC_AM437X_CCDC_CFG \
- _IOW('V', BASE_VIDIOC_PRIVATE + 1, void *)
-
-#endif /* AM437X_VPFE_USER_H */
diff --git a/linux-headers/include/linux/android/binder.h b/linux-headers/include/linux/android/binder.h
deleted file mode 100644
index bef9fd6..0000000
--- a/linux-headers/include/linux/android/binder.h
+++ /dev/null
@@ -1,352 +0,0 @@
-/*
- * Copyright (C) 2008 Google, Inc.
- *
- * Based on, but no longer compatible with, the original
- * OpenBinder.org binder driver interface, which is:
- *
- * Copyright (c) 2005 Palmsource, Inc.
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-
-#ifndef _LINUX_BINDER_H
-#define _LINUX_BINDER_H
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-#define B_PACK_CHARS(c1, c2, c3, c4) \
- ((((c1)<<24)) | (((c2)<<16)) | (((c3)<<8)) | (c4))
-#define B_TYPE_LARGE 0x85
-
-enum {
- BINDER_TYPE_BINDER = B_PACK_CHARS('s', 'b', '*', B_TYPE_LARGE),
- BINDER_TYPE_WEAK_BINDER = B_PACK_CHARS('w', 'b', '*', B_TYPE_LARGE),
- BINDER_TYPE_HANDLE = B_PACK_CHARS('s', 'h', '*', B_TYPE_LARGE),
- BINDER_TYPE_WEAK_HANDLE = B_PACK_CHARS('w', 'h', '*', B_TYPE_LARGE),
- BINDER_TYPE_FD = B_PACK_CHARS('f', 'd', '*', B_TYPE_LARGE),
-};
-
-enum {
- FLAT_BINDER_FLAG_PRIORITY_MASK = 0xff,
- FLAT_BINDER_FLAG_ACCEPTS_FDS = 0x100,
-};
-
-#ifdef BINDER_IPC_32BIT
-typedef __u32 binder_size_t;
-typedef __u32 binder_uintptr_t;
-#else
-typedef __u64 binder_size_t;
-typedef __u64 binder_uintptr_t;
-#endif
-
-/*
- * This is the flattened representation of a Binder object for transfer
- * between processes. The 'offsets' supplied as part of a binder transaction
- * contains offsets into the data where these structures occur. The Binder
- * driver takes care of re-writing the structure type and data as it moves
- * between processes.
- */
-struct flat_binder_object {
- /* 8 bytes for large_flat_header. */
- __u32 type;
- __u32 flags;
-
- /* 8 bytes of data. */
- union {
- binder_uintptr_t binder; /* local object */
- __u32 handle; /* remote object */
- };
-
- /* extra data associated with local object */
- binder_uintptr_t cookie;
-};
-
-/*
- * On 64-bit platforms where user code may run in 32-bits the driver must
- * translate the buffer (and local binder) addresses appropriately.
- */
-
-struct binder_write_read {
- binder_size_t write_size; /* bytes to write */
- binder_size_t write_consumed; /* bytes consumed by driver */
- binder_uintptr_t write_buffer;
- binder_size_t read_size; /* bytes to read */
- binder_size_t read_consumed; /* bytes consumed by driver */
- binder_uintptr_t read_buffer;
-};
-
-/* Use with BINDER_VERSION, driver fills in fields. */
-struct binder_version {
- /* driver protocol version -- increment with incompatible change */
- __s32 protocol_version;
-};
-
-/* This is the current protocol version. */
-#ifdef BINDER_IPC_32BIT
-#define BINDER_CURRENT_PROTOCOL_VERSION 7
-#else
-#define BINDER_CURRENT_PROTOCOL_VERSION 8
-#endif
-
-#define BINDER_WRITE_READ _IOWR('b', 1, struct binder_write_read)
-#define BINDER_SET_IDLE_TIMEOUT _IOW('b', 3, __s64)
-#define BINDER_SET_MAX_THREADS _IOW('b', 5, __u32)
-#define BINDER_SET_IDLE_PRIORITY _IOW('b', 6, __s32)
-#define BINDER_SET_CONTEXT_MGR _IOW('b', 7, __s32)
-#define BINDER_THREAD_EXIT _IOW('b', 8, __s32)
-#define BINDER_VERSION _IOWR('b', 9, struct binder_version)
-
-/*
- * NOTE: Two special error codes you should check for when calling
- * in to the driver are:
- *
- * EINTR -- The operation has been interupted. This should be
- * handled by retrying the ioctl() until a different error code
- * is returned.
- *
- * ECONNREFUSED -- The driver is no longer accepting operations
- * from your process. That is, the process is being destroyed.
- * You should handle this by exiting from your process. Note
- * that once this error code is returned, all further calls to
- * the driver from any thread will return this same code.
- */
-
-enum transaction_flags {
- TF_ONE_WAY = 0x01, /* this is a one-way call: async, no return */
- TF_ROOT_OBJECT = 0x04, /* contents are the component's root object */
- TF_STATUS_CODE = 0x08, /* contents are a 32-bit status code */
- TF_ACCEPT_FDS = 0x10, /* allow replies with file descriptors */
-};
-
-struct binder_transaction_data {
- /* The first two are only used for bcTRANSACTION and brTRANSACTION,
- * identifying the target and contents of the transaction.
- */
- union {
- /* target descriptor of command transaction */
- __u32 handle;
- /* target descriptor of return transaction */
- binder_uintptr_t ptr;
- } target;
- binder_uintptr_t cookie; /* target object cookie */
- __u32 code; /* transaction command */
-
- /* General information about the transaction. */
- __u32 flags;
- pid_t sender_pid;
- uid_t sender_euid;
- binder_size_t data_size; /* number of bytes of data */
- binder_size_t offsets_size; /* number of bytes of offsets */
-
- /* If this transaction is inline, the data immediately
- * follows here; otherwise, it ends with a pointer to
- * the data buffer.
- */
- union {
- struct {
- /* transaction data */
- binder_uintptr_t buffer;
- /* offsets from buffer to flat_binder_object structs */
- binder_uintptr_t offsets;
- } ptr;
- __u8 buf[8];
- } data;
-};
-
-struct binder_ptr_cookie {
- binder_uintptr_t ptr;
- binder_uintptr_t cookie;
-};
-
-struct binder_handle_cookie {
- __u32 handle;
- binder_uintptr_t cookie;
-} __attribute__((packed));
-
-struct binder_pri_desc {
- __s32 priority;
- __u32 desc;
-};
-
-struct binder_pri_ptr_cookie {
- __s32 priority;
- binder_uintptr_t ptr;
- binder_uintptr_t cookie;
-};
-
-enum binder_driver_return_protocol {
- BR_ERROR = _IOR('r', 0, __s32),
- /*
- * int: error code
- */
-
- BR_OK = _IO('r', 1),
- /* No parameters! */
-
- BR_TRANSACTION = _IOR('r', 2, struct binder_transaction_data),
- BR_REPLY = _IOR('r', 3, struct binder_transaction_data),
- /*
- * binder_transaction_data: the received command.
- */
-
- BR_ACQUIRE_RESULT = _IOR('r', 4, __s32),
- /*
- * not currently supported
- * int: 0 if the last bcATTEMPT_ACQUIRE was not successful.
- * Else the remote object has acquired a primary reference.
- */
-
- BR_DEAD_REPLY = _IO('r', 5),
- /*
- * The target of the last transaction (either a bcTRANSACTION or
- * a bcATTEMPT_ACQUIRE) is no longer with us. No parameters.
- */
-
- BR_TRANSACTION_COMPLETE = _IO('r', 6),
- /*
- * No parameters... always refers to the last transaction requested
- * (including replies). Note that this will be sent even for
- * asynchronous transactions.
- */
-
- BR_INCREFS = _IOR('r', 7, struct binder_ptr_cookie),
- BR_ACQUIRE = _IOR('r', 8, struct binder_ptr_cookie),
- BR_RELEASE = _IOR('r', 9, struct binder_ptr_cookie),
- BR_DECREFS = _IOR('r', 10, struct binder_ptr_cookie),
- /*
- * void *: ptr to binder
- * void *: cookie for binder
- */
-
- BR_ATTEMPT_ACQUIRE = _IOR('r', 11, struct binder_pri_ptr_cookie),
- /*
- * not currently supported
- * int: priority
- * void *: ptr to binder
- * void *: cookie for binder
- */
-
- BR_NOOP = _IO('r', 12),
- /*
- * No parameters. Do nothing and examine the next command. It exists
- * primarily so that we can replace it with a BR_SPAWN_LOOPER command.
- */
-
- BR_SPAWN_LOOPER = _IO('r', 13),
- /*
- * No parameters. The driver has determined that a process has no
- * threads waiting to service incoming transactions. When a process
- * receives this command, it must spawn a new service thread and
- * register it via bcENTER_LOOPER.
- */
-
- BR_FINISHED = _IO('r', 14),
- /*
- * not currently supported
- * stop threadpool thread
- */
-
- BR_DEAD_BINDER = _IOR('r', 15, binder_uintptr_t),
- /*
- * void *: cookie
- */
- BR_CLEAR_DEATH_NOTIFICATION_DONE = _IOR('r', 16, binder_uintptr_t),
- /*
- * void *: cookie
- */
-
- BR_FAILED_REPLY = _IO('r', 17),
- /*
- * The the last transaction (either a bcTRANSACTION or
- * a bcATTEMPT_ACQUIRE) failed (e.g. out of memory). No parameters.
- */
-};
-
-enum binder_driver_command_protocol {
- BC_TRANSACTION = _IOW('c', 0, struct binder_transaction_data),
- BC_REPLY = _IOW('c', 1, struct binder_transaction_data),
- /*
- * binder_transaction_data: the sent command.
- */
-
- BC_ACQUIRE_RESULT = _IOW('c', 2, __s32),
- /*
- * not currently supported
- * int: 0 if the last BR_ATTEMPT_ACQUIRE was not successful.
- * Else you have acquired a primary reference on the object.
- */
-
- BC_FREE_BUFFER = _IOW('c', 3, binder_uintptr_t),
- /*
- * void *: ptr to transaction data received on a read
- */
-
- BC_INCREFS = _IOW('c', 4, __u32),
- BC_ACQUIRE = _IOW('c', 5, __u32),
- BC_RELEASE = _IOW('c', 6, __u32),
- BC_DECREFS = _IOW('c', 7, __u32),
- /*
- * int: descriptor
- */
-
- BC_INCREFS_DONE = _IOW('c', 8, struct binder_ptr_cookie),
- BC_ACQUIRE_DONE = _IOW('c', 9, struct binder_ptr_cookie),
- /*
- * void *: ptr to binder
- * void *: cookie for binder
- */
-
- BC_ATTEMPT_ACQUIRE = _IOW('c', 10, struct binder_pri_desc),
- /*
- * not currently supported
- * int: priority
- * int: descriptor
- */
-
- BC_REGISTER_LOOPER = _IO('c', 11),
- /*
- * No parameters.
- * Register a spawned looper thread with the device.
- */
-
- BC_ENTER_LOOPER = _IO('c', 12),
- BC_EXIT_LOOPER = _IO('c', 13),
- /*
- * No parameters.
- * These two commands are sent as an application-level thread
- * enters and exits the binder loop, respectively. They are
- * used so the binder can have an accurate count of the number
- * of looping threads it has available.
- */
-
- BC_REQUEST_DEATH_NOTIFICATION = _IOW('c', 14,
- struct binder_handle_cookie),
- /*
- * int: handle
- * void *: cookie
- */
-
- BC_CLEAR_DEATH_NOTIFICATION = _IOW('c', 15,
- struct binder_handle_cookie),
- /*
- * int: handle
- * void *: cookie
- */
-
- BC_DEAD_BINDER_DONE = _IOW('c', 16, binder_uintptr_t),
- /*
- * void *: cookie
- */
-};
-
-#endif /* _LINUX_BINDER_H */
-
diff --git a/linux-headers/include/linux/apm_bios.h b/linux-headers/include/linux/apm_bios.h
deleted file mode 100644
index 7fbcc90..0000000
--- a/linux-headers/include/linux/apm_bios.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Include file for the interface to an APM BIOS
- * Copyright 1994-2001 Stephen Rothwell (sfr@canb.auug.org.au)
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- */
-#ifndef _LINUX_APM_H
-#define _LINUX_APM_H
-
-
-#include <linux/types.h>
-
-typedef unsigned short apm_event_t;
-typedef unsigned short apm_eventinfo_t;
-
-struct apm_bios_info {
- __u16 version;
- __u16 cseg;
- __u32 offset;
- __u16 cseg_16;
- __u16 dseg;
- __u16 flags;
- __u16 cseg_len;
- __u16 cseg_16_len;
- __u16 dseg_len;
-};
-
-
-/*
- * Power states
- */
-#define APM_STATE_READY 0x0000
-#define APM_STATE_STANDBY 0x0001
-#define APM_STATE_SUSPEND 0x0002
-#define APM_STATE_OFF 0x0003
-#define APM_STATE_BUSY 0x0004
-#define APM_STATE_REJECT 0x0005
-#define APM_STATE_OEM_SYS 0x0020
-#define APM_STATE_OEM_DEV 0x0040
-
-#define APM_STATE_DISABLE 0x0000
-#define APM_STATE_ENABLE 0x0001
-
-#define APM_STATE_DISENGAGE 0x0000
-#define APM_STATE_ENGAGE 0x0001
-
-/*
- * Events (results of Get PM Event)
- */
-#define APM_SYS_STANDBY 0x0001
-#define APM_SYS_SUSPEND 0x0002
-#define APM_NORMAL_RESUME 0x0003
-#define APM_CRITICAL_RESUME 0x0004
-#define APM_LOW_BATTERY 0x0005
-#define APM_POWER_STATUS_CHANGE 0x0006
-#define APM_UPDATE_TIME 0x0007
-#define APM_CRITICAL_SUSPEND 0x0008
-#define APM_USER_STANDBY 0x0009
-#define APM_USER_SUSPEND 0x000a
-#define APM_STANDBY_RESUME 0x000b
-#define APM_CAPABILITY_CHANGE 0x000c
-#define APM_USER_HIBERNATION 0x000d
-#define APM_HIBERNATION_RESUME 0x000e
-
-/*
- * Error codes
- */
-#define APM_SUCCESS 0x00
-#define APM_DISABLED 0x01
-#define APM_CONNECTED 0x02
-#define APM_NOT_CONNECTED 0x03
-#define APM_16_CONNECTED 0x05
-#define APM_16_UNSUPPORTED 0x06
-#define APM_32_CONNECTED 0x07
-#define APM_32_UNSUPPORTED 0x08
-#define APM_BAD_DEVICE 0x09
-#define APM_BAD_PARAM 0x0a
-#define APM_NOT_ENGAGED 0x0b
-#define APM_BAD_FUNCTION 0x0c
-#define APM_RESUME_DISABLED 0x0d
-#define APM_NO_ERROR 0x53
-#define APM_BAD_STATE 0x60
-#define APM_NO_EVENTS 0x80
-#define APM_NOT_PRESENT 0x86
-
-/*
- * APM Device IDs
- */
-#define APM_DEVICE_BIOS 0x0000
-#define APM_DEVICE_ALL 0x0001
-#define APM_DEVICE_DISPLAY 0x0100
-#define APM_DEVICE_STORAGE 0x0200
-#define APM_DEVICE_PARALLEL 0x0300
-#define APM_DEVICE_SERIAL 0x0400
-#define APM_DEVICE_NETWORK 0x0500
-#define APM_DEVICE_PCMCIA 0x0600
-#define APM_DEVICE_BATTERY 0x8000
-#define APM_DEVICE_OEM 0xe000
-#define APM_DEVICE_OLD_ALL 0xffff
-#define APM_DEVICE_CLASS 0x00ff
-#define APM_DEVICE_MASK 0xff00
-
-
-/*
- * Battery status
- */
-#define APM_MAX_BATTERIES 2
-
-/*
- * APM defined capability bit flags
- */
-#define APM_CAP_GLOBAL_STANDBY 0x0001
-#define APM_CAP_GLOBAL_SUSPEND 0x0002
-#define APM_CAP_RESUME_STANDBY_TIMER 0x0004 /* Timer resume from standby */
-#define APM_CAP_RESUME_SUSPEND_TIMER 0x0008 /* Timer resume from suspend */
-#define APM_CAP_RESUME_STANDBY_RING 0x0010 /* Resume on Ring fr standby */
-#define APM_CAP_RESUME_SUSPEND_RING 0x0020 /* Resume on Ring fr suspend */
-#define APM_CAP_RESUME_STANDBY_PCMCIA 0x0040 /* Resume on PCMCIA Ring */
-#define APM_CAP_RESUME_SUSPEND_PCMCIA 0x0080 /* Resume on PCMCIA Ring */
-
-/*
- * ioctl operations
- */
-#include <linux/ioctl.h>
-
-#define APM_IOC_STANDBY _IO('A', 1)
-#define APM_IOC_SUSPEND _IO('A', 2)
-
-#endif /* _LINUX_APM_H */
diff --git a/linux-headers/include/linux/arcfb.h b/linux-headers/include/linux/arcfb.h
deleted file mode 100644
index 721e765..0000000
--- a/linux-headers/include/linux/arcfb.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef __LINUX_ARCFB_H__
-#define __LINUX_ARCFB_H__
-
-#define FBIO_WAITEVENT _IO('F', 0x88)
-#define FBIO_GETCONTROL2 _IOR('F', 0x89, size_t)
-
-#endif
-
diff --git a/linux-headers/include/linux/atalk.h b/linux-headers/include/linux/atalk.h
deleted file mode 100644
index 4e5eefe..0000000
--- a/linux-headers/include/linux/atalk.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef __LINUX_ATALK_H__
-#define __LINUX_ATALK_H__
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-#include <linux/socket.h>
-
-/*
- * AppleTalk networking structures
- *
- * The following are directly referenced from the University Of Michigan
- * netatalk for compatibility reasons.
- */
-#define ATPORT_FIRST 1
-#define ATPORT_RESERVED 128
-#define ATPORT_LAST 254 /* 254 is only legal on localtalk */
-#define ATADDR_ANYNET (__u16)0
-#define ATADDR_ANYNODE (__u8)0
-#define ATADDR_ANYPORT (__u8)0
-#define ATADDR_BCAST (__u8)255
-#define DDP_MAXSZ 587
-#define DDP_MAXHOPS 15 /* 4 bits of hop counter */
-
-#define SIOCATALKDIFADDR (SIOCPROTOPRIVATE + 0)
-
-struct atalk_addr {
- __be16 s_net;
- __u8 s_node;
-};
-
-struct sockaddr_at {
- __kernel_sa_family_t sat_family;
- __u8 sat_port;
- struct atalk_addr sat_addr;
- char sat_zero[8];
-};
-
-struct atalk_netrange {
- __u8 nr_phase;
- __be16 nr_firstnet;
- __be16 nr_lastnet;
-};
-
-#endif /* __LINUX_ATALK_H__ */
diff --git a/linux-headers/include/linux/atm.h b/linux-headers/include/linux/atm.h
deleted file mode 100644
index 08e27be..0000000
--- a/linux-headers/include/linux/atm.h
+++ /dev/null
@@ -1,241 +0,0 @@
-/* atm.h - general ATM declarations */
-
-/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
-
-
-/*
- * WARNING: User-space programs should not #include <linux/atm.h> directly.
- * Instead, #include <atm.h>
- */
-
-#ifndef _LINUX_ATM_H
-#define _LINUX_ATM_H
-
-/*
- * BEGIN_xx and END_xx markers are used for automatic generation of
- * documentation. Do not change them.
- */
-
-
-#include <linux/atmapi.h>
-#include <linux/atmsap.h>
-#include <linux/atmioc.h>
-#include <linux/types.h>
-
-
-/* general ATM constants */
-#define ATM_CELL_SIZE 53 /* ATM cell size incl. header */
-#define ATM_CELL_PAYLOAD 48 /* ATM payload size */
-#define ATM_AAL0_SDU 52 /* AAL0 SDU size */
-#define ATM_MAX_AAL34_PDU 65535 /* maximum AAL3/4 PDU payload */
-#define ATM_AAL5_TRAILER 8 /* AAL5 trailer size */
-#define ATM_MAX_AAL5_PDU 65535 /* maximum AAL5 PDU payload */
-#define ATM_MAX_CDV 9999 /* maximum (default) CDV */
-#define ATM_NOT_RSV_VCI 32 /* first non-reserved VCI value */
-
-#define ATM_MAX_VPI 255 /* maximum VPI at the UNI */
-#define ATM_MAX_VPI_NNI 4096 /* maximum VPI at the NNI */
-#define ATM_MAX_VCI 65535 /* maximum VCI */
-
-
-/* "protcol" values for the socket system call */
-#define ATM_NO_AAL 0 /* AAL not specified */
-#define ATM_AAL0 13 /* "raw" ATM cells */
-#define ATM_AAL1 1 /* AAL1 (CBR) */
-#define ATM_AAL2 2 /* AAL2 (VBR) */
-#define ATM_AAL34 3 /* AAL3/4 (data) */
-#define ATM_AAL5 5 /* AAL5 (data) */
-
-/*
- * socket option name coding functions
- *
- * Note that __SO_ENCODE and __SO_LEVEL are somewhat a hack since the
- * << 22 only reserves 9 bits for the level. On some architectures
- * SOL_SOCKET is 0xFFFF, so that's a bit of a problem
- */
-
-#define __SO_ENCODE(l,n,t) ((((l) & 0x1FF) << 22) | ((n) << 16) | \
- sizeof(t))
-#define __SO_LEVEL_MATCH(c,m) (((c) >> 22) == ((m) & 0x1FF))
-#define __SO_NUMBER(c) (((c) >> 16) & 0x3f)
-#define __SO_SIZE(c) ((c) & 0x3fff)
-
-/*
- * ATM layer
- */
-
-#define SO_SETCLP __SO_ENCODE(SOL_ATM,0,int)
- /* set CLP bit value - TODO */
-#define SO_CIRANGE __SO_ENCODE(SOL_ATM,1,struct atm_cirange)
- /* connection identifier range; socket must be
- bound or connected */
-#define SO_ATMQOS __SO_ENCODE(SOL_ATM,2,struct atm_qos)
- /* Quality of Service setting */
-#define SO_ATMSAP __SO_ENCODE(SOL_ATM,3,struct atm_sap)
- /* Service Access Point */
-#define SO_ATMPVC __SO_ENCODE(SOL_ATM,4,struct sockaddr_atmpvc)
- /* "PVC" address (also for SVCs); get only */
-#define SO_MULTIPOINT __SO_ENCODE(SOL_ATM, 5, int)
- /* make this vc a p2mp */
-
-
-/*
- * Note @@@: since the socket layers don't really distinguish the control and
- * the data plane but generally seems to be data plane-centric, any layer is
- * about equally wrong for the SAP. If you have a better idea about this,
- * please speak up ...
- */
-
-
-/* ATM cell header (for AAL0) */
-
-/* BEGIN_CH */
-#define ATM_HDR_GFC_MASK 0xf0000000
-#define ATM_HDR_GFC_SHIFT 28
-#define ATM_HDR_VPI_MASK 0x0ff00000
-#define ATM_HDR_VPI_SHIFT 20
-#define ATM_HDR_VCI_MASK 0x000ffff0
-#define ATM_HDR_VCI_SHIFT 4
-#define ATM_HDR_PTI_MASK 0x0000000e
-#define ATM_HDR_PTI_SHIFT 1
-#define ATM_HDR_CLP 0x00000001
-/* END_CH */
-
-
-/* PTI codings */
-
-/* BEGIN_PTI */
-#define ATM_PTI_US0 0 /* user data cell, congestion not exp, SDU-type 0 */
-#define ATM_PTI_US1 1 /* user data cell, congestion not exp, SDU-type 1 */
-#define ATM_PTI_UCES0 2 /* user data cell, cong. experienced, SDU-type 0 */
-#define ATM_PTI_UCES1 3 /* user data cell, cong. experienced, SDU-type 1 */
-#define ATM_PTI_SEGF5 4 /* segment OAM F5 flow related cell */
-#define ATM_PTI_E2EF5 5 /* end-to-end OAM F5 flow related cell */
-#define ATM_PTI_RSV_RM 6 /* reserved for traffic control/resource mgmt */
-#define ATM_PTI_RSV 7 /* reserved */
-/* END_PTI */
-
-
-/*
- * The following items should stay in linux/atm.h, which should be linked to
- * netatm/atm.h
- */
-
-/* Traffic description */
-
-#define ATM_NONE 0 /* no traffic */
-#define ATM_UBR 1
-#define ATM_CBR 2
-#define ATM_VBR 3
-#define ATM_ABR 4
-#define ATM_ANYCLASS 5 /* compatible with everything */
-
-#define ATM_MAX_PCR -1 /* maximum available PCR */
-
-struct atm_trafprm {
- unsigned char traffic_class; /* traffic class (ATM_UBR, ...) */
- int max_pcr; /* maximum PCR in cells per second */
- int pcr; /* desired PCR in cells per second */
- int min_pcr; /* minimum PCR in cells per second */
- int max_cdv; /* maximum CDV in microseconds */
- int max_sdu; /* maximum SDU in bytes */
- /* extra params for ABR */
- unsigned int icr; /* Initial Cell Rate (24-bit) */
- unsigned int tbe; /* Transient Buffer Exposure (24-bit) */
- unsigned int frtt : 24; /* Fixed Round Trip Time (24-bit) */
- unsigned int rif : 4; /* Rate Increment Factor (4-bit) */
- unsigned int rdf : 4; /* Rate Decrease Factor (4-bit) */
- unsigned int nrm_pres :1; /* nrm present bit */
- unsigned int trm_pres :1; /* rm present bit */
- unsigned int adtf_pres :1; /* adtf present bit */
- unsigned int cdf_pres :1; /* cdf present bit*/
- unsigned int nrm :3; /* Max # of Cells for each forward RM cell (3-bit) */
- unsigned int trm :3; /* Time between forward RM cells (3-bit) */
- unsigned int adtf :10; /* ACR Decrease Time Factor (10-bit) */
- unsigned int cdf :3; /* Cutoff Decrease Factor (3-bit) */
- unsigned int spare :9; /* spare bits */
-};
-
-struct atm_qos {
- struct atm_trafprm txtp; /* parameters in TX direction */
- struct atm_trafprm rxtp __ATM_API_ALIGN;
- /* parameters in RX direction */
- unsigned char aal __ATM_API_ALIGN;
-};
-
-/* PVC addressing */
-
-#define ATM_ITF_ANY -1 /* "magic" PVC address values */
-#define ATM_VPI_ANY -1
-#define ATM_VCI_ANY -1
-#define ATM_VPI_UNSPEC -2
-#define ATM_VCI_UNSPEC -2
-
-
-struct sockaddr_atmpvc {
- unsigned short sap_family; /* address family, AF_ATMPVC */
- struct { /* PVC address */
- short itf; /* ATM interface */
- short vpi; /* VPI (only 8 bits at UNI) */
- int vci; /* VCI (only 16 bits at UNI) */
- } sap_addr __ATM_API_ALIGN; /* PVC address */
-};
-
-/* SVC addressing */
-
-#define ATM_ESA_LEN 20 /* ATM End System Address length */
-#define ATM_E164_LEN 12 /* maximum E.164 number length */
-
-#define ATM_AFI_DCC 0x39 /* DCC ATM Format */
-#define ATM_AFI_ICD 0x47 /* ICD ATM Format */
-#define ATM_AFI_E164 0x45 /* E.164 ATM Format */
-#define ATM_AFI_LOCAL 0x49 /* Local ATM Format */
-
-#define ATM_AFI_DCC_GROUP 0xBD /* DCC ATM Group Format */
-#define ATM_AFI_ICD_GROUP 0xC5 /* ICD ATM Group Format */
-#define ATM_AFI_E164_GROUP 0xC3 /* E.164 ATM Group Format */
-#define ATM_AFI_LOCAL_GROUP 0xC7 /* Local ATM Group Format */
-
-#define ATM_LIJ_NONE 0 /* no leaf-initiated join */
-#define ATM_LIJ 1 /* request joining */
-#define ATM_LIJ_RPJ 2 /* set to root-prompted join */
-#define ATM_LIJ_NJ 3 /* set to network join */
-
-
-struct sockaddr_atmsvc {
- unsigned short sas_family; /* address family, AF_ATMSVC */
- struct { /* SVC address */
- unsigned char prv[ATM_ESA_LEN];/* private ATM address */
- char pub[ATM_E164_LEN+1]; /* public address (E.164) */
- /* unused addresses must be bzero'ed */
- char lij_type; /* role in LIJ call; one of ATM_LIJ* */
- __u32 lij_id; /* LIJ call identifier */
- } sas_addr __ATM_API_ALIGN; /* SVC address */
-};
-
-
-static __inline__ int atmsvc_addr_in_use(struct sockaddr_atmsvc addr)
-{
- return *addr.sas_addr.prv || *addr.sas_addr.pub;
-}
-
-
-static __inline__ int atmpvc_addr_in_use(struct sockaddr_atmpvc addr)
-{
- return addr.sap_addr.itf || addr.sap_addr.vpi || addr.sap_addr.vci;
-}
-
-
-/*
- * Some stuff for linux/sockios.h
- */
-
-struct atmif_sioc {
- int number;
- int length;
- void *arg;
-};
-
-
-typedef unsigned short atm_backend_t;
-#endif /* _LINUX_ATM_H */
diff --git a/linux-headers/include/linux/atm_eni.h b/linux-headers/include/linux/atm_eni.h
deleted file mode 100644
index 34f3179..0000000
--- a/linux-headers/include/linux/atm_eni.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* atm_eni.h - Driver-specific declarations of the ENI driver (for use by
- driver-specific utilities) */
-
-/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
-
-
-#ifndef LINUX_ATM_ENI_H
-#define LINUX_ATM_ENI_H
-
-#include <linux/atmioc.h>
-
-
-struct eni_multipliers {
- int tx,rx; /* values are in percent and must be > 100 */
-};
-
-
-#define ENI_MEMDUMP _IOW('a',ATMIOC_SARPRV,struct atmif_sioc)
- /* printk memory map */
-#define ENI_SETMULT _IOW('a',ATMIOC_SARPRV+7,struct atmif_sioc)
- /* set buffer multipliers */
-
-#endif
diff --git a/linux-headers/include/linux/atm_he.h b/linux-headers/include/linux/atm_he.h
deleted file mode 100644
index 2a7713b..0000000
--- a/linux-headers/include/linux/atm_he.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* atm_he.h */
-
-#ifndef LINUX_ATM_HE_H
-#define LINUX_ATM_HE_H
-
-#include <linux/atmioc.h>
-
-#define HE_GET_REG _IOW('a', ATMIOC_SARPRV, struct atmif_sioc)
-
-#define HE_REGTYPE_PCI 1
-#define HE_REGTYPE_RCM 2
-#define HE_REGTYPE_TCM 3
-#define HE_REGTYPE_MBOX 4
-
-struct he_ioctl_reg {
- unsigned addr, val;
- char type;
-};
-
-#endif /* LINUX_ATM_HE_H */
diff --git a/linux-headers/include/linux/atm_idt77105.h b/linux-headers/include/linux/atm_idt77105.h
deleted file mode 100644
index 8b72400..0000000
--- a/linux-headers/include/linux/atm_idt77105.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* atm_idt77105.h - Driver-specific declarations of the IDT77105 driver (for
- * use by driver-specific utilities) */
-
-/* Written 1999 by Greg Banks <gnb@linuxfan.com>. Copied from atm_suni.h. */
-
-
-#ifndef LINUX_ATM_IDT77105_H
-#define LINUX_ATM_IDT77105_H
-
-#include <linux/types.h>
-#include <linux/atmioc.h>
-#include <linux/atmdev.h>
-
-/*
- * Structure for IDT77105_GETSTAT and IDT77105_GETSTATZ ioctls.
- * Pointed to by `arg' in atmif_sioc.
- */
-struct idt77105_stats {
- __u32 symbol_errors; /* wire symbol errors */
- __u32 tx_cells; /* cells transmitted */
- __u32 rx_cells; /* cells received */
- __u32 rx_hec_errors; /* Header Error Check errors on receive */
-};
-
-#define IDT77105_GETSTAT _IOW('a',ATMIOC_PHYPRV+2,struct atmif_sioc) /* get stats */
-#define IDT77105_GETSTATZ _IOW('a',ATMIOC_PHYPRV+3,struct atmif_sioc) /* get stats and zero */
-
-#endif
diff --git a/linux-headers/include/linux/atm_nicstar.h b/linux-headers/include/linux/atm_nicstar.h
deleted file mode 100644
index 577b79f..0000000
--- a/linux-headers/include/linux/atm_nicstar.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/******************************************************************************
- *
- * atm_nicstar.h
- *
- * Driver-specific declarations for use by NICSTAR driver specific utils.
- *
- * Author: Rui Prior
- *
- * (C) INESC 1998
- *
- ******************************************************************************/
-
-
-#ifndef LINUX_ATM_NICSTAR_H
-#define LINUX_ATM_NICSTAR_H
-
-/* Note: non-kernel programs including this file must also include
- * sys/types.h for struct timeval
- */
-
-#include <linux/atmapi.h>
-#include <linux/atmioc.h>
-
-#define NS_GETPSTAT _IOWR('a',ATMIOC_SARPRV+1,struct atmif_sioc)
- /* get pool statistics */
-#define NS_SETBUFLEV _IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc)
- /* set buffer level markers */
-#define NS_ADJBUFLEV _IO('a',ATMIOC_SARPRV+3)
- /* adjust buffer level */
-
-typedef struct buf_nr
-{
- unsigned min;
- unsigned init;
- unsigned max;
-}buf_nr;
-
-
-typedef struct pool_levels
-{
- int buftype;
- int count; /* (At least for now) only used in NS_GETPSTAT */
- buf_nr level;
-} pool_levels;
-
-/* type must be one of the following: */
-#define NS_BUFTYPE_SMALL 1
-#define NS_BUFTYPE_LARGE 2
-#define NS_BUFTYPE_HUGE 3
-#define NS_BUFTYPE_IOVEC 4
-
-
-#endif /* LINUX_ATM_NICSTAR_H */
diff --git a/linux-headers/include/linux/atm_tcp.h b/linux-headers/include/linux/atm_tcp.h
deleted file mode 100644
index f3aa76a..0000000
--- a/linux-headers/include/linux/atm_tcp.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* atm_tcp.h - Driver-specific declarations of the ATMTCP driver (for use by
- driver-specific utilities) */
-
-/* Written 1997-2000 by Werner Almesberger, EPFL LRC/ICA */
-
-
-#ifndef LINUX_ATM_TCP_H
-#define LINUX_ATM_TCP_H
-
-#include <linux/atmapi.h>
-#include <linux/atm.h>
-#include <linux/atmioc.h>
-#include <linux/types.h>
-
-
-/*
- * All values in struct atmtcp_hdr are in network byte order
- */
-
-struct atmtcp_hdr {
- __u16 vpi;
- __u16 vci;
- __u32 length; /* ... of data part */
-};
-
-/*
- * All values in struct atmtcp_command are in host byte order
- */
-
-#define ATMTCP_HDR_MAGIC (~0) /* this length indicates a command */
-#define ATMTCP_CTRL_OPEN 1 /* request/reply */
-#define ATMTCP_CTRL_CLOSE 2 /* request/reply */
-
-struct atmtcp_control {
- struct atmtcp_hdr hdr; /* must be first */
- int type; /* message type; both directions */
- atm_kptr_t vcc; /* both directions */
- struct sockaddr_atmpvc addr; /* suggested value from kernel */
- struct atm_qos qos; /* both directions */
- int result; /* to kernel only */
-} __ATM_API_ALIGN;
-
-/*
- * Field usage:
- * Messge type dir. hdr.v?i type addr qos vcc result
- * ----------- ---- ------- ---- ---- --- --- ------
- * OPEN K->D Y Y Y Y Y 0
- * OPEN D->K - Y Y Y Y Y
- * CLOSE K->D - - Y - Y 0
- * CLOSE D->K - - - - Y Y
- */
-
-#define SIOCSIFATMTCP _IO('a',ATMIOC_ITF) /* set ATMTCP mode */
-#define ATMTCP_CREATE _IO('a',ATMIOC_ITF+14) /* create persistent ATMTCP
- interface */
-#define ATMTCP_REMOVE _IO('a',ATMIOC_ITF+15) /* destroy persistent ATMTCP
- interface */
-
-
-
-#endif /* LINUX_ATM_TCP_H */
diff --git a/linux-headers/include/linux/atm_zatm.h b/linux-headers/include/linux/atm_zatm.h
deleted file mode 100644
index 9c9c6ad..0000000
--- a/linux-headers/include/linux/atm_zatm.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/* atm_zatm.h - Driver-specific declarations of the ZATM driver (for use by
- driver-specific utilities) */
-
-/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */
-
-
-#ifndef LINUX_ATM_ZATM_H
-#define LINUX_ATM_ZATM_H
-
-/*
- * Note: non-kernel programs including this file must also include
- * sys/types.h for struct timeval
- */
-
-#include <linux/atmapi.h>
-#include <linux/atmioc.h>
-
-#define ZATM_GETPOOL _IOW('a',ATMIOC_SARPRV+1,struct atmif_sioc)
- /* get pool statistics */
-#define ZATM_GETPOOLZ _IOW('a',ATMIOC_SARPRV+2,struct atmif_sioc)
- /* get statistics and zero */
-#define ZATM_SETPOOL _IOW('a',ATMIOC_SARPRV+3,struct atmif_sioc)
- /* set pool parameters */
-
-struct zatm_pool_info {
- int ref_count; /* free buffer pool usage counters */
- int low_water,high_water; /* refill parameters */
- int rqa_count,rqu_count; /* queue condition counters */
- int offset,next_off; /* alignment optimizations: offset */
- int next_cnt,next_thres; /* repetition counter and threshold */
-};
-
-struct zatm_pool_req {
- int pool_num; /* pool number */
- struct zatm_pool_info info; /* actual information */
-};
-
-#define ZATM_OAM_POOL 0 /* free buffer pool for OAM cells */
-#define ZATM_AAL0_POOL 1 /* free buffer pool for AAL0 cells */
-#define ZATM_AAL5_POOL_BASE 2 /* first AAL5 free buffer pool */
-#define ZATM_LAST_POOL ZATM_AAL5_POOL_BASE+10 /* max. 64 kB */
-
-#define ZATM_TIMER_HISTORY_SIZE 16 /* number of timer adjustments to
- record; must be 2^n */
-
-#endif
diff --git a/linux-headers/include/linux/atmapi.h b/linux-headers/include/linux/atmapi.h
deleted file mode 100644
index 8fe54d9..0000000
--- a/linux-headers/include/linux/atmapi.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/* atmapi.h - ATM API user space/kernel compatibility */
-
-/* Written 1999,2000 by Werner Almesberger, EPFL ICA */
-
-
-#ifndef _LINUX_ATMAPI_H
-#define _LINUX_ATMAPI_H
-
-#if defined(__sparc__) || defined(__ia64__)
-/* such alignment is not required on 32 bit sparcs, but we can't
- figure that we are on a sparc64 while compiling user-space programs. */
-#define __ATM_API_ALIGN __attribute__((aligned(8)))
-#else
-#define __ATM_API_ALIGN
-#endif
-
-
-/*
- * Opaque type for kernel pointers. Note that _ is never accessed. We need
- * the struct in order hide the array, so that we can make simple assignments
- * instead of being forced to use memcpy. It also improves error reporting for
- * code that still assumes that we're passing unsigned longs.
- *
- * Convention: NULL pointers are passed as a field of all zeroes.
- */
-
-typedef struct { unsigned char _[8]; } __ATM_API_ALIGN atm_kptr_t;
-
-#endif
diff --git a/linux-headers/include/linux/atmarp.h b/linux-headers/include/linux/atmarp.h
deleted file mode 100644
index 231f4bd..0000000
--- a/linux-headers/include/linux/atmarp.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* atmarp.h - ATM ARP protocol and kernel-demon interface definitions */
-
-/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */
-
-
-#ifndef _LINUX_ATMARP_H
-#define _LINUX_ATMARP_H
-
-#include <linux/types.h>
-#include <linux/atmapi.h>
-#include <linux/atmioc.h>
-
-
-#define ATMARP_RETRY_DELAY 30 /* request next resolution or forget
- NAK after 30 sec - should go into
- atmclip.h */
-#define ATMARP_MAX_UNRES_PACKETS 5 /* queue that many packets while
- waiting for the resolver */
-
-
-#define ATMARPD_CTRL _IO('a',ATMIOC_CLIP+1) /* become atmarpd ctrl sock */
-#define ATMARP_MKIP _IO('a',ATMIOC_CLIP+2) /* attach socket to IP */
-#define ATMARP_SETENTRY _IO('a',ATMIOC_CLIP+3) /* fill or hide ARP entry */
-#define ATMARP_ENCAP _IO('a',ATMIOC_CLIP+5) /* change encapsulation */
-
-
-enum atmarp_ctrl_type {
- act_invalid, /* catch uninitialized structures */
- act_need, /* need address resolution */
- act_up, /* interface is coming up */
- act_down, /* interface is going down */
- act_change /* interface configuration has changed */
-};
-
-struct atmarp_ctrl {
- enum atmarp_ctrl_type type; /* message type */
- int itf_num;/* interface number (if present) */
- __be32 ip; /* IP address (act_need only) */
-};
-
-#endif
diff --git a/linux-headers/include/linux/atmbr2684.h b/linux-headers/include/linux/atmbr2684.h
deleted file mode 100644
index fdb2629..0000000
--- a/linux-headers/include/linux/atmbr2684.h
+++ /dev/null
@@ -1,117 +0,0 @@
-#ifndef _LINUX_ATMBR2684_H
-#define _LINUX_ATMBR2684_H
-
-#include <linux/types.h>
-#include <linux/atm.h>
-#include <linux/if.h> /* For IFNAMSIZ */
-
-/*
- * Type of media we're bridging (ethernet, token ring, etc) Currently only
- * ethernet is supported
- */
-#define BR2684_MEDIA_ETHERNET (0) /* 802.3 */
-#define BR2684_MEDIA_802_4 (1) /* 802.4 */
-#define BR2684_MEDIA_TR (2) /* 802.5 - token ring */
-#define BR2684_MEDIA_FDDI (3)
-#define BR2684_MEDIA_802_6 (4) /* 802.6 */
-
- /* used only at device creation: */
-#define BR2684_FLAG_ROUTED (1<<16) /* payload is routed, not bridged */
-
-/*
- * Is there FCS inbound on this VC? This currently isn't supported.
- */
-#define BR2684_FCSIN_NO (0)
-#define BR2684_FCSIN_IGNORE (1)
-#define BR2684_FCSIN_VERIFY (2)
-
-/*
- * Is there FCS outbound on this VC? This currently isn't supported.
- */
-#define BR2684_FCSOUT_NO (0)
-#define BR2684_FCSOUT_SENDZERO (1)
-#define BR2684_FCSOUT_GENERATE (2)
-
-/*
- * Does this VC include LLC encapsulation?
- */
-#define BR2684_ENCAPS_VC (0) /* VC-mux */
-#define BR2684_ENCAPS_LLC (1)
-#define BR2684_ENCAPS_AUTODETECT (2) /* Unsuported */
-
-/*
- * Is this VC bridged or routed?
- */
-
-#define BR2684_PAYLOAD_ROUTED (0)
-#define BR2684_PAYLOAD_BRIDGED (1)
-
-/*
- * This is for the ATM_NEWBACKENDIF call - these are like socket families:
- * the first element of the structure is the backend number and the rest
- * is per-backend specific
- */
-struct atm_newif_br2684 {
- atm_backend_t backend_num; /* ATM_BACKEND_BR2684 */
- int media; /* BR2684_MEDIA_*, flags in upper bits */
- char ifname[IFNAMSIZ];
- int mtu;
-};
-
-/*
- * This structure is used to specify a br2684 interface - either by a
- * positive integer (returned by ATM_NEWBACKENDIF) or the interfaces name
- */
-#define BR2684_FIND_BYNOTHING (0)
-#define BR2684_FIND_BYNUM (1)
-#define BR2684_FIND_BYIFNAME (2)
-struct br2684_if_spec {
- int method; /* BR2684_FIND_* */
- union {
- char ifname[IFNAMSIZ];
- int devnum;
- } spec;
-};
-
-/*
- * This is for the ATM_SETBACKEND call - these are like socket families:
- * the first element of the structure is the backend number and the rest
- * is per-backend specific
- */
-struct atm_backend_br2684 {
- atm_backend_t backend_num; /* ATM_BACKEND_BR2684 */
- struct br2684_if_spec ifspec;
- int fcs_in; /* BR2684_FCSIN_* */
- int fcs_out; /* BR2684_FCSOUT_* */
- int fcs_auto; /* 1: fcs_{in,out} disabled if no FCS rx'ed */
- int encaps; /* BR2684_ENCAPS_* */
- int has_vpiid; /* 1: use vpn_id - Unsupported */
- __u8 vpn_id[7];
- int send_padding; /* unsupported */
- int min_size; /* we will pad smaller packets than this */
-};
-
-/*
- * The BR2684_SETFILT ioctl is an experimental mechanism for folks
- * terminating a large number of IP-only vcc's. When netfilter allows
- * efficient per-if in/out filters, this support will be removed
- */
-struct br2684_filter {
- __be32 prefix; /* network byte order */
- __be32 netmask; /* 0 = disable filter */
-};
-
-struct br2684_filter_set {
- struct br2684_if_spec ifspec;
- struct br2684_filter filter;
-};
-
-enum br2684_payload {
- p_routed = BR2684_PAYLOAD_ROUTED,
- p_bridged = BR2684_PAYLOAD_BRIDGED,
-};
-
-#define BR2684_SETFILT _IOW( 'a', ATMIOC_BACKEND + 0, \
- struct br2684_filter_set)
-
-#endif /* _LINUX_ATMBR2684_H */
diff --git a/linux-headers/include/linux/atmclip.h b/linux-headers/include/linux/atmclip.h
deleted file mode 100644
index 02c94c4..0000000
--- a/linux-headers/include/linux/atmclip.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/* atmclip.h - Classical IP over ATM */
-
-/* Written 1995-1998 by Werner Almesberger, EPFL LRC/ICA */
-
-
-#ifndef LINUX_ATMCLIP_H
-#define LINUX_ATMCLIP_H
-
-#include <linux/sockios.h>
-#include <linux/atmioc.h>
-
-
-#define RFC1483LLC_LEN 8 /* LLC+OUI+PID = 8 */
-#define RFC1626_MTU 9180 /* RFC1626 default MTU */
-
-#define CLIP_DEFAULT_IDLETIMER 1200 /* 20 minutes, see RFC1755 */
-#define CLIP_CHECK_INTERVAL 10 /* check every ten seconds */
-
-#define SIOCMKCLIP _IO('a',ATMIOC_CLIP) /* create IP interface */
-
-#endif
diff --git a/linux-headers/include/linux/atmdev.h b/linux-headers/include/linux/atmdev.h
deleted file mode 100644
index 8faa8b9..0000000
--- a/linux-headers/include/linux/atmdev.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/* atmdev.h - ATM device driver declarations and various related items */
-
-/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
-
-
-#ifndef LINUX_ATMDEV_H
-#define LINUX_ATMDEV_H
-
-
-#include <linux/atmapi.h>
-#include <linux/atm.h>
-#include <linux/atmioc.h>
-
-
-#define ESI_LEN 6
-
-#define ATM_OC3_PCR (155520000/270*260/8/53)
- /* OC3 link rate: 155520000 bps
- SONET overhead: /270*260 (9 section, 1 path)
- bits per cell: /8/53
- max cell rate: 353207.547 cells/sec */
-#define ATM_25_PCR ((25600000/8-8000)/54)
- /* 25 Mbps ATM cell rate (59111) */
-#define ATM_OC12_PCR (622080000/1080*1040/8/53)
- /* OC12 link rate: 622080000 bps
- SONET overhead: /1080*1040
- bits per cell: /8/53
- max cell rate: 1412830.188 cells/sec */
-#define ATM_DS3_PCR (8000*12)
- /* DS3: 12 cells in a 125 usec time slot */
-
-
-#define __AAL_STAT_ITEMS \
- __HANDLE_ITEM(tx); /* TX okay */ \
- __HANDLE_ITEM(tx_err); /* TX errors */ \
- __HANDLE_ITEM(rx); /* RX okay */ \
- __HANDLE_ITEM(rx_err); /* RX errors */ \
- __HANDLE_ITEM(rx_drop); /* RX out of memory */
-
-struct atm_aal_stats {
-#define __HANDLE_ITEM(i) int i
- __AAL_STAT_ITEMS
-#undef __HANDLE_ITEM
-};
-
-
-struct atm_dev_stats {
- struct atm_aal_stats aal0;
- struct atm_aal_stats aal34;
- struct atm_aal_stats aal5;
-} __ATM_API_ALIGN;
-
-
-#define ATM_GETLINKRATE _IOW('a',ATMIOC_ITF+1,struct atmif_sioc)
- /* get link rate */
-#define ATM_GETNAMES _IOW('a',ATMIOC_ITF+3,struct atm_iobuf)
- /* get interface names (numbers) */
-#define ATM_GETTYPE _IOW('a',ATMIOC_ITF+4,struct atmif_sioc)
- /* get interface type name */
-#define ATM_GETESI _IOW('a',ATMIOC_ITF+5,struct atmif_sioc)
- /* get interface ESI */
-#define ATM_GETADDR _IOW('a',ATMIOC_ITF+6,struct atmif_sioc)
- /* get itf's local ATM addr. list */
-#define ATM_RSTADDR _IOW('a',ATMIOC_ITF+7,struct atmif_sioc)
- /* reset itf's ATM address list */
-#define ATM_ADDADDR _IOW('a',ATMIOC_ITF+8,struct atmif_sioc)
- /* add a local ATM address */
-#define ATM_DELADDR _IOW('a',ATMIOC_ITF+9,struct atmif_sioc)
- /* remove a local ATM address */
-#define ATM_GETCIRANGE _IOW('a',ATMIOC_ITF+10,struct atmif_sioc)
- /* get connection identifier range */
-#define ATM_SETCIRANGE _IOW('a',ATMIOC_ITF+11,struct atmif_sioc)
- /* set connection identifier range */
-#define ATM_SETESI _IOW('a',ATMIOC_ITF+12,struct atmif_sioc)
- /* set interface ESI */
-#define ATM_SETESIF _IOW('a',ATMIOC_ITF+13,struct atmif_sioc)
- /* force interface ESI */
-#define ATM_ADDLECSADDR _IOW('a', ATMIOC_ITF+14, struct atmif_sioc)
- /* register a LECS address */
-#define ATM_DELLECSADDR _IOW('a', ATMIOC_ITF+15, struct atmif_sioc)
- /* unregister a LECS address */
-#define ATM_GETLECSADDR _IOW('a', ATMIOC_ITF+16, struct atmif_sioc)
- /* retrieve LECS address(es) */
-
-#define ATM_GETSTAT _IOW('a',ATMIOC_SARCOM+0,struct atmif_sioc)
- /* get AAL layer statistics */
-#define ATM_GETSTATZ _IOW('a',ATMIOC_SARCOM+1,struct atmif_sioc)
- /* get AAL layer statistics and zero */
-#define ATM_GETLOOP _IOW('a',ATMIOC_SARCOM+2,struct atmif_sioc)
- /* get loopback mode */
-#define ATM_SETLOOP _IOW('a',ATMIOC_SARCOM+3,struct atmif_sioc)
- /* set loopback mode */
-#define ATM_QUERYLOOP _IOW('a',ATMIOC_SARCOM+4,struct atmif_sioc)
- /* query supported loopback modes */
-#define ATM_SETSC _IOW('a',ATMIOC_SPECIAL+1,int)
- /* enable or disable single-copy */
-#define ATM_SETBACKEND _IOW('a',ATMIOC_SPECIAL+2,atm_backend_t)
- /* set backend handler */
-#define ATM_NEWBACKENDIF _IOW('a',ATMIOC_SPECIAL+3,atm_backend_t)
- /* use backend to make new if */
-#define ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL+4,struct atm_iobuf)
- /* add party to p2mp call */
-#ifdef CONFIG_COMPAT
-/* It actually takes struct sockaddr_atmsvc, not struct atm_iobuf */
-#define COMPAT_ATM_ADDPARTY _IOW('a', ATMIOC_SPECIAL+4,struct compat_atm_iobuf)
-#endif
-#define ATM_DROPPARTY _IOW('a', ATMIOC_SPECIAL+5,int)
- /* drop party from p2mp call */
-
-/*
- * These are backend handkers that can be set via the ATM_SETBACKEND call
- * above. In the future we may support dynamic loading of these - for now,
- * they're just being used to share the ATMIOC_BACKEND ioctls
- */
-#define ATM_BACKEND_RAW 0
-#define ATM_BACKEND_PPP 1 /* PPPoATM - RFC2364 */
-#define ATM_BACKEND_BR2684 2 /* Bridged RFC1483/2684 */
-
-/* for ATM_GETTYPE */
-#define ATM_ITFTYP_LEN 8 /* maximum length of interface type name */
-
-/*
- * Loopback modes for ATM_{PHY,SAR}_{GET,SET}LOOP
- */
-
-/* Point of loopback CPU-->SAR-->PHY-->line--> ... */
-#define __ATM_LM_NONE 0 /* no loop back ^ ^ ^ ^ */
-#define __ATM_LM_AAL 1 /* loop back PDUs --' | | | */
-#define __ATM_LM_ATM 2 /* loop back ATM cells ---' | | */
-/* RESERVED 4 loop back on PHY side ---' */
-#define __ATM_LM_PHY 8 /* loop back bits (digital) ----' | */
-#define __ATM_LM_ANALOG 16 /* loop back the analog signal --------' */
-
-/* Direction of loopback */
-#define __ATM_LM_MKLOC(n) ((n)) /* Local (i.e. loop TX to RX) */
-#define __ATM_LM_MKRMT(n) ((n) << 8) /* Remote (i.e. loop RX to TX) */
-
-#define __ATM_LM_XTLOC(n) ((n) & 0xff)
-#define __ATM_LM_XTRMT(n) (((n) >> 8) & 0xff)
-
-#define ATM_LM_NONE 0 /* no loopback */
-
-#define ATM_LM_LOC_AAL __ATM_LM_MKLOC(__ATM_LM_AAL)
-#define ATM_LM_LOC_ATM __ATM_LM_MKLOC(__ATM_LM_ATM)
-#define ATM_LM_LOC_PHY __ATM_LM_MKLOC(__ATM_LM_PHY)
-#define ATM_LM_LOC_ANALOG __ATM_LM_MKLOC(__ATM_LM_ANALOG)
-
-#define ATM_LM_RMT_AAL __ATM_LM_MKRMT(__ATM_LM_AAL)
-#define ATM_LM_RMT_ATM __ATM_LM_MKRMT(__ATM_LM_ATM)
-#define ATM_LM_RMT_PHY __ATM_LM_MKRMT(__ATM_LM_PHY)
-#define ATM_LM_RMT_ANALOG __ATM_LM_MKRMT(__ATM_LM_ANALOG)
-
-/*
- * Note: ATM_LM_LOC_* and ATM_LM_RMT_* can be combined, provided that
- * __ATM_LM_XTLOC(x) <= __ATM_LM_XTRMT(x)
- */
-
-
-struct atm_iobuf {
- int length;
- void *buffer;
-};
-
-/* for ATM_GETCIRANGE / ATM_SETCIRANGE */
-
-#define ATM_CI_MAX -1 /* use maximum range of VPI/VCI */
-
-struct atm_cirange {
- signed char vpi_bits; /* 1..8, ATM_CI_MAX (-1) for maximum */
- signed char vci_bits; /* 1..16, ATM_CI_MAX (-1) for maximum */
-};
-
-/* for ATM_SETSC; actually taken from the ATM_VF number space */
-
-#define ATM_SC_RX 1024 /* enable RX single-copy */
-#define ATM_SC_TX 2048 /* enable TX single-copy */
-
-#define ATM_BACKLOG_DEFAULT 32 /* if we get more, we're likely to time out
- anyway */
-
-/* MF: change_qos (Modify) flags */
-
-#define ATM_MF_IMMED 1 /* Block until change is effective */
-#define ATM_MF_INC_RSV 2 /* Change reservation on increase */
-#define ATM_MF_INC_SHP 4 /* Change shaping on increase */
-#define ATM_MF_DEC_RSV 8 /* Change reservation on decrease */
-#define ATM_MF_DEC_SHP 16 /* Change shaping on decrease */
-#define ATM_MF_BWD 32 /* Set the backward direction parameters */
-
-#define ATM_MF_SET (ATM_MF_INC_RSV | ATM_MF_INC_SHP | ATM_MF_DEC_RSV | \
- ATM_MF_DEC_SHP | ATM_MF_BWD)
-
-/*
- * ATM_VS_* are used to express VC state in a human-friendly way.
- */
-
-#define ATM_VS_IDLE 0 /* VC is not used */
-#define ATM_VS_CONNECTED 1 /* VC is connected */
-#define ATM_VS_CLOSING 2 /* VC is closing */
-#define ATM_VS_LISTEN 3 /* VC is listening for incoming setups */
-#define ATM_VS_INUSE 4 /* VC is in use (registered with atmsigd) */
-#define ATM_VS_BOUND 5 /* VC is bound */
-
-#define ATM_VS2TXT_MAP \
- "IDLE", "CONNECTED", "CLOSING", "LISTEN", "INUSE", "BOUND"
-
-#define ATM_VF2TXT_MAP \
- "ADDR", "READY", "PARTIAL", "REGIS", \
- "RELEASED", "HASQOS", "LISTEN", "META", \
- "256", "512", "1024", "2048", \
- "SESSION", "HASSAP", "BOUND", "CLOSE"
-
-
-
-#endif /* LINUX_ATMDEV_H */
diff --git a/linux-headers/include/linux/atmioc.h b/linux-headers/include/linux/atmioc.h
deleted file mode 100644
index 37f67aa..0000000
--- a/linux-headers/include/linux/atmioc.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* atmioc.h - ranges for ATM-related ioctl numbers */
-
-/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */
-
-
-/*
- * See http://icawww1.epfl.ch/linux-atm/magic.html for the complete list of
- * "magic" ioctl numbers.
- */
-
-
-#ifndef _LINUX_ATMIOC_H
-#define _LINUX_ATMIOC_H
-
-#include <asm/ioctl.h>
- /* everybody including atmioc.h will also need _IO{,R,W,WR} */
-
-#define ATMIOC_PHYCOM 0x00 /* PHY device common ioctls, globally unique */
-#define ATMIOC_PHYCOM_END 0x0f
-#define ATMIOC_PHYTYP 0x10 /* PHY dev type ioctls, unique per PHY type */
-#define ATMIOC_PHYTYP_END 0x2f
-#define ATMIOC_PHYPRV 0x30 /* PHY dev private ioctls, unique per driver */
-#define ATMIOC_PHYPRV_END 0x4f
-#define ATMIOC_SARCOM 0x50 /* SAR device common ioctls, globally unique */
-#define ATMIOC_SARCOM_END 0x50
-#define ATMIOC_SARPRV 0x60 /* SAR dev private ioctls, unique per driver */
-#define ATMIOC_SARPRV_END 0x7f
-#define ATMIOC_ITF 0x80 /* Interface ioctls, globally unique */
-#define ATMIOC_ITF_END 0x8f
-#define ATMIOC_BACKEND 0x90 /* ATM generic backend ioctls, u. per backend */
-#define ATMIOC_BACKEND_END 0xaf
-/* 0xb0-0xbf: Reserved for future use */
-#define ATMIOC_AREQUIPA 0xc0 /* Application requested IP over ATM, glob. u. */
-#define ATMIOC_LANE 0xd0 /* LAN Emulation, globally unique */
-#define ATMIOC_MPOA 0xd8 /* MPOA, globally unique */
-#define ATMIOC_CLIP 0xe0 /* Classical IP over ATM control, globally u. */
-#define ATMIOC_CLIP_END 0xef
-#define ATMIOC_SPECIAL 0xf0 /* Special-purpose controls, globally unique */
-#define ATMIOC_SPECIAL_END 0xff
-
-#endif
diff --git a/linux-headers/include/linux/atmlec.h b/linux-headers/include/linux/atmlec.h
deleted file mode 100644
index 302791e..0000000
--- a/linux-headers/include/linux/atmlec.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * ATM Lan Emulation Daemon driver interface
- *
- * Marko Kiiskila <mkiiskila@yahoo.com>
- */
-
-#ifndef _ATMLEC_H_
-#define _ATMLEC_H_
-
-#include <linux/atmapi.h>
-#include <linux/atmioc.h>
-#include <linux/atm.h>
-#include <linux/if_ether.h>
-#include <linux/types.h>
-
-/* ATM lec daemon control socket */
-#define ATMLEC_CTRL _IO('a', ATMIOC_LANE)
-#define ATMLEC_DATA _IO('a', ATMIOC_LANE+1)
-#define ATMLEC_MCAST _IO('a', ATMIOC_LANE+2)
-
-/* Maximum number of LEC interfaces (tweakable) */
-#define MAX_LEC_ITF 48
-
-typedef enum {
- l_set_mac_addr,
- l_del_mac_addr,
- l_svc_setup,
- l_addr_delete,
- l_topology_change,
- l_flush_complete,
- l_arp_update,
- l_narp_req, /* LANE2 mandates the use of this */
- l_config,
- l_flush_tran_id,
- l_set_lecid,
- l_arp_xmt,
- l_rdesc_arp_xmt,
- l_associate_req,
- l_should_bridge /* should we bridge this MAC? */
-} atmlec_msg_type;
-
-#define ATMLEC_MSG_TYPE_MAX l_should_bridge
-
-struct atmlec_config_msg {
- unsigned int maximum_unknown_frame_count;
- unsigned int max_unknown_frame_time;
- unsigned short max_retry_count;
- unsigned int aging_time;
- unsigned int forward_delay_time;
- unsigned int arp_response_time;
- unsigned int flush_timeout;
- unsigned int path_switching_delay;
- unsigned int lane_version; /* LANE2: 1 for LANEv1, 2 for LANEv2 */
- int mtu;
- int is_proxy;
-};
-
-struct atmlec_msg {
- atmlec_msg_type type;
- int sizeoftlvs; /* LANE2: if != 0, tlvs follow */
- union {
- struct {
- unsigned char mac_addr[ETH_ALEN];
- unsigned char atm_addr[ATM_ESA_LEN];
- unsigned int flag; /*
- * Topology_change flag,
- * remoteflag, permanent flag,
- * lecid, transaction id
- */
- unsigned int targetless_le_arp; /* LANE2 */
- unsigned int no_source_le_narp; /* LANE2 */
- } normal;
- struct atmlec_config_msg config;
- struct {
- __u16 lec_id; /* requestor lec_id */
- __u32 tran_id; /* transaction id */
- unsigned char mac_addr[ETH_ALEN]; /* dst mac addr */
- unsigned char atm_addr[ATM_ESA_LEN]; /* reqestor ATM addr */
- } proxy; /*
- * For mapping LE_ARP requests to responses. Filled by
- * zeppelin, returned by kernel. Used only when proxying
- */
- } content;
-} __ATM_API_ALIGN;
-
-struct atmlec_ioc {
- int dev_num;
- unsigned char atm_addr[ATM_ESA_LEN];
- unsigned char receive; /* 1= receive vcc, 0 = send vcc */
-};
-#endif /* _ATMLEC_H_ */
diff --git a/linux-headers/include/linux/atmmpc.h b/linux-headers/include/linux/atmmpc.h
deleted file mode 100644
index 2aba578..0000000
--- a/linux-headers/include/linux/atmmpc.h
+++ /dev/null
@@ -1,126 +0,0 @@
-#ifndef _ATMMPC_H_
-#define _ATMMPC_H_
-
-#include <linux/atmapi.h>
-#include <linux/atmioc.h>
-#include <linux/atm.h>
-#include <linux/types.h>
-
-#define ATMMPC_CTRL _IO('a', ATMIOC_MPOA)
-#define ATMMPC_DATA _IO('a', ATMIOC_MPOA+1)
-
-#define MPC_SOCKET_INGRESS 1
-#define MPC_SOCKET_EGRESS 2
-
-struct atmmpc_ioc {
- int dev_num;
- __be32 ipaddr; /* the IP address of the shortcut */
- int type; /* ingress or egress */
-};
-
-typedef struct in_ctrl_info {
- __u8 Last_NHRP_CIE_code;
- __u8 Last_Q2931_cause_value;
- __u8 eg_MPC_ATM_addr[ATM_ESA_LEN];
- __be32 tag;
- __be32 in_dst_ip; /* IP address this ingress MPC sends packets to */
- __u16 holding_time;
- __u32 request_id;
-} in_ctrl_info;
-
-typedef struct eg_ctrl_info {
- __u8 DLL_header[256];
- __u8 DH_length;
- __be32 cache_id;
- __be32 tag;
- __be32 mps_ip;
- __be32 eg_dst_ip; /* IP address to which ingress MPC sends packets */
- __u8 in_MPC_data_ATM_addr[ATM_ESA_LEN];
- __u16 holding_time;
-} eg_ctrl_info;
-
-struct mpc_parameters {
- __u16 mpc_p1; /* Shortcut-Setup Frame Count */
- __u16 mpc_p2; /* Shortcut-Setup Frame Time */
- __u8 mpc_p3[8]; /* Flow-detection Protocols */
- __u16 mpc_p4; /* MPC Initial Retry Time */
- __u16 mpc_p5; /* MPC Retry Time Maximum */
- __u16 mpc_p6; /* Hold Down Time */
-} ;
-
-struct k_message {
- __u16 type;
- __be32 ip_mask;
- __u8 MPS_ctrl[ATM_ESA_LEN];
- union {
- in_ctrl_info in_info;
- eg_ctrl_info eg_info;
- struct mpc_parameters params;
- } content;
- struct atm_qos qos;
-} __ATM_API_ALIGN;
-
-struct llc_snap_hdr {
- /* RFC 1483 LLC/SNAP encapsulation for routed IP PDUs */
- __u8 dsap; /* Destination Service Access Point (0xAA) */
- __u8 ssap; /* Source Service Access Point (0xAA) */
- __u8 ui; /* Unnumbered Information (0x03) */
- __u8 org[3]; /* Organizational identification (0x000000) */
- __u8 type[2]; /* Ether type (for IP) (0x0800) */
-};
-
-/* TLVs this MPC recognizes */
-#define TLV_MPOA_DEVICE_TYPE 0x00a03e2a
-
-/* MPOA device types in MPOA Device Type TLV */
-#define NON_MPOA 0
-#define MPS 1
-#define MPC 2
-#define MPS_AND_MPC 3
-
-
-/* MPC parameter defaults */
-
-#define MPC_P1 10 /* Shortcut-Setup Frame Count */
-#define MPC_P2 1 /* Shortcut-Setup Frame Time */
-#define MPC_P3 0 /* Flow-detection Protocols */
-#define MPC_P4 5 /* MPC Initial Retry Time */
-#define MPC_P5 40 /* MPC Retry Time Maximum */
-#define MPC_P6 160 /* Hold Down Time */
-#define HOLDING_TIME_DEFAULT 1200 /* same as MPS-p7 */
-
-/* MPC constants */
-
-#define MPC_C1 2 /* Retry Time Multiplier */
-#define MPC_C2 60 /* Initial Keep-Alive Lifetime */
-
-/* Message types - to MPOA daemon */
-
-#define SND_MPOA_RES_RQST 201
-#define SET_MPS_CTRL_ADDR 202
-#define SND_MPOA_RES_RTRY 203 /* Different type in a retry due to req id */
-#define STOP_KEEP_ALIVE_SM 204
-#define EGRESS_ENTRY_REMOVED 205
-#define SND_EGRESS_PURGE 206
-#define DIE 207 /* tell the daemon to exit() */
-#define DATA_PLANE_PURGE 208 /* Data plane purge because of egress cache hit miss or dead MPS */
-#define OPEN_INGRESS_SVC 209
-
-/* Message types - from MPOA daemon */
-
-#define MPOA_TRIGGER_RCVD 101
-#define MPOA_RES_REPLY_RCVD 102
-#define INGRESS_PURGE_RCVD 103
-#define EGRESS_PURGE_RCVD 104
-#define MPS_DEATH 105
-#define CACHE_IMPOS_RCVD 106
-#define SET_MPC_CTRL_ADDR 107 /* Our MPC's control ATM address */
-#define SET_MPS_MAC_ADDR 108
-#define CLEAN_UP_AND_EXIT 109
-#define SET_MPC_PARAMS 110 /* MPC configuration parameters */
-
-/* Message types - bidirectional */
-
-#define RELOAD 301 /* kill -HUP the daemon for reload */
-
-#endif /* _ATMMPC_H_ */
diff --git a/linux-headers/include/linux/atmppp.h b/linux-headers/include/linux/atmppp.h
deleted file mode 100644
index 300dcce..0000000
--- a/linux-headers/include/linux/atmppp.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* atmppp.h - RFC2364 PPPoATM */
-
-/* Written 2000 by Mitchell Blank Jr */
-
-#ifndef _LINUX_ATMPPP_H
-#define _LINUX_ATMPPP_H
-
-#include <linux/atm.h>
-
-#define PPPOATM_ENCAPS_AUTODETECT (0)
-#define PPPOATM_ENCAPS_VC (1)
-#define PPPOATM_ENCAPS_LLC (2)
-
-/*
- * This is for the ATM_SETBACKEND call - these are like socket families:
- * the first element of the structure is the backend number and the rest
- * is per-backend specific
- */
-struct atm_backend_ppp {
- atm_backend_t backend_num; /* ATM_BACKEND_PPP */
- int encaps; /* PPPOATM_ENCAPS_* */
-};
-
-#endif /* _LINUX_ATMPPP_H */
diff --git a/linux-headers/include/linux/atmsap.h b/linux-headers/include/linux/atmsap.h
deleted file mode 100644
index 799b104..0000000
--- a/linux-headers/include/linux/atmsap.h
+++ /dev/null
@@ -1,162 +0,0 @@
-/* atmsap.h - ATM Service Access Point addressing definitions */
-
-/* Written 1995-1999 by Werner Almesberger, EPFL LRC/ICA */
-
-
-#ifndef _LINUX_ATMSAP_H
-#define _LINUX_ATMSAP_H
-
-#include <linux/atmapi.h>
-
-/*
- * BEGIN_xx and END_xx markers are used for automatic generation of
- * documentation. Do not change them.
- */
-
-
-/*
- * Layer 2 protocol identifiers
- */
-
-/* BEGIN_L2 */
-#define ATM_L2_NONE 0 /* L2 not specified */
-#define ATM_L2_ISO1745 0x01 /* Basic mode ISO 1745 */
-#define ATM_L2_Q291 0x02 /* ITU-T Q.291 (Rec. I.441) */
-#define ATM_L2_X25_LL 0x06 /* ITU-T X.25, link layer */
-#define ATM_L2_X25_ML 0x07 /* ITU-T X.25, multilink */
-#define ATM_L2_LAPB 0x08 /* Extended LAPB, half-duplex (Rec. T.71) */
-#define ATM_L2_HDLC_ARM 0x09 /* HDLC ARM (ISO/IEC 4335) */
-#define ATM_L2_HDLC_NRM 0x0a /* HDLC NRM (ISO/IEC 4335) */
-#define ATM_L2_HDLC_ABM 0x0b /* HDLC ABM (ISO/IEC 4335) */
-#define ATM_L2_ISO8802 0x0c /* LAN LLC (ISO/IEC 8802/2) */
-#define ATM_L2_X75 0x0d /* ITU-T X.75, SLP */
-#define ATM_L2_Q922 0x0e /* ITU-T Q.922 */
-#define ATM_L2_USER 0x10 /* user-specified */
-#define ATM_L2_ISO7776 0x11 /* ISO 7776 DTE-DTE */
-/* END_L2 */
-
-
-/*
- * Layer 3 protocol identifiers
- */
-
-/* BEGIN_L3 */
-#define ATM_L3_NONE 0 /* L3 not specified */
-#define ATM_L3_X25 0x06 /* ITU-T X.25, packet layer */
-#define ATM_L3_ISO8208 0x07 /* ISO/IEC 8208 */
-#define ATM_L3_X223 0x08 /* ITU-T X.223 | ISO/IEC 8878 */
-#define ATM_L3_ISO8473 0x09 /* ITU-T X.233 | ISO/IEC 8473 */
-#define ATM_L3_T70 0x0a /* ITU-T T.70 minimum network layer */
-#define ATM_L3_TR9577 0x0b /* ISO/IEC TR 9577 */
-#define ATM_L3_H310 0x0c /* ITU-T Recommendation H.310 */
-#define ATM_L3_H321 0x0d /* ITU-T Recommendation H.321 */
-#define ATM_L3_USER 0x10 /* user-specified */
-/* END_L3 */
-
-
-/*
- * High layer identifiers
- */
-
-/* BEGIN_HL */
-#define ATM_HL_NONE 0 /* HL not specified */
-#define ATM_HL_ISO 0x01 /* ISO */
-#define ATM_HL_USER 0x02 /* user-specific */
-#define ATM_HL_HLP 0x03 /* high layer profile - UNI 3.0 only */
-#define ATM_HL_VENDOR 0x04 /* vendor-specific application identifier */
-/* END_HL */
-
-
-/*
- * ITU-T coded mode of operation
- */
-
-/* BEGIN_IMD */
-#define ATM_IMD_NONE 0 /* mode not specified */
-#define ATM_IMD_NORMAL 1 /* normal mode of operation */
-#define ATM_IMD_EXTENDED 2 /* extended mode of operation */
-/* END_IMD */
-
-/*
- * H.310 code points
- */
-
-#define ATM_TT_NONE 0 /* terminal type not specified */
-#define ATM_TT_RX 1 /* receive only */
-#define ATM_TT_TX 2 /* send only */
-#define ATM_TT_RXTX 3 /* receive and send */
-
-#define ATM_MC_NONE 0 /* no multiplexing */
-#define ATM_MC_TS 1 /* transport stream (TS) */
-#define ATM_MC_TS_FEC 2 /* transport stream with forward error corr. */
-#define ATM_MC_PS 3 /* program stream (PS) */
-#define ATM_MC_PS_FEC 4 /* program stream with forward error corr. */
-#define ATM_MC_H221 5 /* ITU-T Rec. H.221 */
-
-/*
- * SAP structures
- */
-
-#define ATM_MAX_HLI 8 /* maximum high-layer information length */
-
-
-struct atm_blli {
- unsigned char l2_proto; /* layer 2 protocol */
- union {
- struct {
- unsigned char mode; /* mode of operation (ATM_IMD_xxx), 0 if */
- /* absent */
- unsigned char window; /* window size (k), 1-127 (0 to omit) */
- } itu; /* ITU-T encoding */
- unsigned char user; /* user-specified l2 information */
- } l2;
- unsigned char l3_proto; /* layer 3 protocol */
- union {
- struct {
- unsigned char mode; /* mode of operation (ATM_IMD_xxx), 0 if */
- /* absent */
- unsigned char def_size; /* default packet size (log2), 4-12 (0 to */
- /* omit) */
- unsigned char window;/* packet window size, 1-127 (0 to omit) */
- } itu; /* ITU-T encoding */
- unsigned char user; /* user specified l3 information */
- struct { /* if l3_proto = ATM_L3_H310 */
- unsigned char term_type; /* terminal type */
- unsigned char fw_mpx_cap; /* forward multiplexing capability */
- /* only if term_type != ATM_TT_NONE */
- unsigned char bw_mpx_cap; /* backward multiplexing capability */
- /* only if term_type != ATM_TT_NONE */
- } h310;
- struct { /* if l3_proto = ATM_L3_TR9577 */
- unsigned char ipi; /* initial protocol id */
- unsigned char snap[5];/* IEEE 802.1 SNAP identifier */
- /* (only if ipi == NLPID_IEEE802_1_SNAP) */
- } tr9577;
- } l3;
-} __ATM_API_ALIGN;
-
-
-struct atm_bhli {
- unsigned char hl_type; /* high layer information type */
- unsigned char hl_length; /* length (only if hl_type == ATM_HL_USER || */
- /* hl_type == ATM_HL_ISO) */
- unsigned char hl_info[ATM_MAX_HLI];/* high layer information */
-};
-
-
-#define ATM_MAX_BLLI 3 /* maximum number of BLLI elements */
-
-
-struct atm_sap {
- struct atm_bhli bhli; /* local SAP, high-layer information */
- struct atm_blli blli[ATM_MAX_BLLI] __ATM_API_ALIGN;
- /* local SAP, low-layer info */
-};
-
-
-static __inline__ int blli_in_use(struct atm_blli blli)
-{
- return blli.l2_proto || blli.l3_proto;
-}
-
-#endif
diff --git a/linux-headers/include/linux/atmsvc.h b/linux-headers/include/linux/atmsvc.h
deleted file mode 100644
index aa71583..0000000
--- a/linux-headers/include/linux/atmsvc.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* atmsvc.h - ATM signaling kernel-demon interface definitions */
-
-/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
-
-
-#ifndef _LINUX_ATMSVC_H
-#define _LINUX_ATMSVC_H
-
-#include <linux/atmapi.h>
-#include <linux/atm.h>
-#include <linux/atmioc.h>
-
-
-#define ATMSIGD_CTRL _IO('a',ATMIOC_SPECIAL)
- /* become ATM signaling demon control socket */
-
-enum atmsvc_msg_type { as_catch_null, as_bind, as_connect, as_accept, as_reject,
- as_listen, as_okay, as_error, as_indicate, as_close,
- as_itf_notify, as_modify, as_identify, as_terminate,
- as_addparty, as_dropparty };
-
-struct atmsvc_msg {
- enum atmsvc_msg_type type;
- atm_kptr_t vcc;
- atm_kptr_t listen_vcc; /* indicate */
- int reply; /* for okay and close: */
- /* < 0: error before active */
- /* (sigd has discarded ctx) */
- /* ==0: success */
- /* > 0: error when active (still */
- /* need to close) */
- struct sockaddr_atmpvc pvc; /* indicate, okay (connect) */
- struct sockaddr_atmsvc local; /* local SVC address */
- struct atm_qos qos; /* QOS parameters */
- struct atm_sap sap; /* SAP */
- unsigned int session; /* for p2pm */
- struct sockaddr_atmsvc svc; /* SVC address */
-} __ATM_API_ALIGN;
-
-/*
- * Message contents: see ftp://icaftp.epfl.ch/pub/linux/atm/docs/isp-*.tar.gz
- */
-
-/*
- * Some policy stuff for atmsigd and for net/atm/svc.c. Both have to agree on
- * what PCR is used to request bandwidth from the device driver. net/atm/svc.c
- * tries to do better than that, but only if there's no routing decision (i.e.
- * if signaling only uses one ATM interface).
- */
-
-#define SELECT_TOP_PCR(tp) ((tp).pcr ? (tp).pcr : \
- (tp).max_pcr && (tp).max_pcr != ATM_MAX_PCR ? (tp).max_pcr : \
- (tp).min_pcr ? (tp).min_pcr : ATM_MAX_PCR)
-
-#endif
diff --git a/linux-headers/include/linux/audit.h b/linux-headers/include/linux/audit.h
deleted file mode 100644
index f589fc6..0000000
--- a/linux-headers/include/linux/audit.h
+++ /dev/null
@@ -1,467 +0,0 @@
-/* audit.h -- Auditing support
- *
- * Copyright 2003-2004 Red Hat Inc., Durham, North Carolina.
- * All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Written by Rickard E. (Rik) Faith <faith@redhat.com>
- *
- */
-
-#ifndef _LINUX_AUDIT_H_
-#define _LINUX_AUDIT_H_
-
-#include <linux/types.h>
-#include <linux/elf-em.h>
-
-/* The netlink messages for the audit system is divided into blocks:
- * 1000 - 1099 are for commanding the audit system
- * 1100 - 1199 user space trusted application messages
- * 1200 - 1299 messages internal to the audit daemon
- * 1300 - 1399 audit event messages
- * 1400 - 1499 SE Linux use
- * 1500 - 1599 kernel LSPP events
- * 1600 - 1699 kernel crypto events
- * 1700 - 1799 kernel anomaly records
- * 1800 - 1899 kernel integrity events
- * 1900 - 1999 future kernel use
- * 2000 is for otherwise unclassified kernel audit messages (legacy)
- * 2001 - 2099 unused (kernel)
- * 2100 - 2199 user space anomaly records
- * 2200 - 2299 user space actions taken in response to anomalies
- * 2300 - 2399 user space generated LSPP events
- * 2400 - 2499 user space crypto events
- * 2500 - 2999 future user space (maybe integrity labels and related events)
- *
- * Messages from 1000-1199 are bi-directional. 1200-1299 & 2100 - 2999 are
- * exclusively user space. 1300-2099 is kernel --> user space
- * communication.
- */
-#define AUDIT_GET 1000 /* Get status */
-#define AUDIT_SET 1001 /* Set status (enable/disable/auditd) */
-#define AUDIT_LIST 1002 /* List syscall rules -- deprecated */
-#define AUDIT_ADD 1003 /* Add syscall rule -- deprecated */
-#define AUDIT_DEL 1004 /* Delete syscall rule -- deprecated */
-#define AUDIT_USER 1005 /* Message from userspace -- deprecated */
-#define AUDIT_LOGIN 1006 /* Define the login id and information */
-#define AUDIT_WATCH_INS 1007 /* Insert file/dir watch entry */
-#define AUDIT_WATCH_REM 1008 /* Remove file/dir watch entry */
-#define AUDIT_WATCH_LIST 1009 /* List all file/dir watches */
-#define AUDIT_SIGNAL_INFO 1010 /* Get info about sender of signal to auditd */
-#define AUDIT_ADD_RULE 1011 /* Add syscall filtering rule */
-#define AUDIT_DEL_RULE 1012 /* Delete syscall filtering rule */
-#define AUDIT_LIST_RULES 1013 /* List syscall filtering rules */
-#define AUDIT_TRIM 1014 /* Trim junk from watched tree */
-#define AUDIT_MAKE_EQUIV 1015 /* Append to watched tree */
-#define AUDIT_TTY_GET 1016 /* Get TTY auditing status */
-#define AUDIT_TTY_SET 1017 /* Set TTY auditing status */
-#define AUDIT_SET_FEATURE 1018 /* Turn an audit feature on or off */
-#define AUDIT_GET_FEATURE 1019 /* Get which features are enabled */
-
-#define AUDIT_FIRST_USER_MSG 1100 /* Userspace messages mostly uninteresting to kernel */
-#define AUDIT_USER_AVC 1107 /* We filter this differently */
-#define AUDIT_USER_TTY 1124 /* Non-ICANON TTY input meaning */
-#define AUDIT_LAST_USER_MSG 1199
-#define AUDIT_FIRST_USER_MSG2 2100 /* More user space messages */
-#define AUDIT_LAST_USER_MSG2 2999
-
-#define AUDIT_DAEMON_START 1200 /* Daemon startup record */
-#define AUDIT_DAEMON_END 1201 /* Daemon normal stop record */
-#define AUDIT_DAEMON_ABORT 1202 /* Daemon error stop record */
-#define AUDIT_DAEMON_CONFIG 1203 /* Daemon config change */
-
-#define AUDIT_SYSCALL 1300 /* Syscall event */
-/* #define AUDIT_FS_WATCH 1301 * Deprecated */
-#define AUDIT_PATH 1302 /* Filename path information */
-#define AUDIT_IPC 1303 /* IPC record */
-#define AUDIT_SOCKETCALL 1304 /* sys_socketcall arguments */
-#define AUDIT_CONFIG_CHANGE 1305 /* Audit system configuration change */
-#define AUDIT_SOCKADDR 1306 /* sockaddr copied as syscall arg */
-#define AUDIT_CWD 1307 /* Current working directory */
-#define AUDIT_EXECVE 1309 /* execve arguments */
-#define AUDIT_IPC_SET_PERM 1311 /* IPC new permissions record type */
-#define AUDIT_MQ_OPEN 1312 /* POSIX MQ open record type */
-#define AUDIT_MQ_SENDRECV 1313 /* POSIX MQ send/receive record type */
-#define AUDIT_MQ_NOTIFY 1314 /* POSIX MQ notify record type */
-#define AUDIT_MQ_GETSETATTR 1315 /* POSIX MQ get/set attribute record type */
-#define AUDIT_KERNEL_OTHER 1316 /* For use by 3rd party modules */
-#define AUDIT_FD_PAIR 1317 /* audit record for pipe/socketpair */
-#define AUDIT_OBJ_PID 1318 /* ptrace target */
-#define AUDIT_TTY 1319 /* Input on an administrative TTY */
-#define AUDIT_EOE 1320 /* End of multi-record event */
-#define AUDIT_BPRM_FCAPS 1321 /* Information about fcaps increasing perms */
-#define AUDIT_CAPSET 1322 /* Record showing argument to sys_capset */
-#define AUDIT_MMAP 1323 /* Record showing descriptor and flags in mmap */
-#define AUDIT_NETFILTER_PKT 1324 /* Packets traversing netfilter chains */
-#define AUDIT_NETFILTER_CFG 1325 /* Netfilter chain modifications */
-#define AUDIT_SECCOMP 1326 /* Secure Computing event */
-#define AUDIT_PROCTITLE 1327 /* Proctitle emit event */
-#define AUDIT_FEATURE_CHANGE 1328 /* audit log listing feature changes */
-#define AUDIT_REPLACE 1329 /* Replace auditd if this packet unanswerd */
-
-#define AUDIT_AVC 1400 /* SE Linux avc denial or grant */
-#define AUDIT_SELINUX_ERR 1401 /* Internal SE Linux Errors */
-#define AUDIT_AVC_PATH 1402 /* dentry, vfsmount pair from avc */
-#define AUDIT_MAC_POLICY_LOAD 1403 /* Policy file load */
-#define AUDIT_MAC_STATUS 1404 /* Changed enforcing,permissive,off */
-#define AUDIT_MAC_CONFIG_CHANGE 1405 /* Changes to booleans */
-#define AUDIT_MAC_UNLBL_ALLOW 1406 /* NetLabel: allow unlabeled traffic */
-#define AUDIT_MAC_CIPSOV4_ADD 1407 /* NetLabel: add CIPSOv4 DOI entry */
-#define AUDIT_MAC_CIPSOV4_DEL 1408 /* NetLabel: del CIPSOv4 DOI entry */
-#define AUDIT_MAC_MAP_ADD 1409 /* NetLabel: add LSM domain mapping */
-#define AUDIT_MAC_MAP_DEL 1410 /* NetLabel: del LSM domain mapping */
-#define AUDIT_MAC_IPSEC_ADDSA 1411 /* Not used */
-#define AUDIT_MAC_IPSEC_DELSA 1412 /* Not used */
-#define AUDIT_MAC_IPSEC_ADDSPD 1413 /* Not used */
-#define AUDIT_MAC_IPSEC_DELSPD 1414 /* Not used */
-#define AUDIT_MAC_IPSEC_EVENT 1415 /* Audit an IPSec event */
-#define AUDIT_MAC_UNLBL_STCADD 1416 /* NetLabel: add a static label */
-#define AUDIT_MAC_UNLBL_STCDEL 1417 /* NetLabel: del a static label */
-
-#define AUDIT_FIRST_KERN_ANOM_MSG 1700
-#define AUDIT_LAST_KERN_ANOM_MSG 1799
-#define AUDIT_ANOM_PROMISCUOUS 1700 /* Device changed promiscuous mode */
-#define AUDIT_ANOM_ABEND 1701 /* Process ended abnormally */
-#define AUDIT_ANOM_LINK 1702 /* Suspicious use of file links */
-#define AUDIT_INTEGRITY_DATA 1800 /* Data integrity verification */
-#define AUDIT_INTEGRITY_METADATA 1801 /* Metadata integrity verification */
-#define AUDIT_INTEGRITY_STATUS 1802 /* Integrity enable status */
-#define AUDIT_INTEGRITY_HASH 1803 /* Integrity HASH type */
-#define AUDIT_INTEGRITY_PCR 1804 /* PCR invalidation msgs */
-#define AUDIT_INTEGRITY_RULE 1805 /* policy rule */
-
-#define AUDIT_KERNEL 2000 /* Asynchronous audit record. NOT A REQUEST. */
-
-/* Rule flags */
-#define AUDIT_FILTER_USER 0x00 /* Apply rule to user-generated messages */
-#define AUDIT_FILTER_TASK 0x01 /* Apply rule at task creation (not syscall) */
-#define AUDIT_FILTER_ENTRY 0x02 /* Apply rule at syscall entry */
-#define AUDIT_FILTER_WATCH 0x03 /* Apply rule to file system watches */
-#define AUDIT_FILTER_EXIT 0x04 /* Apply rule at syscall exit */
-#define AUDIT_FILTER_TYPE 0x05 /* Apply rule at audit_log_start */
-
-#define AUDIT_NR_FILTERS 6
-
-#define AUDIT_FILTER_PREPEND 0x10 /* Prepend to front of list */
-
-/* Rule actions */
-#define AUDIT_NEVER 0 /* Do not build context if rule matches */
-#define AUDIT_POSSIBLE 1 /* Build context if rule matches */
-#define AUDIT_ALWAYS 2 /* Generate audit record if rule matches */
-
-/* Rule structure sizes -- if these change, different AUDIT_ADD and
- * AUDIT_LIST commands must be implemented. */
-#define AUDIT_MAX_FIELDS 64
-#define AUDIT_MAX_KEY_LEN 256
-#define AUDIT_BITMASK_SIZE 64
-#define AUDIT_WORD(nr) ((__u32)((nr)/32))
-#define AUDIT_BIT(nr) (1 << ((nr) - AUDIT_WORD(nr)*32))
-
-#define AUDIT_SYSCALL_CLASSES 16
-#define AUDIT_CLASS_DIR_WRITE 0
-#define AUDIT_CLASS_DIR_WRITE_32 1
-#define AUDIT_CLASS_CHATTR 2
-#define AUDIT_CLASS_CHATTR_32 3
-#define AUDIT_CLASS_READ 4
-#define AUDIT_CLASS_READ_32 5
-#define AUDIT_CLASS_WRITE 6
-#define AUDIT_CLASS_WRITE_32 7
-#define AUDIT_CLASS_SIGNAL 8
-#define AUDIT_CLASS_SIGNAL_32 9
-
-/* This bitmask is used to validate user input. It represents all bits that
- * are currently used in an audit field constant understood by the kernel.
- * If you are adding a new #define AUDIT_<whatever>, please ensure that
- * AUDIT_UNUSED_BITS is updated if need be. */
-#define AUDIT_UNUSED_BITS 0x07FFFC00
-
-/* AUDIT_FIELD_COMPARE rule list */
-#define AUDIT_COMPARE_UID_TO_OBJ_UID 1
-#define AUDIT_COMPARE_GID_TO_OBJ_GID 2
-#define AUDIT_COMPARE_EUID_TO_OBJ_UID 3
-#define AUDIT_COMPARE_EGID_TO_OBJ_GID 4
-#define AUDIT_COMPARE_AUID_TO_OBJ_UID 5
-#define AUDIT_COMPARE_SUID_TO_OBJ_UID 6
-#define AUDIT_COMPARE_SGID_TO_OBJ_GID 7
-#define AUDIT_COMPARE_FSUID_TO_OBJ_UID 8
-#define AUDIT_COMPARE_FSGID_TO_OBJ_GID 9
-
-#define AUDIT_COMPARE_UID_TO_AUID 10
-#define AUDIT_COMPARE_UID_TO_EUID 11
-#define AUDIT_COMPARE_UID_TO_FSUID 12
-#define AUDIT_COMPARE_UID_TO_SUID 13
-
-#define AUDIT_COMPARE_AUID_TO_FSUID 14
-#define AUDIT_COMPARE_AUID_TO_SUID 15
-#define AUDIT_COMPARE_AUID_TO_EUID 16
-
-#define AUDIT_COMPARE_EUID_TO_SUID 17
-#define AUDIT_COMPARE_EUID_TO_FSUID 18
-
-#define AUDIT_COMPARE_SUID_TO_FSUID 19
-
-#define AUDIT_COMPARE_GID_TO_EGID 20
-#define AUDIT_COMPARE_GID_TO_FSGID 21
-#define AUDIT_COMPARE_GID_TO_SGID 22
-
-#define AUDIT_COMPARE_EGID_TO_FSGID 23
-#define AUDIT_COMPARE_EGID_TO_SGID 24
-#define AUDIT_COMPARE_SGID_TO_FSGID 25
-
-#define AUDIT_MAX_FIELD_COMPARE AUDIT_COMPARE_SGID_TO_FSGID
-
-/* Rule fields */
- /* These are useful when checking the
- * task structure at task creation time
- * (AUDIT_PER_TASK). */
-#define AUDIT_PID 0
-#define AUDIT_UID 1
-#define AUDIT_EUID 2
-#define AUDIT_SUID 3
-#define AUDIT_FSUID 4
-#define AUDIT_GID 5
-#define AUDIT_EGID 6
-#define AUDIT_SGID 7
-#define AUDIT_FSGID 8
-#define AUDIT_LOGINUID 9
-#define AUDIT_PERS 10
-#define AUDIT_ARCH 11
-#define AUDIT_MSGTYPE 12
-#define AUDIT_SUBJ_USER 13 /* security label user */
-#define AUDIT_SUBJ_ROLE 14 /* security label role */
-#define AUDIT_SUBJ_TYPE 15 /* security label type */
-#define AUDIT_SUBJ_SEN 16 /* security label sensitivity label */
-#define AUDIT_SUBJ_CLR 17 /* security label clearance label */
-#define AUDIT_PPID 18
-#define AUDIT_OBJ_USER 19
-#define AUDIT_OBJ_ROLE 20
-#define AUDIT_OBJ_TYPE 21
-#define AUDIT_OBJ_LEV_LOW 22
-#define AUDIT_OBJ_LEV_HIGH 23
-#define AUDIT_LOGINUID_SET 24
-
- /* These are ONLY useful when checking
- * at syscall exit time (AUDIT_AT_EXIT). */
-#define AUDIT_DEVMAJOR 100
-#define AUDIT_DEVMINOR 101
-#define AUDIT_INODE 102
-#define AUDIT_EXIT 103
-#define AUDIT_SUCCESS 104 /* exit >= 0; value ignored */
-#define AUDIT_WATCH 105
-#define AUDIT_PERM 106
-#define AUDIT_DIR 107
-#define AUDIT_FILETYPE 108
-#define AUDIT_OBJ_UID 109
-#define AUDIT_OBJ_GID 110
-#define AUDIT_FIELD_COMPARE 111
-#define AUDIT_EXE 112
-
-#define AUDIT_ARG0 200
-#define AUDIT_ARG1 (AUDIT_ARG0+1)
-#define AUDIT_ARG2 (AUDIT_ARG0+2)
-#define AUDIT_ARG3 (AUDIT_ARG0+3)
-
-#define AUDIT_FILTERKEY 210
-
-#define AUDIT_NEGATE 0x80000000
-
-/* These are the supported operators.
- * 4 2 1 8
- * = > < ?
- * ----------
- * 0 0 0 0 00 nonsense
- * 0 0 0 1 08 & bit mask
- * 0 0 1 0 10 <
- * 0 1 0 0 20 >
- * 0 1 1 0 30 !=
- * 1 0 0 0 40 =
- * 1 0 0 1 48 &= bit test
- * 1 0 1 0 50 <=
- * 1 1 0 0 60 >=
- * 1 1 1 1 78 all operators
- */
-#define AUDIT_BIT_MASK 0x08000000
-#define AUDIT_LESS_THAN 0x10000000
-#define AUDIT_GREATER_THAN 0x20000000
-#define AUDIT_NOT_EQUAL 0x30000000
-#define AUDIT_EQUAL 0x40000000
-#define AUDIT_BIT_TEST (AUDIT_BIT_MASK|AUDIT_EQUAL)
-#define AUDIT_LESS_THAN_OR_EQUAL (AUDIT_LESS_THAN|AUDIT_EQUAL)
-#define AUDIT_GREATER_THAN_OR_EQUAL (AUDIT_GREATER_THAN|AUDIT_EQUAL)
-#define AUDIT_OPERATORS (AUDIT_EQUAL|AUDIT_NOT_EQUAL|AUDIT_BIT_MASK)
-
-enum {
- Audit_equal,
- Audit_not_equal,
- Audit_bitmask,
- Audit_bittest,
- Audit_lt,
- Audit_gt,
- Audit_le,
- Audit_ge,
- Audit_bad
-};
-
-/* Status symbols */
- /* Mask values */
-#define AUDIT_STATUS_ENABLED 0x0001
-#define AUDIT_STATUS_FAILURE 0x0002
-#define AUDIT_STATUS_PID 0x0004
-#define AUDIT_STATUS_RATE_LIMIT 0x0008
-#define AUDIT_STATUS_BACKLOG_LIMIT 0x0010
-#define AUDIT_STATUS_BACKLOG_WAIT_TIME 0x0020
-
-#define AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT 0x00000001
-#define AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME 0x00000002
-#define AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH 0x00000004
-#define AUDIT_FEATURE_BITMAP_ALL (AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT | \
- AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME | \
- AUDIT_FEATURE_BITMAP_EXECUTABLE_PATH)
-
-/* deprecated: AUDIT_VERSION_* */
-#define AUDIT_VERSION_LATEST AUDIT_FEATURE_BITMAP_ALL
-#define AUDIT_VERSION_BACKLOG_LIMIT AUDIT_FEATURE_BITMAP_BACKLOG_LIMIT
-#define AUDIT_VERSION_BACKLOG_WAIT_TIME AUDIT_FEATURE_BITMAP_BACKLOG_WAIT_TIME
-
- /* Failure-to-log actions */
-#define AUDIT_FAIL_SILENT 0
-#define AUDIT_FAIL_PRINTK 1
-#define AUDIT_FAIL_PANIC 2
-
-/*
- * These bits disambiguate different calling conventions that share an
- * ELF machine type, bitness, and endianness
- */
-#define __AUDIT_ARCH_CONVENTION_MASK 0x30000000
-#define __AUDIT_ARCH_CONVENTION_MIPS64_N32 0x20000000
-
-/* distinguish syscall tables */
-#define __AUDIT_ARCH_64BIT 0x80000000
-#define __AUDIT_ARCH_LE 0x40000000
-
-#define AUDIT_ARCH_AARCH64 (EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_ARMEB (EM_ARM)
-#define AUDIT_ARCH_CRIS (EM_CRIS|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_FRV (EM_FRV)
-#define AUDIT_ARCH_I386 (EM_386|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_IA64 (EM_IA_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_M32R (EM_M32R)
-#define AUDIT_ARCH_M68K (EM_68K)
-#define AUDIT_ARCH_MICROBLAZE (EM_MICROBLAZE)
-#define AUDIT_ARCH_MIPS (EM_MIPS)
-#define AUDIT_ARCH_MIPSEL (EM_MIPS|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_MIPS64 (EM_MIPS|__AUDIT_ARCH_64BIT)
-#define AUDIT_ARCH_MIPS64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|\
- __AUDIT_ARCH_CONVENTION_MIPS64_N32)
-#define AUDIT_ARCH_MIPSEL64 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_MIPSEL64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE|\
- __AUDIT_ARCH_CONVENTION_MIPS64_N32)
-#define AUDIT_ARCH_OPENRISC (EM_OPENRISC)
-#define AUDIT_ARCH_PARISC (EM_PARISC)
-#define AUDIT_ARCH_PARISC64 (EM_PARISC|__AUDIT_ARCH_64BIT)
-#define AUDIT_ARCH_PPC (EM_PPC)
-/* do not define AUDIT_ARCH_PPCLE since it is not supported by audit */
-#define AUDIT_ARCH_PPC64 (EM_PPC64|__AUDIT_ARCH_64BIT)
-#define AUDIT_ARCH_PPC64LE (EM_PPC64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_S390 (EM_S390)
-#define AUDIT_ARCH_S390X (EM_S390|__AUDIT_ARCH_64BIT)
-#define AUDIT_ARCH_SH (EM_SH)
-#define AUDIT_ARCH_SHEL (EM_SH|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_SH64 (EM_SH|__AUDIT_ARCH_64BIT)
-#define AUDIT_ARCH_SHEL64 (EM_SH|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_SPARC (EM_SPARC)
-#define AUDIT_ARCH_SPARC64 (EM_SPARCV9|__AUDIT_ARCH_64BIT)
-#define AUDIT_ARCH_TILEGX (EM_TILEGX|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_TILEGX32 (EM_TILEGX|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_TILEPRO (EM_TILEPRO|__AUDIT_ARCH_LE)
-#define AUDIT_ARCH_X86_64 (EM_X86_64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
-
-#define AUDIT_PERM_EXEC 1
-#define AUDIT_PERM_WRITE 2
-#define AUDIT_PERM_READ 4
-#define AUDIT_PERM_ATTR 8
-
-/* MAX_AUDIT_MESSAGE_LENGTH is set in audit:lib/libaudit.h as:
- * 8970 // PATH_MAX*2+CONTEXT_SIZE*2+11+256+1
- * max header+body+tailer: 44 + 29 + 32 + 262 + 7 + pad
- */
-#define AUDIT_MESSAGE_TEXT_MAX 8560
-
-/* Multicast Netlink socket groups (default up to 32) */
-enum audit_nlgrps {
- AUDIT_NLGRP_NONE, /* Group 0 not used */
- AUDIT_NLGRP_READLOG, /* "best effort" read only socket */
- __AUDIT_NLGRP_MAX
-};
-#define AUDIT_NLGRP_MAX (__AUDIT_NLGRP_MAX - 1)
-
-struct audit_status {
- __u32 mask; /* Bit mask for valid entries */
- __u32 enabled; /* 1 = enabled, 0 = disabled */
- __u32 failure; /* Failure-to-log action */
- __u32 pid; /* pid of auditd process */
- __u32 rate_limit; /* messages rate limit (per second) */
- __u32 backlog_limit; /* waiting messages limit */
- __u32 lost; /* messages lost */
- __u32 backlog; /* messages waiting in queue */
- union {
- __u32 version; /* deprecated: audit api version num */
- __u32 feature_bitmap; /* bitmap of kernel audit features */
- };
- __u32 backlog_wait_time;/* message queue wait timeout */
-};
-
-struct audit_features {
-#define AUDIT_FEATURE_VERSION 1
- __u32 vers;
- __u32 mask; /* which bits we are dealing with */
- __u32 features; /* which feature to enable/disable */
- __u32 lock; /* which features to lock */
-};
-
-#define AUDIT_FEATURE_ONLY_UNSET_LOGINUID 0
-#define AUDIT_FEATURE_LOGINUID_IMMUTABLE 1
-#define AUDIT_LAST_FEATURE AUDIT_FEATURE_LOGINUID_IMMUTABLE
-
-#define audit_feature_valid(x) ((x) >= 0 && (x) <= AUDIT_LAST_FEATURE)
-#define AUDIT_FEATURE_TO_MASK(x) (1 << ((x) & 31)) /* mask for __u32 */
-
-struct audit_tty_status {
- __u32 enabled; /* 1 = enabled, 0 = disabled */
- __u32 log_passwd; /* 1 = enabled, 0 = disabled */
-};
-
-#define AUDIT_UID_UNSET (unsigned int)-1
-
-/* audit_rule_data supports filter rules with both integer and string
- * fields. It corresponds with AUDIT_ADD_RULE, AUDIT_DEL_RULE and
- * AUDIT_LIST_RULES requests.
- */
-struct audit_rule_data {
- __u32 flags; /* AUDIT_PER_{TASK,CALL}, AUDIT_PREPEND */
- __u32 action; /* AUDIT_NEVER, AUDIT_POSSIBLE, AUDIT_ALWAYS */
- __u32 field_count;
- __u32 mask[AUDIT_BITMASK_SIZE]; /* syscall(s) affected */
- __u32 fields[AUDIT_MAX_FIELDS];
- __u32 values[AUDIT_MAX_FIELDS];
- __u32 fieldflags[AUDIT_MAX_FIELDS];
- __u32 buflen; /* total length of string fields */
- char buf[0]; /* string fields buffer */
-};
-
-#endif /* _LINUX_AUDIT_H_ */
diff --git a/linux-headers/include/linux/auto_fs.h b/linux-headers/include/linux/auto_fs.h
deleted file mode 100644
index 6be090d..0000000
--- a/linux-headers/include/linux/auto_fs.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright 1997 Transmeta Corporation - All Rights Reserved
- *
- * This file is part of the Linux kernel and is made available under
- * the terms of the GNU General Public License, version 2, or at your
- * option, any later version, incorporated herein by reference.
- *
- * ----------------------------------------------------------------------- */
-
-
-#ifndef _LINUX_AUTO_FS_H
-#define _LINUX_AUTO_FS_H
-
-#include <linux/types.h>
-#include <sys/ioctl.h>
-
-
-/* This file describes autofs v3 */
-#define AUTOFS_PROTO_VERSION 3
-
-/* Range of protocol versions defined */
-#define AUTOFS_MAX_PROTO_VERSION AUTOFS_PROTO_VERSION
-#define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION
-
-/*
- * The wait_queue_token (autofs_wqt_t) is part of a structure which is passed
- * back to the kernel via ioctl from userspace. On architectures where 32- and
- * 64-bit userspace binaries can be executed it's important that the size of
- * autofs_wqt_t stays constant between 32- and 64-bit Linux kernels so that we
- * do not break the binary ABI interface by changing the structure size.
- */
-#if defined(__ia64__) || defined(__alpha__) /* pure 64bit architectures */
-typedef unsigned long autofs_wqt_t;
-#else
-typedef unsigned int autofs_wqt_t;
-#endif
-
-/* Packet types */
-#define autofs_ptype_missing 0 /* Missing entry (mount request) */
-#define autofs_ptype_expire 1 /* Expire entry (umount request) */
-
-struct autofs_packet_hdr {
- int proto_version; /* Protocol version */
- int type; /* Type of packet */
-};
-
-struct autofs_packet_missing {
- struct autofs_packet_hdr hdr;
- autofs_wqt_t wait_queue_token;
- int len;
- char name[NAME_MAX+1];
-};
-
-/* v3 expire (via ioctl) */
-struct autofs_packet_expire {
- struct autofs_packet_hdr hdr;
- int len;
- char name[NAME_MAX+1];
-};
-
-#define AUTOFS_IOC_READY _IO(0x93, 0x60)
-#define AUTOFS_IOC_FAIL _IO(0x93, 0x61)
-#define AUTOFS_IOC_CATATONIC _IO(0x93, 0x62)
-#define AUTOFS_IOC_PROTOVER _IOR(0x93, 0x63, int)
-#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(0x93, 0x64, compat_ulong_t)
-#define AUTOFS_IOC_SETTIMEOUT _IOWR(0x93, 0x64, unsigned long)
-#define AUTOFS_IOC_EXPIRE _IOR(0x93, 0x65, struct autofs_packet_expire)
-
-#endif /* _LINUX_AUTO_FS_H */
diff --git a/linux-headers/include/linux/auto_fs4.h b/linux-headers/include/linux/auto_fs4.h
deleted file mode 100644
index 1663210..0000000
--- a/linux-headers/include/linux/auto_fs4.h
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org>
- *
- * This file is part of the Linux kernel and is made available under
- * the terms of the GNU General Public License, version 2, or at your
- * option, any later version, incorporated herein by reference.
- */
-
-#ifndef _LINUX_AUTO_FS4_H
-#define _LINUX_AUTO_FS4_H
-
-/* Include common v3 definitions */
-#include <linux/types.h>
-#include <linux/auto_fs.h>
-
-/* autofs v4 definitions */
-#undef AUTOFS_PROTO_VERSION
-#undef AUTOFS_MIN_PROTO_VERSION
-#undef AUTOFS_MAX_PROTO_VERSION
-
-#define AUTOFS_PROTO_VERSION 5
-#define AUTOFS_MIN_PROTO_VERSION 3
-#define AUTOFS_MAX_PROTO_VERSION 5
-
-#define AUTOFS_PROTO_SUBVERSION 2
-
-/* Mask for expire behaviour */
-#define AUTOFS_EXP_IMMEDIATE 1
-#define AUTOFS_EXP_LEAVES 2
-
-#define AUTOFS_TYPE_ANY 0U
-#define AUTOFS_TYPE_INDIRECT 1U
-#define AUTOFS_TYPE_DIRECT 2U
-#define AUTOFS_TYPE_OFFSET 4U
-
-static __inline__ void set_autofs_type_indirect(unsigned int *type)
-{
- *type = AUTOFS_TYPE_INDIRECT;
-}
-
-static __inline__ unsigned int autofs_type_indirect(unsigned int type)
-{
- return (type == AUTOFS_TYPE_INDIRECT);
-}
-
-static __inline__ void set_autofs_type_direct(unsigned int *type)
-{
- *type = AUTOFS_TYPE_DIRECT;
-}
-
-static __inline__ unsigned int autofs_type_direct(unsigned int type)
-{
- return (type == AUTOFS_TYPE_DIRECT);
-}
-
-static __inline__ void set_autofs_type_offset(unsigned int *type)
-{
- *type = AUTOFS_TYPE_OFFSET;
-}
-
-static __inline__ unsigned int autofs_type_offset(unsigned int type)
-{
- return (type == AUTOFS_TYPE_OFFSET);
-}
-
-static __inline__ unsigned int autofs_type_trigger(unsigned int type)
-{
- return (type == AUTOFS_TYPE_DIRECT || type == AUTOFS_TYPE_OFFSET);
-}
-
-/*
- * This isn't really a type as we use it to say "no type set" to
- * indicate we want to search for "any" mount in the
- * autofs_dev_ioctl_ismountpoint() device ioctl function.
- */
-static __inline__ void set_autofs_type_any(unsigned int *type)
-{
- *type = AUTOFS_TYPE_ANY;
-}
-
-static __inline__ unsigned int autofs_type_any(unsigned int type)
-{
- return (type == AUTOFS_TYPE_ANY);
-}
-
-/* Daemon notification packet types */
-enum autofs_notify {
- NFY_NONE,
- NFY_MOUNT,
- NFY_EXPIRE
-};
-
-/* Kernel protocol version 4 packet types */
-
-/* Expire entry (umount request) */
-#define autofs_ptype_expire_multi 2
-
-/* Kernel protocol version 5 packet types */
-
-/* Indirect mount missing and expire requests. */
-#define autofs_ptype_missing_indirect 3
-#define autofs_ptype_expire_indirect 4
-
-/* Direct mount missing and expire requests */
-#define autofs_ptype_missing_direct 5
-#define autofs_ptype_expire_direct 6
-
-/* v4 multi expire (via pipe) */
-struct autofs_packet_expire_multi {
- struct autofs_packet_hdr hdr;
- autofs_wqt_t wait_queue_token;
- int len;
- char name[NAME_MAX+1];
-};
-
-union autofs_packet_union {
- struct autofs_packet_hdr hdr;
- struct autofs_packet_missing missing;
- struct autofs_packet_expire expire;
- struct autofs_packet_expire_multi expire_multi;
-};
-
-/* autofs v5 common packet struct */
-struct autofs_v5_packet {
- struct autofs_packet_hdr hdr;
- autofs_wqt_t wait_queue_token;
- __u32 dev;
- __u64 ino;
- __u32 uid;
- __u32 gid;
- __u32 pid;
- __u32 tgid;
- __u32 len;
- char name[NAME_MAX+1];
-};
-
-typedef struct autofs_v5_packet autofs_packet_missing_indirect_t;
-typedef struct autofs_v5_packet autofs_packet_expire_indirect_t;
-typedef struct autofs_v5_packet autofs_packet_missing_direct_t;
-typedef struct autofs_v5_packet autofs_packet_expire_direct_t;
-
-union autofs_v5_packet_union {
- struct autofs_packet_hdr hdr;
- struct autofs_v5_packet v5_packet;
- autofs_packet_missing_indirect_t missing_indirect;
- autofs_packet_expire_indirect_t expire_indirect;
- autofs_packet_missing_direct_t missing_direct;
- autofs_packet_expire_direct_t expire_direct;
-};
-
-#define AUTOFS_IOC_EXPIRE_MULTI _IOW(0x93, 0x66, int)
-#define AUTOFS_IOC_EXPIRE_INDIRECT AUTOFS_IOC_EXPIRE_MULTI
-#define AUTOFS_IOC_EXPIRE_DIRECT AUTOFS_IOC_EXPIRE_MULTI
-#define AUTOFS_IOC_PROTOSUBVER _IOR(0x93, 0x67, int)
-#define AUTOFS_IOC_ASKUMOUNT _IOR(0x93, 0x70, int)
-
-#endif /* _LINUX_AUTO_FS4_H */
diff --git a/linux-headers/include/linux/auxvec.h b/linux-headers/include/linux/auxvec.h
deleted file mode 100644
index 4bad588..0000000
--- a/linux-headers/include/linux/auxvec.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _LINUX_AUXVEC_H
-#define _LINUX_AUXVEC_H
-
-#include <asm/auxvec.h>
-
-/* Symbolic values for the entries in the auxiliary table
- put on the initial stack */
-#define AT_NULL 0 /* end of vector */
-#define AT_IGNORE 1 /* entry should be ignored */
-#define AT_EXECFD 2 /* file descriptor of program */
-#define AT_PHDR 3 /* program headers for program */
-#define AT_PHENT 4 /* size of program header entry */
-#define AT_PHNUM 5 /* number of program headers */
-#define AT_PAGESZ 6 /* system page size */
-#define AT_BASE 7 /* base address of interpreter */
-#define AT_FLAGS 8 /* flags */
-#define AT_ENTRY 9 /* entry point of program */
-#define AT_NOTELF 10 /* program is not ELF */
-#define AT_UID 11 /* real uid */
-#define AT_EUID 12 /* effective uid */
-#define AT_GID 13 /* real gid */
-#define AT_EGID 14 /* effective gid */
-#define AT_PLATFORM 15 /* string identifying CPU for optimizations */
-#define AT_HWCAP 16 /* arch dependent hints at CPU capabilities */
-#define AT_CLKTCK 17 /* frequency at which times() increments */
-/* AT_* values 18 through 22 are reserved */
-#define AT_SECURE 23 /* secure mode boolean */
-#define AT_BASE_PLATFORM 24 /* string identifying real platform, may
- * differ from AT_PLATFORM. */
-#define AT_RANDOM 25 /* address of 16 random bytes */
-#define AT_HWCAP2 26 /* extension of AT_HWCAP */
-
-#define AT_EXECFN 31 /* filename of program */
-
-
-#endif /* _LINUX_AUXVEC_H */
diff --git a/linux-headers/include/linux/ax25.h b/linux-headers/include/linux/ax25.h
deleted file mode 100644
index 74c89a4..0000000
--- a/linux-headers/include/linux/ax25.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * These are the public elements of the Linux kernel AX.25 code. A similar
- * file netrom.h exists for the NET/ROM protocol.
- */
-
-#ifndef AX25_KERNEL_H
-#define AX25_KERNEL_H
-
-#include <linux/socket.h>
-
-#define AX25_MTU 256
-#define AX25_MAX_DIGIS 8
-
-#define AX25_WINDOW 1
-#define AX25_T1 2
-#define AX25_N2 3
-#define AX25_T3 4
-#define AX25_T2 5
-#define AX25_BACKOFF 6
-#define AX25_EXTSEQ 7
-#define AX25_PIDINCL 8
-#define AX25_IDLE 9
-#define AX25_PACLEN 10
-#define AX25_IAMDIGI 12
-
-#define AX25_KILL 99
-
-#define SIOCAX25GETUID (SIOCPROTOPRIVATE+0)
-#define SIOCAX25ADDUID (SIOCPROTOPRIVATE+1)
-#define SIOCAX25DELUID (SIOCPROTOPRIVATE+2)
-#define SIOCAX25NOUID (SIOCPROTOPRIVATE+3)
-#define SIOCAX25OPTRT (SIOCPROTOPRIVATE+7)
-#define SIOCAX25CTLCON (SIOCPROTOPRIVATE+8)
-#define SIOCAX25GETINFOOLD (SIOCPROTOPRIVATE+9)
-#define SIOCAX25ADDFWD (SIOCPROTOPRIVATE+10)
-#define SIOCAX25DELFWD (SIOCPROTOPRIVATE+11)
-#define SIOCAX25DEVCTL (SIOCPROTOPRIVATE+12)
-#define SIOCAX25GETINFO (SIOCPROTOPRIVATE+13)
-
-#define AX25_SET_RT_IPMODE 2
-
-#define AX25_NOUID_DEFAULT 0
-#define AX25_NOUID_BLOCK 1
-
-typedef struct {
- char ax25_call[7]; /* 6 call + SSID (shifted ascii!) */
-} ax25_address;
-
-struct sockaddr_ax25 {
- __kernel_sa_family_t sax25_family;
- ax25_address sax25_call;
- int sax25_ndigis;
- /* Digipeater ax25_address sets follow */
-};
-
-#define sax25_uid sax25_ndigis
-
-struct full_sockaddr_ax25 {
- struct sockaddr_ax25 fsa_ax25;
- ax25_address fsa_digipeater[AX25_MAX_DIGIS];
-};
-
-struct ax25_routes_struct {
- ax25_address port_addr;
- ax25_address dest_addr;
- unsigned char digi_count;
- ax25_address digi_addr[AX25_MAX_DIGIS];
-};
-
-struct ax25_route_opt_struct {
- ax25_address port_addr;
- ax25_address dest_addr;
- int cmd;
- int arg;
-};
-
-struct ax25_ctl_struct {
- ax25_address port_addr;
- ax25_address source_addr;
- ax25_address dest_addr;
- unsigned int cmd;
- unsigned long arg;
- unsigned char digi_count;
- ax25_address digi_addr[AX25_MAX_DIGIS];
-};
-
-/* this will go away. Please do not export to user land */
-struct ax25_info_struct_deprecated {
- unsigned int n2, n2count;
- unsigned int t1, t1timer;
- unsigned int t2, t2timer;
- unsigned int t3, t3timer;
- unsigned int idle, idletimer;
- unsigned int state;
- unsigned int rcv_q, snd_q;
-};
-
-struct ax25_info_struct {
- unsigned int n2, n2count;
- unsigned int t1, t1timer;
- unsigned int t2, t2timer;
- unsigned int t3, t3timer;
- unsigned int idle, idletimer;
- unsigned int state;
- unsigned int rcv_q, snd_q;
- unsigned int vs, vr, va, vs_max;
- unsigned int paclen;
- unsigned int window;
-};
-
-struct ax25_fwd_struct {
- ax25_address port_from;
- ax25_address port_to;
-};
-
-#endif
diff --git a/linux-headers/include/linux/b1lli.h b/linux-headers/include/linux/b1lli.h
deleted file mode 100644
index 713f712..0000000
--- a/linux-headers/include/linux/b1lli.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/* $Id: b1lli.h,v 1.8.8.3 2001/09/23 22:25:05 kai Exp $
- *
- * ISDN lowlevel-module for AVM B1-card.
- *
- * Copyright 1996 by Carsten Paeth (calle@calle.in-berlin.de)
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-#ifndef _B1LLI_H_
-#define _B1LLI_H_
-/*
- * struct for loading t4 file
- */
-typedef struct avmb1_t4file {
- int len;
- unsigned char *data;
-} avmb1_t4file;
-
-typedef struct avmb1_loaddef {
- int contr;
- avmb1_t4file t4file;
-} avmb1_loaddef;
-
-typedef struct avmb1_loadandconfigdef {
- int contr;
- avmb1_t4file t4file;
- avmb1_t4file t4config;
-} avmb1_loadandconfigdef;
-
-typedef struct avmb1_resetdef {
- int contr;
-} avmb1_resetdef;
-
-typedef struct avmb1_getdef {
- int contr;
- int cardtype;
- int cardstate;
-} avmb1_getdef;
-
-/*
- * struct for adding new cards
- */
-typedef struct avmb1_carddef {
- int port;
- int irq;
-} avmb1_carddef;
-
-#define AVM_CARDTYPE_B1 0
-#define AVM_CARDTYPE_T1 1
-#define AVM_CARDTYPE_M1 2
-#define AVM_CARDTYPE_M2 3
-
-typedef struct avmb1_extcarddef {
- int port;
- int irq;
- int cardtype;
- int cardnr; /* for HEMA/T1 */
-} avmb1_extcarddef;
-
-#define AVMB1_LOAD 0 /* load image to card */
-#define AVMB1_ADDCARD 1 /* add a new card - OBSOLETE */
-#define AVMB1_RESETCARD 2 /* reset a card */
-#define AVMB1_LOAD_AND_CONFIG 3 /* load image and config to card */
-#define AVMB1_ADDCARD_WITH_TYPE 4 /* add a new card, with cardtype */
-#define AVMB1_GET_CARDINFO 5 /* get cardtype */
-#define AVMB1_REMOVECARD 6 /* remove a card - OBSOLETE */
-
-#define AVMB1_REGISTERCARD_IS_OBSOLETE
-
-#endif /* _B1LLI_H_ */
diff --git a/linux-headers/include/linux/baycom.h b/linux-headers/include/linux/baycom.h
deleted file mode 100644
index 81249e0..0000000
--- a/linux-headers/include/linux/baycom.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * The Linux BAYCOM driver for the Baycom serial 1200 baud modem
- * and the parallel 9600 baud modem
- * (C) 1997-1998 by Thomas Sailer, HB9JNX/AE4WA
- */
-
-#ifndef _BAYCOM_H
-#define _BAYCOM_H
-
-/* -------------------------------------------------------------------- */
-/*
- * structs for the IOCTL commands
- */
-
-struct baycom_debug_data {
- unsigned long debug1;
- unsigned long debug2;
- long debug3;
-};
-
-struct baycom_ioctl {
- int cmd;
- union {
- struct baycom_debug_data dbg;
- } data;
-};
-
-/* -------------------------------------------------------------------- */
-
-/*
- * ioctl values change for baycom
- */
-#define BAYCOMCTL_GETDEBUG 0x92
-
-/* -------------------------------------------------------------------- */
-
-#endif /* _BAYCOM_H */
-
-/* --------------------------------------------------------------------- */
diff --git a/linux-headers/include/linux/bcm933xx_hcs.h b/linux-headers/include/linux/bcm933xx_hcs.h
deleted file mode 100644
index d228218..0000000
--- a/linux-headers/include/linux/bcm933xx_hcs.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Broadcom Cable Modem firmware format
- */
-
-#ifndef __BCM933XX_HCS_H
-#define __BCM933XX_HCS_H
-
-#include <linux/types.h>
-
-struct bcm_hcs {
- __u16 magic;
- __u16 control;
- __u16 rev_maj;
- __u16 rev_min;
- __u32 build_date;
- __u32 filelen;
- __u32 ldaddress;
- char filename[64];
- __u16 hcs;
- __u16 her_znaet_chto;
- __u32 crc;
-};
-
-#endif /* __BCM933XX_HCS */
diff --git a/linux-headers/include/linux/bfs_fs.h b/linux-headers/include/linux/bfs_fs.h
deleted file mode 100644
index 1c0b355..0000000
--- a/linux-headers/include/linux/bfs_fs.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * include/linux/bfs_fs.h - BFS data structures on disk.
- * Copyright (C) 1999 Tigran Aivazian <tigran@veritas.com>
- */
-
-#ifndef _LINUX_BFS_FS_H
-#define _LINUX_BFS_FS_H
-
-#include <linux/types.h>
-
-#define BFS_BSIZE_BITS 9
-#define BFS_BSIZE (1<<BFS_BSIZE_BITS)
-
-#define BFS_MAGIC 0x1BADFACE
-#define BFS_ROOT_INO 2
-#define BFS_INODES_PER_BLOCK 8
-
-/* SVR4 vnode type values (bfs_inode->i_vtype) */
-#define BFS_VDIR 2L
-#define BFS_VREG 1L
-
-/* BFS inode layout on disk */
-struct bfs_inode {
- __le16 i_ino;
- __u16 i_unused;
- __le32 i_sblock;
- __le32 i_eblock;
- __le32 i_eoffset;
- __le32 i_vtype;
- __le32 i_mode;
- __le32 i_uid;
- __le32 i_gid;
- __le32 i_nlink;
- __le32 i_atime;
- __le32 i_mtime;
- __le32 i_ctime;
- __u32 i_padding[4];
-};
-
-#define BFS_NAMELEN 14
-#define BFS_DIRENT_SIZE 16
-#define BFS_DIRS_PER_BLOCK 32
-
-struct bfs_dirent {
- __le16 ino;
- char name[BFS_NAMELEN];
-};
-
-/* BFS superblock layout on disk */
-struct bfs_super_block {
- __le32 s_magic;
- __le32 s_start;
- __le32 s_end;
- __le32 s_from;
- __le32 s_to;
- __s32 s_bfrom;
- __s32 s_bto;
- char s_fsname[6];
- char s_volume[6];
- __u32 s_padding[118];
-};
-
-
-#define BFS_OFF2INO(offset) \
- ((((offset) - BFS_BSIZE) / sizeof(struct bfs_inode)) + BFS_ROOT_INO)
-
-#define BFS_INO2OFF(ino) \
- ((__u32)(((ino) - BFS_ROOT_INO) * sizeof(struct bfs_inode)) + BFS_BSIZE)
-#define BFS_NZFILESIZE(ip) \
- ((le32_to_cpu((ip)->i_eoffset) + 1) - le32_to_cpu((ip)->i_sblock) * BFS_BSIZE)
-
-#define BFS_FILESIZE(ip) \
- ((ip)->i_sblock == 0 ? 0 : BFS_NZFILESIZE(ip))
-
-#define BFS_FILEBLOCKS(ip) \
- ((ip)->i_sblock == 0 ? 0 : (le32_to_cpu((ip)->i_eblock) + 1) - le32_to_cpu((ip)->i_sblock))
-#define BFS_UNCLEAN(bfs_sb, sb) \
- ((le32_to_cpu(bfs_sb->s_from) != -1) && (le32_to_cpu(bfs_sb->s_to) != -1) && !(sb->s_flags & MS_RDONLY))
-
-
-#endif /* _LINUX_BFS_FS_H */
diff --git a/linux-headers/include/linux/binfmts.h b/linux-headers/include/linux/binfmts.h
deleted file mode 100644
index 6416794..0000000
--- a/linux-headers/include/linux/binfmts.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _LINUX_BINFMTS_H
-#define _LINUX_BINFMTS_H
-
-#include <linux/capability.h>
-
-struct pt_regs;
-
-/*
- * These are the maximum length and maximum number of strings passed to the
- * execve() system call. MAX_ARG_STRLEN is essentially random but serves to
- * prevent the kernel from being unduly impacted by misaddressed pointers.
- * MAX_ARG_STRINGS is chosen to fit in a signed 32-bit integer.
- */
-#define MAX_ARG_STRLEN (PAGE_SIZE * 32)
-#define MAX_ARG_STRINGS 0x7FFFFFFF
-
-/* sizeof(linux_binprm->buf) */
-#define BINPRM_BUF_SIZE 128
-
-#endif /* _LINUX_BINFMTS_H */
diff --git a/linux-headers/include/linux/blkpg.h b/linux-headers/include/linux/blkpg.h
deleted file mode 100644
index e39cc4e..0000000
--- a/linux-headers/include/linux/blkpg.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __LINUX_BLKPG_H
-#define __LINUX_BLKPG_H
-
-/*
- * Partition table and disk geometry handling
- *
- * A single ioctl with lots of subfunctions:
- *
- * Device number stuff:
- * get_whole_disk() (given the device number of a partition,
- * find the device number of the encompassing disk)
- * get_all_partitions() (given the device number of a disk, return the
- * device numbers of all its known partitions)
- *
- * Partition stuff:
- * add_partition()
- * delete_partition()
- * test_partition_in_use() (also for test_disk_in_use)
- *
- * Geometry stuff:
- * get_geometry()
- * set_geometry()
- * get_bios_drivedata()
- *
- * For today, only the partition stuff - aeb, 990515
- */
-
-#include <linux/ioctl.h>
-
-#define BLKPG _IO(0x12,105)
-
-/* The argument structure */
-struct blkpg_ioctl_arg {
- int op;
- int flags;
- int datalen;
- void *data;
-};
-
-/* The subfunctions (for the op field) */
-#define BLKPG_ADD_PARTITION 1
-#define BLKPG_DEL_PARTITION 2
-#define BLKPG_RESIZE_PARTITION 3
-
-/* Sizes of name fields. Unused at present. */
-#define BLKPG_DEVNAMELTH 64
-#define BLKPG_VOLNAMELTH 64
-
-/* The data structure for ADD_PARTITION and DEL_PARTITION */
-struct blkpg_partition {
- long long start; /* starting offset in bytes */
- long long length; /* length in bytes */
- int pno; /* partition number */
- char devname[BLKPG_DEVNAMELTH]; /* partition name, like sda5 or c0d1p2,
- to be used in kernel messages */
- char volname[BLKPG_VOLNAMELTH]; /* volume label */
-};
-
-#endif /* __LINUX_BLKPG_H */
diff --git a/linux-headers/include/linux/blktrace_api.h b/linux-headers/include/linux/blktrace_api.h
deleted file mode 100644
index 8d00071..0000000
--- a/linux-headers/include/linux/blktrace_api.h
+++ /dev/null
@@ -1,142 +0,0 @@
-#ifndef BLKTRACE_H
-#define BLKTRACE_H
-
-#include <linux/types.h>
-
-/*
- * Trace categories
- */
-enum blktrace_cat {
- BLK_TC_READ = 1 << 0, /* reads */
- BLK_TC_WRITE = 1 << 1, /* writes */
- BLK_TC_FLUSH = 1 << 2, /* flush */
- BLK_TC_SYNC = 1 << 3, /* sync IO */
- BLK_TC_SYNCIO = BLK_TC_SYNC,
- BLK_TC_QUEUE = 1 << 4, /* queueing/merging */
- BLK_TC_REQUEUE = 1 << 5, /* requeueing */
- BLK_TC_ISSUE = 1 << 6, /* issue */
- BLK_TC_COMPLETE = 1 << 7, /* completions */
- BLK_TC_FS = 1 << 8, /* fs requests */
- BLK_TC_PC = 1 << 9, /* pc requests */
- BLK_TC_NOTIFY = 1 << 10, /* special message */
- BLK_TC_AHEAD = 1 << 11, /* readahead */
- BLK_TC_META = 1 << 12, /* metadata */
- BLK_TC_DISCARD = 1 << 13, /* discard requests */
- BLK_TC_DRV_DATA = 1 << 14, /* binary per-driver data */
- BLK_TC_FUA = 1 << 15, /* fua requests */
-
- BLK_TC_END = 1 << 15, /* we've run out of bits! */
-};
-
-#define BLK_TC_SHIFT (16)
-#define BLK_TC_ACT(act) ((act) << BLK_TC_SHIFT)
-
-/*
- * Basic trace actions
- */
-enum blktrace_act {
- __BLK_TA_QUEUE = 1, /* queued */
- __BLK_TA_BACKMERGE, /* back merged to existing rq */
- __BLK_TA_FRONTMERGE, /* front merge to existing rq */
- __BLK_TA_GETRQ, /* allocated new request */
- __BLK_TA_SLEEPRQ, /* sleeping on rq allocation */
- __BLK_TA_REQUEUE, /* request requeued */
- __BLK_TA_ISSUE, /* sent to driver */
- __BLK_TA_COMPLETE, /* completed by driver */
- __BLK_TA_PLUG, /* queue was plugged */
- __BLK_TA_UNPLUG_IO, /* queue was unplugged by io */
- __BLK_TA_UNPLUG_TIMER, /* queue was unplugged by timer */
- __BLK_TA_INSERT, /* insert request */
- __BLK_TA_SPLIT, /* bio was split */
- __BLK_TA_BOUNCE, /* bio was bounced */
- __BLK_TA_REMAP, /* bio was remapped */
- __BLK_TA_ABORT, /* request aborted */
- __BLK_TA_DRV_DATA, /* driver-specific binary data */
-};
-
-/*
- * Notify events.
- */
-enum blktrace_notify {
- __BLK_TN_PROCESS = 0, /* establish pid/name mapping */
- __BLK_TN_TIMESTAMP, /* include system clock */
- __BLK_TN_MESSAGE, /* Character string message */
-};
-
-
-/*
- * Trace actions in full. Additionally, read or write is masked
- */
-#define BLK_TA_QUEUE (__BLK_TA_QUEUE | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_BACKMERGE (__BLK_TA_BACKMERGE | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_FRONTMERGE (__BLK_TA_FRONTMERGE | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_GETRQ (__BLK_TA_GETRQ | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_SLEEPRQ (__BLK_TA_SLEEPRQ | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_REQUEUE (__BLK_TA_REQUEUE | BLK_TC_ACT(BLK_TC_REQUEUE))
-#define BLK_TA_ISSUE (__BLK_TA_ISSUE | BLK_TC_ACT(BLK_TC_ISSUE))
-#define BLK_TA_COMPLETE (__BLK_TA_COMPLETE| BLK_TC_ACT(BLK_TC_COMPLETE))
-#define BLK_TA_PLUG (__BLK_TA_PLUG | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_UNPLUG_IO (__BLK_TA_UNPLUG_IO | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_UNPLUG_TIMER (__BLK_TA_UNPLUG_TIMER | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_INSERT (__BLK_TA_INSERT | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_SPLIT (__BLK_TA_SPLIT)
-#define BLK_TA_BOUNCE (__BLK_TA_BOUNCE)
-#define BLK_TA_REMAP (__BLK_TA_REMAP | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_ABORT (__BLK_TA_ABORT | BLK_TC_ACT(BLK_TC_QUEUE))
-#define BLK_TA_DRV_DATA (__BLK_TA_DRV_DATA | BLK_TC_ACT(BLK_TC_DRV_DATA))
-
-#define BLK_TN_PROCESS (__BLK_TN_PROCESS | BLK_TC_ACT(BLK_TC_NOTIFY))
-#define BLK_TN_TIMESTAMP (__BLK_TN_TIMESTAMP | BLK_TC_ACT(BLK_TC_NOTIFY))
-#define BLK_TN_MESSAGE (__BLK_TN_MESSAGE | BLK_TC_ACT(BLK_TC_NOTIFY))
-
-#define BLK_IO_TRACE_MAGIC 0x65617400
-#define BLK_IO_TRACE_VERSION 0x07
-
-/*
- * The trace itself
- */
-struct blk_io_trace {
- __u32 magic; /* MAGIC << 8 | version */
- __u32 sequence; /* event number */
- __u64 time; /* in microseconds */
- __u64 sector; /* disk offset */
- __u32 bytes; /* transfer length */
- __u32 action; /* what happened */
- __u32 pid; /* who did it */
- __u32 device; /* device number */
- __u32 cpu; /* on what cpu did it happen */
- __u16 error; /* completion error */
- __u16 pdu_len; /* length of data after this trace */
-};
-
-/*
- * The remap event
- */
-struct blk_io_trace_remap {
- __be32 device_from;
- __be32 device_to;
- __be64 sector_from;
-};
-
-enum {
- Blktrace_setup = 1,
- Blktrace_running,
- Blktrace_stopped,
-};
-
-#define BLKTRACE_BDEV_SIZE 32
-
-/*
- * User setup structure passed with BLKTRACESTART
- */
-struct blk_user_trace_setup {
- char name[BLKTRACE_BDEV_SIZE]; /* output */
- __u16 act_mask; /* input */
- __u32 buf_size; /* input */
- __u32 buf_nr; /* input */
- __u64 start_lba;
- __u64 end_lba;
- __u32 pid;
-};
-
-#endif /* BLKTRACE_H */
diff --git a/linux-headers/include/linux/bpf.h b/linux-headers/include/linux/bpf.h
deleted file mode 100644
index 0f5d6f5..0000000
--- a/linux-headers/include/linux/bpf.h
+++ /dev/null
@@ -1,382 +0,0 @@
-/* Copyright (c) 2011-2014 PLUMgrid, http://plumgrid.com
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- */
-#ifndef __LINUX_BPF_H__
-#define __LINUX_BPF_H__
-
-#include <linux/types.h>
-#include <linux/bpf_common.h>
-
-/* Extended instruction set based on top of classic BPF */
-
-/* instruction classes */
-#define BPF_ALU64 0x07 /* alu mode in double word width */
-
-/* ld/ldx fields */
-#define BPF_DW 0x18 /* double word */
-#define BPF_XADD 0xc0 /* exclusive add */
-
-/* alu/jmp fields */
-#define BPF_MOV 0xb0 /* mov reg to reg */
-#define BPF_ARSH 0xc0 /* sign extending arithmetic shift right */
-
-/* change endianness of a register */
-#define BPF_END 0xd0 /* flags for endianness conversion: */
-#define BPF_TO_LE 0x00 /* convert to little-endian */
-#define BPF_TO_BE 0x08 /* convert to big-endian */
-#define BPF_FROM_LE BPF_TO_LE
-#define BPF_FROM_BE BPF_TO_BE
-
-#define BPF_JNE 0x50 /* jump != */
-#define BPF_JSGT 0x60 /* SGT is signed '>', GT in x86 */
-#define BPF_JSGE 0x70 /* SGE is signed '>=', GE in x86 */
-#define BPF_CALL 0x80 /* function call */
-#define BPF_EXIT 0x90 /* function return */
-
-/* Register numbers */
-enum {
- BPF_REG_0 = 0,
- BPF_REG_1,
- BPF_REG_2,
- BPF_REG_3,
- BPF_REG_4,
- BPF_REG_5,
- BPF_REG_6,
- BPF_REG_7,
- BPF_REG_8,
- BPF_REG_9,
- BPF_REG_10,
- __MAX_BPF_REG,
-};
-
-/* BPF has 10 general purpose 64-bit registers and stack frame. */
-#define MAX_BPF_REG __MAX_BPF_REG
-
-struct bpf_insn {
- __u8 code; /* opcode */
- __u8 dst_reg:4; /* dest register */
- __u8 src_reg:4; /* source register */
- __s16 off; /* signed offset */
- __s32 imm; /* signed immediate constant */
-};
-
-/* BPF syscall commands, see bpf(2) man-page for details. */
-enum bpf_cmd {
- BPF_MAP_CREATE,
- BPF_MAP_LOOKUP_ELEM,
- BPF_MAP_UPDATE_ELEM,
- BPF_MAP_DELETE_ELEM,
- BPF_MAP_GET_NEXT_KEY,
- BPF_PROG_LOAD,
- BPF_OBJ_PIN,
- BPF_OBJ_GET,
-};
-
-enum bpf_map_type {
- BPF_MAP_TYPE_UNSPEC,
- BPF_MAP_TYPE_HASH,
- BPF_MAP_TYPE_ARRAY,
- BPF_MAP_TYPE_PROG_ARRAY,
- BPF_MAP_TYPE_PERF_EVENT_ARRAY,
- BPF_MAP_TYPE_PERCPU_HASH,
- BPF_MAP_TYPE_PERCPU_ARRAY,
- BPF_MAP_TYPE_STACK_TRACE,
-};
-
-enum bpf_prog_type {
- BPF_PROG_TYPE_UNSPEC,
- BPF_PROG_TYPE_SOCKET_FILTER,
- BPF_PROG_TYPE_KPROBE,
- BPF_PROG_TYPE_SCHED_CLS,
- BPF_PROG_TYPE_SCHED_ACT,
-};
-
-#define BPF_PSEUDO_MAP_FD 1
-
-/* flags for BPF_MAP_UPDATE_ELEM command */
-#define BPF_ANY 0 /* create new element or update existing */
-#define BPF_NOEXIST 1 /* create new element if it didn't exist */
-#define BPF_EXIST 2 /* update existing element */
-
-#define BPF_F_NO_PREALLOC (1U << 0)
-
-union bpf_attr {
- struct { /* anonymous struct used by BPF_MAP_CREATE command */
- __u32 map_type; /* one of enum bpf_map_type */
- __u32 key_size; /* size of key in bytes */
- __u32 value_size; /* size of value in bytes */
- __u32 max_entries; /* max number of entries in a map */
- __u32 map_flags; /* prealloc or not */
- };
-
- struct { /* anonymous struct used by BPF_MAP_*_ELEM commands */
- __u32 map_fd;
- __aligned_u64 key;
- union {
- __aligned_u64 value;
- __aligned_u64 next_key;
- };
- __u64 flags;
- };
-
- struct { /* anonymous struct used by BPF_PROG_LOAD command */
- __u32 prog_type; /* one of enum bpf_prog_type */
- __u32 insn_cnt;
- __aligned_u64 insns;
- __aligned_u64 license;
- __u32 log_level; /* verbosity level of verifier */
- __u32 log_size; /* size of user buffer */
- __aligned_u64 log_buf; /* user supplied buffer */
- __u32 kern_version; /* checked when prog_type=kprobe */
- };
-
- struct { /* anonymous struct used by BPF_OBJ_* commands */
- __aligned_u64 pathname;
- __u32 bpf_fd;
- };
-} __attribute__((aligned(8)));
-
-/* integer value in 'imm' field of BPF_CALL instruction selects which helper
- * function eBPF program intends to call
- */
-enum bpf_func_id {
- BPF_FUNC_unspec,
- BPF_FUNC_map_lookup_elem, /* void *map_lookup_elem(&map, &key) */
- BPF_FUNC_map_update_elem, /* int map_update_elem(&map, &key, &value, flags) */
- BPF_FUNC_map_delete_elem, /* int map_delete_elem(&map, &key) */
- BPF_FUNC_probe_read, /* int bpf_probe_read(void *dst, int size, void *src) */
- BPF_FUNC_ktime_get_ns, /* u64 bpf_ktime_get_ns(void) */
- BPF_FUNC_trace_printk, /* int bpf_trace_printk(const char *fmt, int fmt_size, ...) */
- BPF_FUNC_get_prandom_u32, /* u32 prandom_u32(void) */
- BPF_FUNC_get_smp_processor_id, /* u32 raw_smp_processor_id(void) */
-
- /**
- * skb_store_bytes(skb, offset, from, len, flags) - store bytes into packet
- * @skb: pointer to skb
- * @offset: offset within packet from skb->mac_header
- * @from: pointer where to copy bytes from
- * @len: number of bytes to store into packet
- * @flags: bit 0 - if true, recompute skb->csum
- * other bits - reserved
- * Return: 0 on success
- */
- BPF_FUNC_skb_store_bytes,
-
- /**
- * l3_csum_replace(skb, offset, from, to, flags) - recompute IP checksum
- * @skb: pointer to skb
- * @offset: offset within packet where IP checksum is located
- * @from: old value of header field
- * @to: new value of header field
- * @flags: bits 0-3 - size of header field
- * other bits - reserved
- * Return: 0 on success
- */
- BPF_FUNC_l3_csum_replace,
-
- /**
- * l4_csum_replace(skb, offset, from, to, flags) - recompute TCP/UDP checksum
- * @skb: pointer to skb
- * @offset: offset within packet where TCP/UDP checksum is located
- * @from: old value of header field
- * @to: new value of header field
- * @flags: bits 0-3 - size of header field
- * bit 4 - is pseudo header
- * other bits - reserved
- * Return: 0 on success
- */
- BPF_FUNC_l4_csum_replace,
-
- /**
- * bpf_tail_call(ctx, prog_array_map, index) - jump into another BPF program
- * @ctx: context pointer passed to next program
- * @prog_array_map: pointer to map which type is BPF_MAP_TYPE_PROG_ARRAY
- * @index: index inside array that selects specific program to run
- * Return: 0 on success
- */
- BPF_FUNC_tail_call,
-
- /**
- * bpf_clone_redirect(skb, ifindex, flags) - redirect to another netdev
- * @skb: pointer to skb
- * @ifindex: ifindex of the net device
- * @flags: bit 0 - if set, redirect to ingress instead of egress
- * other bits - reserved
- * Return: 0 on success
- */
- BPF_FUNC_clone_redirect,
-
- /**
- * u64 bpf_get_current_pid_tgid(void)
- * Return: current->tgid << 32 | current->pid
- */
- BPF_FUNC_get_current_pid_tgid,
-
- /**
- * u64 bpf_get_current_uid_gid(void)
- * Return: current_gid << 32 | current_uid
- */
- BPF_FUNC_get_current_uid_gid,
-
- /**
- * bpf_get_current_comm(char *buf, int size_of_buf)
- * stores current->comm into buf
- * Return: 0 on success
- */
- BPF_FUNC_get_current_comm,
-
- /**
- * bpf_get_cgroup_classid(skb) - retrieve a proc's classid
- * @skb: pointer to skb
- * Return: classid if != 0
- */
- BPF_FUNC_get_cgroup_classid,
- BPF_FUNC_skb_vlan_push, /* bpf_skb_vlan_push(skb, vlan_proto, vlan_tci) */
- BPF_FUNC_skb_vlan_pop, /* bpf_skb_vlan_pop(skb) */
-
- /**
- * bpf_skb_[gs]et_tunnel_key(skb, key, size, flags)
- * retrieve or populate tunnel metadata
- * @skb: pointer to skb
- * @key: pointer to 'struct bpf_tunnel_key'
- * @size: size of 'struct bpf_tunnel_key'
- * @flags: room for future extensions
- * Retrun: 0 on success
- */
- BPF_FUNC_skb_get_tunnel_key,
- BPF_FUNC_skb_set_tunnel_key,
- BPF_FUNC_perf_event_read, /* u64 bpf_perf_event_read(&map, index) */
- /**
- * bpf_redirect(ifindex, flags) - redirect to another netdev
- * @ifindex: ifindex of the net device
- * @flags: bit 0 - if set, redirect to ingress instead of egress
- * other bits - reserved
- * Return: TC_ACT_REDIRECT
- */
- BPF_FUNC_redirect,
-
- /**
- * bpf_get_route_realm(skb) - retrieve a dst's tclassid
- * @skb: pointer to skb
- * Return: realm if != 0
- */
- BPF_FUNC_get_route_realm,
-
- /**
- * bpf_perf_event_output(ctx, map, index, data, size) - output perf raw sample
- * @ctx: struct pt_regs*
- * @map: pointer to perf_event_array map
- * @index: index of event in the map
- * @data: data on stack to be output as raw data
- * @size: size of data
- * Return: 0 on success
- */
- BPF_FUNC_perf_event_output,
- BPF_FUNC_skb_load_bytes,
-
- /**
- * bpf_get_stackid(ctx, map, flags) - walk user or kernel stack and return id
- * @ctx: struct pt_regs*
- * @map: pointer to stack_trace map
- * @flags: bits 0-7 - numer of stack frames to skip
- * bit 8 - collect user stack instead of kernel
- * bit 9 - compare stacks by hash only
- * bit 10 - if two different stacks hash into the same stackid
- * discard old
- * other bits - reserved
- * Return: >= 0 stackid on success or negative error
- */
- BPF_FUNC_get_stackid,
-
- /**
- * bpf_csum_diff(from, from_size, to, to_size, seed) - calculate csum diff
- * @from: raw from buffer
- * @from_size: length of from buffer
- * @to: raw to buffer
- * @to_size: length of to buffer
- * @seed: optional seed
- * Return: csum result
- */
- BPF_FUNC_csum_diff,
-
- /**
- * bpf_skb_[gs]et_tunnel_opt(skb, opt, size)
- * retrieve or populate tunnel options metadata
- * @skb: pointer to skb
- * @opt: pointer to raw tunnel option data
- * @size: size of @opt
- * Return: 0 on success for set, option size for get
- */
- BPF_FUNC_skb_get_tunnel_opt,
- BPF_FUNC_skb_set_tunnel_opt,
- __BPF_FUNC_MAX_ID,
-};
-
-/* All flags used by eBPF helper functions, placed here. */
-
-/* BPF_FUNC_skb_store_bytes flags. */
-#define BPF_F_RECOMPUTE_CSUM (1ULL << 0)
-#define BPF_F_INVALIDATE_HASH (1ULL << 1)
-
-/* BPF_FUNC_l3_csum_replace and BPF_FUNC_l4_csum_replace flags.
- * First 4 bits are for passing the header field size.
- */
-#define BPF_F_HDR_FIELD_MASK 0xfULL
-
-/* BPF_FUNC_l4_csum_replace flags. */
-#define BPF_F_PSEUDO_HDR (1ULL << 4)
-#define BPF_F_MARK_MANGLED_0 (1ULL << 5)
-
-/* BPF_FUNC_clone_redirect and BPF_FUNC_redirect flags. */
-#define BPF_F_INGRESS (1ULL << 0)
-
-/* BPF_FUNC_skb_set_tunnel_key and BPF_FUNC_skb_get_tunnel_key flags. */
-#define BPF_F_TUNINFO_IPV6 (1ULL << 0)
-
-/* BPF_FUNC_get_stackid flags. */
-#define BPF_F_SKIP_FIELD_MASK 0xffULL
-#define BPF_F_USER_STACK (1ULL << 8)
-#define BPF_F_FAST_STACK_CMP (1ULL << 9)
-#define BPF_F_REUSE_STACKID (1ULL << 10)
-
-/* BPF_FUNC_skb_set_tunnel_key flags. */
-#define BPF_F_ZERO_CSUM_TX (1ULL << 1)
-#define BPF_F_DONT_FRAGMENT (1ULL << 2)
-
-/* user accessible mirror of in-kernel sk_buff.
- * new fields can only be added to the end of this structure
- */
-struct __sk_buff {
- __u32 len;
- __u32 pkt_type;
- __u32 mark;
- __u32 queue_mapping;
- __u32 protocol;
- __u32 vlan_present;
- __u32 vlan_tci;
- __u32 vlan_proto;
- __u32 priority;
- __u32 ingress_ifindex;
- __u32 ifindex;
- __u32 tc_index;
- __u32 cb[5];
- __u32 hash;
- __u32 tc_classid;
-};
-
-struct bpf_tunnel_key {
- __u32 tunnel_id;
- union {
- __u32 remote_ipv4;
- __u32 remote_ipv6[4];
- };
- __u8 tunnel_tos;
- __u8 tunnel_ttl;
- __u16 tunnel_ext;
- __u32 tunnel_label;
-};
-
-#endif /* __LINUX_BPF_H__ */
diff --git a/linux-headers/include/linux/bpf_common.h b/linux-headers/include/linux/bpf_common.h
deleted file mode 100644
index afe7433..0000000
--- a/linux-headers/include/linux/bpf_common.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef __LINUX_BPF_COMMON_H__
-#define __LINUX_BPF_COMMON_H__
-
-/* Instruction classes */
-#define BPF_CLASS(code) ((code) & 0x07)
-#define BPF_LD 0x00
-#define BPF_LDX 0x01
-#define BPF_ST 0x02
-#define BPF_STX 0x03
-#define BPF_ALU 0x04
-#define BPF_JMP 0x05
-#define BPF_RET 0x06
-#define BPF_MISC 0x07
-
-/* ld/ldx fields */
-#define BPF_SIZE(code) ((code) & 0x18)
-#define BPF_W 0x00
-#define BPF_H 0x08
-#define BPF_B 0x10
-#define BPF_MODE(code) ((code) & 0xe0)
-#define BPF_IMM 0x00
-#define BPF_ABS 0x20
-#define BPF_IND 0x40
-#define BPF_MEM 0x60
-#define BPF_LEN 0x80
-#define BPF_MSH 0xa0
-
-/* alu/jmp fields */
-#define BPF_OP(code) ((code) & 0xf0)
-#define BPF_ADD 0x00
-#define BPF_SUB 0x10
-#define BPF_MUL 0x20
-#define BPF_DIV 0x30
-#define BPF_OR 0x40
-#define BPF_AND 0x50
-#define BPF_LSH 0x60
-#define BPF_RSH 0x70
-#define BPF_NEG 0x80
-#define BPF_MOD 0x90
-#define BPF_XOR 0xa0
-
-#define BPF_JA 0x00
-#define BPF_JEQ 0x10
-#define BPF_JGT 0x20
-#define BPF_JGE 0x30
-#define BPF_JSET 0x40
-#define BPF_SRC(code) ((code) & 0x08)
-#define BPF_K 0x00
-#define BPF_X 0x08
-
-#ifndef BPF_MAXINSNS
-#define BPF_MAXINSNS 4096
-#endif
-
-#endif /* __LINUX_BPF_COMMON_H__ */
diff --git a/linux-headers/include/linux/bpqether.h b/linux-headers/include/linux/bpqether.h
deleted file mode 100644
index a6c35e1..0000000
--- a/linux-headers/include/linux/bpqether.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef __BPQETHER_H
-#define __BPQETHER_H
-
-/*
- * Defines for the BPQETHER pseudo device driver
- */
-
-#ifndef __LINUX_IF_ETHER_H
-#include <linux/if_ether.h>
-#endif
-
-#define SIOCSBPQETHOPT (SIOCDEVPRIVATE+0) /* reserved */
-#define SIOCSBPQETHADDR (SIOCDEVPRIVATE+1)
-
-struct bpq_ethaddr {
- unsigned char destination[ETH_ALEN];
- unsigned char accept[ETH_ALEN];
-};
-
-/*
- * For SIOCSBPQETHOPT - this is compatible with PI2/PacketTwin card drivers,
- * currently not implemented, though. If someone wants to hook a radio
- * to his Ethernet card he may find this useful. ;-)
- */
-
-#define SIOCGBPQETHPARAM 0x5000 /* get Level 1 parameters */
-#define SIOCSBPQETHPARAM 0x5001 /* set */
-
-struct bpq_req {
- int cmd;
- int speed; /* unused */
- int clockmode; /* unused */
- int txdelay;
- unsigned char persist; /* unused */
- int slotime; /* unused */
- int squeldelay;
- int dmachan; /* unused */
- int irq; /* unused */
-};
-
-#endif
diff --git a/linux-headers/include/linux/bsg.h b/linux-headers/include/linux/bsg.h
deleted file mode 100644
index 9d35c01..0000000
--- a/linux-headers/include/linux/bsg.h
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef BSG_H
-#define BSG_H
-
-#include <linux/types.h>
-
-#define BSG_PROTOCOL_SCSI 0
-
-#define BSG_SUB_PROTOCOL_SCSI_CMD 0
-#define BSG_SUB_PROTOCOL_SCSI_TMF 1
-#define BSG_SUB_PROTOCOL_SCSI_TRANSPORT 2
-
-/*
- * For flag constants below:
- * sg.h sg_io_hdr also has bits defined for it's flags member. These
- * two flag values (0x10 and 0x20) have the same meaning in sg.h . For
- * bsg the BSG_FLAG_Q_AT_HEAD flag is ignored since it is the deafult.
- */
-#define BSG_FLAG_Q_AT_TAIL 0x10 /* default is Q_AT_HEAD */
-#define BSG_FLAG_Q_AT_HEAD 0x20
-
-struct sg_io_v4 {
- __s32 guard; /* [i] 'Q' to differentiate from v3 */
- __u32 protocol; /* [i] 0 -> SCSI , .... */
- __u32 subprotocol; /* [i] 0 -> SCSI command, 1 -> SCSI task
- management function, .... */
-
- __u32 request_len; /* [i] in bytes */
- __u64 request; /* [i], [*i] {SCSI: cdb} */
- __u64 request_tag; /* [i] {SCSI: task tag (only if flagged)} */
- __u32 request_attr; /* [i] {SCSI: task attribute} */
- __u32 request_priority; /* [i] {SCSI: task priority} */
- __u32 request_extra; /* [i] {spare, for padding} */
- __u32 max_response_len; /* [i] in bytes */
- __u64 response; /* [i], [*o] {SCSI: (auto)sense data} */
-
- /* "dout_": data out (to device); "din_": data in (from device) */
- __u32 dout_iovec_count; /* [i] 0 -> "flat" dout transfer else
- dout_xfer points to array of iovec */
- __u32 dout_xfer_len; /* [i] bytes to be transferred to device */
- __u32 din_iovec_count; /* [i] 0 -> "flat" din transfer */
- __u32 din_xfer_len; /* [i] bytes to be transferred from device */
- __u64 dout_xferp; /* [i], [*i] */
- __u64 din_xferp; /* [i], [*o] */
-
- __u32 timeout; /* [i] units: millisecond */
- __u32 flags; /* [i] bit mask */
- __u64 usr_ptr; /* [i->o] unused internally */
- __u32 spare_in; /* [i] */
-
- __u32 driver_status; /* [o] 0 -> ok */
- __u32 transport_status; /* [o] 0 -> ok */
- __u32 device_status; /* [o] {SCSI: command completion status} */
- __u32 retry_delay; /* [o] {SCSI: status auxiliary information} */
- __u32 info; /* [o] additional information */
- __u32 duration; /* [o] time to complete, in milliseconds */
- __u32 response_len; /* [o] bytes of response actually written */
- __s32 din_resid; /* [o] din_xfer_len - actual_din_xfer_len */
- __s32 dout_resid; /* [o] dout_xfer_len - actual_dout_xfer_len */
- __u64 generated_tag; /* [o] {SCSI: transport generated task tag} */
- __u32 spare_out; /* [o] */
-
- __u32 padding;
-};
-
-
-#endif /* BSG_H */
diff --git a/linux-headers/include/linux/btrfs.h b/linux-headers/include/linux/btrfs.h
deleted file mode 100644
index 02078f1..0000000
--- a/linux-headers/include/linux/btrfs.h
+++ /dev/null
@@ -1,663 +0,0 @@
-/*
- * Copyright (C) 2007 Oracle. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public
- * License v2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public
- * License along with this program; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 021110-1307, USA.
- */
-
-#ifndef _LINUX_BTRFS_H
-#define _LINUX_BTRFS_H
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-#define BTRFS_IOCTL_MAGIC 0x94
-#define BTRFS_VOL_NAME_MAX 255
-
-/* this should be 4k */
-#define BTRFS_PATH_NAME_MAX 4087
-struct btrfs_ioctl_vol_args {
- __s64 fd;
- char name[BTRFS_PATH_NAME_MAX + 1];
-};
-
-#define BTRFS_DEVICE_PATH_NAME_MAX 1024
-
-#define BTRFS_SUBVOL_CREATE_ASYNC (1ULL << 0)
-#define BTRFS_SUBVOL_RDONLY (1ULL << 1)
-#define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
-#define BTRFS_FSID_SIZE 16
-#define BTRFS_UUID_SIZE 16
-#define BTRFS_UUID_UNPARSED_SIZE 37
-
-#define BTRFS_QGROUP_INHERIT_SET_LIMITS (1ULL << 0)
-
-struct btrfs_qgroup_limit {
- __u64 flags;
- __u64 max_rfer;
- __u64 max_excl;
- __u64 rsv_rfer;
- __u64 rsv_excl;
-};
-
-struct btrfs_qgroup_inherit {
- __u64 flags;
- __u64 num_qgroups;
- __u64 num_ref_copies;
- __u64 num_excl_copies;
- struct btrfs_qgroup_limit lim;
- __u64 qgroups[0];
-};
-
-struct btrfs_ioctl_qgroup_limit_args {
- __u64 qgroupid;
- struct btrfs_qgroup_limit lim;
-};
-
-#define BTRFS_SUBVOL_NAME_MAX 4039
-struct btrfs_ioctl_vol_args_v2 {
- __s64 fd;
- __u64 transid;
- __u64 flags;
- union {
- struct {
- __u64 size;
- struct btrfs_qgroup_inherit *qgroup_inherit;
- };
- __u64 unused[4];
- };
- char name[BTRFS_SUBVOL_NAME_MAX + 1];
-};
-
-/*
- * structure to report errors and progress to userspace, either as a
- * result of a finished scrub, a canceled scrub or a progress inquiry
- */
-struct btrfs_scrub_progress {
- __u64 data_extents_scrubbed; /* # of data extents scrubbed */
- __u64 tree_extents_scrubbed; /* # of tree extents scrubbed */
- __u64 data_bytes_scrubbed; /* # of data bytes scrubbed */
- __u64 tree_bytes_scrubbed; /* # of tree bytes scrubbed */
- __u64 read_errors; /* # of read errors encountered (EIO) */
- __u64 csum_errors; /* # of failed csum checks */
- __u64 verify_errors; /* # of occurences, where the metadata
- * of a tree block did not match the
- * expected values, like generation or
- * logical */
- __u64 no_csum; /* # of 4k data block for which no csum
- * is present, probably the result of
- * data written with nodatasum */
- __u64 csum_discards; /* # of csum for which no data was found
- * in the extent tree. */
- __u64 super_errors; /* # of bad super blocks encountered */
- __u64 malloc_errors; /* # of internal kmalloc errors. These
- * will likely cause an incomplete
- * scrub */
- __u64 uncorrectable_errors; /* # of errors where either no intact
- * copy was found or the writeback
- * failed */
- __u64 corrected_errors; /* # of errors corrected */
- __u64 last_physical; /* last physical address scrubbed. In
- * case a scrub was aborted, this can
- * be used to restart the scrub */
- __u64 unverified_errors; /* # of occurences where a read for a
- * full (64k) bio failed, but the re-
- * check succeeded for each 4k piece.
- * Intermittent error. */
-};
-
-#define BTRFS_SCRUB_READONLY 1
-struct btrfs_ioctl_scrub_args {
- __u64 devid; /* in */
- __u64 start; /* in */
- __u64 end; /* in */
- __u64 flags; /* in */
- struct btrfs_scrub_progress progress; /* out */
- /* pad to 1k */
- __u64 unused[(1024-32-sizeof(struct btrfs_scrub_progress))/8];
-};
-
-#define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_ALWAYS 0
-#define BTRFS_IOCTL_DEV_REPLACE_CONT_READING_FROM_SRCDEV_MODE_AVOID 1
-struct btrfs_ioctl_dev_replace_start_params {
- __u64 srcdevid; /* in, if 0, use srcdev_name instead */
- __u64 cont_reading_from_srcdev_mode; /* in, see #define
- * above */
- __u8 srcdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1]; /* in */
- __u8 tgtdev_name[BTRFS_DEVICE_PATH_NAME_MAX + 1]; /* in */
-};
-
-#define BTRFS_IOCTL_DEV_REPLACE_STATE_NEVER_STARTED 0
-#define BTRFS_IOCTL_DEV_REPLACE_STATE_STARTED 1
-#define BTRFS_IOCTL_DEV_REPLACE_STATE_FINISHED 2
-#define BTRFS_IOCTL_DEV_REPLACE_STATE_CANCELED 3
-#define BTRFS_IOCTL_DEV_REPLACE_STATE_SUSPENDED 4
-struct btrfs_ioctl_dev_replace_status_params {
- __u64 replace_state; /* out, see #define above */
- __u64 progress_1000; /* out, 0 <= x <= 1000 */
- __u64 time_started; /* out, seconds since 1-Jan-1970 */
- __u64 time_stopped; /* out, seconds since 1-Jan-1970 */
- __u64 num_write_errors; /* out */
- __u64 num_uncorrectable_read_errors; /* out */
-};
-
-#define BTRFS_IOCTL_DEV_REPLACE_CMD_START 0
-#define BTRFS_IOCTL_DEV_REPLACE_CMD_STATUS 1
-#define BTRFS_IOCTL_DEV_REPLACE_CMD_CANCEL 2
-#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NO_ERROR 0
-#define BTRFS_IOCTL_DEV_REPLACE_RESULT_NOT_STARTED 1
-#define BTRFS_IOCTL_DEV_REPLACE_RESULT_ALREADY_STARTED 2
-#define BTRFS_IOCTL_DEV_REPLACE_RESULT_SCRUB_INPROGRESS 3
-struct btrfs_ioctl_dev_replace_args {
- __u64 cmd; /* in */
- __u64 result; /* out */
-
- union {
- struct btrfs_ioctl_dev_replace_start_params start;
- struct btrfs_ioctl_dev_replace_status_params status;
- }; /* in/out */
-
- __u64 spare[64];
-};
-
-struct btrfs_ioctl_dev_info_args {
- __u64 devid; /* in/out */
- __u8 uuid[BTRFS_UUID_SIZE]; /* in/out */
- __u64 bytes_used; /* out */
- __u64 total_bytes; /* out */
- __u64 unused[379]; /* pad to 4k */
- __u8 path[BTRFS_DEVICE_PATH_NAME_MAX]; /* out */
-};
-
-struct btrfs_ioctl_fs_info_args {
- __u64 max_id; /* out */
- __u64 num_devices; /* out */
- __u8 fsid[BTRFS_FSID_SIZE]; /* out */
- __u32 nodesize; /* out */
- __u32 sectorsize; /* out */
- __u32 clone_alignment; /* out */
- __u32 reserved32;
- __u64 reserved[122]; /* pad to 1k */
-};
-
-struct btrfs_ioctl_feature_flags {
- __u64 compat_flags;
- __u64 compat_ro_flags;
- __u64 incompat_flags;
-};
-
-/* balance control ioctl modes */
-#define BTRFS_BALANCE_CTL_PAUSE 1
-#define BTRFS_BALANCE_CTL_CANCEL 2
-
-/*
- * this is packed, because it should be exactly the same as its disk
- * byte order counterpart (struct btrfs_disk_balance_args)
- */
-struct btrfs_balance_args {
- __u64 profiles;
- union {
- __le64 usage;
- struct {
- __le32 usage_min;
- __le32 usage_max;
- };
- };
- __u64 devid;
- __u64 pstart;
- __u64 pend;
- __u64 vstart;
- __u64 vend;
-
- __u64 target;
-
- __u64 flags;
-
- /*
- * BTRFS_BALANCE_ARGS_LIMIT with value 'limit'
- * BTRFS_BALANCE_ARGS_LIMIT_RANGE - the extend version can use minimum
- * and maximum
- */
- union {
- __u64 limit; /* limit number of processed chunks */
- struct {
- __u32 limit_min;
- __u32 limit_max;
- };
- };
-
- /*
- * Process chunks that cross stripes_min..stripes_max devices,
- * BTRFS_BALANCE_ARGS_STRIPES_RANGE
- */
- __le32 stripes_min;
- __le32 stripes_max;
-
- __u64 unused[6];
-} __attribute__ ((__packed__));
-
-/* report balance progress to userspace */
-struct btrfs_balance_progress {
- __u64 expected; /* estimated # of chunks that will be
- * relocated to fulfill the request */
- __u64 considered; /* # of chunks we have considered so far */
- __u64 completed; /* # of chunks relocated so far */
-};
-
-#define BTRFS_BALANCE_STATE_RUNNING (1ULL << 0)
-#define BTRFS_BALANCE_STATE_PAUSE_REQ (1ULL << 1)
-#define BTRFS_BALANCE_STATE_CANCEL_REQ (1ULL << 2)
-
-struct btrfs_ioctl_balance_args {
- __u64 flags; /* in/out */
- __u64 state; /* out */
-
- struct btrfs_balance_args data; /* in/out */
- struct btrfs_balance_args meta; /* in/out */
- struct btrfs_balance_args sys; /* in/out */
-
- struct btrfs_balance_progress stat; /* out */
-
- __u64 unused[72]; /* pad to 1k */
-};
-
-#define BTRFS_INO_LOOKUP_PATH_MAX 4080
-struct btrfs_ioctl_ino_lookup_args {
- __u64 treeid;
- __u64 objectid;
- char name[BTRFS_INO_LOOKUP_PATH_MAX];
-};
-
-struct btrfs_ioctl_search_key {
- /* which root are we searching. 0 is the tree of tree roots */
- __u64 tree_id;
-
- /* keys returned will be >= min and <= max */
- __u64 min_objectid;
- __u64 max_objectid;
-
- /* keys returned will be >= min and <= max */
- __u64 min_offset;
- __u64 max_offset;
-
- /* max and min transids to search for */
- __u64 min_transid;
- __u64 max_transid;
-
- /* keys returned will be >= min and <= max */
- __u32 min_type;
- __u32 max_type;
-
- /*
- * how many items did userland ask for, and how many are we
- * returning
- */
- __u32 nr_items;
-
- /* align to 64 bits */
- __u32 unused;
-
- /* some extra for later */
- __u64 unused1;
- __u64 unused2;
- __u64 unused3;
- __u64 unused4;
-};
-
-struct btrfs_ioctl_search_header {
- __u64 transid;
- __u64 objectid;
- __u64 offset;
- __u32 type;
- __u32 len;
-};
-
-#define BTRFS_SEARCH_ARGS_BUFSIZE (4096 - sizeof(struct btrfs_ioctl_search_key))
-/*
- * the buf is an array of search headers where
- * each header is followed by the actual item
- * the type field is expanded to 32 bits for alignment
- */
-struct btrfs_ioctl_search_args {
- struct btrfs_ioctl_search_key key;
- char buf[BTRFS_SEARCH_ARGS_BUFSIZE];
-};
-
-struct btrfs_ioctl_search_args_v2 {
- struct btrfs_ioctl_search_key key; /* in/out - search parameters */
- __u64 buf_size; /* in - size of buffer
- * out - on EOVERFLOW: needed size
- * to store item */
- __u64 buf[0]; /* out - found items */
-};
-
-struct btrfs_ioctl_clone_range_args {
- __s64 src_fd;
- __u64 src_offset, src_length;
- __u64 dest_offset;
-};
-
-/* flags for the defrag range ioctl */
-#define BTRFS_DEFRAG_RANGE_COMPRESS 1
-#define BTRFS_DEFRAG_RANGE_START_IO 2
-
-#define BTRFS_SAME_DATA_DIFFERS 1
-/* For extent-same ioctl */
-struct btrfs_ioctl_same_extent_info {
- __s64 fd; /* in - destination file */
- __u64 logical_offset; /* in - start of extent in destination */
- __u64 bytes_deduped; /* out - total # of bytes we were able
- * to dedupe from this file */
- /* status of this dedupe operation:
- * 0 if dedup succeeds
- * < 0 for error
- * == BTRFS_SAME_DATA_DIFFERS if data differs
- */
- __s32 status; /* out - see above description */
- __u32 reserved;
-};
-
-struct btrfs_ioctl_same_args {
- __u64 logical_offset; /* in - start of extent in source */
- __u64 length; /* in - length of extent */
- __u16 dest_count; /* in - total elements in info array */
- __u16 reserved1;
- __u32 reserved2;
- struct btrfs_ioctl_same_extent_info info[0];
-};
-
-struct btrfs_ioctl_space_info {
- __u64 flags;
- __u64 total_bytes;
- __u64 used_bytes;
-};
-
-struct btrfs_ioctl_space_args {
- __u64 space_slots;
- __u64 total_spaces;
- struct btrfs_ioctl_space_info spaces[0];
-};
-
-struct btrfs_data_container {
- __u32 bytes_left; /* out -- bytes not needed to deliver output */
- __u32 bytes_missing; /* out -- additional bytes needed for result */
- __u32 elem_cnt; /* out */
- __u32 elem_missed; /* out */
- __u64 val[0]; /* out */
-};
-
-struct btrfs_ioctl_ino_path_args {
- __u64 inum; /* in */
- __u64 size; /* in */
- __u64 reserved[4];
- /* struct btrfs_data_container *fspath; out */
- __u64 fspath; /* out */
-};
-
-struct btrfs_ioctl_logical_ino_args {
- __u64 logical; /* in */
- __u64 size; /* in */
- __u64 reserved[4];
- /* struct btrfs_data_container *inodes; out */
- __u64 inodes;
-};
-
-enum btrfs_dev_stat_values {
- /* disk I/O failure stats */
- BTRFS_DEV_STAT_WRITE_ERRS, /* EIO or EREMOTEIO from lower layers */
- BTRFS_DEV_STAT_READ_ERRS, /* EIO or EREMOTEIO from lower layers */
- BTRFS_DEV_STAT_FLUSH_ERRS, /* EIO or EREMOTEIO from lower layers */
-
- /* stats for indirect indications for I/O failures */
- BTRFS_DEV_STAT_CORRUPTION_ERRS, /* checksum error, bytenr error or
- * contents is illegal: this is an
- * indication that the block was damaged
- * during read or write, or written to
- * wrong location or read from wrong
- * location */
- BTRFS_DEV_STAT_GENERATION_ERRS, /* an indication that blocks have not
- * been written */
-
- BTRFS_DEV_STAT_VALUES_MAX
-};
-
-/* Reset statistics after reading; needs SYS_ADMIN capability */
-#define BTRFS_DEV_STATS_RESET (1ULL << 0)
-
-struct btrfs_ioctl_get_dev_stats {
- __u64 devid; /* in */
- __u64 nr_items; /* in/out */
- __u64 flags; /* in/out */
-
- /* out values: */
- __u64 values[BTRFS_DEV_STAT_VALUES_MAX];
-
- __u64 unused[128 - 2 - BTRFS_DEV_STAT_VALUES_MAX]; /* pad to 1k */
-};
-
-#define BTRFS_QUOTA_CTL_ENABLE 1
-#define BTRFS_QUOTA_CTL_DISABLE 2
-#define BTRFS_QUOTA_CTL_RESCAN__NOTUSED 3
-struct btrfs_ioctl_quota_ctl_args {
- __u64 cmd;
- __u64 status;
-};
-
-struct btrfs_ioctl_quota_rescan_args {
- __u64 flags;
- __u64 progress;
- __u64 reserved[6];
-};
-
-struct btrfs_ioctl_qgroup_assign_args {
- __u64 assign;
- __u64 src;
- __u64 dst;
-};
-
-struct btrfs_ioctl_qgroup_create_args {
- __u64 create;
- __u64 qgroupid;
-};
-struct btrfs_ioctl_timespec {
- __u64 sec;
- __u32 nsec;
-};
-
-struct btrfs_ioctl_received_subvol_args {
- char uuid[BTRFS_UUID_SIZE]; /* in */
- __u64 stransid; /* in */
- __u64 rtransid; /* out */
- struct btrfs_ioctl_timespec stime; /* in */
- struct btrfs_ioctl_timespec rtime; /* out */
- __u64 flags; /* in */
- __u64 reserved[16]; /* in */
-};
-
-/*
- * Caller doesn't want file data in the send stream, even if the
- * search of clone sources doesn't find an extent. UPDATE_EXTENT
- * commands will be sent instead of WRITE commands.
- */
-#define BTRFS_SEND_FLAG_NO_FILE_DATA 0x1
-
-/*
- * Do not add the leading stream header. Used when multiple snapshots
- * are sent back to back.
- */
-#define BTRFS_SEND_FLAG_OMIT_STREAM_HEADER 0x2
-
-/*
- * Omit the command at the end of the stream that indicated the end
- * of the stream. This option is used when multiple snapshots are
- * sent back to back.
- */
-#define BTRFS_SEND_FLAG_OMIT_END_CMD 0x4
-
-#define BTRFS_SEND_FLAG_MASK \
- (BTRFS_SEND_FLAG_NO_FILE_DATA | \
- BTRFS_SEND_FLAG_OMIT_STREAM_HEADER | \
- BTRFS_SEND_FLAG_OMIT_END_CMD)
-
-struct btrfs_ioctl_send_args {
- __s64 send_fd; /* in */
- __u64 clone_sources_count; /* in */
- __u64 *clone_sources; /* in */
- __u64 parent_root; /* in */
- __u64 flags; /* in */
- __u64 reserved[4]; /* in */
-};
-
-/* Error codes as returned by the kernel */
-enum btrfs_err_code {
- BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET = 1,
- BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET,
- BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET,
- BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET,
- BTRFS_ERROR_DEV_TGT_REPLACE,
- BTRFS_ERROR_DEV_MISSING_NOT_FOUND,
- BTRFS_ERROR_DEV_ONLY_WRITABLE,
- BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS
-};
-/* An error code to error string mapping for the kernel
-* error codes
-*/
-static __inline__ char *btrfs_err_str(enum btrfs_err_code err_code)
-{
- switch (err_code) {
- case BTRFS_ERROR_DEV_RAID1_MIN_NOT_MET:
- return "unable to go below two devices on raid1";
- case BTRFS_ERROR_DEV_RAID10_MIN_NOT_MET:
- return "unable to go below four devices on raid10";
- case BTRFS_ERROR_DEV_RAID5_MIN_NOT_MET:
- return "unable to go below two devices on raid5";
- case BTRFS_ERROR_DEV_RAID6_MIN_NOT_MET:
- return "unable to go below three devices on raid6";
- case BTRFS_ERROR_DEV_TGT_REPLACE:
- return "unable to remove the dev_replace target dev";
- case BTRFS_ERROR_DEV_MISSING_NOT_FOUND:
- return "no missing devices found to remove";
- case BTRFS_ERROR_DEV_ONLY_WRITABLE:
- return "unable to remove the only writeable device";
- case BTRFS_ERROR_DEV_EXCL_RUN_IN_PROGRESS:
- return "add/delete/balance/replace/resize operation "\
- "in progress";
- default:
- return NULL;
- }
-}
-
-#define BTRFS_IOC_SNAP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 1, \
- struct btrfs_ioctl_vol_args)
-#define BTRFS_IOC_DEFRAG _IOW(BTRFS_IOCTL_MAGIC, 2, \
- struct btrfs_ioctl_vol_args)
-#define BTRFS_IOC_RESIZE _IOW(BTRFS_IOCTL_MAGIC, 3, \
- struct btrfs_ioctl_vol_args)
-#define BTRFS_IOC_SCAN_DEV _IOW(BTRFS_IOCTL_MAGIC, 4, \
- struct btrfs_ioctl_vol_args)
-/* trans start and trans end are dangerous, and only for
- * use by applications that know how to avoid the
- * resulting deadlocks
- */
-#define BTRFS_IOC_TRANS_START _IO(BTRFS_IOCTL_MAGIC, 6)
-#define BTRFS_IOC_TRANS_END _IO(BTRFS_IOCTL_MAGIC, 7)
-#define BTRFS_IOC_SYNC _IO(BTRFS_IOCTL_MAGIC, 8)
-
-#define BTRFS_IOC_CLONE _IOW(BTRFS_IOCTL_MAGIC, 9, int)
-#define BTRFS_IOC_ADD_DEV _IOW(BTRFS_IOCTL_MAGIC, 10, \
- struct btrfs_ioctl_vol_args)
-#define BTRFS_IOC_RM_DEV _IOW(BTRFS_IOCTL_MAGIC, 11, \
- struct btrfs_ioctl_vol_args)
-#define BTRFS_IOC_BALANCE _IOW(BTRFS_IOCTL_MAGIC, 12, \
- struct btrfs_ioctl_vol_args)
-
-#define BTRFS_IOC_CLONE_RANGE _IOW(BTRFS_IOCTL_MAGIC, 13, \
- struct btrfs_ioctl_clone_range_args)
-
-#define BTRFS_IOC_SUBVOL_CREATE _IOW(BTRFS_IOCTL_MAGIC, 14, \
- struct btrfs_ioctl_vol_args)
-#define BTRFS_IOC_SNAP_DESTROY _IOW(BTRFS_IOCTL_MAGIC, 15, \
- struct btrfs_ioctl_vol_args)
-#define BTRFS_IOC_DEFRAG_RANGE _IOW(BTRFS_IOCTL_MAGIC, 16, \
- struct btrfs_ioctl_defrag_range_args)
-#define BTRFS_IOC_TREE_SEARCH _IOWR(BTRFS_IOCTL_MAGIC, 17, \
- struct btrfs_ioctl_search_args)
-#define BTRFS_IOC_TREE_SEARCH_V2 _IOWR(BTRFS_IOCTL_MAGIC, 17, \
- struct btrfs_ioctl_search_args_v2)
-#define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18, \
- struct btrfs_ioctl_ino_lookup_args)
-#define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, __u64)
-#define BTRFS_IOC_SPACE_INFO _IOWR(BTRFS_IOCTL_MAGIC, 20, \
- struct btrfs_ioctl_space_args)
-#define BTRFS_IOC_START_SYNC _IOR(BTRFS_IOCTL_MAGIC, 24, __u64)
-#define BTRFS_IOC_WAIT_SYNC _IOW(BTRFS_IOCTL_MAGIC, 22, __u64)
-#define BTRFS_IOC_SNAP_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 23, \
- struct btrfs_ioctl_vol_args_v2)
-#define BTRFS_IOC_SUBVOL_CREATE_V2 _IOW(BTRFS_IOCTL_MAGIC, 24, \
- struct btrfs_ioctl_vol_args_v2)
-#define BTRFS_IOC_SUBVOL_GETFLAGS _IOR(BTRFS_IOCTL_MAGIC, 25, __u64)
-#define BTRFS_IOC_SUBVOL_SETFLAGS _IOW(BTRFS_IOCTL_MAGIC, 26, __u64)
-#define BTRFS_IOC_SCRUB _IOWR(BTRFS_IOCTL_MAGIC, 27, \
- struct btrfs_ioctl_scrub_args)
-#define BTRFS_IOC_SCRUB_CANCEL _IO(BTRFS_IOCTL_MAGIC, 28)
-#define BTRFS_IOC_SCRUB_PROGRESS _IOWR(BTRFS_IOCTL_MAGIC, 29, \
- struct btrfs_ioctl_scrub_args)
-#define BTRFS_IOC_DEV_INFO _IOWR(BTRFS_IOCTL_MAGIC, 30, \
- struct btrfs_ioctl_dev_info_args)
-#define BTRFS_IOC_FS_INFO _IOR(BTRFS_IOCTL_MAGIC, 31, \
- struct btrfs_ioctl_fs_info_args)
-#define BTRFS_IOC_BALANCE_V2 _IOWR(BTRFS_IOCTL_MAGIC, 32, \
- struct btrfs_ioctl_balance_args)
-#define BTRFS_IOC_BALANCE_CTL _IOW(BTRFS_IOCTL_MAGIC, 33, int)
-#define BTRFS_IOC_BALANCE_PROGRESS _IOR(BTRFS_IOCTL_MAGIC, 34, \
- struct btrfs_ioctl_balance_args)
-#define BTRFS_IOC_INO_PATHS _IOWR(BTRFS_IOCTL_MAGIC, 35, \
- struct btrfs_ioctl_ino_path_args)
-#define BTRFS_IOC_LOGICAL_INO _IOWR(BTRFS_IOCTL_MAGIC, 36, \
- struct btrfs_ioctl_ino_path_args)
-#define BTRFS_IOC_SET_RECEIVED_SUBVOL _IOWR(BTRFS_IOCTL_MAGIC, 37, \
- struct btrfs_ioctl_received_subvol_args)
-#define BTRFS_IOC_SEND _IOW(BTRFS_IOCTL_MAGIC, 38, struct btrfs_ioctl_send_args)
-#define BTRFS_IOC_DEVICES_READY _IOR(BTRFS_IOCTL_MAGIC, 39, \
- struct btrfs_ioctl_vol_args)
-#define BTRFS_IOC_QUOTA_CTL _IOWR(BTRFS_IOCTL_MAGIC, 40, \
- struct btrfs_ioctl_quota_ctl_args)
-#define BTRFS_IOC_QGROUP_ASSIGN _IOW(BTRFS_IOCTL_MAGIC, 41, \
- struct btrfs_ioctl_qgroup_assign_args)
-#define BTRFS_IOC_QGROUP_CREATE _IOW(BTRFS_IOCTL_MAGIC, 42, \
- struct btrfs_ioctl_qgroup_create_args)
-#define BTRFS_IOC_QGROUP_LIMIT _IOR(BTRFS_IOCTL_MAGIC, 43, \
- struct btrfs_ioctl_qgroup_limit_args)
-#define BTRFS_IOC_QUOTA_RESCAN _IOW(BTRFS_IOCTL_MAGIC, 44, \
- struct btrfs_ioctl_quota_rescan_args)
-#define BTRFS_IOC_QUOTA_RESCAN_STATUS _IOR(BTRFS_IOCTL_MAGIC, 45, \
- struct btrfs_ioctl_quota_rescan_args)
-#define BTRFS_IOC_QUOTA_RESCAN_WAIT _IO(BTRFS_IOCTL_MAGIC, 46)
-#define BTRFS_IOC_GET_FSLABEL _IOR(BTRFS_IOCTL_MAGIC, 49, \
- char[BTRFS_LABEL_SIZE])
-#define BTRFS_IOC_SET_FSLABEL _IOW(BTRFS_IOCTL_MAGIC, 50, \
- char[BTRFS_LABEL_SIZE])
-#define BTRFS_IOC_GET_DEV_STATS _IOWR(BTRFS_IOCTL_MAGIC, 52, \
- struct btrfs_ioctl_get_dev_stats)
-#define BTRFS_IOC_DEV_REPLACE _IOWR(BTRFS_IOCTL_MAGIC, 53, \
- struct btrfs_ioctl_dev_replace_args)
-#define BTRFS_IOC_FILE_EXTENT_SAME _IOWR(BTRFS_IOCTL_MAGIC, 54, \
- struct btrfs_ioctl_same_args)
-#define BTRFS_IOC_GET_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags)
-#define BTRFS_IOC_SET_FEATURES _IOW(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags[2])
-#define BTRFS_IOC_GET_SUPPORTED_FEATURES _IOR(BTRFS_IOCTL_MAGIC, 57, \
- struct btrfs_ioctl_feature_flags[3])
-
-#endif /* _LINUX_BTRFS_H */
diff --git a/linux-headers/include/linux/byteorder/big_endian.h b/linux-headers/include/linux/byteorder/big_endian.h
deleted file mode 100644
index 7799c54..0000000
--- a/linux-headers/include/linux/byteorder/big_endian.h
+++ /dev/null
@@ -1,105 +0,0 @@
-#ifndef _LINUX_BYTEORDER_BIG_ENDIAN_H
-#define _LINUX_BYTEORDER_BIG_ENDIAN_H
-
-#ifndef __BIG_ENDIAN
-#define __BIG_ENDIAN 4321
-#endif
-#ifndef __BIG_ENDIAN_BITFIELD
-#define __BIG_ENDIAN_BITFIELD
-#endif
-
-#include <linux/types.h>
-#include <linux/swab.h>
-
-#define __constant_htonl(x) ((__be32)(__u32)(x))
-#define __constant_ntohl(x) ((__u32)(__be32)(x))
-#define __constant_htons(x) ((__be16)(__u16)(x))
-#define __constant_ntohs(x) ((__u16)(__be16)(x))
-#define __constant_cpu_to_le64(x) ((__le64)___constant_swab64((x)))
-#define __constant_le64_to_cpu(x) ___constant_swab64((__u64)(__le64)(x))
-#define __constant_cpu_to_le32(x) ((__le32)___constant_swab32((x)))
-#define __constant_le32_to_cpu(x) ___constant_swab32((__u32)(__le32)(x))
-#define __constant_cpu_to_le16(x) ((__le16)___constant_swab16((x)))
-#define __constant_le16_to_cpu(x) ___constant_swab16((__u16)(__le16)(x))
-#define __constant_cpu_to_be64(x) ((__be64)(__u64)(x))
-#define __constant_be64_to_cpu(x) ((__u64)(__be64)(x))
-#define __constant_cpu_to_be32(x) ((__be32)(__u32)(x))
-#define __constant_be32_to_cpu(x) ((__u32)(__be32)(x))
-#define __constant_cpu_to_be16(x) ((__be16)(__u16)(x))
-#define __constant_be16_to_cpu(x) ((__u16)(__be16)(x))
-#define __cpu_to_le64(x) ((__le64)__swab64((x)))
-#define __le64_to_cpu(x) __swab64((__u64)(__le64)(x))
-#define __cpu_to_le32(x) ((__le32)__swab32((x)))
-#define __le32_to_cpu(x) __swab32((__u32)(__le32)(x))
-#define __cpu_to_le16(x) ((__le16)__swab16((x)))
-#define __le16_to_cpu(x) __swab16((__u16)(__le16)(x))
-#define __cpu_to_be64(x) ((__be64)(__u64)(x))
-#define __be64_to_cpu(x) ((__u64)(__be64)(x))
-#define __cpu_to_be32(x) ((__be32)(__u32)(x))
-#define __be32_to_cpu(x) ((__u32)(__be32)(x))
-#define __cpu_to_be16(x) ((__be16)(__u16)(x))
-#define __be16_to_cpu(x) ((__u16)(__be16)(x))
-
-static __always_inline __le64 __cpu_to_le64p(const __u64 *p)
-{
- return (__le64)__swab64p(p);
-}
-static __always_inline __u64 __le64_to_cpup(const __le64 *p)
-{
- return __swab64p((__u64 *)p);
-}
-static __always_inline __le32 __cpu_to_le32p(const __u32 *p)
-{
- return (__le32)__swab32p(p);
-}
-static __always_inline __u32 __le32_to_cpup(const __le32 *p)
-{
- return __swab32p((__u32 *)p);
-}
-static __always_inline __le16 __cpu_to_le16p(const __u16 *p)
-{
- return (__le16)__swab16p(p);
-}
-static __always_inline __u16 __le16_to_cpup(const __le16 *p)
-{
- return __swab16p((__u16 *)p);
-}
-static __always_inline __be64 __cpu_to_be64p(const __u64 *p)
-{
- return (__be64)*p;
-}
-static __always_inline __u64 __be64_to_cpup(const __be64 *p)
-{
- return (__u64)*p;
-}
-static __always_inline __be32 __cpu_to_be32p(const __u32 *p)
-{
- return (__be32)*p;
-}
-static __always_inline __u32 __be32_to_cpup(const __be32 *p)
-{
- return (__u32)*p;
-}
-static __always_inline __be16 __cpu_to_be16p(const __u16 *p)
-{
- return (__be16)*p;
-}
-static __always_inline __u16 __be16_to_cpup(const __be16 *p)
-{
- return (__u16)*p;
-}
-#define __cpu_to_le64s(x) __swab64s((x))
-#define __le64_to_cpus(x) __swab64s((x))
-#define __cpu_to_le32s(x) __swab32s((x))
-#define __le32_to_cpus(x) __swab32s((x))
-#define __cpu_to_le16s(x) __swab16s((x))
-#define __le16_to_cpus(x) __swab16s((x))
-#define __cpu_to_be64s(x) do { (void)(x); } while (0)
-#define __be64_to_cpus(x) do { (void)(x); } while (0)
-#define __cpu_to_be32s(x) do { (void)(x); } while (0)
-#define __be32_to_cpus(x) do { (void)(x); } while (0)
-#define __cpu_to_be16s(x) do { (void)(x); } while (0)
-#define __be16_to_cpus(x) do { (void)(x); } while (0)
-
-
-#endif /* _LINUX_BYTEORDER_BIG_ENDIAN_H */
diff --git a/linux-headers/include/linux/byteorder/little_endian.h b/linux-headers/include/linux/byteorder/little_endian.h
deleted file mode 100644
index 8f9d097..0000000
--- a/linux-headers/include/linux/byteorder/little_endian.h
+++ /dev/null
@@ -1,105 +0,0 @@
-#ifndef _LINUX_BYTEORDER_LITTLE_ENDIAN_H
-#define _LINUX_BYTEORDER_LITTLE_ENDIAN_H
-
-#ifndef __LITTLE_ENDIAN
-#define __LITTLE_ENDIAN 1234
-#endif
-#ifndef __LITTLE_ENDIAN_BITFIELD
-#define __LITTLE_ENDIAN_BITFIELD
-#endif
-
-#include <linux/types.h>
-#include <linux/swab.h>
-
-#define __constant_htonl(x) ((__be32)___constant_swab32((x)))
-#define __constant_ntohl(x) ___constant_swab32((__be32)(x))
-#define __constant_htons(x) ((__be16)___constant_swab16((x)))
-#define __constant_ntohs(x) ___constant_swab16((__be16)(x))
-#define __constant_cpu_to_le64(x) ((__le64)(__u64)(x))
-#define __constant_le64_to_cpu(x) ((__u64)(__le64)(x))
-#define __constant_cpu_to_le32(x) ((__le32)(__u32)(x))
-#define __constant_le32_to_cpu(x) ((__u32)(__le32)(x))
-#define __constant_cpu_to_le16(x) ((__le16)(__u16)(x))
-#define __constant_le16_to_cpu(x) ((__u16)(__le16)(x))
-#define __constant_cpu_to_be64(x) ((__be64)___constant_swab64((x)))
-#define __constant_be64_to_cpu(x) ___constant_swab64((__u64)(__be64)(x))
-#define __constant_cpu_to_be32(x) ((__be32)___constant_swab32((x)))
-#define __constant_be32_to_cpu(x) ___constant_swab32((__u32)(__be32)(x))
-#define __constant_cpu_to_be16(x) ((__be16)___constant_swab16((x)))
-#define __constant_be16_to_cpu(x) ___constant_swab16((__u16)(__be16)(x))
-#define __cpu_to_le64(x) ((__le64)(__u64)(x))
-#define __le64_to_cpu(x) ((__u64)(__le64)(x))
-#define __cpu_to_le32(x) ((__le32)(__u32)(x))
-#define __le32_to_cpu(x) ((__u32)(__le32)(x))
-#define __cpu_to_le16(x) ((__le16)(__u16)(x))
-#define __le16_to_cpu(x) ((__u16)(__le16)(x))
-#define __cpu_to_be64(x) ((__be64)__swab64((x)))
-#define __be64_to_cpu(x) __swab64((__u64)(__be64)(x))
-#define __cpu_to_be32(x) ((__be32)__swab32((x)))
-#define __be32_to_cpu(x) __swab32((__u32)(__be32)(x))
-#define __cpu_to_be16(x) ((__be16)__swab16((x)))
-#define __be16_to_cpu(x) __swab16((__u16)(__be16)(x))
-
-static __always_inline __le64 __cpu_to_le64p(const __u64 *p)
-{
- return (__le64)*p;
-}
-static __always_inline __u64 __le64_to_cpup(const __le64 *p)
-{
- return (__u64)*p;
-}
-static __always_inline __le32 __cpu_to_le32p(const __u32 *p)
-{
- return (__le32)*p;
-}
-static __always_inline __u32 __le32_to_cpup(const __le32 *p)
-{
- return (__u32)*p;
-}
-static __always_inline __le16 __cpu_to_le16p(const __u16 *p)
-{
- return (__le16)*p;
-}
-static __always_inline __u16 __le16_to_cpup(const __le16 *p)
-{
- return (__u16)*p;
-}
-static __always_inline __be64 __cpu_to_be64p(const __u64 *p)
-{
- return (__be64)__swab64p(p);
-}
-static __always_inline __u64 __be64_to_cpup(const __be64 *p)
-{
- return __swab64p((__u64 *)p);
-}
-static __always_inline __be32 __cpu_to_be32p(const __u32 *p)
-{
- return (__be32)__swab32p(p);
-}
-static __always_inline __u32 __be32_to_cpup(const __be32 *p)
-{
- return __swab32p((__u32 *)p);
-}
-static __always_inline __be16 __cpu_to_be16p(const __u16 *p)
-{
- return (__be16)__swab16p(p);
-}
-static __always_inline __u16 __be16_to_cpup(const __be16 *p)
-{
- return __swab16p((__u16 *)p);
-}
-#define __cpu_to_le64s(x) do { (void)(x); } while (0)
-#define __le64_to_cpus(x) do { (void)(x); } while (0)
-#define __cpu_to_le32s(x) do { (void)(x); } while (0)
-#define __le32_to_cpus(x) do { (void)(x); } while (0)
-#define __cpu_to_le16s(x) do { (void)(x); } while (0)
-#define __le16_to_cpus(x) do { (void)(x); } while (0)
-#define __cpu_to_be64s(x) __swab64s((x))
-#define __be64_to_cpus(x) __swab64s((x))
-#define __cpu_to_be32s(x) __swab32s((x))
-#define __be32_to_cpus(x) __swab32s((x))
-#define __cpu_to_be16s(x) __swab16s((x))
-#define __be16_to_cpus(x) __swab16s((x))
-
-
-#endif /* _LINUX_BYTEORDER_LITTLE_ENDIAN_H */
diff --git a/linux-headers/include/linux/caif/caif_socket.h b/linux-headers/include/linux/caif/caif_socket.h
deleted file mode 100644
index 586e9f9..0000000
--- a/linux-headers/include/linux/caif/caif_socket.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/* linux/caif_socket.h
- * CAIF Definitions for CAIF socket and network layer
- * Copyright (C) ST-Ericsson AB 2010
- * Author: Sjur Brendeland
- * License terms: GNU General Public License (GPL) version 2
- */
-
-#ifndef _LINUX_CAIF_SOCKET_H
-#define _LINUX_CAIF_SOCKET_H
-
-#include <linux/types.h>
-#include <linux/socket.h>
-
-/**
- * enum caif_link_selector - Physical Link Selection.
- * @CAIF_LINK_HIGH_BANDW: Physical interface for high-bandwidth
- * traffic.
- * @CAIF_LINK_LOW_LATENCY: Physical interface for low-latency
- * traffic.
- *
- * CAIF Link Layers can register their link properties.
- * This enum is used for choosing between CAIF Link Layers when
- * setting up CAIF Channels when multiple CAIF Link Layers exists.
- */
-enum caif_link_selector {
- CAIF_LINK_HIGH_BANDW,
- CAIF_LINK_LOW_LATENCY
-};
-
-/**
- * enum caif_channel_priority - CAIF channel priorities.
- *
- * @CAIF_PRIO_MIN: Min priority for a channel.
- * @CAIF_PRIO_LOW: Low-priority channel.
- * @CAIF_PRIO_NORMAL: Normal/default priority level.
- * @CAIF_PRIO_HIGH: High priority level
- * @CAIF_PRIO_MAX: Max priority for channel
- *
- * Priority can be set on CAIF Channels in order to
- * prioritize between traffic on different CAIF Channels.
- * These priority levels are recommended, but the priority value
- * is not restricted to the values defined in this enum, any value
- * between CAIF_PRIO_MIN and CAIF_PRIO_MAX could be used.
- */
-enum caif_channel_priority {
- CAIF_PRIO_MIN = 0x01,
- CAIF_PRIO_LOW = 0x04,
- CAIF_PRIO_NORMAL = 0x0f,
- CAIF_PRIO_HIGH = 0x14,
- CAIF_PRIO_MAX = 0x1F
-};
-
-/**
- * enum caif_protocol_type - CAIF Channel type.
- * @CAIFPROTO_AT: Classic AT channel.
- * @CAIFPROTO_DATAGRAM: Datagram channel.
- * @CAIFPROTO_DATAGRAM_LOOP: Datagram loopback channel, used for testing.
- * @CAIFPROTO_UTIL: Utility (Psock) channel.
- * @CAIFPROTO_RFM: Remote File Manager
- * @CAIFPROTO_DEBUG: Debug link
- *
- * This enum defines the CAIF Channel type to be used. This defines
- * the service to connect to on the modem.
- */
-enum caif_protocol_type {
- CAIFPROTO_AT,
- CAIFPROTO_DATAGRAM,
- CAIFPROTO_DATAGRAM_LOOP,
- CAIFPROTO_UTIL,
- CAIFPROTO_RFM,
- CAIFPROTO_DEBUG,
- _CAIFPROTO_MAX
-};
-#define CAIFPROTO_MAX _CAIFPROTO_MAX
-
-/**
- * enum caif_at_type - AT Service Endpoint
- * @CAIF_ATTYPE_PLAIN: Connects to a plain vanilla AT channel.
- */
-enum caif_at_type {
- CAIF_ATTYPE_PLAIN = 2
-};
- /**
- * enum caif_debug_type - Content selection for debug connection
- * @CAIF_DEBUG_TRACE_INTERACTIVE: Connection will contain
- * both trace and interactive debug.
- * @CAIF_DEBUG_TRACE: Connection contains trace only.
- * @CAIF_DEBUG_INTERACTIVE: Connection to interactive debug.
- */
-enum caif_debug_type {
- CAIF_DEBUG_TRACE_INTERACTIVE = 0,
- CAIF_DEBUG_TRACE,
- CAIF_DEBUG_INTERACTIVE,
-};
-
-/**
- * enum caif_debug_service - Debug Service Endpoint
- * @CAIF_RADIO_DEBUG_SERVICE: Debug service on the Radio sub-system
- * @CAIF_APP_DEBUG_SERVICE: Debug for the applications sub-system
- */
-enum caif_debug_service {
- CAIF_RADIO_DEBUG_SERVICE = 1,
- CAIF_APP_DEBUG_SERVICE
-};
-
-/**
- * struct sockaddr_caif - the sockaddr structure for CAIF sockets.
- * @family: Address family number, must be AF_CAIF.
- * @u: Union of address data 'switched' by family.
- * :
- * @u.at: Applies when family = CAIFPROTO_AT.
- *
- * @u.at.type: Type of AT link to set up (enum caif_at_type).
- *
- * @u.util: Applies when family = CAIFPROTO_UTIL
- *
- * @u.util.service: Utility service name.
- *
- * @u.dgm: Applies when family = CAIFPROTO_DATAGRAM
- *
- * @u.dgm.connection_id: Datagram connection id.
- *
- * @u.dgm.nsapi: NSAPI of the PDP-Context.
- *
- * @u.rfm: Applies when family = CAIFPROTO_RFM
- *
- * @u.rfm.connection_id: Connection ID for RFM.
- *
- * @u.rfm.volume: Volume to mount.
- *
- * @u.dbg: Applies when family = CAIFPROTO_DEBUG.
- *
- * @u.dbg.type: Type of debug connection to set up
- * (caif_debug_type).
- *
- * @u.dbg.service: Service sub-system to connect (caif_debug_service
- * Description:
- * This structure holds the connect parameters used for setting up a
- * CAIF Channel. It defines the service to connect to on the modem.
- */
-struct sockaddr_caif {
- __kernel_sa_family_t family;
- union {
- struct {
- __u8 type; /* type: enum caif_at_type */
- } at; /* CAIFPROTO_AT */
- struct {
- char service[16];
- } util; /* CAIFPROTO_UTIL */
- union {
- __u32 connection_id;
- __u8 nsapi;
- } dgm; /* CAIFPROTO_DATAGRAM(_LOOP)*/
- struct {
- __u32 connection_id;
- char volume[16];
- } rfm; /* CAIFPROTO_RFM */
- struct {
- __u8 type; /* type:enum caif_debug_type */
- __u8 service; /* service:caif_debug_service */
- } dbg; /* CAIFPROTO_DEBUG */
- } u;
-};
-
-/**
- * enum caif_socket_opts - CAIF option values for getsockopt and setsockopt.
- *
- * @CAIFSO_LINK_SELECT: Selector used if multiple CAIF Link layers are
- * available. Either a high bandwidth
- * link can be selected (CAIF_LINK_HIGH_BANDW) or
- * or a low latency link (CAIF_LINK_LOW_LATENCY).
- * This option is of type __u32.
- * Alternatively SO_BINDTODEVICE can be used.
- *
- * @CAIFSO_REQ_PARAM: Used to set the request parameters for a
- * utility channel. (maximum 256 bytes). This
- * option must be set before connecting.
- *
- * @CAIFSO_RSP_PARAM: Gets the response parameters for a utility
- * channel. (maximum 256 bytes). This option
- * is valid after a successful connect.
- *
- *
- * This enum defines the CAIF Socket options to be used on a socket
- * of type PF_CAIF.
- *
- */
-enum caif_socket_opts {
- CAIFSO_LINK_SELECT = 127,
- CAIFSO_REQ_PARAM = 128,
- CAIFSO_RSP_PARAM = 129,
-};
-
-#endif /* _LINUX_CAIF_SOCKET_H */
diff --git a/linux-headers/include/linux/caif/if_caif.h b/linux-headers/include/linux/caif/if_caif.h
deleted file mode 100644
index 7618aab..0000000
--- a/linux-headers/include/linux/caif/if_caif.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (C) ST-Ericsson AB 2010
- * Author: Sjur Brendeland
- * License terms: GNU General Public License (GPL) version 2
- */
-
-#ifndef IF_CAIF_H_
-#define IF_CAIF_H_
-#include <linux/sockios.h>
-#include <linux/types.h>
-#include <linux/socket.h>
-
-/**
- * enum ifla_caif - CAIF NetlinkRT parameters.
- * @IFLA_CAIF_IPV4_CONNID: Connection ID for IPv4 PDP Context.
- * The type of attribute is NLA_U32.
- * @IFLA_CAIF_IPV6_CONNID: Connection ID for IPv6 PDP Context.
- * The type of attribute is NLA_U32.
- * @IFLA_CAIF_LOOPBACK: If different from zero, device is doing loopback
- * The type of attribute is NLA_U8.
- *
- * When using RT Netlink to create, destroy or configure a CAIF IP interface,
- * enum ifla_caif is used to specify the configuration attributes.
- */
-enum ifla_caif {
- __IFLA_CAIF_UNSPEC,
- IFLA_CAIF_IPV4_CONNID,
- IFLA_CAIF_IPV6_CONNID,
- IFLA_CAIF_LOOPBACK,
- __IFLA_CAIF_MAX
-};
-#define IFLA_CAIF_MAX (__IFLA_CAIF_MAX-1)
-
-#endif /*IF_CAIF_H_*/
diff --git a/linux-headers/include/linux/can.h b/linux-headers/include/linux/can.h
deleted file mode 100644
index 4af39b0..0000000
--- a/linux-headers/include/linux/can.h
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * linux/can.h
- *
- * Definitions for CAN network layer (socket addr / CAN frame / CAN filter)
- *
- * Authors: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
- * Urs Thuermann <urs.thuermann@volkswagen.de>
- * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Volkswagen nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * Alternatively, provided that this notice is retained in full, this
- * software may be distributed under the terms of the GNU General
- * Public License ("GPL") version 2, in which case the provisions of the
- * GPL apply INSTEAD OF those given above.
- *
- * The provided data structures and external interfaces from this code
- * are not restricted to be used by modules with a GPL compatible license.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- */
-
-#ifndef _CAN_H
-#define _CAN_H
-
-#include <linux/types.h>
-#include <linux/socket.h>
-
-/* controller area network (CAN) kernel definitions */
-
-/* special address description flags for the CAN_ID */
-#define CAN_EFF_FLAG 0x80000000U /* EFF/SFF is set in the MSB */
-#define CAN_RTR_FLAG 0x40000000U /* remote transmission request */
-#define CAN_ERR_FLAG 0x20000000U /* error message frame */
-
-/* valid bits in CAN ID for frame formats */
-#define CAN_SFF_MASK 0x000007FFU /* standard frame format (SFF) */
-#define CAN_EFF_MASK 0x1FFFFFFFU /* extended frame format (EFF) */
-#define CAN_ERR_MASK 0x1FFFFFFFU /* omit EFF, RTR, ERR flags */
-
-/*
- * Controller Area Network Identifier structure
- *
- * bit 0-28 : CAN identifier (11/29 bit)
- * bit 29 : error message frame flag (0 = data frame, 1 = error message)
- * bit 30 : remote transmission request flag (1 = rtr frame)
- * bit 31 : frame format flag (0 = standard 11 bit, 1 = extended 29 bit)
- */
-typedef __u32 canid_t;
-
-#define CAN_SFF_ID_BITS 11
-#define CAN_EFF_ID_BITS 29
-
-/*
- * Controller Area Network Error Message Frame Mask structure
- *
- * bit 0-28 : error class mask (see include/linux/can/error.h)
- * bit 29-31 : set to zero
- */
-typedef __u32 can_err_mask_t;
-
-/* CAN payload length and DLC definitions according to ISO 11898-1 */
-#define CAN_MAX_DLC 8
-#define CAN_MAX_DLEN 8
-
-/* CAN FD payload length and DLC definitions according to ISO 11898-7 */
-#define CANFD_MAX_DLC 15
-#define CANFD_MAX_DLEN 64
-
-/**
- * struct can_frame - basic CAN frame structure
- * @can_id: CAN ID of the frame and CAN_*_FLAG flags, see canid_t definition
- * @can_dlc: frame payload length in byte (0 .. 8) aka data length code
- * N.B. the DLC field from ISO 11898-1 Chapter 8.4.2.3 has a 1:1
- * mapping of the 'data length code' to the real payload length
- * @__pad: padding
- * @__res0: reserved / padding
- * @__res1: reserved / padding
- * @data: CAN frame payload (up to 8 byte)
- */
-struct can_frame {
- canid_t can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags */
- __u8 can_dlc; /* frame payload length in byte (0 .. CAN_MAX_DLEN) */
- __u8 __pad; /* padding */
- __u8 __res0; /* reserved / padding */
- __u8 __res1; /* reserved / padding */
- __u8 data[CAN_MAX_DLEN] __attribute__((aligned(8)));
-};
-
-/*
- * defined bits for canfd_frame.flags
- *
- * The use of struct canfd_frame implies the Extended Data Length (EDL) bit to
- * be set in the CAN frame bitstream on the wire. The EDL bit switch turns
- * the CAN controllers bitstream processor into the CAN FD mode which creates
- * two new options within the CAN FD frame specification:
- *
- * Bit Rate Switch - to indicate a second bitrate is/was used for the payload
- * Error State Indicator - represents the error state of the transmitting node
- *
- * As the CANFD_ESI bit is internally generated by the transmitting CAN
- * controller only the CANFD_BRS bit is relevant for real CAN controllers when
- * building a CAN FD frame for transmission. Setting the CANFD_ESI bit can make
- * sense for virtual CAN interfaces to test applications with echoed frames.
- */
-#define CANFD_BRS 0x01 /* bit rate switch (second bitrate for payload data) */
-#define CANFD_ESI 0x02 /* error state indicator of the transmitting node */
-
-/**
- * struct canfd_frame - CAN flexible data rate frame structure
- * @can_id: CAN ID of the frame and CAN_*_FLAG flags, see canid_t definition
- * @len: frame payload length in byte (0 .. CANFD_MAX_DLEN)
- * @flags: additional flags for CAN FD
- * @__res0: reserved / padding
- * @__res1: reserved / padding
- * @data: CAN FD frame payload (up to CANFD_MAX_DLEN byte)
- */
-struct canfd_frame {
- canid_t can_id; /* 32 bit CAN_ID + EFF/RTR/ERR flags */
- __u8 len; /* frame payload length in byte */
- __u8 flags; /* additional flags for CAN FD */
- __u8 __res0; /* reserved / padding */
- __u8 __res1; /* reserved / padding */
- __u8 data[CANFD_MAX_DLEN] __attribute__((aligned(8)));
-};
-
-#define CAN_MTU (sizeof(struct can_frame))
-#define CANFD_MTU (sizeof(struct canfd_frame))
-
-/* particular protocols of the protocol family PF_CAN */
-#define CAN_RAW 1 /* RAW sockets */
-#define CAN_BCM 2 /* Broadcast Manager */
-#define CAN_TP16 3 /* VAG Transport Protocol v1.6 */
-#define CAN_TP20 4 /* VAG Transport Protocol v2.0 */
-#define CAN_MCNET 5 /* Bosch MCNet */
-#define CAN_ISOTP 6 /* ISO 15765-2 Transport Protocol */
-#define CAN_NPROTO 7
-
-#define SOL_CAN_BASE 100
-
-/**
- * struct sockaddr_can - the sockaddr structure for CAN sockets
- * @can_family: address family number AF_CAN.
- * @can_ifindex: CAN network interface index.
- * @can_addr: protocol specific address information
- */
-struct sockaddr_can {
- __kernel_sa_family_t can_family;
- int can_ifindex;
- union {
- /* transport protocol class address information (e.g. ISOTP) */
- struct { canid_t rx_id, tx_id; } tp;
-
- /* reserved for future CAN protocols address information */
- } can_addr;
-};
-
-/**
- * struct can_filter - CAN ID based filter in can_register().
- * @can_id: relevant bits of CAN ID which are not masked out.
- * @can_mask: CAN mask (see description)
- *
- * Description:
- * A filter matches, when
- *
- * <received_can_id> & mask == can_id & mask
- *
- * The filter can be inverted (CAN_INV_FILTER bit set in can_id) or it can
- * filter for error message frames (CAN_ERR_FLAG bit set in mask).
- */
-struct can_filter {
- canid_t can_id;
- canid_t can_mask;
-};
-
-#define CAN_INV_FILTER 0x20000000U /* to be set in can_filter.can_id */
-
-#endif /* !_UAPI_CAN_H */
diff --git a/linux-headers/include/linux/can/bcm.h b/linux-headers/include/linux/can/bcm.h
deleted file mode 100644
index 9cc0d04..0000000
--- a/linux-headers/include/linux/can/bcm.h
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * linux/can/bcm.h
- *
- * Definitions for CAN Broadcast Manager (BCM)
- *
- * Author: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
- * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Volkswagen nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * Alternatively, provided that this notice is retained in full, this
- * software may be distributed under the terms of the GNU General
- * Public License ("GPL") version 2, in which case the provisions of the
- * GPL apply INSTEAD OF those given above.
- *
- * The provided data structures and external interfaces from this code
- * are not restricted to be used by modules with a GPL compatible license.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- */
-
-#ifndef _CAN_BCM_H
-#define _CAN_BCM_H
-
-#include <linux/types.h>
-#include <linux/can.h>
-
-struct bcm_timeval {
- long tv_sec;
- long tv_usec;
-};
-
-/**
- * struct bcm_msg_head - head of messages to/from the broadcast manager
- * @opcode: opcode, see enum below.
- * @flags: special flags, see below.
- * @count: number of frames to send before changing interval.
- * @ival1: interval for the first @count frames.
- * @ival2: interval for the following frames.
- * @can_id: CAN ID of frames to be sent or received.
- * @nframes: number of frames appended to the message head.
- * @frames: array of CAN frames.
- */
-struct bcm_msg_head {
- __u32 opcode;
- __u32 flags;
- __u32 count;
- struct bcm_timeval ival1, ival2;
- canid_t can_id;
- __u32 nframes;
- struct can_frame frames[0];
-};
-
-enum {
- TX_SETUP = 1, /* create (cyclic) transmission task */
- TX_DELETE, /* remove (cyclic) transmission task */
- TX_READ, /* read properties of (cyclic) transmission task */
- TX_SEND, /* send one CAN frame */
- RX_SETUP, /* create RX content filter subscription */
- RX_DELETE, /* remove RX content filter subscription */
- RX_READ, /* read properties of RX content filter subscription */
- TX_STATUS, /* reply to TX_READ request */
- TX_EXPIRED, /* notification on performed transmissions (count=0) */
- RX_STATUS, /* reply to RX_READ request */
- RX_TIMEOUT, /* cyclic message is absent */
- RX_CHANGED /* updated CAN frame (detected content change) */
-};
-
-#define SETTIMER 0x0001
-#define STARTTIMER 0x0002
-#define TX_COUNTEVT 0x0004
-#define TX_ANNOUNCE 0x0008
-#define TX_CP_CAN_ID 0x0010
-#define RX_FILTER_ID 0x0020
-#define RX_CHECK_DLC 0x0040
-#define RX_NO_AUTOTIMER 0x0080
-#define RX_ANNOUNCE_RESUME 0x0100
-#define TX_RESET_MULTI_IDX 0x0200
-#define RX_RTR_FRAME 0x0400
-
-#endif /* !_UAPI_CAN_BCM_H */
diff --git a/linux-headers/include/linux/can/error.h b/linux-headers/include/linux/can/error.h
deleted file mode 100644
index cfba785..0000000
--- a/linux-headers/include/linux/can/error.h
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * linux/can/error.h
- *
- * Definitions of the CAN error messages to be filtered and passed to the user.
- *
- * Author: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
- * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Volkswagen nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * Alternatively, provided that this notice is retained in full, this
- * software may be distributed under the terms of the GNU General
- * Public License ("GPL") version 2, in which case the provisions of the
- * GPL apply INSTEAD OF those given above.
- *
- * The provided data structures and external interfaces from this code
- * are not restricted to be used by modules with a GPL compatible license.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- */
-
-#ifndef _CAN_ERROR_H
-#define _CAN_ERROR_H
-
-#define CAN_ERR_DLC 8 /* dlc for error message frames */
-
-/* error class (mask) in can_id */
-#define CAN_ERR_TX_TIMEOUT 0x00000001U /* TX timeout (by netdevice driver) */
-#define CAN_ERR_LOSTARB 0x00000002U /* lost arbitration / data[0] */
-#define CAN_ERR_CRTL 0x00000004U /* controller problems / data[1] */
-#define CAN_ERR_PROT 0x00000008U /* protocol violations / data[2..3] */
-#define CAN_ERR_TRX 0x00000010U /* transceiver status / data[4] */
-#define CAN_ERR_ACK 0x00000020U /* received no ACK on transmission */
-#define CAN_ERR_BUSOFF 0x00000040U /* bus off */
-#define CAN_ERR_BUSERROR 0x00000080U /* bus error (may flood!) */
-#define CAN_ERR_RESTARTED 0x00000100U /* controller restarted */
-
-/* arbitration lost in bit ... / data[0] */
-#define CAN_ERR_LOSTARB_UNSPEC 0x00 /* unspecified */
- /* else bit number in bitstream */
-
-/* error status of CAN-controller / data[1] */
-#define CAN_ERR_CRTL_UNSPEC 0x00 /* unspecified */
-#define CAN_ERR_CRTL_RX_OVERFLOW 0x01 /* RX buffer overflow */
-#define CAN_ERR_CRTL_TX_OVERFLOW 0x02 /* TX buffer overflow */
-#define CAN_ERR_CRTL_RX_WARNING 0x04 /* reached warning level for RX errors */
-#define CAN_ERR_CRTL_TX_WARNING 0x08 /* reached warning level for TX errors */
-#define CAN_ERR_CRTL_RX_PASSIVE 0x10 /* reached error passive status RX */
-#define CAN_ERR_CRTL_TX_PASSIVE 0x20 /* reached error passive status TX */
- /* (at least one error counter exceeds */
- /* the protocol-defined level of 127) */
-#define CAN_ERR_CRTL_ACTIVE 0x40 /* recovered to error active state */
-
-/* error in CAN protocol (type) / data[2] */
-#define CAN_ERR_PROT_UNSPEC 0x00 /* unspecified */
-#define CAN_ERR_PROT_BIT 0x01 /* single bit error */
-#define CAN_ERR_PROT_FORM 0x02 /* frame format error */
-#define CAN_ERR_PROT_STUFF 0x04 /* bit stuffing error */
-#define CAN_ERR_PROT_BIT0 0x08 /* unable to send dominant bit */
-#define CAN_ERR_PROT_BIT1 0x10 /* unable to send recessive bit */
-#define CAN_ERR_PROT_OVERLOAD 0x20 /* bus overload */
-#define CAN_ERR_PROT_ACTIVE 0x40 /* active error announcement */
-#define CAN_ERR_PROT_TX 0x80 /* error occurred on transmission */
-
-/* error in CAN protocol (location) / data[3] */
-#define CAN_ERR_PROT_LOC_UNSPEC 0x00 /* unspecified */
-#define CAN_ERR_PROT_LOC_SOF 0x03 /* start of frame */
-#define CAN_ERR_PROT_LOC_ID28_21 0x02 /* ID bits 28 - 21 (SFF: 10 - 3) */
-#define CAN_ERR_PROT_LOC_ID20_18 0x06 /* ID bits 20 - 18 (SFF: 2 - 0 )*/
-#define CAN_ERR_PROT_LOC_SRTR 0x04 /* substitute RTR (SFF: RTR) */
-#define CAN_ERR_PROT_LOC_IDE 0x05 /* identifier extension */
-#define CAN_ERR_PROT_LOC_ID17_13 0x07 /* ID bits 17-13 */
-#define CAN_ERR_PROT_LOC_ID12_05 0x0F /* ID bits 12-5 */
-#define CAN_ERR_PROT_LOC_ID04_00 0x0E /* ID bits 4-0 */
-#define CAN_ERR_PROT_LOC_RTR 0x0C /* RTR */
-#define CAN_ERR_PROT_LOC_RES1 0x0D /* reserved bit 1 */
-#define CAN_ERR_PROT_LOC_RES0 0x09 /* reserved bit 0 */
-#define CAN_ERR_PROT_LOC_DLC 0x0B /* data length code */
-#define CAN_ERR_PROT_LOC_DATA 0x0A /* data section */
-#define CAN_ERR_PROT_LOC_CRC_SEQ 0x08 /* CRC sequence */
-#define CAN_ERR_PROT_LOC_CRC_DEL 0x18 /* CRC delimiter */
-#define CAN_ERR_PROT_LOC_ACK 0x19 /* ACK slot */
-#define CAN_ERR_PROT_LOC_ACK_DEL 0x1B /* ACK delimiter */
-#define CAN_ERR_PROT_LOC_EOF 0x1A /* end of frame */
-#define CAN_ERR_PROT_LOC_INTERM 0x12 /* intermission */
-
-/* error status of CAN-transceiver / data[4] */
-/* CANH CANL */
-#define CAN_ERR_TRX_UNSPEC 0x00 /* 0000 0000 */
-#define CAN_ERR_TRX_CANH_NO_WIRE 0x04 /* 0000 0100 */
-#define CAN_ERR_TRX_CANH_SHORT_TO_BAT 0x05 /* 0000 0101 */
-#define CAN_ERR_TRX_CANH_SHORT_TO_VCC 0x06 /* 0000 0110 */
-#define CAN_ERR_TRX_CANH_SHORT_TO_GND 0x07 /* 0000 0111 */
-#define CAN_ERR_TRX_CANL_NO_WIRE 0x40 /* 0100 0000 */
-#define CAN_ERR_TRX_CANL_SHORT_TO_BAT 0x50 /* 0101 0000 */
-#define CAN_ERR_TRX_CANL_SHORT_TO_VCC 0x60 /* 0110 0000 */
-#define CAN_ERR_TRX_CANL_SHORT_TO_GND 0x70 /* 0111 0000 */
-#define CAN_ERR_TRX_CANL_SHORT_TO_CANH 0x80 /* 1000 0000 */
-
-/* controller specific additional information / data[5..7] */
-
-#endif /* _CAN_ERROR_H */
diff --git a/linux-headers/include/linux/can/gw.h b/linux-headers/include/linux/can/gw.h
deleted file mode 100644
index 8b080e3..0000000
--- a/linux-headers/include/linux/can/gw.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * linux/can/gw.h
- *
- * Definitions for CAN frame Gateway/Router/Bridge
- *
- * Author: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
- * Copyright (c) 2011 Volkswagen Group Electronic Research
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Volkswagen nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * Alternatively, provided that this notice is retained in full, this
- * software may be distributed under the terms of the GNU General
- * Public License ("GPL") version 2, in which case the provisions of the
- * GPL apply INSTEAD OF those given above.
- *
- * The provided data structures and external interfaces from this code
- * are not restricted to be used by modules with a GPL compatible license.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- */
-
-#ifndef _CAN_GW_H
-#define _CAN_GW_H
-
-#include <linux/types.h>
-#include <linux/can.h>
-
-struct rtcanmsg {
- __u8 can_family;
- __u8 gwtype;
- __u16 flags;
-};
-
-/* CAN gateway types */
-enum {
- CGW_TYPE_UNSPEC,
- CGW_TYPE_CAN_CAN, /* CAN->CAN routing */
- __CGW_TYPE_MAX
-};
-
-#define CGW_TYPE_MAX (__CGW_TYPE_MAX - 1)
-
-/* CAN rtnetlink attribute definitions */
-enum {
- CGW_UNSPEC,
- CGW_MOD_AND, /* CAN frame modification binary AND */
- CGW_MOD_OR, /* CAN frame modification binary OR */
- CGW_MOD_XOR, /* CAN frame modification binary XOR */
- CGW_MOD_SET, /* CAN frame modification set alternate values */
- CGW_CS_XOR, /* set data[] XOR checksum into data[index] */
- CGW_CS_CRC8, /* set data[] CRC8 checksum into data[index] */
- CGW_HANDLED, /* number of handled CAN frames */
- CGW_DROPPED, /* number of dropped CAN frames */
- CGW_SRC_IF, /* ifindex of source network interface */
- CGW_DST_IF, /* ifindex of destination network interface */
- CGW_FILTER, /* specify struct can_filter on source CAN device */
- CGW_DELETED, /* number of deleted CAN frames (see max_hops param) */
- CGW_LIM_HOPS, /* limit the number of hops of this specific rule */
- CGW_MOD_UID, /* user defined identifier for modification updates */
- __CGW_MAX
-};
-
-#define CGW_MAX (__CGW_MAX - 1)
-
-#define CGW_FLAGS_CAN_ECHO 0x01
-#define CGW_FLAGS_CAN_SRC_TSTAMP 0x02
-#define CGW_FLAGS_CAN_IIF_TX_OK 0x04
-
-#define CGW_MOD_FUNCS 4 /* AND OR XOR SET */
-
-/* CAN frame elements that are affected by curr. 3 CAN frame modifications */
-#define CGW_MOD_ID 0x01
-#define CGW_MOD_DLC 0x02
-#define CGW_MOD_DATA 0x04
-
-#define CGW_FRAME_MODS 3 /* ID DLC DATA */
-
-#define MAX_MODFUNCTIONS (CGW_MOD_FUNCS * CGW_FRAME_MODS)
-
-struct cgw_frame_mod {
- struct can_frame cf;
- __u8 modtype;
-} __attribute__((packed));
-
-#define CGW_MODATTR_LEN sizeof(struct cgw_frame_mod)
-
-struct cgw_csum_xor {
- __s8 from_idx;
- __s8 to_idx;
- __s8 result_idx;
- __u8 init_xor_val;
-} __attribute__((packed));
-
-struct cgw_csum_crc8 {
- __s8 from_idx;
- __s8 to_idx;
- __s8 result_idx;
- __u8 init_crc_val;
- __u8 final_xor_val;
- __u8 crctab[256];
- __u8 profile;
- __u8 profile_data[20];
-} __attribute__((packed));
-
-/* length of checksum operation parameters. idx = index in CAN frame data[] */
-#define CGW_CS_XOR_LEN sizeof(struct cgw_csum_xor)
-#define CGW_CS_CRC8_LEN sizeof(struct cgw_csum_crc8)
-
-/* CRC8 profiles (compute CRC for additional data elements - see below) */
-enum {
- CGW_CRC8PRF_UNSPEC,
- CGW_CRC8PRF_1U8, /* compute one additional u8 value */
- CGW_CRC8PRF_16U8, /* u8 value table indexed by data[1] & 0xF */
- CGW_CRC8PRF_SFFID_XOR, /* (can_id & 0xFF) ^ (can_id >> 8 & 0xFF) */
- __CGW_CRC8PRF_MAX
-};
-
-#define CGW_CRC8PRF_MAX (__CGW_CRC8PRF_MAX - 1)
-
-/*
- * CAN rtnetlink attribute contents in detail
- *
- * CGW_XXX_IF (length 4 bytes):
- * Sets an interface index for source/destination network interfaces.
- * For the CAN->CAN gwtype the indices of _two_ CAN interfaces are mandatory.
- *
- * CGW_FILTER (length 8 bytes):
- * Sets a CAN receive filter for the gateway job specified by the
- * struct can_filter described in include/linux/can.h
- *
- * CGW_MOD_(AND|OR|XOR|SET) (length 17 bytes):
- * Specifies a modification that's done to a received CAN frame before it is
- * send out to the destination interface.
- *
- * <struct can_frame> data used as operator
- * <u8> affected CAN frame elements
- *
- * CGW_LIM_HOPS (length 1 byte):
- * Limit the number of hops of this specific rule. Usually the received CAN
- * frame can be processed as much as 'max_hops' times (which is given at module
- * load time of the can-gw module). This value is used to reduce the number of
- * possible hops for this gateway rule to a value smaller then max_hops.
- *
- * CGW_MOD_UID (length 4 bytes):
- * Optional non-zero user defined routing job identifier to alter existing
- * modification settings at runtime.
- *
- * CGW_CS_XOR (length 4 bytes):
- * Set a simple XOR checksum starting with an initial value into
- * data[result-idx] using data[start-idx] .. data[end-idx]
- *
- * The XOR checksum is calculated like this:
- *
- * xor = init_xor_val
- *
- * for (i = from_idx .. to_idx)
- * xor ^= can_frame.data[i]
- *
- * can_frame.data[ result_idx ] = xor
- *
- * CGW_CS_CRC8 (length 282 bytes):
- * Set a CRC8 value into data[result-idx] using a given 256 byte CRC8 table,
- * a given initial value and a defined input data[start-idx] .. data[end-idx].
- * Finally the result value is XOR'ed with the final_xor_val.
- *
- * The CRC8 checksum is calculated like this:
- *
- * crc = init_crc_val
- *
- * for (i = from_idx .. to_idx)
- * crc = crctab[ crc ^ can_frame.data[i] ]
- *
- * can_frame.data[ result_idx ] = crc ^ final_xor_val
- *
- * The calculated CRC may contain additional source data elements that can be
- * defined in the handling of 'checksum profiles' e.g. shown in AUTOSAR specs
- * like http://www.autosar.org/download/R4.0/AUTOSAR_SWS_E2ELibrary.pdf
- * E.g. the profile_data[] may contain additional u8 values (called DATA_IDs)
- * that are used depending on counter values inside the CAN frame data[].
- * So far only three profiles have been implemented for illustration.
- *
- * Remark: In general the attribute data is a linear buffer.
- * Beware of sending unpacked or aligned structs!
- */
-
-#endif /* !_UAPI_CAN_GW_H */
diff --git a/linux-headers/include/linux/can/netlink.h b/linux-headers/include/linux/can/netlink.h
deleted file mode 100644
index 6d4ec2a..0000000
--- a/linux-headers/include/linux/can/netlink.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * linux/can/netlink.h
- *
- * Definitions for the CAN netlink interface
- *
- * Copyright (c) 2009 Wolfgang Grandegger <wg@grandegger.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the version 2 of the GNU General Public License
- * as published by the Free Software Foundation
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#ifndef _CAN_NETLINK_H
-#define _CAN_NETLINK_H
-
-#include <linux/types.h>
-
-/*
- * CAN bit-timing parameters
- *
- * For further information, please read chapter "8 BIT TIMING
- * REQUIREMENTS" of the "Bosch CAN Specification version 2.0"
- * at http://www.semiconductors.bosch.de/pdf/can2spec.pdf.
- */
-struct can_bittiming {
- __u32 bitrate; /* Bit-rate in bits/second */
- __u32 sample_point; /* Sample point in one-tenth of a percent */
- __u32 tq; /* Time quanta (TQ) in nanoseconds */
- __u32 prop_seg; /* Propagation segment in TQs */
- __u32 phase_seg1; /* Phase buffer segment 1 in TQs */
- __u32 phase_seg2; /* Phase buffer segment 2 in TQs */
- __u32 sjw; /* Synchronisation jump width in TQs */
- __u32 brp; /* Bit-rate prescaler */
-};
-
-/*
- * CAN harware-dependent bit-timing constant
- *
- * Used for calculating and checking bit-timing parameters
- */
-struct can_bittiming_const {
- char name[16]; /* Name of the CAN controller hardware */
- __u32 tseg1_min; /* Time segement 1 = prop_seg + phase_seg1 */
- __u32 tseg1_max;
- __u32 tseg2_min; /* Time segement 2 = phase_seg2 */
- __u32 tseg2_max;
- __u32 sjw_max; /* Synchronisation jump width */
- __u32 brp_min; /* Bit-rate prescaler */
- __u32 brp_max;
- __u32 brp_inc;
-};
-
-/*
- * CAN clock parameters
- */
-struct can_clock {
- __u32 freq; /* CAN system clock frequency in Hz */
-};
-
-/*
- * CAN operational and error states
- */
-enum can_state {
- CAN_STATE_ERROR_ACTIVE = 0, /* RX/TX error count < 96 */
- CAN_STATE_ERROR_WARNING, /* RX/TX error count < 128 */
- CAN_STATE_ERROR_PASSIVE, /* RX/TX error count < 256 */
- CAN_STATE_BUS_OFF, /* RX/TX error count >= 256 */
- CAN_STATE_STOPPED, /* Device is stopped */
- CAN_STATE_SLEEPING, /* Device is sleeping */
- CAN_STATE_MAX
-};
-
-/*
- * CAN bus error counters
- */
-struct can_berr_counter {
- __u16 txerr;
- __u16 rxerr;
-};
-
-/*
- * CAN controller mode
- */
-struct can_ctrlmode {
- __u32 mask;
- __u32 flags;
-};
-
-#define CAN_CTRLMODE_LOOPBACK 0x01 /* Loopback mode */
-#define CAN_CTRLMODE_LISTENONLY 0x02 /* Listen-only mode */
-#define CAN_CTRLMODE_3_SAMPLES 0x04 /* Triple sampling mode */
-#define CAN_CTRLMODE_ONE_SHOT 0x08 /* One-Shot mode */
-#define CAN_CTRLMODE_BERR_REPORTING 0x10 /* Bus-error reporting */
-#define CAN_CTRLMODE_FD 0x20 /* CAN FD mode */
-#define CAN_CTRLMODE_PRESUME_ACK 0x40 /* Ignore missing CAN ACKs */
-#define CAN_CTRLMODE_FD_NON_ISO 0x80 /* CAN FD in non-ISO mode */
-
-/*
- * CAN device statistics
- */
-struct can_device_stats {
- __u32 bus_error; /* Bus errors */
- __u32 error_warning; /* Changes to error warning state */
- __u32 error_passive; /* Changes to error passive state */
- __u32 bus_off; /* Changes to bus off state */
- __u32 arbitration_lost; /* Arbitration lost errors */
- __u32 restarts; /* CAN controller re-starts */
-};
-
-/*
- * CAN netlink interface
- */
-enum {
- IFLA_CAN_UNSPEC,
- IFLA_CAN_BITTIMING,
- IFLA_CAN_BITTIMING_CONST,
- IFLA_CAN_CLOCK,
- IFLA_CAN_STATE,
- IFLA_CAN_CTRLMODE,
- IFLA_CAN_RESTART_MS,
- IFLA_CAN_RESTART,
- IFLA_CAN_BERR_COUNTER,
- IFLA_CAN_DATA_BITTIMING,
- IFLA_CAN_DATA_BITTIMING_CONST,
- __IFLA_CAN_MAX
-};
-
-#define IFLA_CAN_MAX (__IFLA_CAN_MAX - 1)
-
-#endif /* !_UAPI_CAN_NETLINK_H */
diff --git a/linux-headers/include/linux/can/raw.h b/linux-headers/include/linux/can/raw.h
deleted file mode 100644
index 0e3bf9f..0000000
--- a/linux-headers/include/linux/can/raw.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * linux/can/raw.h
- *
- * Definitions for raw CAN sockets
- *
- * Authors: Oliver Hartkopp <oliver.hartkopp@volkswagen.de>
- * Urs Thuermann <urs.thuermann@volkswagen.de>
- * Copyright (c) 2002-2007 Volkswagen Group Electronic Research
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of Volkswagen nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * Alternatively, provided that this notice is retained in full, this
- * software may be distributed under the terms of the GNU General
- * Public License ("GPL") version 2, in which case the provisions of the
- * GPL apply INSTEAD OF those given above.
- *
- * The provided data structures and external interfaces from this code
- * are not restricted to be used by modules with a GPL compatible license.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
- * DAMAGE.
- */
-
-#ifndef _CAN_RAW_H
-#define _CAN_RAW_H
-
-#include <linux/can.h>
-
-#define SOL_CAN_RAW (SOL_CAN_BASE + CAN_RAW)
-
-/* for socket options affecting the socket (not the global system) */
-
-enum {
- CAN_RAW_FILTER = 1, /* set 0 .. n can_filter(s) */
- CAN_RAW_ERR_FILTER, /* set filter for error frames */
- CAN_RAW_LOOPBACK, /* local loopback (default:on) */
- CAN_RAW_RECV_OWN_MSGS, /* receive my own msgs (default:off) */
- CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */
- CAN_RAW_JOIN_FILTERS, /* all filters must match to trigger */
-};
-
-#endif /* !_UAPI_CAN_RAW_H */
diff --git a/linux-headers/include/linux/capability.h b/linux-headers/include/linux/capability.h
deleted file mode 100644
index b4020e9..0000000
--- a/linux-headers/include/linux/capability.h
+++ /dev/null
@@ -1,365 +0,0 @@
-/*
- * This is <linux/capability.h>
- *
- * Andrew G. Morgan <morgan@kernel.org>
- * Alexander Kjeldaas <astor@guardian.no>
- * with help from Aleph1, Roland Buresund and Andrew Main.
- *
- * See here for the libcap library ("POSIX draft" compliance):
- *
- * ftp://www.kernel.org/pub/linux/libs/security/linux-privs/kernel-2.6/
- */
-
-#ifndef _LINUX_CAPABILITY_H
-#define _LINUX_CAPABILITY_H
-
-#include <linux/types.h>
-
-struct task_struct;
-
-/* User-level do most of the mapping between kernel and user
- capabilities based on the version tag given by the kernel. The
- kernel might be somewhat backwards compatible, but don't bet on
- it. */
-
-/* Note, cap_t, is defined by POSIX (draft) to be an "opaque" pointer to
- a set of three capability sets. The transposition of 3*the
- following structure to such a composite is better handled in a user
- library since the draft standard requires the use of malloc/free
- etc.. */
-
-#define _LINUX_CAPABILITY_VERSION_1 0x19980330
-#define _LINUX_CAPABILITY_U32S_1 1
-
-#define _LINUX_CAPABILITY_VERSION_2 0x20071026 /* deprecated - use v3 */
-#define _LINUX_CAPABILITY_U32S_2 2
-
-#define _LINUX_CAPABILITY_VERSION_3 0x20080522
-#define _LINUX_CAPABILITY_U32S_3 2
-
-typedef struct __user_cap_header_struct {
- __u32 version;
- int pid;
-} *cap_user_header_t;
-
-typedef struct __user_cap_data_struct {
- __u32 effective;
- __u32 permitted;
- __u32 inheritable;
-} *cap_user_data_t;
-
-
-#define VFS_CAP_REVISION_MASK 0xFF000000
-#define VFS_CAP_REVISION_SHIFT 24
-#define VFS_CAP_FLAGS_MASK ~VFS_CAP_REVISION_MASK
-#define VFS_CAP_FLAGS_EFFECTIVE 0x000001
-
-#define VFS_CAP_REVISION_1 0x01000000
-#define VFS_CAP_U32_1 1
-#define XATTR_CAPS_SZ_1 (sizeof(__le32)*(1 + 2*VFS_CAP_U32_1))
-
-#define VFS_CAP_REVISION_2 0x02000000
-#define VFS_CAP_U32_2 2
-#define XATTR_CAPS_SZ_2 (sizeof(__le32)*(1 + 2*VFS_CAP_U32_2))
-
-#define XATTR_CAPS_SZ XATTR_CAPS_SZ_2
-#define VFS_CAP_U32 VFS_CAP_U32_2
-#define VFS_CAP_REVISION VFS_CAP_REVISION_2
-
-struct vfs_cap_data {
- __le32 magic_etc; /* Little endian */
- struct {
- __le32 permitted; /* Little endian */
- __le32 inheritable; /* Little endian */
- } data[VFS_CAP_U32];
-};
-
-
-/*
- * Backwardly compatible definition for source code - trapped in a
- * 32-bit world. If you find you need this, please consider using
- * libcap to untrap yourself...
- */
-#define _LINUX_CAPABILITY_VERSION _LINUX_CAPABILITY_VERSION_1
-#define _LINUX_CAPABILITY_U32S _LINUX_CAPABILITY_U32S_1
-
-
-
-/**
- ** POSIX-draft defined capabilities.
- **/
-
-/* In a system with the [_POSIX_CHOWN_RESTRICTED] option defined, this
- overrides the restriction of changing file ownership and group
- ownership. */
-
-#define CAP_CHOWN 0
-
-/* Override all DAC access, including ACL execute access if
- [_POSIX_ACL] is defined. Excluding DAC access covered by
- CAP_LINUX_IMMUTABLE. */
-
-#define CAP_DAC_OVERRIDE 1
-
-/* Overrides all DAC restrictions regarding read and search on files
- and directories, including ACL restrictions if [_POSIX_ACL] is
- defined. Excluding DAC access covered by CAP_LINUX_IMMUTABLE. */
-
-#define CAP_DAC_READ_SEARCH 2
-
-/* Overrides all restrictions about allowed operations on files, where
- file owner ID must be equal to the user ID, except where CAP_FSETID
- is applicable. It doesn't override MAC and DAC restrictions. */
-
-#define CAP_FOWNER 3
-
-/* Overrides the following restrictions that the effective user ID
- shall match the file owner ID when setting the S_ISUID and S_ISGID
- bits on that file; that the effective group ID (or one of the
- supplementary group IDs) shall match the file owner ID when setting
- the S_ISGID bit on that file; that the S_ISUID and S_ISGID bits are
- cleared on successful return from chown(2) (not implemented). */
-
-#define CAP_FSETID 4
-
-/* Overrides the restriction that the real or effective user ID of a
- process sending a signal must match the real or effective user ID
- of the process receiving the signal. */
-
-#define CAP_KILL 5
-
-/* Allows setgid(2) manipulation */
-/* Allows setgroups(2) */
-/* Allows forged gids on socket credentials passing. */
-
-#define CAP_SETGID 6
-
-/* Allows set*uid(2) manipulation (including fsuid). */
-/* Allows forged pids on socket credentials passing. */
-
-#define CAP_SETUID 7
-
-
-/**
- ** Linux-specific capabilities
- **/
-
-/* Without VFS support for capabilities:
- * Transfer any capability in your permitted set to any pid,
- * remove any capability in your permitted set from any pid
- * With VFS support for capabilities (neither of above, but)
- * Add any capability from current's capability bounding set
- * to the current process' inheritable set
- * Allow taking bits out of capability bounding set
- * Allow modification of the securebits for a process
- */
-
-#define CAP_SETPCAP 8
-
-/* Allow modification of S_IMMUTABLE and S_APPEND file attributes */
-
-#define CAP_LINUX_IMMUTABLE 9
-
-/* Allows binding to TCP/UDP sockets below 1024 */
-/* Allows binding to ATM VCIs below 32 */
-
-#define CAP_NET_BIND_SERVICE 10
-
-/* Allow broadcasting, listen to multicast */
-
-#define CAP_NET_BROADCAST 11
-
-/* Allow interface configuration */
-/* Allow administration of IP firewall, masquerading and accounting */
-/* Allow setting debug option on sockets */
-/* Allow modification of routing tables */
-/* Allow setting arbitrary process / process group ownership on
- sockets */
-/* Allow binding to any address for transparent proxying (also via NET_RAW) */
-/* Allow setting TOS (type of service) */
-/* Allow setting promiscuous mode */
-/* Allow clearing driver statistics */
-/* Allow multicasting */
-/* Allow read/write of device-specific registers */
-/* Allow activation of ATM control sockets */
-
-#define CAP_NET_ADMIN 12
-
-/* Allow use of RAW sockets */
-/* Allow use of PACKET sockets */
-/* Allow binding to any address for transparent proxying (also via NET_ADMIN) */
-
-#define CAP_NET_RAW 13
-
-/* Allow locking of shared memory segments */
-/* Allow mlock and mlockall (which doesn't really have anything to do
- with IPC) */
-
-#define CAP_IPC_LOCK 14
-
-/* Override IPC ownership checks */
-
-#define CAP_IPC_OWNER 15
-
-/* Insert and remove kernel modules - modify kernel without limit */
-#define CAP_SYS_MODULE 16
-
-/* Allow ioperm/iopl access */
-/* Allow sending USB messages to any device via /proc/bus/usb */
-
-#define CAP_SYS_RAWIO 17
-
-/* Allow use of chroot() */
-
-#define CAP_SYS_CHROOT 18
-
-/* Allow ptrace() of any process */
-
-#define CAP_SYS_PTRACE 19
-
-/* Allow configuration of process accounting */
-
-#define CAP_SYS_PACCT 20
-
-/* Allow configuration of the secure attention key */
-/* Allow administration of the random device */
-/* Allow examination and configuration of disk quotas */
-/* Allow setting the domainname */
-/* Allow setting the hostname */
-/* Allow calling bdflush() */
-/* Allow mount() and umount(), setting up new smb connection */
-/* Allow some autofs root ioctls */
-/* Allow nfsservctl */
-/* Allow VM86_REQUEST_IRQ */
-/* Allow to read/write pci config on alpha */
-/* Allow irix_prctl on mips (setstacksize) */
-/* Allow flushing all cache on m68k (sys_cacheflush) */
-/* Allow removing semaphores */
-/* Used instead of CAP_CHOWN to "chown" IPC message queues, semaphores
- and shared memory */
-/* Allow locking/unlocking of shared memory segment */
-/* Allow turning swap on/off */
-/* Allow forged pids on socket credentials passing */
-/* Allow setting readahead and flushing buffers on block devices */
-/* Allow setting geometry in floppy driver */
-/* Allow turning DMA on/off in xd driver */
-/* Allow administration of md devices (mostly the above, but some
- extra ioctls) */
-/* Allow tuning the ide driver */
-/* Allow access to the nvram device */
-/* Allow administration of apm_bios, serial and bttv (TV) device */
-/* Allow manufacturer commands in isdn CAPI support driver */
-/* Allow reading non-standardized portions of pci configuration space */
-/* Allow DDI debug ioctl on sbpcd driver */
-/* Allow setting up serial ports */
-/* Allow sending raw qic-117 commands */
-/* Allow enabling/disabling tagged queuing on SCSI controllers and sending
- arbitrary SCSI commands */
-/* Allow setting encryption key on loopback filesystem */
-/* Allow setting zone reclaim policy */
-
-#define CAP_SYS_ADMIN 21
-
-/* Allow use of reboot() */
-
-#define CAP_SYS_BOOT 22
-
-/* Allow raising priority and setting priority on other (different
- UID) processes */
-/* Allow use of FIFO and round-robin (realtime) scheduling on own
- processes and setting the scheduling algorithm used by another
- process. */
-/* Allow setting cpu affinity on other processes */
-
-#define CAP_SYS_NICE 23
-
-/* Override resource limits. Set resource limits. */
-/* Override quota limits. */
-/* Override reserved space on ext2 filesystem */
-/* Modify data journaling mode on ext3 filesystem (uses journaling
- resources) */
-/* NOTE: ext2 honors fsuid when checking for resource overrides, so
- you can override using fsuid too */
-/* Override size restrictions on IPC message queues */
-/* Allow more than 64hz interrupts from the real-time clock */
-/* Override max number of consoles on console allocation */
-/* Override max number of keymaps */
-
-#define CAP_SYS_RESOURCE 24
-
-/* Allow manipulation of system clock */
-/* Allow irix_stime on mips */
-/* Allow setting the real-time clock */
-
-#define CAP_SYS_TIME 25
-
-/* Allow configuration of tty devices */
-/* Allow vhangup() of tty */
-
-#define CAP_SYS_TTY_CONFIG 26
-
-/* Allow the privileged aspects of mknod() */
-
-#define CAP_MKNOD 27
-
-/* Allow taking of leases on files */
-
-#define CAP_LEASE 28
-
-/* Allow writing the audit log via unicast netlink socket */
-
-#define CAP_AUDIT_WRITE 29
-
-/* Allow configuration of audit via unicast netlink socket */
-
-#define CAP_AUDIT_CONTROL 30
-
-#define CAP_SETFCAP 31
-
-/* Override MAC access.
- The base kernel enforces no MAC policy.
- An LSM may enforce a MAC policy, and if it does and it chooses
- to implement capability based overrides of that policy, this is
- the capability it should use to do so. */
-
-#define CAP_MAC_OVERRIDE 32
-
-/* Allow MAC configuration or state changes.
- The base kernel requires no MAC configuration.
- An LSM may enforce a MAC policy, and if it does and it chooses
- to implement capability based checks on modifications to that
- policy or the data required to maintain it, this is the
- capability it should use to do so. */
-
-#define CAP_MAC_ADMIN 33
-
-/* Allow configuring the kernel's syslog (printk behaviour) */
-
-#define CAP_SYSLOG 34
-
-/* Allow triggering something that will wake the system */
-
-#define CAP_WAKE_ALARM 35
-
-/* Allow preventing system suspends */
-
-#define CAP_BLOCK_SUSPEND 36
-
-/* Allow reading the audit log via multicast netlink socket */
-
-#define CAP_AUDIT_READ 37
-
-
-#define CAP_LAST_CAP CAP_AUDIT_READ
-
-#define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
-
-/*
- * Bit location of each capability (used by user-space library and kernel)
- */
-
-#define CAP_TO_INDEX(x) ((x) >> 5) /* 1 << 5 == bits in __u32 */
-#define CAP_TO_MASK(x) (1 << ((x) & 31)) /* mask for indexed __u32 */
-
-
-#endif /* _LINUX_CAPABILITY_H */
diff --git a/linux-headers/include/linux/capi.h b/linux-headers/include/linux/capi.h
deleted file mode 100644
index 32717a9..0000000
--- a/linux-headers/include/linux/capi.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/* $Id: capi.h,v 1.4.6.1 2001/09/23 22:25:05 kai Exp $
- *
- * CAPI 2.0 Interface for Linux
- *
- * Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-#ifndef __LINUX_CAPI_H__
-#define __LINUX_CAPI_H__
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-#include <linux/kernelcapi.h>
-
-/*
- * CAPI_REGISTER
- */
-
-typedef struct capi_register_params { /* CAPI_REGISTER */
- __u32 level3cnt; /* No. of simulatneous user data connections */
- __u32 datablkcnt; /* No. of buffered data messages */
- __u32 datablklen; /* Size of buffered data messages */
-} capi_register_params;
-
-#define CAPI_REGISTER _IOW('C',0x01,struct capi_register_params)
-
-/*
- * CAPI_GET_MANUFACTURER
- */
-
-#define CAPI_MANUFACTURER_LEN 64
-
-#define CAPI_GET_MANUFACTURER _IOWR('C',0x06,int) /* broken: wanted size 64 (CAPI_MANUFACTURER_LEN) */
-
-/*
- * CAPI_GET_VERSION
- */
-
-typedef struct capi_version {
- __u32 majorversion;
- __u32 minorversion;
- __u32 majormanuversion;
- __u32 minormanuversion;
-} capi_version;
-
-#define CAPI_GET_VERSION _IOWR('C',0x07,struct capi_version)
-
-/*
- * CAPI_GET_SERIAL
- */
-
-#define CAPI_SERIAL_LEN 8
-#define CAPI_GET_SERIAL _IOWR('C',0x08,int) /* broken: wanted size 8 (CAPI_SERIAL_LEN) */
-
-/*
- * CAPI_GET_PROFILE
- */
-
-typedef struct capi_profile {
- __u16 ncontroller; /* number of installed controller */
- __u16 nbchannel; /* number of B-Channels */
- __u32 goptions; /* global options */
- __u32 support1; /* B1 protocols support */
- __u32 support2; /* B2 protocols support */
- __u32 support3; /* B3 protocols support */
- __u32 reserved[6]; /* reserved */
- __u32 manu[5]; /* manufacturer specific information */
-} capi_profile;
-
-#define CAPI_GET_PROFILE _IOWR('C',0x09,struct capi_profile)
-
-typedef struct capi_manufacturer_cmd {
- unsigned long cmd;
- void *data;
-} capi_manufacturer_cmd;
-
-/*
- * CAPI_MANUFACTURER_CMD
- */
-
-#define CAPI_MANUFACTURER_CMD _IOWR('C',0x20, struct capi_manufacturer_cmd)
-
-/*
- * CAPI_GET_ERRCODE
- * capi errcode is set, * if read, write, or ioctl returns EIO,
- * ioctl returns errcode directly, and in arg, if != 0
- */
-
-#define CAPI_GET_ERRCODE _IOR('C',0x21, __u16)
-
-/*
- * CAPI_INSTALLED
- */
-#define CAPI_INSTALLED _IOR('C',0x22, __u16)
-
-
-/*
- * member contr is input for
- * CAPI_GET_MANUFACTURER, CAPI_GET_VERSION, CAPI_GET_SERIAL
- * and CAPI_GET_PROFILE
- */
-typedef union capi_ioctl_struct {
- __u32 contr;
- capi_register_params rparams;
- __u8 manufacturer[CAPI_MANUFACTURER_LEN];
- capi_version version;
- __u8 serial[CAPI_SERIAL_LEN];
- capi_profile profile;
- capi_manufacturer_cmd cmd;
- __u16 errcode;
-} capi_ioctl_struct;
-
-/*
- * Middleware extension
- */
-
-#define CAPIFLAG_HIGHJACKING 0x0001
-
-#define CAPI_GET_FLAGS _IOR('C',0x23, unsigned)
-#define CAPI_SET_FLAGS _IOR('C',0x24, unsigned)
-#define CAPI_CLR_FLAGS _IOR('C',0x25, unsigned)
-
-#define CAPI_NCCI_OPENCOUNT _IOR('C',0x26, unsigned)
-
-#define CAPI_NCCI_GETUNIT _IOR('C',0x27, unsigned)
-
-#endif /* __LINUX_CAPI_H__ */
diff --git a/linux-headers/include/linux/cciss_defs.h b/linux-headers/include/linux/cciss_defs.h
deleted file mode 100644
index 316b670..0000000
--- a/linux-headers/include/linux/cciss_defs.h
+++ /dev/null
@@ -1,130 +0,0 @@
-#ifndef CCISS_DEFS_H
-#define CCISS_DEFS_H
-
-#include <linux/types.h>
-
-/* general boundary definitions */
-#define SENSEINFOBYTES 32 /* note that this value may vary
- between host implementations */
-
-/* Command Status value */
-#define CMD_SUCCESS 0x0000
-#define CMD_TARGET_STATUS 0x0001
-#define CMD_DATA_UNDERRUN 0x0002
-#define CMD_DATA_OVERRUN 0x0003
-#define CMD_INVALID 0x0004
-#define CMD_PROTOCOL_ERR 0x0005
-#define CMD_HARDWARE_ERR 0x0006
-#define CMD_CONNECTION_LOST 0x0007
-#define CMD_ABORTED 0x0008
-#define CMD_ABORT_FAILED 0x0009
-#define CMD_UNSOLICITED_ABORT 0x000A
-#define CMD_TIMEOUT 0x000B
-#define CMD_UNABORTABLE 0x000C
-
-/* transfer direction */
-#define XFER_NONE 0x00
-#define XFER_WRITE 0x01
-#define XFER_READ 0x02
-#define XFER_RSVD 0x03
-
-/* task attribute */
-#define ATTR_UNTAGGED 0x00
-#define ATTR_SIMPLE 0x04
-#define ATTR_HEADOFQUEUE 0x05
-#define ATTR_ORDERED 0x06
-#define ATTR_ACA 0x07
-
-/* cdb type */
-#define TYPE_CMD 0x00
-#define TYPE_MSG 0x01
-
-/* Type defs used in the following structs */
-#define BYTE __u8
-#define WORD __u16
-#define HWORD __u16
-#define DWORD __u32
-
-#define CISS_MAX_LUN 1024
-
-#define LEVEL2LUN 1 /* index into Target(x) structure, due to byte swapping */
-#define LEVEL3LUN 0
-
-#pragma pack(1)
-
-/* Command List Structure */
-typedef union _SCSI3Addr_struct {
- struct {
- BYTE Dev;
- BYTE Bus:6;
- BYTE Mode:2; /* b00 */
- } PeripDev;
- struct {
- BYTE DevLSB;
- BYTE DevMSB:6;
- BYTE Mode:2; /* b01 */
- } LogDev;
- struct {
- BYTE Dev:5;
- BYTE Bus:3;
- BYTE Targ:6;
- BYTE Mode:2; /* b10 */
- } LogUnit;
-} SCSI3Addr_struct;
-
-typedef struct _PhysDevAddr_struct {
- DWORD TargetId:24;
- DWORD Bus:6;
- DWORD Mode:2;
- SCSI3Addr_struct Target[2]; /* 2 level target device addr */
-} PhysDevAddr_struct;
-
-typedef struct _LogDevAddr_struct {
- DWORD VolId:30;
- DWORD Mode:2;
- BYTE reserved[4];
-} LogDevAddr_struct;
-
-typedef union _LUNAddr_struct {
- BYTE LunAddrBytes[8];
- SCSI3Addr_struct SCSI3Lun[4];
- PhysDevAddr_struct PhysDev;
- LogDevAddr_struct LogDev;
-} LUNAddr_struct;
-
-typedef struct _RequestBlock_struct {
- BYTE CDBLen;
- struct {
- BYTE Type:3;
- BYTE Attribute:3;
- BYTE Direction:2;
- } Type;
- HWORD Timeout;
- BYTE CDB[16];
-} RequestBlock_struct;
-
-typedef union _MoreErrInfo_struct{
- struct {
- BYTE Reserved[3];
- BYTE Type;
- DWORD ErrorInfo;
- } Common_Info;
- struct{
- BYTE Reserved[2];
- BYTE offense_size; /* size of offending entry */
- BYTE offense_num; /* byte # of offense 0-base */
- DWORD offense_value;
- } Invalid_Cmd;
-} MoreErrInfo_struct;
-typedef struct _ErrorInfo_struct {
- BYTE ScsiStatus;
- BYTE SenseLen;
- HWORD CommandStatus;
- DWORD ResidualCnt;
- MoreErrInfo_struct MoreErrInfo;
- BYTE SenseInfo[SENSEINFOBYTES];
-} ErrorInfo_struct;
-
-#pragma pack()
-
-#endif /* CCISS_DEFS_H */
diff --git a/linux-headers/include/linux/cciss_ioctl.h b/linux-headers/include/linux/cciss_ioctl.h
deleted file mode 100644
index d85fd2b..0000000
--- a/linux-headers/include/linux/cciss_ioctl.h
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef CCISS_IOCTLH
-#define CCISS_IOCTLH
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-#include <linux/cciss_defs.h>
-
-#define CCISS_IOC_MAGIC 'B'
-
-
-typedef struct _cciss_pci_info_struct
-{
- unsigned char bus;
- unsigned char dev_fn;
- unsigned short domain;
- __u32 board_id;
-} cciss_pci_info_struct;
-
-typedef struct _cciss_coalint_struct
-{
- __u32 delay;
- __u32 count;
-} cciss_coalint_struct;
-
-typedef char NodeName_type[16];
-
-typedef __u32 Heartbeat_type;
-
-#define CISS_PARSCSIU2 0x0001
-#define CISS_PARCSCIU3 0x0002
-#define CISS_FIBRE1G 0x0100
-#define CISS_FIBRE2G 0x0200
-typedef __u32 BusTypes_type;
-
-typedef char FirmwareVer_type[4];
-typedef __u32 DriverVer_type;
-
-#define MAX_KMALLOC_SIZE 128000
-
-typedef struct _IOCTL_Command_struct {
- LUNAddr_struct LUN_info;
- RequestBlock_struct Request;
- ErrorInfo_struct error_info;
- WORD buf_size; /* size in bytes of the buf */
- BYTE *buf;
-} IOCTL_Command_struct;
-
-typedef struct _BIG_IOCTL_Command_struct {
- LUNAddr_struct LUN_info;
- RequestBlock_struct Request;
- ErrorInfo_struct error_info;
- DWORD malloc_size; /* < MAX_KMALLOC_SIZE in cciss.c */
- DWORD buf_size; /* size in bytes of the buf */
- /* < malloc_size * MAXSGENTRIES */
- BYTE *buf;
-} BIG_IOCTL_Command_struct;
-
-typedef struct _LogvolInfo_struct{
- __u32 LunID;
- int num_opens; /* number of opens on the logical volume */
- int num_parts; /* number of partitions configured on logvol */
-} LogvolInfo_struct;
-
-#define CCISS_GETPCIINFO _IOR(CCISS_IOC_MAGIC, 1, cciss_pci_info_struct)
-
-#define CCISS_GETINTINFO _IOR(CCISS_IOC_MAGIC, 2, cciss_coalint_struct)
-#define CCISS_SETINTINFO _IOW(CCISS_IOC_MAGIC, 3, cciss_coalint_struct)
-
-#define CCISS_GETNODENAME _IOR(CCISS_IOC_MAGIC, 4, NodeName_type)
-#define CCISS_SETNODENAME _IOW(CCISS_IOC_MAGIC, 5, NodeName_type)
-
-#define CCISS_GETHEARTBEAT _IOR(CCISS_IOC_MAGIC, 6, Heartbeat_type)
-#define CCISS_GETBUSTYPES _IOR(CCISS_IOC_MAGIC, 7, BusTypes_type)
-#define CCISS_GETFIRMVER _IOR(CCISS_IOC_MAGIC, 8, FirmwareVer_type)
-#define CCISS_GETDRIVVER _IOR(CCISS_IOC_MAGIC, 9, DriverVer_type)
-#define CCISS_REVALIDVOLS _IO(CCISS_IOC_MAGIC, 10)
-#define CCISS_PASSTHRU _IOWR(CCISS_IOC_MAGIC, 11, IOCTL_Command_struct)
-#define CCISS_DEREGDISK _IO(CCISS_IOC_MAGIC, 12)
-
-/* no longer used... use REGNEWD instead */
-#define CCISS_REGNEWDISK _IOW(CCISS_IOC_MAGIC, 13, int)
-
-#define CCISS_REGNEWD _IO(CCISS_IOC_MAGIC, 14)
-#define CCISS_RESCANDISK _IO(CCISS_IOC_MAGIC, 16)
-#define CCISS_GETLUNINFO _IOR(CCISS_IOC_MAGIC, 17, LogvolInfo_struct)
-#define CCISS_BIG_PASSTHRU _IOWR(CCISS_IOC_MAGIC, 18, BIG_IOCTL_Command_struct)
-
-#endif /* CCISS_IOCTLH */
diff --git a/linux-headers/include/linux/cdrom.h b/linux-headers/include/linux/cdrom.h
deleted file mode 100644
index db59b9b..0000000
--- a/linux-headers/include/linux/cdrom.h
+++ /dev/null
@@ -1,946 +0,0 @@
-/*
- * -- <linux/cdrom.h>
- * General header file for linux CD-ROM drivers
- * Copyright (C) 1992 David Giller, rafetmad@oxy.edu
- * 1994, 1995 Eberhard Mönkeberg, emoenke@gwdg.de
- * 1996 David van Leeuwen, david@tm.tno.nl
- * 1997, 1998 Erik Andersen, andersee@debian.org
- * 1998-2002 Jens Axboe, axboe@suse.de
- */
-
-#ifndef _LINUX_CDROM_H
-#define _LINUX_CDROM_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-/*******************************************************
- * As of Linux 2.1.x, all Linux CD-ROM application programs will use this
- * (and only this) include file. It is my hope to provide Linux with
- * a uniform interface between software accessing CD-ROMs and the various
- * device drivers that actually talk to the drives. There may still be
- * 23 different kinds of strange CD-ROM drives, but at least there will
- * now be one, and only one, Linux CD-ROM interface.
- *
- * Additionally, as of Linux 2.1.x, all Linux application programs
- * should use the O_NONBLOCK option when opening a CD-ROM device
- * for subsequent ioctl commands. This allows for neat system errors
- * like "No medium found" or "Wrong medium type" upon attempting to
- * mount or play an empty slot, mount an audio disc, or play a data disc.
- * Generally, changing an application program to support O_NONBLOCK
- * is as easy as the following:
- * - drive = open("/dev/cdrom", O_RDONLY);
- * + drive = open("/dev/cdrom", O_RDONLY | O_NONBLOCK);
- * It is worth the small change.
- *
- * Patches for many common CD programs (provided by David A. van Leeuwen)
- * can be found at: ftp://ftp.gwdg.de/pub/linux/cdrom/drivers/cm206/
- *
- *******************************************************/
-
-/* When a driver supports a certain function, but the cdrom drive we are
- * using doesn't, we will return the error EDRIVE_CANT_DO_THIS. We will
- * borrow the "Operation not supported" error from the network folks to
- * accomplish this. Maybe someday we will get a more targeted error code,
- * but this will do for now... */
-#define EDRIVE_CANT_DO_THIS EOPNOTSUPP
-
-/*******************************************************
- * The CD-ROM IOCTL commands -- these should be supported by
- * all the various cdrom drivers. For the CD-ROM ioctls, we
- * will commandeer byte 0x53, or 'S'.
- *******************************************************/
-#define CDROMPAUSE 0x5301 /* Pause Audio Operation */
-#define CDROMRESUME 0x5302 /* Resume paused Audio Operation */
-#define CDROMPLAYMSF 0x5303 /* Play Audio MSF (struct cdrom_msf) */
-#define CDROMPLAYTRKIND 0x5304 /* Play Audio Track/index
- (struct cdrom_ti) */
-#define CDROMREADTOCHDR 0x5305 /* Read TOC header
- (struct cdrom_tochdr) */
-#define CDROMREADTOCENTRY 0x5306 /* Read TOC entry
- (struct cdrom_tocentry) */
-#define CDROMSTOP 0x5307 /* Stop the cdrom drive */
-#define CDROMSTART 0x5308 /* Start the cdrom drive */
-#define CDROMEJECT 0x5309 /* Ejects the cdrom media */
-#define CDROMVOLCTRL 0x530a /* Control output volume
- (struct cdrom_volctrl) */
-#define CDROMSUBCHNL 0x530b /* Read subchannel data
- (struct cdrom_subchnl) */
-#define CDROMREADMODE2 0x530c /* Read CDROM mode 2 data (2336 Bytes)
- (struct cdrom_read) */
-#define CDROMREADMODE1 0x530d /* Read CDROM mode 1 data (2048 Bytes)
- (struct cdrom_read) */
-#define CDROMREADAUDIO 0x530e /* (struct cdrom_read_audio) */
-#define CDROMEJECT_SW 0x530f /* enable(1)/disable(0) auto-ejecting */
-#define CDROMMULTISESSION 0x5310 /* Obtain the start-of-last-session
- address of multi session disks
- (struct cdrom_multisession) */
-#define CDROM_GET_MCN 0x5311 /* Obtain the "Universal Product Code"
- if available (struct cdrom_mcn) */
-#define CDROM_GET_UPC CDROM_GET_MCN /* This one is deprecated,
- but here anyway for compatibility */
-#define CDROMRESET 0x5312 /* hard-reset the drive */
-#define CDROMVOLREAD 0x5313 /* Get the drive's volume setting
- (struct cdrom_volctrl) */
-#define CDROMREADRAW 0x5314 /* read data in raw mode (2352 Bytes)
- (struct cdrom_read) */
-/*
- * These ioctls are used only used in aztcd.c and optcd.c
- */
-#define CDROMREADCOOKED 0x5315 /* read data in cooked mode */
-#define CDROMSEEK 0x5316 /* seek msf address */
-
-/*
- * This ioctl is only used by the scsi-cd driver.
- It is for playing audio in logical block addressing mode.
- */
-#define CDROMPLAYBLK 0x5317 /* (struct cdrom_blk) */
-
-/*
- * These ioctls are only used in optcd.c
- */
-#define CDROMREADALL 0x5318 /* read all 2646 bytes */
-
-/*
- * These ioctls are (now) only in ide-cd.c for controlling
- * drive spindown time. They should be implemented in the
- * Uniform driver, via generic packet commands, GPCMD_MODE_SELECT_10,
- * GPCMD_MODE_SENSE_10 and the GPMODE_POWER_PAGE...
- * -Erik
- */
-#define CDROMGETSPINDOWN 0x531d
-#define CDROMSETSPINDOWN 0x531e
-
-/*
- * These ioctls are implemented through the uniform CD-ROM driver
- * They _will_ be adopted by all CD-ROM drivers, when all the CD-ROM
- * drivers are eventually ported to the uniform CD-ROM driver interface.
- */
-#define CDROMCLOSETRAY 0x5319 /* pendant of CDROMEJECT */
-#define CDROM_SET_OPTIONS 0x5320 /* Set behavior options */
-#define CDROM_CLEAR_OPTIONS 0x5321 /* Clear behavior options */
-#define CDROM_SELECT_SPEED 0x5322 /* Set the CD-ROM speed */
-#define CDROM_SELECT_DISC 0x5323 /* Select disc (for juke-boxes) */
-#define CDROM_MEDIA_CHANGED 0x5325 /* Check is media changed */
-#define CDROM_DRIVE_STATUS 0x5326 /* Get tray position, etc. */
-#define CDROM_DISC_STATUS 0x5327 /* Get disc type, etc. */
-#define CDROM_CHANGER_NSLOTS 0x5328 /* Get number of slots */
-#define CDROM_LOCKDOOR 0x5329 /* lock or unlock door */
-#define CDROM_DEBUG 0x5330 /* Turn debug messages on/off */
-#define CDROM_GET_CAPABILITY 0x5331 /* get capabilities */
-
-/* Note that scsi/scsi_ioctl.h also uses 0x5382 - 0x5386.
- * Future CDROM ioctls should be kept below 0x537F
- */
-
-/* This ioctl is only used by sbpcd at the moment */
-#define CDROMAUDIOBUFSIZ 0x5382 /* set the audio buffer size */
- /* conflict with SCSI_IOCTL_GET_IDLUN */
-
-/* DVD-ROM Specific ioctls */
-#define DVD_READ_STRUCT 0x5390 /* Read structure */
-#define DVD_WRITE_STRUCT 0x5391 /* Write structure */
-#define DVD_AUTH 0x5392 /* Authentication */
-
-#define CDROM_SEND_PACKET 0x5393 /* send a packet to the drive */
-#define CDROM_NEXT_WRITABLE 0x5394 /* get next writable block */
-#define CDROM_LAST_WRITTEN 0x5395 /* get last block written on disc */
-
-/*******************************************************
- * CDROM IOCTL structures
- *******************************************************/
-
-/* Address in MSF format */
-struct cdrom_msf0
-{
- __u8 minute;
- __u8 second;
- __u8 frame;
-};
-
-/* Address in either MSF or logical format */
-union cdrom_addr
-{
- struct cdrom_msf0 msf;
- int lba;
-};
-
-/* This struct is used by the CDROMPLAYMSF ioctl */
-struct cdrom_msf
-{
- __u8 cdmsf_min0; /* start minute */
- __u8 cdmsf_sec0; /* start second */
- __u8 cdmsf_frame0; /* start frame */
- __u8 cdmsf_min1; /* end minute */
- __u8 cdmsf_sec1; /* end second */
- __u8 cdmsf_frame1; /* end frame */
-};
-
-/* This struct is used by the CDROMPLAYTRKIND ioctl */
-struct cdrom_ti
-{
- __u8 cdti_trk0; /* start track */
- __u8 cdti_ind0; /* start index */
- __u8 cdti_trk1; /* end track */
- __u8 cdti_ind1; /* end index */
-};
-
-/* This struct is used by the CDROMREADTOCHDR ioctl */
-struct cdrom_tochdr
-{
- __u8 cdth_trk0; /* start track */
- __u8 cdth_trk1; /* end track */
-};
-
-/* This struct is used by the CDROMVOLCTRL and CDROMVOLREAD ioctls */
-struct cdrom_volctrl
-{
- __u8 channel0;
- __u8 channel1;
- __u8 channel2;
- __u8 channel3;
-};
-
-/* This struct is used by the CDROMSUBCHNL ioctl */
-struct cdrom_subchnl
-{
- __u8 cdsc_format;
- __u8 cdsc_audiostatus;
- __u8 cdsc_adr: 4;
- __u8 cdsc_ctrl: 4;
- __u8 cdsc_trk;
- __u8 cdsc_ind;
- union cdrom_addr cdsc_absaddr;
- union cdrom_addr cdsc_reladdr;
-};
-
-
-/* This struct is used by the CDROMREADTOCENTRY ioctl */
-struct cdrom_tocentry
-{
- __u8 cdte_track;
- __u8 cdte_adr :4;
- __u8 cdte_ctrl :4;
- __u8 cdte_format;
- union cdrom_addr cdte_addr;
- __u8 cdte_datamode;
-};
-
-/* This struct is used by the CDROMREADMODE1, and CDROMREADMODE2 ioctls */
-struct cdrom_read
-{
- int cdread_lba;
- char *cdread_bufaddr;
- int cdread_buflen;
-};
-
-/* This struct is used by the CDROMREADAUDIO ioctl */
-struct cdrom_read_audio
-{
- union cdrom_addr addr; /* frame address */
- __u8 addr_format; /* CDROM_LBA or CDROM_MSF */
- int nframes; /* number of 2352-byte-frames to read at once */
- __u8 *buf; /* frame buffer (size: nframes*2352 bytes) */
-};
-
-/* This struct is used with the CDROMMULTISESSION ioctl */
-struct cdrom_multisession
-{
- union cdrom_addr addr; /* frame address: start-of-last-session
- (not the new "frame 16"!). Only valid
- if the "xa_flag" is true. */
- __u8 xa_flag; /* 1: "is XA disk" */
- __u8 addr_format; /* CDROM_LBA or CDROM_MSF */
-};
-
-/* This struct is used with the CDROM_GET_MCN ioctl.
- * Very few audio discs actually have Universal Product Code information,
- * which should just be the Medium Catalog Number on the box. Also note
- * that the way the codeis written on CD is _not_ uniform across all discs!
- */
-struct cdrom_mcn
-{
- __u8 medium_catalog_number[14]; /* 13 ASCII digits, null-terminated */
-};
-
-/* This is used by the CDROMPLAYBLK ioctl */
-struct cdrom_blk
-{
- unsigned from;
- unsigned short len;
-};
-
-#define CDROM_PACKET_SIZE 12
-
-#define CGC_DATA_UNKNOWN 0
-#define CGC_DATA_WRITE 1
-#define CGC_DATA_READ 2
-#define CGC_DATA_NONE 3
-
-/* for CDROM_PACKET_COMMAND ioctl */
-struct cdrom_generic_command
-{
- unsigned char cmd[CDROM_PACKET_SIZE];
- unsigned char *buffer;
- unsigned int buflen;
- int stat;
- struct request_sense *sense;
- unsigned char data_direction;
- int quiet;
- int timeout;
- void *reserved[1]; /* unused, actually */
-};
-
-/*
- * A CD-ROM physical sector size is 2048, 2052, 2056, 2324, 2332, 2336,
- * 2340, or 2352 bytes long.
-
-* Sector types of the standard CD-ROM data formats:
- *
- * format sector type user data size (bytes)
- * -----------------------------------------------------------------------------
- * 1 (Red Book) CD-DA 2352 (CD_FRAMESIZE_RAW)
- * 2 (Yellow Book) Mode1 Form1 2048 (CD_FRAMESIZE)
- * 3 (Yellow Book) Mode1 Form2 2336 (CD_FRAMESIZE_RAW0)
- * 4 (Green Book) Mode2 Form1 2048 (CD_FRAMESIZE)
- * 5 (Green Book) Mode2 Form2 2328 (2324+4 spare bytes)
- *
- *
- * The layout of the standard CD-ROM data formats:
- * -----------------------------------------------------------------------------
- * - audio (red): | audio_sample_bytes |
- * | 2352 |
- *
- * - data (yellow, mode1): | sync - head - data - EDC - zero - ECC |
- * | 12 - 4 - 2048 - 4 - 8 - 276 |
- *
- * - data (yellow, mode2): | sync - head - data |
- * | 12 - 4 - 2336 |
- *
- * - XA data (green, mode2 form1): | sync - head - sub - data - EDC - ECC |
- * | 12 - 4 - 8 - 2048 - 4 - 276 |
- *
- * - XA data (green, mode2 form2): | sync - head - sub - data - Spare |
- * | 12 - 4 - 8 - 2324 - 4 |
- *
- */
-
-/* Some generally useful CD-ROM information -- mostly based on the above */
-#define CD_MINS 74 /* max. minutes per CD, not really a limit */
-#define CD_SECS 60 /* seconds per minute */
-#define CD_FRAMES 75 /* frames per second */
-#define CD_SYNC_SIZE 12 /* 12 sync bytes per raw data frame */
-#define CD_MSF_OFFSET 150 /* MSF numbering offset of first frame */
-#define CD_CHUNK_SIZE 24 /* lowest-level "data bytes piece" */
-#define CD_NUM_OF_CHUNKS 98 /* chunks per frame */
-#define CD_FRAMESIZE_SUB 96 /* subchannel data "frame" size */
-#define CD_HEAD_SIZE 4 /* header (address) bytes per raw data frame */
-#define CD_SUBHEAD_SIZE 8 /* subheader bytes per raw XA data frame */
-#define CD_EDC_SIZE 4 /* bytes EDC per most raw data frame types */
-#define CD_ZERO_SIZE 8 /* bytes zero per yellow book mode 1 frame */
-#define CD_ECC_SIZE 276 /* bytes ECC per most raw data frame types */
-#define CD_FRAMESIZE 2048 /* bytes per frame, "cooked" mode */
-#define CD_FRAMESIZE_RAW 2352 /* bytes per frame, "raw" mode */
-#define CD_FRAMESIZE_RAWER 2646 /* The maximum possible returned bytes */
-/* most drives don't deliver everything: */
-#define CD_FRAMESIZE_RAW1 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE) /*2340*/
-#define CD_FRAMESIZE_RAW0 (CD_FRAMESIZE_RAW-CD_SYNC_SIZE-CD_HEAD_SIZE) /*2336*/
-
-#define CD_XA_HEAD (CD_HEAD_SIZE+CD_SUBHEAD_SIZE) /* "before data" part of raw XA frame */
-#define CD_XA_TAIL (CD_EDC_SIZE+CD_ECC_SIZE) /* "after data" part of raw XA frame */
-#define CD_XA_SYNC_HEAD (CD_SYNC_SIZE+CD_XA_HEAD) /* sync bytes + header of XA frame */
-
-/* CD-ROM address types (cdrom_tocentry.cdte_format) */
-#define CDROM_LBA 0x01 /* "logical block": first frame is #0 */
-#define CDROM_MSF 0x02 /* "minute-second-frame": binary, not bcd here! */
-
-/* bit to tell whether track is data or audio (cdrom_tocentry.cdte_ctrl) */
-#define CDROM_DATA_TRACK 0x04
-
-/* The leadout track is always 0xAA, regardless of # of tracks on disc */
-#define CDROM_LEADOUT 0xAA
-
-/* audio states (from SCSI-2, but seen with other drives, too) */
-#define CDROM_AUDIO_INVALID 0x00 /* audio status not supported */
-#define CDROM_AUDIO_PLAY 0x11 /* audio play operation in progress */
-#define CDROM_AUDIO_PAUSED 0x12 /* audio play operation paused */
-#define CDROM_AUDIO_COMPLETED 0x13 /* audio play successfully completed */
-#define CDROM_AUDIO_ERROR 0x14 /* audio play stopped due to error */
-#define CDROM_AUDIO_NO_STATUS 0x15 /* no current audio status to return */
-
-/* capability flags used with the uniform CD-ROM driver */
-#define CDC_CLOSE_TRAY 0x1 /* caddy systems _can't_ close */
-#define CDC_OPEN_TRAY 0x2 /* but _can_ eject. */
-#define CDC_LOCK 0x4 /* disable manual eject */
-#define CDC_SELECT_SPEED 0x8 /* programmable speed */
-#define CDC_SELECT_DISC 0x10 /* select disc from juke-box */
-#define CDC_MULTI_SESSION 0x20 /* read sessions>1 */
-#define CDC_MCN 0x40 /* Medium Catalog Number */
-#define CDC_MEDIA_CHANGED 0x80 /* media changed */
-#define CDC_PLAY_AUDIO 0x100 /* audio functions */
-#define CDC_RESET 0x200 /* hard reset device */
-#define CDC_DRIVE_STATUS 0x800 /* driver implements drive status */
-#define CDC_GENERIC_PACKET 0x1000 /* driver implements generic packets */
-#define CDC_CD_R 0x2000 /* drive is a CD-R */
-#define CDC_CD_RW 0x4000 /* drive is a CD-RW */
-#define CDC_DVD 0x8000 /* drive is a DVD */
-#define CDC_DVD_R 0x10000 /* drive can write DVD-R */
-#define CDC_DVD_RAM 0x20000 /* drive can write DVD-RAM */
-#define CDC_MO_DRIVE 0x40000 /* drive is an MO device */
-#define CDC_MRW 0x80000 /* drive can read MRW */
-#define CDC_MRW_W 0x100000 /* drive can write MRW */
-#define CDC_RAM 0x200000 /* ok to open for WRITE */
-
-/* drive status possibilities returned by CDROM_DRIVE_STATUS ioctl */
-#define CDS_NO_INFO 0 /* if not implemented */
-#define CDS_NO_DISC 1
-#define CDS_TRAY_OPEN 2
-#define CDS_DRIVE_NOT_READY 3
-#define CDS_DISC_OK 4
-
-/* return values for the CDROM_DISC_STATUS ioctl */
-/* can also return CDS_NO_[INFO|DISC], from above */
-#define CDS_AUDIO 100
-#define CDS_DATA_1 101
-#define CDS_DATA_2 102
-#define CDS_XA_2_1 103
-#define CDS_XA_2_2 104
-#define CDS_MIXED 105
-
-/* User-configurable behavior options for the uniform CD-ROM driver */
-#define CDO_AUTO_CLOSE 0x1 /* close tray on first open() */
-#define CDO_AUTO_EJECT 0x2 /* open tray on last release() */
-#define CDO_USE_FFLAGS 0x4 /* use O_NONBLOCK information on open */
-#define CDO_LOCK 0x8 /* lock tray on open files */
-#define CDO_CHECK_TYPE 0x10 /* check type on open for data */
-
-/* Special codes used when specifying changer slots. */
-#define CDSL_NONE (INT_MAX-1)
-#define CDSL_CURRENT INT_MAX
-
-/* For partition based multisession access. IDE can handle 64 partitions
- * per drive - SCSI CD-ROM's use minors to differentiate between the
- * various drives, so we can't do multisessions the same way there.
- * Use the -o session=x option to mount on them.
- */
-#define CD_PART_MAX 64
-#define CD_PART_MASK (CD_PART_MAX - 1)
-
-/*********************************************************************
- * Generic Packet commands, MMC commands, and such
- *********************************************************************/
-
- /* The generic packet command opcodes for CD/DVD Logical Units,
- * From Table 57 of the SFF8090 Ver. 3 (Mt. Fuji) draft standard. */
-#define GPCMD_BLANK 0xa1
-#define GPCMD_CLOSE_TRACK 0x5b
-#define GPCMD_FLUSH_CACHE 0x35
-#define GPCMD_FORMAT_UNIT 0x04
-#define GPCMD_GET_CONFIGURATION 0x46
-#define GPCMD_GET_EVENT_STATUS_NOTIFICATION 0x4a
-#define GPCMD_GET_PERFORMANCE 0xac
-#define GPCMD_INQUIRY 0x12
-#define GPCMD_LOAD_UNLOAD 0xa6
-#define GPCMD_MECHANISM_STATUS 0xbd
-#define GPCMD_MODE_SELECT_10 0x55
-#define GPCMD_MODE_SENSE_10 0x5a
-#define GPCMD_PAUSE_RESUME 0x4b
-#define GPCMD_PLAY_AUDIO_10 0x45
-#define GPCMD_PLAY_AUDIO_MSF 0x47
-#define GPCMD_PLAY_AUDIO_TI 0x48
-#define GPCMD_PLAY_CD 0xbc
-#define GPCMD_PREVENT_ALLOW_MEDIUM_REMOVAL 0x1e
-#define GPCMD_READ_10 0x28
-#define GPCMD_READ_12 0xa8
-#define GPCMD_READ_BUFFER 0x3c
-#define GPCMD_READ_BUFFER_CAPACITY 0x5c
-#define GPCMD_READ_CDVD_CAPACITY 0x25
-#define GPCMD_READ_CD 0xbe
-#define GPCMD_READ_CD_MSF 0xb9
-#define GPCMD_READ_DISC_INFO 0x51
-#define GPCMD_READ_DVD_STRUCTURE 0xad
-#define GPCMD_READ_FORMAT_CAPACITIES 0x23
-#define GPCMD_READ_HEADER 0x44
-#define GPCMD_READ_TRACK_RZONE_INFO 0x52
-#define GPCMD_READ_SUBCHANNEL 0x42
-#define GPCMD_READ_TOC_PMA_ATIP 0x43
-#define GPCMD_REPAIR_RZONE_TRACK 0x58
-#define GPCMD_REPORT_KEY 0xa4
-#define GPCMD_REQUEST_SENSE 0x03
-#define GPCMD_RESERVE_RZONE_TRACK 0x53
-#define GPCMD_SEND_CUE_SHEET 0x5d
-#define GPCMD_SCAN 0xba
-#define GPCMD_SEEK 0x2b
-#define GPCMD_SEND_DVD_STRUCTURE 0xbf
-#define GPCMD_SEND_EVENT 0xa2
-#define GPCMD_SEND_KEY 0xa3
-#define GPCMD_SEND_OPC 0x54
-#define GPCMD_SET_READ_AHEAD 0xa7
-#define GPCMD_SET_STREAMING 0xb6
-#define GPCMD_START_STOP_UNIT 0x1b
-#define GPCMD_STOP_PLAY_SCAN 0x4e
-#define GPCMD_TEST_UNIT_READY 0x00
-#define GPCMD_VERIFY_10 0x2f
-#define GPCMD_WRITE_10 0x2a
-#define GPCMD_WRITE_12 0xaa
-#define GPCMD_WRITE_AND_VERIFY_10 0x2e
-#define GPCMD_WRITE_BUFFER 0x3b
-/* This is listed as optional in ATAPI 2.6, but is (curiously)
- * missing from Mt. Fuji, Table 57. It _is_ mentioned in Mt. Fuji
- * Table 377 as an MMC command for SCSi devices though... Most ATAPI
- * drives support it. */
-#define GPCMD_SET_SPEED 0xbb
-/* This seems to be a SCSI specific CD-ROM opcode
- * to play data at track/index */
-#define GPCMD_PLAYAUDIO_TI 0x48
-/*
- * From MS Media Status Notification Support Specification. For
- * older drives only.
- */
-#define GPCMD_GET_MEDIA_STATUS 0xda
-
-/* Mode page codes for mode sense/set */
-#define GPMODE_VENDOR_PAGE 0x00
-#define GPMODE_R_W_ERROR_PAGE 0x01
-#define GPMODE_WRITE_PARMS_PAGE 0x05
-#define GPMODE_WCACHING_PAGE 0x08
-#define GPMODE_AUDIO_CTL_PAGE 0x0e
-#define GPMODE_POWER_PAGE 0x1a
-#define GPMODE_FAULT_FAIL_PAGE 0x1c
-#define GPMODE_TO_PROTECT_PAGE 0x1d
-#define GPMODE_CAPABILITIES_PAGE 0x2a
-#define GPMODE_ALL_PAGES 0x3f
-/* Not in Mt. Fuji, but in ATAPI 2.6 -- deprecated now in favor
- * of MODE_SENSE_POWER_PAGE */
-#define GPMODE_CDROM_PAGE 0x0d
-
-
-
-/* DVD struct types */
-#define DVD_STRUCT_PHYSICAL 0x00
-#define DVD_STRUCT_COPYRIGHT 0x01
-#define DVD_STRUCT_DISCKEY 0x02
-#define DVD_STRUCT_BCA 0x03
-#define DVD_STRUCT_MANUFACT 0x04
-
-struct dvd_layer {
- __u8 book_version : 4;
- __u8 book_type : 4;
- __u8 min_rate : 4;
- __u8 disc_size : 4;
- __u8 layer_type : 4;
- __u8 track_path : 1;
- __u8 nlayers : 2;
- __u8 track_density : 4;
- __u8 linear_density : 4;
- __u8 bca : 1;
- __u32 start_sector;
- __u32 end_sector;
- __u32 end_sector_l0;
-};
-
-#define DVD_LAYERS 4
-
-struct dvd_physical {
- __u8 type;
- __u8 layer_num;
- struct dvd_layer layer[DVD_LAYERS];
-};
-
-struct dvd_copyright {
- __u8 type;
-
- __u8 layer_num;
- __u8 cpst;
- __u8 rmi;
-};
-
-struct dvd_disckey {
- __u8 type;
-
- unsigned agid : 2;
- __u8 value[2048];
-};
-
-struct dvd_bca {
- __u8 type;
-
- int len;
- __u8 value[188];
-};
-
-struct dvd_manufact {
- __u8 type;
-
- __u8 layer_num;
- int len;
- __u8 value[2048];
-};
-
-typedef union {
- __u8 type;
-
- struct dvd_physical physical;
- struct dvd_copyright copyright;
- struct dvd_disckey disckey;
- struct dvd_bca bca;
- struct dvd_manufact manufact;
-} dvd_struct;
-
-/*
- * DVD authentication ioctl
- */
-
-/* Authentication states */
-#define DVD_LU_SEND_AGID 0
-#define DVD_HOST_SEND_CHALLENGE 1
-#define DVD_LU_SEND_KEY1 2
-#define DVD_LU_SEND_CHALLENGE 3
-#define DVD_HOST_SEND_KEY2 4
-
-/* Termination states */
-#define DVD_AUTH_ESTABLISHED 5
-#define DVD_AUTH_FAILURE 6
-
-/* Other functions */
-#define DVD_LU_SEND_TITLE_KEY 7
-#define DVD_LU_SEND_ASF 8
-#define DVD_INVALIDATE_AGID 9
-#define DVD_LU_SEND_RPC_STATE 10
-#define DVD_HOST_SEND_RPC_STATE 11
-
-/* State data */
-typedef __u8 dvd_key[5]; /* 40-bit value, MSB is first elem. */
-typedef __u8 dvd_challenge[10]; /* 80-bit value, MSB is first elem. */
-
-struct dvd_lu_send_agid {
- __u8 type;
- unsigned agid : 2;
-};
-
-struct dvd_host_send_challenge {
- __u8 type;
- unsigned agid : 2;
-
- dvd_challenge chal;
-};
-
-struct dvd_send_key {
- __u8 type;
- unsigned agid : 2;
-
- dvd_key key;
-};
-
-struct dvd_lu_send_challenge {
- __u8 type;
- unsigned agid : 2;
-
- dvd_challenge chal;
-};
-
-#define DVD_CPM_NO_COPYRIGHT 0
-#define DVD_CPM_COPYRIGHTED 1
-
-#define DVD_CP_SEC_NONE 0
-#define DVD_CP_SEC_EXIST 1
-
-#define DVD_CGMS_UNRESTRICTED 0
-#define DVD_CGMS_SINGLE 2
-#define DVD_CGMS_RESTRICTED 3
-
-struct dvd_lu_send_title_key {
- __u8 type;
- unsigned agid : 2;
-
- dvd_key title_key;
- int lba;
- unsigned cpm : 1;
- unsigned cp_sec : 1;
- unsigned cgms : 2;
-};
-
-struct dvd_lu_send_asf {
- __u8 type;
- unsigned agid : 2;
-
- unsigned asf : 1;
-};
-
-struct dvd_host_send_rpcstate {
- __u8 type;
- __u8 pdrc;
-};
-
-struct dvd_lu_send_rpcstate {
- __u8 type : 2;
- __u8 vra : 3;
- __u8 ucca : 3;
- __u8 region_mask;
- __u8 rpc_scheme;
-};
-
-typedef union {
- __u8 type;
-
- struct dvd_lu_send_agid lsa;
- struct dvd_host_send_challenge hsc;
- struct dvd_send_key lsk;
- struct dvd_lu_send_challenge lsc;
- struct dvd_send_key hsk;
- struct dvd_lu_send_title_key lstk;
- struct dvd_lu_send_asf lsasf;
- struct dvd_host_send_rpcstate hrpcs;
- struct dvd_lu_send_rpcstate lrpcs;
-} dvd_authinfo;
-
-struct request_sense {
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 valid : 1;
- __u8 error_code : 7;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 error_code : 7;
- __u8 valid : 1;
-#endif
- __u8 segment_number;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 reserved1 : 2;
- __u8 ili : 1;
- __u8 reserved2 : 1;
- __u8 sense_key : 4;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 sense_key : 4;
- __u8 reserved2 : 1;
- __u8 ili : 1;
- __u8 reserved1 : 2;
-#endif
- __u8 information[4];
- __u8 add_sense_len;
- __u8 command_info[4];
- __u8 asc;
- __u8 ascq;
- __u8 fruc;
- __u8 sks[3];
- __u8 asb[46];
-};
-
-/*
- * feature profile
- */
-#define CDF_RWRT 0x0020 /* "Random Writable" */
-#define CDF_HWDM 0x0024 /* "Hardware Defect Management" */
-#define CDF_MRW 0x0028
-
-/*
- * media status bits
- */
-#define CDM_MRW_NOTMRW 0
-#define CDM_MRW_BGFORMAT_INACTIVE 1
-#define CDM_MRW_BGFORMAT_ACTIVE 2
-#define CDM_MRW_BGFORMAT_COMPLETE 3
-
-/*
- * mrw address spaces
- */
-#define MRW_LBA_DMA 0
-#define MRW_LBA_GAA 1
-
-/*
- * mrw mode pages (first is deprecated) -- probed at init time and
- * cdi->mrw_mode_page is set
- */
-#define MRW_MODE_PC_PRE1 0x2c
-#define MRW_MODE_PC 0x03
-
-struct mrw_feature_desc {
- __be16 feature_code;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 reserved1 : 2;
- __u8 feature_version : 4;
- __u8 persistent : 1;
- __u8 curr : 1;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 curr : 1;
- __u8 persistent : 1;
- __u8 feature_version : 4;
- __u8 reserved1 : 2;
-#endif
- __u8 add_len;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 reserved2 : 7;
- __u8 write : 1;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 write : 1;
- __u8 reserved2 : 7;
-#endif
- __u8 reserved3;
- __u8 reserved4;
- __u8 reserved5;
-};
-
-/* cf. mmc4r02g.pdf 5.3.10 Random Writable Feature (0020h) pg 197 of 635 */
-struct rwrt_feature_desc {
- __be16 feature_code;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 reserved1 : 2;
- __u8 feature_version : 4;
- __u8 persistent : 1;
- __u8 curr : 1;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 curr : 1;
- __u8 persistent : 1;
- __u8 feature_version : 4;
- __u8 reserved1 : 2;
-#endif
- __u8 add_len;
- __u32 last_lba;
- __u32 block_size;
- __u16 blocking;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 reserved2 : 7;
- __u8 page_present : 1;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 page_present : 1;
- __u8 reserved2 : 7;
-#endif
- __u8 reserved3;
-};
-
-typedef struct {
- __be16 disc_information_length;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 reserved1 : 3;
- __u8 erasable : 1;
- __u8 border_status : 2;
- __u8 disc_status : 2;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 disc_status : 2;
- __u8 border_status : 2;
- __u8 erasable : 1;
- __u8 reserved1 : 3;
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
- __u8 n_first_track;
- __u8 n_sessions_lsb;
- __u8 first_track_lsb;
- __u8 last_track_lsb;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 did_v : 1;
- __u8 dbc_v : 1;
- __u8 uru : 1;
- __u8 reserved2 : 2;
- __u8 dbit : 1;
- __u8 mrw_status : 2;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 mrw_status : 2;
- __u8 dbit : 1;
- __u8 reserved2 : 2;
- __u8 uru : 1;
- __u8 dbc_v : 1;
- __u8 did_v : 1;
-#endif
- __u8 disc_type;
- __u8 n_sessions_msb;
- __u8 first_track_msb;
- __u8 last_track_msb;
- __u32 disc_id;
- __u32 lead_in;
- __u32 lead_out;
- __u8 disc_bar_code[8];
- __u8 reserved3;
- __u8 n_opc;
-} disc_information;
-
-typedef struct {
- __be16 track_information_length;
- __u8 track_lsb;
- __u8 session_lsb;
- __u8 reserved1;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 reserved2 : 2;
- __u8 damage : 1;
- __u8 copy : 1;
- __u8 track_mode : 4;
- __u8 rt : 1;
- __u8 blank : 1;
- __u8 packet : 1;
- __u8 fp : 1;
- __u8 data_mode : 4;
- __u8 reserved3 : 6;
- __u8 lra_v : 1;
- __u8 nwa_v : 1;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 track_mode : 4;
- __u8 copy : 1;
- __u8 damage : 1;
- __u8 reserved2 : 2;
- __u8 data_mode : 4;
- __u8 fp : 1;
- __u8 packet : 1;
- __u8 blank : 1;
- __u8 rt : 1;
- __u8 nwa_v : 1;
- __u8 lra_v : 1;
- __u8 reserved3 : 6;
-#endif
- __be32 track_start;
- __be32 next_writable;
- __be32 free_blocks;
- __be32 fixed_packet_size;
- __be32 track_size;
- __be32 last_rec_address;
-} track_information;
-
-struct feature_header {
- __u32 data_len;
- __u8 reserved1;
- __u8 reserved2;
- __u16 curr_profile;
-};
-
-struct mode_page_header {
- __be16 mode_data_length;
- __u8 medium_type;
- __u8 reserved1;
- __u8 reserved2;
- __u8 reserved3;
- __be16 desc_length;
-};
-
-/* removable medium feature descriptor */
-struct rm_feature_desc {
- __be16 feature_code;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 reserved1:2;
- __u8 feature_version:4;
- __u8 persistent:1;
- __u8 curr:1;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 curr:1;
- __u8 persistent:1;
- __u8 feature_version:4;
- __u8 reserved1:2;
-#endif
- __u8 add_len;
-#if defined(__BIG_ENDIAN_BITFIELD)
- __u8 mech_type:3;
- __u8 load:1;
- __u8 eject:1;
- __u8 pvnt_jmpr:1;
- __u8 dbml:1;
- __u8 lock:1;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 lock:1;
- __u8 dbml:1;
- __u8 pvnt_jmpr:1;
- __u8 eject:1;
- __u8 load:1;
- __u8 mech_type:3;
-#endif
- __u8 reserved2;
- __u8 reserved3;
- __u8 reserved4;
-};
-
-#endif /* _LINUX_CDROM_H */
diff --git a/linux-headers/include/linux/cgroupstats.h b/linux-headers/include/linux/cgroupstats.h
deleted file mode 100644
index 3753c33..0000000
--- a/linux-headers/include/linux/cgroupstats.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/* cgroupstats.h - exporting per-cgroup statistics
- *
- * Copyright IBM Corporation, 2007
- * Author Balbir Singh <balbir@linux.vnet.ibm.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2.1 of the GNU Lesser General Public License
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef _LINUX_CGROUPSTATS_H
-#define _LINUX_CGROUPSTATS_H
-
-#include <linux/types.h>
-#include <linux/taskstats.h>
-
-/*
- * Data shared between user space and kernel space on a per cgroup
- * basis. This data is shared using taskstats.
- *
- * Most of these states are derived by looking at the task->state value
- * For the nr_io_wait state, a flag in the delay accounting structure
- * indicates that the task is waiting on IO
- *
- * Each member is aligned to a 8 byte boundary.
- */
-struct cgroupstats {
- __u64 nr_sleeping; /* Number of tasks sleeping */
- __u64 nr_running; /* Number of tasks running */
- __u64 nr_stopped; /* Number of tasks in stopped state */
- __u64 nr_uninterruptible; /* Number of tasks in uninterruptible */
- /* state */
- __u64 nr_io_wait; /* Number of tasks waiting on IO */
-};
-
-/*
- * Commands sent from userspace
- * Not versioned. New commands should only be inserted at the enum's end
- * prior to __CGROUPSTATS_CMD_MAX
- */
-
-enum {
- CGROUPSTATS_CMD_UNSPEC = __TASKSTATS_CMD_MAX, /* Reserved */
- CGROUPSTATS_CMD_GET, /* user->kernel request/get-response */
- CGROUPSTATS_CMD_NEW, /* kernel->user event */
- __CGROUPSTATS_CMD_MAX,
-};
-
-#define CGROUPSTATS_CMD_MAX (__CGROUPSTATS_CMD_MAX - 1)
-
-enum {
- CGROUPSTATS_TYPE_UNSPEC = 0, /* Reserved */
- CGROUPSTATS_TYPE_CGROUP_STATS, /* contains name + stats */
- __CGROUPSTATS_TYPE_MAX,
-};
-
-#define CGROUPSTATS_TYPE_MAX (__CGROUPSTATS_TYPE_MAX - 1)
-
-enum {
- CGROUPSTATS_CMD_ATTR_UNSPEC = 0,
- CGROUPSTATS_CMD_ATTR_FD,
- __CGROUPSTATS_CMD_ATTR_MAX,
-};
-
-#define CGROUPSTATS_CMD_ATTR_MAX (__CGROUPSTATS_CMD_ATTR_MAX - 1)
-
-#endif /* _LINUX_CGROUPSTATS_H */
diff --git a/linux-headers/include/linux/chio.h b/linux-headers/include/linux/chio.h
deleted file mode 100644
index e97cd98..0000000
--- a/linux-headers/include/linux/chio.h
+++ /dev/null
@@ -1,168 +0,0 @@
-/*
- * ioctl interface for the scsi media changer driver
- */
-
-/* changer element types */
-#define CHET_MT 0 /* media transport element (robot) */
-#define CHET_ST 1 /* storage element (media slots) */
-#define CHET_IE 2 /* import/export element */
-#define CHET_DT 3 /* data transfer element (tape/cdrom/whatever) */
-#define CHET_V1 4 /* vendor specific #1 */
-#define CHET_V2 5 /* vendor specific #2 */
-#define CHET_V3 6 /* vendor specific #3 */
-#define CHET_V4 7 /* vendor specific #4 */
-
-
-/*
- * CHIOGPARAMS
- * query changer properties
- *
- * CHIOVGPARAMS
- * query vendor-specific element types
- *
- * accessing elements works by specifing type and unit of the element.
- * for example, storage elements are addressed with type = CHET_ST and
- * unit = 0 .. cp_nslots-1
- *
- */
-struct changer_params {
- int cp_curpicker; /* current transport element */
- int cp_npickers; /* number of transport elements (CHET_MT) */
- int cp_nslots; /* number of storage elements (CHET_ST) */
- int cp_nportals; /* number of import/export elements (CHET_IE) */
- int cp_ndrives; /* number of data transfer elements (CHET_DT) */
-};
-struct changer_vendor_params {
- int cvp_n1; /* number of vendor specific elems (CHET_V1) */
- char cvp_label1[16];
- int cvp_n2; /* number of vendor specific elems (CHET_V2) */
- char cvp_label2[16];
- int cvp_n3; /* number of vendor specific elems (CHET_V3) */
- char cvp_label3[16];
- int cvp_n4; /* number of vendor specific elems (CHET_V4) */
- char cvp_label4[16];
- int reserved[8];
-};
-
-
-/*
- * CHIOMOVE
- * move a medium from one element to another
- */
-struct changer_move {
- int cm_fromtype; /* type/unit of source element */
- int cm_fromunit;
- int cm_totype; /* type/unit of destination element */
- int cm_tounit;
- int cm_flags;
-};
-#define CM_INVERT 1 /* flag: rotate media (for double-sided like MOD) */
-
-
-/*
- * CHIOEXCHANGE
- * move one medium from element #1 to element #2,
- * and another one from element #2 to element #3.
- * element #1 and #3 are allowed to be identical.
- */
-struct changer_exchange {
- int ce_srctype; /* type/unit of element #1 */
- int ce_srcunit;
- int ce_fdsttype; /* type/unit of element #2 */
- int ce_fdstunit;
- int ce_sdsttype; /* type/unit of element #3 */
- int ce_sdstunit;
- int ce_flags;
-};
-#define CE_INVERT1 1
-#define CE_INVERT2 2
-
-
-/*
- * CHIOPOSITION
- * move the transport element (robot arm) to a specific element.
- */
-struct changer_position {
- int cp_type;
- int cp_unit;
- int cp_flags;
-};
-#define CP_INVERT 1
-
-
-/*
- * CHIOGSTATUS
- * get element status for all elements of a specific type
- */
-struct changer_element_status {
- int ces_type;
- unsigned char *ces_data;
-};
-#define CESTATUS_FULL 0x01 /* full */
-#define CESTATUS_IMPEXP 0x02 /* media was imported (inserted by sysop) */
-#define CESTATUS_EXCEPT 0x04 /* error condition */
-#define CESTATUS_ACCESS 0x08 /* access allowed */
-#define CESTATUS_EXENAB 0x10 /* element can export media */
-#define CESTATUS_INENAB 0x20 /* element can import media */
-
-
-/*
- * CHIOGELEM
- * get more detailed status information for a single element
- */
-struct changer_get_element {
- int cge_type; /* type/unit */
- int cge_unit;
- int cge_status; /* status */
- int cge_errno; /* errno */
- int cge_srctype; /* source element of the last move/exchange */
- int cge_srcunit;
- int cge_id; /* scsi id (for data transfer elements) */
- int cge_lun; /* scsi lun (for data transfer elements) */
- char cge_pvoltag[36]; /* primary volume tag */
- char cge_avoltag[36]; /* alternate volume tag */
- int cge_flags;
-};
-/* flags */
-#define CGE_ERRNO 0x01 /* errno available */
-#define CGE_INVERT 0x02 /* media inverted */
-#define CGE_SRC 0x04 /* media src available */
-#define CGE_IDLUN 0x08 /* ID+LUN available */
-#define CGE_PVOLTAG 0x10 /* primary volume tag available */
-#define CGE_AVOLTAG 0x20 /* alternate volume tag available */
-
-
-/*
- * CHIOSVOLTAG
- * set volume tag
- */
-struct changer_set_voltag {
- int csv_type; /* type/unit */
- int csv_unit;
- char csv_voltag[36]; /* volume tag */
- int csv_flags;
-};
-#define CSV_PVOLTAG 0x01 /* primary volume tag */
-#define CSV_AVOLTAG 0x02 /* alternate volume tag */
-#define CSV_CLEARTAG 0x04 /* clear volume tag */
-
-/* ioctls */
-#define CHIOMOVE _IOW('c', 1,struct changer_move)
-#define CHIOEXCHANGE _IOW('c', 2,struct changer_exchange)
-#define CHIOPOSITION _IOW('c', 3,struct changer_position)
-#define CHIOGPICKER _IOR('c', 4,int) /* not impl. */
-#define CHIOSPICKER _IOW('c', 5,int) /* not impl. */
-#define CHIOGPARAMS _IOR('c', 6,struct changer_params)
-#define CHIOGSTATUS _IOW('c', 8,struct changer_element_status)
-#define CHIOGELEM _IOW('c',16,struct changer_get_element)
-#define CHIOINITELEM _IO('c',17)
-#define CHIOSVOLTAG _IOW('c',18,struct changer_set_voltag)
-#define CHIOGVPARAMS _IOR('c',19,struct changer_vendor_params)
-
-/* ---------------------------------------------------------------------- */
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
diff --git a/linux-headers/include/linux/cm4000_cs.h b/linux-headers/include/linux/cm4000_cs.h
deleted file mode 100644
index f912e74..0000000
--- a/linux-headers/include/linux/cm4000_cs.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef _CM4000_H_
-#define _CM4000_H_
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-#define MAX_ATR 33
-
-#define CM4000_MAX_DEV 4
-
-/* those two structures are passed via ioctl() from/to userspace. They are
- * used by existing userspace programs, so I kepth the awkward "bIFSD" naming
- * not to break compilation of userspace apps. -HW */
-
-typedef struct atreq {
- __s32 atr_len;
- unsigned char atr[64];
- __s32 power_act;
- unsigned char bIFSD;
- unsigned char bIFSC;
-} atreq_t;
-
-
-/* what is particularly stupid in the original driver is the arch-dependent
- * member sizes. This leads to CONFIG_COMPAT breakage, since 32bit userspace
- * will lay out the structure members differently than the 64bit kernel.
- *
- * I've changed "ptsreq.protocol" from "unsigned long" to "__u32".
- * On 32bit this will make no difference. With 64bit kernels, it will make
- * 32bit apps work, too.
- */
-
-typedef struct ptsreq {
- __u32 protocol; /*T=0: 2^0, T=1: 2^1*/
- unsigned char flags;
- unsigned char pts1;
- unsigned char pts2;
- unsigned char pts3;
-} ptsreq_t;
-
-#define CM_IOC_MAGIC 'c'
-#define CM_IOC_MAXNR 255
-
-#define CM_IOCGSTATUS _IOR (CM_IOC_MAGIC, 0, unsigned char *)
-#define CM_IOCGATR _IOWR(CM_IOC_MAGIC, 1, atreq_t *)
-#define CM_IOCSPTS _IOW (CM_IOC_MAGIC, 2, ptsreq_t *)
-#define CM_IOCSRDR _IO (CM_IOC_MAGIC, 3)
-#define CM_IOCARDOFF _IO (CM_IOC_MAGIC, 4)
-
-#define CM_IOSDBGLVL _IOW(CM_IOC_MAGIC, 250, int*)
-
-/* card and device states */
-#define CM_CARD_INSERTED 0x01
-#define CM_CARD_POWERED 0x02
-#define CM_ATR_PRESENT 0x04
-#define CM_ATR_VALID 0x08
-#define CM_STATE_VALID 0x0f
-/* extra info only from CM4000 */
-#define CM_NO_READER 0x10
-#define CM_BAD_CARD 0x20
-
-
-#endif /* _CM4000_H_ */
diff --git a/linux-headers/include/linux/cn_proc.h b/linux-headers/include/linux/cn_proc.h
deleted file mode 100644
index bf22f5c..0000000
--- a/linux-headers/include/linux/cn_proc.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * cn_proc.h - process events connector
- *
- * Copyright (C) Matt Helsley, IBM Corp. 2005
- * Based on cn_fork.h by Nguyen Anh Quynh and Guillaume Thouvenin
- * Copyright (C) 2005 Nguyen Anh Quynh <aquynh@gmail.com>
- * Copyright (C) 2005 Guillaume Thouvenin <guillaume.thouvenin@bull.net>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2.1 of the GNU Lesser General Public License
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef CN_PROC_H
-#define CN_PROC_H
-
-#include <linux/types.h>
-
-/*
- * Userspace sends this enum to register with the kernel that it is listening
- * for events on the connector.
- */
-enum proc_cn_mcast_op {
- PROC_CN_MCAST_LISTEN = 1,
- PROC_CN_MCAST_IGNORE = 2
-};
-
-/*
- * From the user's point of view, the process
- * ID is the thread group ID and thread ID is the internal
- * kernel "pid". So, fields are assigned as follow:
- *
- * In user space - In kernel space
- *
- * parent process ID = parent->tgid
- * parent thread ID = parent->pid
- * child process ID = child->tgid
- * child thread ID = child->pid
- */
-
-struct proc_event {
- enum what {
- /* Use successive bits so the enums can be used to record
- * sets of events as well
- */
- PROC_EVENT_NONE = 0x00000000,
- PROC_EVENT_FORK = 0x00000001,
- PROC_EVENT_EXEC = 0x00000002,
- PROC_EVENT_UID = 0x00000004,
- PROC_EVENT_GID = 0x00000040,
- PROC_EVENT_SID = 0x00000080,
- PROC_EVENT_PTRACE = 0x00000100,
- PROC_EVENT_COMM = 0x00000200,
- /* "next" should be 0x00000400 */
- /* "last" is the last process event: exit,
- * while "next to last" is coredumping event */
- PROC_EVENT_COREDUMP = 0x40000000,
- PROC_EVENT_EXIT = 0x80000000
- } what;
- __u32 cpu;
- __u64 __attribute__((aligned(8))) timestamp_ns;
- /* Number of nano seconds since system boot */
- union { /* must be last field of proc_event struct */
- struct {
- __u32 err;
- } ack;
-
- struct fork_proc_event {
- __kernel_pid_t parent_pid;
- __kernel_pid_t parent_tgid;
- __kernel_pid_t child_pid;
- __kernel_pid_t child_tgid;
- } fork;
-
- struct exec_proc_event {
- __kernel_pid_t process_pid;
- __kernel_pid_t process_tgid;
- } exec;
-
- struct id_proc_event {
- __kernel_pid_t process_pid;
- __kernel_pid_t process_tgid;
- union {
- __u32 ruid; /* task uid */
- __u32 rgid; /* task gid */
- } r;
- union {
- __u32 euid;
- __u32 egid;
- } e;
- } id;
-
- struct sid_proc_event {
- __kernel_pid_t process_pid;
- __kernel_pid_t process_tgid;
- } sid;
-
- struct ptrace_proc_event {
- __kernel_pid_t process_pid;
- __kernel_pid_t process_tgid;
- __kernel_pid_t tracer_pid;
- __kernel_pid_t tracer_tgid;
- } ptrace;
-
- struct comm_proc_event {
- __kernel_pid_t process_pid;
- __kernel_pid_t process_tgid;
- char comm[16];
- } comm;
-
- struct coredump_proc_event {
- __kernel_pid_t process_pid;
- __kernel_pid_t process_tgid;
- } coredump;
-
- struct exit_proc_event {
- __kernel_pid_t process_pid;
- __kernel_pid_t process_tgid;
- __u32 exit_code, exit_signal;
- } exit;
-
- } event_data;
-};
-
-#endif /* CN_PROC_H */
diff --git a/linux-headers/include/linux/coda.h b/linux-headers/include/linux/coda.h
deleted file mode 100644
index a5e4b99..0000000
--- a/linux-headers/include/linux/coda.h
+++ /dev/null
@@ -1,736 +0,0 @@
-/*
- You may distribute this file under either of the two licenses that
- follow at your discretion.
-*/
-
-/* BLURB lgpl
-
- Coda File System
- Release 5
-
- Copyright (c) 1987-1999 Carnegie Mellon University
- Additional copyrights listed below
-
-This code is distributed "AS IS" without warranty of any kind under
-the terms of the GNU Library General Public Licence Version 2, as
-shown in the file LICENSE, or under the license shown below. The
-technical and financial contributors to Coda are listed in the file
-CREDITS.
-
- Additional copyrights
-*/
-
-/*
-
- Coda: an Experimental Distributed File System
- Release 4.0
-
- Copyright (c) 1987-1999 Carnegie Mellon University
- All Rights Reserved
-
-Permission to use, copy, modify and distribute this software and its
-documentation is hereby granted, provided that both the copyright
-notice and this permission notice appear in all copies of the
-software, derivative works or modified versions, and any portions
-thereof, and that both notices appear in supporting documentation, and
-that credit is given to Carnegie Mellon University in all documents
-and publicity pertaining to direct or indirect use of this code or its
-derivatives.
-
-CODA IS AN EXPERIMENTAL SOFTWARE SYSTEM AND IS KNOWN TO HAVE BUGS,
-SOME OF WHICH MAY HAVE SERIOUS CONSEQUENCES. CARNEGIE MELLON ALLOWS
-FREE USE OF THIS SOFTWARE IN ITS "AS IS" CONDITION. CARNEGIE MELLON
-DISCLAIMS ANY LIABILITY OF ANY KIND FOR ANY DAMAGES WHATSOEVER
-RESULTING DIRECTLY OR INDIRECTLY FROM THE USE OF THIS SOFTWARE OR OF
-ANY DERIVATIVE WORK.
-
-Carnegie Mellon encourages users of this software to return any
-improvements or extensions that they make, and to grant Carnegie
-Mellon the rights to redistribute these changes without encumbrance.
-*/
-
-/*
- *
- * Based on cfs.h from Mach, but revamped for increased simplicity.
- * Linux modifications by
- * Peter Braam, Aug 1996
- */
-
-#ifndef _CODA_HEADER_
-#define _CODA_HEADER_
-
-
-/* Catch new _KERNEL defn for NetBSD and DJGPP/__CYGWIN32__ */
-#if defined(__NetBSD__) || \
- ((defined(DJGPP) || defined(__CYGWIN32__)) && !defined(KERNEL))
-#include <sys/types.h>
-#endif
-
-#ifndef CODA_MAXSYMLINKS
-#define CODA_MAXSYMLINKS 10
-#endif
-
-#if defined(DJGPP) || defined(__CYGWIN32__)
-#ifdef KERNEL
-typedef unsigned long u_long;
-typedef unsigned int u_int;
-typedef unsigned short u_short;
-typedef u_long ino_t;
-typedef u_long dev_t;
-typedef void * caddr_t;
-#ifdef DOS
-typedef unsigned __int64 u_quad_t;
-#else
-typedef unsigned long long u_quad_t;
-#endif
-
-#define __inline__
-
-struct timespec {
- long ts_sec;
- long ts_nsec;
-};
-#else /* DJGPP but not KERNEL */
-#include <sys/time.h>
-typedef unsigned long long u_quad_t;
-#endif /* !KERNEL */
-#endif /* !DJGPP */
-
-
-#if defined(__linux__)
-#include <linux/time.h>
-#define cdev_t u_quad_t
-#if !defined(_UQUAD_T_) && (!defined(__GLIBC__) || __GLIBC__ < 2)
-#define _UQUAD_T_ 1
-typedef unsigned long long u_quad_t;
-#endif
-#else
-#define cdev_t dev_t
-#endif
-
-#ifdef __CYGWIN32__
-struct timespec {
- time_t tv_sec; /* seconds */
- long tv_nsec; /* nanoseconds */
-};
-#endif
-
-#ifndef __BIT_TYPES_DEFINED__
-#define __BIT_TYPES_DEFINED__
-typedef signed char int8_t;
-typedef unsigned char u_int8_t;
-typedef short int16_t;
-typedef unsigned short u_int16_t;
-typedef int int32_t;
-typedef unsigned int u_int32_t;
-#endif
-
-
-/*
- * Cfs constants
- */
-#define CODA_MAXNAMLEN 255
-#define CODA_MAXPATHLEN 1024
-#define CODA_MAXSYMLINK 10
-
-/* these are Coda's version of O_RDONLY etc combinations
- * to deal with VFS open modes
- */
-#define C_O_READ 0x001
-#define C_O_WRITE 0x002
-#define C_O_TRUNC 0x010
-#define C_O_EXCL 0x100
-#define C_O_CREAT 0x200
-
-/* these are to find mode bits in Venus */
-#define C_M_READ 00400
-#define C_M_WRITE 00200
-
-/* for access Venus will use */
-#define C_A_C_OK 8 /* Test for writing upon create. */
-#define C_A_R_OK 4 /* Test for read permission. */
-#define C_A_W_OK 2 /* Test for write permission. */
-#define C_A_X_OK 1 /* Test for execute permission. */
-#define C_A_F_OK 0 /* Test for existence. */
-
-
-
-#ifndef _VENUS_DIRENT_T_
-#define _VENUS_DIRENT_T_ 1
-struct venus_dirent {
- u_int32_t d_fileno; /* file number of entry */
- u_int16_t d_reclen; /* length of this record */
- u_int8_t d_type; /* file type, see below */
- u_int8_t d_namlen; /* length of string in d_name */
- char d_name[CODA_MAXNAMLEN + 1];/* name must be no longer than this */
-};
-#undef DIRSIZ
-#define DIRSIZ(dp) ((sizeof (struct venus_dirent) - (CODA_MAXNAMLEN+1)) + \
- (((dp)->d_namlen+1 + 3) &~ 3))
-
-/*
- * File types
- */
-#define CDT_UNKNOWN 0
-#define CDT_FIFO 1
-#define CDT_CHR 2
-#define CDT_DIR 4
-#define CDT_BLK 6
-#define CDT_REG 8
-#define CDT_LNK 10
-#define CDT_SOCK 12
-#define CDT_WHT 14
-
-/*
- * Convert between stat structure types and directory types.
- */
-#define IFTOCDT(mode) (((mode) & 0170000) >> 12)
-#define CDTTOIF(dirtype) ((dirtype) << 12)
-
-#endif
-
-#ifndef _VUID_T_
-#define _VUID_T_
-typedef u_int32_t vuid_t;
-typedef u_int32_t vgid_t;
-#endif /*_VUID_T_ */
-
-struct CodaFid {
- u_int32_t opaque[4];
-};
-
-#define coda_f2i(fid)\
- (fid ? (fid->opaque[3] ^ (fid->opaque[2]<<10) ^ (fid->opaque[1]<<20) ^ fid->opaque[0]) : 0)
-
-#ifndef _VENUS_VATTR_T_
-#define _VENUS_VATTR_T_
-/*
- * Vnode types. VNON means no type.
- */
-enum coda_vtype { C_VNON, C_VREG, C_VDIR, C_VBLK, C_VCHR, C_VLNK, C_VSOCK, C_VFIFO, C_VBAD };
-
-struct coda_vattr {
- long va_type; /* vnode type (for create) */
- u_short va_mode; /* files access mode and type */
- short va_nlink; /* number of references to file */
- vuid_t va_uid; /* owner user id */
- vgid_t va_gid; /* owner group id */
- long va_fileid; /* file id */
- u_quad_t va_size; /* file size in bytes */
- long va_blocksize; /* blocksize preferred for i/o */
- struct timespec va_atime; /* time of last access */
- struct timespec va_mtime; /* time of last modification */
- struct timespec va_ctime; /* time file changed */
- u_long va_gen; /* generation number of file */
- u_long va_flags; /* flags defined for file */
- cdev_t va_rdev; /* device special file represents */
- u_quad_t va_bytes; /* bytes of disk space held by file */
- u_quad_t va_filerev; /* file modification number */
-};
-
-#endif
-
-/* structure used by CODA_STATFS for getting cache information from venus */
-struct coda_statfs {
- int32_t f_blocks;
- int32_t f_bfree;
- int32_t f_bavail;
- int32_t f_files;
- int32_t f_ffree;
-};
-
-/*
- * Kernel <--> Venus communications.
- */
-
-#define CODA_ROOT 2
-#define CODA_OPEN_BY_FD 3
-#define CODA_OPEN 4
-#define CODA_CLOSE 5
-#define CODA_IOCTL 6
-#define CODA_GETATTR 7
-#define CODA_SETATTR 8
-#define CODA_ACCESS 9
-#define CODA_LOOKUP 10
-#define CODA_CREATE 11
-#define CODA_REMOVE 12
-#define CODA_LINK 13
-#define CODA_RENAME 14
-#define CODA_MKDIR 15
-#define CODA_RMDIR 16
-#define CODA_SYMLINK 18
-#define CODA_READLINK 19
-#define CODA_FSYNC 20
-#define CODA_VGET 22
-#define CODA_SIGNAL 23
-#define CODA_REPLACE 24 /* DOWNCALL */
-#define CODA_FLUSH 25 /* DOWNCALL */
-#define CODA_PURGEUSER 26 /* DOWNCALL */
-#define CODA_ZAPFILE 27 /* DOWNCALL */
-#define CODA_ZAPDIR 28 /* DOWNCALL */
-#define CODA_PURGEFID 30 /* DOWNCALL */
-#define CODA_OPEN_BY_PATH 31
-#define CODA_RESOLVE 32
-#define CODA_REINTEGRATE 33
-#define CODA_STATFS 34
-#define CODA_STORE 35
-#define CODA_RELEASE 36
-#define CODA_NCALLS 37
-
-#define DOWNCALL(opcode) (opcode >= CODA_REPLACE && opcode <= CODA_PURGEFID)
-
-#define VC_MAXDATASIZE 8192
-#define VC_MAXMSGSIZE sizeof(union inputArgs)+sizeof(union outputArgs) +\
- VC_MAXDATASIZE
-
-#define CIOC_KERNEL_VERSION _IOWR('c', 10, size_t)
-
-#define CODA_KERNEL_VERSION 3 /* 128-bit file identifiers */
-
-/*
- * Venus <-> Coda RPC arguments
- */
-struct coda_in_hdr {
- u_int32_t opcode;
- u_int32_t unique; /* Keep multiple outstanding msgs distinct */
- pid_t pid;
- pid_t pgid;
- vuid_t uid;
-};
-
-/* Really important that opcode and unique are 1st two fields! */
-struct coda_out_hdr {
- u_int32_t opcode;
- u_int32_t unique;
- u_int32_t result;
-};
-
-/* coda_root: NO_IN */
-struct coda_root_out {
- struct coda_out_hdr oh;
- struct CodaFid VFid;
-};
-
-struct coda_root_in {
- struct coda_in_hdr in;
-};
-
-/* coda_open: */
-struct coda_open_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int flags;
-};
-
-struct coda_open_out {
- struct coda_out_hdr oh;
- cdev_t dev;
- ino_t inode;
-};
-
-
-/* coda_store: */
-struct coda_store_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int flags;
-};
-
-struct coda_store_out {
- struct coda_out_hdr out;
-};
-
-/* coda_release: */
-struct coda_release_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int flags;
-};
-
-struct coda_release_out {
- struct coda_out_hdr out;
-};
-
-/* coda_close: */
-struct coda_close_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int flags;
-};
-
-struct coda_close_out {
- struct coda_out_hdr out;
-};
-
-/* coda_ioctl: */
-struct coda_ioctl_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int cmd;
- int len;
- int rwflag;
- char *data; /* Place holder for data. */
-};
-
-struct coda_ioctl_out {
- struct coda_out_hdr oh;
- int len;
- caddr_t data; /* Place holder for data. */
-};
-
-
-/* coda_getattr: */
-struct coda_getattr_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
-};
-
-struct coda_getattr_out {
- struct coda_out_hdr oh;
- struct coda_vattr attr;
-};
-
-
-/* coda_setattr: NO_OUT */
-struct coda_setattr_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- struct coda_vattr attr;
-};
-
-struct coda_setattr_out {
- struct coda_out_hdr out;
-};
-
-/* coda_access: NO_OUT */
-struct coda_access_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int flags;
-};
-
-struct coda_access_out {
- struct coda_out_hdr out;
-};
-
-
-/* lookup flags */
-#define CLU_CASE_SENSITIVE 0x01
-#define CLU_CASE_INSENSITIVE 0x02
-
-/* coda_lookup: */
-struct coda_lookup_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int name; /* Place holder for data. */
- int flags;
-};
-
-struct coda_lookup_out {
- struct coda_out_hdr oh;
- struct CodaFid VFid;
- int vtype;
-};
-
-
-/* coda_create: */
-struct coda_create_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- struct coda_vattr attr;
- int excl;
- int mode;
- int name; /* Place holder for data. */
-};
-
-struct coda_create_out {
- struct coda_out_hdr oh;
- struct CodaFid VFid;
- struct coda_vattr attr;
-};
-
-
-/* coda_remove: NO_OUT */
-struct coda_remove_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int name; /* Place holder for data. */
-};
-
-struct coda_remove_out {
- struct coda_out_hdr out;
-};
-
-/* coda_link: NO_OUT */
-struct coda_link_in {
- struct coda_in_hdr ih;
- struct CodaFid sourceFid; /* cnode to link *to* */
- struct CodaFid destFid; /* Directory in which to place link */
- int tname; /* Place holder for data. */
-};
-
-struct coda_link_out {
- struct coda_out_hdr out;
-};
-
-
-/* coda_rename: NO_OUT */
-struct coda_rename_in {
- struct coda_in_hdr ih;
- struct CodaFid sourceFid;
- int srcname;
- struct CodaFid destFid;
- int destname;
-};
-
-struct coda_rename_out {
- struct coda_out_hdr out;
-};
-
-/* coda_mkdir: */
-struct coda_mkdir_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- struct coda_vattr attr;
- int name; /* Place holder for data. */
-};
-
-struct coda_mkdir_out {
- struct coda_out_hdr oh;
- struct CodaFid VFid;
- struct coda_vattr attr;
-};
-
-
-/* coda_rmdir: NO_OUT */
-struct coda_rmdir_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int name; /* Place holder for data. */
-};
-
-struct coda_rmdir_out {
- struct coda_out_hdr out;
-};
-
-/* coda_symlink: NO_OUT */
-struct coda_symlink_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid; /* Directory to put symlink in */
- int srcname;
- struct coda_vattr attr;
- int tname;
-};
-
-struct coda_symlink_out {
- struct coda_out_hdr out;
-};
-
-/* coda_readlink: */
-struct coda_readlink_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
-};
-
-struct coda_readlink_out {
- struct coda_out_hdr oh;
- int count;
- caddr_t data; /* Place holder for data. */
-};
-
-
-/* coda_fsync: NO_OUT */
-struct coda_fsync_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
-};
-
-struct coda_fsync_out {
- struct coda_out_hdr out;
-};
-
-/* coda_vget: */
-struct coda_vget_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
-};
-
-struct coda_vget_out {
- struct coda_out_hdr oh;
- struct CodaFid VFid;
- int vtype;
-};
-
-
-/* CODA_SIGNAL is out-of-band, doesn't need data. */
-/* CODA_INVALIDATE is a venus->kernel call */
-/* CODA_FLUSH is a venus->kernel call */
-
-/* coda_purgeuser: */
-/* CODA_PURGEUSER is a venus->kernel call */
-struct coda_purgeuser_out {
- struct coda_out_hdr oh;
- vuid_t uid;
-};
-
-/* coda_zapfile: */
-/* CODA_ZAPFILE is a venus->kernel call */
-struct coda_zapfile_out {
- struct coda_out_hdr oh;
- struct CodaFid CodaFid;
-};
-
-/* coda_zapdir: */
-/* CODA_ZAPDIR is a venus->kernel call */
-struct coda_zapdir_out {
- struct coda_out_hdr oh;
- struct CodaFid CodaFid;
-};
-
-/* coda_purgefid: */
-/* CODA_PURGEFID is a venus->kernel call */
-struct coda_purgefid_out {
- struct coda_out_hdr oh;
- struct CodaFid CodaFid;
-};
-
-/* coda_replace: */
-/* CODA_REPLACE is a venus->kernel call */
-struct coda_replace_out { /* coda_replace is a venus->kernel call */
- struct coda_out_hdr oh;
- struct CodaFid NewFid;
- struct CodaFid OldFid;
-};
-
-/* coda_open_by_fd: */
-struct coda_open_by_fd_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int flags;
-};
-
-struct coda_open_by_fd_out {
- struct coda_out_hdr oh;
- int fd;
-
-};
-
-/* coda_open_by_path: */
-struct coda_open_by_path_in {
- struct coda_in_hdr ih;
- struct CodaFid VFid;
- int flags;
-};
-
-struct coda_open_by_path_out {
- struct coda_out_hdr oh;
- int path;
-};
-
-/* coda_statfs: NO_IN */
-struct coda_statfs_in {
- struct coda_in_hdr in;
-};
-
-struct coda_statfs_out {
- struct coda_out_hdr oh;
- struct coda_statfs stat;
-};
-
-/*
- * Occasionally, we don't cache the fid returned by CODA_LOOKUP.
- * For instance, if the fid is inconsistent.
- * This case is handled by setting the top bit of the type result parameter.
- */
-#define CODA_NOCACHE 0x80000000
-
-union inputArgs {
- struct coda_in_hdr ih; /* NB: every struct below begins with an ih */
- struct coda_open_in coda_open;
- struct coda_store_in coda_store;
- struct coda_release_in coda_release;
- struct coda_close_in coda_close;
- struct coda_ioctl_in coda_ioctl;
- struct coda_getattr_in coda_getattr;
- struct coda_setattr_in coda_setattr;
- struct coda_access_in coda_access;
- struct coda_lookup_in coda_lookup;
- struct coda_create_in coda_create;
- struct coda_remove_in coda_remove;
- struct coda_link_in coda_link;
- struct coda_rename_in coda_rename;
- struct coda_mkdir_in coda_mkdir;
- struct coda_rmdir_in coda_rmdir;
- struct coda_symlink_in coda_symlink;
- struct coda_readlink_in coda_readlink;
- struct coda_fsync_in coda_fsync;
- struct coda_vget_in coda_vget;
- struct coda_open_by_fd_in coda_open_by_fd;
- struct coda_open_by_path_in coda_open_by_path;
- struct coda_statfs_in coda_statfs;
-};
-
-union outputArgs {
- struct coda_out_hdr oh; /* NB: every struct below begins with an oh */
- struct coda_root_out coda_root;
- struct coda_open_out coda_open;
- struct coda_ioctl_out coda_ioctl;
- struct coda_getattr_out coda_getattr;
- struct coda_lookup_out coda_lookup;
- struct coda_create_out coda_create;
- struct coda_mkdir_out coda_mkdir;
- struct coda_readlink_out coda_readlink;
- struct coda_vget_out coda_vget;
- struct coda_purgeuser_out coda_purgeuser;
- struct coda_zapfile_out coda_zapfile;
- struct coda_zapdir_out coda_zapdir;
- struct coda_purgefid_out coda_purgefid;
- struct coda_replace_out coda_replace;
- struct coda_open_by_fd_out coda_open_by_fd;
- struct coda_open_by_path_out coda_open_by_path;
- struct coda_statfs_out coda_statfs;
-};
-
-union coda_downcalls {
- /* CODA_INVALIDATE is a venus->kernel call */
- /* CODA_FLUSH is a venus->kernel call */
- struct coda_purgeuser_out purgeuser;
- struct coda_zapfile_out zapfile;
- struct coda_zapdir_out zapdir;
- struct coda_purgefid_out purgefid;
- struct coda_replace_out replace;
-};
-
-
-/*
- * Used for identifying usage of "Control" and pioctls
- */
-
-#define PIOCPARM_MASK 0x0000ffff
-struct ViceIoctl {
- void *in; /* Data to be transferred in */
- void *out; /* Data to be transferred out */
- u_short in_size; /* Size of input buffer <= 2K */
- u_short out_size; /* Maximum size of output buffer, <= 2K */
-};
-
-struct PioctlData {
- const char *path;
- int follow;
- struct ViceIoctl vi;
-};
-
-#define CODA_CONTROL ".CONTROL"
-#define CODA_CONTROLLEN 8
-#define CTL_INO -1
-
-/* Data passed to mount */
-
-#define CODA_MOUNT_VERSION 1
-
-struct coda_mount_data {
- int version;
- int fd; /* Opened device */
-};
-
-#endif /* _CODA_HEADER_ */
diff --git a/linux-headers/include/linux/coda_psdev.h b/linux-headers/include/linux/coda_psdev.h
deleted file mode 100644
index 46e12d8..0000000
--- a/linux-headers/include/linux/coda_psdev.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef __CODA_PSDEV_H
-#define __CODA_PSDEV_H
-
-#include <linux/magic.h>
-
-#define CODA_PSDEV_MAJOR 67
-#define MAX_CODADEVS 5 /* how many do we allow */
-
-
-/* messages between coda filesystem in kernel and Venus */
-struct upc_req {
- struct list_head uc_chain;
- caddr_t uc_data;
- u_short uc_flags;
- u_short uc_inSize; /* Size is at most 5000 bytes */
- u_short uc_outSize;
- u_short uc_opcode; /* copied from data to save lookup */
- int uc_unique;
- wait_queue_head_t uc_sleep; /* process' wait queue */
-};
-
-#define CODA_REQ_ASYNC 0x1
-#define CODA_REQ_READ 0x2
-#define CODA_REQ_WRITE 0x4
-#define CODA_REQ_ABORT 0x8
-
-#endif /* __CODA_PSDEV_H */
diff --git a/linux-headers/include/linux/coff.h b/linux-headers/include/linux/coff.h
deleted file mode 100644
index 6354a7f..0000000
--- a/linux-headers/include/linux/coff.h
+++ /dev/null
@@ -1,351 +0,0 @@
-/* This file is derived from the GAS 2.1.4 assembler control file.
- The GAS product is under the GNU General Public License, version 2 or later.
- As such, this file is also under that license.
-
- If the file format changes in the COFF object, this file should be
- subsequently updated to reflect the changes.
-
- The actual loader module only uses a few of these structures. The full
- set is documented here because I received the full set. If you wish
- more information about COFF, then O'Reilly has a very excellent book.
-*/
-
-#define E_SYMNMLEN 8 /* Number of characters in a symbol name */
-#define E_FILNMLEN 14 /* Number of characters in a file name */
-#define E_DIMNUM 4 /* Number of array dimensions in auxiliary entry */
-
-/*
- * These defines are byte order independent. There is no alignment of fields
- * permitted in the structures. Therefore they are declared as characters
- * and the values loaded from the character positions. It also makes it
- * nice to have it "endian" independent.
- */
-
-/* Load a short int from the following tables with little-endian formats */
-#define COFF_SHORT_L(ps) ((short)(((unsigned short)((unsigned char)ps[1])<<8)|\
- ((unsigned short)((unsigned char)ps[0]))))
-
-/* Load a long int from the following tables with little-endian formats */
-#define COFF_LONG_L(ps) (((long)(((unsigned long)((unsigned char)ps[3])<<24) |\
- ((unsigned long)((unsigned char)ps[2])<<16) |\
- ((unsigned long)((unsigned char)ps[1])<<8) |\
- ((unsigned long)((unsigned char)ps[0])))))
-
-/* Load a short int from the following tables with big-endian formats */
-#define COFF_SHORT_H(ps) ((short)(((unsigned short)((unsigned char)ps[0])<<8)|\
- ((unsigned short)((unsigned char)ps[1]))))
-
-/* Load a long int from the following tables with big-endian formats */
-#define COFF_LONG_H(ps) (((long)(((unsigned long)((unsigned char)ps[0])<<24) |\
- ((unsigned long)((unsigned char)ps[1])<<16) |\
- ((unsigned long)((unsigned char)ps[2])<<8) |\
- ((unsigned long)((unsigned char)ps[3])))))
-
-/* These may be overridden later by brain dead implementations which generate
- a big-endian header with little-endian data. In that case, generate a
- replacement macro which tests a flag and uses either of the two above
- as appropriate. */
-
-#define COFF_LONG(v) COFF_LONG_L(v)
-#define COFF_SHORT(v) COFF_SHORT_L(v)
-
-/*** coff information for Intel 386/486. */
-
-/********************** FILE HEADER **********************/
-
-struct COFF_filehdr {
- char f_magic[2]; /* magic number */
- char f_nscns[2]; /* number of sections */
- char f_timdat[4]; /* time & date stamp */
- char f_symptr[4]; /* file pointer to symtab */
- char f_nsyms[4]; /* number of symtab entries */
- char f_opthdr[2]; /* sizeof(optional hdr) */
- char f_flags[2]; /* flags */
-};
-
-/*
- * Bits for f_flags:
- *
- * F_RELFLG relocation info stripped from file
- * F_EXEC file is executable (i.e. no unresolved external
- * references)
- * F_LNNO line numbers stripped from file
- * F_LSYMS local symbols stripped from file
- * F_MINMAL this is a minimal object file (".m") output of fextract
- * F_UPDATE this is a fully bound update file, output of ogen
- * F_SWABD this file has had its bytes swabbed (in names)
- * F_AR16WR this file has the byte ordering of an AR16WR
- * (e.g. 11/70) machine
- * F_AR32WR this file has the byte ordering of an AR32WR machine
- * (e.g. vax and iNTEL 386)
- * F_AR32W this file has the byte ordering of an AR32W machine
- * (e.g. 3b,maxi)
- * F_PATCH file contains "patch" list in optional header
- * F_NODF (minimal file only) no decision functions for
- * replaced functions
- */
-
-#define COFF_F_RELFLG 0000001
-#define COFF_F_EXEC 0000002
-#define COFF_F_LNNO 0000004
-#define COFF_F_LSYMS 0000010
-#define COFF_F_MINMAL 0000020
-#define COFF_F_UPDATE 0000040
-#define COFF_F_SWABD 0000100
-#define COFF_F_AR16WR 0000200
-#define COFF_F_AR32WR 0000400
-#define COFF_F_AR32W 0001000
-#define COFF_F_PATCH 0002000
-#define COFF_F_NODF 0002000
-
-#define COFF_I386MAGIC 0x14c /* Linux's system */
-
-#if 0 /* Perhaps, someday, these formats may be used. */
-#define COFF_I386PTXMAGIC 0x154
-#define COFF_I386AIXMAGIC 0x175 /* IBM's AIX system */
-#define COFF_I386BADMAG(x) ((COFF_SHORT((x).f_magic) != COFF_I386MAGIC) \
- && COFF_SHORT((x).f_magic) != COFF_I386PTXMAGIC \
- && COFF_SHORT((x).f_magic) != COFF_I386AIXMAGIC)
-#else
-#define COFF_I386BADMAG(x) (COFF_SHORT((x).f_magic) != COFF_I386MAGIC)
-#endif
-
-#define COFF_FILHDR struct COFF_filehdr
-#define COFF_FILHSZ sizeof(COFF_FILHDR)
-
-/********************** AOUT "OPTIONAL HEADER" **********************/
-
-/* Linux COFF must have this "optional" header. Standard COFF has no entry
- location for the "entry" point. They normally would start with the first
- location of the .text section. This is not a good idea for linux. So,
- the use of this "optional" header is not optional. It is required.
-
- Do not be tempted to assume that the size of the optional header is
- a constant and simply index the next byte by the size of this structure.
- Use the 'f_opthdr' field in the main coff header for the size of the
- structure actually written to the file!!
-*/
-
-typedef struct
-{
- char magic[2]; /* type of file */
- char vstamp[2]; /* version stamp */
- char tsize[4]; /* text size in bytes, padded to FW bdry */
- char dsize[4]; /* initialized data " " */
- char bsize[4]; /* uninitialized data " " */
- char entry[4]; /* entry pt. */
- char text_start[4]; /* base of text used for this file */
- char data_start[4]; /* base of data used for this file */
-}
-COFF_AOUTHDR;
-
-#define COFF_AOUTSZ (sizeof(COFF_AOUTHDR))
-
-#define COFF_STMAGIC 0401
-#define COFF_OMAGIC 0404
-#define COFF_JMAGIC 0407 /* dirty text and data image, can't share */
-#define COFF_DMAGIC 0410 /* dirty text segment, data aligned */
-#define COFF_ZMAGIC 0413 /* The proper magic number for executables */
-#define COFF_SHMAGIC 0443 /* shared library header */
-
-/********************** SECTION HEADER **********************/
-
-struct COFF_scnhdr {
- char s_name[8]; /* section name */
- char s_paddr[4]; /* physical address, aliased s_nlib */
- char s_vaddr[4]; /* virtual address */
- char s_size[4]; /* section size */
- char s_scnptr[4]; /* file ptr to raw data for section */
- char s_relptr[4]; /* file ptr to relocation */
- char s_lnnoptr[4]; /* file ptr to line numbers */
- char s_nreloc[2]; /* number of relocation entries */
- char s_nlnno[2]; /* number of line number entries */
- char s_flags[4]; /* flags */
-};
-
-#define COFF_SCNHDR struct COFF_scnhdr
-#define COFF_SCNHSZ sizeof(COFF_SCNHDR)
-
-/*
- * names of "special" sections
- */
-
-#define COFF_TEXT ".text"
-#define COFF_DATA ".data"
-#define COFF_BSS ".bss"
-#define COFF_COMMENT ".comment"
-#define COFF_LIB ".lib"
-
-#define COFF_SECT_TEXT 0 /* Section for instruction code */
-#define COFF_SECT_DATA 1 /* Section for initialized globals */
-#define COFF_SECT_BSS 2 /* Section for un-initialized globals */
-#define COFF_SECT_REQD 3 /* Minimum number of sections for good file */
-
-#define COFF_STYP_REG 0x00 /* regular segment */
-#define COFF_STYP_DSECT 0x01 /* dummy segment */
-#define COFF_STYP_NOLOAD 0x02 /* no-load segment */
-#define COFF_STYP_GROUP 0x04 /* group segment */
-#define COFF_STYP_PAD 0x08 /* .pad segment */
-#define COFF_STYP_COPY 0x10 /* copy section */
-#define COFF_STYP_TEXT 0x20 /* .text segment */
-#define COFF_STYP_DATA 0x40 /* .data segment */
-#define COFF_STYP_BSS 0x80 /* .bss segment */
-#define COFF_STYP_INFO 0x200 /* .comment section */
-#define COFF_STYP_OVER 0x400 /* overlay section */
-#define COFF_STYP_LIB 0x800 /* library section */
-
-/*
- * Shared libraries have the following section header in the data field for
- * each library.
- */
-
-struct COFF_slib {
- char sl_entsz[4]; /* Size of this entry */
- char sl_pathndx[4]; /* size of the header field */
-};
-
-#define COFF_SLIBHD struct COFF_slib
-#define COFF_SLIBSZ sizeof(COFF_SLIBHD)
-
-/********************** LINE NUMBERS **********************/
-
-/* 1 line number entry for every "breakpointable" source line in a section.
- * Line numbers are grouped on a per function basis; first entry in a function
- * grouping will have l_lnno = 0 and in place of physical address will be the
- * symbol table index of the function name.
- */
-
-struct COFF_lineno {
- union {
- char l_symndx[4]; /* function name symbol index, iff l_lnno == 0*/
- char l_paddr[4]; /* (physical) address of line number */
- } l_addr;
- char l_lnno[2]; /* line number */
-};
-
-#define COFF_LINENO struct COFF_lineno
-#define COFF_LINESZ 6
-
-/********************** SYMBOLS **********************/
-
-#define COFF_E_SYMNMLEN 8 /* # characters in a short symbol name */
-#define COFF_E_FILNMLEN 14 /* # characters in a file name */
-#define COFF_E_DIMNUM 4 /* # array dimensions in auxiliary entry */
-
-/*
- * All symbols and sections have the following definition
- */
-
-struct COFF_syment
-{
- union {
- char e_name[E_SYMNMLEN]; /* Symbol name (first 8 characters) */
- struct {
- char e_zeroes[4]; /* Leading zeros */
- char e_offset[4]; /* Offset if this is a header section */
- } e;
- } e;
-
- char e_value[4]; /* Value (address) of the segment */
- char e_scnum[2]; /* Section number */
- char e_type[2]; /* Type of section */
- char e_sclass[1]; /* Loader class */
- char e_numaux[1]; /* Number of auxiliary entries which follow */
-};
-
-#define COFF_N_BTMASK (0xf) /* Mask for important class bits */
-#define COFF_N_TMASK (0x30) /* Mask for important type bits */
-#define COFF_N_BTSHFT (4) /* # bits to shift class field */
-#define COFF_N_TSHIFT (2) /* # bits to shift type field */
-
-/*
- * Auxiliary entries because the main table is too limiting.
- */
-
-union COFF_auxent {
-
-/*
- * Debugger information
- */
-
- struct {
- char x_tagndx[4]; /* str, un, or enum tag indx */
- union {
- struct {
- char x_lnno[2]; /* declaration line number */
- char x_size[2]; /* str/union/array size */
- } x_lnsz;
- char x_fsize[4]; /* size of function */
- } x_misc;
-
- union {
- struct { /* if ISFCN, tag, or .bb */
- char x_lnnoptr[4]; /* ptr to fcn line # */
- char x_endndx[4]; /* entry ndx past block end */
- } x_fcn;
-
- struct { /* if ISARY, up to 4 dimen. */
- char x_dimen[E_DIMNUM][2];
- } x_ary;
- } x_fcnary;
-
- char x_tvndx[2]; /* tv index */
- } x_sym;
-
-/*
- * Source file names (debugger information)
- */
-
- union {
- char x_fname[E_FILNMLEN];
- struct {
- char x_zeroes[4];
- char x_offset[4];
- } x_n;
- } x_file;
-
-/*
- * Section information
- */
-
- struct {
- char x_scnlen[4]; /* section length */
- char x_nreloc[2]; /* # relocation entries */
- char x_nlinno[2]; /* # line numbers */
- } x_scn;
-
-/*
- * Transfer vector (branch table)
- */
-
- struct {
- char x_tvfill[4]; /* tv fill value */
- char x_tvlen[2]; /* length of .tv */
- char x_tvran[2][2]; /* tv range */
- } x_tv; /* info about .tv section (in auxent of symbol .tv)) */
-};
-
-#define COFF_SYMENT struct COFF_syment
-#define COFF_SYMESZ 18
-#define COFF_AUXENT union COFF_auxent
-#define COFF_AUXESZ 18
-
-#define COFF_ETEXT "etext"
-
-/********************** RELOCATION DIRECTIVES **********************/
-
-struct COFF_reloc {
- char r_vaddr[4]; /* Virtual address of item */
- char r_symndx[4]; /* Symbol index in the symtab */
- char r_type[2]; /* Relocation type */
-};
-
-#define COFF_RELOC struct COFF_reloc
-#define COFF_RELSZ 10
-
-#define COFF_DEF_DATA_SECTION_ALIGNMENT 4
-#define COFF_DEF_BSS_SECTION_ALIGNMENT 4
-#define COFF_DEF_TEXT_SECTION_ALIGNMENT 4
-
-/* For new sections we haven't heard of before */
-#define COFF_DEF_SECTION_ALIGNMENT 4
diff --git a/linux-headers/include/linux/connector.h b/linux-headers/include/linux/connector.h
deleted file mode 100644
index caf9468..0000000
--- a/linux-headers/include/linux/connector.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * connector.h
- *
- * 2004-2005 Copyright (c) Evgeniy Polyakov <zbr@ioremap.net>
- * All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef __CONNECTOR_H
-#define __CONNECTOR_H
-
-#include <linux/types.h>
-
-/*
- * Process Events connector unique ids -- used for message routing
- */
-#define CN_IDX_PROC 0x1
-#define CN_VAL_PROC 0x1
-#define CN_IDX_CIFS 0x2
-#define CN_VAL_CIFS 0x1
-#define CN_W1_IDX 0x3 /* w1 communication */
-#define CN_W1_VAL 0x1
-#define CN_IDX_V86D 0x4
-#define CN_VAL_V86D_UVESAFB 0x1
-#define CN_IDX_BB 0x5 /* BlackBoard, from the TSP GPL sampling framework */
-#define CN_DST_IDX 0x6
-#define CN_DST_VAL 0x1
-#define CN_IDX_DM 0x7 /* Device Mapper */
-#define CN_VAL_DM_USERSPACE_LOG 0x1
-#define CN_IDX_DRBD 0x8
-#define CN_VAL_DRBD 0x1
-#define CN_KVP_IDX 0x9 /* HyperV KVP */
-#define CN_KVP_VAL 0x1 /* queries from the kernel */
-#define CN_VSS_IDX 0xA /* HyperV VSS */
-#define CN_VSS_VAL 0x1 /* queries from the kernel */
-
-
-#define CN_NETLINK_USERS 11 /* Highest index + 1 */
-
-/*
- * Maximum connector's message size.
- */
-#define CONNECTOR_MAX_MSG_SIZE 16384
-
-/*
- * idx and val are unique identifiers which
- * are used for message routing and
- * must be registered in connector.h for in-kernel usage.
- */
-
-struct cb_id {
- __u32 idx;
- __u32 val;
-};
-
-struct cn_msg {
- struct cb_id id;
-
- __u32 seq;
- __u32 ack;
-
- __u16 len; /* Length of the following data */
- __u16 flags;
- __u8 data[0];
-};
-
-#endif /* __CONNECTOR_H */
diff --git a/linux-headers/include/linux/const.h b/linux-headers/include/linux/const.h
deleted file mode 100644
index c872bfd..0000000
--- a/linux-headers/include/linux/const.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/* const.h: Macros for dealing with constants. */
-
-#ifndef _LINUX_CONST_H
-#define _LINUX_CONST_H
-
-/* Some constant macros are used in both assembler and
- * C code. Therefore we cannot annotate them always with
- * 'UL' and other type specifiers unilaterally. We
- * use the following macros to deal with this.
- *
- * Similarly, _AT() will cast an expression with a type in C, but
- * leave it unchanged in asm.
- */
-
-#ifdef __ASSEMBLY__
-#define _AC(X,Y) X
-#define _AT(T,X) X
-#else
-#define __AC(X,Y) (X##Y)
-#define _AC(X,Y) __AC(X,Y)
-#define _AT(T,X) ((T)(X))
-#endif
-
-#define _BITUL(x) (_AC(1,UL) << (x))
-#define _BITULL(x) (_AC(1,ULL) << (x))
-
-#endif /* !(_LINUX_CONST_H) */
diff --git a/linux-headers/include/linux/cramfs_fs.h b/linux-headers/include/linux/cramfs_fs.h
deleted file mode 100644
index 9cada1a..0000000
--- a/linux-headers/include/linux/cramfs_fs.h
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef __CRAMFS_H
-#define __CRAMFS_H
-
-#include <linux/types.h>
-#include <linux/magic.h>
-
-#define CRAMFS_SIGNATURE "Compressed ROMFS"
-
-/*
- * Width of various bitfields in struct cramfs_inode.
- * Primarily used to generate warnings in mkcramfs.
- */
-#define CRAMFS_MODE_WIDTH 16
-#define CRAMFS_UID_WIDTH 16
-#define CRAMFS_SIZE_WIDTH 24
-#define CRAMFS_GID_WIDTH 8
-#define CRAMFS_NAMELEN_WIDTH 6
-#define CRAMFS_OFFSET_WIDTH 26
-
-/*
- * Since inode.namelen is a unsigned 6-bit number, the maximum cramfs
- * path length is 63 << 2 = 252.
- */
-#define CRAMFS_MAXPATHLEN (((1 << CRAMFS_NAMELEN_WIDTH) - 1) << 2)
-
-/*
- * Reasonably terse representation of the inode data.
- */
-struct cramfs_inode {
- __u32 mode:CRAMFS_MODE_WIDTH, uid:CRAMFS_UID_WIDTH;
- /* SIZE for device files is i_rdev */
- __u32 size:CRAMFS_SIZE_WIDTH, gid:CRAMFS_GID_WIDTH;
- /* NAMELEN is the length of the file name, divided by 4 and
- rounded up. (cramfs doesn't support hard links.) */
- /* OFFSET: For symlinks and non-empty regular files, this
- contains the offset (divided by 4) of the file data in
- compressed form (starting with an array of block pointers;
- see README). For non-empty directories it is the offset
- (divided by 4) of the inode of the first file in that
- directory. For anything else, offset is zero. */
- __u32 namelen:CRAMFS_NAMELEN_WIDTH, offset:CRAMFS_OFFSET_WIDTH;
-};
-
-struct cramfs_info {
- __u32 crc;
- __u32 edition;
- __u32 blocks;
- __u32 files;
-};
-
-/*
- * Superblock information at the beginning of the FS.
- */
-struct cramfs_super {
- __u32 magic; /* 0x28cd3d45 - random number */
- __u32 size; /* length in bytes */
- __u32 flags; /* feature flags */
- __u32 future; /* reserved for future use */
- __u8 signature[16]; /* "Compressed ROMFS" */
- struct cramfs_info fsid; /* unique filesystem info */
- __u8 name[16]; /* user-defined name */
- struct cramfs_inode root; /* root inode data */
-};
-
-/*
- * Feature flags
- *
- * 0x00000000 - 0x000000ff: features that work for all past kernels
- * 0x00000100 - 0xffffffff: features that don't work for past kernels
- */
-#define CRAMFS_FLAG_FSID_VERSION_2 0x00000001 /* fsid version #2 */
-#define CRAMFS_FLAG_SORTED_DIRS 0x00000002 /* sorted dirs */
-#define CRAMFS_FLAG_HOLES 0x00000100 /* support for holes */
-#define CRAMFS_FLAG_WRONG_SIGNATURE 0x00000200 /* reserved */
-#define CRAMFS_FLAG_SHIFTED_ROOT_OFFSET 0x00000400 /* shifted root fs */
-
-/*
- * Valid values in super.flags. Currently we refuse to mount
- * if (flags & ~CRAMFS_SUPPORTED_FLAGS). Maybe that should be
- * changed to test super.future instead.
- */
-#define CRAMFS_SUPPORTED_FLAGS ( 0x000000ff \
- | CRAMFS_FLAG_HOLES \
- | CRAMFS_FLAG_WRONG_SIGNATURE \
- | CRAMFS_FLAG_SHIFTED_ROOT_OFFSET )
-
-
-#endif /* __CRAMFS_H */
diff --git a/linux-headers/include/linux/cuda.h b/linux-headers/include/linux/cuda.h
deleted file mode 100644
index 83d9f93..0000000
--- a/linux-headers/include/linux/cuda.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Definitions for talking to the CUDA. The CUDA is a microcontroller
- * which controls the ADB, system power, RTC, and various other things.
- *
- * Copyright (C) 1996 Paul Mackerras.
- */
-
-#ifndef _LINUX_CUDA_H
-#define _LINUX_CUDA_H
-
-/* CUDA commands (2nd byte) */
-#define CUDA_WARM_START 0
-#define CUDA_AUTOPOLL 1
-#define CUDA_GET_6805_ADDR 2
-#define CUDA_GET_TIME 3
-#define CUDA_GET_PRAM 7
-#define CUDA_SET_6805_ADDR 8
-#define CUDA_SET_TIME 9
-#define CUDA_POWERDOWN 0xa
-#define CUDA_POWERUP_TIME 0xb
-#define CUDA_SET_PRAM 0xc
-#define CUDA_MS_RESET 0xd
-#define CUDA_SEND_DFAC 0xe
-#define CUDA_RESET_SYSTEM 0x11
-#define CUDA_SET_IPL 0x12
-#define CUDA_SET_AUTO_RATE 0x14
-#define CUDA_GET_AUTO_RATE 0x16
-#define CUDA_SET_DEVICE_LIST 0x19
-#define CUDA_GET_DEVICE_LIST 0x1a
-#define CUDA_GET_SET_IIC 0x22
-
-
-#endif /* _LINUX_CUDA_H */
diff --git a/linux-headers/include/linux/cyclades.h b/linux-headers/include/linux/cyclades.h
deleted file mode 100644
index 145e3c8..0000000
--- a/linux-headers/include/linux/cyclades.h
+++ /dev/null
@@ -1,493 +0,0 @@
-/* $Revision: 3.0 $$Date: 1998/11/02 14:20:59 $
- * linux/include/linux/cyclades.h
- *
- * This file was initially written by
- * Randolph Bentson <bentson@grieg.seaslug.org> and is maintained by
- * Ivan Passos <ivan@cyclades.com>.
- *
- * This file contains the general definitions for the cyclades.c driver
- *$Log: cyclades.h,v $
- *Revision 3.1 2002/01/29 11:36:16 henrique
- *added throttle field on struct cyclades_port to indicate whether the
- *port is throttled or not
- *
- *Revision 3.1 2000/04/19 18:52:52 ivan
- *converted address fields to unsigned long and added fields for physical
- *addresses on cyclades_card structure;
- *
- *Revision 3.0 1998/11/02 14:20:59 ivan
- *added nports field on cyclades_card structure;
- *
- *Revision 2.5 1998/08/03 16:57:01 ivan
- *added cyclades_idle_stats structure;
- *
- *Revision 2.4 1998/06/01 12:09:53 ivan
- *removed closing_wait2 from cyclades_port structure;
- *
- *Revision 2.3 1998/03/16 18:01:12 ivan
- *changes in the cyclades_port structure to get it closer to the
- *standard serial port structure;
- *added constants for new ioctls;
- *
- *Revision 2.2 1998/02/17 16:50:00 ivan
- *changes in the cyclades_port structure (addition of shutdown_wait and
- *chip_rev variables);
- *added constants for new ioctls and for CD1400 rev. numbers.
- *
- *Revision 2.1 1997/10/24 16:03:00 ivan
- *added rflow (which allows enabling the CD1400 special flow control
- *feature) and rtsdtr_inv (which allows DTR/RTS pin inversion) to
- *cyclades_port structure;
- *added Alpha support
- *
- *Revision 2.0 1997/06/30 10:30:00 ivan
- *added some new doorbell command constants related to IOCTLW and
- *UART error signaling
- *
- *Revision 1.8 1997/06/03 15:30:00 ivan
- *added constant ZFIRM_HLT
- *added constant CyPCI_Ze_win ( = 2 * Cy_PCI_Zwin)
- *
- *Revision 1.7 1997/03/26 10:30:00 daniel
- *new entries at the end of cyclades_port struct to reallocate
- *variables illegally allocated within card memory.
- *
- *Revision 1.6 1996/09/09 18:35:30 bentson
- *fold in changes for Cyclom-Z -- including structures for
- *communicating with board as well modest changes to original
- *structures to support new features.
- *
- *Revision 1.5 1995/11/13 21:13:31 bentson
- *changes suggested by Michael Chastain <mec@duracef.shout.net>
- *to support use of this file in non-kernel applications
- *
- *
- */
-
-#ifndef _LINUX_CYCLADES_H
-#define _LINUX_CYCLADES_H
-
-#include <linux/types.h>
-
-struct cyclades_monitor {
- unsigned long int_count;
- unsigned long char_count;
- unsigned long char_max;
- unsigned long char_last;
-};
-
-/*
- * These stats all reflect activity since the device was last initialized.
- * (i.e., since the port was opened with no other processes already having it
- * open)
- */
-struct cyclades_idle_stats {
- __kernel_time_t in_use; /* Time device has been in use (secs) */
- __kernel_time_t recv_idle; /* Time since last char received (secs) */
- __kernel_time_t xmit_idle; /* Time since last char transmitted (secs) */
- unsigned long recv_bytes; /* Bytes received */
- unsigned long xmit_bytes; /* Bytes transmitted */
- unsigned long overruns; /* Input overruns */
- unsigned long frame_errs; /* Input framing errors */
- unsigned long parity_errs; /* Input parity errors */
-};
-
-#define CYCLADES_MAGIC 0x4359
-
-#define CYGETMON 0x435901
-#define CYGETTHRESH 0x435902
-#define CYSETTHRESH 0x435903
-#define CYGETDEFTHRESH 0x435904
-#define CYSETDEFTHRESH 0x435905
-#define CYGETTIMEOUT 0x435906
-#define CYSETTIMEOUT 0x435907
-#define CYGETDEFTIMEOUT 0x435908
-#define CYSETDEFTIMEOUT 0x435909
-#define CYSETRFLOW 0x43590a
-#define CYGETRFLOW 0x43590b
-#define CYSETRTSDTR_INV 0x43590c
-#define CYGETRTSDTR_INV 0x43590d
-#define CYZSETPOLLCYCLE 0x43590e
-#define CYZGETPOLLCYCLE 0x43590f
-#define CYGETCD1400VER 0x435910
-#define CYSETWAIT 0x435912
-#define CYGETWAIT 0x435913
-
-/*************** CYCLOM-Z ADDITIONS ***************/
-
-#define CZIOC ('M' << 8)
-#define CZ_NBOARDS (CZIOC|0xfa)
-#define CZ_BOOT_START (CZIOC|0xfb)
-#define CZ_BOOT_DATA (CZIOC|0xfc)
-#define CZ_BOOT_END (CZIOC|0xfd)
-#define CZ_TEST (CZIOC|0xfe)
-
-#define CZ_DEF_POLL (HZ/25)
-
-#define MAX_BOARD 4 /* Max number of boards */
-#define MAX_DEV 256 /* Max number of ports total */
-#define CYZ_MAX_SPEED 921600
-
-#define CYZ_FIFO_SIZE 16
-
-#define CYZ_BOOT_NWORDS 0x100
-struct CYZ_BOOT_CTRL {
- unsigned short nboard;
- int status[MAX_BOARD];
- int nchannel[MAX_BOARD];
- int fw_rev[MAX_BOARD];
- unsigned long offset;
- unsigned long data[CYZ_BOOT_NWORDS];
-};
-
-
-#ifndef DP_WINDOW_SIZE
-/*
- * Memory Window Sizes
- */
-
-#define DP_WINDOW_SIZE (0x00080000) /* window size 512 Kb */
-#define ZE_DP_WINDOW_SIZE (0x00100000) /* window size 1 Mb (Ze and
- 8Zo V.2 */
-#define CTRL_WINDOW_SIZE (0x00000080) /* runtime regs 128 bytes */
-
-/*
- * CUSTOM_REG - Cyclom-Z/PCI Custom Registers Set. The driver
- * normally will access only interested on the fpga_id, fpga_version,
- * start_cpu and stop_cpu.
- */
-
-struct CUSTOM_REG {
- __u32 fpga_id; /* FPGA Identification Register */
- __u32 fpga_version; /* FPGA Version Number Register */
- __u32 cpu_start; /* CPU start Register (write) */
- __u32 cpu_stop; /* CPU stop Register (write) */
- __u32 misc_reg; /* Miscellaneous Register */
- __u32 idt_mode; /* IDT mode Register */
- __u32 uart_irq_status; /* UART IRQ status Register */
- __u32 clear_timer0_irq; /* Clear timer interrupt Register */
- __u32 clear_timer1_irq; /* Clear timer interrupt Register */
- __u32 clear_timer2_irq; /* Clear timer interrupt Register */
- __u32 test_register; /* Test Register */
- __u32 test_count; /* Test Count Register */
- __u32 timer_select; /* Timer select register */
- __u32 pr_uart_irq_status; /* Prioritized UART IRQ stat Reg */
- __u32 ram_wait_state; /* RAM wait-state Register */
- __u32 uart_wait_state; /* UART wait-state Register */
- __u32 timer_wait_state; /* timer wait-state Register */
- __u32 ack_wait_state; /* ACK wait State Register */
-};
-
-/*
- * RUNTIME_9060 - PLX PCI9060ES local configuration and shared runtime
- * registers. This structure can be used to access the 9060 registers
- * (memory mapped).
- */
-
-struct RUNTIME_9060 {
- __u32 loc_addr_range; /* 00h - Local Address Range */
- __u32 loc_addr_base; /* 04h - Local Address Base */
- __u32 loc_arbitr; /* 08h - Local Arbitration */
- __u32 endian_descr; /* 0Ch - Big/Little Endian Descriptor */
- __u32 loc_rom_range; /* 10h - Local ROM Range */
- __u32 loc_rom_base; /* 14h - Local ROM Base */
- __u32 loc_bus_descr; /* 18h - Local Bus descriptor */
- __u32 loc_range_mst; /* 1Ch - Local Range for Master to PCI */
- __u32 loc_base_mst; /* 20h - Local Base for Master PCI */
- __u32 loc_range_io; /* 24h - Local Range for Master IO */
- __u32 pci_base_mst; /* 28h - PCI Base for Master PCI */
- __u32 pci_conf_io; /* 2Ch - PCI configuration for Master IO */
- __u32 filler1; /* 30h */
- __u32 filler2; /* 34h */
- __u32 filler3; /* 38h */
- __u32 filler4; /* 3Ch */
- __u32 mail_box_0; /* 40h - Mail Box 0 */
- __u32 mail_box_1; /* 44h - Mail Box 1 */
- __u32 mail_box_2; /* 48h - Mail Box 2 */
- __u32 mail_box_3; /* 4Ch - Mail Box 3 */
- __u32 filler5; /* 50h */
- __u32 filler6; /* 54h */
- __u32 filler7; /* 58h */
- __u32 filler8; /* 5Ch */
- __u32 pci_doorbell; /* 60h - PCI to Local Doorbell */
- __u32 loc_doorbell; /* 64h - Local to PCI Doorbell */
- __u32 intr_ctrl_stat; /* 68h - Interrupt Control/Status */
- __u32 init_ctrl; /* 6Ch - EEPROM control, Init Control, etc */
-};
-
-/* Values for the Local Base Address re-map register */
-
-#define WIN_RAM 0x00000001L /* set the sliding window to RAM */
-#define WIN_CREG 0x14000001L /* set the window to custom Registers */
-
-/* Values timer select registers */
-
-#define TIMER_BY_1M 0x00 /* clock divided by 1M */
-#define TIMER_BY_256K 0x01 /* clock divided by 256k */
-#define TIMER_BY_128K 0x02 /* clock divided by 128k */
-#define TIMER_BY_32K 0x03 /* clock divided by 32k */
-
-/****************** ****************** *******************/
-#endif
-
-#ifndef ZFIRM_ID
-/* #include "zfwint.h" */
-/****************** ****************** *******************/
-/*
- * This file contains the definitions for interfacing with the
- * Cyclom-Z ZFIRM Firmware.
- */
-
-/* General Constant definitions */
-
-#define MAX_CHAN 64 /* max number of channels per board */
-
-/* firmware id structure (set after boot) */
-
-#define ID_ADDRESS 0x00000180L /* signature/pointer address */
-#define ZFIRM_ID 0x5557465AL /* ZFIRM/U signature */
-#define ZFIRM_HLT 0x59505B5CL /* ZFIRM needs external power supply */
-#define ZFIRM_RST 0x56040674L /* RST signal (due to FW reset) */
-
-#define ZF_TINACT_DEF 1000 /* default inactivity timeout
- (1000 ms) */
-#define ZF_TINACT ZF_TINACT_DEF
-
-struct FIRM_ID {
- __u32 signature; /* ZFIRM/U signature */
- __u32 zfwctrl_addr; /* pointer to ZFW_CTRL structure */
-};
-
-/* Op. System id */
-
-#define C_OS_LINUX 0x00000030 /* generic Linux system */
-
-/* channel op_mode */
-
-#define C_CH_DISABLE 0x00000000 /* channel is disabled */
-#define C_CH_TXENABLE 0x00000001 /* channel Tx enabled */
-#define C_CH_RXENABLE 0x00000002 /* channel Rx enabled */
-#define C_CH_ENABLE 0x00000003 /* channel Tx/Rx enabled */
-#define C_CH_LOOPBACK 0x00000004 /* Loopback mode */
-
-/* comm_parity - parity */
-
-#define C_PR_NONE 0x00000000 /* None */
-#define C_PR_ODD 0x00000001 /* Odd */
-#define C_PR_EVEN 0x00000002 /* Even */
-#define C_PR_MARK 0x00000004 /* Mark */
-#define C_PR_SPACE 0x00000008 /* Space */
-#define C_PR_PARITY 0x000000ff
-
-#define C_PR_DISCARD 0x00000100 /* discard char with frame/par error */
-#define C_PR_IGNORE 0x00000200 /* ignore frame/par error */
-
-/* comm_data_l - data length and stop bits */
-
-#define C_DL_CS5 0x00000001
-#define C_DL_CS6 0x00000002
-#define C_DL_CS7 0x00000004
-#define C_DL_CS8 0x00000008
-#define C_DL_CS 0x0000000f
-#define C_DL_1STOP 0x00000010
-#define C_DL_15STOP 0x00000020
-#define C_DL_2STOP 0x00000040
-#define C_DL_STOP 0x000000f0
-
-/* interrupt enabling/status */
-
-#define C_IN_DISABLE 0x00000000 /* zero, disable interrupts */
-#define C_IN_TXBEMPTY 0x00000001 /* tx buffer empty */
-#define C_IN_TXLOWWM 0x00000002 /* tx buffer below LWM */
-#define C_IN_RXHIWM 0x00000010 /* rx buffer above HWM */
-#define C_IN_RXNNDT 0x00000020 /* rx no new data timeout */
-#define C_IN_MDCD 0x00000100 /* modem DCD change */
-#define C_IN_MDSR 0x00000200 /* modem DSR change */
-#define C_IN_MRI 0x00000400 /* modem RI change */
-#define C_IN_MCTS 0x00000800 /* modem CTS change */
-#define C_IN_RXBRK 0x00001000 /* Break received */
-#define C_IN_PR_ERROR 0x00002000 /* parity error */
-#define C_IN_FR_ERROR 0x00004000 /* frame error */
-#define C_IN_OVR_ERROR 0x00008000 /* overrun error */
-#define C_IN_RXOFL 0x00010000 /* RX buffer overflow */
-#define C_IN_IOCTLW 0x00020000 /* I/O control w/ wait */
-#define C_IN_MRTS 0x00040000 /* modem RTS drop */
-#define C_IN_ICHAR 0x00080000
-
-/* flow control */
-
-#define C_FL_OXX 0x00000001 /* output Xon/Xoff flow control */
-#define C_FL_IXX 0x00000002 /* output Xon/Xoff flow control */
-#define C_FL_OIXANY 0x00000004 /* output Xon/Xoff (any xon) */
-#define C_FL_SWFLOW 0x0000000f
-
-/* flow status */
-
-#define C_FS_TXIDLE 0x00000000 /* no Tx data in the buffer or UART */
-#define C_FS_SENDING 0x00000001 /* UART is sending data */
-#define C_FS_SWFLOW 0x00000002 /* Tx is stopped by received Xoff */
-
-/* rs_control/rs_status RS-232 signals */
-
-#define C_RS_PARAM 0x80000000 /* Indicates presence of parameter in
- IOCTLM command */
-#define C_RS_RTS 0x00000001 /* RTS */
-#define C_RS_DTR 0x00000004 /* DTR */
-#define C_RS_DCD 0x00000100 /* CD */
-#define C_RS_DSR 0x00000200 /* DSR */
-#define C_RS_RI 0x00000400 /* RI */
-#define C_RS_CTS 0x00000800 /* CTS */
-
-/* commands Host <-> Board */
-
-#define C_CM_RESET 0x01 /* reset/flush buffers */
-#define C_CM_IOCTL 0x02 /* re-read CH_CTRL */
-#define C_CM_IOCTLW 0x03 /* re-read CH_CTRL, intr when done */
-#define C_CM_IOCTLM 0x04 /* RS-232 outputs change */
-#define C_CM_SENDXOFF 0x10 /* send Xoff */
-#define C_CM_SENDXON 0x11 /* send Xon */
-#define C_CM_CLFLOW 0x12 /* Clear flow control (resume) */
-#define C_CM_SENDBRK 0x41 /* send break */
-#define C_CM_INTBACK 0x42 /* Interrupt back */
-#define C_CM_SET_BREAK 0x43 /* Tx break on */
-#define C_CM_CLR_BREAK 0x44 /* Tx break off */
-#define C_CM_CMD_DONE 0x45 /* Previous command done */
-#define C_CM_INTBACK2 0x46 /* Alternate Interrupt back */
-#define C_CM_TINACT 0x51 /* set inactivity detection */
-#define C_CM_IRQ_ENBL 0x52 /* enable generation of interrupts */
-#define C_CM_IRQ_DSBL 0x53 /* disable generation of interrupts */
-#define C_CM_ACK_ENBL 0x54 /* enable acknowledged interrupt mode */
-#define C_CM_ACK_DSBL 0x55 /* disable acknowledged intr mode */
-#define C_CM_FLUSH_RX 0x56 /* flushes Rx buffer */
-#define C_CM_FLUSH_TX 0x57 /* flushes Tx buffer */
-#define C_CM_Q_ENABLE 0x58 /* enables queue access from the
- driver */
-#define C_CM_Q_DISABLE 0x59 /* disables queue access from the
- driver */
-
-#define C_CM_TXBEMPTY 0x60 /* Tx buffer is empty */
-#define C_CM_TXLOWWM 0x61 /* Tx buffer low water mark */
-#define C_CM_RXHIWM 0x62 /* Rx buffer high water mark */
-#define C_CM_RXNNDT 0x63 /* rx no new data timeout */
-#define C_CM_TXFEMPTY 0x64
-#define C_CM_ICHAR 0x65
-#define C_CM_MDCD 0x70 /* modem DCD change */
-#define C_CM_MDSR 0x71 /* modem DSR change */
-#define C_CM_MRI 0x72 /* modem RI change */
-#define C_CM_MCTS 0x73 /* modem CTS change */
-#define C_CM_MRTS 0x74 /* modem RTS drop */
-#define C_CM_RXBRK 0x84 /* Break received */
-#define C_CM_PR_ERROR 0x85 /* Parity error */
-#define C_CM_FR_ERROR 0x86 /* Frame error */
-#define C_CM_OVR_ERROR 0x87 /* Overrun error */
-#define C_CM_RXOFL 0x88 /* RX buffer overflow */
-#define C_CM_CMDERROR 0x90 /* command error */
-#define C_CM_FATAL 0x91 /* fatal error */
-#define C_CM_HW_RESET 0x92 /* reset board */
-
-/*
- * CH_CTRL - This per port structure contains all parameters
- * that control an specific port. It can be seen as the
- * configuration registers of a "super-serial-controller".
- */
-
-struct CH_CTRL {
- __u32 op_mode; /* operation mode */
- __u32 intr_enable; /* interrupt masking */
- __u32 sw_flow; /* SW flow control */
- __u32 flow_status; /* output flow status */
- __u32 comm_baud; /* baud rate - numerically specified */
- __u32 comm_parity; /* parity */
- __u32 comm_data_l; /* data length/stop */
- __u32 comm_flags; /* other flags */
- __u32 hw_flow; /* HW flow control */
- __u32 rs_control; /* RS-232 outputs */
- __u32 rs_status; /* RS-232 inputs */
- __u32 flow_xon; /* xon char */
- __u32 flow_xoff; /* xoff char */
- __u32 hw_overflow; /* hw overflow counter */
- __u32 sw_overflow; /* sw overflow counter */
- __u32 comm_error; /* frame/parity error counter */
- __u32 ichar;
- __u32 filler[7];
-};
-
-
-/*
- * BUF_CTRL - This per channel structure contains
- * all Tx and Rx buffer control for a given channel.
- */
-
-struct BUF_CTRL {
- __u32 flag_dma; /* buffers are in Host memory */
- __u32 tx_bufaddr; /* address of the tx buffer */
- __u32 tx_bufsize; /* tx buffer size */
- __u32 tx_threshold; /* tx low water mark */
- __u32 tx_get; /* tail index tx buf */
- __u32 tx_put; /* head index tx buf */
- __u32 rx_bufaddr; /* address of the rx buffer */
- __u32 rx_bufsize; /* rx buffer size */
- __u32 rx_threshold; /* rx high water mark */
- __u32 rx_get; /* tail index rx buf */
- __u32 rx_put; /* head index rx buf */
- __u32 filler[5]; /* filler to align structures */
-};
-
-/*
- * BOARD_CTRL - This per board structure contains all global
- * control fields related to the board.
- */
-
-struct BOARD_CTRL {
-
- /* static info provided by the on-board CPU */
- __u32 n_channel; /* number of channels */
- __u32 fw_version; /* firmware version */
-
- /* static info provided by the driver */
- __u32 op_system; /* op_system id */
- __u32 dr_version; /* driver version */
-
- /* board control area */
- __u32 inactivity; /* inactivity control */
-
- /* host to FW commands */
- __u32 hcmd_channel; /* channel number */
- __u32 hcmd_param; /* pointer to parameters */
-
- /* FW to Host commands */
- __u32 fwcmd_channel; /* channel number */
- __u32 fwcmd_param; /* pointer to parameters */
- __u32 zf_int_queue_addr; /* offset for INT_QUEUE structure */
-
- /* filler so the structures are aligned */
- __u32 filler[6];
-};
-
-/* Host Interrupt Queue */
-
-#define QUEUE_SIZE (10*MAX_CHAN)
-
-struct INT_QUEUE {
- unsigned char intr_code[QUEUE_SIZE];
- unsigned long channel[QUEUE_SIZE];
- unsigned long param[QUEUE_SIZE];
- unsigned long put;
- unsigned long get;
-};
-
-/*
- * ZFW_CTRL - This is the data structure that includes all other
- * data structures used by the Firmware.
- */
-
-struct ZFW_CTRL {
- struct BOARD_CTRL board_ctrl;
- struct CH_CTRL ch_ctrl[MAX_CHAN];
- struct BUF_CTRL buf_ctrl[MAX_CHAN];
-};
-
-/****************** ****************** *******************/
-#endif
-
-#endif /* _LINUX_CYCLADES_H */
diff --git a/linux-headers/include/linux/cycx_cfm.h b/linux-headers/include/linux/cycx_cfm.h
deleted file mode 100644
index 032d26e..0000000
--- a/linux-headers/include/linux/cycx_cfm.h
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
-* cycx_cfm.h Cyclom 2X WAN Link Driver.
-* Definitions for the Cyclom 2X Firmware Module (CFM).
-*
-* Author: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
-*
-* Copyright: (c) 1998-2003 Arnaldo Carvalho de Melo
-*
-* Based on sdlasfm.h by Gene Kozin <74604.152@compuserve.com>
-*
-* This program is free software; you can redistribute it and/or
-* modify it under the terms of the GNU General Public License
-* as published by the Free Software Foundation; either version
-* 2 of the License, or (at your option) any later version.
-* ============================================================================
-* 1998/08/08 acme Initial version.
-*/
-#ifndef _CYCX_CFM_H
-#define _CYCX_CFM_H
-
-/* Defines */
-
-#define CFM_VERSION 2
-#define CFM_SIGNATURE "CFM - Cyclades CYCX Firmware Module"
-
-/* min/max */
-#define CFM_IMAGE_SIZE 0x20000 /* max size of CYCX code image file */
-#define CFM_DESCR_LEN 256 /* max length of description string */
-#define CFM_MAX_CYCX 1 /* max number of compatible adapters */
-#define CFM_LOAD_BUFSZ 0x400 /* buffer size for reset code (buffer_load) */
-
-/* Firmware Commands */
-#define GEN_POWER_ON 0x1280
-
-#define GEN_SET_SEG 0x1401 /* boot segment setting. */
-#define GEN_BOOT_DAT 0x1402 /* boot data. */
-#define GEN_START 0x1403 /* board start. */
-#define GEN_DEFPAR 0x1404 /* buffer length for boot. */
-
-/* Adapter Types */
-#define CYCX_2X 2
-/* for now only the 2X is supported, no plans to support 8X or 16X */
-#define CYCX_8X 8
-#define CYCX_16X 16
-
-#define CFID_X25_2X 5200
-
-/**
- * struct cycx_fw_info - firmware module information.
- * @codeid - firmware ID
- * @version - firmware version number
- * @adapter - compatible adapter types
- * @memsize - minimum memory size
- * @reserved - reserved
- * @startoffs - entry point offset
- * @winoffs - dual-port memory window offset
- * @codeoffs - code load offset
- * @codesize - code size
- * @dataoffs - configuration data load offset
- * @datasize - configuration data size
- */
-struct cycx_fw_info {
- unsigned short codeid;
- unsigned short version;
- unsigned short adapter[CFM_MAX_CYCX];
- unsigned long memsize;
- unsigned short reserved[2];
- unsigned short startoffs;
- unsigned short winoffs;
- unsigned short codeoffs;
- unsigned long codesize;
- unsigned short dataoffs;
- unsigned long datasize;
-};
-
-/**
- * struct cycx_firmware - CYCX firmware file structure
- * @signature - CFM file signature
- * @version - file format version
- * @checksum - info + image
- * @reserved - reserved
- * @descr - description string
- * @info - firmware module info
- * @image - code image (variable size)
- */
-struct cycx_firmware {
- char signature[80];
- unsigned short version;
- unsigned short checksum;
- unsigned short reserved[6];
- char descr[CFM_DESCR_LEN];
- struct cycx_fw_info info;
- unsigned char image[0];
-};
-
-struct cycx_fw_header {
- unsigned long reset_size;
- unsigned long data_size;
- unsigned long code_size;
-};
-#endif /* _CYCX_CFM_H */
diff --git a/linux-headers/include/linux/dcbnl.h b/linux-headers/include/linux/dcbnl.h
deleted file mode 100644
index 3ea470f..0000000
--- a/linux-headers/include/linux/dcbnl.h
+++ /dev/null
@@ -1,755 +0,0 @@
-/*
- * Copyright (c) 2008-2011, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place - Suite 330, Boston, MA 02111-1307 USA.
- *
- * Author: Lucy Liu <lucy.liu@intel.com>
- */
-
-#ifndef __LINUX_DCBNL_H__
-#define __LINUX_DCBNL_H__
-
-#include <linux/types.h>
-
-/* IEEE 802.1Qaz std supported values */
-#define IEEE_8021QAZ_MAX_TCS 8
-
-#define IEEE_8021QAZ_TSA_STRICT 0
-#define IEEE_8021QAZ_TSA_CB_SHAPER 1
-#define IEEE_8021QAZ_TSA_ETS 2
-#define IEEE_8021QAZ_TSA_VENDOR 255
-
-/* This structure contains the IEEE 802.1Qaz ETS managed object
- *
- * @willing: willing bit in ETS configuration TLV
- * @ets_cap: indicates supported capacity of ets feature
- * @cbs: credit based shaper ets algorithm supported
- * @tc_tx_bw: tc tx bandwidth indexed by traffic class
- * @tc_rx_bw: tc rx bandwidth indexed by traffic class
- * @tc_tsa: TSA Assignment table, indexed by traffic class
- * @prio_tc: priority assignment table mapping 8021Qp to traffic class
- * @tc_reco_bw: recommended tc bandwidth indexed by traffic class for TLV
- * @tc_reco_tsa: recommended tc bandwidth indexed by traffic class for TLV
- * @reco_prio_tc: recommended tc tx bandwidth indexed by traffic class for TLV
- *
- * Recommended values are used to set fields in the ETS recommendation TLV
- * with hardware offloaded LLDP.
- *
- * ----
- * TSA Assignment 8 bit identifiers
- * 0 strict priority
- * 1 credit-based shaper
- * 2 enhanced transmission selection
- * 3-254 reserved
- * 255 vendor specific
- */
-struct ieee_ets {
- __u8 willing;
- __u8 ets_cap;
- __u8 cbs;
- __u8 tc_tx_bw[IEEE_8021QAZ_MAX_TCS];
- __u8 tc_rx_bw[IEEE_8021QAZ_MAX_TCS];
- __u8 tc_tsa[IEEE_8021QAZ_MAX_TCS];
- __u8 prio_tc[IEEE_8021QAZ_MAX_TCS];
- __u8 tc_reco_bw[IEEE_8021QAZ_MAX_TCS];
- __u8 tc_reco_tsa[IEEE_8021QAZ_MAX_TCS];
- __u8 reco_prio_tc[IEEE_8021QAZ_MAX_TCS];
-};
-
-/* This structure contains rate limit extension to the IEEE 802.1Qaz ETS
- * managed object.
- * Values are 64 bits long and specified in Kbps to enable usage over both
- * slow and very fast networks.
- *
- * @tc_maxrate: maximal tc tx bandwidth indexed by traffic class
- */
-struct ieee_maxrate {
- __u64 tc_maxrate[IEEE_8021QAZ_MAX_TCS];
-};
-
-enum dcbnl_cndd_states {
- DCB_CNDD_RESET = 0,
- DCB_CNDD_EDGE,
- DCB_CNDD_INTERIOR,
- DCB_CNDD_INTERIOR_READY,
-};
-
-/* This structure contains the IEEE 802.1Qau QCN managed object.
- *
- *@rpg_enable: enable QCN RP
- *@rppp_max_rps: maximum number of RPs allowed for this CNPV on this port
- *@rpg_time_reset: time between rate increases if no CNMs received.
- * given in u-seconds
- *@rpg_byte_reset: transmitted data between rate increases if no CNMs received.
- * given in Bytes
- *@rpg_threshold: The number of times rpByteStage or rpTimeStage can count
- * before RP rate control state machine advances states
- *@rpg_max_rate: the maxinun rate, in Mbits per second,
- * at which an RP can transmit
- *@rpg_ai_rate: The rate, in Mbits per second,
- * used to increase rpTargetRate in the RPR_ACTIVE_INCREASE
- *@rpg_hai_rate: The rate, in Mbits per second,
- * used to increase rpTargetRate in the RPR_HYPER_INCREASE state
- *@rpg_gd: Upon CNM receive, flow rate is limited to (Fb/Gd)*CurrentRate.
- * rpgGd is given as log2(Gd), where Gd may only be powers of 2
- *@rpg_min_dec_fac: The minimum factor by which the current transmit rate
- * can be changed by reception of a CNM.
- * value is given as percentage (1-100)
- *@rpg_min_rate: The minimum value, in bits per second, for rate to limit
- *@cndd_state_machine: The state of the congestion notification domain
- * defense state machine, as defined by IEEE 802.3Qau
- * section 32.1.1. In the interior ready state,
- * the QCN capable hardware may add CN-TAG TLV to the
- * outgoing traffic, to specifically identify outgoing
- * flows.
- */
-
-struct ieee_qcn {
- __u8 rpg_enable[IEEE_8021QAZ_MAX_TCS];
- __u32 rppp_max_rps[IEEE_8021QAZ_MAX_TCS];
- __u32 rpg_time_reset[IEEE_8021QAZ_MAX_TCS];
- __u32 rpg_byte_reset[IEEE_8021QAZ_MAX_TCS];
- __u32 rpg_threshold[IEEE_8021QAZ_MAX_TCS];
- __u32 rpg_max_rate[IEEE_8021QAZ_MAX_TCS];
- __u32 rpg_ai_rate[IEEE_8021QAZ_MAX_TCS];
- __u32 rpg_hai_rate[IEEE_8021QAZ_MAX_TCS];
- __u32 rpg_gd[IEEE_8021QAZ_MAX_TCS];
- __u32 rpg_min_dec_fac[IEEE_8021QAZ_MAX_TCS];
- __u32 rpg_min_rate[IEEE_8021QAZ_MAX_TCS];
- __u32 cndd_state_machine[IEEE_8021QAZ_MAX_TCS];
-};
-
-/* This structure contains the IEEE 802.1Qau QCN statistics.
- *
- *@rppp_rp_centiseconds: the number of RP-centiseconds accumulated
- * by RPs at this priority level on this Port
- *@rppp_created_rps: number of active RPs(flows) that react to CNMs
- */
-
-struct ieee_qcn_stats {
- __u64 rppp_rp_centiseconds[IEEE_8021QAZ_MAX_TCS];
- __u32 rppp_created_rps[IEEE_8021QAZ_MAX_TCS];
-};
-
-/* This structure contains the IEEE 802.1Qaz PFC managed object
- *
- * @pfc_cap: Indicates the number of traffic classes on the local device
- * that may simultaneously have PFC enabled.
- * @pfc_en: bitmap indicating pfc enabled traffic classes
- * @mbc: enable macsec bypass capability
- * @delay: the allowance made for a round-trip propagation delay of the
- * link in bits.
- * @requests: count of the sent pfc frames
- * @indications: count of the received pfc frames
- */
-struct ieee_pfc {
- __u8 pfc_cap;
- __u8 pfc_en;
- __u8 mbc;
- __u16 delay;
- __u64 requests[IEEE_8021QAZ_MAX_TCS];
- __u64 indications[IEEE_8021QAZ_MAX_TCS];
-};
-
-/* CEE DCBX std supported values */
-#define CEE_DCBX_MAX_PGS 8
-#define CEE_DCBX_MAX_PRIO 8
-
-/**
- * struct cee_pg - CEE Priority-Group managed object
- *
- * @willing: willing bit in the PG tlv
- * @error: error bit in the PG tlv
- * @pg_en: enable bit of the PG feature
- * @tcs_supported: number of traffic classes supported
- * @pg_bw: bandwidth percentage for each priority group
- * @prio_pg: priority to PG mapping indexed by priority
- */
-struct cee_pg {
- __u8 willing;
- __u8 error;
- __u8 pg_en;
- __u8 tcs_supported;
- __u8 pg_bw[CEE_DCBX_MAX_PGS];
- __u8 prio_pg[CEE_DCBX_MAX_PGS];
-};
-
-/**
- * struct cee_pfc - CEE PFC managed object
- *
- * @willing: willing bit in the PFC tlv
- * @error: error bit in the PFC tlv
- * @pfc_en: bitmap indicating pfc enabled traffic classes
- * @tcs_supported: number of traffic classes supported
- */
-struct cee_pfc {
- __u8 willing;
- __u8 error;
- __u8 pfc_en;
- __u8 tcs_supported;
-};
-
-/* IEEE 802.1Qaz std supported values */
-#define IEEE_8021QAZ_APP_SEL_ETHERTYPE 1
-#define IEEE_8021QAZ_APP_SEL_STREAM 2
-#define IEEE_8021QAZ_APP_SEL_DGRAM 3
-#define IEEE_8021QAZ_APP_SEL_ANY 4
-
-/* This structure contains the IEEE 802.1Qaz APP managed object. This
- * object is also used for the CEE std as well.
- *
- * @selector: protocol identifier type
- * @protocol: protocol of type indicated
- * @priority: 3-bit unsigned integer indicating priority for IEEE
- * 8-bit 802.1p user priority bitmap for CEE
- *
- * ----
- * Selector field values for IEEE 802.1Qaz
- * 0 Reserved
- * 1 Ethertype
- * 2 Well known port number over TCP or SCTP
- * 3 Well known port number over UDP or DCCP
- * 4 Well known port number over TCP, SCTP, UDP, or DCCP
- * 5-7 Reserved
- *
- * Selector field values for CEE
- * 0 Ethertype
- * 1 Well known port number over TCP or UDP
- * 2-3 Reserved
- */
-struct dcb_app {
- __u8 selector;
- __u8 priority;
- __u16 protocol;
-};
-
-/**
- * struct dcb_peer_app_info - APP feature information sent by the peer
- *
- * @willing: willing bit in the peer APP tlv
- * @error: error bit in the peer APP tlv
- *
- * In addition to this information the full peer APP tlv also contains
- * a table of 'app_count' APP objects defined above.
- */
-struct dcb_peer_app_info {
- __u8 willing;
- __u8 error;
-};
-
-struct dcbmsg {
- __u8 dcb_family;
- __u8 cmd;
- __u16 dcb_pad;
-};
-
-/**
- * enum dcbnl_commands - supported DCB commands
- *
- * @DCB_CMD_UNDEFINED: unspecified command to catch errors
- * @DCB_CMD_GSTATE: request the state of DCB in the device
- * @DCB_CMD_SSTATE: set the state of DCB in the device
- * @DCB_CMD_PGTX_GCFG: request the priority group configuration for Tx
- * @DCB_CMD_PGTX_SCFG: set the priority group configuration for Tx
- * @DCB_CMD_PGRX_GCFG: request the priority group configuration for Rx
- * @DCB_CMD_PGRX_SCFG: set the priority group configuration for Rx
- * @DCB_CMD_PFC_GCFG: request the priority flow control configuration
- * @DCB_CMD_PFC_SCFG: set the priority flow control configuration
- * @DCB_CMD_SET_ALL: apply all changes to the underlying device
- * @DCB_CMD_GPERM_HWADDR: get the permanent MAC address of the underlying
- * device. Only useful when using bonding.
- * @DCB_CMD_GCAP: request the DCB capabilities of the device
- * @DCB_CMD_GNUMTCS: get the number of traffic classes currently supported
- * @DCB_CMD_SNUMTCS: set the number of traffic classes
- * @DCB_CMD_GBCN: set backward congestion notification configuration
- * @DCB_CMD_SBCN: get backward congestion notification configration.
- * @DCB_CMD_GAPP: get application protocol configuration
- * @DCB_CMD_SAPP: set application protocol configuration
- * @DCB_CMD_IEEE_SET: set IEEE 802.1Qaz configuration
- * @DCB_CMD_IEEE_GET: get IEEE 802.1Qaz configuration
- * @DCB_CMD_GDCBX: get DCBX engine configuration
- * @DCB_CMD_SDCBX: set DCBX engine configuration
- * @DCB_CMD_GFEATCFG: get DCBX features flags
- * @DCB_CMD_SFEATCFG: set DCBX features negotiation flags
- * @DCB_CMD_CEE_GET: get CEE aggregated configuration
- * @DCB_CMD_IEEE_DEL: delete IEEE 802.1Qaz configuration
- */
-enum dcbnl_commands {
- DCB_CMD_UNDEFINED,
-
- DCB_CMD_GSTATE,
- DCB_CMD_SSTATE,
-
- DCB_CMD_PGTX_GCFG,
- DCB_CMD_PGTX_SCFG,
- DCB_CMD_PGRX_GCFG,
- DCB_CMD_PGRX_SCFG,
-
- DCB_CMD_PFC_GCFG,
- DCB_CMD_PFC_SCFG,
-
- DCB_CMD_SET_ALL,
-
- DCB_CMD_GPERM_HWADDR,
-
- DCB_CMD_GCAP,
-
- DCB_CMD_GNUMTCS,
- DCB_CMD_SNUMTCS,
-
- DCB_CMD_PFC_GSTATE,
- DCB_CMD_PFC_SSTATE,
-
- DCB_CMD_BCN_GCFG,
- DCB_CMD_BCN_SCFG,
-
- DCB_CMD_GAPP,
- DCB_CMD_SAPP,
-
- DCB_CMD_IEEE_SET,
- DCB_CMD_IEEE_GET,
-
- DCB_CMD_GDCBX,
- DCB_CMD_SDCBX,
-
- DCB_CMD_GFEATCFG,
- DCB_CMD_SFEATCFG,
-
- DCB_CMD_CEE_GET,
- DCB_CMD_IEEE_DEL,
-
- __DCB_CMD_ENUM_MAX,
- DCB_CMD_MAX = __DCB_CMD_ENUM_MAX - 1,
-};
-
-/**
- * enum dcbnl_attrs - DCB top-level netlink attributes
- *
- * @DCB_ATTR_UNDEFINED: unspecified attribute to catch errors
- * @DCB_ATTR_IFNAME: interface name of the underlying device (NLA_STRING)
- * @DCB_ATTR_STATE: enable state of DCB in the device (NLA_U8)
- * @DCB_ATTR_PFC_STATE: enable state of PFC in the device (NLA_U8)
- * @DCB_ATTR_PFC_CFG: priority flow control configuration (NLA_NESTED)
- * @DCB_ATTR_NUM_TC: number of traffic classes supported in the device (NLA_U8)
- * @DCB_ATTR_PG_CFG: priority group configuration (NLA_NESTED)
- * @DCB_ATTR_SET_ALL: bool to commit changes to hardware or not (NLA_U8)
- * @DCB_ATTR_PERM_HWADDR: MAC address of the physical device (NLA_NESTED)
- * @DCB_ATTR_CAP: DCB capabilities of the device (NLA_NESTED)
- * @DCB_ATTR_NUMTCS: number of traffic classes supported (NLA_NESTED)
- * @DCB_ATTR_BCN: backward congestion notification configuration (NLA_NESTED)
- * @DCB_ATTR_IEEE: IEEE 802.1Qaz supported attributes (NLA_NESTED)
- * @DCB_ATTR_DCBX: DCBX engine configuration in the device (NLA_U8)
- * @DCB_ATTR_FEATCFG: DCBX features flags (NLA_NESTED)
- * @DCB_ATTR_CEE: CEE std supported attributes (NLA_NESTED)
- */
-enum dcbnl_attrs {
- DCB_ATTR_UNDEFINED,
-
- DCB_ATTR_IFNAME,
- DCB_ATTR_STATE,
- DCB_ATTR_PFC_STATE,
- DCB_ATTR_PFC_CFG,
- DCB_ATTR_NUM_TC,
- DCB_ATTR_PG_CFG,
- DCB_ATTR_SET_ALL,
- DCB_ATTR_PERM_HWADDR,
- DCB_ATTR_CAP,
- DCB_ATTR_NUMTCS,
- DCB_ATTR_BCN,
- DCB_ATTR_APP,
-
- /* IEEE std attributes */
- DCB_ATTR_IEEE,
-
- DCB_ATTR_DCBX,
- DCB_ATTR_FEATCFG,
-
- /* CEE nested attributes */
- DCB_ATTR_CEE,
-
- __DCB_ATTR_ENUM_MAX,
- DCB_ATTR_MAX = __DCB_ATTR_ENUM_MAX - 1,
-};
-
-/**
- * enum ieee_attrs - IEEE 802.1Qaz get/set attributes
- *
- * @DCB_ATTR_IEEE_UNSPEC: unspecified
- * @DCB_ATTR_IEEE_ETS: negotiated ETS configuration
- * @DCB_ATTR_IEEE_PFC: negotiated PFC configuration
- * @DCB_ATTR_IEEE_APP_TABLE: negotiated APP configuration
- * @DCB_ATTR_IEEE_PEER_ETS: peer ETS configuration - get only
- * @DCB_ATTR_IEEE_PEER_PFC: peer PFC configuration - get only
- * @DCB_ATTR_IEEE_PEER_APP: peer APP tlv - get only
- */
-enum ieee_attrs {
- DCB_ATTR_IEEE_UNSPEC,
- DCB_ATTR_IEEE_ETS,
- DCB_ATTR_IEEE_PFC,
- DCB_ATTR_IEEE_APP_TABLE,
- DCB_ATTR_IEEE_PEER_ETS,
- DCB_ATTR_IEEE_PEER_PFC,
- DCB_ATTR_IEEE_PEER_APP,
- DCB_ATTR_IEEE_MAXRATE,
- DCB_ATTR_IEEE_QCN,
- DCB_ATTR_IEEE_QCN_STATS,
- __DCB_ATTR_IEEE_MAX
-};
-#define DCB_ATTR_IEEE_MAX (__DCB_ATTR_IEEE_MAX - 1)
-
-enum ieee_attrs_app {
- DCB_ATTR_IEEE_APP_UNSPEC,
- DCB_ATTR_IEEE_APP,
- __DCB_ATTR_IEEE_APP_MAX
-};
-#define DCB_ATTR_IEEE_APP_MAX (__DCB_ATTR_IEEE_APP_MAX - 1)
-
-/**
- * enum cee_attrs - CEE DCBX get attributes.
- *
- * @DCB_ATTR_CEE_UNSPEC: unspecified
- * @DCB_ATTR_CEE_PEER_PG: peer PG configuration - get only
- * @DCB_ATTR_CEE_PEER_PFC: peer PFC configuration - get only
- * @DCB_ATTR_CEE_PEER_APP_TABLE: peer APP tlv - get only
- * @DCB_ATTR_CEE_TX_PG: TX PG configuration (DCB_CMD_PGTX_GCFG)
- * @DCB_ATTR_CEE_RX_PG: RX PG configuration (DCB_CMD_PGRX_GCFG)
- * @DCB_ATTR_CEE_PFC: PFC configuration (DCB_CMD_PFC_GCFG)
- * @DCB_ATTR_CEE_APP_TABLE: APP configuration (multi DCB_CMD_GAPP)
- * @DCB_ATTR_CEE_FEAT: DCBX features flags (DCB_CMD_GFEATCFG)
- *
- * An aggregated collection of the cee std negotiated parameters.
- */
-enum cee_attrs {
- DCB_ATTR_CEE_UNSPEC,
- DCB_ATTR_CEE_PEER_PG,
- DCB_ATTR_CEE_PEER_PFC,
- DCB_ATTR_CEE_PEER_APP_TABLE,
- DCB_ATTR_CEE_TX_PG,
- DCB_ATTR_CEE_RX_PG,
- DCB_ATTR_CEE_PFC,
- DCB_ATTR_CEE_APP_TABLE,
- DCB_ATTR_CEE_FEAT,
- __DCB_ATTR_CEE_MAX
-};
-#define DCB_ATTR_CEE_MAX (__DCB_ATTR_CEE_MAX - 1)
-
-enum peer_app_attr {
- DCB_ATTR_CEE_PEER_APP_UNSPEC,
- DCB_ATTR_CEE_PEER_APP_INFO,
- DCB_ATTR_CEE_PEER_APP,
- __DCB_ATTR_CEE_PEER_APP_MAX
-};
-#define DCB_ATTR_CEE_PEER_APP_MAX (__DCB_ATTR_CEE_PEER_APP_MAX - 1)
-
-enum cee_attrs_app {
- DCB_ATTR_CEE_APP_UNSPEC,
- DCB_ATTR_CEE_APP,
- __DCB_ATTR_CEE_APP_MAX
-};
-#define DCB_ATTR_CEE_APP_MAX (__DCB_ATTR_CEE_APP_MAX - 1)
-
-/**
- * enum dcbnl_pfc_attrs - DCB Priority Flow Control user priority nested attrs
- *
- * @DCB_PFC_UP_ATTR_UNDEFINED: unspecified attribute to catch errors
- * @DCB_PFC_UP_ATTR_0: Priority Flow Control value for User Priority 0 (NLA_U8)
- * @DCB_PFC_UP_ATTR_1: Priority Flow Control value for User Priority 1 (NLA_U8)
- * @DCB_PFC_UP_ATTR_2: Priority Flow Control value for User Priority 2 (NLA_U8)
- * @DCB_PFC_UP_ATTR_3: Priority Flow Control value for User Priority 3 (NLA_U8)
- * @DCB_PFC_UP_ATTR_4: Priority Flow Control value for User Priority 4 (NLA_U8)
- * @DCB_PFC_UP_ATTR_5: Priority Flow Control value for User Priority 5 (NLA_U8)
- * @DCB_PFC_UP_ATTR_6: Priority Flow Control value for User Priority 6 (NLA_U8)
- * @DCB_PFC_UP_ATTR_7: Priority Flow Control value for User Priority 7 (NLA_U8)
- * @DCB_PFC_UP_ATTR_MAX: highest attribute number currently defined
- * @DCB_PFC_UP_ATTR_ALL: apply to all priority flow control attrs (NLA_FLAG)
- *
- */
-enum dcbnl_pfc_up_attrs {
- DCB_PFC_UP_ATTR_UNDEFINED,
-
- DCB_PFC_UP_ATTR_0,
- DCB_PFC_UP_ATTR_1,
- DCB_PFC_UP_ATTR_2,
- DCB_PFC_UP_ATTR_3,
- DCB_PFC_UP_ATTR_4,
- DCB_PFC_UP_ATTR_5,
- DCB_PFC_UP_ATTR_6,
- DCB_PFC_UP_ATTR_7,
- DCB_PFC_UP_ATTR_ALL,
-
- __DCB_PFC_UP_ATTR_ENUM_MAX,
- DCB_PFC_UP_ATTR_MAX = __DCB_PFC_UP_ATTR_ENUM_MAX - 1,
-};
-
-/**
- * enum dcbnl_pg_attrs - DCB Priority Group attributes
- *
- * @DCB_PG_ATTR_UNDEFINED: unspecified attribute to catch errors
- * @DCB_PG_ATTR_TC_0: Priority Group Traffic Class 0 configuration (NLA_NESTED)
- * @DCB_PG_ATTR_TC_1: Priority Group Traffic Class 1 configuration (NLA_NESTED)
- * @DCB_PG_ATTR_TC_2: Priority Group Traffic Class 2 configuration (NLA_NESTED)
- * @DCB_PG_ATTR_TC_3: Priority Group Traffic Class 3 configuration (NLA_NESTED)
- * @DCB_PG_ATTR_TC_4: Priority Group Traffic Class 4 configuration (NLA_NESTED)
- * @DCB_PG_ATTR_TC_5: Priority Group Traffic Class 5 configuration (NLA_NESTED)
- * @DCB_PG_ATTR_TC_6: Priority Group Traffic Class 6 configuration (NLA_NESTED)
- * @DCB_PG_ATTR_TC_7: Priority Group Traffic Class 7 configuration (NLA_NESTED)
- * @DCB_PG_ATTR_TC_MAX: highest attribute number currently defined
- * @DCB_PG_ATTR_TC_ALL: apply to all traffic classes (NLA_NESTED)
- * @DCB_PG_ATTR_BW_ID_0: Percent of link bandwidth for Priority Group 0 (NLA_U8)
- * @DCB_PG_ATTR_BW_ID_1: Percent of link bandwidth for Priority Group 1 (NLA_U8)
- * @DCB_PG_ATTR_BW_ID_2: Percent of link bandwidth for Priority Group 2 (NLA_U8)
- * @DCB_PG_ATTR_BW_ID_3: Percent of link bandwidth for Priority Group 3 (NLA_U8)
- * @DCB_PG_ATTR_BW_ID_4: Percent of link bandwidth for Priority Group 4 (NLA_U8)
- * @DCB_PG_ATTR_BW_ID_5: Percent of link bandwidth for Priority Group 5 (NLA_U8)
- * @DCB_PG_ATTR_BW_ID_6: Percent of link bandwidth for Priority Group 6 (NLA_U8)
- * @DCB_PG_ATTR_BW_ID_7: Percent of link bandwidth for Priority Group 7 (NLA_U8)
- * @DCB_PG_ATTR_BW_ID_MAX: highest attribute number currently defined
- * @DCB_PG_ATTR_BW_ID_ALL: apply to all priority groups (NLA_FLAG)
- *
- */
-enum dcbnl_pg_attrs {
- DCB_PG_ATTR_UNDEFINED,
-
- DCB_PG_ATTR_TC_0,
- DCB_PG_ATTR_TC_1,
- DCB_PG_ATTR_TC_2,
- DCB_PG_ATTR_TC_3,
- DCB_PG_ATTR_TC_4,
- DCB_PG_ATTR_TC_5,
- DCB_PG_ATTR_TC_6,
- DCB_PG_ATTR_TC_7,
- DCB_PG_ATTR_TC_MAX,
- DCB_PG_ATTR_TC_ALL,
-
- DCB_PG_ATTR_BW_ID_0,
- DCB_PG_ATTR_BW_ID_1,
- DCB_PG_ATTR_BW_ID_2,
- DCB_PG_ATTR_BW_ID_3,
- DCB_PG_ATTR_BW_ID_4,
- DCB_PG_ATTR_BW_ID_5,
- DCB_PG_ATTR_BW_ID_6,
- DCB_PG_ATTR_BW_ID_7,
- DCB_PG_ATTR_BW_ID_MAX,
- DCB_PG_ATTR_BW_ID_ALL,
-
- __DCB_PG_ATTR_ENUM_MAX,
- DCB_PG_ATTR_MAX = __DCB_PG_ATTR_ENUM_MAX - 1,
-};
-
-/**
- * enum dcbnl_tc_attrs - DCB Traffic Class attributes
- *
- * @DCB_TC_ATTR_PARAM_UNDEFINED: unspecified attribute to catch errors
- * @DCB_TC_ATTR_PARAM_PGID: (NLA_U8) Priority group the traffic class belongs to
- * Valid values are: 0-7
- * @DCB_TC_ATTR_PARAM_UP_MAPPING: (NLA_U8) Traffic class to user priority map
- * Some devices may not support changing the
- * user priority map of a TC.
- * @DCB_TC_ATTR_PARAM_STRICT_PRIO: (NLA_U8) Strict priority setting
- * 0 - none
- * 1 - group strict
- * 2 - link strict
- * @DCB_TC_ATTR_PARAM_BW_PCT: optional - (NLA_U8) If supported by the device and
- * not configured to use link strict priority,
- * this is the percentage of bandwidth of the
- * priority group this traffic class belongs to
- * @DCB_TC_ATTR_PARAM_ALL: (NLA_FLAG) all traffic class parameters
- *
- */
-enum dcbnl_tc_attrs {
- DCB_TC_ATTR_PARAM_UNDEFINED,
-
- DCB_TC_ATTR_PARAM_PGID,
- DCB_TC_ATTR_PARAM_UP_MAPPING,
- DCB_TC_ATTR_PARAM_STRICT_PRIO,
- DCB_TC_ATTR_PARAM_BW_PCT,
- DCB_TC_ATTR_PARAM_ALL,
-
- __DCB_TC_ATTR_PARAM_ENUM_MAX,
- DCB_TC_ATTR_PARAM_MAX = __DCB_TC_ATTR_PARAM_ENUM_MAX - 1,
-};
-
-/**
- * enum dcbnl_cap_attrs - DCB Capability attributes
- *
- * @DCB_CAP_ATTR_UNDEFINED: unspecified attribute to catch errors
- * @DCB_CAP_ATTR_ALL: (NLA_FLAG) all capability parameters
- * @DCB_CAP_ATTR_PG: (NLA_U8) device supports Priority Groups
- * @DCB_CAP_ATTR_PFC: (NLA_U8) device supports Priority Flow Control
- * @DCB_CAP_ATTR_UP2TC: (NLA_U8) device supports user priority to
- * traffic class mapping
- * @DCB_CAP_ATTR_PG_TCS: (NLA_U8) bitmap where each bit represents a
- * number of traffic classes the device
- * can be configured to use for Priority Groups
- * @DCB_CAP_ATTR_PFC_TCS: (NLA_U8) bitmap where each bit represents a
- * number of traffic classes the device can be
- * configured to use for Priority Flow Control
- * @DCB_CAP_ATTR_GSP: (NLA_U8) device supports group strict priority
- * @DCB_CAP_ATTR_BCN: (NLA_U8) device supports Backwards Congestion
- * Notification
- * @DCB_CAP_ATTR_DCBX: (NLA_U8) device supports DCBX engine
- *
- */
-enum dcbnl_cap_attrs {
- DCB_CAP_ATTR_UNDEFINED,
- DCB_CAP_ATTR_ALL,
- DCB_CAP_ATTR_PG,
- DCB_CAP_ATTR_PFC,
- DCB_CAP_ATTR_UP2TC,
- DCB_CAP_ATTR_PG_TCS,
- DCB_CAP_ATTR_PFC_TCS,
- DCB_CAP_ATTR_GSP,
- DCB_CAP_ATTR_BCN,
- DCB_CAP_ATTR_DCBX,
-
- __DCB_CAP_ATTR_ENUM_MAX,
- DCB_CAP_ATTR_MAX = __DCB_CAP_ATTR_ENUM_MAX - 1,
-};
-
-/**
- * DCBX capability flags
- *
- * @DCB_CAP_DCBX_HOST: DCBX negotiation is performed by the host LLDP agent.
- * 'set' routines are used to configure the device with
- * the negotiated parameters
- *
- * @DCB_CAP_DCBX_LLD_MANAGED: DCBX negotiation is not performed in the host but
- * by another entity
- * 'get' routines are used to retrieve the
- * negotiated parameters
- * 'set' routines can be used to set the initial
- * negotiation configuration
- *
- * @DCB_CAP_DCBX_VER_CEE: for a non-host DCBX engine, indicates the engine
- * supports the CEE protocol flavor
- *
- * @DCB_CAP_DCBX_VER_IEEE: for a non-host DCBX engine, indicates the engine
- * supports the IEEE protocol flavor
- *
- * @DCB_CAP_DCBX_STATIC: for a non-host DCBX engine, indicates the engine
- * supports static configuration (i.e no actual
- * negotiation is performed negotiated parameters equal
- * the initial configuration)
- *
- */
-#define DCB_CAP_DCBX_HOST 0x01
-#define DCB_CAP_DCBX_LLD_MANAGED 0x02
-#define DCB_CAP_DCBX_VER_CEE 0x04
-#define DCB_CAP_DCBX_VER_IEEE 0x08
-#define DCB_CAP_DCBX_STATIC 0x10
-
-/**
- * enum dcbnl_numtcs_attrs - number of traffic classes
- *
- * @DCB_NUMTCS_ATTR_UNDEFINED: unspecified attribute to catch errors
- * @DCB_NUMTCS_ATTR_ALL: (NLA_FLAG) all traffic class attributes
- * @DCB_NUMTCS_ATTR_PG: (NLA_U8) number of traffic classes used for
- * priority groups
- * @DCB_NUMTCS_ATTR_PFC: (NLA_U8) number of traffic classes which can
- * support priority flow control
- */
-enum dcbnl_numtcs_attrs {
- DCB_NUMTCS_ATTR_UNDEFINED,
- DCB_NUMTCS_ATTR_ALL,
- DCB_NUMTCS_ATTR_PG,
- DCB_NUMTCS_ATTR_PFC,
-
- __DCB_NUMTCS_ATTR_ENUM_MAX,
- DCB_NUMTCS_ATTR_MAX = __DCB_NUMTCS_ATTR_ENUM_MAX - 1,
-};
-
-enum dcbnl_bcn_attrs{
- DCB_BCN_ATTR_UNDEFINED = 0,
-
- DCB_BCN_ATTR_RP_0,
- DCB_BCN_ATTR_RP_1,
- DCB_BCN_ATTR_RP_2,
- DCB_BCN_ATTR_RP_3,
- DCB_BCN_ATTR_RP_4,
- DCB_BCN_ATTR_RP_5,
- DCB_BCN_ATTR_RP_6,
- DCB_BCN_ATTR_RP_7,
- DCB_BCN_ATTR_RP_ALL,
-
- DCB_BCN_ATTR_BCNA_0,
- DCB_BCN_ATTR_BCNA_1,
- DCB_BCN_ATTR_ALPHA,
- DCB_BCN_ATTR_BETA,
- DCB_BCN_ATTR_GD,
- DCB_BCN_ATTR_GI,
- DCB_BCN_ATTR_TMAX,
- DCB_BCN_ATTR_TD,
- DCB_BCN_ATTR_RMIN,
- DCB_BCN_ATTR_W,
- DCB_BCN_ATTR_RD,
- DCB_BCN_ATTR_RU,
- DCB_BCN_ATTR_WRTT,
- DCB_BCN_ATTR_RI,
- DCB_BCN_ATTR_C,
- DCB_BCN_ATTR_ALL,
-
- __DCB_BCN_ATTR_ENUM_MAX,
- DCB_BCN_ATTR_MAX = __DCB_BCN_ATTR_ENUM_MAX - 1,
-};
-
-/**
- * enum dcb_general_attr_values - general DCB attribute values
- *
- * @DCB_ATTR_UNDEFINED: value used to indicate an attribute is not supported
- *
- */
-enum dcb_general_attr_values {
- DCB_ATTR_VALUE_UNDEFINED = 0xff
-};
-
-#define DCB_APP_IDTYPE_ETHTYPE 0x00
-#define DCB_APP_IDTYPE_PORTNUM 0x01
-enum dcbnl_app_attrs {
- DCB_APP_ATTR_UNDEFINED,
-
- DCB_APP_ATTR_IDTYPE,
- DCB_APP_ATTR_ID,
- DCB_APP_ATTR_PRIORITY,
-
- __DCB_APP_ATTR_ENUM_MAX,
- DCB_APP_ATTR_MAX = __DCB_APP_ATTR_ENUM_MAX - 1,
-};
-
-/**
- * enum dcbnl_featcfg_attrs - features conifiguration flags
- *
- * @DCB_FEATCFG_ATTR_UNDEFINED: unspecified attribute to catch errors
- * @DCB_FEATCFG_ATTR_ALL: (NLA_FLAG) all features configuration attributes
- * @DCB_FEATCFG_ATTR_PG: (NLA_U8) configuration flags for priority groups
- * @DCB_FEATCFG_ATTR_PFC: (NLA_U8) configuration flags for priority
- * flow control
- * @DCB_FEATCFG_ATTR_APP: (NLA_U8) configuration flags for application TLV
- *
- */
-#define DCB_FEATCFG_ERROR 0x01 /* error in feature resolution */
-#define DCB_FEATCFG_ENABLE 0x02 /* enable feature */
-#define DCB_FEATCFG_WILLING 0x04 /* feature is willing */
-#define DCB_FEATCFG_ADVERTISE 0x08 /* advertise feature */
-enum dcbnl_featcfg_attrs {
- DCB_FEATCFG_ATTR_UNDEFINED,
- DCB_FEATCFG_ATTR_ALL,
- DCB_FEATCFG_ATTR_PG,
- DCB_FEATCFG_ATTR_PFC,
- DCB_FEATCFG_ATTR_APP,
-
- __DCB_FEATCFG_ATTR_ENUM_MAX,
- DCB_FEATCFG_ATTR_MAX = __DCB_FEATCFG_ATTR_ENUM_MAX - 1,
-};
-
-#endif /* __LINUX_DCBNL_H__ */
diff --git a/linux-headers/include/linux/dccp.h b/linux-headers/include/linux/dccp.h
deleted file mode 100644
index d0e2226..0000000
--- a/linux-headers/include/linux/dccp.h
+++ /dev/null
@@ -1,237 +0,0 @@
-#ifndef _LINUX_DCCP_H
-#define _LINUX_DCCP_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-/**
- * struct dccp_hdr - generic part of DCCP packet header
- *
- * @dccph_sport - Relevant port on the endpoint that sent this packet
- * @dccph_dport - Relevant port on the other endpoint
- * @dccph_doff - Data Offset from the start of the DCCP header, in 32-bit words
- * @dccph_ccval - Used by the HC-Sender CCID
- * @dccph_cscov - Parts of the packet that are covered by the Checksum field
- * @dccph_checksum - Internet checksum, depends on dccph_cscov
- * @dccph_x - 0 = 24 bit sequence number, 1 = 48
- * @dccph_type - packet type, see DCCP_PKT_ prefixed macros
- * @dccph_seq - sequence number high or low order 24 bits, depends on dccph_x
- */
-struct dccp_hdr {
- __be16 dccph_sport,
- dccph_dport;
- __u8 dccph_doff;
-#if defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 dccph_cscov:4,
- dccph_ccval:4;
-#elif defined(__BIG_ENDIAN_BITFIELD)
- __u8 dccph_ccval:4,
- dccph_cscov:4;
-#else
-#error "Adjust your <asm/byteorder.h> defines"
-#endif
- __sum16 dccph_checksum;
-#if defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 dccph_x:1,
- dccph_type:4,
- dccph_reserved:3;
-#elif defined(__BIG_ENDIAN_BITFIELD)
- __u8 dccph_reserved:3,
- dccph_type:4,
- dccph_x:1;
-#else
-#error "Adjust your <asm/byteorder.h> defines"
-#endif
- __u8 dccph_seq2;
- __be16 dccph_seq;
-};
-
-/**
- * struct dccp_hdr_ext - the low bits of a 48 bit seq packet
- *
- * @dccph_seq_low - low 24 bits of a 48 bit seq packet
- */
-struct dccp_hdr_ext {
- __be32 dccph_seq_low;
-};
-
-/**
- * struct dccp_hdr_request - Connection initiation request header
- *
- * @dccph_req_service - Service to which the client app wants to connect
- */
-struct dccp_hdr_request {
- __be32 dccph_req_service;
-};
-/**
- * struct dccp_hdr_ack_bits - acknowledgment bits common to most packets
- *
- * @dccph_resp_ack_nr_high - 48 bit ack number high order bits, contains GSR
- * @dccph_resp_ack_nr_low - 48 bit ack number low order bits, contains GSR
- */
-struct dccp_hdr_ack_bits {
- __be16 dccph_reserved1;
- __be16 dccph_ack_nr_high;
- __be32 dccph_ack_nr_low;
-};
-/**
- * struct dccp_hdr_response - Connection initiation response header
- *
- * @dccph_resp_ack - 48 bit Acknowledgment Number Subheader (5.3)
- * @dccph_resp_service - Echoes the Service Code on a received DCCP-Request
- */
-struct dccp_hdr_response {
- struct dccp_hdr_ack_bits dccph_resp_ack;
- __be32 dccph_resp_service;
-};
-
-/**
- * struct dccp_hdr_reset - Unconditionally shut down a connection
- *
- * @dccph_reset_ack - 48 bit Acknowledgment Number Subheader (5.6)
- * @dccph_reset_code - one of %dccp_reset_codes
- * @dccph_reset_data - the Data 1 ... Data 3 fields from 5.6
- */
-struct dccp_hdr_reset {
- struct dccp_hdr_ack_bits dccph_reset_ack;
- __u8 dccph_reset_code,
- dccph_reset_data[3];
-};
-
-enum dccp_pkt_type {
- DCCP_PKT_REQUEST = 0,
- DCCP_PKT_RESPONSE,
- DCCP_PKT_DATA,
- DCCP_PKT_ACK,
- DCCP_PKT_DATAACK,
- DCCP_PKT_CLOSEREQ,
- DCCP_PKT_CLOSE,
- DCCP_PKT_RESET,
- DCCP_PKT_SYNC,
- DCCP_PKT_SYNCACK,
- DCCP_PKT_INVALID,
-};
-
-#define DCCP_NR_PKT_TYPES DCCP_PKT_INVALID
-
-static __inline__ unsigned int dccp_packet_hdr_len(const __u8 type)
-{
- if (type == DCCP_PKT_DATA)
- return 0;
- if (type == DCCP_PKT_DATAACK ||
- type == DCCP_PKT_ACK ||
- type == DCCP_PKT_SYNC ||
- type == DCCP_PKT_SYNCACK ||
- type == DCCP_PKT_CLOSE ||
- type == DCCP_PKT_CLOSEREQ)
- return sizeof(struct dccp_hdr_ack_bits);
- if (type == DCCP_PKT_REQUEST)
- return sizeof(struct dccp_hdr_request);
- if (type == DCCP_PKT_RESPONSE)
- return sizeof(struct dccp_hdr_response);
- return sizeof(struct dccp_hdr_reset);
-}
-enum dccp_reset_codes {
- DCCP_RESET_CODE_UNSPECIFIED = 0,
- DCCP_RESET_CODE_CLOSED,
- DCCP_RESET_CODE_ABORTED,
- DCCP_RESET_CODE_NO_CONNECTION,
- DCCP_RESET_CODE_PACKET_ERROR,
- DCCP_RESET_CODE_OPTION_ERROR,
- DCCP_RESET_CODE_MANDATORY_ERROR,
- DCCP_RESET_CODE_CONNECTION_REFUSED,
- DCCP_RESET_CODE_BAD_SERVICE_CODE,
- DCCP_RESET_CODE_TOO_BUSY,
- DCCP_RESET_CODE_BAD_INIT_COOKIE,
- DCCP_RESET_CODE_AGGRESSION_PENALTY,
-
- DCCP_MAX_RESET_CODES /* Leave at the end! */
-};
-
-/* DCCP options */
-enum {
- DCCPO_PADDING = 0,
- DCCPO_MANDATORY = 1,
- DCCPO_MIN_RESERVED = 3,
- DCCPO_MAX_RESERVED = 31,
- DCCPO_CHANGE_L = 32,
- DCCPO_CONFIRM_L = 33,
- DCCPO_CHANGE_R = 34,
- DCCPO_CONFIRM_R = 35,
- DCCPO_NDP_COUNT = 37,
- DCCPO_ACK_VECTOR_0 = 38,
- DCCPO_ACK_VECTOR_1 = 39,
- DCCPO_TIMESTAMP = 41,
- DCCPO_TIMESTAMP_ECHO = 42,
- DCCPO_ELAPSED_TIME = 43,
- DCCPO_MAX = 45,
- DCCPO_MIN_RX_CCID_SPECIFIC = 128, /* from sender to receiver */
- DCCPO_MAX_RX_CCID_SPECIFIC = 191,
- DCCPO_MIN_TX_CCID_SPECIFIC = 192, /* from receiver to sender */
- DCCPO_MAX_TX_CCID_SPECIFIC = 255,
-};
-/* maximum size of a single TLV-encoded DCCP option (sans type/len bytes) */
-#define DCCP_SINGLE_OPT_MAXLEN 253
-
-/* DCCP CCIDS */
-enum {
- DCCPC_CCID2 = 2,
- DCCPC_CCID3 = 3,
-};
-
-/* DCCP features (RFC 4340 section 6.4) */
-enum dccp_feature_numbers {
- DCCPF_RESERVED = 0,
- DCCPF_CCID = 1,
- DCCPF_SHORT_SEQNOS = 2,
- DCCPF_SEQUENCE_WINDOW = 3,
- DCCPF_ECN_INCAPABLE = 4,
- DCCPF_ACK_RATIO = 5,
- DCCPF_SEND_ACK_VECTOR = 6,
- DCCPF_SEND_NDP_COUNT = 7,
- DCCPF_MIN_CSUM_COVER = 8,
- DCCPF_DATA_CHECKSUM = 9,
- /* 10-127 reserved */
- DCCPF_MIN_CCID_SPECIFIC = 128,
- DCCPF_SEND_LEV_RATE = 192, /* RFC 4342, sec. 8.4 */
- DCCPF_MAX_CCID_SPECIFIC = 255,
-};
-
-/* DCCP socket control message types for cmsg */
-enum dccp_cmsg_type {
- DCCP_SCM_PRIORITY = 1,
- DCCP_SCM_QPOLICY_MAX = 0xFFFF,
- /* ^-- Up to here reserved exclusively for qpolicy parameters */
- DCCP_SCM_MAX
-};
-
-/* DCCP priorities for outgoing/queued packets */
-enum dccp_packet_dequeueing_policy {
- DCCPQ_POLICY_SIMPLE,
- DCCPQ_POLICY_PRIO,
- DCCPQ_POLICY_MAX
-};
-
-/* DCCP socket options */
-#define DCCP_SOCKOPT_PACKET_SIZE 1 /* XXX deprecated, without effect */
-#define DCCP_SOCKOPT_SERVICE 2
-#define DCCP_SOCKOPT_CHANGE_L 3
-#define DCCP_SOCKOPT_CHANGE_R 4
-#define DCCP_SOCKOPT_GET_CUR_MPS 5
-#define DCCP_SOCKOPT_SERVER_TIMEWAIT 6
-#define DCCP_SOCKOPT_SEND_CSCOV 10
-#define DCCP_SOCKOPT_RECV_CSCOV 11
-#define DCCP_SOCKOPT_AVAILABLE_CCIDS 12
-#define DCCP_SOCKOPT_CCID 13
-#define DCCP_SOCKOPT_TX_CCID 14
-#define DCCP_SOCKOPT_RX_CCID 15
-#define DCCP_SOCKOPT_QPOLICY_ID 16
-#define DCCP_SOCKOPT_QPOLICY_TXQLEN 17
-#define DCCP_SOCKOPT_CCID_RX_INFO 128
-#define DCCP_SOCKOPT_CCID_TX_INFO 192
-
-/* maximum number of services provided on the same listening port */
-#define DCCP_SERVICE_LIST_MAX_LEN 32
-
-
-#endif /* _LINUX_DCCP_H */
diff --git a/linux-headers/include/linux/devlink.h b/linux-headers/include/linux/devlink.h
deleted file mode 100644
index a96e1a0..0000000
--- a/linux-headers/include/linux/devlink.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * include/uapi/linux/devlink.h - Network physical device Netlink interface
- * Copyright (c) 2016 Mellanox Technologies. All rights reserved.
- * Copyright (c) 2016 Jiri Pirko <jiri@mellanox.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef _LINUX_DEVLINK_H_
-#define _LINUX_DEVLINK_H_
-
-#define DEVLINK_GENL_NAME "devlink"
-#define DEVLINK_GENL_VERSION 0x1
-#define DEVLINK_GENL_MCGRP_CONFIG_NAME "config"
-
-enum devlink_command {
- /* don't change the order or add anything between, this is ABI! */
- DEVLINK_CMD_UNSPEC,
-
- DEVLINK_CMD_GET, /* can dump */
- DEVLINK_CMD_SET,
- DEVLINK_CMD_NEW,
- DEVLINK_CMD_DEL,
-
- DEVLINK_CMD_PORT_GET, /* can dump */
- DEVLINK_CMD_PORT_SET,
- DEVLINK_CMD_PORT_NEW,
- DEVLINK_CMD_PORT_DEL,
-
- DEVLINK_CMD_PORT_SPLIT,
- DEVLINK_CMD_PORT_UNSPLIT,
-
- /* add new commands above here */
-
- __DEVLINK_CMD_MAX,
- DEVLINK_CMD_MAX = __DEVLINK_CMD_MAX - 1
-};
-
-enum devlink_port_type {
- DEVLINK_PORT_TYPE_NOTSET,
- DEVLINK_PORT_TYPE_AUTO,
- DEVLINK_PORT_TYPE_ETH,
- DEVLINK_PORT_TYPE_IB,
-};
-
-enum devlink_attr {
- /* don't change the order or add anything between, this is ABI! */
- DEVLINK_ATTR_UNSPEC,
-
- /* bus name + dev name together are a handle for devlink entity */
- DEVLINK_ATTR_BUS_NAME, /* string */
- DEVLINK_ATTR_DEV_NAME, /* string */
-
- DEVLINK_ATTR_PORT_INDEX, /* u32 */
- DEVLINK_ATTR_PORT_TYPE, /* u16 */
- DEVLINK_ATTR_PORT_DESIRED_TYPE, /* u16 */
- DEVLINK_ATTR_PORT_NETDEV_IFINDEX, /* u32 */
- DEVLINK_ATTR_PORT_NETDEV_NAME, /* string */
- DEVLINK_ATTR_PORT_IBDEV_NAME, /* string */
- DEVLINK_ATTR_PORT_SPLIT_COUNT, /* u32 */
- DEVLINK_ATTR_PORT_SPLIT_GROUP, /* u32 */
-
- /* add new attributes above here, update the policy in devlink.c */
-
- __DEVLINK_ATTR_MAX,
- DEVLINK_ATTR_MAX = __DEVLINK_ATTR_MAX - 1
-};
-
-#endif /* _LINUX_DEVLINK_H_ */
diff --git a/linux-headers/include/linux/dlm.h b/linux-headers/include/linux/dlm.h
deleted file mode 100644
index 6120d50..0000000
--- a/linux-headers/include/linux/dlm.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/******************************************************************************
-*******************************************************************************
-**
-** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
-** Copyright (C) 2004-2011 Red Hat, Inc. All rights reserved.
-**
-** This copyrighted material is made available to anyone wishing to use,
-** modify, copy, or redistribute it subject to the terms and conditions
-** of the GNU General Public License v.2.
-**
-*******************************************************************************
-******************************************************************************/
-
-#ifndef __DLM_DOT_H__
-#define __DLM_DOT_H__
-
-/*
- * Interface to Distributed Lock Manager (DLM)
- * routines and structures to use DLM lockspaces
- */
-
-/* Lock levels and flags are here */
-#include <linux/dlmconstants.h>
-#include <linux/types.h>
-
-typedef void dlm_lockspace_t;
-
-/*
- * Lock status block
- *
- * Use this structure to specify the contents of the lock value block. For a
- * conversion request, this structure is used to specify the lock ID of the
- * lock. DLM writes the status of the lock request and the lock ID assigned
- * to the request in the lock status block.
- *
- * sb_lkid: the returned lock ID. It is set on new (non-conversion) requests.
- * It is available when dlm_lock returns.
- *
- * sb_lvbptr: saves or returns the contents of the lock's LVB according to rules
- * shown for the DLM_LKF_VALBLK flag.
- *
- * sb_flags: DLM_SBF_DEMOTED is returned if in the process of promoting a lock,
- * it was first demoted to NL to avoid conversion deadlock.
- * DLM_SBF_VALNOTVALID is returned if the resource's LVB is marked invalid.
- *
- * sb_status: the returned status of the lock request set prior to AST
- * execution. Possible return values:
- *
- * 0 if lock request was successful
- * -EAGAIN if request would block and is flagged DLM_LKF_NOQUEUE
- * -DLM_EUNLOCK if unlock request was successful
- * -DLM_ECANCEL if a cancel completed successfully
- * -EDEADLK if a deadlock was detected
- * -ETIMEDOUT if the lock request was canceled due to a timeout
- */
-
-#define DLM_SBF_DEMOTED 0x01
-#define DLM_SBF_VALNOTVALID 0x02
-#define DLM_SBF_ALTMODE 0x04
-
-struct dlm_lksb {
- int sb_status;
- __u32 sb_lkid;
- char sb_flags;
- char * sb_lvbptr;
-};
-
-/* dlm_new_lockspace() flags */
-
-#define DLM_LSFL_TIMEWARN 0x00000002
-#define DLM_LSFL_FS 0x00000004
-#define DLM_LSFL_NEWEXCL 0x00000008
-
-
-#endif /* __DLM_DOT_H__ */
diff --git a/linux-headers/include/linux/dlm_device.h b/linux-headers/include/linux/dlm_device.h
deleted file mode 100644
index 45f8101..0000000
--- a/linux-headers/include/linux/dlm_device.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/******************************************************************************
-*******************************************************************************
-**
-** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
-** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
-**
-** This copyrighted material is made available to anyone wishing to use,
-** modify, copy, or redistribute it subject to the terms and conditions
-** of the GNU General Public License v.2.
-**
-*******************************************************************************
-******************************************************************************/
-
-#ifndef _LINUX_DLM_DEVICE_H
-#define _LINUX_DLM_DEVICE_H
-
-/* This is the device interface for dlm, most users will use a library
- * interface.
- */
-
-#include <linux/dlm.h>
-#include <linux/types.h>
-
-#define DLM_USER_LVB_LEN 32
-
-/* Version of the device interface */
-#define DLM_DEVICE_VERSION_MAJOR 6
-#define DLM_DEVICE_VERSION_MINOR 0
-#define DLM_DEVICE_VERSION_PATCH 2
-
-/* struct passed to the lock write */
-struct dlm_lock_params {
- __u8 mode;
- __u8 namelen;
- __u16 unused;
- __u32 flags;
- __u32 lkid;
- __u32 parent;
- __u64 xid;
- __u64 timeout;
- void *castparam;
- void *castaddr;
- void *bastparam;
- void *bastaddr;
- struct dlm_lksb *lksb;
- char lvb[DLM_USER_LVB_LEN];
- char name[0];
-};
-
-struct dlm_lspace_params {
- __u32 flags;
- __u32 minor;
- char name[0];
-};
-
-struct dlm_purge_params {
- __u32 nodeid;
- __u32 pid;
-};
-
-struct dlm_write_request {
- __u32 version[3];
- __u8 cmd;
- __u8 is64bit;
- __u8 unused[2];
-
- union {
- struct dlm_lock_params lock;
- struct dlm_lspace_params lspace;
- struct dlm_purge_params purge;
- } i;
-};
-
-struct dlm_device_version {
- __u32 version[3];
-};
-
-/* struct read from the "device" fd,
- consists mainly of userspace pointers for the library to use */
-
-struct dlm_lock_result {
- __u32 version[3];
- __u32 length;
- void * user_astaddr;
- void * user_astparam;
- struct dlm_lksb * user_lksb;
- struct dlm_lksb lksb;
- __u8 bast_mode;
- __u8 unused[3];
- /* Offsets may be zero if no data is present */
- __u32 lvb_offset;
-};
-
-/* Commands passed to the device */
-#define DLM_USER_LOCK 1
-#define DLM_USER_UNLOCK 2
-#define DLM_USER_QUERY 3
-#define DLM_USER_CREATE_LOCKSPACE 4
-#define DLM_USER_REMOVE_LOCKSPACE 5
-#define DLM_USER_PURGE 6
-#define DLM_USER_DEADLOCK 7
-
-/* Lockspace flags */
-#define DLM_USER_LSFLG_AUTOFREE 1
-#define DLM_USER_LSFLG_FORCEFREE 2
-
-#endif
-
diff --git a/linux-headers/include/linux/dlm_netlink.h b/linux-headers/include/linux/dlm_netlink.h
deleted file mode 100644
index 647c8ef..0000000
--- a/linux-headers/include/linux/dlm_netlink.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2007 Red Hat, Inc. All rights reserved.
- *
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
- */
-
-#ifndef _DLM_NETLINK_H
-#define _DLM_NETLINK_H
-
-#include <linux/types.h>
-
-enum {
- DLM_STATUS_WAITING = 1,
- DLM_STATUS_GRANTED = 2,
- DLM_STATUS_CONVERT = 3,
-};
-
-#define DLM_LOCK_DATA_VERSION 1
-
-struct dlm_lock_data {
- __u16 version;
- __u32 lockspace_id;
- int nodeid;
- int ownpid;
- __u32 id;
- __u32 remid;
- __u64 xid;
- __s8 status;
- __s8 grmode;
- __s8 rqmode;
- unsigned long timestamp;
- int resource_namelen;
- char resource_name[DLM_RESNAME_MAXLEN];
-};
-
-enum {
- DLM_CMD_UNSPEC = 0,
- DLM_CMD_HELLO, /* user->kernel */
- DLM_CMD_TIMEOUT, /* kernel->user */
- __DLM_CMD_MAX,
-};
-
-#define DLM_CMD_MAX (__DLM_CMD_MAX - 1)
-
-enum {
- DLM_TYPE_UNSPEC = 0,
- DLM_TYPE_LOCK,
- __DLM_TYPE_MAX,
-};
-
-#define DLM_TYPE_MAX (__DLM_TYPE_MAX - 1)
-
-#define DLM_GENL_VERSION 0x1
-#define DLM_GENL_NAME "DLM"
-
-#endif /* _DLM_NETLINK_H */
diff --git a/linux-headers/include/linux/dlm_plock.h b/linux-headers/include/linux/dlm_plock.h
deleted file mode 100644
index 6403ea2..0000000
--- a/linux-headers/include/linux/dlm_plock.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (C) 2005-2008 Red Hat, Inc. All rights reserved.
- *
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
- */
-
-#ifndef __DLM_PLOCK_DOT_H__
-#define __DLM_PLOCK_DOT_H__
-
-#include <linux/types.h>
-
-#define DLM_PLOCK_MISC_NAME "dlm_plock"
-
-#define DLM_PLOCK_VERSION_MAJOR 1
-#define DLM_PLOCK_VERSION_MINOR 2
-#define DLM_PLOCK_VERSION_PATCH 0
-
-enum {
- DLM_PLOCK_OP_LOCK = 1,
- DLM_PLOCK_OP_UNLOCK,
- DLM_PLOCK_OP_GET,
-};
-
-#define DLM_PLOCK_FL_CLOSE 1
-
-struct dlm_plock_info {
- __u32 version[3];
- __u8 optype;
- __u8 ex;
- __u8 wait;
- __u8 flags;
- __u32 pid;
- __s32 nodeid;
- __s32 rv;
- __u32 fsid;
- __u64 number;
- __u64 start;
- __u64 end;
- __u64 owner;
-};
-
-
-#endif /* __DLM_PLOCK_DOT_H__ */
diff --git a/linux-headers/include/linux/dlmconstants.h b/linux-headers/include/linux/dlmconstants.h
deleted file mode 100644
index 2857bdc..0000000
--- a/linux-headers/include/linux/dlmconstants.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/******************************************************************************
-*******************************************************************************
-**
-** Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
-** Copyright (C) 2004-2007 Red Hat, Inc. All rights reserved.
-**
-** This copyrighted material is made available to anyone wishing to use,
-** modify, copy, or redistribute it subject to the terms and conditions
-** of the GNU General Public License v.2.
-**
-*******************************************************************************
-******************************************************************************/
-
-#ifndef __DLMCONSTANTS_DOT_H__
-#define __DLMCONSTANTS_DOT_H__
-
-/*
- * Constants used by DLM interface.
- */
-
-#define DLM_LOCKSPACE_LEN 64
-#define DLM_RESNAME_MAXLEN 64
-
-
-/*
- * Lock Modes
- */
-
-#define DLM_LOCK_IV (-1) /* invalid */
-#define DLM_LOCK_NL 0 /* null */
-#define DLM_LOCK_CR 1 /* concurrent read */
-#define DLM_LOCK_CW 2 /* concurrent write */
-#define DLM_LOCK_PR 3 /* protected read */
-#define DLM_LOCK_PW 4 /* protected write */
-#define DLM_LOCK_EX 5 /* exclusive */
-
-
-/*
- * Flags to dlm_lock
- *
- * DLM_LKF_NOQUEUE
- *
- * Do not queue the lock request on the wait queue if it cannot be granted
- * immediately. If the lock cannot be granted because of this flag, DLM will
- * either return -EAGAIN from the dlm_lock call or will return 0 from
- * dlm_lock and -EAGAIN in the lock status block when the AST is executed.
- *
- * DLM_LKF_CANCEL
- *
- * Used to cancel a pending lock request or conversion. A converting lock is
- * returned to its previously granted mode.
- *
- * DLM_LKF_CONVERT
- *
- * Indicates a lock conversion request. For conversions the name and namelen
- * are ignored and the lock ID in the LKSB is used to identify the lock.
- *
- * DLM_LKF_VALBLK
- *
- * Requests DLM to return the current contents of the lock value block in the
- * lock status block. When this flag is set in a lock conversion from PW or EX
- * modes, DLM assigns the value specified in the lock status block to the lock
- * value block of the lock resource. The LVB is a DLM_LVB_LEN size array
- * containing application-specific information.
- *
- * DLM_LKF_QUECVT
- *
- * Force a conversion request to be queued, even if it is compatible with
- * the granted modes of other locks on the same resource.
- *
- * DLM_LKF_IVVALBLK
- *
- * Invalidate the lock value block.
- *
- * DLM_LKF_CONVDEADLK
- *
- * Allows the dlm to resolve conversion deadlocks internally by demoting the
- * granted mode of a converting lock to NL. The DLM_SBF_DEMOTED flag is
- * returned for a conversion that's been effected by this.
- *
- * DLM_LKF_PERSISTENT
- *
- * Only relevant to locks originating in userspace. A persistent lock will not
- * be removed if the process holding the lock exits.
- *
- * DLM_LKF_NODLCKWT
- *
- * Do not cancel the lock if it gets into conversion deadlock.
- * Exclude this lock from being monitored due to DLM_LSFL_TIMEWARN.
- *
- * DLM_LKF_NODLCKBLK
- *
- * net yet implemented
- *
- * DLM_LKF_EXPEDITE
- *
- * Used only with new requests for NL mode locks. Tells the lock manager
- * to grant the lock, ignoring other locks in convert and wait queues.
- *
- * DLM_LKF_NOQUEUEBAST
- *
- * Send blocking AST's before returning -EAGAIN to the caller. It is only
- * used along with the NOQUEUE flag. Blocking AST's are not sent for failed
- * NOQUEUE requests otherwise.
- *
- * DLM_LKF_HEADQUE
- *
- * Add a lock to the head of the convert or wait queue rather than the tail.
- *
- * DLM_LKF_NOORDER
- *
- * Disregard the standard grant order rules and grant a lock as soon as it
- * is compatible with other granted locks.
- *
- * DLM_LKF_ORPHAN
- *
- * Acquire an orphan lock.
- *
- * DLM_LKF_ALTPR
- *
- * If the requested mode cannot be granted immediately, try to grant the lock
- * in PR mode instead. If this alternate mode is granted instead of the
- * requested mode, DLM_SBF_ALTMODE is returned in the lksb.
- *
- * DLM_LKF_ALTCW
- *
- * The same as ALTPR, but the alternate mode is CW.
- *
- * DLM_LKF_FORCEUNLOCK
- *
- * Unlock the lock even if it is converting or waiting or has sublocks.
- * Only really for use by the userland device.c code.
- *
- */
-
-#define DLM_LKF_NOQUEUE 0x00000001
-#define DLM_LKF_CANCEL 0x00000002
-#define DLM_LKF_CONVERT 0x00000004
-#define DLM_LKF_VALBLK 0x00000008
-#define DLM_LKF_QUECVT 0x00000010
-#define DLM_LKF_IVVALBLK 0x00000020
-#define DLM_LKF_CONVDEADLK 0x00000040
-#define DLM_LKF_PERSISTENT 0x00000080
-#define DLM_LKF_NODLCKWT 0x00000100
-#define DLM_LKF_NODLCKBLK 0x00000200
-#define DLM_LKF_EXPEDITE 0x00000400
-#define DLM_LKF_NOQUEUEBAST 0x00000800
-#define DLM_LKF_HEADQUE 0x00001000
-#define DLM_LKF_NOORDER 0x00002000
-#define DLM_LKF_ORPHAN 0x00004000
-#define DLM_LKF_ALTPR 0x00008000
-#define DLM_LKF_ALTCW 0x00010000
-#define DLM_LKF_FORCEUNLOCK 0x00020000
-#define DLM_LKF_TIMEOUT 0x00040000
-
-/*
- * Some return codes that are not in errno.h
- */
-
-#define DLM_ECANCEL 0x10001
-#define DLM_EUNLOCK 0x10002
-
-#endif /* __DLMCONSTANTS_DOT_H__ */
diff --git a/linux-headers/include/linux/dm-ioctl.h b/linux-headers/include/linux/dm-ioctl.h
deleted file mode 100644
index 30afd0a..0000000
--- a/linux-headers/include/linux/dm-ioctl.h
+++ /dev/null
@@ -1,360 +0,0 @@
-/*
- * Copyright (C) 2001 - 2003 Sistina Software (UK) Limited.
- * Copyright (C) 2004 - 2009 Red Hat, Inc. All rights reserved.
- *
- * This file is released under the LGPL.
- */
-
-#ifndef _LINUX_DM_IOCTL_V4_H
-#define _LINUX_DM_IOCTL_V4_H
-
-#include <linux/types.h>
-
-#define DM_DIR "mapper" /* Slashes not supported */
-#define DM_CONTROL_NODE "control"
-#define DM_MAX_TYPE_NAME 16
-#define DM_NAME_LEN 128
-#define DM_UUID_LEN 129
-
-/*
- * A traditional ioctl interface for the device mapper.
- *
- * Each device can have two tables associated with it, an
- * 'active' table which is the one currently used by io passing
- * through the device, and an 'inactive' one which is a table
- * that is being prepared as a replacement for the 'active' one.
- *
- * DM_VERSION:
- * Just get the version information for the ioctl interface.
- *
- * DM_REMOVE_ALL:
- * Remove all dm devices, destroy all tables. Only really used
- * for debug.
- *
- * DM_LIST_DEVICES:
- * Get a list of all the dm device names.
- *
- * DM_DEV_CREATE:
- * Create a new device, neither the 'active' or 'inactive' table
- * slots will be filled. The device will be in suspended state
- * after creation, however any io to the device will get errored
- * since it will be out-of-bounds.
- *
- * DM_DEV_REMOVE:
- * Remove a device, destroy any tables.
- *
- * DM_DEV_RENAME:
- * Rename a device or set its uuid if none was previously supplied.
- *
- * DM_SUSPEND:
- * This performs both suspend and resume, depending which flag is
- * passed in.
- * Suspend: This command will not return until all pending io to
- * the device has completed. Further io will be deferred until
- * the device is resumed.
- * Resume: It is no longer an error to issue this command on an
- * unsuspended device. If a table is present in the 'inactive'
- * slot, it will be moved to the active slot, then the old table
- * from the active slot will be _destroyed_. Finally the device
- * is resumed.
- *
- * DM_DEV_STATUS:
- * Retrieves the status for the table in the 'active' slot.
- *
- * DM_DEV_WAIT:
- * Wait for a significant event to occur to the device. This
- * could either be caused by an event triggered by one of the
- * targets of the table in the 'active' slot, or a table change.
- *
- * DM_TABLE_LOAD:
- * Load a table into the 'inactive' slot for the device. The
- * device does _not_ need to be suspended prior to this command.
- *
- * DM_TABLE_CLEAR:
- * Destroy any table in the 'inactive' slot (ie. abort).
- *
- * DM_TABLE_DEPS:
- * Return a set of device dependencies for the 'active' table.
- *
- * DM_TABLE_STATUS:
- * Return the targets status for the 'active' table.
- *
- * DM_TARGET_MSG:
- * Pass a message string to the target at a specific offset of a device.
- *
- * DM_DEV_SET_GEOMETRY:
- * Set the geometry of a device by passing in a string in this format:
- *
- * "cylinders heads sectors_per_track start_sector"
- *
- * Beware that CHS geometry is nearly obsolete and only provided
- * for compatibility with dm devices that can be booted by a PC
- * BIOS. See struct hd_geometry for range limits. Also note that
- * the geometry is erased if the device size changes.
- */
-
-/*
- * All ioctl arguments consist of a single chunk of memory, with
- * this structure at the start. If a uuid is specified any
- * lookup (eg. for a DM_INFO) will be done on that, *not* the
- * name.
- */
-struct dm_ioctl {
- /*
- * The version number is made up of three parts:
- * major - no backward or forward compatibility,
- * minor - only backwards compatible,
- * patch - both backwards and forwards compatible.
- *
- * All clients of the ioctl interface should fill in the
- * version number of the interface that they were
- * compiled with.
- *
- * All recognised ioctl commands (ie. those that don't
- * return -ENOTTY) fill out this field, even if the
- * command failed.
- */
- __u32 version[3]; /* in/out */
- __u32 data_size; /* total size of data passed in
- * including this struct */
-
- __u32 data_start; /* offset to start of data
- * relative to start of this struct */
-
- __u32 target_count; /* in/out */
- __s32 open_count; /* out */
- __u32 flags; /* in/out */
-
- /*
- * event_nr holds either the event number (input and output) or the
- * udev cookie value (input only).
- * The DM_DEV_WAIT ioctl takes an event number as input.
- * The DM_SUSPEND, DM_DEV_REMOVE and DM_DEV_RENAME ioctls
- * use the field as a cookie to return in the DM_COOKIE
- * variable with the uevents they issue.
- * For output, the ioctls return the event number, not the cookie.
- */
- __u32 event_nr; /* in/out */
- __u32 padding;
-
- __u64 dev; /* in/out */
-
- char name[DM_NAME_LEN]; /* device name */
- char uuid[DM_UUID_LEN]; /* unique identifier for
- * the block device */
- char data[7]; /* padding or data */
-};
-
-/*
- * Used to specify tables. These structures appear after the
- * dm_ioctl.
- */
-struct dm_target_spec {
- __u64 sector_start;
- __u64 length;
- __s32 status; /* used when reading from kernel only */
-
- /*
- * Location of the next dm_target_spec.
- * - When specifying targets on a DM_TABLE_LOAD command, this value is
- * the number of bytes from the start of the "current" dm_target_spec
- * to the start of the "next" dm_target_spec.
- * - When retrieving targets on a DM_TABLE_STATUS command, this value
- * is the number of bytes from the start of the first dm_target_spec
- * (that follows the dm_ioctl struct) to the start of the "next"
- * dm_target_spec.
- */
- __u32 next;
-
- char target_type[DM_MAX_TYPE_NAME];
-
- /*
- * Parameter string starts immediately after this object.
- * Be careful to add padding after string to ensure correct
- * alignment of subsequent dm_target_spec.
- */
-};
-
-/*
- * Used to retrieve the target dependencies.
- */
-struct dm_target_deps {
- __u32 count; /* Array size */
- __u32 padding; /* unused */
- __u64 dev[0]; /* out */
-};
-
-/*
- * Used to get a list of all dm devices.
- */
-struct dm_name_list {
- __u64 dev;
- __u32 next; /* offset to the next record from
- the _start_ of this */
- char name[0];
-};
-
-/*
- * Used to retrieve the target versions
- */
-struct dm_target_versions {
- __u32 next;
- __u32 version[3];
-
- char name[0];
-};
-
-/*
- * Used to pass message to a target
- */
-struct dm_target_msg {
- __u64 sector; /* Device sector */
-
- char message[0];
-};
-
-/*
- * If you change this make sure you make the corresponding change
- * to dm-ioctl.c:lookup_ioctl()
- */
-enum {
- /* Top level cmds */
- DM_VERSION_CMD = 0,
- DM_REMOVE_ALL_CMD,
- DM_LIST_DEVICES_CMD,
-
- /* device level cmds */
- DM_DEV_CREATE_CMD,
- DM_DEV_REMOVE_CMD,
- DM_DEV_RENAME_CMD,
- DM_DEV_SUSPEND_CMD,
- DM_DEV_STATUS_CMD,
- DM_DEV_WAIT_CMD,
-
- /* Table level cmds */
- DM_TABLE_LOAD_CMD,
- DM_TABLE_CLEAR_CMD,
- DM_TABLE_DEPS_CMD,
- DM_TABLE_STATUS_CMD,
-
- /* Added later */
- DM_LIST_VERSIONS_CMD,
- DM_TARGET_MSG_CMD,
- DM_DEV_SET_GEOMETRY_CMD
-};
-
-#define DM_IOCTL 0xfd
-
-#define DM_VERSION _IOWR(DM_IOCTL, DM_VERSION_CMD, struct dm_ioctl)
-#define DM_REMOVE_ALL _IOWR(DM_IOCTL, DM_REMOVE_ALL_CMD, struct dm_ioctl)
-#define DM_LIST_DEVICES _IOWR(DM_IOCTL, DM_LIST_DEVICES_CMD, struct dm_ioctl)
-
-#define DM_DEV_CREATE _IOWR(DM_IOCTL, DM_DEV_CREATE_CMD, struct dm_ioctl)
-#define DM_DEV_REMOVE _IOWR(DM_IOCTL, DM_DEV_REMOVE_CMD, struct dm_ioctl)
-#define DM_DEV_RENAME _IOWR(DM_IOCTL, DM_DEV_RENAME_CMD, struct dm_ioctl)
-#define DM_DEV_SUSPEND _IOWR(DM_IOCTL, DM_DEV_SUSPEND_CMD, struct dm_ioctl)
-#define DM_DEV_STATUS _IOWR(DM_IOCTL, DM_DEV_STATUS_CMD, struct dm_ioctl)
-#define DM_DEV_WAIT _IOWR(DM_IOCTL, DM_DEV_WAIT_CMD, struct dm_ioctl)
-
-#define DM_TABLE_LOAD _IOWR(DM_IOCTL, DM_TABLE_LOAD_CMD, struct dm_ioctl)
-#define DM_TABLE_CLEAR _IOWR(DM_IOCTL, DM_TABLE_CLEAR_CMD, struct dm_ioctl)
-#define DM_TABLE_DEPS _IOWR(DM_IOCTL, DM_TABLE_DEPS_CMD, struct dm_ioctl)
-#define DM_TABLE_STATUS _IOWR(DM_IOCTL, DM_TABLE_STATUS_CMD, struct dm_ioctl)
-
-#define DM_LIST_VERSIONS _IOWR(DM_IOCTL, DM_LIST_VERSIONS_CMD, struct dm_ioctl)
-
-#define DM_TARGET_MSG _IOWR(DM_IOCTL, DM_TARGET_MSG_CMD, struct dm_ioctl)
-#define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl)
-
-#define DM_VERSION_MAJOR 4
-#define DM_VERSION_MINOR 34
-#define DM_VERSION_PATCHLEVEL 0
-#define DM_VERSION_EXTRA "-ioctl (2015-10-28)"
-
-/* Status bits */
-#define DM_READONLY_FLAG (1 << 0) /* In/Out */
-#define DM_SUSPEND_FLAG (1 << 1) /* In/Out */
-#define DM_PERSISTENT_DEV_FLAG (1 << 3) /* In */
-
-/*
- * Flag passed into ioctl STATUS command to get table information
- * rather than current status.
- */
-#define DM_STATUS_TABLE_FLAG (1 << 4) /* In */
-
-/*
- * Flags that indicate whether a table is present in either of
- * the two table slots that a device has.
- */
-#define DM_ACTIVE_PRESENT_FLAG (1 << 5) /* Out */
-#define DM_INACTIVE_PRESENT_FLAG (1 << 6) /* Out */
-
-/*
- * Indicates that the buffer passed in wasn't big enough for the
- * results.
- */
-#define DM_BUFFER_FULL_FLAG (1 << 8) /* Out */
-
-/*
- * This flag is now ignored.
- */
-#define DM_SKIP_BDGET_FLAG (1 << 9) /* In */
-
-/*
- * Set this to avoid attempting to freeze any filesystem when suspending.
- */
-#define DM_SKIP_LOCKFS_FLAG (1 << 10) /* In */
-
-/*
- * Set this to suspend without flushing queued ios.
- * Also disables flushing uncommitted changes in the thin target before
- * generating statistics for DM_TABLE_STATUS and DM_DEV_WAIT.
- */
-#define DM_NOFLUSH_FLAG (1 << 11) /* In */
-
-/*
- * If set, any table information returned will relate to the inactive
- * table instead of the live one. Always check DM_INACTIVE_PRESENT_FLAG
- * is set before using the data returned.
- */
-#define DM_QUERY_INACTIVE_TABLE_FLAG (1 << 12) /* In */
-
-/*
- * If set, a uevent was generated for which the caller may need to wait.
- */
-#define DM_UEVENT_GENERATED_FLAG (1 << 13) /* Out */
-
-/*
- * If set, rename changes the uuid not the name. Only permitted
- * if no uuid was previously supplied: an existing uuid cannot be changed.
- */
-#define DM_UUID_FLAG (1 << 14) /* In */
-
-/*
- * If set, all buffers are wiped after use. Use when sending
- * or requesting sensitive data such as an encryption key.
- */
-#define DM_SECURE_DATA_FLAG (1 << 15) /* In */
-
-/*
- * If set, a message generated output data.
- */
-#define DM_DATA_OUT_FLAG (1 << 16) /* Out */
-
-/*
- * If set with DM_DEV_REMOVE or DM_REMOVE_ALL this indicates that if
- * the device cannot be removed immediately because it is still in use
- * it should instead be scheduled for removal when it gets closed.
- *
- * On return from DM_DEV_REMOVE, DM_DEV_STATUS or other ioctls, this
- * flag indicates that the device is scheduled to be removed when it
- * gets closed.
- */
-#define DM_DEFERRED_REMOVE (1 << 17) /* In/Out */
-
-/*
- * If set, the device is suspended internally.
- */
-#define DM_INTERNAL_SUSPEND_FLAG (1 << 18) /* Out */
-
-#endif /* _LINUX_DM_IOCTL_H */
diff --git a/linux-headers/include/linux/dm-log-userspace.h b/linux-headers/include/linux/dm-log-userspace.h
deleted file mode 100644
index 0fa0d9e..0000000
--- a/linux-headers/include/linux/dm-log-userspace.h
+++ /dev/null
@@ -1,430 +0,0 @@
-/*
- * Copyright (C) 2006-2009 Red Hat, Inc.
- *
- * This file is released under the LGPL.
- */
-
-#ifndef __DM_LOG_USERSPACE_H__
-#define __DM_LOG_USERSPACE_H__
-
-#include <linux/dm-ioctl.h> /* For DM_UUID_LEN */
-
-/*
- * The device-mapper userspace log module consists of a kernel component and
- * a user-space component. The kernel component implements the API defined
- * in dm-dirty-log.h. Its purpose is simply to pass the parameters and
- * return values of those API functions between kernel and user-space.
- *
- * Below are defined the 'request_types' - DM_ULOG_CTR, DM_ULOG_DTR, etc.
- * These request types represent the different functions in the device-mapper
- * dirty log API. Each of these is described in more detail below.
- *
- * The user-space program must listen for requests from the kernel (representing
- * the various API functions) and process them.
- *
- * User-space begins by setting up the communication link (error checking
- * removed for clarity):
- * fd = socket(PF_NETLINK, SOCK_DGRAM, NETLINK_CONNECTOR);
- * addr.nl_family = AF_NETLINK;
- * addr.nl_groups = CN_IDX_DM;
- * addr.nl_pid = 0;
- * r = bind(fd, (struct sockaddr *) &addr, sizeof(addr));
- * opt = addr.nl_groups;
- * setsockopt(fd, SOL_NETLINK, NETLINK_ADD_MEMBERSHIP, &opt, sizeof(opt));
- *
- * User-space will then wait to receive requests form the kernel, which it
- * will process as described below. The requests are received in the form,
- * ((struct dm_ulog_request) + (additional data)). Depending on the request
- * type, there may or may not be 'additional data'. In the descriptions below,
- * you will see 'Payload-to-userspace' and 'Payload-to-kernel'. The
- * 'Payload-to-userspace' is what the kernel sends in 'additional data' as
- * necessary parameters to complete the request. The 'Payload-to-kernel' is
- * the 'additional data' returned to the kernel that contains the necessary
- * results of the request. The 'data_size' field in the dm_ulog_request
- * structure denotes the availability and amount of payload data.
- */
-
-/*
- * DM_ULOG_CTR corresponds to (found in dm-dirty-log.h):
- * int (*ctr)(struct dm_dirty_log *log, struct dm_target *ti,
- * unsigned argc, char **argv);
- *
- * Payload-to-userspace:
- * A single string containing all the argv arguments separated by ' 's
- * Payload-to-kernel:
- * A NUL-terminated string that is the name of the device that is used
- * as the backing store for the log data. 'dm_get_device' will be called
- * on this device. ('dm_put_device' will be called on this device
- * automatically after calling DM_ULOG_DTR.) If there is no device needed
- * for log data, 'data_size' in the dm_ulog_request struct should be 0.
- *
- * The UUID contained in the dm_ulog_request structure is the reference that
- * will be used by all request types to a specific log. The constructor must
- * record this association with the instance created.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field, filling the
- * data field with the log device if necessary, and setting 'data_size'
- * appropriately.
- */
-#define DM_ULOG_CTR 1
-
-/*
- * DM_ULOG_DTR corresponds to (found in dm-dirty-log.h):
- * void (*dtr)(struct dm_dirty_log *log);
- *
- * Payload-to-userspace:
- * A single string containing all the argv arguments separated by ' 's
- * Payload-to-kernel:
- * None. ('data_size' in the dm_ulog_request struct should be 0.)
- *
- * The UUID contained in the dm_ulog_request structure is all that is
- * necessary to identify the log instance being destroyed. There is no
- * payload data.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and clearing
- * 'data_size' appropriately.
- */
-#define DM_ULOG_DTR 2
-
-/*
- * DM_ULOG_PRESUSPEND corresponds to (found in dm-dirty-log.h):
- * int (*presuspend)(struct dm_dirty_log *log);
- *
- * Payload-to-userspace:
- * None.
- * Payload-to-kernel:
- * None.
- *
- * The UUID contained in the dm_ulog_request structure is all that is
- * necessary to identify the log instance being presuspended. There is no
- * payload data.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and
- * 'data_size' appropriately.
- */
-#define DM_ULOG_PRESUSPEND 3
-
-/*
- * DM_ULOG_POSTSUSPEND corresponds to (found in dm-dirty-log.h):
- * int (*postsuspend)(struct dm_dirty_log *log);
- *
- * Payload-to-userspace:
- * None.
- * Payload-to-kernel:
- * None.
- *
- * The UUID contained in the dm_ulog_request structure is all that is
- * necessary to identify the log instance being postsuspended. There is no
- * payload data.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and
- * 'data_size' appropriately.
- */
-#define DM_ULOG_POSTSUSPEND 4
-
-/*
- * DM_ULOG_RESUME corresponds to (found in dm-dirty-log.h):
- * int (*resume)(struct dm_dirty_log *log);
- *
- * Payload-to-userspace:
- * None.
- * Payload-to-kernel:
- * None.
- *
- * The UUID contained in the dm_ulog_request structure is all that is
- * necessary to identify the log instance being resumed. There is no
- * payload data.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and
- * 'data_size' appropriately.
- */
-#define DM_ULOG_RESUME 5
-
-/*
- * DM_ULOG_GET_REGION_SIZE corresponds to (found in dm-dirty-log.h):
- * uint32_t (*get_region_size)(struct dm_dirty_log *log);
- *
- * Payload-to-userspace:
- * None.
- * Payload-to-kernel:
- * uint64_t - contains the region size
- *
- * The region size is something that was determined at constructor time.
- * It is returned in the payload area and 'data_size' is set to
- * reflect this.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field appropriately.
- */
-#define DM_ULOG_GET_REGION_SIZE 6
-
-/*
- * DM_ULOG_IS_CLEAN corresponds to (found in dm-dirty-log.h):
- * int (*is_clean)(struct dm_dirty_log *log, region_t region);
- *
- * Payload-to-userspace:
- * uint64_t - the region to get clean status on
- * Payload-to-kernel:
- * int64_t - 1 if clean, 0 otherwise
- *
- * Payload is sizeof(uint64_t) and contains the region for which the clean
- * status is being made.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - filling the payload with 0 (not clean) or
- * 1 (clean), setting 'data_size' and 'error' appropriately.
- */
-#define DM_ULOG_IS_CLEAN 7
-
-/*
- * DM_ULOG_IN_SYNC corresponds to (found in dm-dirty-log.h):
- * int (*in_sync)(struct dm_dirty_log *log, region_t region,
- * int can_block);
- *
- * Payload-to-userspace:
- * uint64_t - the region to get sync status on
- * Payload-to-kernel:
- * int64_t - 1 if in-sync, 0 otherwise
- *
- * Exactly the same as 'is_clean' above, except this time asking "has the
- * region been recovered?" vs. "is the region not being modified?"
- */
-#define DM_ULOG_IN_SYNC 8
-
-/*
- * DM_ULOG_FLUSH corresponds to (found in dm-dirty-log.h):
- * int (*flush)(struct dm_dirty_log *log);
- *
- * Payload-to-userspace:
- * If the 'integrated_flush' directive is present in the constructor
- * table, the payload is as same as DM_ULOG_MARK_REGION:
- * uint64_t [] - region(s) to mark
- * else
- * None
- * Payload-to-kernel:
- * None.
- *
- * If the 'integrated_flush' option was used during the creation of the
- * log, mark region requests are carried as payload in the flush request.
- * Piggybacking the mark requests in this way allows for fewer communications
- * between kernel and userspace.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and clearing
- * 'data_size' appropriately.
- */
-#define DM_ULOG_FLUSH 9
-
-/*
- * DM_ULOG_MARK_REGION corresponds to (found in dm-dirty-log.h):
- * void (*mark_region)(struct dm_dirty_log *log, region_t region);
- *
- * Payload-to-userspace:
- * uint64_t [] - region(s) to mark
- * Payload-to-kernel:
- * None.
- *
- * Incoming payload contains the one or more regions to mark dirty.
- * The number of regions contained in the payload can be determined from
- * 'data_size/sizeof(uint64_t)'.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and clearing
- * 'data_size' appropriately.
- */
-#define DM_ULOG_MARK_REGION 10
-
-/*
- * DM_ULOG_CLEAR_REGION corresponds to (found in dm-dirty-log.h):
- * void (*clear_region)(struct dm_dirty_log *log, region_t region);
- *
- * Payload-to-userspace:
- * uint64_t [] - region(s) to clear
- * Payload-to-kernel:
- * None.
- *
- * Incoming payload contains the one or more regions to mark clean.
- * The number of regions contained in the payload can be determined from
- * 'data_size/sizeof(uint64_t)'.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and clearing
- * 'data_size' appropriately.
- */
-#define DM_ULOG_CLEAR_REGION 11
-
-/*
- * DM_ULOG_GET_RESYNC_WORK corresponds to (found in dm-dirty-log.h):
- * int (*get_resync_work)(struct dm_dirty_log *log, region_t *region);
- *
- * Payload-to-userspace:
- * None.
- * Payload-to-kernel:
- * {
- * int64_t i; -- 1 if recovery necessary, 0 otherwise
- * uint64_t r; -- The region to recover if i=1
- * }
- * 'data_size' should be set appropriately.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field appropriately.
- */
-#define DM_ULOG_GET_RESYNC_WORK 12
-
-/*
- * DM_ULOG_SET_REGION_SYNC corresponds to (found in dm-dirty-log.h):
- * void (*set_region_sync)(struct dm_dirty_log *log,
- * region_t region, int in_sync);
- *
- * Payload-to-userspace:
- * {
- * uint64_t - region to set sync state on
- * int64_t - 0 if not-in-sync, 1 if in-sync
- * }
- * Payload-to-kernel:
- * None.
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and clearing
- * 'data_size' appropriately.
- */
-#define DM_ULOG_SET_REGION_SYNC 13
-
-/*
- * DM_ULOG_GET_SYNC_COUNT corresponds to (found in dm-dirty-log.h):
- * region_t (*get_sync_count)(struct dm_dirty_log *log);
- *
- * Payload-to-userspace:
- * None.
- * Payload-to-kernel:
- * uint64_t - the number of in-sync regions
- *
- * No incoming payload. Kernel-bound payload contains the number of
- * regions that are in-sync (in a size_t).
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and
- * 'data_size' appropriately.
- */
-#define DM_ULOG_GET_SYNC_COUNT 14
-
-/*
- * DM_ULOG_STATUS_INFO corresponds to (found in dm-dirty-log.h):
- * int (*status)(struct dm_dirty_log *log, STATUSTYPE_INFO,
- * char *result, unsigned maxlen);
- *
- * Payload-to-userspace:
- * None.
- * Payload-to-kernel:
- * Character string containing STATUSTYPE_INFO
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and
- * 'data_size' appropriately.
- */
-#define DM_ULOG_STATUS_INFO 15
-
-/*
- * DM_ULOG_STATUS_TABLE corresponds to (found in dm-dirty-log.h):
- * int (*status)(struct dm_dirty_log *log, STATUSTYPE_TABLE,
- * char *result, unsigned maxlen);
- *
- * Payload-to-userspace:
- * None.
- * Payload-to-kernel:
- * Character string containing STATUSTYPE_TABLE
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and
- * 'data_size' appropriately.
- */
-#define DM_ULOG_STATUS_TABLE 16
-
-/*
- * DM_ULOG_IS_REMOTE_RECOVERING corresponds to (found in dm-dirty-log.h):
- * int (*is_remote_recovering)(struct dm_dirty_log *log, region_t region);
- *
- * Payload-to-userspace:
- * uint64_t - region to determine recovery status on
- * Payload-to-kernel:
- * {
- * int64_t is_recovering; -- 0 if no, 1 if yes
- * uint64_t in_sync_hint; -- lowest region still needing resync
- * }
- *
- * When the request has been processed, user-space must return the
- * dm_ulog_request to the kernel - setting the 'error' field and
- * 'data_size' appropriately.
- */
-#define DM_ULOG_IS_REMOTE_RECOVERING 17
-
-/*
- * (DM_ULOG_REQUEST_MASK & request_type) to get the request type
- *
- * Payload-to-userspace:
- * A single string containing all the argv arguments separated by ' 's
- * Payload-to-kernel:
- * None. ('data_size' in the dm_ulog_request struct should be 0.)
- *
- * We are reserving 8 bits of the 32-bit 'request_type' field for the
- * various request types above. The remaining 24-bits are currently
- * set to zero and are reserved for future use and compatibility concerns.
- *
- * User-space should always use DM_ULOG_REQUEST_TYPE to acquire the
- * request type from the 'request_type' field to maintain forward compatibility.
- */
-#define DM_ULOG_REQUEST_MASK 0xFF
-#define DM_ULOG_REQUEST_TYPE(request_type) \
- (DM_ULOG_REQUEST_MASK & (request_type))
-
-/*
- * DM_ULOG_REQUEST_VERSION is incremented when there is a
- * change to the way information is passed between kernel
- * and userspace. This could be a structure change of
- * dm_ulog_request or a change in the way requests are
- * issued/handled. Changes are outlined here:
- * version 1: Initial implementation
- * version 2: DM_ULOG_CTR allowed to return a string containing a
- * device name that is to be registered with DM via
- * 'dm_get_device'.
- * version 3: DM_ULOG_FLUSH is capable of carrying payload for marking
- * regions. This "integrated flush" reduces the number of
- * requests between the kernel and userspace by effectively
- * merging 'mark' and 'flush' requests. A constructor table
- * argument ('integrated_flush') is required to turn this
- * feature on, so it is backwards compatible with older
- * userspace versions.
- */
-#define DM_ULOG_REQUEST_VERSION 3
-
-struct dm_ulog_request {
- /*
- * The local unique identifier (luid) and the universally unique
- * identifier (uuid) are used to tie a request to a specific
- * mirror log. A single machine log could probably make due with
- * just the 'luid', but a cluster-aware log must use the 'uuid' and
- * the 'luid'. The uuid is what is required for node to node
- * communication concerning a particular log, but the 'luid' helps
- * differentiate between logs that are being swapped and have the
- * same 'uuid'. (Think "live" and "inactive" device-mapper tables.)
- */
- uint64_t luid;
- char uuid[DM_UUID_LEN];
- char padding[3]; /* Padding because DM_UUID_LEN = 129 */
-
- uint32_t version; /* See DM_ULOG_REQUEST_VERSION */
- int32_t error; /* Used to report back processing errors */
-
- uint32_t seq; /* Sequence number for request */
- uint32_t request_type; /* DM_ULOG_* defined above */
- uint32_t data_size; /* How much data (not including this struct) */
-
- char data[0];
-};
-
-#endif /* __DM_LOG_USERSPACE_H__ */
diff --git a/linux-headers/include/linux/dn.h b/linux-headers/include/linux/dn.h
deleted file mode 100644
index 4295c74..0000000
--- a/linux-headers/include/linux/dn.h
+++ /dev/null
@@ -1,148 +0,0 @@
-#ifndef _LINUX_DN_H
-#define _LINUX_DN_H
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-#include <linux/if_ether.h>
-
-/*
-
- DECnet Data Structures and Constants
-
-*/
-
-/*
- * DNPROTO_NSP can't be the same as SOL_SOCKET,
- * so increment each by one (compared to ULTRIX)
- */
-#define DNPROTO_NSP 2 /* NSP protocol number */
-#define DNPROTO_ROU 3 /* Routing protocol number */
-#define DNPROTO_NML 4 /* Net mgt protocol number */
-#define DNPROTO_EVL 5 /* Evl protocol number (usr) */
-#define DNPROTO_EVR 6 /* Evl protocol number (evl) */
-#define DNPROTO_NSPT 7 /* NSP trace protocol number */
-
-
-#define DN_ADDL 2
-#define DN_MAXADDL 2 /* ULTRIX headers have 20 here, but pathworks has 2 */
-#define DN_MAXOPTL 16
-#define DN_MAXOBJL 16
-#define DN_MAXACCL 40
-#define DN_MAXALIASL 128
-#define DN_MAXNODEL 256
-#define DNBUFSIZE 65023
-
-/*
- * SET/GET Socket options - must match the DSO_ numbers below
- */
-#define SO_CONDATA 1
-#define SO_CONACCESS 2
-#define SO_PROXYUSR 3
-#define SO_LINKINFO 7
-
-#define DSO_CONDATA 1 /* Set/Get connect data */
-#define DSO_DISDATA 10 /* Set/Get disconnect data */
-#define DSO_CONACCESS 2 /* Set/Get connect access data */
-#define DSO_ACCEPTMODE 4 /* Set/Get accept mode */
-#define DSO_CONACCEPT 5 /* Accept deferred connection */
-#define DSO_CONREJECT 6 /* Reject deferred connection */
-#define DSO_LINKINFO 7 /* Set/Get link information */
-#define DSO_STREAM 8 /* Set socket type to stream */
-#define DSO_SEQPACKET 9 /* Set socket type to sequenced packet */
-#define DSO_MAXWINDOW 11 /* Maximum window size allowed */
-#define DSO_NODELAY 12 /* Turn off nagle */
-#define DSO_CORK 13 /* Wait for more data! */
-#define DSO_SERVICES 14 /* NSP Services field */
-#define DSO_INFO 15 /* NSP Info field */
-#define DSO_MAX 15 /* Maximum option number */
-
-
-/* LINK States */
-#define LL_INACTIVE 0
-#define LL_CONNECTING 1
-#define LL_RUNNING 2
-#define LL_DISCONNECTING 3
-
-#define ACC_IMMED 0
-#define ACC_DEFER 1
-
-#define SDF_WILD 1 /* Wild card object */
-#define SDF_PROXY 2 /* Addr eligible for proxy */
-#define SDF_UICPROXY 4 /* Use uic-based proxy */
-
-/* Structures */
-
-
-struct dn_naddr {
- __le16 a_len;
- __u8 a_addr[DN_MAXADDL]; /* Two bytes little endian */
-};
-
-struct sockaddr_dn {
- __u16 sdn_family;
- __u8 sdn_flags;
- __u8 sdn_objnum;
- __le16 sdn_objnamel;
- __u8 sdn_objname[DN_MAXOBJL];
- struct dn_naddr sdn_add;
-};
-#define sdn_nodeaddrl sdn_add.a_len /* Node address length */
-#define sdn_nodeaddr sdn_add.a_addr /* Node address */
-
-
-
-/*
- * DECnet set/get DSO_CONDATA, DSO_DISDATA (optional data) structure
- */
-struct optdata_dn {
- __le16 opt_status; /* Extended status return */
-#define opt_sts opt_status
- __le16 opt_optl; /* Length of user data */
- __u8 opt_data[16]; /* User data */
-};
-
-struct accessdata_dn {
- __u8 acc_accl;
- __u8 acc_acc[DN_MAXACCL];
- __u8 acc_passl;
- __u8 acc_pass[DN_MAXACCL];
- __u8 acc_userl;
- __u8 acc_user[DN_MAXACCL];
-};
-
-/*
- * DECnet logical link information structure
- */
-struct linkinfo_dn {
- __u16 idn_segsize; /* Segment size for link */
- __u8 idn_linkstate; /* Logical link state */
-};
-
-/*
- * Ethernet address format (for DECnet)
- */
-union etheraddress {
- __u8 dne_addr[ETH_ALEN]; /* Full ethernet address */
- struct {
- __u8 dne_hiord[4]; /* DECnet HIORD prefix */
- __u8 dne_nodeaddr[2]; /* DECnet node address */
- } dne_remote;
-};
-
-
-/*
- * DECnet physical socket address format
- */
-struct dn_addr {
- __le16 dna_family; /* AF_DECnet */
- union etheraddress dna_netaddr; /* DECnet ethernet address */
-};
-
-#define DECNET_IOCTL_BASE 0x89 /* PROTOPRIVATE range */
-
-#define SIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, struct dn_naddr)
-#define SIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, struct dn_naddr)
-#define OSIOCSNETADDR _IOW(DECNET_IOCTL_BASE, 0xe0, int)
-#define OSIOCGNETADDR _IOR(DECNET_IOCTL_BASE, 0xe1, int)
-
-#endif /* _LINUX_DN_H */
diff --git a/linux-headers/include/linux/dqblk_xfs.h b/linux-headers/include/linux/dqblk_xfs.h
deleted file mode 100644
index 11b3b31..0000000
--- a/linux-headers/include/linux/dqblk_xfs.h
+++ /dev/null
@@ -1,214 +0,0 @@
-/*
- * Copyright (c) 1995-2001,2004 Silicon Graphics, Inc. All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesset General Public License
- * along with this program; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-#ifndef _LINUX_DQBLK_XFS_H
-#define _LINUX_DQBLK_XFS_H
-
-#include <linux/types.h>
-
-/*
- * Disk quota - quotactl(2) commands for the XFS Quota Manager (XQM).
- */
-
-#define XQM_CMD(x) (('X'<<8)+(x)) /* note: forms first QCMD argument */
-#define XQM_COMMAND(x) (((x) & (0xff<<8)) == ('X'<<8)) /* test if for XFS */
-
-#define XQM_USRQUOTA 0 /* system call user quota type */
-#define XQM_GRPQUOTA 1 /* system call group quota type */
-#define XQM_PRJQUOTA 2 /* system call project quota type */
-#define XQM_MAXQUOTAS 3
-
-#define Q_XQUOTAON XQM_CMD(1) /* enable accounting/enforcement */
-#define Q_XQUOTAOFF XQM_CMD(2) /* disable accounting/enforcement */
-#define Q_XGETQUOTA XQM_CMD(3) /* get disk limits and usage */
-#define Q_XSETQLIM XQM_CMD(4) /* set disk limits */
-#define Q_XGETQSTAT XQM_CMD(5) /* get quota subsystem status */
-#define Q_XQUOTARM XQM_CMD(6) /* free disk space used by dquots */
-#define Q_XQUOTASYNC XQM_CMD(7) /* delalloc flush, updates dquots */
-#define Q_XGETQSTATV XQM_CMD(8) /* newer version of get quota */
-#define Q_XGETNEXTQUOTA XQM_CMD(9) /* get disk limits and usage >= ID */
-
-/*
- * fs_disk_quota structure:
- *
- * This contains the current quota information regarding a user/proj/group.
- * It is 64-bit aligned, and all the blk units are in BBs (Basic Blocks) of
- * 512 bytes.
- */
-#define FS_DQUOT_VERSION 1 /* fs_disk_quota.d_version */
-typedef struct fs_disk_quota {
- __s8 d_version; /* version of this structure */
- __s8 d_flags; /* FS_{USER,PROJ,GROUP}_QUOTA */
- __u16 d_fieldmask; /* field specifier */
- __u32 d_id; /* user, project, or group ID */
- __u64 d_blk_hardlimit;/* absolute limit on disk blks */
- __u64 d_blk_softlimit;/* preferred limit on disk blks */
- __u64 d_ino_hardlimit;/* maximum # allocated inodes */
- __u64 d_ino_softlimit;/* preferred inode limit */
- __u64 d_bcount; /* # disk blocks owned by the user */
- __u64 d_icount; /* # inodes owned by the user */
- __s32 d_itimer; /* zero if within inode limits */
- /* if not, we refuse service */
- __s32 d_btimer; /* similar to above; for disk blocks */
- __u16 d_iwarns; /* # warnings issued wrt num inodes */
- __u16 d_bwarns; /* # warnings issued wrt disk blocks */
- __s32 d_padding2; /* padding2 - for future use */
- __u64 d_rtb_hardlimit;/* absolute limit on realtime blks */
- __u64 d_rtb_softlimit;/* preferred limit on RT disk blks */
- __u64 d_rtbcount; /* # realtime blocks owned */
- __s32 d_rtbtimer; /* similar to above; for RT disk blks */
- __u16 d_rtbwarns; /* # warnings issued wrt RT disk blks */
- __s16 d_padding3; /* padding3 - for future use */
- char d_padding4[8]; /* yet more padding */
-} fs_disk_quota_t;
-
-/*
- * These fields are sent to Q_XSETQLIM to specify fields that need to change.
- */
-#define FS_DQ_ISOFT (1<<0)
-#define FS_DQ_IHARD (1<<1)
-#define FS_DQ_BSOFT (1<<2)
-#define FS_DQ_BHARD (1<<3)
-#define FS_DQ_RTBSOFT (1<<4)
-#define FS_DQ_RTBHARD (1<<5)
-#define FS_DQ_LIMIT_MASK (FS_DQ_ISOFT | FS_DQ_IHARD | FS_DQ_BSOFT | \
- FS_DQ_BHARD | FS_DQ_RTBSOFT | FS_DQ_RTBHARD)
-/*
- * These timers can only be set in super user's dquot. For others, timers are
- * automatically started and stopped. Superusers timer values set the limits
- * for the rest. In case these values are zero, the DQ_{F,B}TIMELIMIT values
- * defined below are used.
- * These values also apply only to the d_fieldmask field for Q_XSETQLIM.
- */
-#define FS_DQ_BTIMER (1<<6)
-#define FS_DQ_ITIMER (1<<7)
-#define FS_DQ_RTBTIMER (1<<8)
-#define FS_DQ_TIMER_MASK (FS_DQ_BTIMER | FS_DQ_ITIMER | FS_DQ_RTBTIMER)
-
-/*
- * Warning counts are set in both super user's dquot and others. For others,
- * warnings are set/cleared by the administrators (or automatically by going
- * below the soft limit). Superusers warning values set the warning limits
- * for the rest. In case these values are zero, the DQ_{F,B}WARNLIMIT values
- * defined below are used.
- * These values also apply only to the d_fieldmask field for Q_XSETQLIM.
- */
-#define FS_DQ_BWARNS (1<<9)
-#define FS_DQ_IWARNS (1<<10)
-#define FS_DQ_RTBWARNS (1<<11)
-#define FS_DQ_WARNS_MASK (FS_DQ_BWARNS | FS_DQ_IWARNS | FS_DQ_RTBWARNS)
-
-/*
- * Accounting values. These can only be set for filesystem with
- * non-transactional quotas that require quotacheck(8) in userspace.
- */
-#define FS_DQ_BCOUNT (1<<12)
-#define FS_DQ_ICOUNT (1<<13)
-#define FS_DQ_RTBCOUNT (1<<14)
-#define FS_DQ_ACCT_MASK (FS_DQ_BCOUNT | FS_DQ_ICOUNT | FS_DQ_RTBCOUNT)
-
-/*
- * Various flags related to quotactl(2).
- */
-#define FS_QUOTA_UDQ_ACCT (1<<0) /* user quota accounting */
-#define FS_QUOTA_UDQ_ENFD (1<<1) /* user quota limits enforcement */
-#define FS_QUOTA_GDQ_ACCT (1<<2) /* group quota accounting */
-#define FS_QUOTA_GDQ_ENFD (1<<3) /* group quota limits enforcement */
-#define FS_QUOTA_PDQ_ACCT (1<<4) /* project quota accounting */
-#define FS_QUOTA_PDQ_ENFD (1<<5) /* project quota limits enforcement */
-
-#define FS_USER_QUOTA (1<<0) /* user quota type */
-#define FS_PROJ_QUOTA (1<<1) /* project quota type */
-#define FS_GROUP_QUOTA (1<<2) /* group quota type */
-
-/*
- * fs_quota_stat is the struct returned in Q_XGETQSTAT for a given file system.
- * Provides a centralized way to get meta information about the quota subsystem.
- * eg. space taken up for user and group quotas, number of dquots currently
- * incore.
- */
-#define FS_QSTAT_VERSION 1 /* fs_quota_stat.qs_version */
-
-/*
- * Some basic information about 'quota files'.
- */
-typedef struct fs_qfilestat {
- __u64 qfs_ino; /* inode number */
- __u64 qfs_nblks; /* number of BBs 512-byte-blks */
- __u32 qfs_nextents; /* number of extents */
-} fs_qfilestat_t;
-
-typedef struct fs_quota_stat {
- __s8 qs_version; /* version number for future changes */
- __u16 qs_flags; /* FS_QUOTA_{U,P,G}DQ_{ACCT,ENFD} */
- __s8 qs_pad; /* unused */
- fs_qfilestat_t qs_uquota; /* user quota storage information */
- fs_qfilestat_t qs_gquota; /* group quota storage information */
- __u32 qs_incoredqs; /* number of dquots incore */
- __s32 qs_btimelimit; /* limit for blks timer */
- __s32 qs_itimelimit; /* limit for inodes timer */
- __s32 qs_rtbtimelimit;/* limit for rt blks timer */
- __u16 qs_bwarnlimit; /* limit for num warnings */
- __u16 qs_iwarnlimit; /* limit for num warnings */
-} fs_quota_stat_t;
-
-/*
- * fs_quota_statv is used by Q_XGETQSTATV for a given file system. It provides
- * a centralized way to get meta information about the quota subsystem. eg.
- * space taken up for user, group, and project quotas, number of dquots
- * currently incore.
- *
- * This version has proper versioning support with appropriate padding for
- * future expansions, and ability to expand for future without creating any
- * backward compatibility issues.
- *
- * Q_XGETQSTATV uses the passed in value of the requested version via
- * fs_quota_statv.qs_version to determine the return data layout of
- * fs_quota_statv. The kernel will fill the data fields relevant to that
- * version.
- *
- * If kernel does not support user space caller specified version, EINVAL will
- * be returned. User space caller can then reduce the version number and retry
- * the same command.
- */
-#define FS_QSTATV_VERSION1 1 /* fs_quota_statv.qs_version */
-/*
- * Some basic information about 'quota files' for Q_XGETQSTATV command
- */
-struct fs_qfilestatv {
- __u64 qfs_ino; /* inode number */
- __u64 qfs_nblks; /* number of BBs 512-byte-blks */
- __u32 qfs_nextents; /* number of extents */
- __u32 qfs_pad; /* pad for 8-byte alignment */
-};
-
-struct fs_quota_statv {
- __s8 qs_version; /* version for future changes */
- __u8 qs_pad1; /* pad for 16bit alignment */
- __u16 qs_flags; /* FS_QUOTA_.* flags */
- __u32 qs_incoredqs; /* number of dquots incore */
- struct fs_qfilestatv qs_uquota; /* user quota information */
- struct fs_qfilestatv qs_gquota; /* group quota information */
- struct fs_qfilestatv qs_pquota; /* project quota information */
- __s32 qs_btimelimit; /* limit for blks timer */
- __s32 qs_itimelimit; /* limit for inodes timer */
- __s32 qs_rtbtimelimit;/* limit for rt blks timer */
- __u16 qs_bwarnlimit; /* limit for num warnings */
- __u16 qs_iwarnlimit; /* limit for num warnings */
- __u64 qs_pad2[8]; /* for future proofing */
-};
-
-#endif /* _LINUX_DQBLK_XFS_H */
diff --git a/linux-headers/include/linux/dvb/audio.h b/linux-headers/include/linux/dvb/audio.h
deleted file mode 100644
index d47bccd..0000000
--- a/linux-headers/include/linux/dvb/audio.h
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * audio.h
- *
- * Copyright (C) 2000 Ralph Metzler <ralph@convergence.de>
- * & Marcus Metzler <marcus@convergence.de>
- * for convergence integrated media GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Lesser Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef _DVBAUDIO_H_
-#define _DVBAUDIO_H_
-
-#include <linux/types.h>
-
-typedef enum {
- AUDIO_SOURCE_DEMUX, /* Select the demux as the main source */
- AUDIO_SOURCE_MEMORY /* Select internal memory as the main source */
-} audio_stream_source_t;
-
-
-typedef enum {
- AUDIO_STOPPED, /* Device is stopped */
- AUDIO_PLAYING, /* Device is currently playing */
- AUDIO_PAUSED /* Device is paused */
-} audio_play_state_t;
-
-
-typedef enum {
- AUDIO_STEREO,
- AUDIO_MONO_LEFT,
- AUDIO_MONO_RIGHT,
- AUDIO_MONO,
- AUDIO_STEREO_SWAPPED
-} audio_channel_select_t;
-
-
-typedef struct audio_mixer {
- unsigned int volume_left;
- unsigned int volume_right;
- // what else do we need? bass, pass-through, ...
-} audio_mixer_t;
-
-
-typedef struct audio_status {
- int AV_sync_state; /* sync audio and video? */
- int mute_state; /* audio is muted */
- audio_play_state_t play_state; /* current playback state */
- audio_stream_source_t stream_source; /* current stream source */
- audio_channel_select_t channel_select; /* currently selected channel */
- int bypass_mode; /* pass on audio data to */
- audio_mixer_t mixer_state; /* current mixer state */
-} audio_status_t; /* separate decoder hardware */
-
-
-typedef
-struct audio_karaoke { /* if Vocal1 or Vocal2 are non-zero, they get mixed */
- int vocal1; /* into left and right t at 70% each */
- int vocal2; /* if both, Vocal1 and Vocal2 are non-zero, Vocal1 gets*/
- int melody; /* mixed into the left channel and */
- /* Vocal2 into the right channel at 100% each. */
- /* if Melody is non-zero, the melody channel gets mixed*/
-} audio_karaoke_t; /* into left and right */
-
-
-typedef __u16 audio_attributes_t;
-/* bits: descr. */
-/* 15-13 audio coding mode (0=ac3, 2=mpeg1, 3=mpeg2ext, 4=LPCM, 6=DTS, */
-/* 12 multichannel extension */
-/* 11-10 audio type (0=not spec, 1=language included) */
-/* 9- 8 audio application mode (0=not spec, 1=karaoke, 2=surround) */
-/* 7- 6 Quantization / DRC (mpeg audio: 1=DRC exists)(lpcm: 0=16bit, */
-/* 5- 4 Sample frequency fs (0=48kHz, 1=96kHz) */
-/* 2- 0 number of audio channels (n+1 channels) */
-
-
-/* for GET_CAPABILITIES and SET_FORMAT, the latter should only set one bit */
-#define AUDIO_CAP_DTS 1
-#define AUDIO_CAP_LPCM 2
-#define AUDIO_CAP_MP1 4
-#define AUDIO_CAP_MP2 8
-#define AUDIO_CAP_MP3 16
-#define AUDIO_CAP_AAC 32
-#define AUDIO_CAP_OGG 64
-#define AUDIO_CAP_SDDS 128
-#define AUDIO_CAP_AC3 256
-
-#define AUDIO_STOP _IO('o', 1)
-#define AUDIO_PLAY _IO('o', 2)
-#define AUDIO_PAUSE _IO('o', 3)
-#define AUDIO_CONTINUE _IO('o', 4)
-#define AUDIO_SELECT_SOURCE _IO('o', 5)
-#define AUDIO_SET_MUTE _IO('o', 6)
-#define AUDIO_SET_AV_SYNC _IO('o', 7)
-#define AUDIO_SET_BYPASS_MODE _IO('o', 8)
-#define AUDIO_CHANNEL_SELECT _IO('o', 9)
-#define AUDIO_GET_STATUS _IOR('o', 10, audio_status_t)
-
-#define AUDIO_GET_CAPABILITIES _IOR('o', 11, unsigned int)
-#define AUDIO_CLEAR_BUFFER _IO('o', 12)
-#define AUDIO_SET_ID _IO('o', 13)
-#define AUDIO_SET_MIXER _IOW('o', 14, audio_mixer_t)
-#define AUDIO_SET_STREAMTYPE _IO('o', 15)
-#define AUDIO_SET_EXT_ID _IO('o', 16)
-#define AUDIO_SET_ATTRIBUTES _IOW('o', 17, audio_attributes_t)
-#define AUDIO_SET_KARAOKE _IOW('o', 18, audio_karaoke_t)
-
-/**
- * AUDIO_GET_PTS
- *
- * Read the 33 bit presentation time stamp as defined
- * in ITU T-REC-H.222.0 / ISO/IEC 13818-1.
- *
- * The PTS should belong to the currently played
- * frame if possible, but may also be a value close to it
- * like the PTS of the last decoded frame or the last PTS
- * extracted by the PES parser.
- */
-#define AUDIO_GET_PTS _IOR('o', 19, __u64)
-#define AUDIO_BILINGUAL_CHANNEL_SELECT _IO('o', 20)
-
-#endif /* _DVBAUDIO_H_ */
diff --git a/linux-headers/include/linux/dvb/ca.h b/linux-headers/include/linux/dvb/ca.h
deleted file mode 100644
index c18537f..0000000
--- a/linux-headers/include/linux/dvb/ca.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * ca.h
- *
- * Copyright (C) 2000 Ralph Metzler <ralph@convergence.de>
- * & Marcus Metzler <marcus@convergence.de>
- * for convergence integrated media GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Lesser Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef _DVBCA_H_
-#define _DVBCA_H_
-
-/* slot interface types and info */
-
-typedef struct ca_slot_info {
- int num; /* slot number */
-
- int type; /* CA interface this slot supports */
-#define CA_CI 1 /* CI high level interface */
-#define CA_CI_LINK 2 /* CI link layer level interface */
-#define CA_CI_PHYS 4 /* CI physical layer level interface */
-#define CA_DESCR 8 /* built-in descrambler */
-#define CA_SC 128 /* simple smart card interface */
-
- unsigned int flags;
-#define CA_CI_MODULE_PRESENT 1 /* module (or card) inserted */
-#define CA_CI_MODULE_READY 2
-} ca_slot_info_t;
-
-
-/* descrambler types and info */
-
-typedef struct ca_descr_info {
- unsigned int num; /* number of available descramblers (keys) */
- unsigned int type; /* type of supported scrambling system */
-#define CA_ECD 1
-#define CA_NDS 2
-#define CA_DSS 4
-} ca_descr_info_t;
-
-typedef struct ca_caps {
- unsigned int slot_num; /* total number of CA card and module slots */
- unsigned int slot_type; /* OR of all supported types */
- unsigned int descr_num; /* total number of descrambler slots (keys) */
- unsigned int descr_type; /* OR of all supported types */
-} ca_caps_t;
-
-/* a message to/from a CI-CAM */
-typedef struct ca_msg {
- unsigned int index;
- unsigned int type;
- unsigned int length;
- unsigned char msg[256];
-} ca_msg_t;
-
-typedef struct ca_descr {
- unsigned int index;
- unsigned int parity; /* 0 == even, 1 == odd */
- unsigned char cw[8];
-} ca_descr_t;
-
-typedef struct ca_pid {
- unsigned int pid;
- int index; /* -1 == disable*/
-} ca_pid_t;
-
-#define CA_RESET _IO('o', 128)
-#define CA_GET_CAP _IOR('o', 129, ca_caps_t)
-#define CA_GET_SLOT_INFO _IOR('o', 130, ca_slot_info_t)
-#define CA_GET_DESCR_INFO _IOR('o', 131, ca_descr_info_t)
-#define CA_GET_MSG _IOR('o', 132, ca_msg_t)
-#define CA_SEND_MSG _IOW('o', 133, ca_msg_t)
-#define CA_SET_DESCR _IOW('o', 134, ca_descr_t)
-#define CA_SET_PID _IOW('o', 135, ca_pid_t)
-
-#endif
diff --git a/linux-headers/include/linux/dvb/dmx.h b/linux-headers/include/linux/dvb/dmx.h
deleted file mode 100644
index 425a945..0000000
--- a/linux-headers/include/linux/dvb/dmx.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * dmx.h
- *
- * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
- * & Ralph Metzler <ralph@convergence.de>
- * for convergence integrated media GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef _DVBDMX_H_
-#define _DVBDMX_H_
-
-#include <linux/types.h>
-#include <time.h>
-
-
-#define DMX_FILTER_SIZE 16
-
-enum dmx_output
-{
- DMX_OUT_DECODER, /* Streaming directly to decoder. */
- DMX_OUT_TAP, /* Output going to a memory buffer */
- /* (to be retrieved via the read command).*/
- DMX_OUT_TS_TAP, /* Output multiplexed into a new TS */
- /* (to be retrieved by reading from the */
- /* logical DVR device). */
- DMX_OUT_TSDEMUX_TAP /* Like TS_TAP but retrieved from the DMX device */
-};
-
-typedef enum dmx_output dmx_output_t;
-
-typedef enum dmx_input
-{
- DMX_IN_FRONTEND, /* Input from a front-end device. */
- DMX_IN_DVR /* Input from the logical DVR device. */
-} dmx_input_t;
-
-
-typedef enum dmx_ts_pes
-{
- DMX_PES_AUDIO0,
- DMX_PES_VIDEO0,
- DMX_PES_TELETEXT0,
- DMX_PES_SUBTITLE0,
- DMX_PES_PCR0,
-
- DMX_PES_AUDIO1,
- DMX_PES_VIDEO1,
- DMX_PES_TELETEXT1,
- DMX_PES_SUBTITLE1,
- DMX_PES_PCR1,
-
- DMX_PES_AUDIO2,
- DMX_PES_VIDEO2,
- DMX_PES_TELETEXT2,
- DMX_PES_SUBTITLE2,
- DMX_PES_PCR2,
-
- DMX_PES_AUDIO3,
- DMX_PES_VIDEO3,
- DMX_PES_TELETEXT3,
- DMX_PES_SUBTITLE3,
- DMX_PES_PCR3,
-
- DMX_PES_OTHER
-} dmx_pes_type_t;
-
-#define DMX_PES_AUDIO DMX_PES_AUDIO0
-#define DMX_PES_VIDEO DMX_PES_VIDEO0
-#define DMX_PES_TELETEXT DMX_PES_TELETEXT0
-#define DMX_PES_SUBTITLE DMX_PES_SUBTITLE0
-#define DMX_PES_PCR DMX_PES_PCR0
-
-
-typedef struct dmx_filter
-{
- __u8 filter[DMX_FILTER_SIZE];
- __u8 mask[DMX_FILTER_SIZE];
- __u8 mode[DMX_FILTER_SIZE];
-} dmx_filter_t;
-
-
-struct dmx_sct_filter_params
-{
- __u16 pid;
- dmx_filter_t filter;
- __u32 timeout;
- __u32 flags;
-#define DMX_CHECK_CRC 1
-#define DMX_ONESHOT 2
-#define DMX_IMMEDIATE_START 4
-#define DMX_KERNEL_CLIENT 0x8000
-};
-
-
-struct dmx_pes_filter_params
-{
- __u16 pid;
- dmx_input_t input;
- dmx_output_t output;
- dmx_pes_type_t pes_type;
- __u32 flags;
-};
-
-typedef struct dmx_caps {
- __u32 caps;
- int num_decoders;
-} dmx_caps_t;
-
-typedef enum dmx_source {
- DMX_SOURCE_FRONT0 = 0,
- DMX_SOURCE_FRONT1,
- DMX_SOURCE_FRONT2,
- DMX_SOURCE_FRONT3,
- DMX_SOURCE_DVR0 = 16,
- DMX_SOURCE_DVR1,
- DMX_SOURCE_DVR2,
- DMX_SOURCE_DVR3
-} dmx_source_t;
-
-struct dmx_stc {
- unsigned int num; /* input : which STC? 0..N */
- unsigned int base; /* output: divisor for stc to get 90 kHz clock */
- __u64 stc; /* output: stc in 'base'*90 kHz units */
-};
-
-#define DMX_START _IO('o', 41)
-#define DMX_STOP _IO('o', 42)
-#define DMX_SET_FILTER _IOW('o', 43, struct dmx_sct_filter_params)
-#define DMX_SET_PES_FILTER _IOW('o', 44, struct dmx_pes_filter_params)
-#define DMX_SET_BUFFER_SIZE _IO('o', 45)
-#define DMX_GET_PES_PIDS _IOR('o', 47, __u16[5])
-#define DMX_GET_CAPS _IOR('o', 48, dmx_caps_t)
-#define DMX_SET_SOURCE _IOW('o', 49, dmx_source_t)
-#define DMX_GET_STC _IOWR('o', 50, struct dmx_stc)
-#define DMX_ADD_PID _IOW('o', 51, __u16)
-#define DMX_REMOVE_PID _IOW('o', 52, __u16)
-
-#endif /* _DVBDMX_H_ */
diff --git a/linux-headers/include/linux/dvb/frontend.h b/linux-headers/include/linux/dvb/frontend.h
deleted file mode 100644
index 0f65bd5..0000000
--- a/linux-headers/include/linux/dvb/frontend.h
+++ /dev/null
@@ -1,600 +0,0 @@
-/*
- * frontend.h
- *
- * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
- * Ralph Metzler <ralph@convergence.de>
- * Holger Waechtler <holger@convergence.de>
- * Andre Draszik <ad@convergence.de>
- * for convergence integrated media GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef _DVBFRONTEND_H_
-#define _DVBFRONTEND_H_
-
-#include <linux/types.h>
-
-enum fe_type {
- FE_QPSK,
- FE_QAM,
- FE_OFDM,
- FE_ATSC
-};
-
-enum fe_caps {
- FE_IS_STUPID = 0,
- FE_CAN_INVERSION_AUTO = 0x1,
- FE_CAN_FEC_1_2 = 0x2,
- FE_CAN_FEC_2_3 = 0x4,
- FE_CAN_FEC_3_4 = 0x8,
- FE_CAN_FEC_4_5 = 0x10,
- FE_CAN_FEC_5_6 = 0x20,
- FE_CAN_FEC_6_7 = 0x40,
- FE_CAN_FEC_7_8 = 0x80,
- FE_CAN_FEC_8_9 = 0x100,
- FE_CAN_FEC_AUTO = 0x200,
- FE_CAN_QPSK = 0x400,
- FE_CAN_QAM_16 = 0x800,
- FE_CAN_QAM_32 = 0x1000,
- FE_CAN_QAM_64 = 0x2000,
- FE_CAN_QAM_128 = 0x4000,
- FE_CAN_QAM_256 = 0x8000,
- FE_CAN_QAM_AUTO = 0x10000,
- FE_CAN_TRANSMISSION_MODE_AUTO = 0x20000,
- FE_CAN_BANDWIDTH_AUTO = 0x40000,
- FE_CAN_GUARD_INTERVAL_AUTO = 0x80000,
- FE_CAN_HIERARCHY_AUTO = 0x100000,
- FE_CAN_8VSB = 0x200000,
- FE_CAN_16VSB = 0x400000,
- FE_HAS_EXTENDED_CAPS = 0x800000, /* We need more bitspace for newer APIs, indicate this. */
- FE_CAN_MULTISTREAM = 0x4000000, /* frontend supports multistream filtering */
- FE_CAN_TURBO_FEC = 0x8000000, /* frontend supports "turbo fec modulation" */
- FE_CAN_2G_MODULATION = 0x10000000, /* frontend supports "2nd generation modulation" (DVB-S2) */
- FE_NEEDS_BENDING = 0x20000000, /* not supported anymore, don't use (frontend requires frequency bending) */
- FE_CAN_RECOVER = 0x40000000, /* frontend can recover from a cable unplug automatically */
- FE_CAN_MUTE_TS = 0x80000000 /* frontend can stop spurious TS data output */
-};
-
-struct dvb_frontend_info {
- char name[128];
- enum fe_type type; /* DEPRECATED. Use DTV_ENUM_DELSYS instead */
- __u32 frequency_min;
- __u32 frequency_max;
- __u32 frequency_stepsize;
- __u32 frequency_tolerance;
- __u32 symbol_rate_min;
- __u32 symbol_rate_max;
- __u32 symbol_rate_tolerance; /* ppm */
- __u32 notifier_delay; /* DEPRECATED */
- enum fe_caps caps;
-};
-
-
-/**
- * Check out the DiSEqC bus spec available on http://www.eutelsat.org/ for
- * the meaning of this struct...
- */
-struct dvb_diseqc_master_cmd {
- __u8 msg [6]; /* { framing, address, command, data [3] } */
- __u8 msg_len; /* valid values are 3...6 */
-};
-
-struct dvb_diseqc_slave_reply {
- __u8 msg [4]; /* { framing, data [3] } */
- __u8 msg_len; /* valid values are 0...4, 0 means no msg */
- int timeout; /* return from ioctl after timeout ms with */
-}; /* errorcode when no message was received */
-
-enum fe_sec_voltage {
- SEC_VOLTAGE_13,
- SEC_VOLTAGE_18,
- SEC_VOLTAGE_OFF
-};
-
-enum fe_sec_tone_mode {
- SEC_TONE_ON,
- SEC_TONE_OFF
-};
-
-enum fe_sec_mini_cmd {
- SEC_MINI_A,
- SEC_MINI_B
-};
-
-/**
- * enum fe_status - enumerates the possible frontend status
- * @FE_HAS_SIGNAL: found something above the noise level
- * @FE_HAS_CARRIER: found a DVB signal
- * @FE_HAS_VITERBI: FEC is stable
- * @FE_HAS_SYNC: found sync bytes
- * @FE_HAS_LOCK: everything's working
- * @FE_TIMEDOUT: no lock within the last ~2 seconds
- * @FE_REINIT: frontend was reinitialized, application is recommended
- * to reset DiSEqC, tone and parameters
- */
-enum fe_status {
- FE_HAS_SIGNAL = 0x01,
- FE_HAS_CARRIER = 0x02,
- FE_HAS_VITERBI = 0x04,
- FE_HAS_SYNC = 0x08,
- FE_HAS_LOCK = 0x10,
- FE_TIMEDOUT = 0x20,
- FE_REINIT = 0x40,
-};
-
-enum fe_spectral_inversion {
- INVERSION_OFF,
- INVERSION_ON,
- INVERSION_AUTO
-};
-
-enum fe_code_rate {
- FEC_NONE = 0,
- FEC_1_2,
- FEC_2_3,
- FEC_3_4,
- FEC_4_5,
- FEC_5_6,
- FEC_6_7,
- FEC_7_8,
- FEC_8_9,
- FEC_AUTO,
- FEC_3_5,
- FEC_9_10,
- FEC_2_5,
-};
-
-enum fe_modulation {
- QPSK,
- QAM_16,
- QAM_32,
- QAM_64,
- QAM_128,
- QAM_256,
- QAM_AUTO,
- VSB_8,
- VSB_16,
- PSK_8,
- APSK_16,
- APSK_32,
- DQPSK,
- QAM_4_NR,
-};
-
-enum fe_transmit_mode {
- TRANSMISSION_MODE_2K,
- TRANSMISSION_MODE_8K,
- TRANSMISSION_MODE_AUTO,
- TRANSMISSION_MODE_4K,
- TRANSMISSION_MODE_1K,
- TRANSMISSION_MODE_16K,
- TRANSMISSION_MODE_32K,
- TRANSMISSION_MODE_C1,
- TRANSMISSION_MODE_C3780,
-};
-
-enum fe_guard_interval {
- GUARD_INTERVAL_1_32,
- GUARD_INTERVAL_1_16,
- GUARD_INTERVAL_1_8,
- GUARD_INTERVAL_1_4,
- GUARD_INTERVAL_AUTO,
- GUARD_INTERVAL_1_128,
- GUARD_INTERVAL_19_128,
- GUARD_INTERVAL_19_256,
- GUARD_INTERVAL_PN420,
- GUARD_INTERVAL_PN595,
- GUARD_INTERVAL_PN945,
-};
-
-enum fe_hierarchy {
- HIERARCHY_NONE,
- HIERARCHY_1,
- HIERARCHY_2,
- HIERARCHY_4,
- HIERARCHY_AUTO
-};
-
-enum fe_interleaving {
- INTERLEAVING_NONE,
- INTERLEAVING_AUTO,
- INTERLEAVING_240,
- INTERLEAVING_720,
-};
-
-/* S2API Commands */
-#define DTV_UNDEFINED 0
-#define DTV_TUNE 1
-#define DTV_CLEAR 2
-#define DTV_FREQUENCY 3
-#define DTV_MODULATION 4
-#define DTV_BANDWIDTH_HZ 5
-#define DTV_INVERSION 6
-#define DTV_DISEQC_MASTER 7
-#define DTV_SYMBOL_RATE 8
-#define DTV_INNER_FEC 9
-#define DTV_VOLTAGE 10
-#define DTV_TONE 11
-#define DTV_PILOT 12
-#define DTV_ROLLOFF 13
-#define DTV_DISEQC_SLAVE_REPLY 14
-
-/* Basic enumeration set for querying unlimited capabilities */
-#define DTV_FE_CAPABILITY_COUNT 15
-#define DTV_FE_CAPABILITY 16
-#define DTV_DELIVERY_SYSTEM 17
-
-/* ISDB-T and ISDB-Tsb */
-#define DTV_ISDBT_PARTIAL_RECEPTION 18
-#define DTV_ISDBT_SOUND_BROADCASTING 19
-
-#define DTV_ISDBT_SB_SUBCHANNEL_ID 20
-#define DTV_ISDBT_SB_SEGMENT_IDX 21
-#define DTV_ISDBT_SB_SEGMENT_COUNT 22
-
-#define DTV_ISDBT_LAYERA_FEC 23
-#define DTV_ISDBT_LAYERA_MODULATION 24
-#define DTV_ISDBT_LAYERA_SEGMENT_COUNT 25
-#define DTV_ISDBT_LAYERA_TIME_INTERLEAVING 26
-
-#define DTV_ISDBT_LAYERB_FEC 27
-#define DTV_ISDBT_LAYERB_MODULATION 28
-#define DTV_ISDBT_LAYERB_SEGMENT_COUNT 29
-#define DTV_ISDBT_LAYERB_TIME_INTERLEAVING 30
-
-#define DTV_ISDBT_LAYERC_FEC 31
-#define DTV_ISDBT_LAYERC_MODULATION 32
-#define DTV_ISDBT_LAYERC_SEGMENT_COUNT 33
-#define DTV_ISDBT_LAYERC_TIME_INTERLEAVING 34
-
-#define DTV_API_VERSION 35
-
-#define DTV_CODE_RATE_HP 36
-#define DTV_CODE_RATE_LP 37
-#define DTV_GUARD_INTERVAL 38
-#define DTV_TRANSMISSION_MODE 39
-#define DTV_HIERARCHY 40
-
-#define DTV_ISDBT_LAYER_ENABLED 41
-
-#define DTV_STREAM_ID 42
-#define DTV_ISDBS_TS_ID_LEGACY DTV_STREAM_ID
-#define DTV_DVBT2_PLP_ID_LEGACY 43
-
-#define DTV_ENUM_DELSYS 44
-
-/* ATSC-MH */
-#define DTV_ATSCMH_FIC_VER 45
-#define DTV_ATSCMH_PARADE_ID 46
-#define DTV_ATSCMH_NOG 47
-#define DTV_ATSCMH_TNOG 48
-#define DTV_ATSCMH_SGN 49
-#define DTV_ATSCMH_PRC 50
-#define DTV_ATSCMH_RS_FRAME_MODE 51
-#define DTV_ATSCMH_RS_FRAME_ENSEMBLE 52
-#define DTV_ATSCMH_RS_CODE_MODE_PRI 53
-#define DTV_ATSCMH_RS_CODE_MODE_SEC 54
-#define DTV_ATSCMH_SCCC_BLOCK_MODE 55
-#define DTV_ATSCMH_SCCC_CODE_MODE_A 56
-#define DTV_ATSCMH_SCCC_CODE_MODE_B 57
-#define DTV_ATSCMH_SCCC_CODE_MODE_C 58
-#define DTV_ATSCMH_SCCC_CODE_MODE_D 59
-
-#define DTV_INTERLEAVING 60
-#define DTV_LNA 61
-
-/* Quality parameters */
-#define DTV_STAT_SIGNAL_STRENGTH 62
-#define DTV_STAT_CNR 63
-#define DTV_STAT_PRE_ERROR_BIT_COUNT 64
-#define DTV_STAT_PRE_TOTAL_BIT_COUNT 65
-#define DTV_STAT_POST_ERROR_BIT_COUNT 66
-#define DTV_STAT_POST_TOTAL_BIT_COUNT 67
-#define DTV_STAT_ERROR_BLOCK_COUNT 68
-#define DTV_STAT_TOTAL_BLOCK_COUNT 69
-
-#define DTV_MAX_COMMAND DTV_STAT_TOTAL_BLOCK_COUNT
-
-enum fe_pilot {
- PILOT_ON,
- PILOT_OFF,
- PILOT_AUTO,
-};
-
-enum fe_rolloff {
- ROLLOFF_35, /* Implied value in DVB-S, default for DVB-S2 */
- ROLLOFF_20,
- ROLLOFF_25,
- ROLLOFF_AUTO,
-};
-
-enum fe_delivery_system {
- SYS_UNDEFINED,
- SYS_DVBC_ANNEX_A,
- SYS_DVBC_ANNEX_B,
- SYS_DVBT,
- SYS_DSS,
- SYS_DVBS,
- SYS_DVBS2,
- SYS_DVBH,
- SYS_ISDBT,
- SYS_ISDBS,
- SYS_ISDBC,
- SYS_ATSC,
- SYS_ATSCMH,
- SYS_DTMB,
- SYS_CMMB,
- SYS_DAB,
- SYS_DVBT2,
- SYS_TURBO,
- SYS_DVBC_ANNEX_C,
-};
-
-/* backward compatibility */
-#define SYS_DVBC_ANNEX_AC SYS_DVBC_ANNEX_A
-#define SYS_DMBTH SYS_DTMB /* DMB-TH is legacy name, use DTMB instead */
-
-/* ATSC-MH */
-
-enum atscmh_sccc_block_mode {
- ATSCMH_SCCC_BLK_SEP = 0,
- ATSCMH_SCCC_BLK_COMB = 1,
- ATSCMH_SCCC_BLK_RES = 2,
-};
-
-enum atscmh_sccc_code_mode {
- ATSCMH_SCCC_CODE_HLF = 0,
- ATSCMH_SCCC_CODE_QTR = 1,
- ATSCMH_SCCC_CODE_RES = 2,
-};
-
-enum atscmh_rs_frame_ensemble {
- ATSCMH_RSFRAME_ENS_PRI = 0,
- ATSCMH_RSFRAME_ENS_SEC = 1,
-};
-
-enum atscmh_rs_frame_mode {
- ATSCMH_RSFRAME_PRI_ONLY = 0,
- ATSCMH_RSFRAME_PRI_SEC = 1,
- ATSCMH_RSFRAME_RES = 2,
-};
-
-enum atscmh_rs_code_mode {
- ATSCMH_RSCODE_211_187 = 0,
- ATSCMH_RSCODE_223_187 = 1,
- ATSCMH_RSCODE_235_187 = 2,
- ATSCMH_RSCODE_RES = 3,
-};
-
-#define NO_STREAM_ID_FILTER (~0U)
-#define LNA_AUTO (~0U)
-
-struct dtv_cmds_h {
- char *name; /* A display name for debugging purposes */
-
- __u32 cmd; /* A unique ID */
-
- /* Flags */
- __u32 set:1; /* Either a set or get property */
- __u32 buffer:1; /* Does this property use the buffer? */
- __u32 reserved:30; /* Align */
-};
-
-/**
- * Scale types for the quality parameters.
- * @FE_SCALE_NOT_AVAILABLE: That QoS measure is not available. That
- * could indicate a temporary or a permanent
- * condition.
- * @FE_SCALE_DECIBEL: The scale is measured in 0.001 dB steps, typically
- * used on signal measures.
- * @FE_SCALE_RELATIVE: The scale is a relative percentual measure,
- * ranging from 0 (0%) to 0xffff (100%).
- * @FE_SCALE_COUNTER: The scale counts the occurrence of an event, like
- * bit error, block error, lapsed time.
- */
-enum fecap_scale_params {
- FE_SCALE_NOT_AVAILABLE = 0,
- FE_SCALE_DECIBEL,
- FE_SCALE_RELATIVE,
- FE_SCALE_COUNTER
-};
-
-/**
- * struct dtv_stats - Used for reading a DTV status property
- *
- * @value: value of the measure. Should range from 0 to 0xffff;
- * @scale: Filled with enum fecap_scale_params - the scale
- * in usage for that parameter
- *
- * For most delivery systems, this will return a single value for each
- * parameter.
- * It should be noticed, however, that new OFDM delivery systems like
- * ISDB can use different modulation types for each group of carriers.
- * On such standards, up to 8 groups of statistics can be provided, one
- * for each carrier group (called "layer" on ISDB).
- * In order to be consistent with other delivery systems, the first
- * value refers to the entire set of carriers ("global").
- * dtv_status:scale should use the value FE_SCALE_NOT_AVAILABLE when
- * the value for the entire group of carriers or from one specific layer
- * is not provided by the hardware.
- * st.len should be filled with the latest filled status + 1.
- *
- * In other words, for ISDB, those values should be filled like:
- * u.st.stat.svalue[0] = global statistics;
- * u.st.stat.scale[0] = FE_SCALE_DECIBEL;
- * u.st.stat.value[1] = layer A statistics;
- * u.st.stat.scale[1] = FE_SCALE_NOT_AVAILABLE (if not available);
- * u.st.stat.svalue[2] = layer B statistics;
- * u.st.stat.scale[2] = FE_SCALE_DECIBEL;
- * u.st.stat.svalue[3] = layer C statistics;
- * u.st.stat.scale[3] = FE_SCALE_DECIBEL;
- * u.st.len = 4;
- */
-struct dtv_stats {
- __u8 scale; /* enum fecap_scale_params type */
- union {
- __u64 uvalue; /* for counters and relative scales */
- __s64 svalue; /* for 0.001 dB measures */
- };
-} __attribute__ ((packed));
-
-
-#define MAX_DTV_STATS 4
-
-struct dtv_fe_stats {
- __u8 len;
- struct dtv_stats stat[MAX_DTV_STATS];
-} __attribute__ ((packed));
-
-struct dtv_property {
- __u32 cmd;
- __u32 reserved[3];
- union {
- __u32 data;
- struct dtv_fe_stats st;
- struct {
- __u8 data[32];
- __u32 len;
- __u32 reserved1[3];
- void *reserved2;
- } buffer;
- } u;
- int result;
-} __attribute__ ((packed));
-
-/* num of properties cannot exceed DTV_IOCTL_MAX_MSGS per ioctl */
-#define DTV_IOCTL_MAX_MSGS 64
-
-struct dtv_properties {
- __u32 num;
- struct dtv_property *props;
-};
-
-
-/*
- * DEPRECATED: The DVBv3 ioctls, structs and enums should not be used on
- * newer programs, as it doesn't support the second generation of digital
- * TV standards, nor supports newer delivery systems.
- */
-
-enum fe_bandwidth {
- BANDWIDTH_8_MHZ,
- BANDWIDTH_7_MHZ,
- BANDWIDTH_6_MHZ,
- BANDWIDTH_AUTO,
- BANDWIDTH_5_MHZ,
- BANDWIDTH_10_MHZ,
- BANDWIDTH_1_712_MHZ,
-};
-
-/* This is needed for legacy userspace support */
-typedef enum fe_sec_voltage fe_sec_voltage_t;
-typedef enum fe_caps fe_caps_t;
-typedef enum fe_type fe_type_t;
-typedef enum fe_sec_tone_mode fe_sec_tone_mode_t;
-typedef enum fe_sec_mini_cmd fe_sec_mini_cmd_t;
-typedef enum fe_status fe_status_t;
-typedef enum fe_spectral_inversion fe_spectral_inversion_t;
-typedef enum fe_code_rate fe_code_rate_t;
-typedef enum fe_modulation fe_modulation_t;
-typedef enum fe_transmit_mode fe_transmit_mode_t;
-typedef enum fe_bandwidth fe_bandwidth_t;
-typedef enum fe_guard_interval fe_guard_interval_t;
-typedef enum fe_hierarchy fe_hierarchy_t;
-typedef enum fe_pilot fe_pilot_t;
-typedef enum fe_rolloff fe_rolloff_t;
-typedef enum fe_delivery_system fe_delivery_system_t;
-
-struct dvb_qpsk_parameters {
- __u32 symbol_rate; /* symbol rate in Symbols per second */
- fe_code_rate_t fec_inner; /* forward error correction (see above) */
-};
-
-struct dvb_qam_parameters {
- __u32 symbol_rate; /* symbol rate in Symbols per second */
- fe_code_rate_t fec_inner; /* forward error correction (see above) */
- fe_modulation_t modulation; /* modulation type (see above) */
-};
-
-struct dvb_vsb_parameters {
- fe_modulation_t modulation; /* modulation type (see above) */
-};
-
-struct dvb_ofdm_parameters {
- fe_bandwidth_t bandwidth;
- fe_code_rate_t code_rate_HP; /* high priority stream code rate */
- fe_code_rate_t code_rate_LP; /* low priority stream code rate */
- fe_modulation_t constellation; /* modulation type (see above) */
- fe_transmit_mode_t transmission_mode;
- fe_guard_interval_t guard_interval;
- fe_hierarchy_t hierarchy_information;
-};
-
-struct dvb_frontend_parameters {
- __u32 frequency; /* (absolute) frequency in Hz for DVB-C/DVB-T/ATSC */
- /* intermediate frequency in kHz for DVB-S */
- fe_spectral_inversion_t inversion;
- union {
- struct dvb_qpsk_parameters qpsk; /* DVB-S */
- struct dvb_qam_parameters qam; /* DVB-C */
- struct dvb_ofdm_parameters ofdm; /* DVB-T */
- struct dvb_vsb_parameters vsb; /* ATSC */
- } u;
-};
-
-struct dvb_frontend_event {
- fe_status_t status;
- struct dvb_frontend_parameters parameters;
-};
-
-#define FE_SET_PROPERTY _IOW('o', 82, struct dtv_properties)
-#define FE_GET_PROPERTY _IOR('o', 83, struct dtv_properties)
-
-/**
- * When set, this flag will disable any zigzagging or other "normal" tuning
- * behaviour. Additionally, there will be no automatic monitoring of the lock
- * status, and hence no frontend events will be generated. If a frontend device
- * is closed, this flag will be automatically turned off when the device is
- * reopened read-write.
- */
-#define FE_TUNE_MODE_ONESHOT 0x01
-
-#define FE_GET_INFO _IOR('o', 61, struct dvb_frontend_info)
-
-#define FE_DISEQC_RESET_OVERLOAD _IO('o', 62)
-#define FE_DISEQC_SEND_MASTER_CMD _IOW('o', 63, struct dvb_diseqc_master_cmd)
-#define FE_DISEQC_RECV_SLAVE_REPLY _IOR('o', 64, struct dvb_diseqc_slave_reply)
-#define FE_DISEQC_SEND_BURST _IO('o', 65) /* fe_sec_mini_cmd_t */
-
-#define FE_SET_TONE _IO('o', 66) /* fe_sec_tone_mode_t */
-#define FE_SET_VOLTAGE _IO('o', 67) /* fe_sec_voltage_t */
-#define FE_ENABLE_HIGH_LNB_VOLTAGE _IO('o', 68) /* int */
-
-#define FE_READ_STATUS _IOR('o', 69, fe_status_t)
-#define FE_READ_BER _IOR('o', 70, __u32)
-#define FE_READ_SIGNAL_STRENGTH _IOR('o', 71, __u16)
-#define FE_READ_SNR _IOR('o', 72, __u16)
-#define FE_READ_UNCORRECTED_BLOCKS _IOR('o', 73, __u32)
-
-#define FE_SET_FRONTEND _IOW('o', 76, struct dvb_frontend_parameters)
-#define FE_GET_FRONTEND _IOR('o', 77, struct dvb_frontend_parameters)
-#define FE_SET_FRONTEND_TUNE_MODE _IO('o', 81) /* unsigned int */
-#define FE_GET_EVENT _IOR('o', 78, struct dvb_frontend_event)
-
-#define FE_DISHNETWORK_SEND_LEGACY_CMD _IO('o', 80) /* unsigned int */
-
-#endif /*_DVBFRONTEND_H_*/
diff --git a/linux-headers/include/linux/dvb/net.h b/linux-headers/include/linux/dvb/net.h
deleted file mode 100644
index f451e7e..0000000
--- a/linux-headers/include/linux/dvb/net.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * net.h
- *
- * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
- * & Ralph Metzler <ralph@convergence.de>
- * for convergence integrated media GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef _DVBNET_H_
-#define _DVBNET_H_
-
-#include <linux/types.h>
-
-struct dvb_net_if {
- __u16 pid;
- __u16 if_num;
- __u8 feedtype;
-#define DVB_NET_FEEDTYPE_MPE 0 /* multi protocol encapsulation */
-#define DVB_NET_FEEDTYPE_ULE 1 /* ultra lightweight encapsulation */
-};
-
-
-#define NET_ADD_IF _IOWR('o', 52, struct dvb_net_if)
-#define NET_REMOVE_IF _IO('o', 53)
-#define NET_GET_IF _IOWR('o', 54, struct dvb_net_if)
-
-
-/* binary compatibility cruft: */
-struct __dvb_net_if_old {
- __u16 pid;
- __u16 if_num;
-};
-#define __NET_ADD_IF_OLD _IOWR('o', 52, struct __dvb_net_if_old)
-#define __NET_GET_IF_OLD _IOWR('o', 54, struct __dvb_net_if_old)
-
-
-#endif /*_DVBNET_H_*/
diff --git a/linux-headers/include/linux/dvb/osd.h b/linux-headers/include/linux/dvb/osd.h
deleted file mode 100644
index f28c7cb..0000000
--- a/linux-headers/include/linux/dvb/osd.h
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * osd.h
- *
- * Copyright (C) 2001 Ralph Metzler <ralph@convergence.de>
- * & Marcus Metzler <marcus@convergence.de>
- * for convergence integrated media GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Lesser Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef _DVBOSD_H_
-#define _DVBOSD_H_
-
-
-
-typedef enum {
- // All functions return -2 on "not open"
- OSD_Close=1, // ()
- // Disables OSD and releases the buffers
- // returns 0 on success
- OSD_Open, // (x0,y0,x1,y1,BitPerPixel[2/4/8](color&0x0F),mix[0..15](color&0xF0))
- // Opens OSD with this size and bit depth
- // returns 0 on success, -1 on DRAM allocation error, -2 on "already open"
- OSD_Show, // ()
- // enables OSD mode
- // returns 0 on success
- OSD_Hide, // ()
- // disables OSD mode
- // returns 0 on success
- OSD_Clear, // ()
- // Sets all pixel to color 0
- // returns 0 on success
- OSD_Fill, // (color)
- // Sets all pixel to color <col>
- // returns 0 on success
- OSD_SetColor, // (color,R{x0},G{y0},B{x1},opacity{y1})
- // set palette entry <num> to <r,g,b>, <mix> and <trans> apply
- // R,G,B: 0..255
- // R=Red, G=Green, B=Blue
- // opacity=0: pixel opacity 0% (only video pixel shows)
- // opacity=1..254: pixel opacity as specified in header
- // opacity=255: pixel opacity 100% (only OSD pixel shows)
- // returns 0 on success, -1 on error
- OSD_SetPalette, // (firstcolor{color},lastcolor{x0},data)
- // Set a number of entries in the palette
- // sets the entries "firstcolor" through "lastcolor" from the array "data"
- // data has 4 byte for each color:
- // R,G,B, and a opacity value: 0->transparent, 1..254->mix, 255->pixel
- OSD_SetTrans, // (transparency{color})
- // Sets transparency of mixed pixel (0..15)
- // returns 0 on success
- OSD_SetPixel, // (x0,y0,color)
- // sets pixel <x>,<y> to color number <col>
- // returns 0 on success, -1 on error
- OSD_GetPixel, // (x0,y0)
- // returns color number of pixel <x>,<y>, or -1
- OSD_SetRow, // (x0,y0,x1,data)
- // fills pixels x0,y through x1,y with the content of data[]
- // returns 0 on success, -1 on clipping all pixel (no pixel drawn)
- OSD_SetBlock, // (x0,y0,x1,y1,increment{color},data)
- // fills pixels x0,y0 through x1,y1 with the content of data[]
- // inc contains the width of one line in the data block,
- // inc<=0 uses blockwidth as linewidth
- // returns 0 on success, -1 on clipping all pixel
- OSD_FillRow, // (x0,y0,x1,color)
- // fills pixels x0,y through x1,y with the color <col>
- // returns 0 on success, -1 on clipping all pixel
- OSD_FillBlock, // (x0,y0,x1,y1,color)
- // fills pixels x0,y0 through x1,y1 with the color <col>
- // returns 0 on success, -1 on clipping all pixel
- OSD_Line, // (x0,y0,x1,y1,color)
- // draw a line from x0,y0 to x1,y1 with the color <col>
- // returns 0 on success
- OSD_Query, // (x0,y0,x1,y1,xasp{color}}), yasp=11
- // fills parameters with the picture dimensions and the pixel aspect ratio
- // returns 0 on success
- OSD_Test, // ()
- // draws a test picture. for debugging purposes only
- // returns 0 on success
-// TODO: remove "test" in final version
- OSD_Text, // (x0,y0,size,color,text)
- OSD_SetWindow, // (x0) set window with number 0<x0<8 as current
- OSD_MoveWindow, // move current window to (x0, y0)
- OSD_OpenRaw, // Open other types of OSD windows
-} OSD_Command;
-
-typedef struct osd_cmd_s {
- OSD_Command cmd;
- int x0;
- int y0;
- int x1;
- int y1;
- int color;
- void *data;
-} osd_cmd_t;
-
-/* OSD_OpenRaw: set 'color' to desired window type */
-typedef enum {
- OSD_BITMAP1, /* 1 bit bitmap */
- OSD_BITMAP2, /* 2 bit bitmap */
- OSD_BITMAP4, /* 4 bit bitmap */
- OSD_BITMAP8, /* 8 bit bitmap */
- OSD_BITMAP1HR, /* 1 Bit bitmap half resolution */
- OSD_BITMAP2HR, /* 2 bit bitmap half resolution */
- OSD_BITMAP4HR, /* 4 bit bitmap half resolution */
- OSD_BITMAP8HR, /* 8 bit bitmap half resolution */
- OSD_YCRCB422, /* 4:2:2 YCRCB Graphic Display */
- OSD_YCRCB444, /* 4:4:4 YCRCB Graphic Display */
- OSD_YCRCB444HR, /* 4:4:4 YCRCB graphic half resolution */
- OSD_VIDEOTSIZE, /* True Size Normal MPEG Video Display */
- OSD_VIDEOHSIZE, /* MPEG Video Display Half Resolution */
- OSD_VIDEOQSIZE, /* MPEG Video Display Quarter Resolution */
- OSD_VIDEODSIZE, /* MPEG Video Display Double Resolution */
- OSD_VIDEOTHSIZE, /* True Size MPEG Video Display Half Resolution */
- OSD_VIDEOTQSIZE, /* True Size MPEG Video Display Quarter Resolution*/
- OSD_VIDEOTDSIZE, /* True Size MPEG Video Display Double Resolution */
- OSD_VIDEONSIZE, /* Full Size MPEG Video Display */
- OSD_CURSOR /* Cursor */
-} osd_raw_window_t;
-
-typedef struct osd_cap_s {
- int cmd;
-#define OSD_CAP_MEMSIZE 1 /* memory size */
- long val;
-} osd_cap_t;
-
-
-#define OSD_SEND_CMD _IOW('o', 160, osd_cmd_t)
-#define OSD_GET_CAPABILITY _IOR('o', 161, osd_cap_t)
-
-#endif
diff --git a/linux-headers/include/linux/dvb/version.h b/linux-headers/include/linux/dvb/version.h
deleted file mode 100644
index e53e2ad..0000000
--- a/linux-headers/include/linux/dvb/version.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * version.h
- *
- * Copyright (C) 2000 Holger Waechtler <holger@convergence.de>
- * for convergence integrated media GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef _DVBVERSION_H_
-#define _DVBVERSION_H_
-
-#define DVB_API_VERSION 5
-#define DVB_API_VERSION_MINOR 10
-
-#endif /*_DVBVERSION_H_*/
diff --git a/linux-headers/include/linux/dvb/video.h b/linux-headers/include/linux/dvb/video.h
deleted file mode 100644
index 8fd182f..0000000
--- a/linux-headers/include/linux/dvb/video.h
+++ /dev/null
@@ -1,271 +0,0 @@
-/*
- * video.h
- *
- * Copyright (C) 2000 Marcus Metzler <marcus@convergence.de>
- * & Ralph Metzler <ralph@convergence.de>
- * for convergence integrated media GmbH
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public License
- * as published by the Free Software Foundation; either version 2.1
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- *
- */
-
-#ifndef _DVBVIDEO_H_
-#define _DVBVIDEO_H_
-
-#include <linux/types.h>
-#include <time.h>
-
-typedef enum {
- VIDEO_FORMAT_4_3, /* Select 4:3 format */
- VIDEO_FORMAT_16_9, /* Select 16:9 format. */
- VIDEO_FORMAT_221_1 /* 2.21:1 */
-} video_format_t;
-
-
-typedef enum {
- VIDEO_SYSTEM_PAL,
- VIDEO_SYSTEM_NTSC,
- VIDEO_SYSTEM_PALN,
- VIDEO_SYSTEM_PALNc,
- VIDEO_SYSTEM_PALM,
- VIDEO_SYSTEM_NTSC60,
- VIDEO_SYSTEM_PAL60,
- VIDEO_SYSTEM_PALM60
-} video_system_t;
-
-
-typedef enum {
- VIDEO_PAN_SCAN, /* use pan and scan format */
- VIDEO_LETTER_BOX, /* use letterbox format */
- VIDEO_CENTER_CUT_OUT /* use center cut out format */
-} video_displayformat_t;
-
-typedef struct {
- int w;
- int h;
- video_format_t aspect_ratio;
-} video_size_t;
-
-typedef enum {
- VIDEO_SOURCE_DEMUX, /* Select the demux as the main source */
- VIDEO_SOURCE_MEMORY /* If this source is selected, the stream
- comes from the user through the write
- system call */
-} video_stream_source_t;
-
-
-typedef enum {
- VIDEO_STOPPED, /* Video is stopped */
- VIDEO_PLAYING, /* Video is currently playing */
- VIDEO_FREEZED /* Video is freezed */
-} video_play_state_t;
-
-
-/* Decoder commands */
-#define VIDEO_CMD_PLAY (0)
-#define VIDEO_CMD_STOP (1)
-#define VIDEO_CMD_FREEZE (2)
-#define VIDEO_CMD_CONTINUE (3)
-
-/* Flags for VIDEO_CMD_FREEZE */
-#define VIDEO_CMD_FREEZE_TO_BLACK (1 << 0)
-
-/* Flags for VIDEO_CMD_STOP */
-#define VIDEO_CMD_STOP_TO_BLACK (1 << 0)
-#define VIDEO_CMD_STOP_IMMEDIATELY (1 << 1)
-
-/* Play input formats: */
-/* The decoder has no special format requirements */
-#define VIDEO_PLAY_FMT_NONE (0)
-/* The decoder requires full GOPs */
-#define VIDEO_PLAY_FMT_GOP (1)
-
-/* The structure must be zeroed before use by the application
- This ensures it can be extended safely in the future. */
-struct video_command {
- __u32 cmd;
- __u32 flags;
- union {
- struct {
- __u64 pts;
- } stop;
-
- struct {
- /* 0 or 1000 specifies normal speed,
- 1 specifies forward single stepping,
- -1 specifies backward single stepping,
- >1: playback at speed/1000 of the normal speed,
- <-1: reverse playback at (-speed/1000) of the normal speed. */
- __s32 speed;
- __u32 format;
- } play;
-
- struct {
- __u32 data[16];
- } raw;
- };
-};
-
-/* FIELD_UNKNOWN can be used if the hardware does not know whether
- the Vsync is for an odd, even or progressive (i.e. non-interlaced)
- field. */
-#define VIDEO_VSYNC_FIELD_UNKNOWN (0)
-#define VIDEO_VSYNC_FIELD_ODD (1)
-#define VIDEO_VSYNC_FIELD_EVEN (2)
-#define VIDEO_VSYNC_FIELD_PROGRESSIVE (3)
-
-struct video_event {
- __s32 type;
-#define VIDEO_EVENT_SIZE_CHANGED 1
-#define VIDEO_EVENT_FRAME_RATE_CHANGED 2
-#define VIDEO_EVENT_DECODER_STOPPED 3
-#define VIDEO_EVENT_VSYNC 4
- __kernel_time_t timestamp;
- union {
- video_size_t size;
- unsigned int frame_rate; /* in frames per 1000sec */
- unsigned char vsync_field; /* unknown/odd/even/progressive */
- } u;
-};
-
-
-struct video_status {
- int video_blank; /* blank video on freeze? */
- video_play_state_t play_state; /* current state of playback */
- video_stream_source_t stream_source; /* current source (demux/memory) */
- video_format_t video_format; /* current aspect ratio of stream*/
- video_displayformat_t display_format;/* selected cropping mode */
-};
-
-
-struct video_still_picture {
- char *iFrame; /* pointer to a single iframe in memory */
- __s32 size;
-};
-
-
-typedef
-struct video_highlight {
- int active; /* 1=show highlight, 0=hide highlight */
- __u8 contrast1; /* 7- 4 Pattern pixel contrast */
- /* 3- 0 Background pixel contrast */
- __u8 contrast2; /* 7- 4 Emphasis pixel-2 contrast */
- /* 3- 0 Emphasis pixel-1 contrast */
- __u8 color1; /* 7- 4 Pattern pixel color */
- /* 3- 0 Background pixel color */
- __u8 color2; /* 7- 4 Emphasis pixel-2 color */
- /* 3- 0 Emphasis pixel-1 color */
- __u32 ypos; /* 23-22 auto action mode */
- /* 21-12 start y */
- /* 9- 0 end y */
- __u32 xpos; /* 23-22 button color number */
- /* 21-12 start x */
- /* 9- 0 end x */
-} video_highlight_t;
-
-
-typedef struct video_spu {
- int active;
- int stream_id;
-} video_spu_t;
-
-
-typedef struct video_spu_palette { /* SPU Palette information */
- int length;
- __u8 *palette;
-} video_spu_palette_t;
-
-
-typedef struct video_navi_pack {
- int length; /* 0 ... 1024 */
- __u8 data[1024];
-} video_navi_pack_t;
-
-
-typedef __u16 video_attributes_t;
-/* bits: descr. */
-/* 15-14 Video compression mode (0=MPEG-1, 1=MPEG-2) */
-/* 13-12 TV system (0=525/60, 1=625/50) */
-/* 11-10 Aspect ratio (0=4:3, 3=16:9) */
-/* 9- 8 permitted display mode on 4:3 monitor (0=both, 1=only pan-sca */
-/* 7 line 21-1 data present in GOP (1=yes, 0=no) */
-/* 6 line 21-2 data present in GOP (1=yes, 0=no) */
-/* 5- 3 source resolution (0=720x480/576, 1=704x480/576, 2=352x480/57 */
-/* 2 source letterboxed (1=yes, 0=no) */
-/* 0 film/camera mode (0=camera, 1=film (625/50 only)) */
-
-
-/* bit definitions for capabilities: */
-/* can the hardware decode MPEG1 and/or MPEG2? */
-#define VIDEO_CAP_MPEG1 1
-#define VIDEO_CAP_MPEG2 2
-/* can you send a system and/or program stream to video device?
- (you still have to open the video and the audio device but only
- send the stream to the video device) */
-#define VIDEO_CAP_SYS 4
-#define VIDEO_CAP_PROG 8
-/* can the driver also handle SPU, NAVI and CSS encoded data?
- (CSS API is not present yet) */
-#define VIDEO_CAP_SPU 16
-#define VIDEO_CAP_NAVI 32
-#define VIDEO_CAP_CSS 64
-
-
-#define VIDEO_STOP _IO('o', 21)
-#define VIDEO_PLAY _IO('o', 22)
-#define VIDEO_FREEZE _IO('o', 23)
-#define VIDEO_CONTINUE _IO('o', 24)
-#define VIDEO_SELECT_SOURCE _IO('o', 25)
-#define VIDEO_SET_BLANK _IO('o', 26)
-#define VIDEO_GET_STATUS _IOR('o', 27, struct video_status)
-#define VIDEO_GET_EVENT _IOR('o', 28, struct video_event)
-#define VIDEO_SET_DISPLAY_FORMAT _IO('o', 29)
-#define VIDEO_STILLPICTURE _IOW('o', 30, struct video_still_picture)
-#define VIDEO_FAST_FORWARD _IO('o', 31)
-#define VIDEO_SLOWMOTION _IO('o', 32)
-#define VIDEO_GET_CAPABILITIES _IOR('o', 33, unsigned int)
-#define VIDEO_CLEAR_BUFFER _IO('o', 34)
-#define VIDEO_SET_ID _IO('o', 35)
-#define VIDEO_SET_STREAMTYPE _IO('o', 36)
-#define VIDEO_SET_FORMAT _IO('o', 37)
-#define VIDEO_SET_SYSTEM _IO('o', 38)
-#define VIDEO_SET_HIGHLIGHT _IOW('o', 39, video_highlight_t)
-#define VIDEO_SET_SPU _IOW('o', 50, video_spu_t)
-#define VIDEO_SET_SPU_PALETTE _IOW('o', 51, video_spu_palette_t)
-#define VIDEO_GET_NAVI _IOR('o', 52, video_navi_pack_t)
-#define VIDEO_SET_ATTRIBUTES _IO('o', 53)
-#define VIDEO_GET_SIZE _IOR('o', 55, video_size_t)
-#define VIDEO_GET_FRAME_RATE _IOR('o', 56, unsigned int)
-
-/**
- * VIDEO_GET_PTS
- *
- * Read the 33 bit presentation time stamp as defined
- * in ITU T-REC-H.222.0 / ISO/IEC 13818-1.
- *
- * The PTS should belong to the currently played
- * frame if possible, but may also be a value close to it
- * like the PTS of the last decoded frame or the last PTS
- * extracted by the PES parser.
- */
-#define VIDEO_GET_PTS _IOR('o', 57, __u64)
-
-/* Read the number of displayed frames since the decoder was started */
-#define VIDEO_GET_FRAME_COUNT _IOR('o', 58, __u64)
-
-#define VIDEO_COMMAND _IOWR('o', 59, struct video_command)
-#define VIDEO_TRY_COMMAND _IOWR('o', 60, struct video_command)
-
-#endif /* _DVBVIDEO_H_ */
diff --git a/linux-headers/include/linux/edd.h b/linux-headers/include/linux/edd.h
deleted file mode 100644
index 190815d..0000000
--- a/linux-headers/include/linux/edd.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * linux/include/linux/edd.h
- * Copyright (C) 2002, 2003, 2004 Dell Inc.
- * by Matt Domsch <Matt_Domsch@dell.com>
- *
- * structures and definitions for the int 13h, ax={41,48}h
- * BIOS Enhanced Disk Drive Services
- * This is based on the T13 group document D1572 Revision 0 (August 14 2002)
- * available at http://www.t13.org/docs2002/d1572r0.pdf. It is
- * very similar to D1484 Revision 3 http://www.t13.org/docs2002/d1484r3.pdf
- *
- * In a nutshell, arch/{i386,x86_64}/boot/setup.S populates a scratch
- * table in the boot_params that contains a list of BIOS-enumerated
- * boot devices.
- * In arch/{i386,x86_64}/kernel/setup.c, this information is
- * transferred into the edd structure, and in drivers/firmware/edd.c, that
- * information is used to identify BIOS boot disk. The code in setup.S
- * is very sensitive to the size of these structures.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License v2.0 as published by
- * the Free Software Foundation
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- */
-#ifndef _LINUX_EDD_H
-#define _LINUX_EDD_H
-
-#include <linux/types.h>
-
-#define EDDNR 0x1e9 /* addr of number of edd_info structs at EDDBUF
- in boot_params - treat this as 1 byte */
-#define EDDBUF 0xd00 /* addr of edd_info structs in boot_params */
-#define EDDMAXNR 6 /* number of edd_info structs starting at EDDBUF */
-#define EDDEXTSIZE 8 /* change these if you muck with the structures */
-#define EDDPARMSIZE 74
-#define CHECKEXTENSIONSPRESENT 0x41
-#define GETDEVICEPARAMETERS 0x48
-#define LEGACYGETDEVICEPARAMETERS 0x08
-#define EDDMAGIC1 0x55AA
-#define EDDMAGIC2 0xAA55
-
-
-#define READ_SECTORS 0x02 /* int13 AH=0x02 is READ_SECTORS command */
-#define EDD_MBR_SIG_OFFSET 0x1B8 /* offset of signature in the MBR */
-#define EDD_MBR_SIG_BUF 0x290 /* addr in boot params */
-#define EDD_MBR_SIG_MAX 16 /* max number of signatures to store */
-#define EDD_MBR_SIG_NR_BUF 0x1ea /* addr of number of MBR signtaures at EDD_MBR_SIG_BUF
- in boot_params - treat this as 1 byte */
-
-#ifndef __ASSEMBLY__
-
-#define EDD_EXT_FIXED_DISK_ACCESS (1 << 0)
-#define EDD_EXT_DEVICE_LOCKING_AND_EJECTING (1 << 1)
-#define EDD_EXT_ENHANCED_DISK_DRIVE_SUPPORT (1 << 2)
-#define EDD_EXT_64BIT_EXTENSIONS (1 << 3)
-
-#define EDD_INFO_DMA_BOUNDARY_ERROR_TRANSPARENT (1 << 0)
-#define EDD_INFO_GEOMETRY_VALID (1 << 1)
-#define EDD_INFO_REMOVABLE (1 << 2)
-#define EDD_INFO_WRITE_VERIFY (1 << 3)
-#define EDD_INFO_MEDIA_CHANGE_NOTIFICATION (1 << 4)
-#define EDD_INFO_LOCKABLE (1 << 5)
-#define EDD_INFO_NO_MEDIA_PRESENT (1 << 6)
-#define EDD_INFO_USE_INT13_FN50 (1 << 7)
-
-struct edd_device_params {
- __u16 length;
- __u16 info_flags;
- __u32 num_default_cylinders;
- __u32 num_default_heads;
- __u32 sectors_per_track;
- __u64 number_of_sectors;
- __u16 bytes_per_sector;
- __u32 dpte_ptr; /* 0xFFFFFFFF for our purposes */
- __u16 key; /* = 0xBEDD */
- __u8 device_path_info_length; /* = 44 */
- __u8 reserved2;
- __u16 reserved3;
- __u8 host_bus_type[4];
- __u8 interface_type[8];
- union {
- struct {
- __u16 base_address;
- __u16 reserved1;
- __u32 reserved2;
- } __attribute__ ((packed)) isa;
- struct {
- __u8 bus;
- __u8 slot;
- __u8 function;
- __u8 channel;
- __u32 reserved;
- } __attribute__ ((packed)) pci;
- /* pcix is same as pci */
- struct {
- __u64 reserved;
- } __attribute__ ((packed)) ibnd;
- struct {
- __u64 reserved;
- } __attribute__ ((packed)) xprs;
- struct {
- __u64 reserved;
- } __attribute__ ((packed)) htpt;
- struct {
- __u64 reserved;
- } __attribute__ ((packed)) unknown;
- } interface_path;
- union {
- struct {
- __u8 device;
- __u8 reserved1;
- __u16 reserved2;
- __u32 reserved3;
- __u64 reserved4;
- } __attribute__ ((packed)) ata;
- struct {
- __u8 device;
- __u8 lun;
- __u8 reserved1;
- __u8 reserved2;
- __u32 reserved3;
- __u64 reserved4;
- } __attribute__ ((packed)) atapi;
- struct {
- __u16 id;
- __u64 lun;
- __u16 reserved1;
- __u32 reserved2;
- } __attribute__ ((packed)) scsi;
- struct {
- __u64 serial_number;
- __u64 reserved;
- } __attribute__ ((packed)) usb;
- struct {
- __u64 eui;
- __u64 reserved;
- } __attribute__ ((packed)) i1394;
- struct {
- __u64 wwid;
- __u64 lun;
- } __attribute__ ((packed)) fibre;
- struct {
- __u64 identity_tag;
- __u64 reserved;
- } __attribute__ ((packed)) i2o;
- struct {
- __u32 array_number;
- __u32 reserved1;
- __u64 reserved2;
- } __attribute__ ((packed)) raid;
- struct {
- __u8 device;
- __u8 reserved1;
- __u16 reserved2;
- __u32 reserved3;
- __u64 reserved4;
- } __attribute__ ((packed)) sata;
- struct {
- __u64 reserved1;
- __u64 reserved2;
- } __attribute__ ((packed)) unknown;
- } device_path;
- __u8 reserved4;
- __u8 checksum;
-} __attribute__ ((packed));
-
-struct edd_info {
- __u8 device;
- __u8 version;
- __u16 interface_support;
- __u16 legacy_max_cylinder;
- __u8 legacy_max_head;
- __u8 legacy_sectors_per_track;
- struct edd_device_params params;
-} __attribute__ ((packed));
-
-struct edd {
- unsigned int mbr_signature[EDD_MBR_SIG_MAX];
- struct edd_info edd_info[EDDMAXNR];
- unsigned char mbr_signature_nr;
- unsigned char edd_info_nr;
-};
-
-#endif /*!__ASSEMBLY__ */
-
-#endif /* _LINUX_EDD_H */
diff --git a/linux-headers/include/linux/efs_fs_sb.h b/linux-headers/include/linux/efs_fs_sb.h
deleted file mode 100644
index a01be90..0000000
--- a/linux-headers/include/linux/efs_fs_sb.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * efs_fs_sb.h
- *
- * Copyright (c) 1999 Al Smith
- *
- * Portions derived from IRIX header files (c) 1988 Silicon Graphics
- */
-
-#ifndef __EFS_FS_SB_H__
-#define __EFS_FS_SB_H__
-
-#include <linux/types.h>
-#include <linux/magic.h>
-
-/* EFS superblock magic numbers */
-#define EFS_MAGIC 0x072959
-#define EFS_NEWMAGIC 0x07295a
-
-#define IS_EFS_MAGIC(x) ((x == EFS_MAGIC) || (x == EFS_NEWMAGIC))
-
-#define EFS_SUPER 1
-#define EFS_ROOTINODE 2
-
-/* efs superblock on disk */
-struct efs_super {
- __be32 fs_size; /* size of filesystem, in sectors */
- __be32 fs_firstcg; /* bb offset to first cg */
- __be32 fs_cgfsize; /* size of cylinder group in bb's */
- __be16 fs_cgisize; /* bb's of inodes per cylinder group */
- __be16 fs_sectors; /* sectors per track */
- __be16 fs_heads; /* heads per cylinder */
- __be16 fs_ncg; /* # of cylinder groups in filesystem */
- __be16 fs_dirty; /* fs needs to be fsck'd */
- __be32 fs_time; /* last super-block update */
- __be32 fs_magic; /* magic number */
- char fs_fname[6]; /* file system name */
- char fs_fpack[6]; /* file system pack name */
- __be32 fs_bmsize; /* size of bitmap in bytes */
- __be32 fs_tfree; /* total free data blocks */
- __be32 fs_tinode; /* total free inodes */
- __be32 fs_bmblock; /* bitmap location. */
- __be32 fs_replsb; /* Location of replicated superblock. */
- __be32 fs_lastialloc; /* last allocated inode */
- char fs_spare[20]; /* space for expansion - MUST BE ZERO */
- __be32 fs_checksum; /* checksum of volume portion of fs */
-};
-
-/* efs superblock information in memory */
-struct efs_sb_info {
- __u32 fs_magic; /* superblock magic number */
- __u32 fs_start; /* first block of filesystem */
- __u32 first_block; /* first data block in filesystem */
- __u32 total_blocks; /* total number of blocks in filesystem */
- __u32 group_size; /* # of blocks a group consists of */
- __u32 data_free; /* # of free data blocks */
- __u32 inode_free; /* # of free inodes */
- __u16 inode_blocks; /* # of blocks used for inodes in every grp */
- __u16 total_groups; /* # of groups */
-};
-
-#endif /* __EFS_FS_SB_H__ */
-
diff --git a/linux-headers/include/linux/elf-em.h b/linux-headers/include/linux/elf-em.h
deleted file mode 100644
index c3fdfe7..0000000
--- a/linux-headers/include/linux/elf-em.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _LINUX_ELF_EM_H
-#define _LINUX_ELF_EM_H
-
-/* These constants define the various ELF target machines */
-#define EM_NONE 0
-#define EM_M32 1
-#define EM_SPARC 2
-#define EM_386 3
-#define EM_68K 4
-#define EM_88K 5
-#define EM_486 6 /* Perhaps disused */
-#define EM_860 7
-#define EM_MIPS 8 /* MIPS R3000 (officially, big-endian only) */
- /* Next two are historical and binaries and
- modules of these types will be rejected by
- Linux. */
-#define EM_MIPS_RS3_LE 10 /* MIPS R3000 little-endian */
-#define EM_MIPS_RS4_BE 10 /* MIPS R4000 big-endian */
-
-#define EM_PARISC 15 /* HPPA */
-#define EM_SPARC32PLUS 18 /* Sun's "v8plus" */
-#define EM_PPC 20 /* PowerPC */
-#define EM_PPC64 21 /* PowerPC64 */
-#define EM_SPU 23 /* Cell BE SPU */
-#define EM_ARM 40 /* ARM 32 bit */
-#define EM_SH 42 /* SuperH */
-#define EM_SPARCV9 43 /* SPARC v9 64-bit */
-#define EM_H8_300 46 /* Renesas H8/300 */
-#define EM_IA_64 50 /* HP/Intel IA-64 */
-#define EM_X86_64 62 /* AMD x86-64 */
-#define EM_S390 22 /* IBM S/390 */
-#define EM_CRIS 76 /* Axis Communications 32-bit embedded processor */
-#define EM_M32R 88 /* Renesas M32R */
-#define EM_MN10300 89 /* Panasonic/MEI MN10300, AM33 */
-#define EM_OPENRISC 92 /* OpenRISC 32-bit embedded processor */
-#define EM_BLACKFIN 106 /* ADI Blackfin Processor */
-#define EM_ALTERA_NIOS2 113 /* Altera Nios II soft-core processor */
-#define EM_TI_C6000 140 /* TI C6X DSPs */
-#define EM_AARCH64 183 /* ARM 64 bit */
-#define EM_TILEPRO 188 /* Tilera TILEPro */
-#define EM_MICROBLAZE 189 /* Xilinx MicroBlaze */
-#define EM_TILEGX 191 /* Tilera TILE-Gx */
-#define EM_FRV 0x5441 /* Fujitsu FR-V */
-#define EM_AVR32 0x18ad /* Atmel AVR32 */
-
-/*
- * This is an interim value that we will use until the committee comes
- * up with a final number.
- */
-#define EM_ALPHA 0x9026
-
-/* Bogus old m32r magic number, used by old tools. */
-#define EM_CYGNUS_M32R 0x9041
-/* This is the old interim value for S/390 architecture */
-#define EM_S390_OLD 0xA390
-/* Also Panasonic/MEI MN10300, AM33 */
-#define EM_CYGNUS_MN10300 0xbeef
-
-
-#endif /* _LINUX_ELF_EM_H */
diff --git a/linux-headers/include/linux/elf-fdpic.h b/linux-headers/include/linux/elf-fdpic.h
deleted file mode 100644
index 5748a46..0000000
--- a/linux-headers/include/linux/elf-fdpic.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/* elf-fdpic.h: FDPIC ELF load map
- *
- * Copyright (C) 2003 Red Hat, Inc. All Rights Reserved.
- * Written by David Howells (dhowells@redhat.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_ELF_FDPIC_H
-#define _LINUX_ELF_FDPIC_H
-
-#include <linux/elf.h>
-
-#define PT_GNU_STACK (PT_LOOS + 0x474e551)
-
-/* segment mappings for ELF FDPIC libraries/executables/interpreters */
-struct elf32_fdpic_loadseg {
- Elf32_Addr addr; /* core address to which mapped */
- Elf32_Addr p_vaddr; /* VMA recorded in file */
- Elf32_Word p_memsz; /* allocation size recorded in file */
-};
-
-struct elf32_fdpic_loadmap {
- Elf32_Half version; /* version of these structures, just in case... */
- Elf32_Half nsegs; /* number of segments */
- struct elf32_fdpic_loadseg segs[];
-};
-
-#define ELF32_FDPIC_LOADMAP_VERSION 0x0000
-
-#endif /* _LINUX_ELF_FDPIC_H */
diff --git a/linux-headers/include/linux/elf.h b/linux-headers/include/linux/elf.h
deleted file mode 100644
index 988b53d..0000000
--- a/linux-headers/include/linux/elf.h
+++ /dev/null
@@ -1,420 +0,0 @@
-#ifndef _LINUX_ELF_H
-#define _LINUX_ELF_H
-
-#include <linux/types.h>
-#include <linux/elf-em.h>
-
-/* 32-bit ELF base types. */
-typedef __u32 Elf32_Addr;
-typedef __u16 Elf32_Half;
-typedef __u32 Elf32_Off;
-typedef __s32 Elf32_Sword;
-typedef __u32 Elf32_Word;
-
-/* 64-bit ELF base types. */
-typedef __u64 Elf64_Addr;
-typedef __u16 Elf64_Half;
-typedef __s16 Elf64_SHalf;
-typedef __u64 Elf64_Off;
-typedef __s32 Elf64_Sword;
-typedef __u32 Elf64_Word;
-typedef __u64 Elf64_Xword;
-typedef __s64 Elf64_Sxword;
-
-/* These constants are for the segment types stored in the image headers */
-#define PT_NULL 0
-#define PT_LOAD 1
-#define PT_DYNAMIC 2
-#define PT_INTERP 3
-#define PT_NOTE 4
-#define PT_SHLIB 5
-#define PT_PHDR 6
-#define PT_TLS 7 /* Thread local storage segment */
-#define PT_LOOS 0x60000000 /* OS-specific */
-#define PT_HIOS 0x6fffffff /* OS-specific */
-#define PT_LOPROC 0x70000000
-#define PT_HIPROC 0x7fffffff
-#define PT_GNU_EH_FRAME 0x6474e550
-
-#define PT_GNU_STACK (PT_LOOS + 0x474e551)
-
-/*
- * Extended Numbering
- *
- * If the real number of program header table entries is larger than
- * or equal to PN_XNUM(0xffff), it is set to sh_info field of the
- * section header at index 0, and PN_XNUM is set to e_phnum
- * field. Otherwise, the section header at index 0 is zero
- * initialized, if it exists.
- *
- * Specifications are available in:
- *
- * - Oracle: Linker and Libraries.
- * Part No: 817–1984–19, August 2011.
- * http://docs.oracle.com/cd/E18752_01/pdf/817-1984.pdf
- *
- * - System V ABI AMD64 Architecture Processor Supplement
- * Draft Version 0.99.4,
- * January 13, 2010.
- * http://www.cs.washington.edu/education/courses/cse351/12wi/supp-docs/abi.pdf
- */
-#define PN_XNUM 0xffff
-
-/* These constants define the different elf file types */
-#define ET_NONE 0
-#define ET_REL 1
-#define ET_EXEC 2
-#define ET_DYN 3
-#define ET_CORE 4
-#define ET_LOPROC 0xff00
-#define ET_HIPROC 0xffff
-
-/* This is the info that is needed to parse the dynamic section of the file */
-#define DT_NULL 0
-#define DT_NEEDED 1
-#define DT_PLTRELSZ 2
-#define DT_PLTGOT 3
-#define DT_HASH 4
-#define DT_STRTAB 5
-#define DT_SYMTAB 6
-#define DT_RELA 7
-#define DT_RELASZ 8
-#define DT_RELAENT 9
-#define DT_STRSZ 10
-#define DT_SYMENT 11
-#define DT_INIT 12
-#define DT_FINI 13
-#define DT_SONAME 14
-#define DT_RPATH 15
-#define DT_SYMBOLIC 16
-#define DT_REL 17
-#define DT_RELSZ 18
-#define DT_RELENT 19
-#define DT_PLTREL 20
-#define DT_DEBUG 21
-#define DT_TEXTREL 22
-#define DT_JMPREL 23
-#define DT_ENCODING 32
-#define OLD_DT_LOOS 0x60000000
-#define DT_LOOS 0x6000000d
-#define DT_HIOS 0x6ffff000
-#define DT_VALRNGLO 0x6ffffd00
-#define DT_VALRNGHI 0x6ffffdff
-#define DT_ADDRRNGLO 0x6ffffe00
-#define DT_ADDRRNGHI 0x6ffffeff
-#define DT_VERSYM 0x6ffffff0
-#define DT_RELACOUNT 0x6ffffff9
-#define DT_RELCOUNT 0x6ffffffa
-#define DT_FLAGS_1 0x6ffffffb
-#define DT_VERDEF 0x6ffffffc
-#define DT_VERDEFNUM 0x6ffffffd
-#define DT_VERNEED 0x6ffffffe
-#define DT_VERNEEDNUM 0x6fffffff
-#define OLD_DT_HIOS 0x6fffffff
-#define DT_LOPROC 0x70000000
-#define DT_HIPROC 0x7fffffff
-
-/* This info is needed when parsing the symbol table */
-#define STB_LOCAL 0
-#define STB_GLOBAL 1
-#define STB_WEAK 2
-
-#define STT_NOTYPE 0
-#define STT_OBJECT 1
-#define STT_FUNC 2
-#define STT_SECTION 3
-#define STT_FILE 4
-#define STT_COMMON 5
-#define STT_TLS 6
-
-#define ELF_ST_BIND(x) ((x) >> 4)
-#define ELF_ST_TYPE(x) (((unsigned int) x) & 0xf)
-#define ELF32_ST_BIND(x) ELF_ST_BIND(x)
-#define ELF32_ST_TYPE(x) ELF_ST_TYPE(x)
-#define ELF64_ST_BIND(x) ELF_ST_BIND(x)
-#define ELF64_ST_TYPE(x) ELF_ST_TYPE(x)
-
-typedef struct dynamic{
- Elf32_Sword d_tag;
- union{
- Elf32_Sword d_val;
- Elf32_Addr d_ptr;
- } d_un;
-} Elf32_Dyn;
-
-typedef struct {
- Elf64_Sxword d_tag; /* entry tag value */
- union {
- Elf64_Xword d_val;
- Elf64_Addr d_ptr;
- } d_un;
-} Elf64_Dyn;
-
-/* The following are used with relocations */
-#define ELF32_R_SYM(x) ((x) >> 8)
-#define ELF32_R_TYPE(x) ((x) & 0xff)
-
-#define ELF64_R_SYM(i) ((i) >> 32)
-#define ELF64_R_TYPE(i) ((i) & 0xffffffff)
-
-typedef struct elf32_rel {
- Elf32_Addr r_offset;
- Elf32_Word r_info;
-} Elf32_Rel;
-
-typedef struct elf64_rel {
- Elf64_Addr r_offset; /* Location at which to apply the action */
- Elf64_Xword r_info; /* index and type of relocation */
-} Elf64_Rel;
-
-typedef struct elf32_rela{
- Elf32_Addr r_offset;
- Elf32_Word r_info;
- Elf32_Sword r_addend;
-} Elf32_Rela;
-
-typedef struct elf64_rela {
- Elf64_Addr r_offset; /* Location at which to apply the action */
- Elf64_Xword r_info; /* index and type of relocation */
- Elf64_Sxword r_addend; /* Constant addend used to compute value */
-} Elf64_Rela;
-
-typedef struct elf32_sym{
- Elf32_Word st_name;
- Elf32_Addr st_value;
- Elf32_Word st_size;
- unsigned char st_info;
- unsigned char st_other;
- Elf32_Half st_shndx;
-} Elf32_Sym;
-
-typedef struct elf64_sym {
- Elf64_Word st_name; /* Symbol name, index in string tbl */
- unsigned char st_info; /* Type and binding attributes */
- unsigned char st_other; /* No defined meaning, 0 */
- Elf64_Half st_shndx; /* Associated section index */
- Elf64_Addr st_value; /* Value of the symbol */
- Elf64_Xword st_size; /* Associated symbol size */
-} Elf64_Sym;
-
-
-#define EI_NIDENT 16
-
-typedef struct elf32_hdr{
- unsigned char e_ident[EI_NIDENT];
- Elf32_Half e_type;
- Elf32_Half e_machine;
- Elf32_Word e_version;
- Elf32_Addr e_entry; /* Entry point */
- Elf32_Off e_phoff;
- Elf32_Off e_shoff;
- Elf32_Word e_flags;
- Elf32_Half e_ehsize;
- Elf32_Half e_phentsize;
- Elf32_Half e_phnum;
- Elf32_Half e_shentsize;
- Elf32_Half e_shnum;
- Elf32_Half e_shstrndx;
-} Elf32_Ehdr;
-
-typedef struct elf64_hdr {
- unsigned char e_ident[EI_NIDENT]; /* ELF "magic number" */
- Elf64_Half e_type;
- Elf64_Half e_machine;
- Elf64_Word e_version;
- Elf64_Addr e_entry; /* Entry point virtual address */
- Elf64_Off e_phoff; /* Program header table file offset */
- Elf64_Off e_shoff; /* Section header table file offset */
- Elf64_Word e_flags;
- Elf64_Half e_ehsize;
- Elf64_Half e_phentsize;
- Elf64_Half e_phnum;
- Elf64_Half e_shentsize;
- Elf64_Half e_shnum;
- Elf64_Half e_shstrndx;
-} Elf64_Ehdr;
-
-/* These constants define the permissions on sections in the program
- header, p_flags. */
-#define PF_R 0x4
-#define PF_W 0x2
-#define PF_X 0x1
-
-typedef struct elf32_phdr{
- Elf32_Word p_type;
- Elf32_Off p_offset;
- Elf32_Addr p_vaddr;
- Elf32_Addr p_paddr;
- Elf32_Word p_filesz;
- Elf32_Word p_memsz;
- Elf32_Word p_flags;
- Elf32_Word p_align;
-} Elf32_Phdr;
-
-typedef struct elf64_phdr {
- Elf64_Word p_type;
- Elf64_Word p_flags;
- Elf64_Off p_offset; /* Segment file offset */
- Elf64_Addr p_vaddr; /* Segment virtual address */
- Elf64_Addr p_paddr; /* Segment physical address */
- Elf64_Xword p_filesz; /* Segment size in file */
- Elf64_Xword p_memsz; /* Segment size in memory */
- Elf64_Xword p_align; /* Segment alignment, file & memory */
-} Elf64_Phdr;
-
-/* sh_type */
-#define SHT_NULL 0
-#define SHT_PROGBITS 1
-#define SHT_SYMTAB 2
-#define SHT_STRTAB 3
-#define SHT_RELA 4
-#define SHT_HASH 5
-#define SHT_DYNAMIC 6
-#define SHT_NOTE 7
-#define SHT_NOBITS 8
-#define SHT_REL 9
-#define SHT_SHLIB 10
-#define SHT_DYNSYM 11
-#define SHT_NUM 12
-#define SHT_LOPROC 0x70000000
-#define SHT_HIPROC 0x7fffffff
-#define SHT_LOUSER 0x80000000
-#define SHT_HIUSER 0xffffffff
-
-/* sh_flags */
-#define SHF_WRITE 0x1
-#define SHF_ALLOC 0x2
-#define SHF_EXECINSTR 0x4
-#define SHF_MASKPROC 0xf0000000
-
-/* special section indexes */
-#define SHN_UNDEF 0
-#define SHN_LORESERVE 0xff00
-#define SHN_LOPROC 0xff00
-#define SHN_HIPROC 0xff1f
-#define SHN_ABS 0xfff1
-#define SHN_COMMON 0xfff2
-#define SHN_HIRESERVE 0xffff
-
-typedef struct elf32_shdr {
- Elf32_Word sh_name;
- Elf32_Word sh_type;
- Elf32_Word sh_flags;
- Elf32_Addr sh_addr;
- Elf32_Off sh_offset;
- Elf32_Word sh_size;
- Elf32_Word sh_link;
- Elf32_Word sh_info;
- Elf32_Word sh_addralign;
- Elf32_Word sh_entsize;
-} Elf32_Shdr;
-
-typedef struct elf64_shdr {
- Elf64_Word sh_name; /* Section name, index in string tbl */
- Elf64_Word sh_type; /* Type of section */
- Elf64_Xword sh_flags; /* Miscellaneous section attributes */
- Elf64_Addr sh_addr; /* Section virtual addr at execution */
- Elf64_Off sh_offset; /* Section file offset */
- Elf64_Xword sh_size; /* Size of section in bytes */
- Elf64_Word sh_link; /* Index of another section */
- Elf64_Word sh_info; /* Additional section information */
- Elf64_Xword sh_addralign; /* Section alignment */
- Elf64_Xword sh_entsize; /* Entry size if section holds table */
-} Elf64_Shdr;
-
-#define EI_MAG0 0 /* e_ident[] indexes */
-#define EI_MAG1 1
-#define EI_MAG2 2
-#define EI_MAG3 3
-#define EI_CLASS 4
-#define EI_DATA 5
-#define EI_VERSION 6
-#define EI_OSABI 7
-#define EI_PAD 8
-
-#define ELFMAG0 0x7f /* EI_MAG */
-#define ELFMAG1 'E'
-#define ELFMAG2 'L'
-#define ELFMAG3 'F'
-#define ELFMAG "\177ELF"
-#define SELFMAG 4
-
-#define ELFCLASSNONE 0 /* EI_CLASS */
-#define ELFCLASS32 1
-#define ELFCLASS64 2
-#define ELFCLASSNUM 3
-
-#define ELFDATANONE 0 /* e_ident[EI_DATA] */
-#define ELFDATA2LSB 1
-#define ELFDATA2MSB 2
-
-#define EV_NONE 0 /* e_version, EI_VERSION */
-#define EV_CURRENT 1
-#define EV_NUM 2
-
-#define ELFOSABI_NONE 0
-#define ELFOSABI_LINUX 3
-
-#ifndef ELF_OSABI
-#define ELF_OSABI ELFOSABI_NONE
-#endif
-
-/*
- * Notes used in ET_CORE. Architectures export some of the arch register sets
- * using the corresponding note types via the PTRACE_GETREGSET and
- * PTRACE_SETREGSET requests.
- */
-#define NT_PRSTATUS 1
-#define NT_PRFPREG 2
-#define NT_PRPSINFO 3
-#define NT_TASKSTRUCT 4
-#define NT_AUXV 6
-/*
- * Note to userspace developers: size of NT_SIGINFO note may increase
- * in the future to accomodate more fields, don't assume it is fixed!
- */
-#define NT_SIGINFO 0x53494749
-#define NT_FILE 0x46494c45
-#define NT_PRXFPREG 0x46e62b7f /* copied from gdb5.1/include/elf/common.h */
-#define NT_PPC_VMX 0x100 /* PowerPC Altivec/VMX registers */
-#define NT_PPC_SPE 0x101 /* PowerPC SPE/EVR registers */
-#define NT_PPC_VSX 0x102 /* PowerPC VSX registers */
-#define NT_386_TLS 0x200 /* i386 TLS slots (struct user_desc) */
-#define NT_386_IOPERM 0x201 /* x86 io permission bitmap (1=deny) */
-#define NT_X86_XSTATE 0x202 /* x86 extended state using xsave */
-#define NT_S390_HIGH_GPRS 0x300 /* s390 upper register halves */
-#define NT_S390_TIMER 0x301 /* s390 timer register */
-#define NT_S390_TODCMP 0x302 /* s390 TOD clock comparator register */
-#define NT_S390_TODPREG 0x303 /* s390 TOD programmable register */
-#define NT_S390_CTRS 0x304 /* s390 control registers */
-#define NT_S390_PREFIX 0x305 /* s390 prefix register */
-#define NT_S390_LAST_BREAK 0x306 /* s390 breaking event address */
-#define NT_S390_SYSTEM_CALL 0x307 /* s390 system call restart data */
-#define NT_S390_TDB 0x308 /* s390 transaction diagnostic block */
-#define NT_S390_VXRS_LOW 0x309 /* s390 vector registers 0-15 upper half */
-#define NT_S390_VXRS_HIGH 0x30a /* s390 vector registers 16-31 */
-#define NT_ARM_VFP 0x400 /* ARM VFP/NEON registers */
-#define NT_ARM_TLS 0x401 /* ARM TLS register */
-#define NT_ARM_HW_BREAK 0x402 /* ARM hardware breakpoint registers */
-#define NT_ARM_HW_WATCH 0x403 /* ARM hardware watchpoint registers */
-#define NT_ARM_SYSTEM_CALL 0x404 /* ARM system call number */
-#define NT_METAG_CBUF 0x500 /* Metag catch buffer registers */
-#define NT_METAG_RPIPE 0x501 /* Metag read pipeline state */
-#define NT_METAG_TLS 0x502 /* Metag TLS pointer */
-
-
-/* Note header in a PT_NOTE section */
-typedef struct elf32_note {
- Elf32_Word n_namesz; /* Name size */
- Elf32_Word n_descsz; /* Content size */
- Elf32_Word n_type; /* Content type */
-} Elf32_Nhdr;
-
-/* Note header in a PT_NOTE section */
-typedef struct elf64_note {
- Elf64_Word n_namesz; /* Name size */
- Elf64_Word n_descsz; /* Content size */
- Elf64_Word n_type; /* Content type */
-} Elf64_Nhdr;
-
-#endif /* _LINUX_ELF_H */
diff --git a/linux-headers/include/linux/elfcore.h b/linux-headers/include/linux/elfcore.h
deleted file mode 100644
index 9dd784c..0000000
--- a/linux-headers/include/linux/elfcore.h
+++ /dev/null
@@ -1,96 +0,0 @@
-#ifndef _LINUX_ELFCORE_H
-#define _LINUX_ELFCORE_H
-
-#include <linux/types.h>
-#include <linux/signal.h>
-#include <linux/time.h>
-#include <linux/ptrace.h>
-#include <linux/elf.h>
-#include <linux/fs.h>
-
-struct elf_siginfo
-{
- int si_signo; /* signal number */
- int si_code; /* extra code */
- int si_errno; /* errno */
-};
-
-
-typedef elf_greg_t greg_t;
-typedef elf_gregset_t gregset_t;
-typedef elf_fpregset_t fpregset_t;
-typedef elf_fpxregset_t fpxregset_t;
-#define NGREG ELF_NGREG
-
-/*
- * Definitions to generate Intel SVR4-like core files.
- * These mostly have the same names as the SVR4 types with "elf_"
- * tacked on the front to prevent clashes with linux definitions,
- * and the typedef forms have been avoided. This is mostly like
- * the SVR4 structure, but more Linuxy, with things that Linux does
- * not support and which gdb doesn't really use excluded.
- * Fields present but not used are marked with "XXX".
- */
-struct elf_prstatus
-{
-#if 0
- long pr_flags; /* XXX Process flags */
- short pr_why; /* XXX Reason for process halt */
- short pr_what; /* XXX More detailed reason */
-#endif
- struct elf_siginfo pr_info; /* Info associated with signal */
- short pr_cursig; /* Current signal */
- unsigned long pr_sigpend; /* Set of pending signals */
- unsigned long pr_sighold; /* Set of held signals */
-#if 0
- struct sigaltstack pr_altstack; /* Alternate stack info */
- struct sigaction pr_action; /* Signal action for current sig */
-#endif
- pid_t pr_pid;
- pid_t pr_ppid;
- pid_t pr_pgrp;
- pid_t pr_sid;
- struct timeval pr_utime; /* User time */
- struct timeval pr_stime; /* System time */
- struct timeval pr_cutime; /* Cumulative user time */
- struct timeval pr_cstime; /* Cumulative system time */
-#if 0
- long pr_instr; /* Current instruction */
-#endif
- elf_gregset_t pr_reg; /* GP registers */
-#ifdef CONFIG_BINFMT_ELF_FDPIC
- /* When using FDPIC, the loadmap addresses need to be communicated
- * to GDB in order for GDB to do the necessary relocations. The
- * fields (below) used to communicate this information are placed
- * immediately after ``pr_reg'', so that the loadmap addresses may
- * be viewed as part of the register set if so desired.
- */
- unsigned long pr_exec_fdpic_loadmap;
- unsigned long pr_interp_fdpic_loadmap;
-#endif
- int pr_fpvalid; /* True if math co-processor being used. */
-};
-
-#define ELF_PRARGSZ (80) /* Number of chars for args */
-
-struct elf_prpsinfo
-{
- char pr_state; /* numeric process state */
- char pr_sname; /* char for pr_state */
- char pr_zomb; /* zombie */
- char pr_nice; /* nice val */
- unsigned long pr_flag; /* flags */
- __kernel_uid_t pr_uid;
- __kernel_gid_t pr_gid;
- pid_t pr_pid, pr_ppid, pr_pgrp, pr_sid;
- /* Lots missing */
- char pr_fname[16]; /* filename of executable */
- char pr_psargs[ELF_PRARGSZ]; /* initial part of arg list */
-};
-
-typedef struct elf_prstatus prstatus_t;
-typedef struct elf_prpsinfo prpsinfo_t;
-#define PRARGSZ ELF_PRARGSZ
-
-
-#endif /* _LINUX_ELFCORE_H */
diff --git a/linux-headers/include/linux/errno.h b/linux-headers/include/linux/errno.h
deleted file mode 100644
index 70f2bd3..0000000
--- a/linux-headers/include/linux/errno.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm/errno.h>
diff --git a/linux-headers/include/linux/errqueue.h b/linux-headers/include/linux/errqueue.h
deleted file mode 100644
index 5575a6e..0000000
--- a/linux-headers/include/linux/errqueue.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _LINUX_ERRQUEUE_H
-#define _LINUX_ERRQUEUE_H
-
-#include <linux/types.h>
-
-struct sock_extended_err {
- __u32 ee_errno;
- __u8 ee_origin;
- __u8 ee_type;
- __u8 ee_code;
- __u8 ee_pad;
- __u32 ee_info;
- __u32 ee_data;
-};
-
-#define SO_EE_ORIGIN_NONE 0
-#define SO_EE_ORIGIN_LOCAL 1
-#define SO_EE_ORIGIN_ICMP 2
-#define SO_EE_ORIGIN_ICMP6 3
-#define SO_EE_ORIGIN_TXSTATUS 4
-#define SO_EE_ORIGIN_TIMESTAMPING SO_EE_ORIGIN_TXSTATUS
-
-#define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1))
-
-/**
- * struct scm_timestamping - timestamps exposed through cmsg
- *
- * The timestamping interfaces SO_TIMESTAMPING, MSG_TSTAMP_*
- * communicate network timestamps by passing this struct in a cmsg with
- * recvmsg(). See Documentation/networking/timestamping.txt for details.
- */
-struct scm_timestamping {
- struct timespec ts[3];
-};
-
-/* The type of scm_timestamping, passed in sock_extended_err ee_info.
- * This defines the type of ts[0]. For SCM_TSTAMP_SND only, if ts[0]
- * is zero, then this is a hardware timestamp and recorded in ts[2].
- */
-enum {
- SCM_TSTAMP_SND, /* driver passed skb to NIC, or HW */
- SCM_TSTAMP_SCHED, /* data entered the packet scheduler */
- SCM_TSTAMP_ACK, /* data acknowledged by peer */
-};
-
-#endif /* _LINUX_ERRQUEUE_H */
diff --git a/linux-headers/include/linux/ethtool.h b/linux-headers/include/linux/ethtool.h
deleted file mode 100644
index 1b84ef6..0000000
--- a/linux-headers/include/linux/ethtool.h
+++ /dev/null
@@ -1,1729 +0,0 @@
-/*
- * ethtool.h: Defines for Linux ethtool.
- *
- * Copyright (C) 1998 David S. Miller (davem@redhat.com)
- * Copyright 2001 Jeff Garzik <jgarzik@pobox.com>
- * Portions Copyright 2001 Sun Microsystems (thockin@sun.com)
- * Portions Copyright 2002 Intel (eli.kupermann@intel.com,
- * christopher.leech@intel.com,
- * scott.feldman@intel.com)
- * Portions Copyright (C) Sun Microsystems 2008
- */
-
-#ifndef _LINUX_ETHTOOL_H
-#define _LINUX_ETHTOOL_H
-
-#include <linux/kernel.h>
-#include <linux/types.h>
-#include <linux/if_ether.h>
-
-#include <limits.h> /* for INT_MAX */
-
-/* All structures exposed to userland should be defined such that they
- * have the same layout for 32-bit and 64-bit userland.
- */
-
-/**
- * struct ethtool_cmd - DEPRECATED, link control and status
- * This structure is DEPRECATED, please use struct ethtool_link_settings.
- * @cmd: Command number = %ETHTOOL_GSET or %ETHTOOL_SSET
- * @supported: Bitmask of %SUPPORTED_* flags for the link modes,
- * physical connectors and other link features for which the
- * interface supports autonegotiation or auto-detection.
- * Read-only.
- * @advertising: Bitmask of %ADVERTISED_* flags for the link modes,
- * physical connectors and other link features that are
- * advertised through autonegotiation or enabled for
- * auto-detection.
- * @speed: Low bits of the speed, 1Mb units, 0 to INT_MAX or SPEED_UNKNOWN
- * @duplex: Duplex mode; one of %DUPLEX_*
- * @port: Physical connector type; one of %PORT_*
- * @phy_address: MDIO address of PHY (transceiver); 0 or 255 if not
- * applicable. For clause 45 PHYs this is the PRTAD.
- * @transceiver: Historically used to distinguish different possible
- * PHY types, but not in a consistent way. Deprecated.
- * @autoneg: Enable/disable autonegotiation and auto-detection;
- * either %AUTONEG_DISABLE or %AUTONEG_ENABLE
- * @mdio_support: Bitmask of %ETH_MDIO_SUPPORTS_* flags for the MDIO
- * protocols supported by the interface; 0 if unknown.
- * Read-only.
- * @maxtxpkt: Historically used to report TX IRQ coalescing; now
- * obsoleted by &struct ethtool_coalesce. Read-only; deprecated.
- * @maxrxpkt: Historically used to report RX IRQ coalescing; now
- * obsoleted by &struct ethtool_coalesce. Read-only; deprecated.
- * @speed_hi: High bits of the speed, 1Mb units, 0 to INT_MAX or SPEED_UNKNOWN
- * @eth_tp_mdix: Ethernet twisted-pair MDI(-X) status; one of
- * %ETH_TP_MDI_*. If the status is unknown or not applicable, the
- * value will be %ETH_TP_MDI_INVALID. Read-only.
- * @eth_tp_mdix_ctrl: Ethernet twisted pair MDI(-X) control; one of
- * %ETH_TP_MDI_*. If MDI(-X) control is not implemented, reads
- * yield %ETH_TP_MDI_INVALID and writes may be ignored or rejected.
- * When written successfully, the link should be renegotiated if
- * necessary.
- * @lp_advertising: Bitmask of %ADVERTISED_* flags for the link modes
- * and other link features that the link partner advertised
- * through autonegotiation; 0 if unknown or not applicable.
- * Read-only.
- *
- * The link speed in Mbps is split between @speed and @speed_hi. Use
- * the ethtool_cmd_speed() and ethtool_cmd_speed_set() functions to
- * access it.
- *
- * If autonegotiation is disabled, the speed and @duplex represent the
- * fixed link mode and are writable if the driver supports multiple
- * link modes. If it is enabled then they are read-only; if the link
- * is up they represent the negotiated link mode; if the link is down,
- * the speed is 0, %SPEED_UNKNOWN or the highest enabled speed and
- * @duplex is %DUPLEX_UNKNOWN or the best enabled duplex mode.
- *
- * Some hardware interfaces may have multiple PHYs and/or physical
- * connectors fitted or do not allow the driver to detect which are
- * fitted. For these interfaces @port and/or @phy_address may be
- * writable, possibly dependent on @autoneg being %AUTONEG_DISABLE.
- * Otherwise, attempts to write different values may be ignored or
- * rejected.
- *
- * Users should assume that all fields not marked read-only are
- * writable and subject to validation by the driver. They should use
- * %ETHTOOL_GSET to get the current values before making specific
- * changes and then applying them with %ETHTOOL_SSET.
- *
- * Drivers that implement set_settings() should validate all fields
- * other than @cmd that are not described as read-only or deprecated,
- * and must ignore all fields described as read-only.
- *
- * Deprecated fields should be ignored by both users and drivers.
- */
-struct ethtool_cmd {
- __u32 cmd;
- __u32 supported;
- __u32 advertising;
- __u16 speed;
- __u8 duplex;
- __u8 port;
- __u8 phy_address;
- __u8 transceiver;
- __u8 autoneg;
- __u8 mdio_support;
- __u32 maxtxpkt;
- __u32 maxrxpkt;
- __u16 speed_hi;
- __u8 eth_tp_mdix;
- __u8 eth_tp_mdix_ctrl;
- __u32 lp_advertising;
- __u32 reserved[2];
-};
-
-static __inline__ void ethtool_cmd_speed_set(struct ethtool_cmd *ep,
- __u32 speed)
-{
-
- ep->speed = (__u16)speed;
- ep->speed_hi = (__u16)(speed >> 16);
-}
-
-static __inline__ __u32 ethtool_cmd_speed(const struct ethtool_cmd *ep)
-{
- return (ep->speed_hi << 16) | ep->speed;
-}
-
-/* Device supports clause 22 register access to PHY or peripherals
- * using the interface defined in <linux/mii.h>. This should not be
- * set if there are known to be no such peripherals present or if
- * the driver only emulates clause 22 registers for compatibility.
- */
-#define ETH_MDIO_SUPPORTS_C22 1
-
-/* Device supports clause 45 register access to PHY or peripherals
- * using the interface defined in <linux/mii.h> and <linux/mdio.h>.
- * This should not be set if there are known to be no such peripherals
- * present.
- */
-#define ETH_MDIO_SUPPORTS_C45 2
-
-#define ETHTOOL_FWVERS_LEN 32
-#define ETHTOOL_BUSINFO_LEN 32
-#define ETHTOOL_EROMVERS_LEN 32
-
-/**
- * struct ethtool_drvinfo - general driver and device information
- * @cmd: Command number = %ETHTOOL_GDRVINFO
- * @driver: Driver short name. This should normally match the name
- * in its bus driver structure (e.g. pci_driver::name). Must
- * not be an empty string.
- * @version: Driver version string; may be an empty string
- * @fw_version: Firmware version string; may be an empty string
- * @erom_version: Expansion ROM version string; may be an empty string
- * @bus_info: Device bus address. This should match the dev_name()
- * string for the underlying bus device, if there is one. May be
- * an empty string.
- * @n_priv_flags: Number of flags valid for %ETHTOOL_GPFLAGS and
- * %ETHTOOL_SPFLAGS commands; also the number of strings in the
- * %ETH_SS_PRIV_FLAGS set
- * @n_stats: Number of u64 statistics returned by the %ETHTOOL_GSTATS
- * command; also the number of strings in the %ETH_SS_STATS set
- * @testinfo_len: Number of results returned by the %ETHTOOL_TEST
- * command; also the number of strings in the %ETH_SS_TEST set
- * @eedump_len: Size of EEPROM accessible through the %ETHTOOL_GEEPROM
- * and %ETHTOOL_SEEPROM commands, in bytes
- * @regdump_len: Size of register dump returned by the %ETHTOOL_GREGS
- * command, in bytes
- *
- * Users can use the %ETHTOOL_GSSET_INFO command to get the number of
- * strings in any string set (from Linux 2.6.34).
- *
- * Drivers should set at most @driver, @version, @fw_version and
- * @bus_info in their get_drvinfo() implementation. The ethtool
- * core fills in the other fields using other driver operations.
- */
-struct ethtool_drvinfo {
- __u32 cmd;
- char driver[32];
- char version[32];
- char fw_version[ETHTOOL_FWVERS_LEN];
- char bus_info[ETHTOOL_BUSINFO_LEN];
- char erom_version[ETHTOOL_EROMVERS_LEN];
- char reserved2[12];
- __u32 n_priv_flags;
- __u32 n_stats;
- __u32 testinfo_len;
- __u32 eedump_len;
- __u32 regdump_len;
-};
-
-#define SOPASS_MAX 6
-
-/**
- * struct ethtool_wolinfo - Wake-On-Lan configuration
- * @cmd: Command number = %ETHTOOL_GWOL or %ETHTOOL_SWOL
- * @supported: Bitmask of %WAKE_* flags for supported Wake-On-Lan modes.
- * Read-only.
- * @wolopts: Bitmask of %WAKE_* flags for enabled Wake-On-Lan modes.
- * @sopass: SecureOn(tm) password; meaningful only if %WAKE_MAGICSECURE
- * is set in @wolopts.
- */
-struct ethtool_wolinfo {
- __u32 cmd;
- __u32 supported;
- __u32 wolopts;
- __u8 sopass[SOPASS_MAX];
-};
-
-/* for passing single values */
-struct ethtool_value {
- __u32 cmd;
- __u32 data;
-};
-
-enum tunable_id {
- ETHTOOL_ID_UNSPEC,
- ETHTOOL_RX_COPYBREAK,
- ETHTOOL_TX_COPYBREAK,
- /*
- * Add your fresh new tubale attribute above and remember to update
- * tunable_strings[] in net/core/ethtool.c
- */
- __ETHTOOL_TUNABLE_COUNT,
-};
-
-enum tunable_type_id {
- ETHTOOL_TUNABLE_UNSPEC,
- ETHTOOL_TUNABLE_U8,
- ETHTOOL_TUNABLE_U16,
- ETHTOOL_TUNABLE_U32,
- ETHTOOL_TUNABLE_U64,
- ETHTOOL_TUNABLE_STRING,
- ETHTOOL_TUNABLE_S8,
- ETHTOOL_TUNABLE_S16,
- ETHTOOL_TUNABLE_S32,
- ETHTOOL_TUNABLE_S64,
-};
-
-struct ethtool_tunable {
- __u32 cmd;
- __u32 id;
- __u32 type_id;
- __u32 len;
- void *data[0];
-};
-
-/**
- * struct ethtool_regs - hardware register dump
- * @cmd: Command number = %ETHTOOL_GREGS
- * @version: Dump format version. This is driver-specific and may
- * distinguish different chips/revisions. Drivers must use new
- * version numbers whenever the dump format changes in an
- * incompatible way.
- * @len: On entry, the real length of @data. On return, the number of
- * bytes used.
- * @data: Buffer for the register dump
- *
- * Users should use %ETHTOOL_GDRVINFO to find the maximum length of
- * a register dump for the interface. They must allocate the buffer
- * immediately following this structure.
- */
-struct ethtool_regs {
- __u32 cmd;
- __u32 version;
- __u32 len;
- __u8 data[0];
-};
-
-/**
- * struct ethtool_eeprom - EEPROM dump
- * @cmd: Command number = %ETHTOOL_GEEPROM, %ETHTOOL_GMODULEEEPROM or
- * %ETHTOOL_SEEPROM
- * @magic: A 'magic cookie' value to guard against accidental changes.
- * The value passed in to %ETHTOOL_SEEPROM must match the value
- * returned by %ETHTOOL_GEEPROM for the same device. This is
- * unused when @cmd is %ETHTOOL_GMODULEEEPROM.
- * @offset: Offset within the EEPROM to begin reading/writing, in bytes
- * @len: On entry, number of bytes to read/write. On successful
- * return, number of bytes actually read/written. In case of
- * error, this may indicate at what point the error occurred.
- * @data: Buffer to read/write from
- *
- * Users may use %ETHTOOL_GDRVINFO or %ETHTOOL_GMODULEINFO to find
- * the length of an on-board or module EEPROM, respectively. They
- * must allocate the buffer immediately following this structure.
- */
-struct ethtool_eeprom {
- __u32 cmd;
- __u32 magic;
- __u32 offset;
- __u32 len;
- __u8 data[0];
-};
-
-/**
- * struct ethtool_eee - Energy Efficient Ethernet information
- * @cmd: ETHTOOL_{G,S}EEE
- * @supported: Mask of %SUPPORTED_* flags for the speed/duplex combinations
- * for which there is EEE support.
- * @advertised: Mask of %ADVERTISED_* flags for the speed/duplex combinations
- * advertised as eee capable.
- * @lp_advertised: Mask of %ADVERTISED_* flags for the speed/duplex
- * combinations advertised by the link partner as eee capable.
- * @eee_active: Result of the eee auto negotiation.
- * @eee_enabled: EEE configured mode (enabled/disabled).
- * @tx_lpi_enabled: Whether the interface should assert its tx lpi, given
- * that eee was negotiated.
- * @tx_lpi_timer: Time in microseconds the interface delays prior to asserting
- * its tx lpi (after reaching 'idle' state). Effective only when eee
- * was negotiated and tx_lpi_enabled was set.
- */
-struct ethtool_eee {
- __u32 cmd;
- __u32 supported;
- __u32 advertised;
- __u32 lp_advertised;
- __u32 eee_active;
- __u32 eee_enabled;
- __u32 tx_lpi_enabled;
- __u32 tx_lpi_timer;
- __u32 reserved[2];
-};
-
-/**
- * struct ethtool_modinfo - plugin module eeprom information
- * @cmd: %ETHTOOL_GMODULEINFO
- * @type: Standard the module information conforms to %ETH_MODULE_SFF_xxxx
- * @eeprom_len: Length of the eeprom
- *
- * This structure is used to return the information to
- * properly size memory for a subsequent call to %ETHTOOL_GMODULEEEPROM.
- * The type code indicates the eeprom data format
- */
-struct ethtool_modinfo {
- __u32 cmd;
- __u32 type;
- __u32 eeprom_len;
- __u32 reserved[8];
-};
-
-/**
- * struct ethtool_coalesce - coalescing parameters for IRQs and stats updates
- * @cmd: ETHTOOL_{G,S}COALESCE
- * @rx_coalesce_usecs: How many usecs to delay an RX interrupt after
- * a packet arrives.
- * @rx_max_coalesced_frames: Maximum number of packets to receive
- * before an RX interrupt.
- * @rx_coalesce_usecs_irq: Same as @rx_coalesce_usecs, except that
- * this value applies while an IRQ is being serviced by the host.
- * @rx_max_coalesced_frames_irq: Same as @rx_max_coalesced_frames,
- * except that this value applies while an IRQ is being serviced
- * by the host.
- * @tx_coalesce_usecs: How many usecs to delay a TX interrupt after
- * a packet is sent.
- * @tx_max_coalesced_frames: Maximum number of packets to be sent
- * before a TX interrupt.
- * @tx_coalesce_usecs_irq: Same as @tx_coalesce_usecs, except that
- * this value applies while an IRQ is being serviced by the host.
- * @tx_max_coalesced_frames_irq: Same as @tx_max_coalesced_frames,
- * except that this value applies while an IRQ is being serviced
- * by the host.
- * @stats_block_coalesce_usecs: How many usecs to delay in-memory
- * statistics block updates. Some drivers do not have an
- * in-memory statistic block, and in such cases this value is
- * ignored. This value must not be zero.
- * @use_adaptive_rx_coalesce: Enable adaptive RX coalescing.
- * @use_adaptive_tx_coalesce: Enable adaptive TX coalescing.
- * @pkt_rate_low: Threshold for low packet rate (packets per second).
- * @rx_coalesce_usecs_low: How many usecs to delay an RX interrupt after
- * a packet arrives, when the packet rate is below @pkt_rate_low.
- * @rx_max_coalesced_frames_low: Maximum number of packets to be received
- * before an RX interrupt, when the packet rate is below @pkt_rate_low.
- * @tx_coalesce_usecs_low: How many usecs to delay a TX interrupt after
- * a packet is sent, when the packet rate is below @pkt_rate_low.
- * @tx_max_coalesced_frames_low: Maximum nuumber of packets to be sent before
- * a TX interrupt, when the packet rate is below @pkt_rate_low.
- * @pkt_rate_high: Threshold for high packet rate (packets per second).
- * @rx_coalesce_usecs_high: How many usecs to delay an RX interrupt after
- * a packet arrives, when the packet rate is above @pkt_rate_high.
- * @rx_max_coalesced_frames_high: Maximum number of packets to be received
- * before an RX interrupt, when the packet rate is above @pkt_rate_high.
- * @tx_coalesce_usecs_high: How many usecs to delay a TX interrupt after
- * a packet is sent, when the packet rate is above @pkt_rate_high.
- * @tx_max_coalesced_frames_high: Maximum number of packets to be sent before
- * a TX interrupt, when the packet rate is above @pkt_rate_high.
- * @rate_sample_interval: How often to do adaptive coalescing packet rate
- * sampling, measured in seconds. Must not be zero.
- *
- * Each pair of (usecs, max_frames) fields specifies that interrupts
- * should be coalesced until
- * (usecs > 0 && time_since_first_completion >= usecs) ||
- * (max_frames > 0 && completed_frames >= max_frames)
- *
- * It is illegal to set both usecs and max_frames to zero as this
- * would cause interrupts to never be generated. To disable
- * coalescing, set usecs = 0 and max_frames = 1.
- *
- * Some implementations ignore the value of max_frames and use the
- * condition time_since_first_completion >= usecs
- *
- * This is deprecated. Drivers for hardware that does not support
- * counting completions should validate that max_frames == !rx_usecs.
- *
- * Adaptive RX/TX coalescing is an algorithm implemented by some
- * drivers to improve latency under low packet rates and improve
- * throughput under high packet rates. Some drivers only implement
- * one of RX or TX adaptive coalescing. Anything not implemented by
- * the driver causes these values to be silently ignored.
- *
- * When the packet rate is below @pkt_rate_high but above
- * @pkt_rate_low (both measured in packets per second) the
- * normal {rx,tx}_* coalescing parameters are used.
- */
-struct ethtool_coalesce {
- __u32 cmd;
- __u32 rx_coalesce_usecs;
- __u32 rx_max_coalesced_frames;
- __u32 rx_coalesce_usecs_irq;
- __u32 rx_max_coalesced_frames_irq;
- __u32 tx_coalesce_usecs;
- __u32 tx_max_coalesced_frames;
- __u32 tx_coalesce_usecs_irq;
- __u32 tx_max_coalesced_frames_irq;
- __u32 stats_block_coalesce_usecs;
- __u32 use_adaptive_rx_coalesce;
- __u32 use_adaptive_tx_coalesce;
- __u32 pkt_rate_low;
- __u32 rx_coalesce_usecs_low;
- __u32 rx_max_coalesced_frames_low;
- __u32 tx_coalesce_usecs_low;
- __u32 tx_max_coalesced_frames_low;
- __u32 pkt_rate_high;
- __u32 rx_coalesce_usecs_high;
- __u32 rx_max_coalesced_frames_high;
- __u32 tx_coalesce_usecs_high;
- __u32 tx_max_coalesced_frames_high;
- __u32 rate_sample_interval;
-};
-
-/**
- * struct ethtool_ringparam - RX/TX ring parameters
- * @cmd: Command number = %ETHTOOL_GRINGPARAM or %ETHTOOL_SRINGPARAM
- * @rx_max_pending: Maximum supported number of pending entries per
- * RX ring. Read-only.
- * @rx_mini_max_pending: Maximum supported number of pending entries
- * per RX mini ring. Read-only.
- * @rx_jumbo_max_pending: Maximum supported number of pending entries
- * per RX jumbo ring. Read-only.
- * @tx_max_pending: Maximum supported number of pending entries per
- * TX ring. Read-only.
- * @rx_pending: Current maximum number of pending entries per RX ring
- * @rx_mini_pending: Current maximum number of pending entries per RX
- * mini ring
- * @rx_jumbo_pending: Current maximum number of pending entries per RX
- * jumbo ring
- * @tx_pending: Current maximum supported number of pending entries
- * per TX ring
- *
- * If the interface does not have separate RX mini and/or jumbo rings,
- * @rx_mini_max_pending and/or @rx_jumbo_max_pending will be 0.
- *
- * There may also be driver-dependent minimum values for the number
- * of entries per ring.
- */
-struct ethtool_ringparam {
- __u32 cmd;
- __u32 rx_max_pending;
- __u32 rx_mini_max_pending;
- __u32 rx_jumbo_max_pending;
- __u32 tx_max_pending;
- __u32 rx_pending;
- __u32 rx_mini_pending;
- __u32 rx_jumbo_pending;
- __u32 tx_pending;
-};
-
-/**
- * struct ethtool_channels - configuring number of network channel
- * @cmd: ETHTOOL_{G,S}CHANNELS
- * @max_rx: Read only. Maximum number of receive channel the driver support.
- * @max_tx: Read only. Maximum number of transmit channel the driver support.
- * @max_other: Read only. Maximum number of other channel the driver support.
- * @max_combined: Read only. Maximum number of combined channel the driver
- * support. Set of queues RX, TX or other.
- * @rx_count: Valid values are in the range 1 to the max_rx.
- * @tx_count: Valid values are in the range 1 to the max_tx.
- * @other_count: Valid values are in the range 1 to the max_other.
- * @combined_count: Valid values are in the range 1 to the max_combined.
- *
- * This can be used to configure RX, TX and other channels.
- */
-
-struct ethtool_channels {
- __u32 cmd;
- __u32 max_rx;
- __u32 max_tx;
- __u32 max_other;
- __u32 max_combined;
- __u32 rx_count;
- __u32 tx_count;
- __u32 other_count;
- __u32 combined_count;
-};
-
-/**
- * struct ethtool_pauseparam - Ethernet pause (flow control) parameters
- * @cmd: Command number = %ETHTOOL_GPAUSEPARAM or %ETHTOOL_SPAUSEPARAM
- * @autoneg: Flag to enable autonegotiation of pause frame use
- * @rx_pause: Flag to enable reception of pause frames
- * @tx_pause: Flag to enable transmission of pause frames
- *
- * Drivers should reject a non-zero setting of @autoneg when
- * autoneogotiation is disabled (or not supported) for the link.
- *
- * If the link is autonegotiated, drivers should use
- * mii_advertise_flowctrl() or similar code to set the advertised
- * pause frame capabilities based on the @rx_pause and @tx_pause flags,
- * even if @autoneg is zero. They should also allow the advertised
- * pause frame capabilities to be controlled directly through the
- * advertising field of &struct ethtool_cmd.
- *
- * If @autoneg is non-zero, the MAC is configured to send and/or
- * receive pause frames according to the result of autonegotiation.
- * Otherwise, it is configured directly based on the @rx_pause and
- * @tx_pause flags.
- */
-struct ethtool_pauseparam {
- __u32 cmd;
- __u32 autoneg;
- __u32 rx_pause;
- __u32 tx_pause;
-};
-
-#define ETH_GSTRING_LEN 32
-
-/**
- * enum ethtool_stringset - string set ID
- * @ETH_SS_TEST: Self-test result names, for use with %ETHTOOL_TEST
- * @ETH_SS_STATS: Statistic names, for use with %ETHTOOL_GSTATS
- * @ETH_SS_PRIV_FLAGS: Driver private flag names, for use with
- * %ETHTOOL_GPFLAGS and %ETHTOOL_SPFLAGS
- * @ETH_SS_NTUPLE_FILTERS: Previously used with %ETHTOOL_GRXNTUPLE;
- * now deprecated
- * @ETH_SS_FEATURES: Device feature names
- * @ETH_SS_RSS_HASH_FUNCS: RSS hush function names
- * @ETH_SS_PHY_STATS: Statistic names, for use with %ETHTOOL_GPHYSTATS
- */
-enum ethtool_stringset {
- ETH_SS_TEST = 0,
- ETH_SS_STATS,
- ETH_SS_PRIV_FLAGS,
- ETH_SS_NTUPLE_FILTERS,
- ETH_SS_FEATURES,
- ETH_SS_RSS_HASH_FUNCS,
- ETH_SS_TUNABLES,
- ETH_SS_PHY_STATS,
-};
-
-/**
- * struct ethtool_gstrings - string set for data tagging
- * @cmd: Command number = %ETHTOOL_GSTRINGS
- * @string_set: String set ID; one of &enum ethtool_stringset
- * @len: On return, the number of strings in the string set
- * @data: Buffer for strings. Each string is null-padded to a size of
- * %ETH_GSTRING_LEN.
- *
- * Users must use %ETHTOOL_GSSET_INFO to find the number of strings in
- * the string set. They must allocate a buffer of the appropriate
- * size immediately following this structure.
- */
-struct ethtool_gstrings {
- __u32 cmd;
- __u32 string_set;
- __u32 len;
- __u8 data[0];
-};
-
-/**
- * struct ethtool_sset_info - string set information
- * @cmd: Command number = %ETHTOOL_GSSET_INFO
- * @sset_mask: On entry, a bitmask of string sets to query, with bits
- * numbered according to &enum ethtool_stringset. On return, a
- * bitmask of those string sets queried that are supported.
- * @data: Buffer for string set sizes. On return, this contains the
- * size of each string set that was queried and supported, in
- * order of ID.
- *
- * Example: The user passes in @sset_mask = 0x7 (sets 0, 1, 2) and on
- * return @sset_mask == 0x6 (sets 1, 2). Then @data[0] contains the
- * size of set 1 and @data[1] contains the size of set 2.
- *
- * Users must allocate a buffer of the appropriate size (4 * number of
- * sets queried) immediately following this structure.
- */
-struct ethtool_sset_info {
- __u32 cmd;
- __u32 reserved;
- __u64 sset_mask;
- __u32 data[0];
-};
-
-/**
- * enum ethtool_test_flags - flags definition of ethtool_test
- * @ETH_TEST_FL_OFFLINE: if set perform online and offline tests, otherwise
- * only online tests.
- * @ETH_TEST_FL_FAILED: Driver set this flag if test fails.
- * @ETH_TEST_FL_EXTERNAL_LB: Application request to perform external loopback
- * test.
- * @ETH_TEST_FL_EXTERNAL_LB_DONE: Driver performed the external loopback test
- */
-
-enum ethtool_test_flags {
- ETH_TEST_FL_OFFLINE = (1 << 0),
- ETH_TEST_FL_FAILED = (1 << 1),
- ETH_TEST_FL_EXTERNAL_LB = (1 << 2),
- ETH_TEST_FL_EXTERNAL_LB_DONE = (1 << 3),
-};
-
-/**
- * struct ethtool_test - device self-test invocation
- * @cmd: Command number = %ETHTOOL_TEST
- * @flags: A bitmask of flags from &enum ethtool_test_flags. Some
- * flags may be set by the user on entry; others may be set by
- * the driver on return.
- * @len: On return, the number of test results
- * @data: Array of test results
- *
- * Users must use %ETHTOOL_GSSET_INFO or %ETHTOOL_GDRVINFO to find the
- * number of test results that will be returned. They must allocate a
- * buffer of the appropriate size (8 * number of results) immediately
- * following this structure.
- */
-struct ethtool_test {
- __u32 cmd;
- __u32 flags;
- __u32 reserved;
- __u32 len;
- __u64 data[0];
-};
-
-/**
- * struct ethtool_stats - device-specific statistics
- * @cmd: Command number = %ETHTOOL_GSTATS
- * @n_stats: On return, the number of statistics
- * @data: Array of statistics
- *
- * Users must use %ETHTOOL_GSSET_INFO or %ETHTOOL_GDRVINFO to find the
- * number of statistics that will be returned. They must allocate a
- * buffer of the appropriate size (8 * number of statistics)
- * immediately following this structure.
- */
-struct ethtool_stats {
- __u32 cmd;
- __u32 n_stats;
- __u64 data[0];
-};
-
-/**
- * struct ethtool_perm_addr - permanent hardware address
- * @cmd: Command number = %ETHTOOL_GPERMADDR
- * @size: On entry, the size of the buffer. On return, the size of the
- * address. The command fails if the buffer is too small.
- * @data: Buffer for the address
- *
- * Users must allocate the buffer immediately following this structure.
- * A buffer size of %MAX_ADDR_LEN should be sufficient for any address
- * type.
- */
-struct ethtool_perm_addr {
- __u32 cmd;
- __u32 size;
- __u8 data[0];
-};
-
-/* boolean flags controlling per-interface behavior characteristics.
- * When reading, the flag indicates whether or not a certain behavior
- * is enabled/present. When writing, the flag indicates whether
- * or not the driver should turn on (set) or off (clear) a behavior.
- *
- * Some behaviors may read-only (unconditionally absent or present).
- * If such is the case, return EINVAL in the set-flags operation if the
- * flag differs from the read-only value.
- */
-enum ethtool_flags {
- ETH_FLAG_TXVLAN = (1 << 7), /* TX VLAN offload enabled */
- ETH_FLAG_RXVLAN = (1 << 8), /* RX VLAN offload enabled */
- ETH_FLAG_LRO = (1 << 15), /* LRO is enabled */
- ETH_FLAG_NTUPLE = (1 << 27), /* N-tuple filters enabled */
- ETH_FLAG_RXHASH = (1 << 28),
-};
-
-/* The following structures are for supporting RX network flow
- * classification and RX n-tuple configuration. Note, all multibyte
- * fields, e.g., ip4src, ip4dst, psrc, pdst, spi, etc. are expected to
- * be in network byte order.
- */
-
-/**
- * struct ethtool_tcpip4_spec - flow specification for TCP/IPv4 etc.
- * @ip4src: Source host
- * @ip4dst: Destination host
- * @psrc: Source port
- * @pdst: Destination port
- * @tos: Type-of-service
- *
- * This can be used to specify a TCP/IPv4, UDP/IPv4 or SCTP/IPv4 flow.
- */
-struct ethtool_tcpip4_spec {
- __be32 ip4src;
- __be32 ip4dst;
- __be16 psrc;
- __be16 pdst;
- __u8 tos;
-};
-
-/**
- * struct ethtool_ah_espip4_spec - flow specification for IPsec/IPv4
- * @ip4src: Source host
- * @ip4dst: Destination host
- * @spi: Security parameters index
- * @tos: Type-of-service
- *
- * This can be used to specify an IPsec transport or tunnel over IPv4.
- */
-struct ethtool_ah_espip4_spec {
- __be32 ip4src;
- __be32 ip4dst;
- __be32 spi;
- __u8 tos;
-};
-
-#define ETH_RX_NFC_IP4 1
-
-/**
- * struct ethtool_usrip4_spec - general flow specification for IPv4
- * @ip4src: Source host
- * @ip4dst: Destination host
- * @l4_4_bytes: First 4 bytes of transport (layer 4) header
- * @tos: Type-of-service
- * @ip_ver: Value must be %ETH_RX_NFC_IP4; mask must be 0
- * @proto: Transport protocol number; mask must be 0
- */
-struct ethtool_usrip4_spec {
- __be32 ip4src;
- __be32 ip4dst;
- __be32 l4_4_bytes;
- __u8 tos;
- __u8 ip_ver;
- __u8 proto;
-};
-
-/**
- * struct ethtool_tcpip6_spec - flow specification for TCP/IPv6 etc.
- * @ip6src: Source host
- * @ip6dst: Destination host
- * @psrc: Source port
- * @pdst: Destination port
- * @tclass: Traffic Class
- *
- * This can be used to specify a TCP/IPv6, UDP/IPv6 or SCTP/IPv6 flow.
- */
-struct ethtool_tcpip6_spec {
- __be32 ip6src[4];
- __be32 ip6dst[4];
- __be16 psrc;
- __be16 pdst;
- __u8 tclass;
-};
-
-/**
- * struct ethtool_ah_espip6_spec - flow specification for IPsec/IPv6
- * @ip6src: Source host
- * @ip6dst: Destination host
- * @spi: Security parameters index
- * @tclass: Traffic Class
- *
- * This can be used to specify an IPsec transport or tunnel over IPv6.
- */
-struct ethtool_ah_espip6_spec {
- __be32 ip6src[4];
- __be32 ip6dst[4];
- __be32 spi;
- __u8 tclass;
-};
-
-/**
- * struct ethtool_usrip6_spec - general flow specification for IPv6
- * @ip6src: Source host
- * @ip6dst: Destination host
- * @l4_4_bytes: First 4 bytes of transport (layer 4) header
- * @tclass: Traffic Class
- * @l4_proto: Transport protocol number (nexthdr after any Extension Headers)
- */
-struct ethtool_usrip6_spec {
- __be32 ip6src[4];
- __be32 ip6dst[4];
- __be32 l4_4_bytes;
- __u8 tclass;
- __u8 l4_proto;
-};
-
-union ethtool_flow_union {
- struct ethtool_tcpip4_spec tcp_ip4_spec;
- struct ethtool_tcpip4_spec udp_ip4_spec;
- struct ethtool_tcpip4_spec sctp_ip4_spec;
- struct ethtool_ah_espip4_spec ah_ip4_spec;
- struct ethtool_ah_espip4_spec esp_ip4_spec;
- struct ethtool_usrip4_spec usr_ip4_spec;
- struct ethtool_tcpip6_spec tcp_ip6_spec;
- struct ethtool_tcpip6_spec udp_ip6_spec;
- struct ethtool_tcpip6_spec sctp_ip6_spec;
- struct ethtool_ah_espip6_spec ah_ip6_spec;
- struct ethtool_ah_espip6_spec esp_ip6_spec;
- struct ethtool_usrip6_spec usr_ip6_spec;
- struct ethhdr ether_spec;
- __u8 hdata[52];
-};
-
-/**
- * struct ethtool_flow_ext - additional RX flow fields
- * @h_dest: destination MAC address
- * @vlan_etype: VLAN EtherType
- * @vlan_tci: VLAN tag control information
- * @data: user defined data
- *
- * Note, @vlan_etype, @vlan_tci, and @data are only valid if %FLOW_EXT
- * is set in &struct ethtool_rx_flow_spec @flow_type.
- * @h_dest is valid if %FLOW_MAC_EXT is set.
- */
-struct ethtool_flow_ext {
- __u8 padding[2];
- unsigned char h_dest[ETH_ALEN];
- __be16 vlan_etype;
- __be16 vlan_tci;
- __be32 data[2];
-};
-
-/**
- * struct ethtool_rx_flow_spec - classification rule for RX flows
- * @flow_type: Type of match to perform, e.g. %TCP_V4_FLOW
- * @h_u: Flow fields to match (dependent on @flow_type)
- * @h_ext: Additional fields to match
- * @m_u: Masks for flow field bits to be matched
- * @m_ext: Masks for additional field bits to be matched
- * Note, all additional fields must be ignored unless @flow_type
- * includes the %FLOW_EXT or %FLOW_MAC_EXT flag
- * (see &struct ethtool_flow_ext description).
- * @ring_cookie: RX ring/queue index to deliver to, or %RX_CLS_FLOW_DISC
- * if packets should be discarded
- * @location: Location of rule in the table. Locations must be
- * numbered such that a flow matching multiple rules will be
- * classified according to the first (lowest numbered) rule.
- */
-struct ethtool_rx_flow_spec {
- __u32 flow_type;
- union ethtool_flow_union h_u;
- struct ethtool_flow_ext h_ext;
- union ethtool_flow_union m_u;
- struct ethtool_flow_ext m_ext;
- __u64 ring_cookie;
- __u32 location;
-};
-
-/* How rings are layed out when accessing virtual functions or
- * offloaded queues is device specific. To allow users to do flow
- * steering and specify these queues the ring cookie is partitioned
- * into a 32bit queue index with an 8 bit virtual function id.
- * This also leaves the 3bytes for further specifiers. It is possible
- * future devices may support more than 256 virtual functions if
- * devices start supporting PCIe w/ARI. However at the moment I
- * do not know of any devices that support this so I do not reserve
- * space for this at this time. If a future patch consumes the next
- * byte it should be aware of this possiblity.
- */
-#define ETHTOOL_RX_FLOW_SPEC_RING 0x00000000FFFFFFFFLL
-#define ETHTOOL_RX_FLOW_SPEC_RING_VF 0x000000FF00000000LL
-#define ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF 32
-static __inline__ __u64 ethtool_get_flow_spec_ring(__u64 ring_cookie)
-{
- return ETHTOOL_RX_FLOW_SPEC_RING & ring_cookie;
-};
-
-static __inline__ __u64 ethtool_get_flow_spec_ring_vf(__u64 ring_cookie)
-{
- return (ETHTOOL_RX_FLOW_SPEC_RING_VF & ring_cookie) >>
- ETHTOOL_RX_FLOW_SPEC_RING_VF_OFF;
-};
-
-/**
- * struct ethtool_rxnfc - command to get or set RX flow classification rules
- * @cmd: Specific command number - %ETHTOOL_GRXFH, %ETHTOOL_SRXFH,
- * %ETHTOOL_GRXRINGS, %ETHTOOL_GRXCLSRLCNT, %ETHTOOL_GRXCLSRULE,
- * %ETHTOOL_GRXCLSRLALL, %ETHTOOL_SRXCLSRLDEL or %ETHTOOL_SRXCLSRLINS
- * @flow_type: Type of flow to be affected, e.g. %TCP_V4_FLOW
- * @data: Command-dependent value
- * @fs: Flow classification rule
- * @rule_cnt: Number of rules to be affected
- * @rule_locs: Array of used rule locations
- *
- * For %ETHTOOL_GRXFH and %ETHTOOL_SRXFH, @data is a bitmask indicating
- * the fields included in the flow hash, e.g. %RXH_IP_SRC. The following
- * structure fields must not be used.
- *
- * For %ETHTOOL_GRXRINGS, @data is set to the number of RX rings/queues
- * on return.
- *
- * For %ETHTOOL_GRXCLSRLCNT, @rule_cnt is set to the number of defined
- * rules on return. If @data is non-zero on return then it is the
- * size of the rule table, plus the flag %RX_CLS_LOC_SPECIAL if the
- * driver supports any special location values. If that flag is not
- * set in @data then special location values should not be used.
- *
- * For %ETHTOOL_GRXCLSRULE, @fs.@location specifies the location of an
- * existing rule on entry and @fs contains the rule on return.
- *
- * For %ETHTOOL_GRXCLSRLALL, @rule_cnt specifies the array size of the
- * user buffer for @rule_locs on entry. On return, @data is the size
- * of the rule table, @rule_cnt is the number of defined rules, and
- * @rule_locs contains the locations of the defined rules. Drivers
- * must use the second parameter to get_rxnfc() instead of @rule_locs.
- *
- * For %ETHTOOL_SRXCLSRLINS, @fs specifies the rule to add or update.
- * @fs.@location either specifies the location to use or is a special
- * location value with %RX_CLS_LOC_SPECIAL flag set. On return,
- * @fs.@location is the actual rule location.
- *
- * For %ETHTOOL_SRXCLSRLDEL, @fs.@location specifies the location of an
- * existing rule on entry.
- *
- * A driver supporting the special location values for
- * %ETHTOOL_SRXCLSRLINS may add the rule at any suitable unused
- * location, and may remove a rule at a later location (lower
- * priority) that matches exactly the same set of flows. The special
- * values are %RX_CLS_LOC_ANY, selecting any location;
- * %RX_CLS_LOC_FIRST, selecting the first suitable location (maximum
- * priority); and %RX_CLS_LOC_LAST, selecting the last suitable
- * location (minimum priority). Additional special values may be
- * defined in future and drivers must return -%EINVAL for any
- * unrecognised value.
- */
-struct ethtool_rxnfc {
- __u32 cmd;
- __u32 flow_type;
- __u64 data;
- struct ethtool_rx_flow_spec fs;
- __u32 rule_cnt;
- __u32 rule_locs[0];
-};
-
-
-/**
- * struct ethtool_rxfh_indir - command to get or set RX flow hash indirection
- * @cmd: Specific command number - %ETHTOOL_GRXFHINDIR or %ETHTOOL_SRXFHINDIR
- * @size: On entry, the array size of the user buffer, which may be zero.
- * On return from %ETHTOOL_GRXFHINDIR, the array size of the hardware
- * indirection table.
- * @ring_index: RX ring/queue index for each hash value
- *
- * For %ETHTOOL_GRXFHINDIR, a @size of zero means that only the size
- * should be returned. For %ETHTOOL_SRXFHINDIR, a @size of zero means
- * the table should be reset to default values. This last feature
- * is not supported by the original implementations.
- */
-struct ethtool_rxfh_indir {
- __u32 cmd;
- __u32 size;
- __u32 ring_index[0];
-};
-
-/**
- * struct ethtool_rxfh - command to get/set RX flow hash indir or/and hash key.
- * @cmd: Specific command number - %ETHTOOL_GRSSH or %ETHTOOL_SRSSH
- * @rss_context: RSS context identifier.
- * @indir_size: On entry, the array size of the user buffer for the
- * indirection table, which may be zero, or (for %ETHTOOL_SRSSH),
- * %ETH_RXFH_INDIR_NO_CHANGE. On return from %ETHTOOL_GRSSH,
- * the array size of the hardware indirection table.
- * @key_size: On entry, the array size of the user buffer for the hash key,
- * which may be zero. On return from %ETHTOOL_GRSSH, the size of the
- * hardware hash key.
- * @hfunc: Defines the current RSS hash function used by HW (or to be set to).
- * Valid values are one of the %ETH_RSS_HASH_*.
- * @rsvd: Reserved for future extensions.
- * @rss_config: RX ring/queue index for each hash value i.e., indirection table
- * of @indir_size __u32 elements, followed by hash key of @key_size
- * bytes.
- *
- * For %ETHTOOL_GRSSH, a @indir_size and key_size of zero means that only the
- * size should be returned. For %ETHTOOL_SRSSH, an @indir_size of
- * %ETH_RXFH_INDIR_NO_CHANGE means that indir table setting is not requested
- * and a @indir_size of zero means the indir table should be reset to default
- * values. An hfunc of zero means that hash function setting is not requested.
- */
-struct ethtool_rxfh {
- __u32 cmd;
- __u32 rss_context;
- __u32 indir_size;
- __u32 key_size;
- __u8 hfunc;
- __u8 rsvd8[3];
- __u32 rsvd32;
- __u32 rss_config[0];
-};
-#define ETH_RXFH_INDIR_NO_CHANGE 0xffffffff
-
-/**
- * struct ethtool_rx_ntuple_flow_spec - specification for RX flow filter
- * @flow_type: Type of match to perform, e.g. %TCP_V4_FLOW
- * @h_u: Flow field values to match (dependent on @flow_type)
- * @m_u: Masks for flow field value bits to be ignored
- * @vlan_tag: VLAN tag to match
- * @vlan_tag_mask: Mask for VLAN tag bits to be ignored
- * @data: Driver-dependent data to match
- * @data_mask: Mask for driver-dependent data bits to be ignored
- * @action: RX ring/queue index to deliver to (non-negative) or other action
- * (negative, e.g. %ETHTOOL_RXNTUPLE_ACTION_DROP)
- *
- * For flow types %TCP_V4_FLOW, %UDP_V4_FLOW and %SCTP_V4_FLOW, where
- * a field value and mask are both zero this is treated as if all mask
- * bits are set i.e. the field is ignored.
- */
-struct ethtool_rx_ntuple_flow_spec {
- __u32 flow_type;
- union {
- struct ethtool_tcpip4_spec tcp_ip4_spec;
- struct ethtool_tcpip4_spec udp_ip4_spec;
- struct ethtool_tcpip4_spec sctp_ip4_spec;
- struct ethtool_ah_espip4_spec ah_ip4_spec;
- struct ethtool_ah_espip4_spec esp_ip4_spec;
- struct ethtool_usrip4_spec usr_ip4_spec;
- struct ethhdr ether_spec;
- __u8 hdata[72];
- } h_u, m_u;
-
- __u16 vlan_tag;
- __u16 vlan_tag_mask;
- __u64 data;
- __u64 data_mask;
-
- __s32 action;
-#define ETHTOOL_RXNTUPLE_ACTION_DROP (-1) /* drop packet */
-#define ETHTOOL_RXNTUPLE_ACTION_CLEAR (-2) /* clear filter */
-};
-
-/**
- * struct ethtool_rx_ntuple - command to set or clear RX flow filter
- * @cmd: Command number - %ETHTOOL_SRXNTUPLE
- * @fs: Flow filter specification
- */
-struct ethtool_rx_ntuple {
- __u32 cmd;
- struct ethtool_rx_ntuple_flow_spec fs;
-};
-
-#define ETHTOOL_FLASH_MAX_FILENAME 128
-enum ethtool_flash_op_type {
- ETHTOOL_FLASH_ALL_REGIONS = 0,
-};
-
-/* for passing firmware flashing related parameters */
-struct ethtool_flash {
- __u32 cmd;
- __u32 region;
- char data[ETHTOOL_FLASH_MAX_FILENAME];
-};
-
-/**
- * struct ethtool_dump - used for retrieving, setting device dump
- * @cmd: Command number - %ETHTOOL_GET_DUMP_FLAG, %ETHTOOL_GET_DUMP_DATA, or
- * %ETHTOOL_SET_DUMP
- * @version: FW version of the dump, filled in by driver
- * @flag: driver dependent flag for dump setting, filled in by driver during
- * get and filled in by ethtool for set operation.
- * flag must be initialized by macro ETH_FW_DUMP_DISABLE value when
- * firmware dump is disabled.
- * @len: length of dump data, used as the length of the user buffer on entry to
- * %ETHTOOL_GET_DUMP_DATA and this is returned as dump length by driver
- * for %ETHTOOL_GET_DUMP_FLAG command
- * @data: data collected for get dump data operation
- */
-struct ethtool_dump {
- __u32 cmd;
- __u32 version;
- __u32 flag;
- __u32 len;
- __u8 data[0];
-};
-
-#define ETH_FW_DUMP_DISABLE 0
-
-/* for returning and changing feature sets */
-
-/**
- * struct ethtool_get_features_block - block with state of 32 features
- * @available: mask of changeable features
- * @requested: mask of features requested to be enabled if possible
- * @active: mask of currently enabled features
- * @never_changed: mask of features not changeable for any device
- */
-struct ethtool_get_features_block {
- __u32 available;
- __u32 requested;
- __u32 active;
- __u32 never_changed;
-};
-
-/**
- * struct ethtool_gfeatures - command to get state of device's features
- * @cmd: command number = %ETHTOOL_GFEATURES
- * @size: On entry, the number of elements in the features[] array;
- * on return, the number of elements in features[] needed to hold
- * all features
- * @features: state of features
- */
-struct ethtool_gfeatures {
- __u32 cmd;
- __u32 size;
- struct ethtool_get_features_block features[0];
-};
-
-/**
- * struct ethtool_set_features_block - block with request for 32 features
- * @valid: mask of features to be changed
- * @requested: values of features to be changed
- */
-struct ethtool_set_features_block {
- __u32 valid;
- __u32 requested;
-};
-
-/**
- * struct ethtool_sfeatures - command to request change in device's features
- * @cmd: command number = %ETHTOOL_SFEATURES
- * @size: array size of the features[] array
- * @features: feature change masks
- */
-struct ethtool_sfeatures {
- __u32 cmd;
- __u32 size;
- struct ethtool_set_features_block features[0];
-};
-
-/**
- * struct ethtool_ts_info - holds a device's timestamping and PHC association
- * @cmd: command number = %ETHTOOL_GET_TS_INFO
- * @so_timestamping: bit mask of the sum of the supported SO_TIMESTAMPING flags
- * @phc_index: device index of the associated PHC, or -1 if there is none
- * @tx_types: bit mask of the supported hwtstamp_tx_types enumeration values
- * @rx_filters: bit mask of the supported hwtstamp_rx_filters enumeration values
- *
- * The bits in the 'tx_types' and 'rx_filters' fields correspond to
- * the 'hwtstamp_tx_types' and 'hwtstamp_rx_filters' enumeration values,
- * respectively. For example, if the device supports HWTSTAMP_TX_ON,
- * then (1 << HWTSTAMP_TX_ON) in 'tx_types' will be set.
- *
- * Drivers should only report the filters they actually support without
- * upscaling in the SIOCSHWTSTAMP ioctl. If the SIOCSHWSTAMP request for
- * HWTSTAMP_FILTER_V1_SYNC is supported by HWTSTAMP_FILTER_V1_EVENT, then the
- * driver should only report HWTSTAMP_FILTER_V1_EVENT in this op.
- */
-struct ethtool_ts_info {
- __u32 cmd;
- __u32 so_timestamping;
- __s32 phc_index;
- __u32 tx_types;
- __u32 tx_reserved[3];
- __u32 rx_filters;
- __u32 rx_reserved[3];
-};
-
-/*
- * %ETHTOOL_SFEATURES changes features present in features[].valid to the
- * values of corresponding bits in features[].requested. Bits in .requested
- * not set in .valid or not changeable are ignored.
- *
- * Returns %EINVAL when .valid contains undefined or never-changeable bits
- * or size is not equal to required number of features words (32-bit blocks).
- * Returns >= 0 if request was completed; bits set in the value mean:
- * %ETHTOOL_F_UNSUPPORTED - there were bits set in .valid that are not
- * changeable (not present in %ETHTOOL_GFEATURES' features[].available)
- * those bits were ignored.
- * %ETHTOOL_F_WISH - some or all changes requested were recorded but the
- * resulting state of bits masked by .valid is not equal to .requested.
- * Probably there are other device-specific constraints on some features
- * in the set. When %ETHTOOL_F_UNSUPPORTED is set, .valid is considered
- * here as though ignored bits were cleared.
- * %ETHTOOL_F_COMPAT - some or all changes requested were made by calling
- * compatibility functions. Requested offload state cannot be properly
- * managed by kernel.
- *
- * Meaning of bits in the masks are obtained by %ETHTOOL_GSSET_INFO (number of
- * bits in the arrays - always multiple of 32) and %ETHTOOL_GSTRINGS commands
- * for ETH_SS_FEATURES string set. First entry in the table corresponds to least
- * significant bit in features[0] fields. Empty strings mark undefined features.
- */
-enum ethtool_sfeatures_retval_bits {
- ETHTOOL_F_UNSUPPORTED__BIT,
- ETHTOOL_F_WISH__BIT,
- ETHTOOL_F_COMPAT__BIT,
-};
-
-#define ETHTOOL_F_UNSUPPORTED (1 << ETHTOOL_F_UNSUPPORTED__BIT)
-#define ETHTOOL_F_WISH (1 << ETHTOOL_F_WISH__BIT)
-#define ETHTOOL_F_COMPAT (1 << ETHTOOL_F_COMPAT__BIT)
-
-#define MAX_NUM_QUEUE 4096
-
-/**
- * struct ethtool_per_queue_op - apply sub command to the queues in mask.
- * @cmd: ETHTOOL_PERQUEUE
- * @sub_command: the sub command which apply to each queues
- * @queue_mask: Bitmap of the queues which sub command apply to
- * @data: A complete command structure following for each of the queues addressed
- */
-struct ethtool_per_queue_op {
- __u32 cmd;
- __u32 sub_command;
- __u32 queue_mask[__KERNEL_DIV_ROUND_UP(MAX_NUM_QUEUE, 32)];
- char data[];
-};
-
-/* CMDs currently supported */
-#define ETHTOOL_GSET 0x00000001 /* DEPRECATED, Get settings.
- * Please use ETHTOOL_GLINKSETTINGS
- */
-#define ETHTOOL_SSET 0x00000002 /* DEPRECATED, Set settings.
- * Please use ETHTOOL_SLINKSETTINGS
- */
-#define ETHTOOL_GDRVINFO 0x00000003 /* Get driver info. */
-#define ETHTOOL_GREGS 0x00000004 /* Get NIC registers. */
-#define ETHTOOL_GWOL 0x00000005 /* Get wake-on-lan options. */
-#define ETHTOOL_SWOL 0x00000006 /* Set wake-on-lan options. */
-#define ETHTOOL_GMSGLVL 0x00000007 /* Get driver message level */
-#define ETHTOOL_SMSGLVL 0x00000008 /* Set driver msg level. */
-#define ETHTOOL_NWAY_RST 0x00000009 /* Restart autonegotiation. */
-/* Get link status for host, i.e. whether the interface *and* the
- * physical port (if there is one) are up (ethtool_value). */
-#define ETHTOOL_GLINK 0x0000000a
-#define ETHTOOL_GEEPROM 0x0000000b /* Get EEPROM data */
-#define ETHTOOL_SEEPROM 0x0000000c /* Set EEPROM data. */
-#define ETHTOOL_GCOALESCE 0x0000000e /* Get coalesce config */
-#define ETHTOOL_SCOALESCE 0x0000000f /* Set coalesce config. */
-#define ETHTOOL_GRINGPARAM 0x00000010 /* Get ring parameters */
-#define ETHTOOL_SRINGPARAM 0x00000011 /* Set ring parameters. */
-#define ETHTOOL_GPAUSEPARAM 0x00000012 /* Get pause parameters */
-#define ETHTOOL_SPAUSEPARAM 0x00000013 /* Set pause parameters. */
-#define ETHTOOL_GRXCSUM 0x00000014 /* Get RX hw csum enable (ethtool_value) */
-#define ETHTOOL_SRXCSUM 0x00000015 /* Set RX hw csum enable (ethtool_value) */
-#define ETHTOOL_GTXCSUM 0x00000016 /* Get TX hw csum enable (ethtool_value) */
-#define ETHTOOL_STXCSUM 0x00000017 /* Set TX hw csum enable (ethtool_value) */
-#define ETHTOOL_GSG 0x00000018 /* Get scatter-gather enable
- * (ethtool_value) */
-#define ETHTOOL_SSG 0x00000019 /* Set scatter-gather enable
- * (ethtool_value). */
-#define ETHTOOL_TEST 0x0000001a /* execute NIC self-test. */
-#define ETHTOOL_GSTRINGS 0x0000001b /* get specified string set */
-#define ETHTOOL_PHYS_ID 0x0000001c /* identify the NIC */
-#define ETHTOOL_GSTATS 0x0000001d /* get NIC-specific statistics */
-#define ETHTOOL_GTSO 0x0000001e /* Get TSO enable (ethtool_value) */
-#define ETHTOOL_STSO 0x0000001f /* Set TSO enable (ethtool_value) */
-#define ETHTOOL_GPERMADDR 0x00000020 /* Get permanent hardware address */
-#define ETHTOOL_GUFO 0x00000021 /* Get UFO enable (ethtool_value) */
-#define ETHTOOL_SUFO 0x00000022 /* Set UFO enable (ethtool_value) */
-#define ETHTOOL_GGSO 0x00000023 /* Get GSO enable (ethtool_value) */
-#define ETHTOOL_SGSO 0x00000024 /* Set GSO enable (ethtool_value) */
-#define ETHTOOL_GFLAGS 0x00000025 /* Get flags bitmap(ethtool_value) */
-#define ETHTOOL_SFLAGS 0x00000026 /* Set flags bitmap(ethtool_value) */
-#define ETHTOOL_GPFLAGS 0x00000027 /* Get driver-private flags bitmap */
-#define ETHTOOL_SPFLAGS 0x00000028 /* Set driver-private flags bitmap */
-
-#define ETHTOOL_GRXFH 0x00000029 /* Get RX flow hash configuration */
-#define ETHTOOL_SRXFH 0x0000002a /* Set RX flow hash configuration */
-#define ETHTOOL_GGRO 0x0000002b /* Get GRO enable (ethtool_value) */
-#define ETHTOOL_SGRO 0x0000002c /* Set GRO enable (ethtool_value) */
-#define ETHTOOL_GRXRINGS 0x0000002d /* Get RX rings available for LB */
-#define ETHTOOL_GRXCLSRLCNT 0x0000002e /* Get RX class rule count */
-#define ETHTOOL_GRXCLSRULE 0x0000002f /* Get RX classification rule */
-#define ETHTOOL_GRXCLSRLALL 0x00000030 /* Get all RX classification rule */
-#define ETHTOOL_SRXCLSRLDEL 0x00000031 /* Delete RX classification rule */
-#define ETHTOOL_SRXCLSRLINS 0x00000032 /* Insert RX classification rule */
-#define ETHTOOL_FLASHDEV 0x00000033 /* Flash firmware to device */
-#define ETHTOOL_RESET 0x00000034 /* Reset hardware */
-#define ETHTOOL_SRXNTUPLE 0x00000035 /* Add an n-tuple filter to device */
-#define ETHTOOL_GRXNTUPLE 0x00000036 /* deprecated */
-#define ETHTOOL_GSSET_INFO 0x00000037 /* Get string set info */
-#define ETHTOOL_GRXFHINDIR 0x00000038 /* Get RX flow hash indir'n table */
-#define ETHTOOL_SRXFHINDIR 0x00000039 /* Set RX flow hash indir'n table */
-
-#define ETHTOOL_GFEATURES 0x0000003a /* Get device offload settings */
-#define ETHTOOL_SFEATURES 0x0000003b /* Change device offload settings */
-#define ETHTOOL_GCHANNELS 0x0000003c /* Get no of channels */
-#define ETHTOOL_SCHANNELS 0x0000003d /* Set no of channels */
-#define ETHTOOL_SET_DUMP 0x0000003e /* Set dump settings */
-#define ETHTOOL_GET_DUMP_FLAG 0x0000003f /* Get dump settings */
-#define ETHTOOL_GET_DUMP_DATA 0x00000040 /* Get dump data */
-#define ETHTOOL_GET_TS_INFO 0x00000041 /* Get time stamping and PHC info */
-#define ETHTOOL_GMODULEINFO 0x00000042 /* Get plug-in module information */
-#define ETHTOOL_GMODULEEEPROM 0x00000043 /* Get plug-in module eeprom */
-#define ETHTOOL_GEEE 0x00000044 /* Get EEE settings */
-#define ETHTOOL_SEEE 0x00000045 /* Set EEE settings */
-
-#define ETHTOOL_GRSSH 0x00000046 /* Get RX flow hash configuration */
-#define ETHTOOL_SRSSH 0x00000047 /* Set RX flow hash configuration */
-#define ETHTOOL_GTUNABLE 0x00000048 /* Get tunable configuration */
-#define ETHTOOL_STUNABLE 0x00000049 /* Set tunable configuration */
-#define ETHTOOL_GPHYSTATS 0x0000004a /* get PHY-specific statistics */
-
-#define ETHTOOL_PERQUEUE 0x0000004b /* Set per queue options */
-
-#define ETHTOOL_GLINKSETTINGS 0x0000004c /* Get ethtool_link_settings */
-#define ETHTOOL_SLINKSETTINGS 0x0000004d /* Set ethtool_link_settings */
-
-
-/* compatibility with older code */
-#define SPARC_ETH_GSET ETHTOOL_GSET
-#define SPARC_ETH_SSET ETHTOOL_SSET
-
-/* Link mode bit indices */
-enum ethtool_link_mode_bit_indices {
- ETHTOOL_LINK_MODE_10baseT_Half_BIT = 0,
- ETHTOOL_LINK_MODE_10baseT_Full_BIT = 1,
- ETHTOOL_LINK_MODE_100baseT_Half_BIT = 2,
- ETHTOOL_LINK_MODE_100baseT_Full_BIT = 3,
- ETHTOOL_LINK_MODE_1000baseT_Half_BIT = 4,
- ETHTOOL_LINK_MODE_1000baseT_Full_BIT = 5,
- ETHTOOL_LINK_MODE_Autoneg_BIT = 6,
- ETHTOOL_LINK_MODE_TP_BIT = 7,
- ETHTOOL_LINK_MODE_AUI_BIT = 8,
- ETHTOOL_LINK_MODE_MII_BIT = 9,
- ETHTOOL_LINK_MODE_FIBRE_BIT = 10,
- ETHTOOL_LINK_MODE_BNC_BIT = 11,
- ETHTOOL_LINK_MODE_10000baseT_Full_BIT = 12,
- ETHTOOL_LINK_MODE_Pause_BIT = 13,
- ETHTOOL_LINK_MODE_Asym_Pause_BIT = 14,
- ETHTOOL_LINK_MODE_2500baseX_Full_BIT = 15,
- ETHTOOL_LINK_MODE_Backplane_BIT = 16,
- ETHTOOL_LINK_MODE_1000baseKX_Full_BIT = 17,
- ETHTOOL_LINK_MODE_10000baseKX4_Full_BIT = 18,
- ETHTOOL_LINK_MODE_10000baseKR_Full_BIT = 19,
- ETHTOOL_LINK_MODE_10000baseR_FEC_BIT = 20,
- ETHTOOL_LINK_MODE_20000baseMLD2_Full_BIT = 21,
- ETHTOOL_LINK_MODE_20000baseKR2_Full_BIT = 22,
- ETHTOOL_LINK_MODE_40000baseKR4_Full_BIT = 23,
- ETHTOOL_LINK_MODE_40000baseCR4_Full_BIT = 24,
- ETHTOOL_LINK_MODE_40000baseSR4_Full_BIT = 25,
- ETHTOOL_LINK_MODE_40000baseLR4_Full_BIT = 26,
- ETHTOOL_LINK_MODE_56000baseKR4_Full_BIT = 27,
- ETHTOOL_LINK_MODE_56000baseCR4_Full_BIT = 28,
- ETHTOOL_LINK_MODE_56000baseSR4_Full_BIT = 29,
- ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT = 30,
-
- /* Last allowed bit for __ETHTOOL_LINK_MODE_LEGACY_MASK is bit
- * 31. Please do NOT define any SUPPORTED_* or ADVERTISED_*
- * macro for bits > 31. The only way to use indices > 31 is to
- * use the new ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API.
- */
-
- __ETHTOOL_LINK_MODE_LAST
- = ETHTOOL_LINK_MODE_56000baseLR4_Full_BIT,
-};
-
-#define __ETHTOOL_LINK_MODE_LEGACY_MASK(base_name) \
- (1UL << (ETHTOOL_LINK_MODE_ ## base_name ## _BIT))
-
-/* DEPRECATED macros. Please migrate to
- * ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API. Please do NOT
- * define any new SUPPORTED_* macro for bits > 31.
- */
-#define SUPPORTED_10baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(10baseT_Half)
-#define SUPPORTED_10baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10baseT_Full)
-#define SUPPORTED_100baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(100baseT_Half)
-#define SUPPORTED_100baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(100baseT_Full)
-#define SUPPORTED_1000baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseT_Half)
-#define SUPPORTED_1000baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseT_Full)
-#define SUPPORTED_Autoneg __ETHTOOL_LINK_MODE_LEGACY_MASK(Autoneg)
-#define SUPPORTED_TP __ETHTOOL_LINK_MODE_LEGACY_MASK(TP)
-#define SUPPORTED_AUI __ETHTOOL_LINK_MODE_LEGACY_MASK(AUI)
-#define SUPPORTED_MII __ETHTOOL_LINK_MODE_LEGACY_MASK(MII)
-#define SUPPORTED_FIBRE __ETHTOOL_LINK_MODE_LEGACY_MASK(FIBRE)
-#define SUPPORTED_BNC __ETHTOOL_LINK_MODE_LEGACY_MASK(BNC)
-#define SUPPORTED_10000baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseT_Full)
-#define SUPPORTED_Pause __ETHTOOL_LINK_MODE_LEGACY_MASK(Pause)
-#define SUPPORTED_Asym_Pause __ETHTOOL_LINK_MODE_LEGACY_MASK(Asym_Pause)
-#define SUPPORTED_2500baseX_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(2500baseX_Full)
-#define SUPPORTED_Backplane __ETHTOOL_LINK_MODE_LEGACY_MASK(Backplane)
-#define SUPPORTED_1000baseKX_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseKX_Full)
-#define SUPPORTED_10000baseKX4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseKX4_Full)
-#define SUPPORTED_10000baseKR_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseKR_Full)
-#define SUPPORTED_10000baseR_FEC __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseR_FEC)
-#define SUPPORTED_20000baseMLD2_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(20000baseMLD2_Full)
-#define SUPPORTED_20000baseKR2_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(20000baseKR2_Full)
-#define SUPPORTED_40000baseKR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseKR4_Full)
-#define SUPPORTED_40000baseCR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseCR4_Full)
-#define SUPPORTED_40000baseSR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseSR4_Full)
-#define SUPPORTED_40000baseLR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseLR4_Full)
-#define SUPPORTED_56000baseKR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseKR4_Full)
-#define SUPPORTED_56000baseCR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseCR4_Full)
-#define SUPPORTED_56000baseSR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseSR4_Full)
-#define SUPPORTED_56000baseLR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseLR4_Full)
-/* Please do not define any new SUPPORTED_* macro for bits > 31, see
- * notice above.
- */
-
-/*
- * DEPRECATED macros. Please migrate to
- * ETHTOOL_GLINKSETTINGS/ETHTOOL_SLINKSETTINGS API. Please do NOT
- * define any new ADERTISE_* macro for bits > 31.
- */
-#define ADVERTISED_10baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(10baseT_Half)
-#define ADVERTISED_10baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10baseT_Full)
-#define ADVERTISED_100baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(100baseT_Half)
-#define ADVERTISED_100baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(100baseT_Full)
-#define ADVERTISED_1000baseT_Half __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseT_Half)
-#define ADVERTISED_1000baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseT_Full)
-#define ADVERTISED_Autoneg __ETHTOOL_LINK_MODE_LEGACY_MASK(Autoneg)
-#define ADVERTISED_TP __ETHTOOL_LINK_MODE_LEGACY_MASK(TP)
-#define ADVERTISED_AUI __ETHTOOL_LINK_MODE_LEGACY_MASK(AUI)
-#define ADVERTISED_MII __ETHTOOL_LINK_MODE_LEGACY_MASK(MII)
-#define ADVERTISED_FIBRE __ETHTOOL_LINK_MODE_LEGACY_MASK(FIBRE)
-#define ADVERTISED_BNC __ETHTOOL_LINK_MODE_LEGACY_MASK(BNC)
-#define ADVERTISED_10000baseT_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseT_Full)
-#define ADVERTISED_Pause __ETHTOOL_LINK_MODE_LEGACY_MASK(Pause)
-#define ADVERTISED_Asym_Pause __ETHTOOL_LINK_MODE_LEGACY_MASK(Asym_Pause)
-#define ADVERTISED_2500baseX_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(2500baseX_Full)
-#define ADVERTISED_Backplane __ETHTOOL_LINK_MODE_LEGACY_MASK(Backplane)
-#define ADVERTISED_1000baseKX_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(1000baseKX_Full)
-#define ADVERTISED_10000baseKX4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseKX4_Full)
-#define ADVERTISED_10000baseKR_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseKR_Full)
-#define ADVERTISED_10000baseR_FEC __ETHTOOL_LINK_MODE_LEGACY_MASK(10000baseR_FEC)
-#define ADVERTISED_20000baseMLD2_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(20000baseMLD2_Full)
-#define ADVERTISED_20000baseKR2_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(20000baseKR2_Full)
-#define ADVERTISED_40000baseKR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseKR4_Full)
-#define ADVERTISED_40000baseCR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseCR4_Full)
-#define ADVERTISED_40000baseSR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseSR4_Full)
-#define ADVERTISED_40000baseLR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(40000baseLR4_Full)
-#define ADVERTISED_56000baseKR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseKR4_Full)
-#define ADVERTISED_56000baseCR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseCR4_Full)
-#define ADVERTISED_56000baseSR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseSR4_Full)
-#define ADVERTISED_56000baseLR4_Full __ETHTOOL_LINK_MODE_LEGACY_MASK(56000baseLR4_Full)
-/* Please do not define any new ADVERTISED_* macro for bits > 31, see
- * notice above.
- */
-
-/* The following are all involved in forcing a particular link
- * mode for the device for setting things. When getting the
- * devices settings, these indicate the current mode and whether
- * it was forced up into this mode or autonegotiated.
- */
-
-/* The forced speed, in units of 1Mb. All values 0 to INT_MAX are legal. */
-#define SPEED_10 10
-#define SPEED_100 100
-#define SPEED_1000 1000
-#define SPEED_2500 2500
-#define SPEED_5000 5000
-#define SPEED_10000 10000
-#define SPEED_20000 20000
-#define SPEED_25000 25000
-#define SPEED_40000 40000
-#define SPEED_50000 50000
-#define SPEED_56000 56000
-#define SPEED_100000 100000
-
-#define SPEED_UNKNOWN -1
-
-static __inline__ int ethtool_validate_speed(__u32 speed)
-{
- return speed <= INT_MAX || speed == SPEED_UNKNOWN;
-}
-
-/* Duplex, half or full. */
-#define DUPLEX_HALF 0x00
-#define DUPLEX_FULL 0x01
-#define DUPLEX_UNKNOWN 0xff
-
-static __inline__ int ethtool_validate_duplex(__u8 duplex)
-{
- switch (duplex) {
- case DUPLEX_HALF:
- case DUPLEX_FULL:
- case DUPLEX_UNKNOWN:
- return 1;
- }
-
- return 0;
-}
-
-/* Which connector port. */
-#define PORT_TP 0x00
-#define PORT_AUI 0x01
-#define PORT_MII 0x02
-#define PORT_FIBRE 0x03
-#define PORT_BNC 0x04
-#define PORT_DA 0x05
-#define PORT_NONE 0xef
-#define PORT_OTHER 0xff
-
-/* Which transceiver to use. */
-#define XCVR_INTERNAL 0x00 /* PHY and MAC are in the same package */
-#define XCVR_EXTERNAL 0x01 /* PHY and MAC are in different packages */
-#define XCVR_DUMMY1 0x02
-#define XCVR_DUMMY2 0x03
-#define XCVR_DUMMY3 0x04
-
-/* Enable or disable autonegotiation. */
-#define AUTONEG_DISABLE 0x00
-#define AUTONEG_ENABLE 0x01
-
-/* MDI or MDI-X status/control - if MDI/MDI_X/AUTO is set then
- * the driver is required to renegotiate link
- */
-#define ETH_TP_MDI_INVALID 0x00 /* status: unknown; control: unsupported */
-#define ETH_TP_MDI 0x01 /* status: MDI; control: force MDI */
-#define ETH_TP_MDI_X 0x02 /* status: MDI-X; control: force MDI-X */
-#define ETH_TP_MDI_AUTO 0x03 /* control: auto-select */
-
-/* Wake-On-Lan options. */
-#define WAKE_PHY (1 << 0)
-#define WAKE_UCAST (1 << 1)
-#define WAKE_MCAST (1 << 2)
-#define WAKE_BCAST (1 << 3)
-#define WAKE_ARP (1 << 4)
-#define WAKE_MAGIC (1 << 5)
-#define WAKE_MAGICSECURE (1 << 6) /* only meaningful if WAKE_MAGIC */
-
-/* L2-L4 network traffic flow types */
-#define TCP_V4_FLOW 0x01 /* hash or spec (tcp_ip4_spec) */
-#define UDP_V4_FLOW 0x02 /* hash or spec (udp_ip4_spec) */
-#define SCTP_V4_FLOW 0x03 /* hash or spec (sctp_ip4_spec) */
-#define AH_ESP_V4_FLOW 0x04 /* hash only */
-#define TCP_V6_FLOW 0x05 /* hash or spec (tcp_ip6_spec; nfc only) */
-#define UDP_V6_FLOW 0x06 /* hash or spec (udp_ip6_spec; nfc only) */
-#define SCTP_V6_FLOW 0x07 /* hash or spec (sctp_ip6_spec; nfc only) */
-#define AH_ESP_V6_FLOW 0x08 /* hash only */
-#define AH_V4_FLOW 0x09 /* hash or spec (ah_ip4_spec) */
-#define ESP_V4_FLOW 0x0a /* hash or spec (esp_ip4_spec) */
-#define AH_V6_FLOW 0x0b /* hash or spec (ah_ip6_spec; nfc only) */
-#define ESP_V6_FLOW 0x0c /* hash or spec (esp_ip6_spec; nfc only) */
-#define IPV4_USER_FLOW 0x0d /* spec only (usr_ip4_spec) */
-#define IP_USER_FLOW IPV4_USER_FLOW
-#define IPV6_USER_FLOW 0x0e /* spec only (usr_ip6_spec; nfc only) */
-#define IPV4_FLOW 0x10 /* hash only */
-#define IPV6_FLOW 0x11 /* hash only */
-#define ETHER_FLOW 0x12 /* spec only (ether_spec) */
-/* Flag to enable additional fields in struct ethtool_rx_flow_spec */
-#define FLOW_EXT 0x80000000
-#define FLOW_MAC_EXT 0x40000000
-
-/* L3-L4 network traffic flow hash options */
-#define RXH_L2DA (1 << 1)
-#define RXH_VLAN (1 << 2)
-#define RXH_L3_PROTO (1 << 3)
-#define RXH_IP_SRC (1 << 4)
-#define RXH_IP_DST (1 << 5)
-#define RXH_L4_B_0_1 (1 << 6) /* src port in case of TCP/UDP/SCTP */
-#define RXH_L4_B_2_3 (1 << 7) /* dst port in case of TCP/UDP/SCTP */
-#define RXH_DISCARD (1 << 31)
-
-#define RX_CLS_FLOW_DISC 0xffffffffffffffffULL
-
-/* Special RX classification rule insert location values */
-#define RX_CLS_LOC_SPECIAL 0x80000000 /* flag */
-#define RX_CLS_LOC_ANY 0xffffffff
-#define RX_CLS_LOC_FIRST 0xfffffffe
-#define RX_CLS_LOC_LAST 0xfffffffd
-
-/* EEPROM Standards for plug in modules */
-#define ETH_MODULE_SFF_8079 0x1
-#define ETH_MODULE_SFF_8079_LEN 256
-#define ETH_MODULE_SFF_8472 0x2
-#define ETH_MODULE_SFF_8472_LEN 512
-#define ETH_MODULE_SFF_8636 0x3
-#define ETH_MODULE_SFF_8636_LEN 256
-#define ETH_MODULE_SFF_8436 0x4
-#define ETH_MODULE_SFF_8436_LEN 256
-
-/* Reset flags */
-/* The reset() operation must clear the flags for the components which
- * were actually reset. On successful return, the flags indicate the
- * components which were not reset, either because they do not exist
- * in the hardware or because they cannot be reset independently. The
- * driver must never reset any components that were not requested.
- */
-enum ethtool_reset_flags {
- /* These flags represent components dedicated to the interface
- * the command is addressed to. Shift any flag left by
- * ETH_RESET_SHARED_SHIFT to reset a shared component of the
- * same type.
- */
- ETH_RESET_MGMT = 1 << 0, /* Management processor */
- ETH_RESET_IRQ = 1 << 1, /* Interrupt requester */
- ETH_RESET_DMA = 1 << 2, /* DMA engine */
- ETH_RESET_FILTER = 1 << 3, /* Filtering/flow direction */
- ETH_RESET_OFFLOAD = 1 << 4, /* Protocol offload */
- ETH_RESET_MAC = 1 << 5, /* Media access controller */
- ETH_RESET_PHY = 1 << 6, /* Transceiver/PHY */
- ETH_RESET_RAM = 1 << 7, /* RAM shared between
- * multiple components */
-
- ETH_RESET_DEDICATED = 0x0000ffff, /* All components dedicated to
- * this interface */
- ETH_RESET_ALL = 0xffffffff, /* All components used by this
- * interface, even if shared */
-};
-#define ETH_RESET_SHARED_SHIFT 16
-
-
-/**
- * struct ethtool_link_settings - link control and status
- *
- * IMPORTANT, Backward compatibility notice: When implementing new
- * user-space tools, please first try %ETHTOOL_GLINKSETTINGS, and
- * if it succeeds use %ETHTOOL_SLINKSETTINGS to change link
- * settings; do not use %ETHTOOL_SSET if %ETHTOOL_GLINKSETTINGS
- * succeeded: stick to %ETHTOOL_GLINKSETTINGS/%SLINKSETTINGS in
- * that case. Conversely, if %ETHTOOL_GLINKSETTINGS fails, use
- * %ETHTOOL_GSET to query and %ETHTOOL_SSET to change link
- * settings; do not use %ETHTOOL_SLINKSETTINGS if
- * %ETHTOOL_GLINKSETTINGS failed: stick to
- * %ETHTOOL_GSET/%ETHTOOL_SSET in that case.
- *
- * @cmd: Command number = %ETHTOOL_GLINKSETTINGS or %ETHTOOL_SLINKSETTINGS
- * @speed: Link speed (Mbps)
- * @duplex: Duplex mode; one of %DUPLEX_*
- * @port: Physical connector type; one of %PORT_*
- * @phy_address: MDIO address of PHY (transceiver); 0 or 255 if not
- * applicable. For clause 45 PHYs this is the PRTAD.
- * @autoneg: Enable/disable autonegotiation and auto-detection;
- * either %AUTONEG_DISABLE or %AUTONEG_ENABLE
- * @mdio_support: Bitmask of %ETH_MDIO_SUPPORTS_* flags for the MDIO
- * protocols supported by the interface; 0 if unknown.
- * Read-only.
- * @eth_tp_mdix: Ethernet twisted-pair MDI(-X) status; one of
- * %ETH_TP_MDI_*. If the status is unknown or not applicable, the
- * value will be %ETH_TP_MDI_INVALID. Read-only.
- * @eth_tp_mdix_ctrl: Ethernet twisted pair MDI(-X) control; one of
- * %ETH_TP_MDI_*. If MDI(-X) control is not implemented, reads
- * yield %ETH_TP_MDI_INVALID and writes may be ignored or rejected.
- * When written successfully, the link should be renegotiated if
- * necessary.
- * @link_mode_masks_nwords: Number of 32-bit words for each of the
- * supported, advertising, lp_advertising link mode bitmaps. For
- * %ETHTOOL_GLINKSETTINGS: on entry, number of words passed by user
- * (>= 0); on return, if handshake in progress, negative if
- * request size unsupported by kernel: absolute value indicates
- * kernel expected size and all the other fields but cmd
- * are 0; otherwise (handshake completed), strictly positive
- * to indicate size used by kernel and cmd field stays
- * %ETHTOOL_GLINKSETTINGS, all other fields populated by driver. For
- * %ETHTOOL_SLINKSETTINGS: must be valid on entry, ie. a positive
- * value returned previously by %ETHTOOL_GLINKSETTINGS, otherwise
- * refused. For drivers: ignore this field (use kernel's
- * __ETHTOOL_LINK_MODE_MASK_NBITS instead), any change to it will
- * be overwritten by kernel.
- * @supported: Bitmap with each bit meaning given by
- * %ethtool_link_mode_bit_indices for the link modes, physical
- * connectors and other link features for which the interface
- * supports autonegotiation or auto-detection. Read-only.
- * @advertising: Bitmap with each bit meaning given by
- * %ethtool_link_mode_bit_indices for the link modes, physical
- * connectors and other link features that are advertised through
- * autonegotiation or enabled for auto-detection.
- * @lp_advertising: Bitmap with each bit meaning given by
- * %ethtool_link_mode_bit_indices for the link modes, and other
- * link features that the link partner advertised through
- * autonegotiation; 0 if unknown or not applicable. Read-only.
- *
- * If autonegotiation is disabled, the speed and @duplex represent the
- * fixed link mode and are writable if the driver supports multiple
- * link modes. If it is enabled then they are read-only; if the link
- * is up they represent the negotiated link mode; if the link is down,
- * the speed is 0, %SPEED_UNKNOWN or the highest enabled speed and
- * @duplex is %DUPLEX_UNKNOWN or the best enabled duplex mode.
- *
- * Some hardware interfaces may have multiple PHYs and/or physical
- * connectors fitted or do not allow the driver to detect which are
- * fitted. For these interfaces @port and/or @phy_address may be
- * writable, possibly dependent on @autoneg being %AUTONEG_DISABLE.
- * Otherwise, attempts to write different values may be ignored or
- * rejected.
- *
- * Deprecated %ethtool_cmd fields transceiver, maxtxpkt and maxrxpkt
- * are not available in %ethtool_link_settings. Until all drivers are
- * converted to ignore them or to the new %ethtool_link_settings API,
- * for both queries and changes, users should always try
- * %ETHTOOL_GLINKSETTINGS first, and if it fails with -ENOTSUPP stick
- * only to %ETHTOOL_GSET and %ETHTOOL_SSET consistently. If it
- * succeeds, then users should stick to %ETHTOOL_GLINKSETTINGS and
- * %ETHTOOL_SLINKSETTINGS (which would support drivers implementing
- * either %ethtool_cmd or %ethtool_link_settings).
- *
- * Users should assume that all fields not marked read-only are
- * writable and subject to validation by the driver. They should use
- * %ETHTOOL_GLINKSETTINGS to get the current values before making specific
- * changes and then applying them with %ETHTOOL_SLINKSETTINGS.
- *
- * Drivers that implement %get_link_ksettings and/or
- * %set_link_ksettings should ignore the @cmd
- * and @link_mode_masks_nwords fields (any change to them overwritten
- * by kernel), and rely only on kernel's internal
- * %__ETHTOOL_LINK_MODE_MASK_NBITS and
- * %ethtool_link_mode_mask_t. Drivers that implement
- * %set_link_ksettings() should validate all fields other than @cmd
- * and @link_mode_masks_nwords that are not described as read-only or
- * deprecated, and must ignore all fields described as read-only.
- */
-struct ethtool_link_settings {
- __u32 cmd;
- __u32 speed;
- __u8 duplex;
- __u8 port;
- __u8 phy_address;
- __u8 autoneg;
- __u8 mdio_support;
- __u8 eth_tp_mdix;
- __u8 eth_tp_mdix_ctrl;
- __s8 link_mode_masks_nwords;
- __u32 reserved[8];
- __u32 link_mode_masks[0];
- /* layout of link_mode_masks fields:
- * __u32 map_supported[link_mode_masks_nwords];
- * __u32 map_advertising[link_mode_masks_nwords];
- * __u32 map_lp_advertising[link_mode_masks_nwords];
- */
-};
-#endif /* _LINUX_ETHTOOL_H */
diff --git a/linux-headers/include/linux/eventpoll.h b/linux-headers/include/linux/eventpoll.h
deleted file mode 100644
index 9b35fbf..0000000
--- a/linux-headers/include/linux/eventpoll.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * include/linux/eventpoll.h ( Efficient event polling implementation )
- * Copyright (C) 2001,...,2006 Davide Libenzi
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * Davide Libenzi <davidel@xmailserver.org>
- *
- */
-
-#ifndef _LINUX_EVENTPOLL_H
-#define _LINUX_EVENTPOLL_H
-
-/* For O_CLOEXEC */
-#include <linux/fcntl.h>
-#include <linux/types.h>
-
-/* Flags for epoll_create1. */
-#define EPOLL_CLOEXEC O_CLOEXEC
-
-/* Valid opcodes to issue to sys_epoll_ctl() */
-#define EPOLL_CTL_ADD 1
-#define EPOLL_CTL_DEL 2
-#define EPOLL_CTL_MOD 3
-
-/* Set exclusive wakeup mode for the target file descriptor */
-#define EPOLLEXCLUSIVE (1 << 28)
-
-/*
- * Request the handling of system wakeup events so as to prevent system suspends
- * from happening while those events are being processed.
- *
- * Assuming neither EPOLLET nor EPOLLONESHOT is set, system suspends will not be
- * re-allowed until epoll_wait is called again after consuming the wakeup
- * event(s).
- *
- * Requires CAP_BLOCK_SUSPEND
- */
-#define EPOLLWAKEUP (1 << 29)
-
-/* Set the One Shot behaviour for the target file descriptor */
-#define EPOLLONESHOT (1 << 30)
-
-/* Set the Edge Triggered behaviour for the target file descriptor */
-#define EPOLLET (1 << 31)
-
-/*
- * On x86-64 make the 64bit structure have the same alignment as the
- * 32bit structure. This makes 32bit emulation easier.
- *
- * UML/x86_64 needs the same packing as x86_64
- */
-#ifdef __x86_64__
-#define EPOLL_PACKED __attribute__((packed))
-#else
-#define EPOLL_PACKED
-#endif
-
-struct epoll_event {
- __u32 events;
- __u64 data;
-} EPOLL_PACKED;
-
-#ifdef CONFIG_PM_SLEEP
-static __inline__ void ep_take_care_of_epollwakeup(struct epoll_event *epev)
-{
- if ((epev->events & EPOLLWAKEUP) && !capable(CAP_BLOCK_SUSPEND))
- epev->events &= ~EPOLLWAKEUP;
-}
-#else
-static __inline__ void ep_take_care_of_epollwakeup(struct epoll_event *epev)
-{
- epev->events &= ~EPOLLWAKEUP;
-}
-#endif
-#endif /* _LINUX_EVENTPOLL_H */
diff --git a/linux-headers/include/linux/fadvise.h b/linux-headers/include/linux/fadvise.h
deleted file mode 100644
index e8e7471..0000000
--- a/linux-headers/include/linux/fadvise.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef FADVISE_H_INCLUDED
-#define FADVISE_H_INCLUDED
-
-#define POSIX_FADV_NORMAL 0 /* No further special treatment. */
-#define POSIX_FADV_RANDOM 1 /* Expect random page references. */
-#define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */
-#define POSIX_FADV_WILLNEED 3 /* Will need these pages. */
-
-/*
- * The advise values for POSIX_FADV_DONTNEED and POSIX_ADV_NOREUSE
- * for s390-64 differ from the values for the rest of the world.
- */
-#if defined(__s390x__)
-#define POSIX_FADV_DONTNEED 6 /* Don't need these pages. */
-#define POSIX_FADV_NOREUSE 7 /* Data will be accessed once. */
-#else
-#define POSIX_FADV_DONTNEED 4 /* Don't need these pages. */
-#define POSIX_FADV_NOREUSE 5 /* Data will be accessed once. */
-#endif
-
-#endif /* FADVISE_H_INCLUDED */
diff --git a/linux-headers/include/linux/falloc.h b/linux-headers/include/linux/falloc.h
deleted file mode 100644
index dce68de..0000000
--- a/linux-headers/include/linux/falloc.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _FALLOC_H_
-#define _FALLOC_H_
-
-#define FALLOC_FL_KEEP_SIZE 0x01 /* default is extend size */
-#define FALLOC_FL_PUNCH_HOLE 0x02 /* de-allocates range */
-#define FALLOC_FL_NO_HIDE_STALE 0x04 /* reserved codepoint */
-
-/*
- * FALLOC_FL_COLLAPSE_RANGE is used to remove a range of a file
- * without leaving a hole in the file. The contents of the file beyond
- * the range being removed is appended to the start offset of the range
- * being removed (i.e. the hole that was punched is "collapsed"),
- * resulting in a file layout that looks like the range that was
- * removed never existed. As such collapsing a range of a file changes
- * the size of the file, reducing it by the same length of the range
- * that has been removed by the operation.
- *
- * Different filesystems may implement different limitations on the
- * granularity of the operation. Most will limit operations to
- * filesystem block size boundaries, but this boundary may be larger or
- * smaller depending on the filesystem and/or the configuration of the
- * filesystem or file.
- *
- * Attempting to collapse a range that crosses the end of the file is
- * considered an illegal operation - just use ftruncate(2) if you need
- * to collapse a range that crosses EOF.
- */
-#define FALLOC_FL_COLLAPSE_RANGE 0x08
-
-/*
- * FALLOC_FL_ZERO_RANGE is used to convert a range of file to zeros preferably
- * without issuing data IO. Blocks should be preallocated for the regions that
- * span holes in the file, and the entire range is preferable converted to
- * unwritten extents - even though file system may choose to zero out the
- * extent or do whatever which will result in reading zeros from the range
- * while the range remains allocated for the file.
- *
- * This can be also used to preallocate blocks past EOF in the same way as
- * with fallocate. Flag FALLOC_FL_KEEP_SIZE should cause the inode
- * size to remain the same.
- */
-#define FALLOC_FL_ZERO_RANGE 0x10
-
-/*
- * FALLOC_FL_INSERT_RANGE is use to insert space within the file size without
- * overwriting any existing data. The contents of the file beyond offset are
- * shifted towards right by len bytes to create a hole. As such, this
- * operation will increase the size of the file by len bytes.
- *
- * Different filesystems may implement different limitations on the granularity
- * of the operation. Most will limit operations to filesystem block size
- * boundaries, but this boundary may be larger or smaller depending on
- * the filesystem and/or the configuration of the filesystem or file.
- *
- * Attempting to insert space using this flag at OR beyond the end of
- * the file is considered an illegal operation - just use ftruncate(2) or
- * fallocate(2) with mode 0 for such type of operations.
- */
-#define FALLOC_FL_INSERT_RANGE 0x20
-
-#endif /* _FALLOC_H_ */
diff --git a/linux-headers/include/linux/fanotify.h b/linux-headers/include/linux/fanotify.h
deleted file mode 100644
index f780e5a..0000000
--- a/linux-headers/include/linux/fanotify.h
+++ /dev/null
@@ -1,116 +0,0 @@
-#ifndef _LINUX_FANOTIFY_H
-#define _LINUX_FANOTIFY_H
-
-#include <linux/types.h>
-
-/* the following events that user-space can register for */
-#define FAN_ACCESS 0x00000001 /* File was accessed */
-#define FAN_MODIFY 0x00000002 /* File was modified */
-#define FAN_CLOSE_WRITE 0x00000008 /* Writtable file closed */
-#define FAN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed */
-#define FAN_OPEN 0x00000020 /* File was opened */
-
-#define FAN_Q_OVERFLOW 0x00004000 /* Event queued overflowed */
-
-#define FAN_OPEN_PERM 0x00010000 /* File open in perm check */
-#define FAN_ACCESS_PERM 0x00020000 /* File accessed in perm check */
-
-#define FAN_ONDIR 0x40000000 /* event occurred against dir */
-
-#define FAN_EVENT_ON_CHILD 0x08000000 /* interested in child events */
-
-/* helper events */
-#define FAN_CLOSE (FAN_CLOSE_WRITE | FAN_CLOSE_NOWRITE) /* close */
-
-/* flags used for fanotify_init() */
-#define FAN_CLOEXEC 0x00000001
-#define FAN_NONBLOCK 0x00000002
-
-/* These are NOT bitwise flags. Both bits are used togther. */
-#define FAN_CLASS_NOTIF 0x00000000
-#define FAN_CLASS_CONTENT 0x00000004
-#define FAN_CLASS_PRE_CONTENT 0x00000008
-#define FAN_ALL_CLASS_BITS (FAN_CLASS_NOTIF | FAN_CLASS_CONTENT | \
- FAN_CLASS_PRE_CONTENT)
-
-#define FAN_UNLIMITED_QUEUE 0x00000010
-#define FAN_UNLIMITED_MARKS 0x00000020
-
-#define FAN_ALL_INIT_FLAGS (FAN_CLOEXEC | FAN_NONBLOCK | \
- FAN_ALL_CLASS_BITS | FAN_UNLIMITED_QUEUE |\
- FAN_UNLIMITED_MARKS)
-
-/* flags used for fanotify_modify_mark() */
-#define FAN_MARK_ADD 0x00000001
-#define FAN_MARK_REMOVE 0x00000002
-#define FAN_MARK_DONT_FOLLOW 0x00000004
-#define FAN_MARK_ONLYDIR 0x00000008
-#define FAN_MARK_MOUNT 0x00000010
-#define FAN_MARK_IGNORED_MASK 0x00000020
-#define FAN_MARK_IGNORED_SURV_MODIFY 0x00000040
-#define FAN_MARK_FLUSH 0x00000080
-
-#define FAN_ALL_MARK_FLAGS (FAN_MARK_ADD |\
- FAN_MARK_REMOVE |\
- FAN_MARK_DONT_FOLLOW |\
- FAN_MARK_ONLYDIR |\
- FAN_MARK_MOUNT |\
- FAN_MARK_IGNORED_MASK |\
- FAN_MARK_IGNORED_SURV_MODIFY |\
- FAN_MARK_FLUSH)
-
-/*
- * All of the events - we build the list by hand so that we can add flags in
- * the future and not break backward compatibility. Apps will get only the
- * events that they originally wanted. Be sure to add new events here!
- */
-#define FAN_ALL_EVENTS (FAN_ACCESS |\
- FAN_MODIFY |\
- FAN_CLOSE |\
- FAN_OPEN)
-
-/*
- * All events which require a permission response from userspace
- */
-#define FAN_ALL_PERM_EVENTS (FAN_OPEN_PERM |\
- FAN_ACCESS_PERM)
-
-#define FAN_ALL_OUTGOING_EVENTS (FAN_ALL_EVENTS |\
- FAN_ALL_PERM_EVENTS |\
- FAN_Q_OVERFLOW)
-
-#define FANOTIFY_METADATA_VERSION 3
-
-struct fanotify_event_metadata {
- __u32 event_len;
- __u8 vers;
- __u8 reserved;
- __u16 metadata_len;
- __aligned_u64 mask;
- __s32 fd;
- __s32 pid;
-};
-
-struct fanotify_response {
- __s32 fd;
- __u32 response;
-};
-
-/* Legit userspace responses to a _PERM event */
-#define FAN_ALLOW 0x01
-#define FAN_DENY 0x02
-/* No fd set in event */
-#define FAN_NOFD -1
-
-/* Helper functions to deal with fanotify_event_metadata buffers */
-#define FAN_EVENT_METADATA_LEN (sizeof(struct fanotify_event_metadata))
-
-#define FAN_EVENT_NEXT(meta, len) ((len) -= (meta)->event_len, \
- (struct fanotify_event_metadata*)(((char *)(meta)) + \
- (meta)->event_len))
-
-#define FAN_EVENT_OK(meta, len) ((long)(len) >= (long)FAN_EVENT_METADATA_LEN && \
- (long)(meta)->event_len >= (long)FAN_EVENT_METADATA_LEN && \
- (long)(meta)->event_len <= (long)(len))
-
-#endif /* _LINUX_FANOTIFY_H */
diff --git a/linux-headers/include/linux/fb.h b/linux-headers/include/linux/fb.h
deleted file mode 100644
index 1b3b239..0000000
--- a/linux-headers/include/linux/fb.h
+++ /dev/null
@@ -1,400 +0,0 @@
-#ifndef _LINUX_FB_H
-#define _LINUX_FB_H
-
-#include <linux/types.h>
-#include <linux/i2c.h>
-
-/* Definitions of frame buffers */
-
-#define FB_MAX 32 /* sufficient for now */
-
-/* ioctls
- 0x46 is 'F' */
-#define FBIOGET_VSCREENINFO 0x4600
-#define FBIOPUT_VSCREENINFO 0x4601
-#define FBIOGET_FSCREENINFO 0x4602
-#define FBIOGETCMAP 0x4604
-#define FBIOPUTCMAP 0x4605
-#define FBIOPAN_DISPLAY 0x4606
-#define FBIO_CURSOR _IOWR('F', 0x08, struct fb_cursor)
-/* 0x4607-0x460B are defined below */
-/* #define FBIOGET_MONITORSPEC 0x460C */
-/* #define FBIOPUT_MONITORSPEC 0x460D */
-/* #define FBIOSWITCH_MONIBIT 0x460E */
-#define FBIOGET_CON2FBMAP 0x460F
-#define FBIOPUT_CON2FBMAP 0x4610
-#define FBIOBLANK 0x4611 /* arg: 0 or vesa level + 1 */
-#define FBIOGET_VBLANK _IOR('F', 0x12, struct fb_vblank)
-#define FBIO_ALLOC 0x4613
-#define FBIO_FREE 0x4614
-#define FBIOGET_GLYPH 0x4615
-#define FBIOGET_HWCINFO 0x4616
-#define FBIOPUT_MODEINFO 0x4617
-#define FBIOGET_DISPINFO 0x4618
-#define FBIO_WAITFORVSYNC _IOW('F', 0x20, __u32)
-
-#define FB_TYPE_PACKED_PIXELS 0 /* Packed Pixels */
-#define FB_TYPE_PLANES 1 /* Non interleaved planes */
-#define FB_TYPE_INTERLEAVED_PLANES 2 /* Interleaved planes */
-#define FB_TYPE_TEXT 3 /* Text/attributes */
-#define FB_TYPE_VGA_PLANES 4 /* EGA/VGA planes */
-#define FB_TYPE_FOURCC 5 /* Type identified by a V4L2 FOURCC */
-
-#define FB_AUX_TEXT_MDA 0 /* Monochrome text */
-#define FB_AUX_TEXT_CGA 1 /* CGA/EGA/VGA Color text */
-#define FB_AUX_TEXT_S3_MMIO 2 /* S3 MMIO fasttext */
-#define FB_AUX_TEXT_MGA_STEP16 3 /* MGA Millenium I: text, attr, 14 reserved bytes */
-#define FB_AUX_TEXT_MGA_STEP8 4 /* other MGAs: text, attr, 6 reserved bytes */
-#define FB_AUX_TEXT_SVGA_GROUP 8 /* 8-15: SVGA tileblit compatible modes */
-#define FB_AUX_TEXT_SVGA_MASK 7 /* lower three bits says step */
-#define FB_AUX_TEXT_SVGA_STEP2 8 /* SVGA text mode: text, attr */
-#define FB_AUX_TEXT_SVGA_STEP4 9 /* SVGA text mode: text, attr, 2 reserved bytes */
-#define FB_AUX_TEXT_SVGA_STEP8 10 /* SVGA text mode: text, attr, 6 reserved bytes */
-#define FB_AUX_TEXT_SVGA_STEP16 11 /* SVGA text mode: text, attr, 14 reserved bytes */
-#define FB_AUX_TEXT_SVGA_LAST 15 /* reserved up to 15 */
-
-#define FB_AUX_VGA_PLANES_VGA4 0 /* 16 color planes (EGA/VGA) */
-#define FB_AUX_VGA_PLANES_CFB4 1 /* CFB4 in planes (VGA) */
-#define FB_AUX_VGA_PLANES_CFB8 2 /* CFB8 in planes (VGA) */
-
-#define FB_VISUAL_MONO01 0 /* Monochr. 1=Black 0=White */
-#define FB_VISUAL_MONO10 1 /* Monochr. 1=White 0=Black */
-#define FB_VISUAL_TRUECOLOR 2 /* True color */
-#define FB_VISUAL_PSEUDOCOLOR 3 /* Pseudo color (like atari) */
-#define FB_VISUAL_DIRECTCOLOR 4 /* Direct color */
-#define FB_VISUAL_STATIC_PSEUDOCOLOR 5 /* Pseudo color readonly */
-#define FB_VISUAL_FOURCC 6 /* Visual identified by a V4L2 FOURCC */
-
-#define FB_ACCEL_NONE 0 /* no hardware accelerator */
-#define FB_ACCEL_ATARIBLITT 1 /* Atari Blitter */
-#define FB_ACCEL_AMIGABLITT 2 /* Amiga Blitter */
-#define FB_ACCEL_S3_TRIO64 3 /* Cybervision64 (S3 Trio64) */
-#define FB_ACCEL_NCR_77C32BLT 4 /* RetinaZ3 (NCR 77C32BLT) */
-#define FB_ACCEL_S3_VIRGE 5 /* Cybervision64/3D (S3 ViRGE) */
-#define FB_ACCEL_ATI_MACH64GX 6 /* ATI Mach 64GX family */
-#define FB_ACCEL_DEC_TGA 7 /* DEC 21030 TGA */
-#define FB_ACCEL_ATI_MACH64CT 8 /* ATI Mach 64CT family */
-#define FB_ACCEL_ATI_MACH64VT 9 /* ATI Mach 64CT family VT class */
-#define FB_ACCEL_ATI_MACH64GT 10 /* ATI Mach 64CT family GT class */
-#define FB_ACCEL_SUN_CREATOR 11 /* Sun Creator/Creator3D */
-#define FB_ACCEL_SUN_CGSIX 12 /* Sun cg6 */
-#define FB_ACCEL_SUN_LEO 13 /* Sun leo/zx */
-#define FB_ACCEL_IMS_TWINTURBO 14 /* IMS Twin Turbo */
-#define FB_ACCEL_3DLABS_PERMEDIA2 15 /* 3Dlabs Permedia 2 */
-#define FB_ACCEL_MATROX_MGA2064W 16 /* Matrox MGA2064W (Millenium) */
-#define FB_ACCEL_MATROX_MGA1064SG 17 /* Matrox MGA1064SG (Mystique) */
-#define FB_ACCEL_MATROX_MGA2164W 18 /* Matrox MGA2164W (Millenium II) */
-#define FB_ACCEL_MATROX_MGA2164W_AGP 19 /* Matrox MGA2164W (Millenium II) */
-#define FB_ACCEL_MATROX_MGAG100 20 /* Matrox G100 (Productiva G100) */
-#define FB_ACCEL_MATROX_MGAG200 21 /* Matrox G200 (Myst, Mill, ...) */
-#define FB_ACCEL_SUN_CG14 22 /* Sun cgfourteen */
-#define FB_ACCEL_SUN_BWTWO 23 /* Sun bwtwo */
-#define FB_ACCEL_SUN_CGTHREE 24 /* Sun cgthree */
-#define FB_ACCEL_SUN_TCX 25 /* Sun tcx */
-#define FB_ACCEL_MATROX_MGAG400 26 /* Matrox G400 */
-#define FB_ACCEL_NV3 27 /* nVidia RIVA 128 */
-#define FB_ACCEL_NV4 28 /* nVidia RIVA TNT */
-#define FB_ACCEL_NV5 29 /* nVidia RIVA TNT2 */
-#define FB_ACCEL_CT_6555x 30 /* C&T 6555x */
-#define FB_ACCEL_3DFX_BANSHEE 31 /* 3Dfx Banshee */
-#define FB_ACCEL_ATI_RAGE128 32 /* ATI Rage128 family */
-#define FB_ACCEL_IGS_CYBER2000 33 /* CyberPro 2000 */
-#define FB_ACCEL_IGS_CYBER2010 34 /* CyberPro 2010 */
-#define FB_ACCEL_IGS_CYBER5000 35 /* CyberPro 5000 */
-#define FB_ACCEL_SIS_GLAMOUR 36 /* SiS 300/630/540 */
-#define FB_ACCEL_3DLABS_PERMEDIA3 37 /* 3Dlabs Permedia 3 */
-#define FB_ACCEL_ATI_RADEON 38 /* ATI Radeon family */
-#define FB_ACCEL_I810 39 /* Intel 810/815 */
-#define FB_ACCEL_SIS_GLAMOUR_2 40 /* SiS 315, 650, 740 */
-#define FB_ACCEL_SIS_XABRE 41 /* SiS 330 ("Xabre") */
-#define FB_ACCEL_I830 42 /* Intel 830M/845G/85x/865G */
-#define FB_ACCEL_NV_10 43 /* nVidia Arch 10 */
-#define FB_ACCEL_NV_20 44 /* nVidia Arch 20 */
-#define FB_ACCEL_NV_30 45 /* nVidia Arch 30 */
-#define FB_ACCEL_NV_40 46 /* nVidia Arch 40 */
-#define FB_ACCEL_XGI_VOLARI_V 47 /* XGI Volari V3XT, V5, V8 */
-#define FB_ACCEL_XGI_VOLARI_Z 48 /* XGI Volari Z7 */
-#define FB_ACCEL_OMAP1610 49 /* TI OMAP16xx */
-#define FB_ACCEL_TRIDENT_TGUI 50 /* Trident TGUI */
-#define FB_ACCEL_TRIDENT_3DIMAGE 51 /* Trident 3DImage */
-#define FB_ACCEL_TRIDENT_BLADE3D 52 /* Trident Blade3D */
-#define FB_ACCEL_TRIDENT_BLADEXP 53 /* Trident BladeXP */
-#define FB_ACCEL_CIRRUS_ALPINE 53 /* Cirrus Logic 543x/544x/5480 */
-#define FB_ACCEL_NEOMAGIC_NM2070 90 /* NeoMagic NM2070 */
-#define FB_ACCEL_NEOMAGIC_NM2090 91 /* NeoMagic NM2090 */
-#define FB_ACCEL_NEOMAGIC_NM2093 92 /* NeoMagic NM2093 */
-#define FB_ACCEL_NEOMAGIC_NM2097 93 /* NeoMagic NM2097 */
-#define FB_ACCEL_NEOMAGIC_NM2160 94 /* NeoMagic NM2160 */
-#define FB_ACCEL_NEOMAGIC_NM2200 95 /* NeoMagic NM2200 */
-#define FB_ACCEL_NEOMAGIC_NM2230 96 /* NeoMagic NM2230 */
-#define FB_ACCEL_NEOMAGIC_NM2360 97 /* NeoMagic NM2360 */
-#define FB_ACCEL_NEOMAGIC_NM2380 98 /* NeoMagic NM2380 */
-#define FB_ACCEL_PXA3XX 99 /* PXA3xx */
-
-#define FB_ACCEL_SAVAGE4 0x80 /* S3 Savage4 */
-#define FB_ACCEL_SAVAGE3D 0x81 /* S3 Savage3D */
-#define FB_ACCEL_SAVAGE3D_MV 0x82 /* S3 Savage3D-MV */
-#define FB_ACCEL_SAVAGE2000 0x83 /* S3 Savage2000 */
-#define FB_ACCEL_SAVAGE_MX_MV 0x84 /* S3 Savage/MX-MV */
-#define FB_ACCEL_SAVAGE_MX 0x85 /* S3 Savage/MX */
-#define FB_ACCEL_SAVAGE_IX_MV 0x86 /* S3 Savage/IX-MV */
-#define FB_ACCEL_SAVAGE_IX 0x87 /* S3 Savage/IX */
-#define FB_ACCEL_PROSAVAGE_PM 0x88 /* S3 ProSavage PM133 */
-#define FB_ACCEL_PROSAVAGE_KM 0x89 /* S3 ProSavage KM133 */
-#define FB_ACCEL_S3TWISTER_P 0x8a /* S3 Twister */
-#define FB_ACCEL_S3TWISTER_K 0x8b /* S3 TwisterK */
-#define FB_ACCEL_SUPERSAVAGE 0x8c /* S3 Supersavage */
-#define FB_ACCEL_PROSAVAGE_DDR 0x8d /* S3 ProSavage DDR */
-#define FB_ACCEL_PROSAVAGE_DDRK 0x8e /* S3 ProSavage DDR-K */
-
-#define FB_ACCEL_PUV3_UNIGFX 0xa0 /* PKUnity-v3 Unigfx */
-
-#define FB_CAP_FOURCC 1 /* Device supports FOURCC-based formats */
-
-struct fb_fix_screeninfo {
- char id[16]; /* identification string eg "TT Builtin" */
- unsigned long smem_start; /* Start of frame buffer mem */
- /* (physical address) */
- __u32 smem_len; /* Length of frame buffer mem */
- __u32 type; /* see FB_TYPE_* */
- __u32 type_aux; /* Interleave for interleaved Planes */
- __u32 visual; /* see FB_VISUAL_* */
- __u16 xpanstep; /* zero if no hardware panning */
- __u16 ypanstep; /* zero if no hardware panning */
- __u16 ywrapstep; /* zero if no hardware ywrap */
- __u32 line_length; /* length of a line in bytes */
- unsigned long mmio_start; /* Start of Memory Mapped I/O */
- /* (physical address) */
- __u32 mmio_len; /* Length of Memory Mapped I/O */
- __u32 accel; /* Indicate to driver which */
- /* specific chip/card we have */
- __u16 capabilities; /* see FB_CAP_* */
- __u16 reserved[2]; /* Reserved for future compatibility */
-};
-
-/* Interpretation of offset for color fields: All offsets are from the right,
- * inside a "pixel" value, which is exactly 'bits_per_pixel' wide (means: you
- * can use the offset as right argument to <<). A pixel afterwards is a bit
- * stream and is written to video memory as that unmodified.
- *
- * For pseudocolor: offset and length should be the same for all color
- * components. Offset specifies the position of the least significant bit
- * of the pallette index in a pixel value. Length indicates the number
- * of available palette entries (i.e. # of entries = 1 << length).
- */
-struct fb_bitfield {
- __u32 offset; /* beginning of bitfield */
- __u32 length; /* length of bitfield */
- __u32 msb_right; /* != 0 : Most significant bit is */
- /* right */
-};
-
-#define FB_NONSTD_HAM 1 /* Hold-And-Modify (HAM) */
-#define FB_NONSTD_REV_PIX_IN_B 2 /* order of pixels in each byte is reversed */
-
-#define FB_ACTIVATE_NOW 0 /* set values immediately (or vbl)*/
-#define FB_ACTIVATE_NXTOPEN 1 /* activate on next open */
-#define FB_ACTIVATE_TEST 2 /* don't set, round up impossible */
-#define FB_ACTIVATE_MASK 15
- /* values */
-#define FB_ACTIVATE_VBL 16 /* activate values on next vbl */
-#define FB_CHANGE_CMAP_VBL 32 /* change colormap on vbl */
-#define FB_ACTIVATE_ALL 64 /* change all VCs on this fb */
-#define FB_ACTIVATE_FORCE 128 /* force apply even when no change*/
-#define FB_ACTIVATE_INV_MODE 256 /* invalidate videomode */
-
-#define FB_ACCELF_TEXT 1 /* (OBSOLETE) see fb_info.flags and vc_mode */
-
-#define FB_SYNC_HOR_HIGH_ACT 1 /* horizontal sync high active */
-#define FB_SYNC_VERT_HIGH_ACT 2 /* vertical sync high active */
-#define FB_SYNC_EXT 4 /* external sync */
-#define FB_SYNC_COMP_HIGH_ACT 8 /* composite sync high active */
-#define FB_SYNC_BROADCAST 16 /* broadcast video timings */
- /* vtotal = 144d/288n/576i => PAL */
- /* vtotal = 121d/242n/484i => NTSC */
-#define FB_SYNC_ON_GREEN 32 /* sync on green */
-
-#define FB_VMODE_NONINTERLACED 0 /* non interlaced */
-#define FB_VMODE_INTERLACED 1 /* interlaced */
-#define FB_VMODE_DOUBLE 2 /* double scan */
-#define FB_VMODE_ODD_FLD_FIRST 4 /* interlaced: top line first */
-#define FB_VMODE_MASK 255
-
-#define FB_VMODE_YWRAP 256 /* ywrap instead of panning */
-#define FB_VMODE_SMOOTH_XPAN 512 /* smooth xpan possible (internally used) */
-#define FB_VMODE_CONUPDATE 512 /* don't update x/yoffset */
-
-/*
- * Display rotation support
- */
-#define FB_ROTATE_UR 0
-#define FB_ROTATE_CW 1
-#define FB_ROTATE_UD 2
-#define FB_ROTATE_CCW 3
-
-#define PICOS2KHZ(a) (1000000000UL/(a))
-#define KHZ2PICOS(a) (1000000000UL/(a))
-
-struct fb_var_screeninfo {
- __u32 xres; /* visible resolution */
- __u32 yres;
- __u32 xres_virtual; /* virtual resolution */
- __u32 yres_virtual;
- __u32 xoffset; /* offset from virtual to visible */
- __u32 yoffset; /* resolution */
-
- __u32 bits_per_pixel; /* guess what */
- __u32 grayscale; /* 0 = color, 1 = grayscale, */
- /* >1 = FOURCC */
- struct fb_bitfield red; /* bitfield in fb mem if true color, */
- struct fb_bitfield green; /* else only length is significant */
- struct fb_bitfield blue;
- struct fb_bitfield transp; /* transparency */
-
- __u32 nonstd; /* != 0 Non standard pixel format */
-
- __u32 activate; /* see FB_ACTIVATE_* */
-
- __u32 height; /* height of picture in mm */
- __u32 width; /* width of picture in mm */
-
- __u32 accel_flags; /* (OBSOLETE) see fb_info.flags */
-
- /* Timing: All values in pixclocks, except pixclock (of course) */
- __u32 pixclock; /* pixel clock in ps (pico seconds) */
- __u32 left_margin; /* time from sync to picture */
- __u32 right_margin; /* time from picture to sync */
- __u32 upper_margin; /* time from sync to picture */
- __u32 lower_margin;
- __u32 hsync_len; /* length of horizontal sync */
- __u32 vsync_len; /* length of vertical sync */
- __u32 sync; /* see FB_SYNC_* */
- __u32 vmode; /* see FB_VMODE_* */
- __u32 rotate; /* angle we rotate counter clockwise */
- __u32 colorspace; /* colorspace for FOURCC-based modes */
- __u32 reserved[4]; /* Reserved for future compatibility */
-};
-
-struct fb_cmap {
- __u32 start; /* First entry */
- __u32 len; /* Number of entries */
- __u16 *red; /* Red values */
- __u16 *green;
- __u16 *blue;
- __u16 *transp; /* transparency, can be NULL */
-};
-
-struct fb_con2fbmap {
- __u32 console;
- __u32 framebuffer;
-};
-
-/* VESA Blanking Levels */
-#define VESA_NO_BLANKING 0
-#define VESA_VSYNC_SUSPEND 1
-#define VESA_HSYNC_SUSPEND 2
-#define VESA_POWERDOWN 3
-
-
-enum {
- /* screen: unblanked, hsync: on, vsync: on */
- FB_BLANK_UNBLANK = VESA_NO_BLANKING,
-
- /* screen: blanked, hsync: on, vsync: on */
- FB_BLANK_NORMAL = VESA_NO_BLANKING + 1,
-
- /* screen: blanked, hsync: on, vsync: off */
- FB_BLANK_VSYNC_SUSPEND = VESA_VSYNC_SUSPEND + 1,
-
- /* screen: blanked, hsync: off, vsync: on */
- FB_BLANK_HSYNC_SUSPEND = VESA_HSYNC_SUSPEND + 1,
-
- /* screen: blanked, hsync: off, vsync: off */
- FB_BLANK_POWERDOWN = VESA_POWERDOWN + 1
-};
-
-#define FB_VBLANK_VBLANKING 0x001 /* currently in a vertical blank */
-#define FB_VBLANK_HBLANKING 0x002 /* currently in a horizontal blank */
-#define FB_VBLANK_HAVE_VBLANK 0x004 /* vertical blanks can be detected */
-#define FB_VBLANK_HAVE_HBLANK 0x008 /* horizontal blanks can be detected */
-#define FB_VBLANK_HAVE_COUNT 0x010 /* global retrace counter is available */
-#define FB_VBLANK_HAVE_VCOUNT 0x020 /* the vcount field is valid */
-#define FB_VBLANK_HAVE_HCOUNT 0x040 /* the hcount field is valid */
-#define FB_VBLANK_VSYNCING 0x080 /* currently in a vsync */
-#define FB_VBLANK_HAVE_VSYNC 0x100 /* verical syncs can be detected */
-
-struct fb_vblank {
- __u32 flags; /* FB_VBLANK flags */
- __u32 count; /* counter of retraces since boot */
- __u32 vcount; /* current scanline position */
- __u32 hcount; /* current scandot position */
- __u32 reserved[4]; /* reserved for future compatibility */
-};
-
-/* Internal HW accel */
-#define ROP_COPY 0
-#define ROP_XOR 1
-
-struct fb_copyarea {
- __u32 dx;
- __u32 dy;
- __u32 width;
- __u32 height;
- __u32 sx;
- __u32 sy;
-};
-
-struct fb_fillrect {
- __u32 dx; /* screen-relative */
- __u32 dy;
- __u32 width;
- __u32 height;
- __u32 color;
- __u32 rop;
-};
-
-struct fb_image {
- __u32 dx; /* Where to place image */
- __u32 dy;
- __u32 width; /* Size of image */
- __u32 height;
- __u32 fg_color; /* Only used when a mono bitmap */
- __u32 bg_color;
- __u8 depth; /* Depth of the image */
- const char *data; /* Pointer to image data */
- struct fb_cmap cmap; /* color map info */
-};
-
-/*
- * hardware cursor control
- */
-
-#define FB_CUR_SETIMAGE 0x01
-#define FB_CUR_SETPOS 0x02
-#define FB_CUR_SETHOT 0x04
-#define FB_CUR_SETCMAP 0x08
-#define FB_CUR_SETSHAPE 0x10
-#define FB_CUR_SETSIZE 0x20
-#define FB_CUR_SETALL 0xFF
-
-struct fbcurpos {
- __u16 x, y;
-};
-
-struct fb_cursor {
- __u16 set; /* what to set */
- __u16 enable; /* cursor on/off */
- __u16 rop; /* bitop operation */
- const char *mask; /* cursor mask bits */
- struct fbcurpos hot; /* cursor hot spot */
- struct fb_image image; /* Cursor image */
-};
-
-#ifdef CONFIG_FB_BACKLIGHT
-/* Settings for the generic backlight code */
-#define FB_BACKLIGHT_LEVELS 128
-#define FB_BACKLIGHT_MAX 0xFF
-#endif
-
-
-#endif /* _LINUX_FB_H */
diff --git a/linux-headers/include/linux/fcntl.h b/linux-headers/include/linux/fcntl.h
deleted file mode 100644
index 01379c5..0000000
--- a/linux-headers/include/linux/fcntl.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef _LINUX_FCNTL_H
-#define _LINUX_FCNTL_H
-
-#include <asm/fcntl.h>
-
-#define F_SETLEASE (F_LINUX_SPECIFIC_BASE + 0)
-#define F_GETLEASE (F_LINUX_SPECIFIC_BASE + 1)
-
-/*
- * Cancel a blocking posix lock; internal use only until we expose an
- * asynchronous lock api to userspace:
- */
-#define F_CANCELLK (F_LINUX_SPECIFIC_BASE + 5)
-
-/* Create a file descriptor with FD_CLOEXEC set. */
-#define F_DUPFD_CLOEXEC (F_LINUX_SPECIFIC_BASE + 6)
-
-/*
- * Request nofications on a directory.
- * See below for events that may be notified.
- */
-#define F_NOTIFY (F_LINUX_SPECIFIC_BASE+2)
-
-/*
- * Set and get of pipe page size array
- */
-#define F_SETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 7)
-#define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8)
-
-/*
- * Set/Get seals
- */
-#define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9)
-#define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10)
-
-/*
- * Types of seals
- */
-#define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */
-#define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */
-#define F_SEAL_GROW 0x0004 /* prevent file from growing */
-#define F_SEAL_WRITE 0x0008 /* prevent writes */
-/* (1U << 31) is reserved for signed error codes */
-
-/*
- * Types of directory notifications that may be requested.
- */
-#define DN_ACCESS 0x00000001 /* File accessed */
-#define DN_MODIFY 0x00000002 /* File modified */
-#define DN_CREATE 0x00000004 /* File created */
-#define DN_DELETE 0x00000008 /* File removed */
-#define DN_RENAME 0x00000010 /* File renamed */
-#define DN_ATTRIB 0x00000020 /* File changed attibutes */
-#define DN_MULTISHOT 0x80000000 /* Don't remove notifier */
-
-#define AT_FDCWD -100 /* Special value used to indicate
- openat should use the current
- working directory. */
-#define AT_SYMLINK_NOFOLLOW 0x100 /* Do not follow symbolic links. */
-#define AT_REMOVEDIR 0x200 /* Remove directory instead of
- unlinking file. */
-#define AT_SYMLINK_FOLLOW 0x400 /* Follow symbolic links. */
-#define AT_NO_AUTOMOUNT 0x800 /* Suppress terminal automount traversal */
-#define AT_EMPTY_PATH 0x1000 /* Allow empty relative pathname */
-
-
-#endif /* _LINUX_FCNTL_H */
diff --git a/linux-headers/include/linux/fd.h b/linux-headers/include/linux/fd.h
deleted file mode 100644
index 06975d7..0000000
--- a/linux-headers/include/linux/fd.h
+++ /dev/null
@@ -1,383 +0,0 @@
-#ifndef _LINUX_FD_H
-#define _LINUX_FD_H
-
-#include <linux/ioctl.h>
-
-
-/* New file layout: Now the ioctl definitions immediately follow the
- * definitions of the structures that they use */
-
-/*
- * Geometry
- */
-struct floppy_struct {
- unsigned int size, /* nr of sectors total */
- sect, /* sectors per track */
- head, /* nr of heads */
- track, /* nr of tracks */
- stretch; /* bit 0 !=0 means double track steps */
- /* bit 1 != 0 means swap sides */
- /* bits 2..9 give the first sector */
- /* number (the LSB is flipped) */
-#define FD_STRETCH 1
-#define FD_SWAPSIDES 2
-#define FD_ZEROBASED 4
-#define FD_SECTBASEMASK 0x3FC
-#define FD_MKSECTBASE(s) (((s) ^ 1) << 2)
-#define FD_SECTBASE(floppy) ((((floppy)->stretch & FD_SECTBASEMASK) >> 2) ^ 1)
-
- unsigned char gap, /* gap1 size */
-
- rate, /* data rate. |= 0x40 for perpendicular */
-#define FD_2M 0x4
-#define FD_SIZECODEMASK 0x38
-#define FD_SIZECODE(floppy) (((((floppy)->rate&FD_SIZECODEMASK)>> 3)+ 2) %8)
-#define FD_SECTSIZE(floppy) ( (floppy)->rate & FD_2M ? \
- 512 : 128 << FD_SIZECODE(floppy) )
-#define FD_PERP 0x40
-
- spec1, /* stepping rate, head unload time */
- fmt_gap; /* gap2 size */
- const char * name; /* used only for predefined formats */
-};
-
-
-/* commands needing write access have 0x40 set */
-/* commands needing super user access have 0x80 set */
-
-#define FDCLRPRM _IO(2, 0x41)
-/* clear user-defined parameters */
-
-#define FDSETPRM _IOW(2, 0x42, struct floppy_struct)
-#define FDSETMEDIAPRM FDSETPRM
-/* set user-defined parameters for current media */
-
-#define FDDEFPRM _IOW(2, 0x43, struct floppy_struct)
-#define FDGETPRM _IOR(2, 0x04, struct floppy_struct)
-#define FDDEFMEDIAPRM FDDEFPRM
-#define FDGETMEDIAPRM FDGETPRM
-/* set/get disk parameters */
-
-
-#define FDMSGON _IO(2,0x45)
-#define FDMSGOFF _IO(2,0x46)
-/* issue/don't issue kernel messages on media type change */
-
-
-/*
- * Formatting (obsolete)
- */
-#define FD_FILL_BYTE 0xF6 /* format fill byte. */
-
-struct format_descr {
- unsigned int device,head,track;
-};
-
-#define FDFMTBEG _IO(2,0x47)
-/* begin formatting a disk */
-#define FDFMTTRK _IOW(2,0x48, struct format_descr)
-/* format the specified track */
-#define FDFMTEND _IO(2,0x49)
-/* end formatting a disk */
-
-
-/*
- * Error thresholds
- */
-struct floppy_max_errors {
- unsigned int
- abort, /* number of errors to be reached before aborting */
- read_track, /* maximal number of errors permitted to read an
- * entire track at once */
- reset, /* maximal number of errors before a reset is tried */
- recal, /* maximal number of errors before a recalibrate is
- * tried */
-
- /*
- * Threshold for reporting FDC errors to the console.
- * Setting this to zero may flood your screen when using
- * ultra cheap floppies ;-)
- */
- reporting;
-
-};
-
-#define FDSETEMSGTRESH _IO(2,0x4a)
-/* set fdc error reporting threshold */
-
-#define FDFLUSH _IO(2,0x4b)
-/* flush buffers for media; either for verifying media, or for
- * handling a media change without closing the file descriptor */
-
-#define FDSETMAXERRS _IOW(2, 0x4c, struct floppy_max_errors)
-#define FDGETMAXERRS _IOR(2, 0x0e, struct floppy_max_errors)
-/* set/get abortion and read_track threshold. See also floppy_drive_params
- * structure */
-
-
-typedef char floppy_drive_name[16];
-#define FDGETDRVTYP _IOR(2, 0x0f, floppy_drive_name)
-/* get drive type: 5 1/4 or 3 1/2 */
-
-
-/*
- * Drive parameters (user modifiable)
- */
-struct floppy_drive_params {
- signed char cmos; /* CMOS type */
-
- /* Spec2 is (HLD<<1 | ND), where HLD is head load time (1=2ms, 2=4 ms
- * etc) and ND is set means no DMA. Hardcoded to 6 (HLD=6ms, use DMA).
- */
- unsigned long max_dtr; /* Step rate, usec */
- unsigned long hlt; /* Head load/settle time, msec */
- unsigned long hut; /* Head unload time (remnant of
- * 8" drives) */
- unsigned long srt; /* Step rate, usec */
-
- unsigned long spinup; /* time needed for spinup (expressed
- * in jiffies) */
- unsigned long spindown; /* timeout needed for spindown */
- unsigned char spindown_offset; /* decides in which position the disk
- * will stop */
- unsigned char select_delay; /* delay to wait after select */
- unsigned char rps; /* rotations per second */
- unsigned char tracks; /* maximum number of tracks */
- unsigned long timeout; /* timeout for interrupt requests */
-
- unsigned char interleave_sect; /* if there are more sectors, use
- * interleave */
-
- struct floppy_max_errors max_errors;
-
- char flags; /* various flags, including ftd_msg */
-/*
- * Announce successful media type detection and media information loss after
- * disk changes.
- * Also used to enable/disable printing of overrun warnings.
- */
-
-#define FTD_MSG 0x10
-#define FD_BROKEN_DCL 0x20
-#define FD_DEBUG 0x02
-#define FD_SILENT_DCL_CLEAR 0x4
-#define FD_INVERTED_DCL 0x80 /* must be 0x80, because of hardware
- considerations */
-
- char read_track; /* use readtrack during probing? */
-
-/*
- * Auto-detection. Each drive type has eight formats which are
- * used in succession to try to read the disk. If the FDC cannot lock onto
- * the disk, the next format is tried. This uses the variable 'probing'.
- */
- short autodetect[8]; /* autodetected formats */
-
- int checkfreq; /* how often should the drive be checked for disk
- * changes */
- int native_format; /* native format of this drive */
-};
-
-enum {
- FD_NEED_TWADDLE_BIT, /* more magic */
- FD_VERIFY_BIT, /* inquire for write protection */
- FD_DISK_NEWCHANGE_BIT, /* change detected, and no action undertaken yet
- * to clear media change status */
- FD_UNUSED_BIT,
- FD_DISK_CHANGED_BIT, /* disk has been changed since last i/o */
- FD_DISK_WRITABLE_BIT, /* disk is writable */
- FD_OPEN_SHOULD_FAIL_BIT
-};
-
-#define FDSETDRVPRM _IOW(2, 0x90, struct floppy_drive_params)
-#define FDGETDRVPRM _IOR(2, 0x11, struct floppy_drive_params)
-/* set/get drive parameters */
-
-
-/*
- * Current drive state (not directly modifiable by user, readonly)
- */
-struct floppy_drive_struct {
- unsigned long flags;
-/* values for these flags */
-#define FD_NEED_TWADDLE (1 << FD_NEED_TWADDLE_BIT)
-#define FD_VERIFY (1 << FD_VERIFY_BIT)
-#define FD_DISK_NEWCHANGE (1 << FD_DISK_NEWCHANGE_BIT)
-#define FD_DISK_CHANGED (1 << FD_DISK_CHANGED_BIT)
-#define FD_DISK_WRITABLE (1 << FD_DISK_WRITABLE_BIT)
-
- unsigned long spinup_date;
- unsigned long select_date;
- unsigned long first_read_date;
- short probed_format;
- short track; /* current track */
- short maxblock; /* id of highest block read */
- short maxtrack; /* id of highest half track read */
- int generation; /* how many diskchanges? */
-
-/*
- * (User-provided) media information is _not_ discarded after a media change
- * if the corresponding keep_data flag is non-zero. Positive values are
- * decremented after each probe.
- */
- int keep_data;
-
- /* Prevent "aliased" accesses. */
- int fd_ref;
- int fd_device;
- unsigned long last_checked; /* when was the drive last checked for a disk
- * change? */
-
- char *dmabuf;
- int bufblocks;
-};
-
-#define FDGETDRVSTAT _IOR(2, 0x12, struct floppy_drive_struct)
-#define FDPOLLDRVSTAT _IOR(2, 0x13, struct floppy_drive_struct)
-/* get drive state: GET returns the cached state, POLL polls for new state */
-
-
-/*
- * reset FDC
- */
-enum reset_mode {
- FD_RESET_IF_NEEDED, /* reset only if the reset flags is set */
- FD_RESET_IF_RAWCMD, /* obsolete */
- FD_RESET_ALWAYS /* reset always */
-};
-#define FDRESET _IO(2, 0x54)
-
-
-/*
- * FDC state
- */
-struct floppy_fdc_state {
- int spec1; /* spec1 value last used */
- int spec2; /* spec2 value last used */
- int dtr;
- unsigned char version; /* FDC version code */
- unsigned char dor;
- unsigned long address; /* io address */
- unsigned int rawcmd:2;
- unsigned int reset:1;
- unsigned int need_configure:1;
- unsigned int perp_mode:2;
- unsigned int has_fifo:1;
- unsigned int driver_version; /* version code for floppy driver */
-#define FD_DRIVER_VERSION 0x100
-/* user programs using the floppy API should use floppy_fdc_state to
- * get the version number of the floppy driver that they are running
- * on. If this version number is bigger than the one compiled into the
- * user program (the FD_DRIVER_VERSION define), it should be prepared
- * to bigger structures
- */
-
- unsigned char track[4];
- /* Position of the heads of the 4 units attached to this FDC,
- * as stored on the FDC. In the future, the position as stored
- * on the FDC might not agree with the actual physical
- * position of these drive heads. By allowing such
- * disagreement, it will be possible to reset the FDC without
- * incurring the expensive cost of repositioning all heads.
- * Right now, these positions are hard wired to 0. */
-
-};
-
-#define FDGETFDCSTAT _IOR(2, 0x15, struct floppy_fdc_state)
-
-
-/*
- * Asynchronous Write error tracking
- */
-struct floppy_write_errors {
- /* Write error logging.
- *
- * These fields can be cleared with the FDWERRORCLR ioctl.
- * Only writes that were attempted but failed due to a physical media
- * error are logged. write(2) calls that fail and return an error code
- * to the user process are not counted.
- */
-
- unsigned int write_errors; /* number of physical write errors
- * encountered */
-
- /* position of first and last write errors */
- unsigned long first_error_sector;
- int first_error_generation;
- unsigned long last_error_sector;
- int last_error_generation;
-
- unsigned int badness; /* highest retry count for a read or write
- * operation */
-};
-
-#define FDWERRORCLR _IO(2, 0x56)
-/* clear write error and badness information */
-#define FDWERRORGET _IOR(2, 0x17, struct floppy_write_errors)
-/* get write error and badness information */
-
-
-/*
- * Raw commands
- */
-/* new interface flag: now we can do them in batches */
-#define FDHAVEBATCHEDRAWCMD
-
-struct floppy_raw_cmd {
- unsigned int flags;
-#define FD_RAW_READ 1
-#define FD_RAW_WRITE 2
-#define FD_RAW_NO_MOTOR 4
-#define FD_RAW_DISK_CHANGE 4 /* out: disk change flag was set */
-#define FD_RAW_INTR 8 /* wait for an interrupt */
-#define FD_RAW_SPIN 0x10 /* spin up the disk for this command */
-#define FD_RAW_NO_MOTOR_AFTER 0x20 /* switch the motor off after command
- * completion */
-#define FD_RAW_NEED_DISK 0x40 /* this command needs a disk to be present */
-#define FD_RAW_NEED_SEEK 0x80 /* this command uses an implied seek (soft) */
-
-/* more "in" flags */
-#define FD_RAW_MORE 0x100 /* more records follow */
-#define FD_RAW_STOP_IF_FAILURE 0x200 /* stop if we encounter a failure */
-#define FD_RAW_STOP_IF_SUCCESS 0x400 /* stop if command successful */
-#define FD_RAW_SOFTFAILURE 0x800 /* consider the return value for failure
- * detection too */
-
-/* more "out" flags */
-#define FD_RAW_FAILURE 0x10000 /* command sent to fdc, fdc returned error */
-#define FD_RAW_HARDFAILURE 0x20000 /* fdc had to be reset, or timed out */
-
- void *data;
- char *kernel_data; /* location of data buffer in the kernel */
- struct floppy_raw_cmd *next; /* used for chaining of raw cmd's
- * within the kernel */
- long length; /* in: length of dma transfer. out: remaining bytes */
- long phys_length; /* physical length, if different from dma length */
- int buffer_length; /* length of allocated buffer */
-
- unsigned char rate;
- unsigned char cmd_count;
- unsigned char cmd[16];
- unsigned char reply_count;
- unsigned char reply[16];
- int track;
- int resultcode;
-
- int reserved1;
- int reserved2;
-};
-
-#define FDRAWCMD _IO(2, 0x58)
-/* send a raw command to the fdc. Structure size not included, because of
- * batches */
-
-#define FDTWADDLE _IO(2, 0x59)
-/* flicker motor-on bit before reading a sector. Experimental */
-
-
-#define FDEJECT _IO(2, 0x5a)
-/* eject the disk */
-
-
-
-#endif /* _LINUX_FD_H */
diff --git a/linux-headers/include/linux/fdreg.h b/linux-headers/include/linux/fdreg.h
deleted file mode 100644
index 61ce641..0000000
--- a/linux-headers/include/linux/fdreg.h
+++ /dev/null
@@ -1,137 +0,0 @@
-#ifndef _LINUX_FDREG_H
-#define _LINUX_FDREG_H
-/*
- * This file contains some defines for the floppy disk controller.
- * Various sources. Mostly "IBM Microcomputers: A Programmers
- * Handbook", Sanches and Canton.
- */
-
-#ifdef FDPATCHES
-#define FD_IOPORT fdc_state[fdc].address
-#else
-/* It would be a lot saner just to force fdc_state[fdc].address to always
- be set ! FIXME */
-#define FD_IOPORT 0x3f0
-#endif
-
-/* Fd controller regs. S&C, about page 340 */
-#define FD_STATUS (4 + FD_IOPORT )
-#define FD_DATA (5 + FD_IOPORT )
-
-/* Digital Output Register */
-#define FD_DOR (2 + FD_IOPORT )
-
-/* Digital Input Register (read) */
-#define FD_DIR (7 + FD_IOPORT )
-
-/* Diskette Control Register (write)*/
-#define FD_DCR (7 + FD_IOPORT )
-
-/* Bits of main status register */
-#define STATUS_BUSYMASK 0x0F /* drive busy mask */
-#define STATUS_BUSY 0x10 /* FDC busy */
-#define STATUS_DMA 0x20 /* 0- DMA mode */
-#define STATUS_DIR 0x40 /* 0- cpu->fdc */
-#define STATUS_READY 0x80 /* Data reg ready */
-
-/* Bits of FD_ST0 */
-#define ST0_DS 0x03 /* drive select mask */
-#define ST0_HA 0x04 /* Head (Address) */
-#define ST0_NR 0x08 /* Not Ready */
-#define ST0_ECE 0x10 /* Equipment check error */
-#define ST0_SE 0x20 /* Seek end */
-#define ST0_INTR 0xC0 /* Interrupt code mask */
-
-/* Bits of FD_ST1 */
-#define ST1_MAM 0x01 /* Missing Address Mark */
-#define ST1_WP 0x02 /* Write Protect */
-#define ST1_ND 0x04 /* No Data - unreadable */
-#define ST1_OR 0x10 /* OverRun */
-#define ST1_CRC 0x20 /* CRC error in data or addr */
-#define ST1_EOC 0x80 /* End Of Cylinder */
-
-/* Bits of FD_ST2 */
-#define ST2_MAM 0x01 /* Missing Address Mark (again) */
-#define ST2_BC 0x02 /* Bad Cylinder */
-#define ST2_SNS 0x04 /* Scan Not Satisfied */
-#define ST2_SEH 0x08 /* Scan Equal Hit */
-#define ST2_WC 0x10 /* Wrong Cylinder */
-#define ST2_CRC 0x20 /* CRC error in data field */
-#define ST2_CM 0x40 /* Control Mark = deleted */
-
-/* Bits of FD_ST3 */
-#define ST3_HA 0x04 /* Head (Address) */
-#define ST3_DS 0x08 /* drive is double-sided */
-#define ST3_TZ 0x10 /* Track Zero signal (1=track 0) */
-#define ST3_RY 0x20 /* drive is ready */
-#define ST3_WP 0x40 /* Write Protect */
-#define ST3_FT 0x80 /* Drive Fault */
-
-/* Values for FD_COMMAND */
-#define FD_RECALIBRATE 0x07 /* move to track 0 */
-#define FD_SEEK 0x0F /* seek track */
-#define FD_READ 0xE6 /* read with MT, MFM, SKip deleted */
-#define FD_WRITE 0xC5 /* write with MT, MFM */
-#define FD_SENSEI 0x08 /* Sense Interrupt Status */
-#define FD_SPECIFY 0x03 /* specify HUT etc */
-#define FD_FORMAT 0x4D /* format one track */
-#define FD_VERSION 0x10 /* get version code */
-#define FD_CONFIGURE 0x13 /* configure FIFO operation */
-#define FD_PERPENDICULAR 0x12 /* perpendicular r/w mode */
-#define FD_GETSTATUS 0x04 /* read ST3 */
-#define FD_DUMPREGS 0x0E /* dump the contents of the fdc regs */
-#define FD_READID 0xEA /* prints the header of a sector */
-#define FD_UNLOCK 0x14 /* Fifo config unlock */
-#define FD_LOCK 0x94 /* Fifo config lock */
-#define FD_RSEEK_OUT 0x8f /* seek out (i.e. to lower tracks) */
-#define FD_RSEEK_IN 0xcf /* seek in (i.e. to higher tracks) */
-
-/* the following commands are new in the 82078. They are not used in the
- * floppy driver, except the first three. These commands may be useful for apps
- * which use the FDRAWCMD interface. For doc, get the 82078 spec sheets at
- * http://www.intel.com/design/archives/periphrl/docs/29046803.htm */
-
-#define FD_PARTID 0x18 /* part id ("extended" version cmd) */
-#define FD_SAVE 0x2e /* save fdc regs for later restore */
-#define FD_DRIVESPEC 0x8e /* drive specification: Access to the
- * 2 Mbps data transfer rate for tape
- * drives */
-
-#define FD_RESTORE 0x4e /* later restore */
-#define FD_POWERDOWN 0x27 /* configure FDC's powersave features */
-#define FD_FORMAT_N_WRITE 0xef /* format and write in one go. */
-#define FD_OPTION 0x33 /* ISO format (which is a clean way to
- * pack more sectors on a track) */
-
-/* DMA commands */
-#define DMA_READ 0x46
-#define DMA_WRITE 0x4A
-
-/* FDC version return types */
-#define FDC_NONE 0x00
-#define FDC_UNKNOWN 0x10 /* DO NOT USE THIS TYPE EXCEPT IF IDENTIFICATION
- FAILS EARLY */
-#define FDC_8272A 0x20 /* Intel 8272a, NEC 765 */
-#define FDC_765ED 0x30 /* Non-Intel 1MB-compatible FDC, can't detect */
-#define FDC_82072 0x40 /* Intel 82072; 8272a + FIFO + DUMPREGS */
-#define FDC_82072A 0x45 /* 82072A (on Sparcs) */
-#define FDC_82077_ORIG 0x51 /* Original version of 82077AA, sans LOCK */
-#define FDC_82077 0x52 /* 82077AA-1 */
-#define FDC_82078_UNKN 0x5f /* Unknown 82078 variant */
-#define FDC_82078 0x60 /* 44pin 82078 or 64pin 82078SL */
-#define FDC_82078_1 0x61 /* 82078-1 (2Mbps fdc) */
-#define FDC_S82078B 0x62 /* S82078B (first seen on Adaptec AVA-2825 VLB
- * SCSI/EIDE/Floppy controller) */
-#define FDC_87306 0x63 /* National Semiconductor PC 87306 */
-
-/*
- * Beware: the fdc type list is roughly sorted by increasing features.
- * Presence of features is tested by comparing the FDC version id with the
- * "oldest" version that has the needed feature.
- * If during FDC detection, an obscure test fails late in the sequence, don't
- * assign FDC_UNKNOWN. Else the FDC will be treated as a dumb 8272a, or worse.
- * This is especially true if the tests are unneeded.
- */
-
-#define FD_RESET_DELAY 20
-#endif
diff --git a/linux-headers/include/linux/fib_rules.h b/linux-headers/include/linux/fib_rules.h
deleted file mode 100644
index 96161b8..0000000
--- a/linux-headers/include/linux/fib_rules.h
+++ /dev/null
@@ -1,72 +0,0 @@
-#ifndef __LINUX_FIB_RULES_H
-#define __LINUX_FIB_RULES_H
-
-#include <linux/types.h>
-#include <linux/rtnetlink.h>
-
-/* rule is permanent, and cannot be deleted */
-#define FIB_RULE_PERMANENT 0x00000001
-#define FIB_RULE_INVERT 0x00000002
-#define FIB_RULE_UNRESOLVED 0x00000004
-#define FIB_RULE_IIF_DETACHED 0x00000008
-#define FIB_RULE_DEV_DETACHED FIB_RULE_IIF_DETACHED
-#define FIB_RULE_OIF_DETACHED 0x00000010
-
-/* try to find source address in routing lookups */
-#define FIB_RULE_FIND_SADDR 0x00010000
-
-struct fib_rule_hdr {
- __u8 family;
- __u8 dst_len;
- __u8 src_len;
- __u8 tos;
-
- __u8 table;
- __u8 res1; /* reserved */
- __u8 res2; /* reserved */
- __u8 action;
-
- __u32 flags;
-};
-
-enum {
- FRA_UNSPEC,
- FRA_DST, /* destination address */
- FRA_SRC, /* source address */
- FRA_IIFNAME, /* interface name */
-#define FRA_IFNAME FRA_IIFNAME
- FRA_GOTO, /* target to jump to (FR_ACT_GOTO) */
- FRA_UNUSED2,
- FRA_PRIORITY, /* priority/preference */
- FRA_UNUSED3,
- FRA_UNUSED4,
- FRA_UNUSED5,
- FRA_FWMARK, /* mark */
- FRA_FLOW, /* flow/class id */
- FRA_TUN_ID,
- FRA_SUPPRESS_IFGROUP,
- FRA_SUPPRESS_PREFIXLEN,
- FRA_TABLE, /* Extended table id */
- FRA_FWMASK, /* mask for netfilter mark */
- FRA_OIFNAME,
- __FRA_MAX
-};
-
-#define FRA_MAX (__FRA_MAX - 1)
-
-enum {
- FR_ACT_UNSPEC,
- FR_ACT_TO_TBL, /* Pass to fixed table */
- FR_ACT_GOTO, /* Jump to another rule */
- FR_ACT_NOP, /* No operation */
- FR_ACT_RES3,
- FR_ACT_RES4,
- FR_ACT_BLACKHOLE, /* Drop without notification */
- FR_ACT_UNREACHABLE, /* Drop with ENETUNREACH */
- FR_ACT_PROHIBIT, /* Drop with EACCES */
- __FR_ACT_MAX,
-};
-
-#define FR_ACT_MAX (__FR_ACT_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/fiemap.h b/linux-headers/include/linux/fiemap.h
deleted file mode 100644
index 0c51d61..0000000
--- a/linux-headers/include/linux/fiemap.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * FS_IOC_FIEMAP ioctl infrastructure.
- *
- * Some portions copyright (C) 2007 Cluster File Systems, Inc
- *
- * Authors: Mark Fasheh <mfasheh@suse.com>
- * Kalpak Shah <kalpak.shah@sun.com>
- * Andreas Dilger <adilger@sun.com>
- */
-
-#ifndef _LINUX_FIEMAP_H
-#define _LINUX_FIEMAP_H
-
-#include <linux/types.h>
-
-struct fiemap_extent {
- __u64 fe_logical; /* logical offset in bytes for the start of
- * the extent from the beginning of the file */
- __u64 fe_physical; /* physical offset in bytes for the start
- * of the extent from the beginning of the disk */
- __u64 fe_length; /* length in bytes for this extent */
- __u64 fe_reserved64[2];
- __u32 fe_flags; /* FIEMAP_EXTENT_* flags for this extent */
- __u32 fe_reserved[3];
-};
-
-struct fiemap {
- __u64 fm_start; /* logical offset (inclusive) at
- * which to start mapping (in) */
- __u64 fm_length; /* logical length of mapping which
- * userspace wants (in) */
- __u32 fm_flags; /* FIEMAP_FLAG_* flags for request (in/out) */
- __u32 fm_mapped_extents;/* number of extents that were mapped (out) */
- __u32 fm_extent_count; /* size of fm_extents array (in) */
- __u32 fm_reserved;
- struct fiemap_extent fm_extents[0]; /* array of mapped extents (out) */
-};
-
-#define FIEMAP_MAX_OFFSET (~0ULL)
-
-#define FIEMAP_FLAG_SYNC 0x00000001 /* sync file data before map */
-#define FIEMAP_FLAG_XATTR 0x00000002 /* map extended attribute tree */
-#define FIEMAP_FLAG_CACHE 0x00000004 /* request caching of the extents */
-
-#define FIEMAP_FLAGS_COMPAT (FIEMAP_FLAG_SYNC | FIEMAP_FLAG_XATTR)
-
-#define FIEMAP_EXTENT_LAST 0x00000001 /* Last extent in file. */
-#define FIEMAP_EXTENT_UNKNOWN 0x00000002 /* Data location unknown. */
-#define FIEMAP_EXTENT_DELALLOC 0x00000004 /* Location still pending.
- * Sets EXTENT_UNKNOWN. */
-#define FIEMAP_EXTENT_ENCODED 0x00000008 /* Data can not be read
- * while fs is unmounted */
-#define FIEMAP_EXTENT_DATA_ENCRYPTED 0x00000080 /* Data is encrypted by fs.
- * Sets EXTENT_NO_BYPASS. */
-#define FIEMAP_EXTENT_NOT_ALIGNED 0x00000100 /* Extent offsets may not be
- * block aligned. */
-#define FIEMAP_EXTENT_DATA_INLINE 0x00000200 /* Data mixed with metadata.
- * Sets EXTENT_NOT_ALIGNED.*/
-#define FIEMAP_EXTENT_DATA_TAIL 0x00000400 /* Multiple files in block.
- * Sets EXTENT_NOT_ALIGNED.*/
-#define FIEMAP_EXTENT_UNWRITTEN 0x00000800 /* Space allocated, but
- * no data (i.e. zero). */
-#define FIEMAP_EXTENT_MERGED 0x00001000 /* File does not natively
- * support extents. Result
- * merged for efficiency. */
-#define FIEMAP_EXTENT_SHARED 0x00002000 /* Space shared with other
- * files. */
-
-#endif /* _LINUX_FIEMAP_H */
diff --git a/linux-headers/include/linux/filter.h b/linux-headers/include/linux/filter.h
deleted file mode 100644
index e4f2f74..0000000
--- a/linux-headers/include/linux/filter.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- * Linux Socket Filter Data Structures
- */
-
-#ifndef __LINUX_FILTER_H__
-#define __LINUX_FILTER_H__
-
-
-#include <linux/types.h>
-#include <linux/bpf_common.h>
-
-/*
- * Current version of the filter code architecture.
- */
-#define BPF_MAJOR_VERSION 1
-#define BPF_MINOR_VERSION 1
-
-/*
- * Try and keep these values and structures similar to BSD, especially
- * the BPF code definitions which need to match so you can share filters
- */
-
-struct sock_filter { /* Filter block */
- __u16 code; /* Actual filter code */
- __u8 jt; /* Jump true */
- __u8 jf; /* Jump false */
- __u32 k; /* Generic multiuse field */
-};
-
-struct sock_fprog { /* Required for SO_ATTACH_FILTER. */
- unsigned short len; /* Number of filter blocks */
- struct sock_filter *filter;
-};
-
-/* ret - BPF_K and BPF_X also apply */
-#define BPF_RVAL(code) ((code) & 0x18)
-#define BPF_A 0x10
-
-/* misc */
-#define BPF_MISCOP(code) ((code) & 0xf8)
-#define BPF_TAX 0x00
-#define BPF_TXA 0x80
-
-/*
- * Macros for filter block array initializers.
- */
-#ifndef BPF_STMT
-#define BPF_STMT(code, k) { (unsigned short)(code), 0, 0, k }
-#endif
-#ifndef BPF_JUMP
-#define BPF_JUMP(code, k, jt, jf) { (unsigned short)(code), jt, jf, k }
-#endif
-
-/*
- * Number of scratch memory words for: BPF_ST and BPF_STX
- */
-#define BPF_MEMWORDS 16
-
-/* RATIONALE. Negative offsets are invalid in BPF.
- We use them to reference ancillary data.
- Unlike introduction new instructions, it does not break
- existing compilers/optimizers.
- */
-#define SKF_AD_OFF (-0x1000)
-#define SKF_AD_PROTOCOL 0
-#define SKF_AD_PKTTYPE 4
-#define SKF_AD_IFINDEX 8
-#define SKF_AD_NLATTR 12
-#define SKF_AD_NLATTR_NEST 16
-#define SKF_AD_MARK 20
-#define SKF_AD_QUEUE 24
-#define SKF_AD_HATYPE 28
-#define SKF_AD_RXHASH 32
-#define SKF_AD_CPU 36
-#define SKF_AD_ALU_XOR_X 40
-#define SKF_AD_VLAN_TAG 44
-#define SKF_AD_VLAN_TAG_PRESENT 48
-#define SKF_AD_PAY_OFFSET 52
-#define SKF_AD_RANDOM 56
-#define SKF_AD_VLAN_TPID 60
-#define SKF_AD_MAX 64
-
-#define SKF_NET_OFF (-0x100000)
-#define SKF_LL_OFF (-0x200000)
-
-#define BPF_NET_OFF SKF_NET_OFF
-#define BPF_LL_OFF SKF_LL_OFF
-
-#endif /* __LINUX_FILTER_H__ */
diff --git a/linux-headers/include/linux/firewire-cdev.h b/linux-headers/include/linux/firewire-cdev.h
deleted file mode 100644
index 1db453e..0000000
--- a/linux-headers/include/linux/firewire-cdev.h
+++ /dev/null
@@ -1,1039 +0,0 @@
-/*
- * Char device interface.
- *
- * Copyright (C) 2005-2007 Kristian Hoegsberg <krh@bitplanet.net>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _LINUX_FIREWIRE_CDEV_H
-#define _LINUX_FIREWIRE_CDEV_H
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-#include <linux/firewire-constants.h>
-
-/* available since kernel version 2.6.22 */
-#define FW_CDEV_EVENT_BUS_RESET 0x00
-#define FW_CDEV_EVENT_RESPONSE 0x01
-#define FW_CDEV_EVENT_REQUEST 0x02
-#define FW_CDEV_EVENT_ISO_INTERRUPT 0x03
-
-/* available since kernel version 2.6.30 */
-#define FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED 0x04
-#define FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED 0x05
-
-/* available since kernel version 2.6.36 */
-#define FW_CDEV_EVENT_REQUEST2 0x06
-#define FW_CDEV_EVENT_PHY_PACKET_SENT 0x07
-#define FW_CDEV_EVENT_PHY_PACKET_RECEIVED 0x08
-#define FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL 0x09
-
-/**
- * struct fw_cdev_event_common - Common part of all fw_cdev_event_ types
- * @closure: For arbitrary use by userspace
- * @type: Discriminates the fw_cdev_event_ types
- *
- * This struct may be used to access generic members of all fw_cdev_event_
- * types regardless of the specific type.
- *
- * Data passed in the @closure field for a request will be returned in the
- * corresponding event. It is big enough to hold a pointer on all platforms.
- * The ioctl used to set @closure depends on the @type of event.
- */
-struct fw_cdev_event_common {
- __u64 closure;
- __u32 type;
-};
-
-/**
- * struct fw_cdev_event_bus_reset - Sent when a bus reset occurred
- * @closure: See &fw_cdev_event_common; set by %FW_CDEV_IOC_GET_INFO ioctl
- * @type: See &fw_cdev_event_common; always %FW_CDEV_EVENT_BUS_RESET
- * @node_id: New node ID of this node
- * @local_node_id: Node ID of the local node, i.e. of the controller
- * @bm_node_id: Node ID of the bus manager
- * @irm_node_id: Node ID of the iso resource manager
- * @root_node_id: Node ID of the root node
- * @generation: New bus generation
- *
- * This event is sent when the bus the device belongs to goes through a bus
- * reset. It provides information about the new bus configuration, such as
- * new node ID for this device, new root ID, and others.
- *
- * If @bm_node_id is 0xffff right after bus reset it can be reread by an
- * %FW_CDEV_IOC_GET_INFO ioctl after bus manager selection was finished.
- * Kernels with ABI version < 4 do not set @bm_node_id.
- */
-struct fw_cdev_event_bus_reset {
- __u64 closure;
- __u32 type;
- __u32 node_id;
- __u32 local_node_id;
- __u32 bm_node_id;
- __u32 irm_node_id;
- __u32 root_node_id;
- __u32 generation;
-};
-
-/**
- * struct fw_cdev_event_response - Sent when a response packet was received
- * @closure: See &fw_cdev_event_common; set by %FW_CDEV_IOC_SEND_REQUEST
- * or %FW_CDEV_IOC_SEND_BROADCAST_REQUEST
- * or %FW_CDEV_IOC_SEND_STREAM_PACKET ioctl
- * @type: See &fw_cdev_event_common; always %FW_CDEV_EVENT_RESPONSE
- * @rcode: Response code returned by the remote node
- * @length: Data length, i.e. the response's payload size in bytes
- * @data: Payload data, if any
- *
- * This event is sent when the stack receives a response to an outgoing request
- * sent by %FW_CDEV_IOC_SEND_REQUEST ioctl. The payload data for responses
- * carrying data (read and lock responses) follows immediately and can be
- * accessed through the @data field.
- *
- * The event is also generated after conclusions of transactions that do not
- * involve response packets. This includes unified write transactions,
- * broadcast write transactions, and transmission of asynchronous stream
- * packets. @rcode indicates success or failure of such transmissions.
- */
-struct fw_cdev_event_response {
- __u64 closure;
- __u32 type;
- __u32 rcode;
- __u32 length;
- __u32 data[0];
-};
-
-/**
- * struct fw_cdev_event_request - Old version of &fw_cdev_event_request2
- * @type: See &fw_cdev_event_common; always %FW_CDEV_EVENT_REQUEST
- *
- * This event is sent instead of &fw_cdev_event_request2 if the kernel or
- * the client implements ABI version <= 3. &fw_cdev_event_request lacks
- * essential information; use &fw_cdev_event_request2 instead.
- */
-struct fw_cdev_event_request {
- __u64 closure;
- __u32 type;
- __u32 tcode;
- __u64 offset;
- __u32 handle;
- __u32 length;
- __u32 data[0];
-};
-
-/**
- * struct fw_cdev_event_request2 - Sent on incoming request to an address region
- * @closure: See &fw_cdev_event_common; set by %FW_CDEV_IOC_ALLOCATE ioctl
- * @type: See &fw_cdev_event_common; always %FW_CDEV_EVENT_REQUEST2
- * @tcode: Transaction code of the incoming request
- * @offset: The offset into the 48-bit per-node address space
- * @source_node_id: Sender node ID
- * @destination_node_id: Destination node ID
- * @card: The index of the card from which the request came
- * @generation: Bus generation in which the request is valid
- * @handle: Reference to the kernel-side pending request
- * @length: Data length, i.e. the request's payload size in bytes
- * @data: Incoming data, if any
- *
- * This event is sent when the stack receives an incoming request to an address
- * region registered using the %FW_CDEV_IOC_ALLOCATE ioctl. The request is
- * guaranteed to be completely contained in the specified region. Userspace is
- * responsible for sending the response by %FW_CDEV_IOC_SEND_RESPONSE ioctl,
- * using the same @handle.
- *
- * The payload data for requests carrying data (write and lock requests)
- * follows immediately and can be accessed through the @data field.
- *
- * Unlike &fw_cdev_event_request, @tcode of lock requests is one of the
- * firewire-core specific %TCODE_LOCK_MASK_SWAP...%TCODE_LOCK_VENDOR_DEPENDENT,
- * i.e. encodes the extended transaction code.
- *
- * @card may differ from &fw_cdev_get_info.card because requests are received
- * from all cards of the Linux host. @source_node_id, @destination_node_id, and
- * @generation pertain to that card. Destination node ID and bus generation may
- * therefore differ from the corresponding fields of the last
- * &fw_cdev_event_bus_reset.
- *
- * @destination_node_id may also differ from the current node ID because of a
- * non-local bus ID part or in case of a broadcast write request. Note, a
- * client must call an %FW_CDEV_IOC_SEND_RESPONSE ioctl even in case of a
- * broadcast write request; the kernel will then release the kernel-side pending
- * request but will not actually send a response packet.
- *
- * In case of a write request to FCP_REQUEST or FCP_RESPONSE, the kernel already
- * sent a write response immediately after the request was received; in this
- * case the client must still call an %FW_CDEV_IOC_SEND_RESPONSE ioctl to
- * release the kernel-side pending request, though another response won't be
- * sent.
- *
- * If the client subsequently needs to initiate requests to the sender node of
- * an &fw_cdev_event_request2, it needs to use a device file with matching
- * card index, node ID, and generation for outbound requests.
- */
-struct fw_cdev_event_request2 {
- __u64 closure;
- __u32 type;
- __u32 tcode;
- __u64 offset;
- __u32 source_node_id;
- __u32 destination_node_id;
- __u32 card;
- __u32 generation;
- __u32 handle;
- __u32 length;
- __u32 data[0];
-};
-
-/**
- * struct fw_cdev_event_iso_interrupt - Sent when an iso packet was completed
- * @closure: See &fw_cdev_event_common;
- * set by %FW_CDEV_CREATE_ISO_CONTEXT ioctl
- * @type: See &fw_cdev_event_common; always %FW_CDEV_EVENT_ISO_INTERRUPT
- * @cycle: Cycle counter of the last completed packet
- * @header_length: Total length of following headers, in bytes
- * @header: Stripped headers, if any
- *
- * This event is sent when the controller has completed an &fw_cdev_iso_packet
- * with the %FW_CDEV_ISO_INTERRUPT bit set, when explicitly requested with
- * %FW_CDEV_IOC_FLUSH_ISO, or when there have been so many completed packets
- * without the interrupt bit set that the kernel's internal buffer for @header
- * is about to overflow. (In the last case, ABI versions < 5 drop header data
- * up to the next interrupt packet.)
- *
- * Isochronous transmit events (context type %FW_CDEV_ISO_CONTEXT_TRANSMIT):
- *
- * In version 3 and some implementations of version 2 of the ABI, &header_length
- * is a multiple of 4 and &header contains timestamps of all packets up until
- * the interrupt packet. The format of the timestamps is as described below for
- * isochronous reception. In version 1 of the ABI, &header_length was 0.
- *
- * Isochronous receive events (context type %FW_CDEV_ISO_CONTEXT_RECEIVE):
- *
- * The headers stripped of all packets up until and including the interrupt
- * packet are returned in the @header field. The amount of header data per
- * packet is as specified at iso context creation by
- * &fw_cdev_create_iso_context.header_size.
- *
- * Hence, _interrupt.header_length / _context.header_size is the number of
- * packets received in this interrupt event. The client can now iterate
- * through the mmap()'ed DMA buffer according to this number of packets and
- * to the buffer sizes as the client specified in &fw_cdev_queue_iso.
- *
- * Since version 2 of this ABI, the portion for each packet in _interrupt.header
- * consists of the 1394 isochronous packet header, followed by a timestamp
- * quadlet if &fw_cdev_create_iso_context.header_size > 4, followed by quadlets
- * from the packet payload if &fw_cdev_create_iso_context.header_size > 8.
- *
- * Format of 1394 iso packet header: 16 bits data_length, 2 bits tag, 6 bits
- * channel, 4 bits tcode, 4 bits sy, in big endian byte order.
- * data_length is the actual received size of the packet without the four
- * 1394 iso packet header bytes.
- *
- * Format of timestamp: 16 bits invalid, 3 bits cycleSeconds, 13 bits
- * cycleCount, in big endian byte order.
- *
- * In version 1 of the ABI, no timestamp quadlet was inserted; instead, payload
- * data followed directly after the 1394 is header if header_size > 4.
- * Behaviour of ver. 1 of this ABI is no longer available since ABI ver. 2.
- */
-struct fw_cdev_event_iso_interrupt {
- __u64 closure;
- __u32 type;
- __u32 cycle;
- __u32 header_length;
- __u32 header[0];
-};
-
-/**
- * struct fw_cdev_event_iso_interrupt_mc - An iso buffer chunk was completed
- * @closure: See &fw_cdev_event_common;
- * set by %FW_CDEV_CREATE_ISO_CONTEXT ioctl
- * @type: %FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL
- * @completed: Offset into the receive buffer; data before this offset is valid
- *
- * This event is sent in multichannel contexts (context type
- * %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL) for &fw_cdev_iso_packet buffer
- * chunks that have been completely filled and that have the
- * %FW_CDEV_ISO_INTERRUPT bit set, or when explicitly requested with
- * %FW_CDEV_IOC_FLUSH_ISO.
- *
- * The buffer is continuously filled with the following data, per packet:
- * - the 1394 iso packet header as described at &fw_cdev_event_iso_interrupt,
- * but in little endian byte order,
- * - packet payload (as many bytes as specified in the data_length field of
- * the 1394 iso packet header) in big endian byte order,
- * - 0...3 padding bytes as needed to align the following trailer quadlet,
- * - trailer quadlet, containing the reception timestamp as described at
- * &fw_cdev_event_iso_interrupt, but in little endian byte order.
- *
- * Hence the per-packet size is data_length (rounded up to a multiple of 4) + 8.
- * When processing the data, stop before a packet that would cross the
- * @completed offset.
- *
- * A packet near the end of a buffer chunk will typically spill over into the
- * next queued buffer chunk. It is the responsibility of the client to check
- * for this condition, assemble a broken-up packet from its parts, and not to
- * re-queue any buffer chunks in which as yet unread packet parts reside.
- */
-struct fw_cdev_event_iso_interrupt_mc {
- __u64 closure;
- __u32 type;
- __u32 completed;
-};
-
-/**
- * struct fw_cdev_event_iso_resource - Iso resources were allocated or freed
- * @closure: See &fw_cdev_event_common;
- * set by %FW_CDEV_IOC_(DE)ALLOCATE_ISO_RESOURCE(_ONCE) ioctl
- * @type: %FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED or
- * %FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED
- * @handle: Reference by which an allocated resource can be deallocated
- * @channel: Isochronous channel which was (de)allocated, if any
- * @bandwidth: Bandwidth allocation units which were (de)allocated, if any
- *
- * An %FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED event is sent after an isochronous
- * resource was allocated at the IRM. The client has to check @channel and
- * @bandwidth for whether the allocation actually succeeded.
- *
- * An %FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED event is sent after an isochronous
- * resource was deallocated at the IRM. It is also sent when automatic
- * reallocation after a bus reset failed.
- *
- * @channel is <0 if no channel was (de)allocated or if reallocation failed.
- * @bandwidth is 0 if no bandwidth was (de)allocated or if reallocation failed.
- */
-struct fw_cdev_event_iso_resource {
- __u64 closure;
- __u32 type;
- __u32 handle;
- __s32 channel;
- __s32 bandwidth;
-};
-
-/**
- * struct fw_cdev_event_phy_packet - A PHY packet was transmitted or received
- * @closure: See &fw_cdev_event_common; set by %FW_CDEV_IOC_SEND_PHY_PACKET
- * or %FW_CDEV_IOC_RECEIVE_PHY_PACKETS ioctl
- * @type: %FW_CDEV_EVENT_PHY_PACKET_SENT or %..._RECEIVED
- * @rcode: %RCODE_..., indicates success or failure of transmission
- * @length: Data length in bytes
- * @data: Incoming data
- *
- * If @type is %FW_CDEV_EVENT_PHY_PACKET_SENT, @length is 0 and @data empty,
- * except in case of a ping packet: Then, @length is 4, and @data[0] is the
- * ping time in 49.152MHz clocks if @rcode is %RCODE_COMPLETE.
- *
- * If @type is %FW_CDEV_EVENT_PHY_PACKET_RECEIVED, @length is 8 and @data
- * consists of the two PHY packet quadlets, in host byte order.
- */
-struct fw_cdev_event_phy_packet {
- __u64 closure;
- __u32 type;
- __u32 rcode;
- __u32 length;
- __u32 data[0];
-};
-
-/**
- * union fw_cdev_event - Convenience union of fw_cdev_event_ types
- * @common: Valid for all types
- * @bus_reset: Valid if @common.type == %FW_CDEV_EVENT_BUS_RESET
- * @response: Valid if @common.type == %FW_CDEV_EVENT_RESPONSE
- * @request: Valid if @common.type == %FW_CDEV_EVENT_REQUEST
- * @request2: Valid if @common.type == %FW_CDEV_EVENT_REQUEST2
- * @iso_interrupt: Valid if @common.type == %FW_CDEV_EVENT_ISO_INTERRUPT
- * @iso_interrupt_mc: Valid if @common.type ==
- * %FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL
- * @iso_resource: Valid if @common.type ==
- * %FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED or
- * %FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED
- * @phy_packet: Valid if @common.type ==
- * %FW_CDEV_EVENT_PHY_PACKET_SENT or
- * %FW_CDEV_EVENT_PHY_PACKET_RECEIVED
- *
- * Convenience union for userspace use. Events could be read(2) into an
- * appropriately aligned char buffer and then cast to this union for further
- * processing. Note that for a request, response or iso_interrupt event,
- * the data[] or header[] may make the size of the full event larger than
- * sizeof(union fw_cdev_event). Also note that if you attempt to read(2)
- * an event into a buffer that is not large enough for it, the data that does
- * not fit will be discarded so that the next read(2) will return a new event.
- */
-union fw_cdev_event {
- struct fw_cdev_event_common common;
- struct fw_cdev_event_bus_reset bus_reset;
- struct fw_cdev_event_response response;
- struct fw_cdev_event_request request;
- struct fw_cdev_event_request2 request2; /* added in 2.6.36 */
- struct fw_cdev_event_iso_interrupt iso_interrupt;
- struct fw_cdev_event_iso_interrupt_mc iso_interrupt_mc; /* added in 2.6.36 */
- struct fw_cdev_event_iso_resource iso_resource; /* added in 2.6.30 */
- struct fw_cdev_event_phy_packet phy_packet; /* added in 2.6.36 */
-};
-
-/* available since kernel version 2.6.22 */
-#define FW_CDEV_IOC_GET_INFO _IOWR('#', 0x00, struct fw_cdev_get_info)
-#define FW_CDEV_IOC_SEND_REQUEST _IOW('#', 0x01, struct fw_cdev_send_request)
-#define FW_CDEV_IOC_ALLOCATE _IOWR('#', 0x02, struct fw_cdev_allocate)
-#define FW_CDEV_IOC_DEALLOCATE _IOW('#', 0x03, struct fw_cdev_deallocate)
-#define FW_CDEV_IOC_SEND_RESPONSE _IOW('#', 0x04, struct fw_cdev_send_response)
-#define FW_CDEV_IOC_INITIATE_BUS_RESET _IOW('#', 0x05, struct fw_cdev_initiate_bus_reset)
-#define FW_CDEV_IOC_ADD_DESCRIPTOR _IOWR('#', 0x06, struct fw_cdev_add_descriptor)
-#define FW_CDEV_IOC_REMOVE_DESCRIPTOR _IOW('#', 0x07, struct fw_cdev_remove_descriptor)
-#define FW_CDEV_IOC_CREATE_ISO_CONTEXT _IOWR('#', 0x08, struct fw_cdev_create_iso_context)
-#define FW_CDEV_IOC_QUEUE_ISO _IOWR('#', 0x09, struct fw_cdev_queue_iso)
-#define FW_CDEV_IOC_START_ISO _IOW('#', 0x0a, struct fw_cdev_start_iso)
-#define FW_CDEV_IOC_STOP_ISO _IOW('#', 0x0b, struct fw_cdev_stop_iso)
-
-/* available since kernel version 2.6.24 */
-#define FW_CDEV_IOC_GET_CYCLE_TIMER _IOR('#', 0x0c, struct fw_cdev_get_cycle_timer)
-
-/* available since kernel version 2.6.30 */
-#define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE _IOWR('#', 0x0d, struct fw_cdev_allocate_iso_resource)
-#define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE _IOW('#', 0x0e, struct fw_cdev_deallocate)
-#define FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x0f, struct fw_cdev_allocate_iso_resource)
-#define FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE _IOW('#', 0x10, struct fw_cdev_allocate_iso_resource)
-#define FW_CDEV_IOC_GET_SPEED _IO('#', 0x11) /* returns speed code */
-#define FW_CDEV_IOC_SEND_BROADCAST_REQUEST _IOW('#', 0x12, struct fw_cdev_send_request)
-#define FW_CDEV_IOC_SEND_STREAM_PACKET _IOW('#', 0x13, struct fw_cdev_send_stream_packet)
-
-/* available since kernel version 2.6.34 */
-#define FW_CDEV_IOC_GET_CYCLE_TIMER2 _IOWR('#', 0x14, struct fw_cdev_get_cycle_timer2)
-
-/* available since kernel version 2.6.36 */
-#define FW_CDEV_IOC_SEND_PHY_PACKET _IOWR('#', 0x15, struct fw_cdev_send_phy_packet)
-#define FW_CDEV_IOC_RECEIVE_PHY_PACKETS _IOW('#', 0x16, struct fw_cdev_receive_phy_packets)
-#define FW_CDEV_IOC_SET_ISO_CHANNELS _IOW('#', 0x17, struct fw_cdev_set_iso_channels)
-
-/* available since kernel version 3.4 */
-#define FW_CDEV_IOC_FLUSH_ISO _IOW('#', 0x18, struct fw_cdev_flush_iso)
-
-/*
- * ABI version history
- * 1 (2.6.22) - initial version
- * (2.6.24) - added %FW_CDEV_IOC_GET_CYCLE_TIMER
- * 2 (2.6.30) - changed &fw_cdev_event_iso_interrupt.header if
- * &fw_cdev_create_iso_context.header_size is 8 or more
- * - added %FW_CDEV_IOC_*_ISO_RESOURCE*,
- * %FW_CDEV_IOC_GET_SPEED, %FW_CDEV_IOC_SEND_BROADCAST_REQUEST,
- * %FW_CDEV_IOC_SEND_STREAM_PACKET
- * (2.6.32) - added time stamp to xmit &fw_cdev_event_iso_interrupt
- * (2.6.33) - IR has always packet-per-buffer semantics now, not one of
- * dual-buffer or packet-per-buffer depending on hardware
- * - shared use and auto-response for FCP registers
- * 3 (2.6.34) - made &fw_cdev_get_cycle_timer reliable
- * - added %FW_CDEV_IOC_GET_CYCLE_TIMER2
- * 4 (2.6.36) - added %FW_CDEV_EVENT_REQUEST2, %FW_CDEV_EVENT_PHY_PACKET_*,
- * and &fw_cdev_allocate.region_end
- * - implemented &fw_cdev_event_bus_reset.bm_node_id
- * - added %FW_CDEV_IOC_SEND_PHY_PACKET, _RECEIVE_PHY_PACKETS
- * - added %FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL,
- * %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL, and
- * %FW_CDEV_IOC_SET_ISO_CHANNELS
- * 5 (3.4) - send %FW_CDEV_EVENT_ISO_INTERRUPT events when needed to
- * avoid dropping data
- * - added %FW_CDEV_IOC_FLUSH_ISO
- */
-
-/**
- * struct fw_cdev_get_info - General purpose information ioctl
- * @version: The version field is just a running serial number. Both an
- * input parameter (ABI version implemented by the client) and
- * output parameter (ABI version implemented by the kernel).
- * A client shall fill in the ABI @version for which the client
- * was implemented. This is necessary for forward compatibility.
- * @rom_length: If @rom is non-zero, up to @rom_length bytes of Configuration
- * ROM will be copied into that user space address. In either
- * case, @rom_length is updated with the actual length of the
- * Configuration ROM.
- * @rom: If non-zero, address of a buffer to be filled by a copy of the
- * device's Configuration ROM
- * @bus_reset: If non-zero, address of a buffer to be filled by a
- * &struct fw_cdev_event_bus_reset with the current state
- * of the bus. This does not cause a bus reset to happen.
- * @bus_reset_closure: Value of &closure in this and subsequent bus reset events
- * @card: The index of the card this device belongs to
- *
- * The %FW_CDEV_IOC_GET_INFO ioctl is usually the very first one which a client
- * performs right after it opened a /dev/fw* file.
- *
- * As a side effect, reception of %FW_CDEV_EVENT_BUS_RESET events to be read(2)
- * is started by this ioctl.
- */
-struct fw_cdev_get_info {
- __u32 version;
- __u32 rom_length;
- __u64 rom;
- __u64 bus_reset;
- __u64 bus_reset_closure;
- __u32 card;
-};
-
-/**
- * struct fw_cdev_send_request - Send an asynchronous request packet
- * @tcode: Transaction code of the request
- * @length: Length of outgoing payload, in bytes
- * @offset: 48-bit offset at destination node
- * @closure: Passed back to userspace in the response event
- * @data: Userspace pointer to payload
- * @generation: The bus generation where packet is valid
- *
- * Send a request to the device. This ioctl implements all outgoing requests.
- * Both quadlet and block request specify the payload as a pointer to the data
- * in the @data field. Once the transaction completes, the kernel writes an
- * &fw_cdev_event_response event back. The @closure field is passed back to
- * user space in the response event.
- */
-struct fw_cdev_send_request {
- __u32 tcode;
- __u32 length;
- __u64 offset;
- __u64 closure;
- __u64 data;
- __u32 generation;
-};
-
-/**
- * struct fw_cdev_send_response - Send an asynchronous response packet
- * @rcode: Response code as determined by the userspace handler
- * @length: Length of outgoing payload, in bytes
- * @data: Userspace pointer to payload
- * @handle: The handle from the &fw_cdev_event_request
- *
- * Send a response to an incoming request. By setting up an address range using
- * the %FW_CDEV_IOC_ALLOCATE ioctl, userspace can listen for incoming requests. An
- * incoming request will generate an %FW_CDEV_EVENT_REQUEST, and userspace must
- * send a reply using this ioctl. The event has a handle to the kernel-side
- * pending transaction, which should be used with this ioctl.
- */
-struct fw_cdev_send_response {
- __u32 rcode;
- __u32 length;
- __u64 data;
- __u32 handle;
-};
-
-/**
- * struct fw_cdev_allocate - Allocate a CSR in an address range
- * @offset: Start offset of the address range
- * @closure: To be passed back to userspace in request events
- * @length: Length of the CSR, in bytes
- * @handle: Handle to the allocation, written by the kernel
- * @region_end: First address above the address range (added in ABI v4, 2.6.36)
- *
- * Allocate an address range in the 48-bit address space on the local node
- * (the controller). This allows userspace to listen for requests with an
- * offset within that address range. Every time when the kernel receives a
- * request within the range, an &fw_cdev_event_request2 event will be emitted.
- * (If the kernel or the client implements ABI version <= 3, an
- * &fw_cdev_event_request will be generated instead.)
- *
- * The @closure field is passed back to userspace in these request events.
- * The @handle field is an out parameter, returning a handle to the allocated
- * range to be used for later deallocation of the range.
- *
- * The address range is allocated on all local nodes. The address allocation
- * is exclusive except for the FCP command and response registers. If an
- * exclusive address region is already in use, the ioctl fails with errno set
- * to %EBUSY.
- *
- * If kernel and client implement ABI version >= 4, the kernel looks up a free
- * spot of size @length inside [@offset..@region_end) and, if found, writes
- * the start address of the new CSR back in @offset. I.e. @offset is an
- * in and out parameter. If this automatic placement of a CSR in a bigger
- * address range is not desired, the client simply needs to set @region_end
- * = @offset + @length.
- *
- * If the kernel or the client implements ABI version <= 3, @region_end is
- * ignored and effectively assumed to be @offset + @length.
- *
- * @region_end is only present in a kernel header >= 2.6.36. If necessary,
- * this can for example be tested by #ifdef FW_CDEV_EVENT_REQUEST2.
- */
-struct fw_cdev_allocate {
- __u64 offset;
- __u64 closure;
- __u32 length;
- __u32 handle;
- __u64 region_end; /* available since kernel version 2.6.36 */
-};
-
-/**
- * struct fw_cdev_deallocate - Free a CSR address range or isochronous resource
- * @handle: Handle to the address range or iso resource, as returned by the
- * kernel when the range or resource was allocated
- */
-struct fw_cdev_deallocate {
- __u32 handle;
-};
-
-#define FW_CDEV_LONG_RESET 0
-#define FW_CDEV_SHORT_RESET 1
-
-/**
- * struct fw_cdev_initiate_bus_reset - Initiate a bus reset
- * @type: %FW_CDEV_SHORT_RESET or %FW_CDEV_LONG_RESET
- *
- * Initiate a bus reset for the bus this device is on. The bus reset can be
- * either the original (long) bus reset or the arbitrated (short) bus reset
- * introduced in 1394a-2000.
- *
- * The ioctl returns immediately. A subsequent &fw_cdev_event_bus_reset
- * indicates when the reset actually happened. Since ABI v4, this may be
- * considerably later than the ioctl because the kernel ensures a grace period
- * between subsequent bus resets as per IEEE 1394 bus management specification.
- */
-struct fw_cdev_initiate_bus_reset {
- __u32 type;
-};
-
-/**
- * struct fw_cdev_add_descriptor - Add contents to the local node's config ROM
- * @immediate: If non-zero, immediate key to insert before pointer
- * @key: Upper 8 bits of root directory pointer
- * @data: Userspace pointer to contents of descriptor block
- * @length: Length of descriptor block data, in quadlets
- * @handle: Handle to the descriptor, written by the kernel
- *
- * Add a descriptor block and optionally a preceding immediate key to the local
- * node's Configuration ROM.
- *
- * The @key field specifies the upper 8 bits of the descriptor root directory
- * pointer and the @data and @length fields specify the contents. The @key
- * should be of the form 0xXX000000. The offset part of the root directory entry
- * will be filled in by the kernel.
- *
- * If not 0, the @immediate field specifies an immediate key which will be
- * inserted before the root directory pointer.
- *
- * @immediate, @key, and @data array elements are CPU-endian quadlets.
- *
- * If successful, the kernel adds the descriptor and writes back a @handle to
- * the kernel-side object to be used for later removal of the descriptor block
- * and immediate key. The kernel will also generate a bus reset to signal the
- * change of the Configuration ROM to other nodes.
- *
- * This ioctl affects the Configuration ROMs of all local nodes.
- * The ioctl only succeeds on device files which represent a local node.
- */
-struct fw_cdev_add_descriptor {
- __u32 immediate;
- __u32 key;
- __u64 data;
- __u32 length;
- __u32 handle;
-};
-
-/**
- * struct fw_cdev_remove_descriptor - Remove contents from the Configuration ROM
- * @handle: Handle to the descriptor, as returned by the kernel when the
- * descriptor was added
- *
- * Remove a descriptor block and accompanying immediate key from the local
- * nodes' Configuration ROMs. The kernel will also generate a bus reset to
- * signal the change of the Configuration ROM to other nodes.
- */
-struct fw_cdev_remove_descriptor {
- __u32 handle;
-};
-
-#define FW_CDEV_ISO_CONTEXT_TRANSMIT 0
-#define FW_CDEV_ISO_CONTEXT_RECEIVE 1
-#define FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL 2 /* added in 2.6.36 */
-
-/**
- * struct fw_cdev_create_iso_context - Create a context for isochronous I/O
- * @type: %FW_CDEV_ISO_CONTEXT_TRANSMIT or %FW_CDEV_ISO_CONTEXT_RECEIVE or
- * %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL
- * @header_size: Header size to strip in single-channel reception
- * @channel: Channel to bind to in single-channel reception or transmission
- * @speed: Transmission speed
- * @closure: To be returned in &fw_cdev_event_iso_interrupt or
- * &fw_cdev_event_iso_interrupt_multichannel
- * @handle: Handle to context, written back by kernel
- *
- * Prior to sending or receiving isochronous I/O, a context must be created.
- * The context records information about the transmit or receive configuration
- * and typically maps to an underlying hardware resource. A context is set up
- * for either sending or receiving. It is bound to a specific isochronous
- * @channel.
- *
- * In case of multichannel reception, @header_size and @channel are ignored
- * and the channels are selected by %FW_CDEV_IOC_SET_ISO_CHANNELS.
- *
- * For %FW_CDEV_ISO_CONTEXT_RECEIVE contexts, @header_size must be at least 4
- * and must be a multiple of 4. It is ignored in other context types.
- *
- * @speed is ignored in receive context types.
- *
- * If a context was successfully created, the kernel writes back a handle to the
- * context, which must be passed in for subsequent operations on that context.
- *
- * Limitations:
- * No more than one iso context can be created per fd.
- * The total number of contexts that all userspace and kernelspace drivers can
- * create on a card at a time is a hardware limit, typically 4 or 8 contexts per
- * direction, and of them at most one multichannel receive context.
- */
-struct fw_cdev_create_iso_context {
- __u32 type;
- __u32 header_size;
- __u32 channel;
- __u32 speed;
- __u64 closure;
- __u32 handle;
-};
-
-/**
- * struct fw_cdev_set_iso_channels - Select channels in multichannel reception
- * @channels: Bitmask of channels to listen to
- * @handle: Handle of the mutichannel receive context
- *
- * @channels is the bitwise or of 1ULL << n for each channel n to listen to.
- *
- * The ioctl fails with errno %EBUSY if there is already another receive context
- * on a channel in @channels. In that case, the bitmask of all unoccupied
- * channels is returned in @channels.
- */
-struct fw_cdev_set_iso_channels {
- __u64 channels;
- __u32 handle;
-};
-
-#define FW_CDEV_ISO_PAYLOAD_LENGTH(v) (v)
-#define FW_CDEV_ISO_INTERRUPT (1 << 16)
-#define FW_CDEV_ISO_SKIP (1 << 17)
-#define FW_CDEV_ISO_SYNC (1 << 17)
-#define FW_CDEV_ISO_TAG(v) ((v) << 18)
-#define FW_CDEV_ISO_SY(v) ((v) << 20)
-#define FW_CDEV_ISO_HEADER_LENGTH(v) ((v) << 24)
-
-/**
- * struct fw_cdev_iso_packet - Isochronous packet
- * @control: Contains the header length (8 uppermost bits),
- * the sy field (4 bits), the tag field (2 bits), a sync flag
- * or a skip flag (1 bit), an interrupt flag (1 bit), and the
- * payload length (16 lowermost bits)
- * @header: Header and payload in case of a transmit context.
- *
- * &struct fw_cdev_iso_packet is used to describe isochronous packet queues.
- * Use the FW_CDEV_ISO_ macros to fill in @control.
- * The @header array is empty in case of receive contexts.
- *
- * Context type %FW_CDEV_ISO_CONTEXT_TRANSMIT:
- *
- * @control.HEADER_LENGTH must be a multiple of 4. It specifies the numbers of
- * bytes in @header that will be prepended to the packet's payload. These bytes
- * are copied into the kernel and will not be accessed after the ioctl has
- * returned.
- *
- * The @control.SY and TAG fields are copied to the iso packet header. These
- * fields are specified by IEEE 1394a and IEC 61883-1.
- *
- * The @control.SKIP flag specifies that no packet is to be sent in a frame.
- * When using this, all other fields except @control.INTERRUPT must be zero.
- *
- * When a packet with the @control.INTERRUPT flag set has been completed, an
- * &fw_cdev_event_iso_interrupt event will be sent.
- *
- * Context type %FW_CDEV_ISO_CONTEXT_RECEIVE:
- *
- * @control.HEADER_LENGTH must be a multiple of the context's header_size.
- * If the HEADER_LENGTH is larger than the context's header_size, multiple
- * packets are queued for this entry.
- *
- * The @control.SY and TAG fields are ignored.
- *
- * If the @control.SYNC flag is set, the context drops all packets until a
- * packet with a sy field is received which matches &fw_cdev_start_iso.sync.
- *
- * @control.PAYLOAD_LENGTH defines how many payload bytes can be received for
- * one packet (in addition to payload quadlets that have been defined as headers
- * and are stripped and returned in the &fw_cdev_event_iso_interrupt structure).
- * If more bytes are received, the additional bytes are dropped. If less bytes
- * are received, the remaining bytes in this part of the payload buffer will not
- * be written to, not even by the next packet. I.e., packets received in
- * consecutive frames will not necessarily be consecutive in memory. If an
- * entry has queued multiple packets, the PAYLOAD_LENGTH is divided equally
- * among them.
- *
- * When a packet with the @control.INTERRUPT flag set has been completed, an
- * &fw_cdev_event_iso_interrupt event will be sent. An entry that has queued
- * multiple receive packets is completed when its last packet is completed.
- *
- * Context type %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL:
- *
- * Here, &fw_cdev_iso_packet would be more aptly named _iso_buffer_chunk since
- * it specifies a chunk of the mmap()'ed buffer, while the number and alignment
- * of packets to be placed into the buffer chunk is not known beforehand.
- *
- * @control.PAYLOAD_LENGTH is the size of the buffer chunk and specifies room
- * for header, payload, padding, and trailer bytes of one or more packets.
- * It must be a multiple of 4.
- *
- * @control.HEADER_LENGTH, TAG and SY are ignored. SYNC is treated as described
- * for single-channel reception.
- *
- * When a buffer chunk with the @control.INTERRUPT flag set has been filled
- * entirely, an &fw_cdev_event_iso_interrupt_mc event will be sent.
- */
-struct fw_cdev_iso_packet {
- __u32 control;
- __u32 header[0];
-};
-
-/**
- * struct fw_cdev_queue_iso - Queue isochronous packets for I/O
- * @packets: Userspace pointer to an array of &fw_cdev_iso_packet
- * @data: Pointer into mmap()'ed payload buffer
- * @size: Size of the @packets array, in bytes
- * @handle: Isochronous context handle
- *
- * Queue a number of isochronous packets for reception or transmission.
- * This ioctl takes a pointer to an array of &fw_cdev_iso_packet structs,
- * which describe how to transmit from or receive into a contiguous region
- * of a mmap()'ed payload buffer. As part of transmit packet descriptors,
- * a series of headers can be supplied, which will be prepended to the
- * payload during DMA.
- *
- * The kernel may or may not queue all packets, but will write back updated
- * values of the @packets, @data and @size fields, so the ioctl can be
- * resubmitted easily.
- *
- * In case of a multichannel receive context, @data must be quadlet-aligned
- * relative to the buffer start.
- */
-struct fw_cdev_queue_iso {
- __u64 packets;
- __u64 data;
- __u32 size;
- __u32 handle;
-};
-
-#define FW_CDEV_ISO_CONTEXT_MATCH_TAG0 1
-#define FW_CDEV_ISO_CONTEXT_MATCH_TAG1 2
-#define FW_CDEV_ISO_CONTEXT_MATCH_TAG2 4
-#define FW_CDEV_ISO_CONTEXT_MATCH_TAG3 8
-#define FW_CDEV_ISO_CONTEXT_MATCH_ALL_TAGS 15
-
-/**
- * struct fw_cdev_start_iso - Start an isochronous transmission or reception
- * @cycle: Cycle in which to start I/O. If @cycle is greater than or
- * equal to 0, the I/O will start on that cycle.
- * @sync: Determines the value to wait for for receive packets that have
- * the %FW_CDEV_ISO_SYNC bit set
- * @tags: Tag filter bit mask. Only valid for isochronous reception.
- * Determines the tag values for which packets will be accepted.
- * Use FW_CDEV_ISO_CONTEXT_MATCH_ macros to set @tags.
- * @handle: Isochronous context handle within which to transmit or receive
- */
-struct fw_cdev_start_iso {
- __s32 cycle;
- __u32 sync;
- __u32 tags;
- __u32 handle;
-};
-
-/**
- * struct fw_cdev_stop_iso - Stop an isochronous transmission or reception
- * @handle: Handle of isochronous context to stop
- */
-struct fw_cdev_stop_iso {
- __u32 handle;
-};
-
-/**
- * struct fw_cdev_flush_iso - flush completed iso packets
- * @handle: handle of isochronous context to flush
- *
- * For %FW_CDEV_ISO_CONTEXT_TRANSMIT or %FW_CDEV_ISO_CONTEXT_RECEIVE contexts,
- * report any completed packets.
- *
- * For %FW_CDEV_ISO_CONTEXT_RECEIVE_MULTICHANNEL contexts, report the current
- * offset in the receive buffer, if it has changed; this is typically in the
- * middle of some buffer chunk.
- *
- * Any %FW_CDEV_EVENT_ISO_INTERRUPT or %FW_CDEV_EVENT_ISO_INTERRUPT_MULTICHANNEL
- * events generated by this ioctl are sent synchronously, i.e., are available
- * for reading from the file descriptor when this ioctl returns.
- */
-struct fw_cdev_flush_iso {
- __u32 handle;
-};
-
-/**
- * struct fw_cdev_get_cycle_timer - read cycle timer register
- * @local_time: system time, in microseconds since the Epoch
- * @cycle_timer: Cycle Time register contents
- *
- * Same as %FW_CDEV_IOC_GET_CYCLE_TIMER2, but fixed to use %CLOCK_REALTIME
- * and only with microseconds resolution.
- *
- * In version 1 and 2 of the ABI, this ioctl returned unreliable (non-
- * monotonic) @cycle_timer values on certain controllers.
- */
-struct fw_cdev_get_cycle_timer {
- __u64 local_time;
- __u32 cycle_timer;
-};
-
-/**
- * struct fw_cdev_get_cycle_timer2 - read cycle timer register
- * @tv_sec: system time, seconds
- * @tv_nsec: system time, sub-seconds part in nanoseconds
- * @clk_id: input parameter, clock from which to get the system time
- * @cycle_timer: Cycle Time register contents
- *
- * The %FW_CDEV_IOC_GET_CYCLE_TIMER2 ioctl reads the isochronous cycle timer
- * and also the system clock. This allows to correlate reception time of
- * isochronous packets with system time.
- *
- * @clk_id lets you choose a clock like with POSIX' clock_gettime function.
- * Supported @clk_id values are POSIX' %CLOCK_REALTIME and %CLOCK_MONOTONIC
- * and Linux' %CLOCK_MONOTONIC_RAW.
- *
- * @cycle_timer consists of 7 bits cycleSeconds, 13 bits cycleCount, and
- * 12 bits cycleOffset, in host byte order. Cf. the Cycle Time register
- * per IEEE 1394 or Isochronous Cycle Timer register per OHCI-1394.
- */
-struct fw_cdev_get_cycle_timer2 {
- __s64 tv_sec;
- __s32 tv_nsec;
- __s32 clk_id;
- __u32 cycle_timer;
-};
-
-/**
- * struct fw_cdev_allocate_iso_resource - (De)allocate a channel or bandwidth
- * @closure: Passed back to userspace in corresponding iso resource events
- * @channels: Isochronous channels of which one is to be (de)allocated
- * @bandwidth: Isochronous bandwidth units to be (de)allocated
- * @handle: Handle to the allocation, written by the kernel (only valid in
- * case of %FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE ioctls)
- *
- * The %FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE ioctl initiates allocation of an
- * isochronous channel and/or of isochronous bandwidth at the isochronous
- * resource manager (IRM). Only one of the channels specified in @channels is
- * allocated. An %FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED is sent after
- * communication with the IRM, indicating success or failure in the event data.
- * The kernel will automatically reallocate the resources after bus resets.
- * Should a reallocation fail, an %FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED event
- * will be sent. The kernel will also automatically deallocate the resources
- * when the file descriptor is closed.
- *
- * The %FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE ioctl can be used to initiate
- * deallocation of resources which were allocated as described above.
- * An %FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED event concludes this operation.
- *
- * The %FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE ioctl is a variant of allocation
- * without automatic re- or deallocation.
- * An %FW_CDEV_EVENT_ISO_RESOURCE_ALLOCATED event concludes this operation,
- * indicating success or failure in its data.
- *
- * The %FW_CDEV_IOC_DEALLOCATE_ISO_RESOURCE_ONCE ioctl works like
- * %FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE except that resources are freed
- * instead of allocated.
- * An %FW_CDEV_EVENT_ISO_RESOURCE_DEALLOCATED event concludes this operation.
- *
- * To summarize, %FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE allocates iso resources
- * for the lifetime of the fd or @handle.
- * In contrast, %FW_CDEV_IOC_ALLOCATE_ISO_RESOURCE_ONCE allocates iso resources
- * for the duration of a bus generation.
- *
- * @channels is a host-endian bitfield with the least significant bit
- * representing channel 0 and the most significant bit representing channel 63:
- * 1ULL << c for each channel c that is a candidate for (de)allocation.
- *
- * @bandwidth is expressed in bandwidth allocation units, i.e. the time to send
- * one quadlet of data (payload or header data) at speed S1600.
- */
-struct fw_cdev_allocate_iso_resource {
- __u64 closure;
- __u64 channels;
- __u32 bandwidth;
- __u32 handle;
-};
-
-/**
- * struct fw_cdev_send_stream_packet - send an asynchronous stream packet
- * @length: Length of outgoing payload, in bytes
- * @tag: Data format tag
- * @channel: Isochronous channel to transmit to
- * @sy: Synchronization code
- * @closure: Passed back to userspace in the response event
- * @data: Userspace pointer to payload
- * @generation: The bus generation where packet is valid
- * @speed: Speed to transmit at
- *
- * The %FW_CDEV_IOC_SEND_STREAM_PACKET ioctl sends an asynchronous stream packet
- * to every device which is listening to the specified channel. The kernel
- * writes an &fw_cdev_event_response event which indicates success or failure of
- * the transmission.
- */
-struct fw_cdev_send_stream_packet {
- __u32 length;
- __u32 tag;
- __u32 channel;
- __u32 sy;
- __u64 closure;
- __u64 data;
- __u32 generation;
- __u32 speed;
-};
-
-/**
- * struct fw_cdev_send_phy_packet - send a PHY packet
- * @closure: Passed back to userspace in the PHY-packet-sent event
- * @data: First and second quadlet of the PHY packet
- * @generation: The bus generation where packet is valid
- *
- * The %FW_CDEV_IOC_SEND_PHY_PACKET ioctl sends a PHY packet to all nodes
- * on the same card as this device. After transmission, an
- * %FW_CDEV_EVENT_PHY_PACKET_SENT event is generated.
- *
- * The payload @data[] shall be specified in host byte order. Usually,
- * @data[1] needs to be the bitwise inverse of @data[0]. VersaPHY packets
- * are an exception to this rule.
- *
- * The ioctl is only permitted on device files which represent a local node.
- */
-struct fw_cdev_send_phy_packet {
- __u64 closure;
- __u32 data[2];
- __u32 generation;
-};
-
-/**
- * struct fw_cdev_receive_phy_packets - start reception of PHY packets
- * @closure: Passed back to userspace in phy packet events
- *
- * This ioctl activates issuing of %FW_CDEV_EVENT_PHY_PACKET_RECEIVED due to
- * incoming PHY packets from any node on the same bus as the device.
- *
- * The ioctl is only permitted on device files which represent a local node.
- */
-struct fw_cdev_receive_phy_packets {
- __u64 closure;
-};
-
-#define FW_CDEV_VERSION 3 /* Meaningless legacy macro; don't use it. */
-
-#endif /* _LINUX_FIREWIRE_CDEV_H */
diff --git a/linux-headers/include/linux/firewire-constants.h b/linux-headers/include/linux/firewire-constants.h
deleted file mode 100644
index 9b4bb5f..0000000
--- a/linux-headers/include/linux/firewire-constants.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * IEEE 1394 constants.
- *
- * Copyright (C) 2005-2007 Kristian Hoegsberg <krh@bitplanet.net>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
- * DEALINGS IN THE SOFTWARE.
- */
-
-#ifndef _LINUX_FIREWIRE_CONSTANTS_H
-#define _LINUX_FIREWIRE_CONSTANTS_H
-
-#define TCODE_WRITE_QUADLET_REQUEST 0x0
-#define TCODE_WRITE_BLOCK_REQUEST 0x1
-#define TCODE_WRITE_RESPONSE 0x2
-#define TCODE_READ_QUADLET_REQUEST 0x4
-#define TCODE_READ_BLOCK_REQUEST 0x5
-#define TCODE_READ_QUADLET_RESPONSE 0x6
-#define TCODE_READ_BLOCK_RESPONSE 0x7
-#define TCODE_CYCLE_START 0x8
-#define TCODE_LOCK_REQUEST 0x9
-#define TCODE_STREAM_DATA 0xa
-#define TCODE_LOCK_RESPONSE 0xb
-
-#define EXTCODE_MASK_SWAP 0x1
-#define EXTCODE_COMPARE_SWAP 0x2
-#define EXTCODE_FETCH_ADD 0x3
-#define EXTCODE_LITTLE_ADD 0x4
-#define EXTCODE_BOUNDED_ADD 0x5
-#define EXTCODE_WRAP_ADD 0x6
-#define EXTCODE_VENDOR_DEPENDENT 0x7
-
-/* Linux firewire-core (Juju) specific tcodes */
-#define TCODE_LOCK_MASK_SWAP (0x10 | EXTCODE_MASK_SWAP)
-#define TCODE_LOCK_COMPARE_SWAP (0x10 | EXTCODE_COMPARE_SWAP)
-#define TCODE_LOCK_FETCH_ADD (0x10 | EXTCODE_FETCH_ADD)
-#define TCODE_LOCK_LITTLE_ADD (0x10 | EXTCODE_LITTLE_ADD)
-#define TCODE_LOCK_BOUNDED_ADD (0x10 | EXTCODE_BOUNDED_ADD)
-#define TCODE_LOCK_WRAP_ADD (0x10 | EXTCODE_WRAP_ADD)
-#define TCODE_LOCK_VENDOR_DEPENDENT (0x10 | EXTCODE_VENDOR_DEPENDENT)
-
-#define RCODE_COMPLETE 0x0
-#define RCODE_CONFLICT_ERROR 0x4
-#define RCODE_DATA_ERROR 0x5
-#define RCODE_TYPE_ERROR 0x6
-#define RCODE_ADDRESS_ERROR 0x7
-
-/* Linux firewire-core (Juju) specific rcodes */
-#define RCODE_SEND_ERROR 0x10
-#define RCODE_CANCELLED 0x11
-#define RCODE_BUSY 0x12
-#define RCODE_GENERATION 0x13
-#define RCODE_NO_ACK 0x14
-
-#define SCODE_100 0x0
-#define SCODE_200 0x1
-#define SCODE_400 0x2
-#define SCODE_800 0x3
-#define SCODE_1600 0x4
-#define SCODE_3200 0x5
-#define SCODE_BETA 0x3
-
-#define ACK_COMPLETE 0x1
-#define ACK_PENDING 0x2
-#define ACK_BUSY_X 0x4
-#define ACK_BUSY_A 0x5
-#define ACK_BUSY_B 0x6
-#define ACK_DATA_ERROR 0xd
-#define ACK_TYPE_ERROR 0xe
-
-#define RETRY_1 0x00
-#define RETRY_X 0x01
-#define RETRY_A 0x02
-#define RETRY_B 0x03
-
-#endif /* _LINUX_FIREWIRE_CONSTANTS_H */
diff --git a/linux-headers/include/linux/flat.h b/linux-headers/include/linux/flat.h
deleted file mode 100644
index 8351bc7..0000000
--- a/linux-headers/include/linux/flat.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (C) 2002-2003 David McCullough <davidm@snapgear.com>
- * Copyright (C) 1998 Kenneth Albanowski <kjahds@kjahds.com>
- * The Silver Hammer Group, Ltd.
- *
- * This file provides the definitions and structures needed to
- * support uClinux flat-format executables.
- */
-
-#ifndef _LINUX_FLAT_H
-#define _LINUX_FLAT_H
-
-
-#define FLAT_VERSION 0x00000004L
-
-#ifdef CONFIG_BINFMT_SHARED_FLAT
-#define MAX_SHARED_LIBS (4)
-#else
-#define MAX_SHARED_LIBS (1)
-#endif
-
-/*
- * To make everything easier to port and manage cross platform
- * development, all fields are in network byte order.
- */
-
-struct flat_hdr {
- char magic[4];
- unsigned long rev; /* version (as above) */
- unsigned long entry; /* Offset of first executable instruction
- with text segment from beginning of file */
- unsigned long data_start; /* Offset of data segment from beginning of
- file */
- unsigned long data_end; /* Offset of end of data segment
- from beginning of file */
- unsigned long bss_end; /* Offset of end of bss segment from beginning
- of file */
-
- /* (It is assumed that data_end through bss_end forms the bss segment.) */
-
- unsigned long stack_size; /* Size of stack, in bytes */
- unsigned long reloc_start; /* Offset of relocation records from
- beginning of file */
- unsigned long reloc_count; /* Number of relocation records */
- unsigned long flags;
- unsigned long build_date; /* When the program/library was built */
- unsigned long filler[5]; /* Reservered, set to zero */
-};
-
-#define FLAT_FLAG_RAM 0x0001 /* load program entirely into RAM */
-#define FLAT_FLAG_GOTPIC 0x0002 /* program is PIC with GOT */
-#define FLAT_FLAG_GZIP 0x0004 /* all but the header is compressed */
-#define FLAT_FLAG_GZDATA 0x0008 /* only data/relocs are compressed (for XIP) */
-#define FLAT_FLAG_KTRACE 0x0010 /* output useful kernel trace for debugging */
-
-
-
-#endif /* _LINUX_FLAT_H */
diff --git a/linux-headers/include/linux/fou.h b/linux-headers/include/linux/fou.h
deleted file mode 100644
index 744c323..0000000
--- a/linux-headers/include/linux/fou.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/* fou.h - FOU Interface */
-
-#ifndef _LINUX_FOU_H
-#define _LINUX_FOU_H
-
-/* NETLINK_GENERIC related info
- */
-#define FOU_GENL_NAME "fou"
-#define FOU_GENL_VERSION 0x1
-
-enum {
- FOU_ATTR_UNSPEC,
- FOU_ATTR_PORT, /* u16 */
- FOU_ATTR_AF, /* u8 */
- FOU_ATTR_IPPROTO, /* u8 */
- FOU_ATTR_TYPE, /* u8 */
- FOU_ATTR_REMCSUM_NOPARTIAL, /* flag */
-
- __FOU_ATTR_MAX,
-};
-
-#define FOU_ATTR_MAX (__FOU_ATTR_MAX - 1)
-
-enum {
- FOU_CMD_UNSPEC,
- FOU_CMD_ADD,
- FOU_CMD_DEL,
- FOU_CMD_GET,
-
- __FOU_CMD_MAX,
-};
-
-enum {
- FOU_ENCAP_UNSPEC,
- FOU_ENCAP_DIRECT,
- FOU_ENCAP_GUE,
-};
-
-#define FOU_CMD_MAX (__FOU_CMD_MAX - 1)
-
-#endif /* _LINUX_FOU_H */
diff --git a/linux-headers/include/linux/fs.h b/linux-headers/include/linux/fs.h
deleted file mode 100644
index 4236a20..0000000
--- a/linux-headers/include/linux/fs.h
+++ /dev/null
@@ -1,328 +0,0 @@
-#ifndef _LINUX_FS_H
-#define _LINUX_FS_H
-
-/*
- * This file has definitions for some important file table structures
- * and constants and structures used by various generic file system
- * ioctl's. Please do not make any changes in this file before
- * sending patches for review to linux-fsdevel@vger.kernel.org and
- * linux-api@vger.kernel.org.
- */
-
-#include <linux/limits.h>
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/*
- * It's silly to have NR_OPEN bigger than NR_FILE, but you can change
- * the file limit at runtime and only root can increase the per-process
- * nr_file rlimit, so it's safe to set up a ridiculously high absolute
- * upper limit on files-per-process.
- *
- * Some programs (notably those using select()) may have to be
- * recompiled to take full advantage of the new limits..
- */
-
-/* Fixed constants first: */
-#undef NR_OPEN
-#define INR_OPEN_CUR 1024 /* Initial setting for nfile rlimits */
-#define INR_OPEN_MAX 4096 /* Hard limit for nfile rlimits */
-
-#define BLOCK_SIZE_BITS 10
-#define BLOCK_SIZE (1<<BLOCK_SIZE_BITS)
-
-#define SEEK_SET 0 /* seek relative to beginning of file */
-#define SEEK_CUR 1 /* seek relative to current file position */
-#define SEEK_END 2 /* seek relative to end of file */
-#define SEEK_DATA 3 /* seek to the next data */
-#define SEEK_HOLE 4 /* seek to the next hole */
-#define SEEK_MAX SEEK_HOLE
-
-#define RENAME_NOREPLACE (1 << 0) /* Don't overwrite target */
-#define RENAME_EXCHANGE (1 << 1) /* Exchange source and dest */
-#define RENAME_WHITEOUT (1 << 2) /* Whiteout source */
-
-struct file_clone_range {
- __s64 src_fd;
- __u64 src_offset;
- __u64 src_length;
- __u64 dest_offset;
-};
-
-struct fstrim_range {
- __u64 start;
- __u64 len;
- __u64 minlen;
-};
-
-/* extent-same (dedupe) ioctls; these MUST match the btrfs ioctl definitions */
-#define FILE_DEDUPE_RANGE_SAME 0
-#define FILE_DEDUPE_RANGE_DIFFERS 1
-
-/* from struct btrfs_ioctl_file_extent_same_info */
-struct file_dedupe_range_info {
- __s64 dest_fd; /* in - destination file */
- __u64 dest_offset; /* in - start of extent in destination */
- __u64 bytes_deduped; /* out - total # of bytes we were able
- * to dedupe from this file. */
- /* status of this dedupe operation:
- * < 0 for error
- * == FILE_DEDUPE_RANGE_SAME if dedupe succeeds
- * == FILE_DEDUPE_RANGE_DIFFERS if data differs
- */
- __s32 status; /* out - see above description */
- __u32 reserved; /* must be zero */
-};
-
-/* from struct btrfs_ioctl_file_extent_same_args */
-struct file_dedupe_range {
- __u64 src_offset; /* in - start of extent in source */
- __u64 src_length; /* in - length of extent */
- __u16 dest_count; /* in - total elements in info array */
- __u16 reserved1; /* must be zero */
- __u32 reserved2; /* must be zero */
- struct file_dedupe_range_info info[0];
-};
-
-/* And dynamically-tunable limits and defaults: */
-struct files_stat_struct {
- unsigned long nr_files; /* read only */
- unsigned long nr_free_files; /* read only */
- unsigned long max_files; /* tunable */
-};
-
-struct inodes_stat_t {
- long nr_inodes;
- long nr_unused;
- long dummy[5]; /* padding for sysctl ABI compatibility */
-};
-
-
-#define NR_FILE 8192 /* this can well be larger on a larger system */
-
-
-/*
- * These are the fs-independent mount-flags: up to 32 flags are supported
- */
-#define MS_RDONLY 1 /* Mount read-only */
-#define MS_NOSUID 2 /* Ignore suid and sgid bits */
-#define MS_NODEV 4 /* Disallow access to device special files */
-#define MS_NOEXEC 8 /* Disallow program execution */
-#define MS_SYNCHRONOUS 16 /* Writes are synced at once */
-#define MS_REMOUNT 32 /* Alter flags of a mounted FS */
-#define MS_MANDLOCK 64 /* Allow mandatory locks on an FS */
-#define MS_DIRSYNC 128 /* Directory modifications are synchronous */
-#define MS_NOATIME 1024 /* Do not update access times. */
-#define MS_NODIRATIME 2048 /* Do not update directory access times */
-#define MS_BIND 4096
-#define MS_MOVE 8192
-#define MS_REC 16384
-#define MS_VERBOSE 32768 /* War is peace. Verbosity is silence.
- MS_VERBOSE is deprecated. */
-#define MS_SILENT 32768
-#define MS_POSIXACL (1<<16) /* VFS does not apply the umask */
-#define MS_UNBINDABLE (1<<17) /* change to unbindable */
-#define MS_PRIVATE (1<<18) /* change to private */
-#define MS_SLAVE (1<<19) /* change to slave */
-#define MS_SHARED (1<<20) /* change to shared */
-#define MS_RELATIME (1<<21) /* Update atime relative to mtime/ctime. */
-#define MS_KERNMOUNT (1<<22) /* this is a kern_mount call */
-#define MS_I_VERSION (1<<23) /* Update inode I_version field */
-#define MS_STRICTATIME (1<<24) /* Always perform atime updates */
-#define MS_LAZYTIME (1<<25) /* Update the on-disk [acm]times lazily */
-
-/* These sb flags are internal to the kernel */
-#define MS_NOSEC (1<<28)
-#define MS_BORN (1<<29)
-#define MS_ACTIVE (1<<30)
-#define MS_NOUSER (1<<31)
-
-/*
- * Superblock flags that can be altered by MS_REMOUNT
- */
-#define MS_RMT_MASK (MS_RDONLY|MS_SYNCHRONOUS|MS_MANDLOCK|MS_I_VERSION|\
- MS_LAZYTIME)
-
-/*
- * Old magic mount flag and mask
- */
-#define MS_MGC_VAL 0xC0ED0000
-#define MS_MGC_MSK 0xffff0000
-
-/*
- * Structure for FS_IOC_FSGETXATTR[A] and FS_IOC_FSSETXATTR.
- */
-struct fsxattr {
- __u32 fsx_xflags; /* xflags field value (get/set) */
- __u32 fsx_extsize; /* extsize field value (get/set)*/
- __u32 fsx_nextents; /* nextents field value (get) */
- __u32 fsx_projid; /* project identifier (get/set) */
- unsigned char fsx_pad[12];
-};
-
-/*
- * Flags for the fsx_xflags field
- */
-#define FS_XFLAG_REALTIME 0x00000001 /* data in realtime volume */
-#define FS_XFLAG_PREALLOC 0x00000002 /* preallocated file extents */
-#define FS_XFLAG_IMMUTABLE 0x00000008 /* file cannot be modified */
-#define FS_XFLAG_APPEND 0x00000010 /* all writes append */
-#define FS_XFLAG_SYNC 0x00000020 /* all writes synchronous */
-#define FS_XFLAG_NOATIME 0x00000040 /* do not update access time */
-#define FS_XFLAG_NODUMP 0x00000080 /* do not include in backups */
-#define FS_XFLAG_RTINHERIT 0x00000100 /* create with rt bit set */
-#define FS_XFLAG_PROJINHERIT 0x00000200 /* create with parents projid */
-#define FS_XFLAG_NOSYMLINKS 0x00000400 /* disallow symlink creation */
-#define FS_XFLAG_EXTSIZE 0x00000800 /* extent size allocator hint */
-#define FS_XFLAG_EXTSZINHERIT 0x00001000 /* inherit inode extent size */
-#define FS_XFLAG_NODEFRAG 0x00002000 /* do not defragment */
-#define FS_XFLAG_FILESTREAM 0x00004000 /* use filestream allocator */
-#define FS_XFLAG_DAX 0x00008000 /* use DAX for IO */
-#define FS_XFLAG_HASATTR 0x80000000 /* no DIFLAG for this */
-
-/* the read-only stuff doesn't really belong here, but any other place is
- probably as bad and I don't want to create yet another include file. */
-
-#define BLKROSET _IO(0x12,93) /* set device read-only (0 = read-write) */
-#define BLKROGET _IO(0x12,94) /* get read-only status (0 = read_write) */
-#define BLKRRPART _IO(0x12,95) /* re-read partition table */
-#define BLKGETSIZE _IO(0x12,96) /* return device size /512 (long *arg) */
-#define BLKFLSBUF _IO(0x12,97) /* flush buffer cache */
-#define BLKRASET _IO(0x12,98) /* set read ahead for block device */
-#define BLKRAGET _IO(0x12,99) /* get current read ahead setting */
-#define BLKFRASET _IO(0x12,100)/* set filesystem (mm/filemap.c) read-ahead */
-#define BLKFRAGET _IO(0x12,101)/* get filesystem (mm/filemap.c) read-ahead */
-#define BLKSECTSET _IO(0x12,102)/* set max sectors per request (ll_rw_blk.c) */
-#define BLKSECTGET _IO(0x12,103)/* get max sectors per request (ll_rw_blk.c) */
-#define BLKSSZGET _IO(0x12,104)/* get block device sector size */
-#if 0
-#define BLKPG _IO(0x12,105)/* See blkpg.h */
-
-/* Some people are morons. Do not use sizeof! */
-
-#define BLKELVGET _IOR(0x12,106,size_t)/* elevator get */
-#define BLKELVSET _IOW(0x12,107,size_t)/* elevator set */
-/* This was here just to show that the number is taken -
- probably all these _IO(0x12,*) ioctls should be moved to blkpg.h. */
-#endif
-/* A jump here: 108-111 have been used for various private purposes. */
-#define BLKBSZGET _IOR(0x12,112,size_t)
-#define BLKBSZSET _IOW(0x12,113,size_t)
-#define BLKGETSIZE64 _IOR(0x12,114,size_t) /* return device size in bytes (u64 *arg) */
-#define BLKTRACESETUP _IOWR(0x12,115,struct blk_user_trace_setup)
-#define BLKTRACESTART _IO(0x12,116)
-#define BLKTRACESTOP _IO(0x12,117)
-#define BLKTRACETEARDOWN _IO(0x12,118)
-#define BLKDISCARD _IO(0x12,119)
-#define BLKIOMIN _IO(0x12,120)
-#define BLKIOOPT _IO(0x12,121)
-#define BLKALIGNOFF _IO(0x12,122)
-#define BLKPBSZGET _IO(0x12,123)
-#define BLKDISCARDZEROES _IO(0x12,124)
-#define BLKSECDISCARD _IO(0x12,125)
-#define BLKROTATIONAL _IO(0x12,126)
-#define BLKZEROOUT _IO(0x12,127)
-#define BLKDAXGET _IO(0x12,129)
-
-#define BMAP_IOCTL 1 /* obsolete - kept for compatibility */
-#define FIBMAP _IO(0x00,1) /* bmap access */
-#define FIGETBSZ _IO(0x00,2) /* get the block size used for bmap */
-#define FIFREEZE _IOWR('X', 119, int) /* Freeze */
-#define FITHAW _IOWR('X', 120, int) /* Thaw */
-#define FITRIM _IOWR('X', 121, struct fstrim_range) /* Trim */
-#define FICLONE _IOW(0x94, 9, int)
-#define FICLONERANGE _IOW(0x94, 13, struct file_clone_range)
-#define FIDEDUPERANGE _IOWR(0x94, 54, struct file_dedupe_range)
-
-#define FS_IOC_GETFLAGS _IOR('f', 1, long)
-#define FS_IOC_SETFLAGS _IOW('f', 2, long)
-#define FS_IOC_GETVERSION _IOR('v', 1, long)
-#define FS_IOC_SETVERSION _IOW('v', 2, long)
-#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap)
-#define FS_IOC32_GETFLAGS _IOR('f', 1, int)
-#define FS_IOC32_SETFLAGS _IOW('f', 2, int)
-#define FS_IOC32_GETVERSION _IOR('v', 1, int)
-#define FS_IOC32_SETVERSION _IOW('v', 2, int)
-#define FS_IOC_FSGETXATTR _IOR ('X', 31, struct fsxattr)
-#define FS_IOC_FSSETXATTR _IOW ('X', 32, struct fsxattr)
-
-/*
- * File system encryption support
- */
-/* Policy provided via an ioctl on the topmost directory */
-#define FS_KEY_DESCRIPTOR_SIZE 8
-
-struct fscrypt_policy {
- __u8 version;
- __u8 contents_encryption_mode;
- __u8 filenames_encryption_mode;
- __u8 flags;
- __u8 master_key_descriptor[FS_KEY_DESCRIPTOR_SIZE];
-} __attribute__((packed));
-
-#define FS_IOC_SET_ENCRYPTION_POLICY _IOR('f', 19, struct fscrypt_policy)
-#define FS_IOC_GET_ENCRYPTION_PWSALT _IOW('f', 20, __u8[16])
-#define FS_IOC_GET_ENCRYPTION_POLICY _IOW('f', 21, struct fscrypt_policy)
-
-/*
- * Inode flags (FS_IOC_GETFLAGS / FS_IOC_SETFLAGS)
- *
- * Note: for historical reasons, these flags were originally used and
- * defined for use by ext2/ext3, and then other file systems started
- * using these flags so they wouldn't need to write their own version
- * of chattr/lsattr (which was shipped as part of e2fsprogs). You
- * should think twice before trying to use these flags in new
- * contexts, or trying to assign these flags, since they are used both
- * as the UAPI and the on-disk encoding for ext2/3/4. Also, we are
- * almost out of 32-bit flags. :-)
- *
- * We have recently hoisted FS_IOC_FSGETXATTR / FS_IOC_FSSETXATTR from
- * XFS to the generic FS level interface. This uses a structure that
- * has padding and hence has more room to grow, so it may be more
- * appropriate for many new use cases.
- *
- * Please do not change these flags or interfaces before checking with
- * linux-fsdevel@vger.kernel.org and linux-api@vger.kernel.org.
- */
-#define FS_SECRM_FL 0x00000001 /* Secure deletion */
-#define FS_UNRM_FL 0x00000002 /* Undelete */
-#define FS_COMPR_FL 0x00000004 /* Compress file */
-#define FS_SYNC_FL 0x00000008 /* Synchronous updates */
-#define FS_IMMUTABLE_FL 0x00000010 /* Immutable file */
-#define FS_APPEND_FL 0x00000020 /* writes to file may only append */
-#define FS_NODUMP_FL 0x00000040 /* do not dump file */
-#define FS_NOATIME_FL 0x00000080 /* do not update atime */
-/* Reserved for compression usage... */
-#define FS_DIRTY_FL 0x00000100
-#define FS_COMPRBLK_FL 0x00000200 /* One or more compressed clusters */
-#define FS_NOCOMP_FL 0x00000400 /* Don't compress */
-/* End compression flags --- maybe not all used */
-#define FS_ENCRYPT_FL 0x00000800 /* Encrypted file */
-#define FS_BTREE_FL 0x00001000 /* btree format dir */
-#define FS_INDEX_FL 0x00001000 /* hash-indexed directory */
-#define FS_IMAGIC_FL 0x00002000 /* AFS directory */
-#define FS_JOURNAL_DATA_FL 0x00004000 /* Reserved for ext3 */
-#define FS_NOTAIL_FL 0x00008000 /* file tail should not be merged */
-#define FS_DIRSYNC_FL 0x00010000 /* dirsync behaviour (directories only) */
-#define FS_TOPDIR_FL 0x00020000 /* Top of directory hierarchies*/
-#define FS_HUGE_FILE_FL 0x00040000 /* Reserved for ext4 */
-#define FS_EXTENT_FL 0x00080000 /* Extents */
-#define FS_EA_INODE_FL 0x00200000 /* Inode used for large EA */
-#define FS_EOFBLOCKS_FL 0x00400000 /* Reserved for ext4 */
-#define FS_NOCOW_FL 0x00800000 /* Do not cow file */
-#define FS_INLINE_DATA_FL 0x10000000 /* Reserved for ext4 */
-#define FS_PROJINHERIT_FL 0x20000000 /* Create with parents projid */
-#define FS_RESERVED_FL 0x80000000 /* reserved for ext2 lib */
-
-#define FS_FL_USER_VISIBLE 0x0003DFFF /* User visible flags */
-#define FS_FL_USER_MODIFIABLE 0x000380FF /* User modifiable flags */
-
-
-#define SYNC_FILE_RANGE_WAIT_BEFORE 1
-#define SYNC_FILE_RANGE_WRITE 2
-#define SYNC_FILE_RANGE_WAIT_AFTER 4
-
-/* flags for preadv2/pwritev2: */
-#define RWF_HIPRI 0x00000001 /* high priority request, poll if possible */
-
-#endif /* _LINUX_FS_H */
diff --git a/linux-headers/include/linux/fsl_hypervisor.h b/linux-headers/include/linux/fsl_hypervisor.h
deleted file mode 100644
index 2f908de..0000000
--- a/linux-headers/include/linux/fsl_hypervisor.h
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Freescale hypervisor ioctl and kernel interface
- *
- * Copyright (C) 2008-2011 Freescale Semiconductor, Inc.
- * Author: Timur Tabi <timur@freescale.com>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * * Neither the name of Freescale Semiconductor nor the
- * names of its contributors may be used to endorse or promote products
- * derived from this software without specific prior written permission.
- *
- *
- * ALTERNATIVELY, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") as published by the Free Software
- * Foundation, either version 2 of that License or (at your option) any
- * later version.
- *
- * This software is provided by Freescale Semiconductor "as is" and any
- * express or implied warranties, including, but not limited to, the implied
- * warranties of merchantability and fitness for a particular purpose are
- * disclaimed. In no event shall Freescale Semiconductor be liable for any
- * direct, indirect, incidental, special, exemplary, or consequential damages
- * (including, but not limited to, procurement of substitute goods or services;
- * loss of use, data, or profits; or business interruption) however caused and
- * on any theory of liability, whether in contract, strict liability, or tort
- * (including negligence or otherwise) arising in any way out of the use of this
- * software, even if advised of the possibility of such damage.
- *
- * This file is used by the Freescale hypervisor management driver. It can
- * also be included by applications that need to communicate with the driver
- * via the ioctl interface.
- */
-
-#ifndef FSL_HYPERVISOR_H
-#define FSL_HYPERVISOR_H
-
-#include <linux/types.h>
-
-/**
- * struct fsl_hv_ioctl_restart - restart a partition
- * @ret: return error code from the hypervisor
- * @partition: the ID of the partition to restart, or -1 for the
- * calling partition
- *
- * Used by FSL_HV_IOCTL_PARTITION_RESTART
- */
-struct fsl_hv_ioctl_restart {
- __u32 ret;
- __u32 partition;
-};
-
-/**
- * struct fsl_hv_ioctl_status - get a partition's status
- * @ret: return error code from the hypervisor
- * @partition: the ID of the partition to query, or -1 for the
- * calling partition
- * @status: The returned status of the partition
- *
- * Used by FSL_HV_IOCTL_PARTITION_GET_STATUS
- *
- * Values of 'status':
- * 0 = Stopped
- * 1 = Running
- * 2 = Starting
- * 3 = Stopping
- */
-struct fsl_hv_ioctl_status {
- __u32 ret;
- __u32 partition;
- __u32 status;
-};
-
-/**
- * struct fsl_hv_ioctl_start - start a partition
- * @ret: return error code from the hypervisor
- * @partition: the ID of the partition to control
- * @entry_point: The offset within the guest IMA to start execution
- * @load: If non-zero, reload the partition's images before starting
- *
- * Used by FSL_HV_IOCTL_PARTITION_START
- */
-struct fsl_hv_ioctl_start {
- __u32 ret;
- __u32 partition;
- __u32 entry_point;
- __u32 load;
-};
-
-/**
- * struct fsl_hv_ioctl_stop - stop a partition
- * @ret: return error code from the hypervisor
- * @partition: the ID of the partition to stop, or -1 for the calling
- * partition
- *
- * Used by FSL_HV_IOCTL_PARTITION_STOP
- */
-struct fsl_hv_ioctl_stop {
- __u32 ret;
- __u32 partition;
-};
-
-/**
- * struct fsl_hv_ioctl_memcpy - copy memory between partitions
- * @ret: return error code from the hypervisor
- * @source: the partition ID of the source partition, or -1 for this
- * partition
- * @target: the partition ID of the target partition, or -1 for this
- * partition
- * @reserved: reserved, must be set to 0
- * @local_addr: user-space virtual address of a buffer in the local
- * partition
- * @remote_addr: guest physical address of a buffer in the
- * remote partition
- * @count: the number of bytes to copy. Both the local and remote
- * buffers must be at least 'count' bytes long
- *
- * Used by FSL_HV_IOCTL_MEMCPY
- *
- * The 'local' partition is the partition that calls this ioctl. The
- * 'remote' partition is a different partition. The data is copied from
- * the 'source' paritition' to the 'target' partition.
- *
- * The buffer in the remote partition must be guest physically
- * contiguous.
- *
- * This ioctl does not support copying memory between two remote
- * partitions or within the same partition, so either 'source' or
- * 'target' (but not both) must be -1. In other words, either
- *
- * source == local and target == remote
- * or
- * source == remote and target == local
- */
-struct fsl_hv_ioctl_memcpy {
- __u32 ret;
- __u32 source;
- __u32 target;
- __u32 reserved; /* padding to ensure local_vaddr is aligned */
- __u64 local_vaddr;
- __u64 remote_paddr;
- __u64 count;
-};
-
-/**
- * struct fsl_hv_ioctl_doorbell - ring a doorbell
- * @ret: return error code from the hypervisor
- * @doorbell: the handle of the doorbell to ring doorbell
- *
- * Used by FSL_HV_IOCTL_DOORBELL
- */
-struct fsl_hv_ioctl_doorbell {
- __u32 ret;
- __u32 doorbell;
-};
-
-/**
- * struct fsl_hv_ioctl_prop - get/set a device tree property
- * @ret: return error code from the hypervisor
- * @handle: handle of partition whose tree to access
- * @path: virtual address of path name of node to access
- * @propname: virtual address of name of property to access
- * @propval: virtual address of property data buffer
- * @proplen: Size of property data buffer
- * @reserved: reserved, must be set to 0
- *
- * Used by FSL_HV_IOCTL_DOORBELL
- */
-struct fsl_hv_ioctl_prop {
- __u32 ret;
- __u32 handle;
- __u64 path;
- __u64 propname;
- __u64 propval;
- __u32 proplen;
- __u32 reserved; /* padding to ensure structure is aligned */
-};
-
-/* The ioctl type, documented in ioctl-number.txt */
-#define FSL_HV_IOCTL_TYPE 0xAF
-
-/* Restart another partition */
-#define FSL_HV_IOCTL_PARTITION_RESTART \
- _IOWR(FSL_HV_IOCTL_TYPE, 1, struct fsl_hv_ioctl_restart)
-
-/* Get a partition's status */
-#define FSL_HV_IOCTL_PARTITION_GET_STATUS \
- _IOWR(FSL_HV_IOCTL_TYPE, 2, struct fsl_hv_ioctl_status)
-
-/* Boot another partition */
-#define FSL_HV_IOCTL_PARTITION_START \
- _IOWR(FSL_HV_IOCTL_TYPE, 3, struct fsl_hv_ioctl_start)
-
-/* Stop this or another partition */
-#define FSL_HV_IOCTL_PARTITION_STOP \
- _IOWR(FSL_HV_IOCTL_TYPE, 4, struct fsl_hv_ioctl_stop)
-
-/* Copy data from one partition to another */
-#define FSL_HV_IOCTL_MEMCPY \
- _IOWR(FSL_HV_IOCTL_TYPE, 5, struct fsl_hv_ioctl_memcpy)
-
-/* Ring a doorbell */
-#define FSL_HV_IOCTL_DOORBELL \
- _IOWR(FSL_HV_IOCTL_TYPE, 6, struct fsl_hv_ioctl_doorbell)
-
-/* Get a property from another guest's device tree */
-#define FSL_HV_IOCTL_GETPROP \
- _IOWR(FSL_HV_IOCTL_TYPE, 7, struct fsl_hv_ioctl_prop)
-
-/* Set a property in another guest's device tree */
-#define FSL_HV_IOCTL_SETPROP \
- _IOWR(FSL_HV_IOCTL_TYPE, 8, struct fsl_hv_ioctl_prop)
-
-
-#endif /* FSL_HYPERVISOR_H */
diff --git a/linux-headers/include/linux/fuse.h b/linux-headers/include/linux/fuse.h
deleted file mode 100644
index 9707308..0000000
--- a/linux-headers/include/linux/fuse.h
+++ /dev/null
@@ -1,772 +0,0 @@
-/*
- This file defines the kernel interface of FUSE
- Copyright (C) 2001-2008 Miklos Szeredi <miklos@szeredi.hu>
-
- This program can be distributed under the terms of the GNU GPL.
- See the file COPYING.
-
- This -- and only this -- header file may also be distributed under
- the terms of the BSD Licence as follows:
-
- Copyright (C) 2001-2007 Miklos Szeredi. All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions
- are met:
- 1. Redistributions of source code must retain the above copyright
- notice, this list of conditions and the following disclaimer.
- 2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-
- THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- SUCH DAMAGE.
-*/
-
-/*
- * This file defines the kernel interface of FUSE
- *
- * Protocol changelog:
- *
- * 7.9:
- * - new fuse_getattr_in input argument of GETATTR
- * - add lk_flags in fuse_lk_in
- * - add lock_owner field to fuse_setattr_in, fuse_read_in and fuse_write_in
- * - add blksize field to fuse_attr
- * - add file flags field to fuse_read_in and fuse_write_in
- *
- * 7.10
- * - add nonseekable open flag
- *
- * 7.11
- * - add IOCTL message
- * - add unsolicited notification support
- * - add POLL message and NOTIFY_POLL notification
- *
- * 7.12
- * - add umask flag to input argument of open, mknod and mkdir
- * - add notification messages for invalidation of inodes and
- * directory entries
- *
- * 7.13
- * - make max number of background requests and congestion threshold
- * tunables
- *
- * 7.14
- * - add splice support to fuse device
- *
- * 7.15
- * - add store notify
- * - add retrieve notify
- *
- * 7.16
- * - add BATCH_FORGET request
- * - FUSE_IOCTL_UNRESTRICTED shall now return with array of 'struct
- * fuse_ioctl_iovec' instead of ambiguous 'struct iovec'
- * - add FUSE_IOCTL_32BIT flag
- *
- * 7.17
- * - add FUSE_FLOCK_LOCKS and FUSE_RELEASE_FLOCK_UNLOCK
- *
- * 7.18
- * - add FUSE_IOCTL_DIR flag
- * - add FUSE_NOTIFY_DELETE
- *
- * 7.19
- * - add FUSE_FALLOCATE
- *
- * 7.20
- * - add FUSE_AUTO_INVAL_DATA
- *
- * 7.21
- * - add FUSE_READDIRPLUS
- * - send the requested events in POLL request
- *
- * 7.22
- * - add FUSE_ASYNC_DIO
- *
- * 7.23
- * - add FUSE_WRITEBACK_CACHE
- * - add time_gran to fuse_init_out
- * - add reserved space to fuse_init_out
- * - add FATTR_CTIME
- * - add ctime and ctimensec to fuse_setattr_in
- * - add FUSE_RENAME2 request
- * - add FUSE_NO_OPEN_SUPPORT flag
- *
- * 7.24
- * - add FUSE_LSEEK for SEEK_HOLE and SEEK_DATA support
- */
-
-#ifndef _LINUX_FUSE_H
-#define _LINUX_FUSE_H
-
-#include <stdint.h>
-
-/*
- * Version negotiation:
- *
- * Both the kernel and userspace send the version they support in the
- * INIT request and reply respectively.
- *
- * If the major versions match then both shall use the smallest
- * of the two minor versions for communication.
- *
- * If the kernel supports a larger major version, then userspace shall
- * reply with the major version it supports, ignore the rest of the
- * INIT message and expect a new INIT message from the kernel with a
- * matching major version.
- *
- * If the library supports a larger major version, then it shall fall
- * back to the major protocol version sent by the kernel for
- * communication and reply with that major version (and an arbitrary
- * supported minor version).
- */
-
-/** Version number of this interface */
-#define FUSE_KERNEL_VERSION 7
-
-/** Minor version number of this interface */
-#define FUSE_KERNEL_MINOR_VERSION 24
-
-/** The node ID of the root inode */
-#define FUSE_ROOT_ID 1
-
-/* Make sure all structures are padded to 64bit boundary, so 32bit
- userspace works under 64bit kernels */
-
-struct fuse_attr {
- uint64_t ino;
- uint64_t size;
- uint64_t blocks;
- uint64_t atime;
- uint64_t mtime;
- uint64_t ctime;
- uint32_t atimensec;
- uint32_t mtimensec;
- uint32_t ctimensec;
- uint32_t mode;
- uint32_t nlink;
- uint32_t uid;
- uint32_t gid;
- uint32_t rdev;
- uint32_t blksize;
- uint32_t padding;
-};
-
-struct fuse_kstatfs {
- uint64_t blocks;
- uint64_t bfree;
- uint64_t bavail;
- uint64_t files;
- uint64_t ffree;
- uint32_t bsize;
- uint32_t namelen;
- uint32_t frsize;
- uint32_t padding;
- uint32_t spare[6];
-};
-
-struct fuse_file_lock {
- uint64_t start;
- uint64_t end;
- uint32_t type;
- uint32_t pid; /* tgid */
-};
-
-/**
- * Bitmasks for fuse_setattr_in.valid
- */
-#define FATTR_MODE (1 << 0)
-#define FATTR_UID (1 << 1)
-#define FATTR_GID (1 << 2)
-#define FATTR_SIZE (1 << 3)
-#define FATTR_ATIME (1 << 4)
-#define FATTR_MTIME (1 << 5)
-#define FATTR_FH (1 << 6)
-#define FATTR_ATIME_NOW (1 << 7)
-#define FATTR_MTIME_NOW (1 << 8)
-#define FATTR_LOCKOWNER (1 << 9)
-#define FATTR_CTIME (1 << 10)
-
-/**
- * Flags returned by the OPEN request
- *
- * FOPEN_DIRECT_IO: bypass page cache for this open file
- * FOPEN_KEEP_CACHE: don't invalidate the data cache on open
- * FOPEN_NONSEEKABLE: the file is not seekable
- */
-#define FOPEN_DIRECT_IO (1 << 0)
-#define FOPEN_KEEP_CACHE (1 << 1)
-#define FOPEN_NONSEEKABLE (1 << 2)
-
-/**
- * INIT request/reply flags
- *
- * FUSE_ASYNC_READ: asynchronous read requests
- * FUSE_POSIX_LOCKS: remote locking for POSIX file locks
- * FUSE_FILE_OPS: kernel sends file handle for fstat, etc... (not yet supported)
- * FUSE_ATOMIC_O_TRUNC: handles the O_TRUNC open flag in the filesystem
- * FUSE_EXPORT_SUPPORT: filesystem handles lookups of "." and ".."
- * FUSE_BIG_WRITES: filesystem can handle write size larger than 4kB
- * FUSE_DONT_MASK: don't apply umask to file mode on create operations
- * FUSE_SPLICE_WRITE: kernel supports splice write on the device
- * FUSE_SPLICE_MOVE: kernel supports splice move on the device
- * FUSE_SPLICE_READ: kernel supports splice read on the device
- * FUSE_FLOCK_LOCKS: remote locking for BSD style file locks
- * FUSE_HAS_IOCTL_DIR: kernel supports ioctl on directories
- * FUSE_AUTO_INVAL_DATA: automatically invalidate cached pages
- * FUSE_DO_READDIRPLUS: do READDIRPLUS (READDIR+LOOKUP in one)
- * FUSE_READDIRPLUS_AUTO: adaptive readdirplus
- * FUSE_ASYNC_DIO: asynchronous direct I/O submission
- * FUSE_WRITEBACK_CACHE: use writeback cache for buffered writes
- * FUSE_NO_OPEN_SUPPORT: kernel supports zero-message opens
- */
-#define FUSE_ASYNC_READ (1 << 0)
-#define FUSE_POSIX_LOCKS (1 << 1)
-#define FUSE_FILE_OPS (1 << 2)
-#define FUSE_ATOMIC_O_TRUNC (1 << 3)
-#define FUSE_EXPORT_SUPPORT (1 << 4)
-#define FUSE_BIG_WRITES (1 << 5)
-#define FUSE_DONT_MASK (1 << 6)
-#define FUSE_SPLICE_WRITE (1 << 7)
-#define FUSE_SPLICE_MOVE (1 << 8)
-#define FUSE_SPLICE_READ (1 << 9)
-#define FUSE_FLOCK_LOCKS (1 << 10)
-#define FUSE_HAS_IOCTL_DIR (1 << 11)
-#define FUSE_AUTO_INVAL_DATA (1 << 12)
-#define FUSE_DO_READDIRPLUS (1 << 13)
-#define FUSE_READDIRPLUS_AUTO (1 << 14)
-#define FUSE_ASYNC_DIO (1 << 15)
-#define FUSE_WRITEBACK_CACHE (1 << 16)
-#define FUSE_NO_OPEN_SUPPORT (1 << 17)
-
-/**
- * CUSE INIT request/reply flags
- *
- * CUSE_UNRESTRICTED_IOCTL: use unrestricted ioctl
- */
-#define CUSE_UNRESTRICTED_IOCTL (1 << 0)
-
-/**
- * Release flags
- */
-#define FUSE_RELEASE_FLUSH (1 << 0)
-#define FUSE_RELEASE_FLOCK_UNLOCK (1 << 1)
-
-/**
- * Getattr flags
- */
-#define FUSE_GETATTR_FH (1 << 0)
-
-/**
- * Lock flags
- */
-#define FUSE_LK_FLOCK (1 << 0)
-
-/**
- * WRITE flags
- *
- * FUSE_WRITE_CACHE: delayed write from page cache, file handle is guessed
- * FUSE_WRITE_LOCKOWNER: lock_owner field is valid
- */
-#define FUSE_WRITE_CACHE (1 << 0)
-#define FUSE_WRITE_LOCKOWNER (1 << 1)
-
-/**
- * Read flags
- */
-#define FUSE_READ_LOCKOWNER (1 << 1)
-
-/**
- * Ioctl flags
- *
- * FUSE_IOCTL_COMPAT: 32bit compat ioctl on 64bit machine
- * FUSE_IOCTL_UNRESTRICTED: not restricted to well-formed ioctls, retry allowed
- * FUSE_IOCTL_RETRY: retry with new iovecs
- * FUSE_IOCTL_32BIT: 32bit ioctl
- * FUSE_IOCTL_DIR: is a directory
- *
- * FUSE_IOCTL_MAX_IOV: maximum of in_iovecs + out_iovecs
- */
-#define FUSE_IOCTL_COMPAT (1 << 0)
-#define FUSE_IOCTL_UNRESTRICTED (1 << 1)
-#define FUSE_IOCTL_RETRY (1 << 2)
-#define FUSE_IOCTL_32BIT (1 << 3)
-#define FUSE_IOCTL_DIR (1 << 4)
-
-#define FUSE_IOCTL_MAX_IOV 256
-
-/**
- * Poll flags
- *
- * FUSE_POLL_SCHEDULE_NOTIFY: request poll notify
- */
-#define FUSE_POLL_SCHEDULE_NOTIFY (1 << 0)
-
-enum fuse_opcode {
- FUSE_LOOKUP = 1,
- FUSE_FORGET = 2, /* no reply */
- FUSE_GETATTR = 3,
- FUSE_SETATTR = 4,
- FUSE_READLINK = 5,
- FUSE_SYMLINK = 6,
- FUSE_MKNOD = 8,
- FUSE_MKDIR = 9,
- FUSE_UNLINK = 10,
- FUSE_RMDIR = 11,
- FUSE_RENAME = 12,
- FUSE_LINK = 13,
- FUSE_OPEN = 14,
- FUSE_READ = 15,
- FUSE_WRITE = 16,
- FUSE_STATFS = 17,
- FUSE_RELEASE = 18,
- FUSE_FSYNC = 20,
- FUSE_SETXATTR = 21,
- FUSE_GETXATTR = 22,
- FUSE_LISTXATTR = 23,
- FUSE_REMOVEXATTR = 24,
- FUSE_FLUSH = 25,
- FUSE_INIT = 26,
- FUSE_OPENDIR = 27,
- FUSE_READDIR = 28,
- FUSE_RELEASEDIR = 29,
- FUSE_FSYNCDIR = 30,
- FUSE_GETLK = 31,
- FUSE_SETLK = 32,
- FUSE_SETLKW = 33,
- FUSE_ACCESS = 34,
- FUSE_CREATE = 35,
- FUSE_INTERRUPT = 36,
- FUSE_BMAP = 37,
- FUSE_DESTROY = 38,
- FUSE_IOCTL = 39,
- FUSE_POLL = 40,
- FUSE_NOTIFY_REPLY = 41,
- FUSE_BATCH_FORGET = 42,
- FUSE_FALLOCATE = 43,
- FUSE_READDIRPLUS = 44,
- FUSE_RENAME2 = 45,
- FUSE_LSEEK = 46,
-
- /* CUSE specific operations */
- CUSE_INIT = 4096,
-};
-
-enum fuse_notify_code {
- FUSE_NOTIFY_POLL = 1,
- FUSE_NOTIFY_INVAL_INODE = 2,
- FUSE_NOTIFY_INVAL_ENTRY = 3,
- FUSE_NOTIFY_STORE = 4,
- FUSE_NOTIFY_RETRIEVE = 5,
- FUSE_NOTIFY_DELETE = 6,
- FUSE_NOTIFY_CODE_MAX,
-};
-
-/* The read buffer is required to be at least 8k, but may be much larger */
-#define FUSE_MIN_READ_BUFFER 8192
-
-#define FUSE_COMPAT_ENTRY_OUT_SIZE 120
-
-struct fuse_entry_out {
- uint64_t nodeid; /* Inode ID */
- uint64_t generation; /* Inode generation: nodeid:gen must
- be unique for the fs's lifetime */
- uint64_t entry_valid; /* Cache timeout for the name */
- uint64_t attr_valid; /* Cache timeout for the attributes */
- uint32_t entry_valid_nsec;
- uint32_t attr_valid_nsec;
- struct fuse_attr attr;
-};
-
-struct fuse_forget_in {
- uint64_t nlookup;
-};
-
-struct fuse_forget_one {
- uint64_t nodeid;
- uint64_t nlookup;
-};
-
-struct fuse_batch_forget_in {
- uint32_t count;
- uint32_t dummy;
-};
-
-struct fuse_getattr_in {
- uint32_t getattr_flags;
- uint32_t dummy;
- uint64_t fh;
-};
-
-#define FUSE_COMPAT_ATTR_OUT_SIZE 96
-
-struct fuse_attr_out {
- uint64_t attr_valid; /* Cache timeout for the attributes */
- uint32_t attr_valid_nsec;
- uint32_t dummy;
- struct fuse_attr attr;
-};
-
-#define FUSE_COMPAT_MKNOD_IN_SIZE 8
-
-struct fuse_mknod_in {
- uint32_t mode;
- uint32_t rdev;
- uint32_t umask;
- uint32_t padding;
-};
-
-struct fuse_mkdir_in {
- uint32_t mode;
- uint32_t umask;
-};
-
-struct fuse_rename_in {
- uint64_t newdir;
-};
-
-struct fuse_rename2_in {
- uint64_t newdir;
- uint32_t flags;
- uint32_t padding;
-};
-
-struct fuse_link_in {
- uint64_t oldnodeid;
-};
-
-struct fuse_setattr_in {
- uint32_t valid;
- uint32_t padding;
- uint64_t fh;
- uint64_t size;
- uint64_t lock_owner;
- uint64_t atime;
- uint64_t mtime;
- uint64_t ctime;
- uint32_t atimensec;
- uint32_t mtimensec;
- uint32_t ctimensec;
- uint32_t mode;
- uint32_t unused4;
- uint32_t uid;
- uint32_t gid;
- uint32_t unused5;
-};
-
-struct fuse_open_in {
- uint32_t flags;
- uint32_t unused;
-};
-
-struct fuse_create_in {
- uint32_t flags;
- uint32_t mode;
- uint32_t umask;
- uint32_t padding;
-};
-
-struct fuse_open_out {
- uint64_t fh;
- uint32_t open_flags;
- uint32_t padding;
-};
-
-struct fuse_release_in {
- uint64_t fh;
- uint32_t flags;
- uint32_t release_flags;
- uint64_t lock_owner;
-};
-
-struct fuse_flush_in {
- uint64_t fh;
- uint32_t unused;
- uint32_t padding;
- uint64_t lock_owner;
-};
-
-struct fuse_read_in {
- uint64_t fh;
- uint64_t offset;
- uint32_t size;
- uint32_t read_flags;
- uint64_t lock_owner;
- uint32_t flags;
- uint32_t padding;
-};
-
-#define FUSE_COMPAT_WRITE_IN_SIZE 24
-
-struct fuse_write_in {
- uint64_t fh;
- uint64_t offset;
- uint32_t size;
- uint32_t write_flags;
- uint64_t lock_owner;
- uint32_t flags;
- uint32_t padding;
-};
-
-struct fuse_write_out {
- uint32_t size;
- uint32_t padding;
-};
-
-#define FUSE_COMPAT_STATFS_SIZE 48
-
-struct fuse_statfs_out {
- struct fuse_kstatfs st;
-};
-
-struct fuse_fsync_in {
- uint64_t fh;
- uint32_t fsync_flags;
- uint32_t padding;
-};
-
-struct fuse_setxattr_in {
- uint32_t size;
- uint32_t flags;
-};
-
-struct fuse_getxattr_in {
- uint32_t size;
- uint32_t padding;
-};
-
-struct fuse_getxattr_out {
- uint32_t size;
- uint32_t padding;
-};
-
-struct fuse_lk_in {
- uint64_t fh;
- uint64_t owner;
- struct fuse_file_lock lk;
- uint32_t lk_flags;
- uint32_t padding;
-};
-
-struct fuse_lk_out {
- struct fuse_file_lock lk;
-};
-
-struct fuse_access_in {
- uint32_t mask;
- uint32_t padding;
-};
-
-struct fuse_init_in {
- uint32_t major;
- uint32_t minor;
- uint32_t max_readahead;
- uint32_t flags;
-};
-
-#define FUSE_COMPAT_INIT_OUT_SIZE 8
-#define FUSE_COMPAT_22_INIT_OUT_SIZE 24
-
-struct fuse_init_out {
- uint32_t major;
- uint32_t minor;
- uint32_t max_readahead;
- uint32_t flags;
- uint16_t max_background;
- uint16_t congestion_threshold;
- uint32_t max_write;
- uint32_t time_gran;
- uint32_t unused[9];
-};
-
-#define CUSE_INIT_INFO_MAX 4096
-
-struct cuse_init_in {
- uint32_t major;
- uint32_t minor;
- uint32_t unused;
- uint32_t flags;
-};
-
-struct cuse_init_out {
- uint32_t major;
- uint32_t minor;
- uint32_t unused;
- uint32_t flags;
- uint32_t max_read;
- uint32_t max_write;
- uint32_t dev_major; /* chardev major */
- uint32_t dev_minor; /* chardev minor */
- uint32_t spare[10];
-};
-
-struct fuse_interrupt_in {
- uint64_t unique;
-};
-
-struct fuse_bmap_in {
- uint64_t block;
- uint32_t blocksize;
- uint32_t padding;
-};
-
-struct fuse_bmap_out {
- uint64_t block;
-};
-
-struct fuse_ioctl_in {
- uint64_t fh;
- uint32_t flags;
- uint32_t cmd;
- uint64_t arg;
- uint32_t in_size;
- uint32_t out_size;
-};
-
-struct fuse_ioctl_iovec {
- uint64_t base;
- uint64_t len;
-};
-
-struct fuse_ioctl_out {
- int32_t result;
- uint32_t flags;
- uint32_t in_iovs;
- uint32_t out_iovs;
-};
-
-struct fuse_poll_in {
- uint64_t fh;
- uint64_t kh;
- uint32_t flags;
- uint32_t events;
-};
-
-struct fuse_poll_out {
- uint32_t revents;
- uint32_t padding;
-};
-
-struct fuse_notify_poll_wakeup_out {
- uint64_t kh;
-};
-
-struct fuse_fallocate_in {
- uint64_t fh;
- uint64_t offset;
- uint64_t length;
- uint32_t mode;
- uint32_t padding;
-};
-
-struct fuse_in_header {
- uint32_t len;
- uint32_t opcode;
- uint64_t unique;
- uint64_t nodeid;
- uint32_t uid;
- uint32_t gid;
- uint32_t pid;
- uint32_t padding;
-};
-
-struct fuse_out_header {
- uint32_t len;
- int32_t error;
- uint64_t unique;
-};
-
-struct fuse_dirent {
- uint64_t ino;
- uint64_t off;
- uint32_t namelen;
- uint32_t type;
- char name[];
-};
-
-#define FUSE_NAME_OFFSET offsetof(struct fuse_dirent, name)
-#define FUSE_DIRENT_ALIGN(x) \
- (((x) + sizeof(uint64_t) - 1) & ~(sizeof(uint64_t) - 1))
-#define FUSE_DIRENT_SIZE(d) \
- FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET + (d)->namelen)
-
-struct fuse_direntplus {
- struct fuse_entry_out entry_out;
- struct fuse_dirent dirent;
-};
-
-#define FUSE_NAME_OFFSET_DIRENTPLUS \
- offsetof(struct fuse_direntplus, dirent.name)
-#define FUSE_DIRENTPLUS_SIZE(d) \
- FUSE_DIRENT_ALIGN(FUSE_NAME_OFFSET_DIRENTPLUS + (d)->dirent.namelen)
-
-struct fuse_notify_inval_inode_out {
- uint64_t ino;
- int64_t off;
- int64_t len;
-};
-
-struct fuse_notify_inval_entry_out {
- uint64_t parent;
- uint32_t namelen;
- uint32_t padding;
-};
-
-struct fuse_notify_delete_out {
- uint64_t parent;
- uint64_t child;
- uint32_t namelen;
- uint32_t padding;
-};
-
-struct fuse_notify_store_out {
- uint64_t nodeid;
- uint64_t offset;
- uint32_t size;
- uint32_t padding;
-};
-
-struct fuse_notify_retrieve_out {
- uint64_t notify_unique;
- uint64_t nodeid;
- uint64_t offset;
- uint32_t size;
- uint32_t padding;
-};
-
-/* Matches the size of fuse_write_in */
-struct fuse_notify_retrieve_in {
- uint64_t dummy1;
- uint64_t offset;
- uint32_t size;
- uint32_t dummy2;
- uint64_t dummy3;
- uint64_t dummy4;
-};
-
-/* Device ioctls: */
-#define FUSE_DEV_IOC_CLONE _IOR(229, 0, uint32_t)
-
-struct fuse_lseek_in {
- uint64_t fh;
- uint64_t offset;
- uint32_t whence;
- uint32_t padding;
-};
-
-struct fuse_lseek_out {
- uint64_t offset;
-};
-
-#endif /* _LINUX_FUSE_H */
diff --git a/linux-headers/include/linux/futex.h b/linux-headers/include/linux/futex.h
deleted file mode 100644
index 7a46ab9..0000000
--- a/linux-headers/include/linux/futex.h
+++ /dev/null
@@ -1,152 +0,0 @@
-#ifndef _LINUX_FUTEX_H
-#define _LINUX_FUTEX_H
-
-
-#include <linux/types.h>
-
-/* Second argument to futex syscall */
-
-
-#define FUTEX_WAIT 0
-#define FUTEX_WAKE 1
-#define FUTEX_FD 2
-#define FUTEX_REQUEUE 3
-#define FUTEX_CMP_REQUEUE 4
-#define FUTEX_WAKE_OP 5
-#define FUTEX_LOCK_PI 6
-#define FUTEX_UNLOCK_PI 7
-#define FUTEX_TRYLOCK_PI 8
-#define FUTEX_WAIT_BITSET 9
-#define FUTEX_WAKE_BITSET 10
-#define FUTEX_WAIT_REQUEUE_PI 11
-#define FUTEX_CMP_REQUEUE_PI 12
-
-#define FUTEX_PRIVATE_FLAG 128
-#define FUTEX_CLOCK_REALTIME 256
-#define FUTEX_CMD_MASK ~(FUTEX_PRIVATE_FLAG | FUTEX_CLOCK_REALTIME)
-
-#define FUTEX_WAIT_PRIVATE (FUTEX_WAIT | FUTEX_PRIVATE_FLAG)
-#define FUTEX_WAKE_PRIVATE (FUTEX_WAKE | FUTEX_PRIVATE_FLAG)
-#define FUTEX_REQUEUE_PRIVATE (FUTEX_REQUEUE | FUTEX_PRIVATE_FLAG)
-#define FUTEX_CMP_REQUEUE_PRIVATE (FUTEX_CMP_REQUEUE | FUTEX_PRIVATE_FLAG)
-#define FUTEX_WAKE_OP_PRIVATE (FUTEX_WAKE_OP | FUTEX_PRIVATE_FLAG)
-#define FUTEX_LOCK_PI_PRIVATE (FUTEX_LOCK_PI | FUTEX_PRIVATE_FLAG)
-#define FUTEX_UNLOCK_PI_PRIVATE (FUTEX_UNLOCK_PI | FUTEX_PRIVATE_FLAG)
-#define FUTEX_TRYLOCK_PI_PRIVATE (FUTEX_TRYLOCK_PI | FUTEX_PRIVATE_FLAG)
-#define FUTEX_WAIT_BITSET_PRIVATE (FUTEX_WAIT_BITSET | FUTEX_PRIVATE_FLAG)
-#define FUTEX_WAKE_BITSET_PRIVATE (FUTEX_WAKE_BITSET | FUTEX_PRIVATE_FLAG)
-#define FUTEX_WAIT_REQUEUE_PI_PRIVATE (FUTEX_WAIT_REQUEUE_PI | \
- FUTEX_PRIVATE_FLAG)
-#define FUTEX_CMP_REQUEUE_PI_PRIVATE (FUTEX_CMP_REQUEUE_PI | \
- FUTEX_PRIVATE_FLAG)
-
-/*
- * Support for robust futexes: the kernel cleans up held futexes at
- * thread exit time.
- */
-
-/*
- * Per-lock list entry - embedded in user-space locks, somewhere close
- * to the futex field. (Note: user-space uses a double-linked list to
- * achieve O(1) list add and remove, but the kernel only needs to know
- * about the forward link)
- *
- * NOTE: this structure is part of the syscall ABI, and must not be
- * changed.
- */
-struct robust_list {
- struct robust_list *next;
-};
-
-/*
- * Per-thread list head:
- *
- * NOTE: this structure is part of the syscall ABI, and must only be
- * changed if the change is first communicated with the glibc folks.
- * (When an incompatible change is done, we'll increase the structure
- * size, which glibc will detect)
- */
-struct robust_list_head {
- /*
- * The head of the list. Points back to itself if empty:
- */
- struct robust_list list;
-
- /*
- * This relative offset is set by user-space, it gives the kernel
- * the relative position of the futex field to examine. This way
- * we keep userspace flexible, to freely shape its data-structure,
- * without hardcoding any particular offset into the kernel:
- */
- long futex_offset;
-
- /*
- * The death of the thread may race with userspace setting
- * up a lock's links. So to handle this race, userspace first
- * sets this field to the address of the to-be-taken lock,
- * then does the lock acquire, and then adds itself to the
- * list, and then clears this field. Hence the kernel will
- * always have full knowledge of all locks that the thread
- * _might_ have taken. We check the owner TID in any case,
- * so only truly owned locks will be handled.
- */
- struct robust_list *list_op_pending;
-};
-
-/*
- * Are there any waiters for this robust futex:
- */
-#define FUTEX_WAITERS 0x80000000
-
-/*
- * The kernel signals via this bit that a thread holding a futex
- * has exited without unlocking the futex. The kernel also does
- * a FUTEX_WAKE on such futexes, after setting the bit, to wake
- * up any possible waiters:
- */
-#define FUTEX_OWNER_DIED 0x40000000
-
-/*
- * The rest of the robust-futex field is for the TID:
- */
-#define FUTEX_TID_MASK 0x3fffffff
-
-/*
- * This limit protects against a deliberately circular list.
- * (Not worth introducing an rlimit for it)
- */
-#define ROBUST_LIST_LIMIT 2048
-
-/*
- * bitset with all bits set for the FUTEX_xxx_BITSET OPs to request a
- * match of any bit.
- */
-#define FUTEX_BITSET_MATCH_ANY 0xffffffff
-
-
-#define FUTEX_OP_SET 0 /* *(int *)UADDR2 = OPARG; */
-#define FUTEX_OP_ADD 1 /* *(int *)UADDR2 += OPARG; */
-#define FUTEX_OP_OR 2 /* *(int *)UADDR2 |= OPARG; */
-#define FUTEX_OP_ANDN 3 /* *(int *)UADDR2 &= ~OPARG; */
-#define FUTEX_OP_XOR 4 /* *(int *)UADDR2 ^= OPARG; */
-
-#define FUTEX_OP_OPARG_SHIFT 8 /* Use (1 << OPARG) instead of OPARG. */
-
-#define FUTEX_OP_CMP_EQ 0 /* if (oldval == CMPARG) wake */
-#define FUTEX_OP_CMP_NE 1 /* if (oldval != CMPARG) wake */
-#define FUTEX_OP_CMP_LT 2 /* if (oldval < CMPARG) wake */
-#define FUTEX_OP_CMP_LE 3 /* if (oldval <= CMPARG) wake */
-#define FUTEX_OP_CMP_GT 4 /* if (oldval > CMPARG) wake */
-#define FUTEX_OP_CMP_GE 5 /* if (oldval >= CMPARG) wake */
-
-/* FUTEX_WAKE_OP will perform atomically
- int oldval = *(int *)UADDR2;
- *(int *)UADDR2 = oldval OP OPARG;
- if (oldval CMP CMPARG)
- wake UADDR2; */
-
-#define FUTEX_OP(op, oparg, cmp, cmparg) \
- (((op & 0xf) << 28) | ((cmp & 0xf) << 24) \
- | ((oparg & 0xfff) << 12) | (cmparg & 0xfff))
-
-#endif /* _LINUX_FUTEX_H */
diff --git a/linux-headers/include/linux/gameport.h b/linux-headers/include/linux/gameport.h
deleted file mode 100644
index 34246b7..0000000
--- a/linux-headers/include/linux/gameport.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 1999-2002 Vojtech Pavlik
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- */
-#ifndef _GAMEPORT_H
-#define _GAMEPORT_H
-
-
-
-#define GAMEPORT_MODE_DISABLED 0
-#define GAMEPORT_MODE_RAW 1
-#define GAMEPORT_MODE_COOKED 2
-
-#define GAMEPORT_ID_VENDOR_ANALOG 0x0001
-#define GAMEPORT_ID_VENDOR_MADCATZ 0x0002
-#define GAMEPORT_ID_VENDOR_LOGITECH 0x0003
-#define GAMEPORT_ID_VENDOR_CREATIVE 0x0004
-#define GAMEPORT_ID_VENDOR_GENIUS 0x0005
-#define GAMEPORT_ID_VENDOR_INTERACT 0x0006
-#define GAMEPORT_ID_VENDOR_MICROSOFT 0x0007
-#define GAMEPORT_ID_VENDOR_THRUSTMASTER 0x0008
-#define GAMEPORT_ID_VENDOR_GRAVIS 0x0009
-#define GAMEPORT_ID_VENDOR_GUILLEMOT 0x000a
-
-#endif /* _GAMEPORT_H */
diff --git a/linux-headers/include/linux/gen_stats.h b/linux-headers/include/linux/gen_stats.h
deleted file mode 100644
index 6487317..0000000
--- a/linux-headers/include/linux/gen_stats.h
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef __LINUX_GEN_STATS_H
-#define __LINUX_GEN_STATS_H
-
-#include <linux/types.h>
-
-enum {
- TCA_STATS_UNSPEC,
- TCA_STATS_BASIC,
- TCA_STATS_RATE_EST,
- TCA_STATS_QUEUE,
- TCA_STATS_APP,
- TCA_STATS_RATE_EST64,
- __TCA_STATS_MAX,
-};
-#define TCA_STATS_MAX (__TCA_STATS_MAX - 1)
-
-/**
- * struct gnet_stats_basic - byte/packet throughput statistics
- * @bytes: number of seen bytes
- * @packets: number of seen packets
- */
-struct gnet_stats_basic {
- __u64 bytes;
- __u32 packets;
-};
-struct gnet_stats_basic_packed {
- __u64 bytes;
- __u32 packets;
-} __attribute__ ((packed));
-
-/**
- * struct gnet_stats_rate_est - rate estimator
- * @bps: current byte rate
- * @pps: current packet rate
- */
-struct gnet_stats_rate_est {
- __u32 bps;
- __u32 pps;
-};
-
-/**
- * struct gnet_stats_rate_est64 - rate estimator
- * @bps: current byte rate
- * @pps: current packet rate
- */
-struct gnet_stats_rate_est64 {
- __u64 bps;
- __u64 pps;
-};
-
-/**
- * struct gnet_stats_queue - queuing statistics
- * @qlen: queue length
- * @backlog: backlog size of queue
- * @drops: number of dropped packets
- * @requeues: number of requeues
- * @overlimits: number of enqueues over the limit
- */
-struct gnet_stats_queue {
- __u32 qlen;
- __u32 backlog;
- __u32 drops;
- __u32 requeues;
- __u32 overlimits;
-};
-
-/**
- * struct gnet_estimator - rate estimator configuration
- * @interval: sampling period
- * @ewma_log: the log of measurement window weight
- */
-struct gnet_estimator {
- signed char interval;
- unsigned char ewma_log;
-};
-
-
-#endif /* __LINUX_GEN_STATS_H */
diff --git a/linux-headers/include/linux/genetlink.h b/linux-headers/include/linux/genetlink.h
deleted file mode 100644
index e792092..0000000
--- a/linux-headers/include/linux/genetlink.h
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef __LINUX_GENERIC_NETLINK_H
-#define __LINUX_GENERIC_NETLINK_H
-
-#include <linux/types.h>
-#include <linux/netlink.h>
-
-#define GENL_NAMSIZ 16 /* length of family name */
-
-#define GENL_MIN_ID NLMSG_MIN_TYPE
-#define GENL_MAX_ID 1023
-
-struct genlmsghdr {
- __u8 cmd;
- __u8 version;
- __u16 reserved;
-};
-
-#define GENL_HDRLEN NLMSG_ALIGN(sizeof(struct genlmsghdr))
-
-#define GENL_ADMIN_PERM 0x01
-#define GENL_CMD_CAP_DO 0x02
-#define GENL_CMD_CAP_DUMP 0x04
-#define GENL_CMD_CAP_HASPOL 0x08
-#define GENL_UNS_ADMIN_PERM 0x10
-
-/*
- * List of reserved static generic netlink identifiers:
- */
-#define GENL_ID_GENERATE 0
-#define GENL_ID_CTRL NLMSG_MIN_TYPE
-#define GENL_ID_VFS_DQUOT (NLMSG_MIN_TYPE + 1)
-#define GENL_ID_PMCRAID (NLMSG_MIN_TYPE + 2)
-
-/**************************************************************************
- * Controller
- **************************************************************************/
-
-enum {
- CTRL_CMD_UNSPEC,
- CTRL_CMD_NEWFAMILY,
- CTRL_CMD_DELFAMILY,
- CTRL_CMD_GETFAMILY,
- CTRL_CMD_NEWOPS,
- CTRL_CMD_DELOPS,
- CTRL_CMD_GETOPS,
- CTRL_CMD_NEWMCAST_GRP,
- CTRL_CMD_DELMCAST_GRP,
- CTRL_CMD_GETMCAST_GRP, /* unused */
- __CTRL_CMD_MAX,
-};
-
-#define CTRL_CMD_MAX (__CTRL_CMD_MAX - 1)
-
-enum {
- CTRL_ATTR_UNSPEC,
- CTRL_ATTR_FAMILY_ID,
- CTRL_ATTR_FAMILY_NAME,
- CTRL_ATTR_VERSION,
- CTRL_ATTR_HDRSIZE,
- CTRL_ATTR_MAXATTR,
- CTRL_ATTR_OPS,
- CTRL_ATTR_MCAST_GROUPS,
- __CTRL_ATTR_MAX,
-};
-
-#define CTRL_ATTR_MAX (__CTRL_ATTR_MAX - 1)
-
-enum {
- CTRL_ATTR_OP_UNSPEC,
- CTRL_ATTR_OP_ID,
- CTRL_ATTR_OP_FLAGS,
- __CTRL_ATTR_OP_MAX,
-};
-
-#define CTRL_ATTR_OP_MAX (__CTRL_ATTR_OP_MAX - 1)
-
-enum {
- CTRL_ATTR_MCAST_GRP_UNSPEC,
- CTRL_ATTR_MCAST_GRP_NAME,
- CTRL_ATTR_MCAST_GRP_ID,
- __CTRL_ATTR_MCAST_GRP_MAX,
-};
-
-#define CTRL_ATTR_MCAST_GRP_MAX (__CTRL_ATTR_MCAST_GRP_MAX - 1)
-
-
-#endif /* __LINUX_GENERIC_NETLINK_H */
diff --git a/linux-headers/include/linux/gfs2_ondisk.h b/linux-headers/include/linux/gfs2_ondisk.h
deleted file mode 100644
index f78d1f0..0000000
--- a/linux-headers/include/linux/gfs2_ondisk.h
+++ /dev/null
@@ -1,482 +0,0 @@
-/*
- * Copyright (C) Sistina Software, Inc. 1997-2003 All rights reserved.
- * Copyright (C) 2004-2006 Red Hat, Inc. All rights reserved.
- *
- * This copyrighted material is made available to anyone wishing to use,
- * modify, copy, or redistribute it subject to the terms and conditions
- * of the GNU General Public License v.2.
- */
-
-#ifndef __GFS2_ONDISK_DOT_H__
-#define __GFS2_ONDISK_DOT_H__
-
-#include <linux/types.h>
-
-#define GFS2_MAGIC 0x01161970
-#define GFS2_BASIC_BLOCK 512
-#define GFS2_BASIC_BLOCK_SHIFT 9
-
-/* Lock numbers of the LM_TYPE_NONDISK type */
-
-#define GFS2_MOUNT_LOCK 0
-#define GFS2_LIVE_LOCK 1
-#define GFS2_FREEZE_LOCK 2
-#define GFS2_RENAME_LOCK 3
-#define GFS2_CONTROL_LOCK 4
-#define GFS2_MOUNTED_LOCK 5
-
-/* Format numbers for various metadata types */
-
-#define GFS2_FORMAT_NONE 0
-#define GFS2_FORMAT_SB 100
-#define GFS2_FORMAT_RG 200
-#define GFS2_FORMAT_RB 300
-#define GFS2_FORMAT_DI 400
-#define GFS2_FORMAT_IN 500
-#define GFS2_FORMAT_LF 600
-#define GFS2_FORMAT_JD 700
-#define GFS2_FORMAT_LH 800
-#define GFS2_FORMAT_LD 900
-#define GFS2_FORMAT_LB 1000
-#define GFS2_FORMAT_EA 1600
-#define GFS2_FORMAT_ED 1700
-#define GFS2_FORMAT_QC 1400
-/* These are format numbers for entities contained in files */
-#define GFS2_FORMAT_RI 1100
-#define GFS2_FORMAT_DE 1200
-#define GFS2_FORMAT_QU 1500
-/* These are part of the superblock */
-#define GFS2_FORMAT_FS 1801
-#define GFS2_FORMAT_MULTI 1900
-
-/*
- * An on-disk inode number
- */
-
-struct gfs2_inum {
- __be64 no_formal_ino;
- __be64 no_addr;
-};
-
-/*
- * Generic metadata head structure
- * Every inplace buffer logged in the journal must start with this.
- */
-
-#define GFS2_METATYPE_NONE 0
-#define GFS2_METATYPE_SB 1
-#define GFS2_METATYPE_RG 2
-#define GFS2_METATYPE_RB 3
-#define GFS2_METATYPE_DI 4
-#define GFS2_METATYPE_IN 5
-#define GFS2_METATYPE_LF 6
-#define GFS2_METATYPE_JD 7
-#define GFS2_METATYPE_LH 8
-#define GFS2_METATYPE_LD 9
-#define GFS2_METATYPE_LB 12
-#define GFS2_METATYPE_EA 10
-#define GFS2_METATYPE_ED 11
-#define GFS2_METATYPE_QC 14
-
-struct gfs2_meta_header {
- __be32 mh_magic;
- __be32 mh_type;
- __be64 __pad0; /* Was generation number in gfs1 */
- __be32 mh_format;
- /* This union is to keep userspace happy */
- union {
- __be32 mh_jid; /* Was incarnation number in gfs1 */
- __be32 __pad1;
- };
-};
-
-/*
- * super-block structure
- *
- * It's probably good if SIZEOF_SB <= GFS2_BASIC_BLOCK (512 bytes)
- *
- * Order is important, need to be able to read old superblocks to do on-disk
- * version upgrades.
- */
-
-/* Address of superblock in GFS2 basic blocks */
-#define GFS2_SB_ADDR 128
-
-/* The lock number for the superblock (must be zero) */
-#define GFS2_SB_LOCK 0
-
-/* Requirement: GFS2_LOCKNAME_LEN % 8 == 0
- Includes: the fencing zero at the end */
-#define GFS2_LOCKNAME_LEN 64
-
-struct gfs2_sb {
- struct gfs2_meta_header sb_header;
-
- __be32 sb_fs_format;
- __be32 sb_multihost_format;
- __u32 __pad0; /* Was superblock flags in gfs1 */
-
- __be32 sb_bsize;
- __be32 sb_bsize_shift;
- __u32 __pad1; /* Was journal segment size in gfs1 */
-
- struct gfs2_inum sb_master_dir; /* Was jindex dinode in gfs1 */
- struct gfs2_inum __pad2; /* Was rindex dinode in gfs1 */
- struct gfs2_inum sb_root_dir;
-
- char sb_lockproto[GFS2_LOCKNAME_LEN];
- char sb_locktable[GFS2_LOCKNAME_LEN];
-
- struct gfs2_inum __pad3; /* Was quota inode in gfs1 */
- struct gfs2_inum __pad4; /* Was licence inode in gfs1 */
-#define GFS2_HAS_UUID 1
- __u8 sb_uuid[16]; /* The UUID, maybe 0 for backwards compat */
-};
-
-/*
- * resource index structure
- */
-
-struct gfs2_rindex {
- __be64 ri_addr; /* grp block disk address */
- __be32 ri_length; /* length of rgrp header in fs blocks */
- __u32 __pad;
-
- __be64 ri_data0; /* first data location */
- __be32 ri_data; /* num of data blocks in rgrp */
-
- __be32 ri_bitbytes; /* number of bytes in data bitmaps */
-
- __u8 ri_reserved[64];
-};
-
-/*
- * resource group header structure
- */
-
-/* Number of blocks per byte in rgrp */
-#define GFS2_NBBY 4
-#define GFS2_BIT_SIZE 2
-#define GFS2_BIT_MASK 0x00000003
-
-#define GFS2_BLKST_FREE 0
-#define GFS2_BLKST_USED 1
-#define GFS2_BLKST_UNLINKED 2
-#define GFS2_BLKST_DINODE 3
-
-#define GFS2_RGF_JOURNAL 0x00000001
-#define GFS2_RGF_METAONLY 0x00000002
-#define GFS2_RGF_DATAONLY 0x00000004
-#define GFS2_RGF_NOALLOC 0x00000008
-#define GFS2_RGF_TRIMMED 0x00000010
-
-struct gfs2_rgrp_lvb {
- __be32 rl_magic;
- __be32 rl_flags;
- __be32 rl_free;
- __be32 rl_dinodes;
- __be64 rl_igeneration;
- __be32 rl_unlinked;
- __be32 __pad;
-};
-
-struct gfs2_rgrp {
- struct gfs2_meta_header rg_header;
-
- __be32 rg_flags;
- __be32 rg_free;
- __be32 rg_dinodes;
- __be32 __pad;
- __be64 rg_igeneration;
-
- __u8 rg_reserved[80]; /* Several fields from gfs1 now reserved */
-};
-
-/*
- * quota structure
- */
-
-struct gfs2_quota {
- __be64 qu_limit;
- __be64 qu_warn;
- __be64 qu_value;
- __u8 qu_reserved[64];
-};
-
-/*
- * dinode structure
- */
-
-#define GFS2_MAX_META_HEIGHT 10
-#define GFS2_DIR_MAX_DEPTH 17
-
-#define DT2IF(dt) (((dt) << 12) & S_IFMT)
-#define IF2DT(sif) (((sif) & S_IFMT) >> 12)
-
-enum {
- gfs2fl_Jdata = 0,
- gfs2fl_ExHash = 1,
- gfs2fl_Unused = 2,
- gfs2fl_EaIndirect = 3,
- gfs2fl_Directio = 4,
- gfs2fl_Immutable = 5,
- gfs2fl_AppendOnly = 6,
- gfs2fl_NoAtime = 7,
- gfs2fl_Sync = 8,
- gfs2fl_System = 9,
- gfs2fl_TopLevel = 10,
- gfs2fl_TruncInProg = 29,
- gfs2fl_InheritDirectio = 30,
- gfs2fl_InheritJdata = 31,
-};
-
-/* Dinode flags */
-#define GFS2_DIF_JDATA 0x00000001
-#define GFS2_DIF_EXHASH 0x00000002
-#define GFS2_DIF_UNUSED 0x00000004 /* only in gfs1 */
-#define GFS2_DIF_EA_INDIRECT 0x00000008
-#define GFS2_DIF_DIRECTIO 0x00000010
-#define GFS2_DIF_IMMUTABLE 0x00000020
-#define GFS2_DIF_APPENDONLY 0x00000040
-#define GFS2_DIF_NOATIME 0x00000080
-#define GFS2_DIF_SYNC 0x00000100
-#define GFS2_DIF_SYSTEM 0x00000200 /* New in gfs2 */
-#define GFS2_DIF_TOPDIR 0x00000400 /* New in gfs2 */
-#define GFS2_DIF_TRUNC_IN_PROG 0x20000000 /* New in gfs2 */
-#define GFS2_DIF_INHERIT_DIRECTIO 0x40000000 /* only in gfs1 */
-#define GFS2_DIF_INHERIT_JDATA 0x80000000
-
-struct gfs2_dinode {
- struct gfs2_meta_header di_header;
-
- struct gfs2_inum di_num;
-
- __be32 di_mode; /* mode of file */
- __be32 di_uid; /* owner's user id */
- __be32 di_gid; /* owner's group id */
- __be32 di_nlink; /* number of links to this file */
- __be64 di_size; /* number of bytes in file */
- __be64 di_blocks; /* number of blocks in file */
- __be64 di_atime; /* time last accessed */
- __be64 di_mtime; /* time last modified */
- __be64 di_ctime; /* time last changed */
- __be32 di_major; /* device major number */
- __be32 di_minor; /* device minor number */
-
- /* This section varies from gfs1. Padding added to align with
- * remainder of dinode
- */
- __be64 di_goal_meta; /* rgrp to alloc from next */
- __be64 di_goal_data; /* data block goal */
- __be64 di_generation; /* generation number for NFS */
-
- __be32 di_flags; /* GFS2_DIF_... */
- __be32 di_payload_format; /* GFS2_FORMAT_... */
- __u16 __pad1; /* Was ditype in gfs1 */
- __be16 di_height; /* height of metadata */
- __u32 __pad2; /* Unused incarnation number from gfs1 */
-
- /* These only apply to directories */
- __u16 __pad3; /* Padding */
- __be16 di_depth; /* Number of bits in the table */
- __be32 di_entries; /* The number of entries in the directory */
-
- struct gfs2_inum __pad4; /* Unused even in current gfs1 */
-
- __be64 di_eattr; /* extended attribute block number */
- __be32 di_atime_nsec; /* nsec portion of atime */
- __be32 di_mtime_nsec; /* nsec portion of mtime */
- __be32 di_ctime_nsec; /* nsec portion of ctime */
-
- __u8 di_reserved[44];
-};
-
-/*
- * directory structure - many of these per directory file
- */
-
-#define GFS2_FNAMESIZE 255
-#define GFS2_DIRENT_SIZE(name_len) ((sizeof(struct gfs2_dirent) + (name_len) + 7) & ~7)
-#define GFS2_MIN_DIRENT_SIZE (GFS2_DIRENT_SIZE(1))
-
-
-struct gfs2_dirent {
- struct gfs2_inum de_inum;
- __be32 de_hash;
- __be16 de_rec_len;
- __be16 de_name_len;
- __be16 de_type;
- __be16 de_rahead;
- union {
- __u8 __pad[12];
- struct {
- __u32 de_cookie; /* ondisk value not used */
- __u8 pad3[8];
- };
- };
-};
-
-/*
- * Header of leaf directory nodes
- */
-
-struct gfs2_leaf {
- struct gfs2_meta_header lf_header;
-
- __be16 lf_depth; /* Depth of leaf */
- __be16 lf_entries; /* Number of dirents in leaf */
- __be32 lf_dirent_format; /* Format of the dirents */
- __be64 lf_next; /* Next leaf, if overflow */
-
- union {
- __u8 lf_reserved[64];
- struct {
- __be64 lf_inode; /* Dir inode number */
- __be32 lf_dist; /* Dist from inode on chain */
- __be32 lf_nsec; /* Last ins/del usecs */
- __be64 lf_sec; /* Last ins/del in secs */
- __u8 lf_reserved2[40];
- };
- };
-};
-
-/*
- * Extended attribute header format
- *
- * This works in a similar way to dirents. There is a fixed size header
- * followed by a variable length section made up of the name and the
- * associated data. In the case of a "stuffed" entry, the value is
- * __inline__ directly after the name, the ea_num_ptrs entry will be
- * zero in that case. For non-"stuffed" entries, there will be
- * a set of pointers (aligned to 8 byte boundary) to the block(s)
- * containing the value.
- *
- * The blocks containing the values and the blocks containing the
- * extended attribute headers themselves all start with the common
- * metadata header. Each inode, if it has extended attributes, will
- * have either a single block containing the extended attribute headers
- * or a single indirect block pointing to blocks containing the
- * extended attribute headers.
- *
- * The maximum size of the data part of an extended attribute is 64k
- * so the number of blocks required depends upon block size. Since the
- * block size also determines the number of pointers in an indirect
- * block, its a fairly complicated calculation to work out the maximum
- * number of blocks that an inode may have relating to extended attributes.
- *
- */
-
-#define GFS2_EA_MAX_NAME_LEN 255
-#define GFS2_EA_MAX_DATA_LEN 65536
-
-#define GFS2_EATYPE_UNUSED 0
-#define GFS2_EATYPE_USR 1
-#define GFS2_EATYPE_SYS 2
-#define GFS2_EATYPE_SECURITY 3
-
-#define GFS2_EATYPE_LAST 3
-#define GFS2_EATYPE_VALID(x) ((x) <= GFS2_EATYPE_LAST)
-
-#define GFS2_EAFLAG_LAST 0x01 /* last ea in block */
-
-struct gfs2_ea_header {
- __be32 ea_rec_len;
- __be32 ea_data_len;
- __u8 ea_name_len; /* no NULL pointer after the string */
- __u8 ea_type; /* GFS2_EATYPE_... */
- __u8 ea_flags; /* GFS2_EAFLAG_... */
- __u8 ea_num_ptrs;
- __u32 __pad;
-};
-
-/*
- * Log header structure
- */
-
-#define GFS2_LOG_HEAD_UNMOUNT 0x00000001 /* log is clean */
-
-struct gfs2_log_header {
- struct gfs2_meta_header lh_header;
-
- __be64 lh_sequence; /* Sequence number of this transaction */
- __be32 lh_flags; /* GFS2_LOG_HEAD_... */
- __be32 lh_tail; /* Block number of log tail */
- __be32 lh_blkno;
- __be32 lh_hash;
-};
-
-/*
- * Log type descriptor
- */
-
-#define GFS2_LOG_DESC_METADATA 300
-/* ld_data1 is the number of metadata blocks in the descriptor.
- ld_data2 is unused. */
-
-#define GFS2_LOG_DESC_REVOKE 301
-/* ld_data1 is the number of revoke blocks in the descriptor.
- ld_data2 is unused. */
-
-#define GFS2_LOG_DESC_JDATA 302
-/* ld_data1 is the number of data blocks in the descriptor.
- ld_data2 is unused. */
-
-struct gfs2_log_descriptor {
- struct gfs2_meta_header ld_header;
-
- __be32 ld_type; /* GFS2_LOG_DESC_... */
- __be32 ld_length; /* Number of buffers in this chunk */
- __be32 ld_data1; /* descriptor-specific field */
- __be32 ld_data2; /* descriptor-specific field */
-
- __u8 ld_reserved[32];
-};
-
-/*
- * Inum Range
- * Describe a range of formal inode numbers allocated to
- * one machine to assign to inodes.
- */
-
-#define GFS2_INUM_QUANTUM 1048576
-
-struct gfs2_inum_range {
- __be64 ir_start;
- __be64 ir_length;
-};
-
-/*
- * Statfs change
- * Describes an change to the pool of free and allocated
- * blocks.
- */
-
-struct gfs2_statfs_change {
- __be64 sc_total;
- __be64 sc_free;
- __be64 sc_dinodes;
-};
-
-/*
- * Quota change
- * Describes an allocation change for a particular
- * user or group.
- */
-
-#define GFS2_QCF_USER 0x00000001
-
-struct gfs2_quota_change {
- __be64 qc_change;
- __be32 qc_flags; /* GFS2_QCF_... */
- __be32 qc_id;
-};
-
-struct gfs2_quota_lvb {
- __be32 qb_magic;
- __u32 __pad;
- __be64 qb_limit; /* Hard limit of # blocks to alloc */
- __be64 qb_warn; /* Warn user when alloc is above this # */
- __be64 qb_value; /* Current # blocks allocated */
-};
-
-#endif /* __GFS2_ONDISK_DOT_H__ */
diff --git a/linux-headers/include/linux/gigaset_dev.h b/linux-headers/include/linux/gigaset_dev.h
deleted file mode 100644
index 258ba82..0000000
--- a/linux-headers/include/linux/gigaset_dev.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * interface to user space for the gigaset driver
- *
- * Copyright (c) 2004 by Hansjoerg Lipp <hjlipp@web.de>
- *
- * =====================================================================
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- * =====================================================================
- */
-
-#ifndef GIGASET_INTERFACE_H
-#define GIGASET_INTERFACE_H
-
-#include <linux/ioctl.h>
-
-/* The magic IOCTL value for this interface. */
-#define GIGASET_IOCTL 0x47
-
-/* enable/disable device control via character device (lock out ISDN subsys) */
-#define GIGASET_REDIR _IOWR(GIGASET_IOCTL, 0, int)
-
-/* enable adapter configuration mode (M10x only) */
-#define GIGASET_CONFIG _IOWR(GIGASET_IOCTL, 1, int)
-
-/* set break characters (M105 only) */
-#define GIGASET_BRKCHARS _IOW(GIGASET_IOCTL, 2, unsigned char[6])
-
-/* get version information selected by arg[0] */
-#define GIGASET_VERSION _IOWR(GIGASET_IOCTL, 3, unsigned[4])
-/* values for GIGASET_VERSION arg[0] */
-#define GIGVER_DRIVER 0 /* get driver version */
-#define GIGVER_COMPAT 1 /* get interface compatibility version */
-#define GIGVER_FWBASE 2 /* get base station firmware version */
-
-#endif
diff --git a/linux-headers/include/linux/gpio.h b/linux-headers/include/linux/gpio.h
deleted file mode 100644
index 8667652..0000000
--- a/linux-headers/include/linux/gpio.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * <linux/gpio.h> - userspace ABI for the GPIO character devices
- *
- * Copyright (C) 2015 Linus Walleij
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- */
-#ifndef _GPIO_H_
-#define _GPIO_H_
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/**
- * struct gpiochip_info - Information about a certain GPIO chip
- * @name: the Linux kernel name of this GPIO chip
- * @label: a functional name for this GPIO chip, such as a product
- * number, may be NULL
- * @lines: number of GPIO lines on this chip
- */
-struct gpiochip_info {
- char name[32];
- char label[32];
- __u32 lines;
-};
-
-/* Line is in use by the kernel */
-#define GPIOLINE_FLAG_KERNEL (1UL << 0)
-#define GPIOLINE_FLAG_IS_OUT (1UL << 1)
-#define GPIOLINE_FLAG_ACTIVE_LOW (1UL << 2)
-#define GPIOLINE_FLAG_OPEN_DRAIN (1UL << 3)
-#define GPIOLINE_FLAG_OPEN_SOURCE (1UL << 4)
-
-/**
- * struct gpioline_info - Information about a certain GPIO line
- * @line_offset: the local offset on this GPIO device, fill this in when
- * requesting the line information from the kernel
- * @flags: various flags for this line
- * @name: the name of this GPIO line, such as the output pin of the line on the
- * chip, a rail or a pin header name on a board, as specified by the gpio
- * chip, may be NULL
- * @consumer: a functional name for the consumer of this GPIO line as set by
- * whatever is using it, will be NULL if there is no current user but may
- * also be NULL if the consumer doesn't set this up
- */
-struct gpioline_info {
- __u32 line_offset;
- __u32 flags;
- char name[32];
- char consumer[32];
-};
-
-#define GPIO_GET_CHIPINFO_IOCTL _IOR(0xB4, 0x01, struct gpiochip_info)
-#define GPIO_GET_LINEINFO_IOCTL _IOWR(0xB4, 0x02, struct gpioline_info)
-
-#endif /* _GPIO_H_ */
diff --git a/linux-headers/include/linux/gsmmux.h b/linux-headers/include/linux/gsmmux.h
deleted file mode 100644
index ab055d8..0000000
--- a/linux-headers/include/linux/gsmmux.h
+++ /dev/null
@@ -1,40 +0,0 @@
-#ifndef _LINUX_GSMMUX_H
-#define _LINUX_GSMMUX_H
-
-#include <linux/if.h>
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-struct gsm_config
-{
- unsigned int adaption;
- unsigned int encapsulation;
- unsigned int initiator;
- unsigned int t1;
- unsigned int t2;
- unsigned int t3;
- unsigned int n2;
- unsigned int mru;
- unsigned int mtu;
- unsigned int k;
- unsigned int i;
- unsigned int unused[8]; /* Padding for expansion without
- breaking stuff */
-};
-
-#define GSMIOC_GETCONF _IOR('G', 0, struct gsm_config)
-#define GSMIOC_SETCONF _IOW('G', 1, struct gsm_config)
-
-struct gsm_netconfig {
- unsigned int adaption; /* Adaption to use in network mode */
- unsigned short protocol;/* Protocol to use - only ETH_P_IP supported */
- unsigned short unused2;
- char if_name[IFNAMSIZ]; /* interface name format string */
- __u8 unused[28]; /* For future use */
-};
-
-#define GSMIOC_ENABLE_NET _IOW('G', 2, struct gsm_netconfig)
-#define GSMIOC_DISABLE_NET _IO('G', 3)
-
-
-#endif
diff --git a/linux-headers/include/linux/hdlc.h b/linux-headers/include/linux/hdlc.h
deleted file mode 100644
index 89e484d..0000000
--- a/linux-headers/include/linux/hdlc.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * Generic HDLC support routines for Linux
- *
- * Copyright (C) 1999-2005 Krzysztof Halasa <khc@pm.waw.pl>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2 of the GNU General Public License
- * as published by the Free Software Foundation.
- */
-
-#ifndef __HDLC_H
-#define __HDLC_H
-
-
-#define HDLC_MAX_MTU 1500 /* Ethernet 1500 bytes */
-#if 0
-#define HDLC_MAX_MRU (HDLC_MAX_MTU + 10 + 14 + 4) /* for ETH+VLAN over FR */
-#else
-#define HDLC_MAX_MRU 1600 /* as required for FR network */
-#endif
-
-
-#endif /* __HDLC_H */
diff --git a/linux-headers/include/linux/hdlc/ioctl.h b/linux-headers/include/linux/hdlc/ioctl.h
deleted file mode 100644
index 04bc027..0000000
--- a/linux-headers/include/linux/hdlc/ioctl.h
+++ /dev/null
@@ -1,84 +0,0 @@
-#ifndef __HDLC_IOCTL_H__
-#define __HDLC_IOCTL_H__
-
-
-#define GENERIC_HDLC_VERSION 4 /* For synchronization with sethdlc utility */
-
-#define CLOCK_DEFAULT 0 /* Default setting */
-#define CLOCK_EXT 1 /* External TX and RX clock - DTE */
-#define CLOCK_INT 2 /* Internal TX and RX clock - DCE */
-#define CLOCK_TXINT 3 /* Internal TX and external RX clock */
-#define CLOCK_TXFROMRX 4 /* TX clock derived from external RX clock */
-
-
-#define ENCODING_DEFAULT 0 /* Default setting */
-#define ENCODING_NRZ 1
-#define ENCODING_NRZI 2
-#define ENCODING_FM_MARK 3
-#define ENCODING_FM_SPACE 4
-#define ENCODING_MANCHESTER 5
-
-
-#define PARITY_DEFAULT 0 /* Default setting */
-#define PARITY_NONE 1 /* No parity */
-#define PARITY_CRC16_PR0 2 /* CRC16, initial value 0x0000 */
-#define PARITY_CRC16_PR1 3 /* CRC16, initial value 0xFFFF */
-#define PARITY_CRC16_PR0_CCITT 4 /* CRC16, initial 0x0000, ITU-T version */
-#define PARITY_CRC16_PR1_CCITT 5 /* CRC16, initial 0xFFFF, ITU-T version */
-#define PARITY_CRC32_PR0_CCITT 6 /* CRC32, initial value 0x00000000 */
-#define PARITY_CRC32_PR1_CCITT 7 /* CRC32, initial value 0xFFFFFFFF */
-
-#define LMI_DEFAULT 0 /* Default setting */
-#define LMI_NONE 1 /* No LMI, all PVCs are static */
-#define LMI_ANSI 2 /* ANSI Annex D */
-#define LMI_CCITT 3 /* ITU-T Annex A */
-#define LMI_CISCO 4 /* The "original" LMI, aka Gang of Four */
-
-#ifndef __ASSEMBLY__
-
-typedef struct {
- unsigned int clock_rate; /* bits per second */
- unsigned int clock_type; /* internal, external, TX-internal etc. */
- unsigned short loopback;
-} sync_serial_settings; /* V.35, V.24, X.21 */
-
-typedef struct {
- unsigned int clock_rate; /* bits per second */
- unsigned int clock_type; /* internal, external, TX-internal etc. */
- unsigned short loopback;
- unsigned int slot_map;
-} te1_settings; /* T1, E1 */
-
-typedef struct {
- unsigned short encoding;
- unsigned short parity;
-} raw_hdlc_proto;
-
-typedef struct {
- unsigned int t391;
- unsigned int t392;
- unsigned int n391;
- unsigned int n392;
- unsigned int n393;
- unsigned short lmi;
- unsigned short dce; /* 1 for DCE (network side) operation */
-} fr_proto;
-
-typedef struct {
- unsigned int dlci;
-} fr_proto_pvc; /* for creating/deleting FR PVCs */
-
-typedef struct {
- unsigned int dlci;
- char master[IFNAMSIZ]; /* Name of master FRAD device */
-}fr_proto_pvc_info; /* for returning PVC information only */
-
-typedef struct {
- unsigned int interval;
- unsigned int timeout;
-} cisco_proto;
-
-/* PPP doesn't need any info now - supply length = 0 to ioctl */
-
-#endif /* __ASSEMBLY__ */
-#endif /* __HDLC_IOCTL_H__ */
diff --git a/linux-headers/include/linux/hdlcdrv.h b/linux-headers/include/linux/hdlcdrv.h
deleted file mode 100644
index 422d965..0000000
--- a/linux-headers/include/linux/hdlcdrv.h
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * hdlcdrv.h -- HDLC packet radio network driver.
- * The Linux soundcard driver for 1200 baud and 9600 baud packet radio
- * (C) 1996-1998 by Thomas Sailer, HB9JNX/AE4WA
- */
-
-#ifndef _HDLCDRV_H
-#define _HDLCDRV_H
-
-/* -------------------------------------------------------------------- */
-/*
- * structs for the IOCTL commands
- */
-
-struct hdlcdrv_params {
- int iobase;
- int irq;
- int dma;
- int dma2;
- int seriobase;
- int pariobase;
- int midiiobase;
-};
-
-struct hdlcdrv_channel_params {
- int tx_delay; /* the transmitter keyup delay in 10ms units */
- int tx_tail; /* the transmitter keyoff delay in 10ms units */
- int slottime; /* the slottime in 10ms; usually 10 = 100ms */
- int ppersist; /* the p-persistence 0..255 */
- int fulldup; /* some driver do not support full duplex, setting */
- /* this just makes them send even if DCD is on */
-};
-
-struct hdlcdrv_old_channel_state {
- int ptt;
- int dcd;
- int ptt_keyed;
-};
-
-struct hdlcdrv_channel_state {
- int ptt;
- int dcd;
- int ptt_keyed;
- unsigned long tx_packets;
- unsigned long tx_errors;
- unsigned long rx_packets;
- unsigned long rx_errors;
-};
-
-struct hdlcdrv_ioctl {
- int cmd;
- union {
- struct hdlcdrv_params mp;
- struct hdlcdrv_channel_params cp;
- struct hdlcdrv_channel_state cs;
- struct hdlcdrv_old_channel_state ocs;
- unsigned int calibrate;
- unsigned char bits;
- char modename[128];
- char drivername[32];
- } data;
-};
-
-/* -------------------------------------------------------------------- */
-
-/*
- * ioctl values
- */
-#define HDLCDRVCTL_GETMODEMPAR 0
-#define HDLCDRVCTL_SETMODEMPAR 1
-#define HDLCDRVCTL_MODEMPARMASK 2 /* not handled by hdlcdrv */
-#define HDLCDRVCTL_GETCHANNELPAR 10
-#define HDLCDRVCTL_SETCHANNELPAR 11
-#define HDLCDRVCTL_OLDGETSTAT 20
-#define HDLCDRVCTL_CALIBRATE 21
-#define HDLCDRVCTL_GETSTAT 22
-
-/*
- * these are mainly for debugging purposes
- */
-#define HDLCDRVCTL_GETSAMPLES 30
-#define HDLCDRVCTL_GETBITS 31
-
-/*
- * not handled by hdlcdrv, but by its depending drivers
- */
-#define HDLCDRVCTL_GETMODE 40
-#define HDLCDRVCTL_SETMODE 41
-#define HDLCDRVCTL_MODELIST 42
-#define HDLCDRVCTL_DRIVERNAME 43
-
-/*
- * mask of needed modem parameters, returned by HDLCDRVCTL_MODEMPARMASK
- */
-#define HDLCDRV_PARMASK_IOBASE (1<<0)
-#define HDLCDRV_PARMASK_IRQ (1<<1)
-#define HDLCDRV_PARMASK_DMA (1<<2)
-#define HDLCDRV_PARMASK_DMA2 (1<<3)
-#define HDLCDRV_PARMASK_SERIOBASE (1<<4)
-#define HDLCDRV_PARMASK_PARIOBASE (1<<5)
-#define HDLCDRV_PARMASK_MIDIIOBASE (1<<6)
-
-/* -------------------------------------------------------------------- */
-
-
-/* -------------------------------------------------------------------- */
-
-#endif /* _HDLCDRV_H */
-
-/* -------------------------------------------------------------------- */
diff --git a/linux-headers/include/linux/hdreg.h b/linux-headers/include/linux/hdreg.h
deleted file mode 100644
index 774173f..0000000
--- a/linux-headers/include/linux/hdreg.h
+++ /dev/null
@@ -1,642 +0,0 @@
-#ifndef _LINUX_HDREG_H
-#define _LINUX_HDREG_H
-
-#include <linux/types.h>
-
-/*
- * Command Header sizes for IOCTL commands
- */
-
-#define HDIO_DRIVE_CMD_HDR_SIZE (4 * sizeof(__u8))
-#define HDIO_DRIVE_HOB_HDR_SIZE (8 * sizeof(__u8))
-#define HDIO_DRIVE_TASK_HDR_SIZE (8 * sizeof(__u8))
-
-#define IDE_DRIVE_TASK_NO_DATA 0
-#define IDE_DRIVE_TASK_INVALID -1
-#define IDE_DRIVE_TASK_SET_XFER 1
-#define IDE_DRIVE_TASK_IN 2
-#define IDE_DRIVE_TASK_OUT 3
-#define IDE_DRIVE_TASK_RAW_WRITE 4
-
-/*
- * Define standard taskfile in/out register
- */
-#define IDE_TASKFILE_STD_IN_FLAGS 0xFE
-#define IDE_HOB_STD_IN_FLAGS 0x3C
-#define IDE_TASKFILE_STD_OUT_FLAGS 0xFE
-#define IDE_HOB_STD_OUT_FLAGS 0x3C
-
-typedef unsigned char task_ioreg_t;
-typedef unsigned long sata_ioreg_t;
-
-typedef union ide_reg_valid_s {
- unsigned all : 16;
- struct {
- unsigned data : 1;
- unsigned error_feature : 1;
- unsigned sector : 1;
- unsigned nsector : 1;
- unsigned lcyl : 1;
- unsigned hcyl : 1;
- unsigned select : 1;
- unsigned status_command : 1;
-
- unsigned data_hob : 1;
- unsigned error_feature_hob : 1;
- unsigned sector_hob : 1;
- unsigned nsector_hob : 1;
- unsigned lcyl_hob : 1;
- unsigned hcyl_hob : 1;
- unsigned select_hob : 1;
- unsigned control_hob : 1;
- } b;
-} ide_reg_valid_t;
-
-typedef struct ide_task_request_s {
- __u8 io_ports[8];
- __u8 hob_ports[8]; /* bytes 6 and 7 are unused */
- ide_reg_valid_t out_flags;
- ide_reg_valid_t in_flags;
- int data_phase;
- int req_cmd;
- unsigned long out_size;
- unsigned long in_size;
-} ide_task_request_t;
-
-typedef struct ide_ioctl_request_s {
- ide_task_request_t *task_request;
- unsigned char *out_buffer;
- unsigned char *in_buffer;
-} ide_ioctl_request_t;
-
-struct hd_drive_cmd_hdr {
- __u8 command;
- __u8 sector_number;
- __u8 feature;
- __u8 sector_count;
-};
-
-typedef struct hd_drive_task_hdr {
- __u8 data;
- __u8 feature;
- __u8 sector_count;
- __u8 sector_number;
- __u8 low_cylinder;
- __u8 high_cylinder;
- __u8 device_head;
- __u8 command;
-} task_struct_t;
-
-typedef struct hd_drive_hob_hdr {
- __u8 data;
- __u8 feature;
- __u8 sector_count;
- __u8 sector_number;
- __u8 low_cylinder;
- __u8 high_cylinder;
- __u8 device_head;
- __u8 control;
-} hob_struct_t;
-
-#define TASKFILE_NO_DATA 0x0000
-
-#define TASKFILE_IN 0x0001
-#define TASKFILE_MULTI_IN 0x0002
-
-#define TASKFILE_OUT 0x0004
-#define TASKFILE_MULTI_OUT 0x0008
-#define TASKFILE_IN_OUT 0x0010
-
-#define TASKFILE_IN_DMA 0x0020
-#define TASKFILE_OUT_DMA 0x0040
-#define TASKFILE_IN_DMAQ 0x0080
-#define TASKFILE_OUT_DMAQ 0x0100
-
-#define TASKFILE_P_IN 0x0200
-#define TASKFILE_P_OUT 0x0400
-#define TASKFILE_P_IN_DMA 0x0800
-#define TASKFILE_P_OUT_DMA 0x1000
-#define TASKFILE_P_IN_DMAQ 0x2000
-#define TASKFILE_P_OUT_DMAQ 0x4000
-#define TASKFILE_48 0x8000
-#define TASKFILE_INVALID 0x7fff
-
-/* ATA/ATAPI Commands pre T13 Spec */
-#define WIN_NOP 0x00
-/*
- * 0x01->0x02 Reserved
- */
-#define CFA_REQ_EXT_ERROR_CODE 0x03 /* CFA Request Extended Error Code */
-/*
- * 0x04->0x07 Reserved
- */
-#define WIN_SRST 0x08 /* ATAPI soft reset command */
-#define WIN_DEVICE_RESET 0x08
-/*
- * 0x09->0x0F Reserved
- */
-#define WIN_RECAL 0x10
-#define WIN_RESTORE WIN_RECAL
-/*
- * 0x10->0x1F Reserved
- */
-#define WIN_READ 0x20 /* 28-Bit */
-#define WIN_READ_ONCE 0x21 /* 28-Bit without retries */
-#define WIN_READ_LONG 0x22 /* 28-Bit */
-#define WIN_READ_LONG_ONCE 0x23 /* 28-Bit without retries */
-#define WIN_READ_EXT 0x24 /* 48-Bit */
-#define WIN_READDMA_EXT 0x25 /* 48-Bit */
-#define WIN_READDMA_QUEUED_EXT 0x26 /* 48-Bit */
-#define WIN_READ_NATIVE_MAX_EXT 0x27 /* 48-Bit */
-/*
- * 0x28
- */
-#define WIN_MULTREAD_EXT 0x29 /* 48-Bit */
-/*
- * 0x2A->0x2F Reserved
- */
-#define WIN_WRITE 0x30 /* 28-Bit */
-#define WIN_WRITE_ONCE 0x31 /* 28-Bit without retries */
-#define WIN_WRITE_LONG 0x32 /* 28-Bit */
-#define WIN_WRITE_LONG_ONCE 0x33 /* 28-Bit without retries */
-#define WIN_WRITE_EXT 0x34 /* 48-Bit */
-#define WIN_WRITEDMA_EXT 0x35 /* 48-Bit */
-#define WIN_WRITEDMA_QUEUED_EXT 0x36 /* 48-Bit */
-#define WIN_SET_MAX_EXT 0x37 /* 48-Bit */
-#define CFA_WRITE_SECT_WO_ERASE 0x38 /* CFA Write Sectors without erase */
-#define WIN_MULTWRITE_EXT 0x39 /* 48-Bit */
-/*
- * 0x3A->0x3B Reserved
- */
-#define WIN_WRITE_VERIFY 0x3C /* 28-Bit */
-/*
- * 0x3D->0x3F Reserved
- */
-#define WIN_VERIFY 0x40 /* 28-Bit - Read Verify Sectors */
-#define WIN_VERIFY_ONCE 0x41 /* 28-Bit - without retries */
-#define WIN_VERIFY_EXT 0x42 /* 48-Bit */
-/*
- * 0x43->0x4F Reserved
- */
-#define WIN_FORMAT 0x50
-/*
- * 0x51->0x5F Reserved
- */
-#define WIN_INIT 0x60
-/*
- * 0x61->0x5F Reserved
- */
-#define WIN_SEEK 0x70 /* 0x70-0x7F Reserved */
-
-#define CFA_TRANSLATE_SECTOR 0x87 /* CFA Translate Sector */
-#define WIN_DIAGNOSE 0x90
-#define WIN_SPECIFY 0x91 /* set drive geometry translation */
-#define WIN_DOWNLOAD_MICROCODE 0x92
-#define WIN_STANDBYNOW2 0x94
-#define WIN_STANDBY2 0x96
-#define WIN_SETIDLE2 0x97
-#define WIN_CHECKPOWERMODE2 0x98
-#define WIN_SLEEPNOW2 0x99
-/*
- * 0x9A VENDOR
- */
-#define WIN_PACKETCMD 0xA0 /* Send a packet command. */
-#define WIN_PIDENTIFY 0xA1 /* identify ATAPI device */
-#define WIN_QUEUED_SERVICE 0xA2
-#define WIN_SMART 0xB0 /* self-monitoring and reporting */
-#define CFA_ERASE_SECTORS 0xC0
-#define WIN_MULTREAD 0xC4 /* read sectors using multiple mode*/
-#define WIN_MULTWRITE 0xC5 /* write sectors using multiple mode */
-#define WIN_SETMULT 0xC6 /* enable/disable multiple mode */
-#define WIN_READDMA_QUEUED 0xC7 /* read sectors using Queued DMA transfers */
-#define WIN_READDMA 0xC8 /* read sectors using DMA transfers */
-#define WIN_READDMA_ONCE 0xC9 /* 28-Bit - without retries */
-#define WIN_WRITEDMA 0xCA /* write sectors using DMA transfers */
-#define WIN_WRITEDMA_ONCE 0xCB /* 28-Bit - without retries */
-#define WIN_WRITEDMA_QUEUED 0xCC /* write sectors using Queued DMA transfers */
-#define CFA_WRITE_MULTI_WO_ERASE 0xCD /* CFA Write multiple without erase */
-#define WIN_GETMEDIASTATUS 0xDA
-#define WIN_ACKMEDIACHANGE 0xDB /* ATA-1, ATA-2 vendor */
-#define WIN_POSTBOOT 0xDC
-#define WIN_PREBOOT 0xDD
-#define WIN_DOORLOCK 0xDE /* lock door on removable drives */
-#define WIN_DOORUNLOCK 0xDF /* unlock door on removable drives */
-#define WIN_STANDBYNOW1 0xE0
-#define WIN_IDLEIMMEDIATE 0xE1 /* force drive to become "ready" */
-#define WIN_STANDBY 0xE2 /* Set device in Standby Mode */
-#define WIN_SETIDLE1 0xE3
-#define WIN_READ_BUFFER 0xE4 /* force read only 1 sector */
-#define WIN_CHECKPOWERMODE1 0xE5
-#define WIN_SLEEPNOW1 0xE6
-#define WIN_FLUSH_CACHE 0xE7
-#define WIN_WRITE_BUFFER 0xE8 /* force write only 1 sector */
-#define WIN_WRITE_SAME 0xE9 /* read ata-2 to use */
- /* SET_FEATURES 0x22 or 0xDD */
-#define WIN_FLUSH_CACHE_EXT 0xEA /* 48-Bit */
-#define WIN_IDENTIFY 0xEC /* ask drive to identify itself */
-#define WIN_MEDIAEJECT 0xED
-#define WIN_IDENTIFY_DMA 0xEE /* same as WIN_IDENTIFY, but DMA */
-#define WIN_SETFEATURES 0xEF /* set special drive features */
-#define EXABYTE_ENABLE_NEST 0xF0
-#define WIN_SECURITY_SET_PASS 0xF1
-#define WIN_SECURITY_UNLOCK 0xF2
-#define WIN_SECURITY_ERASE_PREPARE 0xF3
-#define WIN_SECURITY_ERASE_UNIT 0xF4
-#define WIN_SECURITY_FREEZE_LOCK 0xF5
-#define WIN_SECURITY_DISABLE 0xF6
-#define WIN_READ_NATIVE_MAX 0xF8 /* return the native maximum address */
-#define WIN_SET_MAX 0xF9
-#define DISABLE_SEAGATE 0xFB
-
-/* WIN_SMART sub-commands */
-
-#define SMART_READ_VALUES 0xD0
-#define SMART_READ_THRESHOLDS 0xD1
-#define SMART_AUTOSAVE 0xD2
-#define SMART_SAVE 0xD3
-#define SMART_IMMEDIATE_OFFLINE 0xD4
-#define SMART_READ_LOG_SECTOR 0xD5
-#define SMART_WRITE_LOG_SECTOR 0xD6
-#define SMART_WRITE_THRESHOLDS 0xD7
-#define SMART_ENABLE 0xD8
-#define SMART_DISABLE 0xD9
-#define SMART_STATUS 0xDA
-#define SMART_AUTO_OFFLINE 0xDB
-
-/* Password used in TF4 & TF5 executing SMART commands */
-
-#define SMART_LCYL_PASS 0x4F
-#define SMART_HCYL_PASS 0xC2
-
-/* WIN_SETFEATURES sub-commands */
-#define SETFEATURES_EN_8BIT 0x01 /* Enable 8-Bit Transfers */
-#define SETFEATURES_EN_WCACHE 0x02 /* Enable write cache */
-#define SETFEATURES_DIS_DEFECT 0x04 /* Disable Defect Management */
-#define SETFEATURES_EN_APM 0x05 /* Enable advanced power management */
-#define SETFEATURES_EN_SAME_R 0x22 /* for a region ATA-1 */
-#define SETFEATURES_DIS_MSN 0x31 /* Disable Media Status Notification */
-#define SETFEATURES_DIS_RETRY 0x33 /* Disable Retry */
-#define SETFEATURES_EN_AAM 0x42 /* Enable Automatic Acoustic Management */
-#define SETFEATURES_RW_LONG 0x44 /* Set Length of VS bytes */
-#define SETFEATURES_SET_CACHE 0x54 /* Set Cache segments to SC Reg. Val */
-#define SETFEATURES_DIS_RLA 0x55 /* Disable read look-ahead feature */
-#define SETFEATURES_EN_RI 0x5D /* Enable release interrupt */
-#define SETFEATURES_EN_SI 0x5E /* Enable SERVICE interrupt */
-#define SETFEATURES_DIS_RPOD 0x66 /* Disable reverting to power on defaults */
-#define SETFEATURES_DIS_ECC 0x77 /* Disable ECC byte count */
-#define SETFEATURES_DIS_8BIT 0x81 /* Disable 8-Bit Transfers */
-#define SETFEATURES_DIS_WCACHE 0x82 /* Disable write cache */
-#define SETFEATURES_EN_DEFECT 0x84 /* Enable Defect Management */
-#define SETFEATURES_DIS_APM 0x85 /* Disable advanced power management */
-#define SETFEATURES_EN_ECC 0x88 /* Enable ECC byte count */
-#define SETFEATURES_EN_MSN 0x95 /* Enable Media Status Notification */
-#define SETFEATURES_EN_RETRY 0x99 /* Enable Retry */
-#define SETFEATURES_EN_RLA 0xAA /* Enable read look-ahead feature */
-#define SETFEATURES_PREFETCH 0xAB /* Sets drive prefetch value */
-#define SETFEATURES_EN_REST 0xAC /* ATA-1 */
-#define SETFEATURES_4B_RW_LONG 0xBB /* Set Length of 4 bytes */
-#define SETFEATURES_DIS_AAM 0xC2 /* Disable Automatic Acoustic Management */
-#define SETFEATURES_EN_RPOD 0xCC /* Enable reverting to power on defaults */
-#define SETFEATURES_DIS_RI 0xDD /* Disable release interrupt ATAPI */
-#define SETFEATURES_EN_SAME_M 0xDD /* for a entire device ATA-1 */
-#define SETFEATURES_DIS_SI 0xDE /* Disable SERVICE interrupt ATAPI */
-
-/* WIN_SECURITY sub-commands */
-
-#define SECURITY_SET_PASSWORD 0xBA
-#define SECURITY_UNLOCK 0xBB
-#define SECURITY_ERASE_PREPARE 0xBC
-#define SECURITY_ERASE_UNIT 0xBD
-#define SECURITY_FREEZE_LOCK 0xBE
-#define SECURITY_DISABLE_PASSWORD 0xBF
-
-struct hd_geometry {
- unsigned char heads;
- unsigned char sectors;
- unsigned short cylinders;
- unsigned long start;
-};
-
-/* hd/ide ctl's that pass (arg) ptrs to user space are numbered 0x030n/0x031n */
-#define HDIO_GETGEO 0x0301 /* get device geometry */
-#define HDIO_GET_UNMASKINTR 0x0302 /* get current unmask setting */
-#define HDIO_GET_MULTCOUNT 0x0304 /* get current IDE blockmode setting */
-#define HDIO_GET_QDMA 0x0305 /* get use-qdma flag */
-
-#define HDIO_SET_XFER 0x0306 /* set transfer rate via proc */
-
-#define HDIO_OBSOLETE_IDENTITY 0x0307 /* OBSOLETE, DO NOT USE: returns 142 bytes */
-#define HDIO_GET_KEEPSETTINGS 0x0308 /* get keep-settings-on-reset flag */
-#define HDIO_GET_32BIT 0x0309 /* get current io_32bit setting */
-#define HDIO_GET_NOWERR 0x030a /* get ignore-write-error flag */
-#define HDIO_GET_DMA 0x030b /* get use-dma flag */
-#define HDIO_GET_NICE 0x030c /* get nice flags */
-#define HDIO_GET_IDENTITY 0x030d /* get IDE identification info */
-#define HDIO_GET_WCACHE 0x030e /* get write cache mode on|off */
-#define HDIO_GET_ACOUSTIC 0x030f /* get acoustic value */
-#define HDIO_GET_ADDRESS 0x0310 /* */
-
-#define HDIO_GET_BUSSTATE 0x031a /* get the bus state of the hwif */
-#define HDIO_TRISTATE_HWIF 0x031b /* execute a channel tristate */
-#define HDIO_DRIVE_RESET 0x031c /* execute a device reset */
-#define HDIO_DRIVE_TASKFILE 0x031d /* execute raw taskfile */
-#define HDIO_DRIVE_TASK 0x031e /* execute task and special drive command */
-#define HDIO_DRIVE_CMD 0x031f /* execute a special drive command */
-#define HDIO_DRIVE_CMD_AEB HDIO_DRIVE_TASK
-
-/* hd/ide ctl's that pass (arg) non-ptr values are numbered 0x032n/0x033n */
-#define HDIO_SET_MULTCOUNT 0x0321 /* change IDE blockmode */
-#define HDIO_SET_UNMASKINTR 0x0322 /* permit other irqs during I/O */
-#define HDIO_SET_KEEPSETTINGS 0x0323 /* keep ioctl settings on reset */
-#define HDIO_SET_32BIT 0x0324 /* change io_32bit flags */
-#define HDIO_SET_NOWERR 0x0325 /* change ignore-write-error flag */
-#define HDIO_SET_DMA 0x0326 /* change use-dma flag */
-#define HDIO_SET_PIO_MODE 0x0327 /* reconfig interface to new speed */
-#define HDIO_SCAN_HWIF 0x0328 /* register and (re)scan interface */
-#define HDIO_UNREGISTER_HWIF 0x032a /* unregister interface */
-#define HDIO_SET_NICE 0x0329 /* set nice flags */
-#define HDIO_SET_WCACHE 0x032b /* change write cache enable-disable */
-#define HDIO_SET_ACOUSTIC 0x032c /* change acoustic behavior */
-#define HDIO_SET_BUSSTATE 0x032d /* set the bus state of the hwif */
-#define HDIO_SET_QDMA 0x032e /* change use-qdma flag */
-#define HDIO_SET_ADDRESS 0x032f /* change lba addressing modes */
-
-/* bus states */
-enum {
- BUSSTATE_OFF = 0,
- BUSSTATE_ON,
- BUSSTATE_TRISTATE
-};
-
-/* hd/ide ctl's that pass (arg) ptrs to user space are numbered 0x033n/0x033n */
-/* 0x330 is reserved - used to be HDIO_GETGEO_BIG */
-/* 0x331 is reserved - used to be HDIO_GETGEO_BIG_RAW */
-/* 0x338 is reserved - used to be HDIO_SET_IDE_SCSI */
-/* 0x339 is reserved - used to be HDIO_SET_SCSI_IDE */
-
-#define __NEW_HD_DRIVE_ID
-
-/*
- * Structure returned by HDIO_GET_IDENTITY, as per ANSI NCITS ATA6 rev.1b spec.
- *
- * If you change something here, please remember to update fix_driveid() in
- * ide/probe.c.
- */
-struct hd_driveid {
- unsigned short config; /* lots of obsolete bit flags */
- unsigned short cyls; /* Obsolete, "physical" cyls */
- unsigned short reserved2; /* reserved (word 2) */
- unsigned short heads; /* Obsolete, "physical" heads */
- unsigned short track_bytes; /* unformatted bytes per track */
- unsigned short sector_bytes; /* unformatted bytes per sector */
- unsigned short sectors; /* Obsolete, "physical" sectors per track */
- unsigned short vendor0; /* vendor unique */
- unsigned short vendor1; /* vendor unique */
- unsigned short vendor2; /* Retired vendor unique */
- unsigned char serial_no[20]; /* 0 = not_specified */
- unsigned short buf_type; /* Retired */
- unsigned short buf_size; /* Retired, 512 byte increments
- * 0 = not_specified
- */
- unsigned short ecc_bytes; /* for r/w long cmds; 0 = not_specified */
- unsigned char fw_rev[8]; /* 0 = not_specified */
- unsigned char model[40]; /* 0 = not_specified */
- unsigned char max_multsect; /* 0=not_implemented */
- unsigned char vendor3; /* vendor unique */
- unsigned short dword_io; /* 0=not_implemented; 1=implemented */
- unsigned char vendor4; /* vendor unique */
- unsigned char capability; /* (upper byte of word 49)
- * 3: IORDYsup
- * 2: IORDYsw
- * 1: LBA
- * 0: DMA
- */
- unsigned short reserved50; /* reserved (word 50) */
- unsigned char vendor5; /* Obsolete, vendor unique */
- unsigned char tPIO; /* Obsolete, 0=slow, 1=medium, 2=fast */
- unsigned char vendor6; /* Obsolete, vendor unique */
- unsigned char tDMA; /* Obsolete, 0=slow, 1=medium, 2=fast */
- unsigned short field_valid; /* (word 53)
- * 2: ultra_ok word 88
- * 1: eide_ok words 64-70
- * 0: cur_ok words 54-58
- */
- unsigned short cur_cyls; /* Obsolete, logical cylinders */
- unsigned short cur_heads; /* Obsolete, l heads */
- unsigned short cur_sectors; /* Obsolete, l sectors per track */
- unsigned short cur_capacity0; /* Obsolete, l total sectors on drive */
- unsigned short cur_capacity1; /* Obsolete, (2 words, misaligned int) */
- unsigned char multsect; /* current multiple sector count */
- unsigned char multsect_valid; /* when (bit0==1) multsect is ok */
- unsigned int lba_capacity; /* Obsolete, total number of sectors */
- unsigned short dma_1word; /* Obsolete, single-word dma info */
- unsigned short dma_mword; /* multiple-word dma info */
- unsigned short eide_pio_modes; /* bits 0:mode3 1:mode4 */
- unsigned short eide_dma_min; /* min mword dma cycle time (ns) */
- unsigned short eide_dma_time; /* recommended mword dma cycle time (ns) */
- unsigned short eide_pio; /* min cycle time (ns), no IORDY */
- unsigned short eide_pio_iordy; /* min cycle time (ns), with IORDY */
- unsigned short words69_70[2]; /* reserved words 69-70
- * future command overlap and queuing
- */
- unsigned short words71_74[4]; /* reserved words 71-74
- * for IDENTIFY PACKET DEVICE command
- */
- unsigned short queue_depth; /* (word 75)
- * 15:5 reserved
- * 4:0 Maximum queue depth -1
- */
- unsigned short words76_79[4]; /* reserved words 76-79 */
- unsigned short major_rev_num; /* (word 80) */
- unsigned short minor_rev_num; /* (word 81) */
- unsigned short command_set_1; /* (word 82) supported
- * 15: Obsolete
- * 14: NOP command
- * 13: READ_BUFFER
- * 12: WRITE_BUFFER
- * 11: Obsolete
- * 10: Host Protected Area
- * 9: DEVICE Reset
- * 8: SERVICE Interrupt
- * 7: Release Interrupt
- * 6: look-ahead
- * 5: write cache
- * 4: PACKET Command
- * 3: Power Management Feature Set
- * 2: Removable Feature Set
- * 1: Security Feature Set
- * 0: SMART Feature Set
- */
- unsigned short command_set_2; /* (word 83)
- * 15: Shall be ZERO
- * 14: Shall be ONE
- * 13: FLUSH CACHE EXT
- * 12: FLUSH CACHE
- * 11: Device Configuration Overlay
- * 10: 48-bit Address Feature Set
- * 9: Automatic Acoustic Management
- * 8: SET MAX security
- * 7: reserved 1407DT PARTIES
- * 6: SetF sub-command Power-Up
- * 5: Power-Up in Standby Feature Set
- * 4: Removable Media Notification
- * 3: APM Feature Set
- * 2: CFA Feature Set
- * 1: READ/WRITE DMA QUEUED
- * 0: Download MicroCode
- */
- unsigned short cfsse; /* (word 84)
- * cmd set-feature supported extensions
- * 15: Shall be ZERO
- * 14: Shall be ONE
- * 13:6 reserved
- * 5: General Purpose Logging
- * 4: Streaming Feature Set
- * 3: Media Card Pass Through
- * 2: Media Serial Number Valid
- * 1: SMART selt-test supported
- * 0: SMART error logging
- */
- unsigned short cfs_enable_1; /* (word 85)
- * command set-feature enabled
- * 15: Obsolete
- * 14: NOP command
- * 13: READ_BUFFER
- * 12: WRITE_BUFFER
- * 11: Obsolete
- * 10: Host Protected Area
- * 9: DEVICE Reset
- * 8: SERVICE Interrupt
- * 7: Release Interrupt
- * 6: look-ahead
- * 5: write cache
- * 4: PACKET Command
- * 3: Power Management Feature Set
- * 2: Removable Feature Set
- * 1: Security Feature Set
- * 0: SMART Feature Set
- */
- unsigned short cfs_enable_2; /* (word 86)
- * command set-feature enabled
- * 15: Shall be ZERO
- * 14: Shall be ONE
- * 13: FLUSH CACHE EXT
- * 12: FLUSH CACHE
- * 11: Device Configuration Overlay
- * 10: 48-bit Address Feature Set
- * 9: Automatic Acoustic Management
- * 8: SET MAX security
- * 7: reserved 1407DT PARTIES
- * 6: SetF sub-command Power-Up
- * 5: Power-Up in Standby Feature Set
- * 4: Removable Media Notification
- * 3: APM Feature Set
- * 2: CFA Feature Set
- * 1: READ/WRITE DMA QUEUED
- * 0: Download MicroCode
- */
- unsigned short csf_default; /* (word 87)
- * command set-feature default
- * 15: Shall be ZERO
- * 14: Shall be ONE
- * 13:6 reserved
- * 5: General Purpose Logging enabled
- * 4: Valid CONFIGURE STREAM executed
- * 3: Media Card Pass Through enabled
- * 2: Media Serial Number Valid
- * 1: SMART selt-test supported
- * 0: SMART error logging
- */
- unsigned short dma_ultra; /* (word 88) */
- unsigned short trseuc; /* time required for security erase */
- unsigned short trsEuc; /* time required for enhanced erase */
- unsigned short CurAPMvalues; /* current APM values */
- unsigned short mprc; /* master password revision code */
- unsigned short hw_config; /* hardware config (word 93)
- * 15: Shall be ZERO
- * 14: Shall be ONE
- * 13:
- * 12:
- * 11:
- * 10:
- * 9:
- * 8:
- * 7:
- * 6:
- * 5:
- * 4:
- * 3:
- * 2:
- * 1:
- * 0: Shall be ONE
- */
- unsigned short acoustic; /* (word 94)
- * 15:8 Vendor's recommended value
- * 7:0 current value
- */
- unsigned short msrqs; /* min stream request size */
- unsigned short sxfert; /* stream transfer time */
- unsigned short sal; /* stream access latency */
- unsigned int spg; /* stream performance granularity */
- unsigned long long lba_capacity_2;/* 48-bit total number of sectors */
- unsigned short words104_125[22];/* reserved words 104-125 */
- unsigned short last_lun; /* (word 126) */
- unsigned short word127; /* (word 127) Feature Set
- * Removable Media Notification
- * 15:2 reserved
- * 1:0 00 = not supported
- * 01 = supported
- * 10 = reserved
- * 11 = reserved
- */
- unsigned short dlf; /* (word 128)
- * device lock function
- * 15:9 reserved
- * 8 security level 1:max 0:high
- * 7:6 reserved
- * 5 enhanced erase
- * 4 expire
- * 3 frozen
- * 2 locked
- * 1 en/disabled
- * 0 capability
- */
- unsigned short csfo; /* (word 129)
- * current set features options
- * 15:4 reserved
- * 3: auto reassign
- * 2: reverting
- * 1: read-look-ahead
- * 0: write cache
- */
- unsigned short words130_155[26];/* reserved vendor words 130-155 */
- unsigned short word156; /* reserved vendor word 156 */
- unsigned short words157_159[3];/* reserved vendor words 157-159 */
- unsigned short cfa_power; /* (word 160) CFA Power Mode
- * 15 word 160 supported
- * 14 reserved
- * 13
- * 12
- * 11:0
- */
- unsigned short words161_175[15];/* Reserved for CFA */
- unsigned short words176_205[30];/* Current Media Serial Number */
- unsigned short words206_254[49];/* reserved words 206-254 */
- unsigned short integrity_word; /* (word 255)
- * 15:8 Checksum
- * 7:0 Signature
- */
-};
-
-/*
- * IDE "nice" flags. These are used on a per drive basis to determine
- * when to be nice and give more bandwidth to the other devices which
- * share the same IDE bus.
- */
-#define IDE_NICE_DSC_OVERLAP (0) /* per the DSC overlap protocol */
-#define IDE_NICE_ATAPI_OVERLAP (1) /* not supported yet */
-#define IDE_NICE_1 (3) /* when probably won't affect us much */
-#define IDE_NICE_0 (2) /* when sure that it won't affect us */
-#define IDE_NICE_2 (4) /* when we know it's on our expense */
-
-#endif /* _LINUX_HDREG_H */
diff --git a/linux-headers/include/linux/hid.h b/linux-headers/include/linux/hid.h
deleted file mode 100644
index 2c23ba6..0000000
--- a/linux-headers/include/linux/hid.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 1999 Andreas Gal
- * Copyright (c) 2000-2001 Vojtech Pavlik
- * Copyright (c) 2006-2007 Jiri Kosina
- */
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Should you need to contact me, the author, you can do so either by
- * e-mail - mail your message to <vojtech@ucw.cz>, or by paper mail:
- * Vojtech Pavlik, Simunkova 1594, Prague 8, 182 00 Czech Republic
- */
-#ifndef __HID_H
-#define __HID_H
-
-
-
-/*
- * USB HID (Human Interface Device) interface class code
- */
-
-#define USB_INTERFACE_CLASS_HID 3
-
-/*
- * USB HID interface subclass and protocol codes
- */
-
-#define USB_INTERFACE_SUBCLASS_BOOT 1
-#define USB_INTERFACE_PROTOCOL_KEYBOARD 1
-#define USB_INTERFACE_PROTOCOL_MOUSE 2
-
-/*
- * HID class requests
- */
-
-#define HID_REQ_GET_REPORT 0x01
-#define HID_REQ_GET_IDLE 0x02
-#define HID_REQ_GET_PROTOCOL 0x03
-#define HID_REQ_SET_REPORT 0x09
-#define HID_REQ_SET_IDLE 0x0A
-#define HID_REQ_SET_PROTOCOL 0x0B
-
-/*
- * HID class descriptor types
- */
-
-#define HID_DT_HID (USB_TYPE_CLASS | 0x01)
-#define HID_DT_REPORT (USB_TYPE_CLASS | 0x02)
-#define HID_DT_PHYSICAL (USB_TYPE_CLASS | 0x03)
-
-#define HID_MAX_DESCRIPTOR_SIZE 4096
-
-
-#endif /* __HID_H */
diff --git a/linux-headers/include/linux/hiddev.h b/linux-headers/include/linux/hiddev.h
deleted file mode 100644
index e24ca19..0000000
--- a/linux-headers/include/linux/hiddev.h
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 1999-2000 Vojtech Pavlik
- *
- * Sponsored by SuSE
- */
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Should you need to contact me, the author, you can do so either by
- * e-mail - mail your message to <vojtech@suse.cz>, or by paper mail:
- * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic
- */
-#ifndef _HIDDEV_H
-#define _HIDDEV_H
-
-
-
-#include <linux/types.h>
-
-/*
- * The event structure itself
- */
-
-struct hiddev_event {
- unsigned hid;
- signed int value;
-};
-
-struct hiddev_devinfo {
- __u32 bustype;
- __u32 busnum;
- __u32 devnum;
- __u32 ifnum;
- __s16 vendor;
- __s16 product;
- __s16 version;
- __u32 num_applications;
-};
-
-struct hiddev_collection_info {
- __u32 index;
- __u32 type;
- __u32 usage;
- __u32 level;
-};
-
-#define HID_STRING_SIZE 256
-struct hiddev_string_descriptor {
- __s32 index;
- char value[HID_STRING_SIZE];
-};
-
-struct hiddev_report_info {
- __u32 report_type;
- __u32 report_id;
- __u32 num_fields;
-};
-
-/* To do a GUSAGE/SUSAGE, fill in at least usage_code, report_type and
- * report_id. Set report_id to REPORT_ID_UNKNOWN if the rest of the fields
- * are unknown. Otherwise use a usage_ref struct filled in from a previous
- * successful GUSAGE call to save time. To actually send a value to the
- * device, perform a SUSAGE first, followed by a SREPORT. An INITREPORT or a
- * GREPORT isn't necessary for a GUSAGE to return valid data.
- */
-#define HID_REPORT_ID_UNKNOWN 0xffffffff
-#define HID_REPORT_ID_FIRST 0x00000100
-#define HID_REPORT_ID_NEXT 0x00000200
-#define HID_REPORT_ID_MASK 0x000000ff
-#define HID_REPORT_ID_MAX 0x000000ff
-
-#define HID_REPORT_TYPE_INPUT 1
-#define HID_REPORT_TYPE_OUTPUT 2
-#define HID_REPORT_TYPE_FEATURE 3
-#define HID_REPORT_TYPE_MIN 1
-#define HID_REPORT_TYPE_MAX 3
-
-struct hiddev_field_info {
- __u32 report_type;
- __u32 report_id;
- __u32 field_index;
- __u32 maxusage;
- __u32 flags;
- __u32 physical; /* physical usage for this field */
- __u32 logical; /* logical usage for this field */
- __u32 application; /* application usage for this field */
- __s32 logical_minimum;
- __s32 logical_maximum;
- __s32 physical_minimum;
- __s32 physical_maximum;
- __u32 unit_exponent;
- __u32 unit;
-};
-
-/* Fill in report_type, report_id and field_index to get the information on a
- * field.
- */
-#define HID_FIELD_CONSTANT 0x001
-#define HID_FIELD_VARIABLE 0x002
-#define HID_FIELD_RELATIVE 0x004
-#define HID_FIELD_WRAP 0x008
-#define HID_FIELD_NONLINEAR 0x010
-#define HID_FIELD_NO_PREFERRED 0x020
-#define HID_FIELD_NULL_STATE 0x040
-#define HID_FIELD_VOLATILE 0x080
-#define HID_FIELD_BUFFERED_BYTE 0x100
-
-struct hiddev_usage_ref {
- __u32 report_type;
- __u32 report_id;
- __u32 field_index;
- __u32 usage_index;
- __u32 usage_code;
- __s32 value;
-};
-
-/* hiddev_usage_ref_multi is used for sending multiple bytes to a control.
- * It really manifests itself as setting the value of consecutive usages */
-#define HID_MAX_MULTI_USAGES 1024
-struct hiddev_usage_ref_multi {
- struct hiddev_usage_ref uref;
- __u32 num_values;
- __s32 values[HID_MAX_MULTI_USAGES];
-};
-
-/* FIELD_INDEX_NONE is returned in read() data from the kernel when flags
- * is set to (HIDDEV_FLAG_UREF | HIDDEV_FLAG_REPORT) and a new report has
- * been sent by the device
- */
-#define HID_FIELD_INDEX_NONE 0xffffffff
-
-/*
- * Protocol version.
- */
-
-#define HID_VERSION 0x010004
-
-/*
- * IOCTLs (0x00 - 0x7f)
- */
-
-#define HIDIOCGVERSION _IOR('H', 0x01, int)
-#define HIDIOCAPPLICATION _IO('H', 0x02)
-#define HIDIOCGDEVINFO _IOR('H', 0x03, struct hiddev_devinfo)
-#define HIDIOCGSTRING _IOR('H', 0x04, struct hiddev_string_descriptor)
-#define HIDIOCINITREPORT _IO('H', 0x05)
-#define HIDIOCGNAME(len) _IOC(_IOC_READ, 'H', 0x06, len)
-#define HIDIOCGREPORT _IOW('H', 0x07, struct hiddev_report_info)
-#define HIDIOCSREPORT _IOW('H', 0x08, struct hiddev_report_info)
-#define HIDIOCGREPORTINFO _IOWR('H', 0x09, struct hiddev_report_info)
-#define HIDIOCGFIELDINFO _IOWR('H', 0x0A, struct hiddev_field_info)
-#define HIDIOCGUSAGE _IOWR('H', 0x0B, struct hiddev_usage_ref)
-#define HIDIOCSUSAGE _IOW('H', 0x0C, struct hiddev_usage_ref)
-#define HIDIOCGUCODE _IOWR('H', 0x0D, struct hiddev_usage_ref)
-#define HIDIOCGFLAG _IOR('H', 0x0E, int)
-#define HIDIOCSFLAG _IOW('H', 0x0F, int)
-#define HIDIOCGCOLLECTIONINDEX _IOW('H', 0x10, struct hiddev_usage_ref)
-#define HIDIOCGCOLLECTIONINFO _IOWR('H', 0x11, struct hiddev_collection_info)
-#define HIDIOCGPHYS(len) _IOC(_IOC_READ, 'H', 0x12, len)
-
-/* For writing/reading to multiple/consecutive usages */
-#define HIDIOCGUSAGES _IOWR('H', 0x13, struct hiddev_usage_ref_multi)
-#define HIDIOCSUSAGES _IOW('H', 0x14, struct hiddev_usage_ref_multi)
-
-/*
- * Flags to be used in HIDIOCSFLAG
- */
-#define HIDDEV_FLAG_UREF 0x1
-#define HIDDEV_FLAG_REPORT 0x2
-#define HIDDEV_FLAGS 0x3
-
-/* To traverse the input report descriptor info for a HID device, perform the
- * following:
- *
- * rinfo.report_type = HID_REPORT_TYPE_INPUT;
- * rinfo.report_id = HID_REPORT_ID_FIRST;
- * ret = ioctl(fd, HIDIOCGREPORTINFO, &rinfo);
- *
- * while (ret >= 0) {
- * for (i = 0; i < rinfo.num_fields; i++) {
- * finfo.report_type = rinfo.report_type;
- * finfo.report_id = rinfo.report_id;
- * finfo.field_index = i;
- * ioctl(fd, HIDIOCGFIELDINFO, &finfo);
- * for (j = 0; j < finfo.maxusage; j++) {
- * uref.report_type = rinfo.report_type;
- * uref.report_id = rinfo.report_id;
- * uref.field_index = i;
- * uref.usage_index = j;
- * ioctl(fd, HIDIOCGUCODE, &uref);
- * ioctl(fd, HIDIOCGUSAGE, &uref);
- * }
- * }
- * rinfo.report_id |= HID_REPORT_ID_NEXT;
- * ret = ioctl(fd, HIDIOCGREPORTINFO, &rinfo);
- * }
- */
-
-
-#endif /* _HIDDEV_H */
diff --git a/linux-headers/include/linux/hidraw.h b/linux-headers/include/linux/hidraw.h
deleted file mode 100644
index e781b0e..0000000
--- a/linux-headers/include/linux/hidraw.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 2007 Jiri Kosina
- */
-/*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
- */
-#ifndef _HIDRAW_H
-#define _HIDRAW_H
-
-
-
-#include <linux/hid.h>
-#include <linux/types.h>
-
-struct hidraw_report_descriptor {
- __u32 size;
- __u8 value[HID_MAX_DESCRIPTOR_SIZE];
-};
-
-struct hidraw_devinfo {
- __u32 bustype;
- __s16 vendor;
- __s16 product;
-};
-
-/* ioctl interface */
-#define HIDIOCGRDESCSIZE _IOR('H', 0x01, int)
-#define HIDIOCGRDESC _IOR('H', 0x02, struct hidraw_report_descriptor)
-#define HIDIOCGRAWINFO _IOR('H', 0x03, struct hidraw_devinfo)
-#define HIDIOCGRAWNAME(len) _IOC(_IOC_READ, 'H', 0x04, len)
-#define HIDIOCGRAWPHYS(len) _IOC(_IOC_READ, 'H', 0x05, len)
-/* The first byte of SFEATURE and GFEATURE is the report number */
-#define HIDIOCSFEATURE(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x06, len)
-#define HIDIOCGFEATURE(len) _IOC(_IOC_WRITE|_IOC_READ, 'H', 0x07, len)
-
-#define HIDRAW_FIRST_MINOR 0
-#define HIDRAW_MAX_DEVICES 64
-/* number of reports to buffer */
-#define HIDRAW_BUFFER_SIZE 64
-
-
-/* kernel-only API declarations */
-
-#endif /* _HIDRAW_H */
diff --git a/linux-headers/include/linux/hpet.h b/linux-headers/include/linux/hpet.h
deleted file mode 100644
index 031f16f..0000000
--- a/linux-headers/include/linux/hpet.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef __HPET__
-#define __HPET__
-
-
-
-
-struct hpet_info {
- unsigned long hi_ireqfreq; /* Hz */
- unsigned long hi_flags; /* information */
- unsigned short hi_hpet;
- unsigned short hi_timer;
-};
-
-#define HPET_INFO_PERIODIC 0x0010 /* periodic-capable comparator */
-
-#define HPET_IE_ON _IO('h', 0x01) /* interrupt on */
-#define HPET_IE_OFF _IO('h', 0x02) /* interrupt off */
-#define HPET_INFO _IOR('h', 0x03, struct hpet_info)
-#define HPET_EPI _IO('h', 0x04) /* enable periodic */
-#define HPET_DPI _IO('h', 0x05) /* disable periodic */
-#define HPET_IRQFREQ _IOW('h', 0x6, unsigned long) /* IRQFREQ usec */
-
-#define MAX_HPET_TBS 8 /* maximum hpet timer blocks */
-
-#endif /* __HPET__ */
diff --git a/linux-headers/include/linux/hsi/cs-protocol.h b/linux-headers/include/linux/hsi/cs-protocol.h
deleted file mode 100644
index f153d6e..0000000
--- a/linux-headers/include/linux/hsi/cs-protocol.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * cmt-speech interface definitions
- *
- * Copyright (C) 2008,2009,2010 Nokia Corporation. All rights reserved.
- *
- * Contact: Kai Vehmanen <kai.vehmanen@nokia.com>
- * Original author: Peter Ujfalusi <peter.ujfalusi@nokia.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-#ifndef _CS_PROTOCOL_H
-#define _CS_PROTOCOL_H
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-/* chardev parameters */
-#define CS_DEV_FILE_NAME "/dev/cmt_speech"
-
-/* user-space API versioning */
-#define CS_IF_VERSION 2
-
-/* APE kernel <-> user space messages */
-#define CS_CMD_SHIFT 28
-#define CS_DOMAIN_SHIFT 24
-
-#define CS_CMD_MASK 0xff000000
-#define CS_PARAM_MASK 0xffffff
-
-#define CS_CMD(id, dom) \
- (((id) << CS_CMD_SHIFT) | ((dom) << CS_DOMAIN_SHIFT))
-
-#define CS_ERROR CS_CMD(1, 0)
-#define CS_RX_DATA_RECEIVED CS_CMD(2, 0)
-#define CS_TX_DATA_READY CS_CMD(3, 0)
-#define CS_TX_DATA_SENT CS_CMD(4, 0)
-
-/* params to CS_ERROR indication */
-#define CS_ERR_PEER_RESET 0
-
-/* ioctl interface */
-
-/* parameters to CS_CONFIG_BUFS ioctl */
-#define CS_FEAT_TSTAMP_RX_CTRL (1 << 0)
-#define CS_FEAT_ROLLING_RX_COUNTER (2 << 0)
-
-/* parameters to CS_GET_STATE ioctl */
-#define CS_STATE_CLOSED 0
-#define CS_STATE_OPENED 1 /* resource allocated */
-#define CS_STATE_CONFIGURED 2 /* data path active */
-
-/* maximum number of TX/RX buffers */
-#define CS_MAX_BUFFERS_SHIFT 4
-#define CS_MAX_BUFFERS (1 << CS_MAX_BUFFERS_SHIFT)
-
-/* Parameters for setting up the data buffers */
-struct cs_buffer_config {
- __u32 rx_bufs; /* number of RX buffer slots */
- __u32 tx_bufs; /* number of TX buffer slots */
- __u32 buf_size; /* bytes */
- __u32 flags; /* see CS_FEAT_* */
- __u32 reserved[4];
-};
-
-/*
- * struct for monotonic timestamp taken when the
- * last control command was received
- */
-struct cs_timestamp {
- __u32 tv_sec; /* seconds */
- __u32 tv_nsec; /* nanoseconds */
-};
-
-/*
- * Struct describing the layout and contents of the driver mmap area.
- * This information is meant as read-only information for the application.
- */
-struct cs_mmap_config_block {
- __u32 reserved1;
- __u32 buf_size; /* 0=disabled, otherwise the transfer size */
- __u32 rx_bufs; /* # of RX buffers */
- __u32 tx_bufs; /* # of TX buffers */
- __u32 reserved2;
- /* array of offsets within the mmap area for each RX and TX buffer */
- __u32 rx_offsets[CS_MAX_BUFFERS];
- __u32 tx_offsets[CS_MAX_BUFFERS];
- __u32 rx_ptr;
- __u32 rx_ptr_boundary;
- __u32 reserved3[2];
- /* enabled with CS_FEAT_TSTAMP_RX_CTRL */
- struct cs_timestamp tstamp_rx_ctrl;
-};
-
-#define CS_IO_MAGIC 'C'
-
-#define CS_IOW(num, dtype) _IOW(CS_IO_MAGIC, num, dtype)
-#define CS_IOR(num, dtype) _IOR(CS_IO_MAGIC, num, dtype)
-#define CS_IOWR(num, dtype) _IOWR(CS_IO_MAGIC, num, dtype)
-#define CS_IO(num) _IO(CS_IO_MAGIC, num)
-
-#define CS_GET_STATE CS_IOR(21, unsigned int)
-#define CS_SET_WAKELINE CS_IOW(23, unsigned int)
-#define CS_GET_IF_VERSION CS_IOR(30, unsigned int)
-#define CS_CONFIG_BUFS CS_IOW(31, struct cs_buffer_config)
-
-#endif /* _CS_PROTOCOL_H */
diff --git a/linux-headers/include/linux/hsi/hsi_char.h b/linux-headers/include/linux/hsi/hsi_char.h
deleted file mode 100644
index 76160b4..0000000
--- a/linux-headers/include/linux/hsi/hsi_char.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Part of the HSI character device driver.
- *
- * Copyright (C) 2010 Nokia Corporation. All rights reserved.
- *
- * Contact: Andras Domokos <andras.domokos at nokia.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-
-#ifndef __HSI_CHAR_H
-#define __HSI_CHAR_H
-
-#define HSI_CHAR_MAGIC 'k'
-#define HSC_IOW(num, dtype) _IOW(HSI_CHAR_MAGIC, num, dtype)
-#define HSC_IOR(num, dtype) _IOR(HSI_CHAR_MAGIC, num, dtype)
-#define HSC_IOWR(num, dtype) _IOWR(HSI_CHAR_MAGIC, num, dtype)
-#define HSC_IO(num) _IO(HSI_CHAR_MAGIC, num)
-
-#define HSC_RESET HSC_IO(16)
-#define HSC_SET_PM HSC_IO(17)
-#define HSC_SEND_BREAK HSC_IO(18)
-#define HSC_SET_RX HSC_IOW(19, struct hsc_rx_config)
-#define HSC_GET_RX HSC_IOW(20, struct hsc_rx_config)
-#define HSC_SET_TX HSC_IOW(21, struct hsc_tx_config)
-#define HSC_GET_TX HSC_IOW(22, struct hsc_tx_config)
-
-#define HSC_PM_DISABLE 0
-#define HSC_PM_ENABLE 1
-
-#define HSC_MODE_STREAM 1
-#define HSC_MODE_FRAME 2
-#define HSC_FLOW_SYNC 0
-#define HSC_ARB_RR 0
-#define HSC_ARB_PRIO 1
-
-struct hsc_rx_config {
- uint32_t mode;
- uint32_t flow;
- uint32_t channels;
-};
-
-struct hsc_tx_config {
- uint32_t mode;
- uint32_t channels;
- uint32_t speed;
- uint32_t arb_mode;
-};
-
-#endif /* __HSI_CHAR_H */
diff --git a/linux-headers/include/linux/hsr_netlink.h b/linux-headers/include/linux/hsr_netlink.h
deleted file mode 100644
index 2475cb8..0000000
--- a/linux-headers/include/linux/hsr_netlink.h
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright 2011-2013 Autronica Fire and Security AS
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- * Author(s):
- * 2011-2013 Arvid Brodin, arvid.brodin@xdin.com
- */
-
-#ifndef __UAPI_HSR_NETLINK_H
-#define __UAPI_HSR_NETLINK_H
-
-/* Generic Netlink HSR family definition
- */
-
-/* attributes */
-enum {
- HSR_A_UNSPEC,
- HSR_A_NODE_ADDR,
- HSR_A_IFINDEX,
- HSR_A_IF1_AGE,
- HSR_A_IF2_AGE,
- HSR_A_NODE_ADDR_B,
- HSR_A_IF1_SEQ,
- HSR_A_IF2_SEQ,
- HSR_A_IF1_IFINDEX,
- HSR_A_IF2_IFINDEX,
- HSR_A_ADDR_B_IFINDEX,
- __HSR_A_MAX,
-};
-#define HSR_A_MAX (__HSR_A_MAX - 1)
-
-
-/* commands */
-enum {
- HSR_C_UNSPEC,
- HSR_C_RING_ERROR,
- HSR_C_NODE_DOWN,
- HSR_C_GET_NODE_STATUS,
- HSR_C_SET_NODE_STATUS,
- HSR_C_GET_NODE_LIST,
- HSR_C_SET_NODE_LIST,
- __HSR_C_MAX,
-};
-#define HSR_C_MAX (__HSR_C_MAX - 1)
-
-#endif /* __UAPI_HSR_NETLINK_H */
diff --git a/linux-headers/include/linux/hw_breakpoint.h b/linux-headers/include/linux/hw_breakpoint.h
deleted file mode 100644
index 32486ee..0000000
--- a/linux-headers/include/linux/hw_breakpoint.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _LINUX_HW_BREAKPOINT_H
-#define _LINUX_HW_BREAKPOINT_H
-
-enum {
- HW_BREAKPOINT_LEN_1 = 1,
- HW_BREAKPOINT_LEN_2 = 2,
- HW_BREAKPOINT_LEN_4 = 4,
- HW_BREAKPOINT_LEN_8 = 8,
-};
-
-enum {
- HW_BREAKPOINT_EMPTY = 0,
- HW_BREAKPOINT_R = 1,
- HW_BREAKPOINT_W = 2,
- HW_BREAKPOINT_RW = HW_BREAKPOINT_R | HW_BREAKPOINT_W,
- HW_BREAKPOINT_X = 4,
- HW_BREAKPOINT_INVALID = HW_BREAKPOINT_RW | HW_BREAKPOINT_X,
-};
-
-enum bp_type_idx {
- TYPE_INST = 0,
-#ifdef CONFIG_HAVE_MIXED_BREAKPOINTS_REGS
- TYPE_DATA = 0,
-#else
- TYPE_DATA = 1,
-#endif
- TYPE_MAX
-};
-
-#endif /* _LINUX_HW_BREAKPOINT_H */
diff --git a/linux-headers/include/linux/hyperv.h b/linux-headers/include/linux/hyperv.h
deleted file mode 100644
index 0e8ad84..0000000
--- a/linux-headers/include/linux/hyperv.h
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- *
- * Copyright (c) 2011, Microsoft Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place - Suite 330, Boston, MA 02111-1307 USA.
- *
- * Authors:
- * Haiyang Zhang <haiyangz@microsoft.com>
- * Hank Janssen <hjanssen@microsoft.com>
- * K. Y. Srinivasan <kys@microsoft.com>
- *
- */
-
-#ifndef _HYPERV_H
-#define _HYPERV_H
-
-#include <linux/uuid.h>
-
-/*
- * Framework version for util services.
- */
-#define UTIL_FW_MINOR 0
-
-#define UTIL_WS2K8_FW_MAJOR 1
-#define UTIL_WS2K8_FW_VERSION (UTIL_WS2K8_FW_MAJOR << 16 | UTIL_FW_MINOR)
-
-#define UTIL_FW_MAJOR 3
-#define UTIL_FW_VERSION (UTIL_FW_MAJOR << 16 | UTIL_FW_MINOR)
-
-
-/*
- * Implementation of host controlled snapshot of the guest.
- */
-
-#define VSS_OP_REGISTER 128
-
-/*
- Daemon code with full handshake support.
- */
-#define VSS_OP_REGISTER1 129
-
-enum hv_vss_op {
- VSS_OP_CREATE = 0,
- VSS_OP_DELETE,
- VSS_OP_HOT_BACKUP,
- VSS_OP_GET_DM_INFO,
- VSS_OP_BU_COMPLETE,
- /*
- * Following operations are only supported with IC version >= 5.0
- */
- VSS_OP_FREEZE, /* Freeze the file systems in the VM */
- VSS_OP_THAW, /* Unfreeze the file systems */
- VSS_OP_AUTO_RECOVER,
- VSS_OP_COUNT /* Number of operations, must be last */
-};
-
-
-/*
- * Header for all VSS messages.
- */
-struct hv_vss_hdr {
- __u8 operation;
- __u8 reserved[7];
-} __attribute__((packed));
-
-
-/*
- * Flag values for the hv_vss_check_feature. Linux supports only
- * one value.
- */
-#define VSS_HBU_NO_AUTO_RECOVERY 0x00000005
-
-struct hv_vss_check_feature {
- __u32 flags;
-} __attribute__((packed));
-
-struct hv_vss_check_dm_info {
- __u32 flags;
-} __attribute__((packed));
-
-struct hv_vss_msg {
- union {
- struct hv_vss_hdr vss_hdr;
- int error;
- };
- union {
- struct hv_vss_check_feature vss_cf;
- struct hv_vss_check_dm_info dm_info;
- };
-} __attribute__((packed));
-
-/*
- * Implementation of a host to guest copy facility.
- */
-
-#define FCOPY_VERSION_0 0
-#define FCOPY_VERSION_1 1
-#define FCOPY_CURRENT_VERSION FCOPY_VERSION_1
-#define W_MAX_PATH 260
-
-enum hv_fcopy_op {
- START_FILE_COPY = 0,
- WRITE_TO_FILE,
- COMPLETE_FCOPY,
- CANCEL_FCOPY,
-};
-
-struct hv_fcopy_hdr {
- __u32 operation;
- uuid_le service_id0; /* currently unused */
- uuid_le service_id1; /* currently unused */
-} __attribute__((packed));
-
-#define OVER_WRITE 0x1
-#define CREATE_PATH 0x2
-
-struct hv_start_fcopy {
- struct hv_fcopy_hdr hdr;
- __u16 file_name[W_MAX_PATH];
- __u16 path_name[W_MAX_PATH];
- __u32 copy_flags;
- __u64 file_size;
-} __attribute__((packed));
-
-/*
- * The file is chunked into fragments.
- */
-#define DATA_FRAGMENT (6 * 1024)
-
-struct hv_do_fcopy {
- struct hv_fcopy_hdr hdr;
- __u32 pad;
- __u64 offset;
- __u32 size;
- __u8 data[DATA_FRAGMENT];
-} __attribute__((packed));
-
-/*
- * An implementation of HyperV key value pair (KVP) functionality for Linux.
- *
- *
- * Copyright (C) 2010, Novell, Inc.
- * Author : K. Y. Srinivasan <ksrinivasan@novell.com>
- *
- */
-
-/*
- * Maximum value size - used for both key names and value data, and includes
- * any applicable NULL terminators.
- *
- * Note: This limit is somewhat arbitrary, but falls easily within what is
- * supported for all native guests (back to Win 2000) and what is reasonable
- * for the IC KVP exchange functionality. Note that Windows Me/98/95 are
- * limited to 255 character key names.
- *
- * MSDN recommends not storing data values larger than 2048 bytes in the
- * registry.
- *
- * Note: This value is used in defining the KVP exchange message - this value
- * cannot be modified without affecting the message size and compatibility.
- */
-
-/*
- * bytes, including any null terminators
- */
-#define HV_KVP_EXCHANGE_MAX_VALUE_SIZE (2048)
-
-
-/*
- * Maximum key size - the registry limit for the length of an entry name
- * is 256 characters, including the null terminator
- */
-
-#define HV_KVP_EXCHANGE_MAX_KEY_SIZE (512)
-
-/*
- * In Linux, we implement the KVP functionality in two components:
- * 1) The kernel component which is packaged as part of the hv_utils driver
- * is responsible for communicating with the host and responsible for
- * implementing the host/guest protocol. 2) A user level daemon that is
- * responsible for data gathering.
- *
- * Host/Guest Protocol: The host iterates over an index and expects the guest
- * to assign a key name to the index and also return the value corresponding to
- * the key. The host will have atmost one KVP transaction outstanding at any
- * given point in time. The host side iteration stops when the guest returns
- * an error. Microsoft has specified the following mapping of key names to
- * host specified index:
- *
- * Index Key Name
- * 0 FullyQualifiedDomainName
- * 1 IntegrationServicesVersion
- * 2 NetworkAddressIPv4
- * 3 NetworkAddressIPv6
- * 4 OSBuildNumber
- * 5 OSName
- * 6 OSMajorVersion
- * 7 OSMinorVersion
- * 8 OSVersion
- * 9 ProcessorArchitecture
- *
- * The Windows host expects the Key Name and Key Value to be encoded in utf16.
- *
- * Guest Kernel/KVP Daemon Protocol: As noted earlier, we implement all of the
- * data gathering functionality in a user mode daemon. The user level daemon
- * is also responsible for binding the key name to the index as well. The
- * kernel and user-level daemon communicate using a connector channel.
- *
- * The user mode component first registers with the
- * the kernel component. Subsequently, the kernel component requests, data
- * for the specified keys. In response to this message the user mode component
- * fills in the value corresponding to the specified key. We overload the
- * sequence field in the cn_msg header to define our KVP message types.
- *
- *
- * The kernel component simply acts as a conduit for communication between the
- * Windows host and the user-level daemon. The kernel component passes up the
- * index received from the Host to the user-level daemon. If the index is
- * valid (supported), the corresponding key as well as its
- * value (both are strings) is returned. If the index is invalid
- * (not supported), a NULL key string is returned.
- */
-
-
-/*
- * Registry value types.
- */
-
-#define REG_SZ 1
-#define REG_U32 4
-#define REG_U64 8
-
-/*
- * As we look at expanding the KVP functionality to include
- * IP injection functionality, we need to maintain binary
- * compatibility with older daemons.
- *
- * The KVP opcodes are defined by the host and it was unfortunate
- * that I chose to treat the registration operation as part of the
- * KVP operations defined by the host.
- * Here is the level of compatibility
- * (between the user level daemon and the kernel KVP driver) that we
- * will implement:
- *
- * An older daemon will always be supported on a newer driver.
- * A given user level daemon will require a minimal version of the
- * kernel driver.
- * If we cannot handle the version differences, we will fail gracefully
- * (this can happen when we have a user level daemon that is more
- * advanced than the KVP driver.
- *
- * We will use values used in this handshake for determining if we have
- * workable user level daemon and the kernel driver. We begin by taking the
- * registration opcode out of the KVP opcode namespace. We will however,
- * maintain compatibility with the existing user-level daemon code.
- */
-
-/*
- * Daemon code not supporting IP injection (legacy daemon).
- */
-
-#define KVP_OP_REGISTER 4
-
-/*
- * Daemon code supporting IP injection.
- * The KVP opcode field is used to communicate the
- * registration information; so define a namespace that
- * will be distinct from the host defined KVP opcode.
- */
-
-#define KVP_OP_REGISTER1 100
-
-enum hv_kvp_exchg_op {
- KVP_OP_GET = 0,
- KVP_OP_SET,
- KVP_OP_DELETE,
- KVP_OP_ENUMERATE,
- KVP_OP_GET_IP_INFO,
- KVP_OP_SET_IP_INFO,
- KVP_OP_COUNT /* Number of operations, must be last. */
-};
-
-enum hv_kvp_exchg_pool {
- KVP_POOL_EXTERNAL = 0,
- KVP_POOL_GUEST,
- KVP_POOL_AUTO,
- KVP_POOL_AUTO_EXTERNAL,
- KVP_POOL_AUTO_INTERNAL,
- KVP_POOL_COUNT /* Number of pools, must be last. */
-};
-
-/*
- * Some Hyper-V status codes.
- */
-
-#define HV_S_OK 0x00000000
-#define HV_E_FAIL 0x80004005
-#define HV_S_CONT 0x80070103
-#define HV_ERROR_NOT_SUPPORTED 0x80070032
-#define HV_ERROR_MACHINE_LOCKED 0x800704F7
-#define HV_ERROR_DEVICE_NOT_CONNECTED 0x8007048F
-#define HV_INVALIDARG 0x80070057
-#define HV_GUID_NOTFOUND 0x80041002
-#define HV_ERROR_ALREADY_EXISTS 0x80070050
-#define HV_ERROR_DISK_FULL 0x80070070
-
-#define ADDR_FAMILY_NONE 0x00
-#define ADDR_FAMILY_IPV4 0x01
-#define ADDR_FAMILY_IPV6 0x02
-
-#define MAX_ADAPTER_ID_SIZE 128
-#define MAX_IP_ADDR_SIZE 1024
-#define MAX_GATEWAY_SIZE 512
-
-
-struct hv_kvp_ipaddr_value {
- __u16 adapter_id[MAX_ADAPTER_ID_SIZE];
- __u8 addr_family;
- __u8 dhcp_enabled;
- __u16 ip_addr[MAX_IP_ADDR_SIZE];
- __u16 sub_net[MAX_IP_ADDR_SIZE];
- __u16 gate_way[MAX_GATEWAY_SIZE];
- __u16 dns_addr[MAX_IP_ADDR_SIZE];
-} __attribute__((packed));
-
-
-struct hv_kvp_hdr {
- __u8 operation;
- __u8 pool;
- __u16 pad;
-} __attribute__((packed));
-
-struct hv_kvp_exchg_msg_value {
- __u32 value_type;
- __u32 key_size;
- __u32 value_size;
- __u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE];
- union {
- __u8 value[HV_KVP_EXCHANGE_MAX_VALUE_SIZE];
- __u32 value_u32;
- __u64 value_u64;
- };
-} __attribute__((packed));
-
-struct hv_kvp_msg_enumerate {
- __u32 index;
- struct hv_kvp_exchg_msg_value data;
-} __attribute__((packed));
-
-struct hv_kvp_msg_get {
- struct hv_kvp_exchg_msg_value data;
-};
-
-struct hv_kvp_msg_set {
- struct hv_kvp_exchg_msg_value data;
-};
-
-struct hv_kvp_msg_delete {
- __u32 key_size;
- __u8 key[HV_KVP_EXCHANGE_MAX_KEY_SIZE];
-};
-
-struct hv_kvp_register {
- __u8 version[HV_KVP_EXCHANGE_MAX_KEY_SIZE];
-};
-
-struct hv_kvp_msg {
- union {
- struct hv_kvp_hdr kvp_hdr;
- int error;
- };
- union {
- struct hv_kvp_msg_get kvp_get;
- struct hv_kvp_msg_set kvp_set;
- struct hv_kvp_msg_delete kvp_delete;
- struct hv_kvp_msg_enumerate kvp_enum_data;
- struct hv_kvp_ipaddr_value kvp_ip_val;
- struct hv_kvp_register kvp_register;
- } body;
-} __attribute__((packed));
-
-struct hv_kvp_ip_msg {
- __u8 operation;
- __u8 pool;
- struct hv_kvp_ipaddr_value kvp_ip_val;
-} __attribute__((packed));
-
-#endif /* _HYPERV_H */
diff --git a/linux-headers/include/linux/hysdn_if.h b/linux-headers/include/linux/hysdn_if.h
deleted file mode 100644
index 00236ae..0000000
--- a/linux-headers/include/linux/hysdn_if.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* $Id: hysdn_if.h,v 1.1.8.3 2001/09/23 22:25:05 kai Exp $
- *
- * Linux driver for HYSDN cards
- * ioctl definitions shared by hynetmgr and driver.
- *
- * Author Werner Cornelius (werner@titro.de) for Hypercope GmbH
- * Copyright 1999 by Werner Cornelius (werner@titro.de)
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-/****************/
-/* error values */
-/****************/
-#define ERR_NONE 0 /* no error occurred */
-#define ERR_ALREADY_BOOT 1000 /* we are already booting */
-#define EPOF_BAD_MAGIC 1001 /* bad magic in POF header */
-#define ERR_BOARD_DPRAM 1002 /* board DPRAM failed */
-#define EPOF_INTERNAL 1003 /* internal POF handler error */
-#define EPOF_BAD_IMG_SIZE 1004 /* POF boot image size invalid */
-#define ERR_BOOTIMG_FAIL 1005 /* 1. stage boot image did not start */
-#define ERR_BOOTSEQ_FAIL 1006 /* 2. stage boot seq handshake timeout */
-#define ERR_POF_TIMEOUT 1007 /* timeout waiting for card pof ready */
-#define ERR_NOT_BOOTED 1008 /* operation only allowed when booted */
-#define ERR_CONF_LONG 1009 /* conf line is too long */
-#define ERR_INV_CHAN 1010 /* invalid channel number */
-#define ERR_ASYNC_TIME 1011 /* timeout sending async data */
-
-
-
-
diff --git a/linux-headers/include/linux/i2c-dev.h b/linux-headers/include/linux/i2c-dev.h
deleted file mode 100644
index bbb50e8..0000000
--- a/linux-headers/include/linux/i2c-dev.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- i2c-dev.h - i2c-bus driver, char device interface
-
- Copyright (C) 1995-97 Simon G. Vogl
- Copyright (C) 1998-99 Frodo Looijaard <frodol@dds.nl>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301 USA.
-*/
-
-#ifndef _LINUX_I2C_DEV_H
-#define _LINUX_I2C_DEV_H
-
-#include <linux/types.h>
-
-
-/* /dev/i2c-X ioctl commands. The ioctl's parameter is always an
- * unsigned long, except for:
- * - I2C_FUNCS, takes pointer to an unsigned long
- * - I2C_RDWR, takes pointer to struct i2c_rdwr_ioctl_data
- * - I2C_SMBUS, takes pointer to struct i2c_smbus_ioctl_data
- */
-#define I2C_RETRIES 0x0701 /* number of times a device address should
- be polled when not acknowledging */
-#define I2C_TIMEOUT 0x0702 /* set timeout in units of 10 ms */
-
-/* NOTE: Slave address is 7 or 10 bits, but 10-bit addresses
- * are NOT supported! (due to code brokenness)
- */
-#define I2C_SLAVE 0x0703 /* Use this slave address */
-#define I2C_SLAVE_FORCE 0x0706 /* Use this slave address, even if it
- is already in use by a driver! */
-#define I2C_TENBIT 0x0704 /* 0 for 7 bit addrs, != 0 for 10 bit */
-
-#define I2C_FUNCS 0x0705 /* Get the adapter functionality mask */
-
-#define I2C_RDWR 0x0707 /* Combined R/W transfer (one STOP only) */
-
-#define I2C_PEC 0x0708 /* != 0 to use PEC with SMBus */
-#define I2C_SMBUS 0x0720 /* SMBus transfer */
-
-
-/* This is the structure as used in the I2C_SMBUS ioctl call */
-struct i2c_smbus_ioctl_data {
- __u8 read_write;
- __u8 command;
- __u32 size;
- union i2c_smbus_data *data;
-};
-
-/* This is the structure as used in the I2C_RDWR ioctl call */
-struct i2c_rdwr_ioctl_data {
- struct i2c_msg *msgs; /* pointers to i2c_msgs */
- __u32 nmsgs; /* number of i2c_msgs */
-};
-
-#define I2C_RDWR_IOCTL_MAX_MSGS 42
-/* Originally defined with a typo, keep it for compatibility */
-#define I2C_RDRW_IOCTL_MAX_MSGS I2C_RDWR_IOCTL_MAX_MSGS
-
-
-#endif /* _LINUX_I2C_DEV_H */
diff --git a/linux-headers/include/linux/i2c.h b/linux-headers/include/linux/i2c.h
deleted file mode 100644
index 3dec329..0000000
--- a/linux-headers/include/linux/i2c.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/* ------------------------------------------------------------------------- */
-/* */
-/* i2c.h - definitions for the i2c-bus interface */
-/* */
-/* ------------------------------------------------------------------------- */
-/* Copyright (C) 1995-2000 Simon G. Vogl
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
- MA 02110-1301 USA. */
-/* ------------------------------------------------------------------------- */
-
-/* With some changes from Kyösti Mälkki <kmalkki@cc.hut.fi> and
- Frodo Looijaard <frodol@dds.nl> */
-
-#ifndef _LINUX_I2C_H
-#define _LINUX_I2C_H
-
-#include <linux/types.h>
-
-/**
- * struct i2c_msg - an I2C transaction segment beginning with START
- * @addr: Slave address, either seven or ten bits. When this is a ten
- * bit address, I2C_M_TEN must be set in @flags and the adapter
- * must support I2C_FUNC_10BIT_ADDR.
- * @flags: I2C_M_RD is handled by all adapters. No other flags may be
- * provided unless the adapter exported the relevant I2C_FUNC_*
- * flags through i2c_check_functionality().
- * @len: Number of data bytes in @buf being read from or written to the
- * I2C slave address. For read transactions where I2C_M_RECV_LEN
- * is set, the caller guarantees that this buffer can hold up to
- * 32 bytes in addition to the initial length byte sent by the
- * slave (plus, if used, the SMBus PEC); and this value will be
- * incremented by the number of block data bytes received.
- * @buf: The buffer into which data is read, or from which it's written.
- *
- * An i2c_msg is the low level representation of one segment of an I2C
- * transaction. It is visible to drivers in the @i2c_transfer() procedure,
- * to userspace from i2c-dev, and to I2C adapter drivers through the
- * @i2c_adapter.@master_xfer() method.
- *
- * Except when I2C "protocol mangling" is used, all I2C adapters implement
- * the standard rules for I2C transactions. Each transaction begins with a
- * START. That is followed by the slave address, and a bit encoding read
- * versus write. Then follow all the data bytes, possibly including a byte
- * with SMBus PEC. The transfer terminates with a NAK, or when all those
- * bytes have been transferred and ACKed. If this is the last message in a
- * group, it is followed by a STOP. Otherwise it is followed by the next
- * @i2c_msg transaction segment, beginning with a (repeated) START.
- *
- * Alternatively, when the adapter supports I2C_FUNC_PROTOCOL_MANGLING then
- * passing certain @flags may have changed those standard protocol behaviors.
- * Those flags are only for use with broken/nonconforming slaves, and with
- * adapters which are known to support the specific mangling options they
- * need (one or more of IGNORE_NAK, NO_RD_ACK, NOSTART, and REV_DIR_ADDR).
- */
-struct i2c_msg {
- __u16 addr; /* slave address */
- __u16 flags;
-#define I2C_M_TEN 0x0010 /* this is a ten bit chip address */
-#define I2C_M_RD 0x0001 /* read data, from slave to master */
-#define I2C_M_STOP 0x8000 /* if I2C_FUNC_PROTOCOL_MANGLING */
-#define I2C_M_NOSTART 0x4000 /* if I2C_FUNC_NOSTART */
-#define I2C_M_REV_DIR_ADDR 0x2000 /* if I2C_FUNC_PROTOCOL_MANGLING */
-#define I2C_M_IGNORE_NAK 0x1000 /* if I2C_FUNC_PROTOCOL_MANGLING */
-#define I2C_M_NO_RD_ACK 0x0800 /* if I2C_FUNC_PROTOCOL_MANGLING */
-#define I2C_M_RECV_LEN 0x0400 /* length will be first received byte */
- __u16 len; /* msg length */
- __u8 *buf; /* pointer to msg data */
-};
-
-/* To determine what functionality is present */
-
-#define I2C_FUNC_I2C 0x00000001
-#define I2C_FUNC_10BIT_ADDR 0x00000002
-#define I2C_FUNC_PROTOCOL_MANGLING 0x00000004 /* I2C_M_IGNORE_NAK etc. */
-#define I2C_FUNC_SMBUS_PEC 0x00000008
-#define I2C_FUNC_NOSTART 0x00000010 /* I2C_M_NOSTART */
-#define I2C_FUNC_SLAVE 0x00000020
-#define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 0x00008000 /* SMBus 2.0 */
-#define I2C_FUNC_SMBUS_QUICK 0x00010000
-#define I2C_FUNC_SMBUS_READ_BYTE 0x00020000
-#define I2C_FUNC_SMBUS_WRITE_BYTE 0x00040000
-#define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000
-#define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000
-#define I2C_FUNC_SMBUS_READ_WORD_DATA 0x00200000
-#define I2C_FUNC_SMBUS_WRITE_WORD_DATA 0x00400000
-#define I2C_FUNC_SMBUS_PROC_CALL 0x00800000
-#define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0x01000000
-#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000
-#define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000 /* I2C-like block xfer */
-#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000 /* w/ 1-byte reg. addr. */
-
-#define I2C_FUNC_SMBUS_BYTE (I2C_FUNC_SMBUS_READ_BYTE | \
- I2C_FUNC_SMBUS_WRITE_BYTE)
-#define I2C_FUNC_SMBUS_BYTE_DATA (I2C_FUNC_SMBUS_READ_BYTE_DATA | \
- I2C_FUNC_SMBUS_WRITE_BYTE_DATA)
-#define I2C_FUNC_SMBUS_WORD_DATA (I2C_FUNC_SMBUS_READ_WORD_DATA | \
- I2C_FUNC_SMBUS_WRITE_WORD_DATA)
-#define I2C_FUNC_SMBUS_BLOCK_DATA (I2C_FUNC_SMBUS_READ_BLOCK_DATA | \
- I2C_FUNC_SMBUS_WRITE_BLOCK_DATA)
-#define I2C_FUNC_SMBUS_I2C_BLOCK (I2C_FUNC_SMBUS_READ_I2C_BLOCK | \
- I2C_FUNC_SMBUS_WRITE_I2C_BLOCK)
-
-#define I2C_FUNC_SMBUS_EMUL (I2C_FUNC_SMBUS_QUICK | \
- I2C_FUNC_SMBUS_BYTE | \
- I2C_FUNC_SMBUS_BYTE_DATA | \
- I2C_FUNC_SMBUS_WORD_DATA | \
- I2C_FUNC_SMBUS_PROC_CALL | \
- I2C_FUNC_SMBUS_WRITE_BLOCK_DATA | \
- I2C_FUNC_SMBUS_I2C_BLOCK | \
- I2C_FUNC_SMBUS_PEC)
-
-/*
- * Data for SMBus Messages
- */
-#define I2C_SMBUS_BLOCK_MAX 32 /* As specified in SMBus standard */
-union i2c_smbus_data {
- __u8 byte;
- __u16 word;
- __u8 block[I2C_SMBUS_BLOCK_MAX + 2]; /* block[0] is used for length */
- /* and one more for user-space compatibility */
-};
-
-/* i2c_smbus_xfer read or write markers */
-#define I2C_SMBUS_READ 1
-#define I2C_SMBUS_WRITE 0
-
-/* SMBus transaction types (size parameter in the above functions)
- Note: these no longer correspond to the (arbitrary) PIIX4 internal codes! */
-#define I2C_SMBUS_QUICK 0
-#define I2C_SMBUS_BYTE 1
-#define I2C_SMBUS_BYTE_DATA 2
-#define I2C_SMBUS_WORD_DATA 3
-#define I2C_SMBUS_PROC_CALL 4
-#define I2C_SMBUS_BLOCK_DATA 5
-#define I2C_SMBUS_I2C_BLOCK_BROKEN 6
-#define I2C_SMBUS_BLOCK_PROC_CALL 7 /* SMBus 2.0 */
-#define I2C_SMBUS_I2C_BLOCK_DATA 8
-
-#endif /* _LINUX_I2C_H */
diff --git a/linux-headers/include/linux/i2o-dev.h b/linux-headers/include/linux/i2o-dev.h
deleted file mode 100644
index 4fb30a4..0000000
--- a/linux-headers/include/linux/i2o-dev.h
+++ /dev/null
@@ -1,421 +0,0 @@
-/*
- * I2O user space accessible structures/APIs
- *
- * (c) Copyright 1999, 2000 Red Hat Software
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- *************************************************************************
- *
- * This header file defines the I2O APIs that are available to both
- * the kernel and user level applications. Kernel specific structures
- * are defined in i2o_osm. OSMs should include _only_ i2o_osm.h which
- * automatically includes this file.
- *
- */
-
-#ifndef _I2O_DEV_H
-#define _I2O_DEV_H
-
-/* How many controllers are we allowing */
-#define MAX_I2O_CONTROLLERS 32
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/*
- * I2O Control IOCTLs and structures
- */
-#define I2O_MAGIC_NUMBER 'i'
-#define I2OGETIOPS _IOR(I2O_MAGIC_NUMBER,0,__u8[MAX_I2O_CONTROLLERS])
-#define I2OHRTGET _IOWR(I2O_MAGIC_NUMBER,1,struct i2o_cmd_hrtlct)
-#define I2OLCTGET _IOWR(I2O_MAGIC_NUMBER,2,struct i2o_cmd_hrtlct)
-#define I2OPARMSET _IOWR(I2O_MAGIC_NUMBER,3,struct i2o_cmd_psetget)
-#define I2OPARMGET _IOWR(I2O_MAGIC_NUMBER,4,struct i2o_cmd_psetget)
-#define I2OSWDL _IOWR(I2O_MAGIC_NUMBER,5,struct i2o_sw_xfer)
-#define I2OSWUL _IOWR(I2O_MAGIC_NUMBER,6,struct i2o_sw_xfer)
-#define I2OSWDEL _IOWR(I2O_MAGIC_NUMBER,7,struct i2o_sw_xfer)
-#define I2OVALIDATE _IOR(I2O_MAGIC_NUMBER,8,__u32)
-#define I2OHTML _IOWR(I2O_MAGIC_NUMBER,9,struct i2o_html)
-#define I2OEVTREG _IOW(I2O_MAGIC_NUMBER,10,struct i2o_evt_id)
-#define I2OEVTGET _IOR(I2O_MAGIC_NUMBER,11,struct i2o_evt_info)
-#define I2OPASSTHRU _IOR(I2O_MAGIC_NUMBER,12,struct i2o_cmd_passthru)
-#define I2OPASSTHRU32 _IOR(I2O_MAGIC_NUMBER,12,struct i2o_cmd_passthru32)
-
-struct i2o_cmd_passthru32 {
- unsigned int iop; /* IOP unit number */
- __u32 msg; /* message */
-};
-
-struct i2o_cmd_passthru {
- unsigned int iop; /* IOP unit number */
- void *msg; /* message */
-};
-
-struct i2o_cmd_hrtlct {
- unsigned int iop; /* IOP unit number */
- void *resbuf; /* Buffer for result */
- unsigned int *reslen; /* Buffer length in bytes */
-};
-
-struct i2o_cmd_psetget {
- unsigned int iop; /* IOP unit number */
- unsigned int tid; /* Target device TID */
- void *opbuf; /* Operation List buffer */
- unsigned int oplen; /* Operation List buffer length in bytes */
- void *resbuf; /* Result List buffer */
- unsigned int *reslen; /* Result List buffer length in bytes */
-};
-
-struct i2o_sw_xfer {
- unsigned int iop; /* IOP unit number */
- unsigned char flags; /* Flags field */
- unsigned char sw_type; /* Software type */
- unsigned int sw_id; /* Software ID */
- void *buf; /* Pointer to software buffer */
- unsigned int *swlen; /* Length of software data */
- unsigned int *maxfrag; /* Maximum fragment count */
- unsigned int *curfrag; /* Current fragment count */
-};
-
-struct i2o_html {
- unsigned int iop; /* IOP unit number */
- unsigned int tid; /* Target device ID */
- unsigned int page; /* HTML page */
- void *resbuf; /* Buffer for reply HTML page */
- unsigned int *reslen; /* Length in bytes of reply buffer */
- void *qbuf; /* Pointer to HTTP query string */
- unsigned int qlen; /* Length in bytes of query string buffer */
-};
-
-#define I2O_EVT_Q_LEN 32
-
-struct i2o_evt_id {
- unsigned int iop;
- unsigned int tid;
- unsigned int evt_mask;
-};
-
-/* Event data size = frame size - message header + evt indicator */
-#define I2O_EVT_DATA_SIZE 88
-
-struct i2o_evt_info {
- struct i2o_evt_id id;
- unsigned char evt_data[I2O_EVT_DATA_SIZE];
- unsigned int data_size;
-};
-
-struct i2o_evt_get {
- struct i2o_evt_info info;
- int pending;
- int lost;
-};
-
-typedef struct i2o_sg_io_hdr {
- unsigned int flags; /* see I2O_DPT_SG_IO_FLAGS */
-} i2o_sg_io_hdr_t;
-
-/**************************************************************************
- * HRT related constants and structures
- **************************************************************************/
-#define I2O_BUS_LOCAL 0
-#define I2O_BUS_ISA 1
-#define I2O_BUS_EISA 2
-/* was I2O_BUS_MCA 3 */
-#define I2O_BUS_PCI 4
-#define I2O_BUS_PCMCIA 5
-#define I2O_BUS_NUBUS 6
-#define I2O_BUS_CARDBUS 7
-#define I2O_BUS_UNKNOWN 0x80
-
-typedef struct _i2o_pci_bus {
- __u8 PciFunctionNumber;
- __u8 PciDeviceNumber;
- __u8 PciBusNumber;
- __u8 reserved;
- __u16 PciVendorID;
- __u16 PciDeviceID;
-} i2o_pci_bus;
-
-typedef struct _i2o_local_bus {
- __u16 LbBaseIOPort;
- __u16 reserved;
- __u32 LbBaseMemoryAddress;
-} i2o_local_bus;
-
-typedef struct _i2o_isa_bus {
- __u16 IsaBaseIOPort;
- __u8 CSN;
- __u8 reserved;
- __u32 IsaBaseMemoryAddress;
-} i2o_isa_bus;
-
-typedef struct _i2o_eisa_bus_info {
- __u16 EisaBaseIOPort;
- __u8 reserved;
- __u8 EisaSlotNumber;
- __u32 EisaBaseMemoryAddress;
-} i2o_eisa_bus;
-
-typedef struct _i2o_mca_bus {
- __u16 McaBaseIOPort;
- __u8 reserved;
- __u8 McaSlotNumber;
- __u32 McaBaseMemoryAddress;
-} i2o_mca_bus;
-
-typedef struct _i2o_other_bus {
- __u16 BaseIOPort;
- __u16 reserved;
- __u32 BaseMemoryAddress;
-} i2o_other_bus;
-
-typedef struct _i2o_hrt_entry {
- __u32 adapter_id;
- __u32 parent_tid:12;
- __u32 state:4;
- __u32 bus_num:8;
- __u32 bus_type:8;
- union {
- i2o_pci_bus pci_bus;
- i2o_local_bus local_bus;
- i2o_isa_bus isa_bus;
- i2o_eisa_bus eisa_bus;
- i2o_mca_bus mca_bus;
- i2o_other_bus other_bus;
- } bus;
-} i2o_hrt_entry;
-
-typedef struct _i2o_hrt {
- __u16 num_entries;
- __u8 entry_len;
- __u8 hrt_version;
- __u32 change_ind;
- i2o_hrt_entry hrt_entry[1];
-} i2o_hrt;
-
-typedef struct _i2o_lct_entry {
- __u32 entry_size:16;
- __u32 tid:12;
- __u32 reserved:4;
- __u32 change_ind;
- __u32 device_flags;
- __u32 class_id:12;
- __u32 version:4;
- __u32 vendor_id:16;
- __u32 sub_class;
- __u32 user_tid:12;
- __u32 parent_tid:12;
- __u32 bios_info:8;
- __u8 identity_tag[8];
- __u32 event_capabilities;
-} i2o_lct_entry;
-
-typedef struct _i2o_lct {
- __u32 table_size:16;
- __u32 boot_tid:12;
- __u32 lct_ver:4;
- __u32 iop_flags;
- __u32 change_ind;
- i2o_lct_entry lct_entry[1];
-} i2o_lct;
-
-typedef struct _i2o_status_block {
- __u16 org_id;
- __u16 reserved;
- __u16 iop_id:12;
- __u16 reserved1:4;
- __u16 host_unit_id;
- __u16 segment_number:12;
- __u16 i2o_version:4;
- __u8 iop_state;
- __u8 msg_type;
- __u16 inbound_frame_size;
- __u8 init_code;
- __u8 reserved2;
- __u32 max_inbound_frames;
- __u32 cur_inbound_frames;
- __u32 max_outbound_frames;
- char product_id[24];
- __u32 expected_lct_size;
- __u32 iop_capabilities;
- __u32 desired_mem_size;
- __u32 current_mem_size;
- __u32 current_mem_base;
- __u32 desired_io_size;
- __u32 current_io_size;
- __u32 current_io_base;
- __u32 reserved3:24;
- __u32 cmd_status:8;
-} i2o_status_block;
-
-/* Event indicator mask flags */
-#define I2O_EVT_IND_STATE_CHANGE 0x80000000
-#define I2O_EVT_IND_GENERAL_WARNING 0x40000000
-#define I2O_EVT_IND_CONFIGURATION_FLAG 0x20000000
-#define I2O_EVT_IND_LOCK_RELEASE 0x10000000
-#define I2O_EVT_IND_CAPABILITY_CHANGE 0x08000000
-#define I2O_EVT_IND_DEVICE_RESET 0x04000000
-#define I2O_EVT_IND_EVT_MASK_MODIFIED 0x02000000
-#define I2O_EVT_IND_FIELD_MODIFIED 0x01000000
-#define I2O_EVT_IND_VENDOR_EVT 0x00800000
-#define I2O_EVT_IND_DEVICE_STATE 0x00400000
-
-/* Executive event indicitors */
-#define I2O_EVT_IND_EXEC_RESOURCE_LIMITS 0x00000001
-#define I2O_EVT_IND_EXEC_CONNECTION_FAIL 0x00000002
-#define I2O_EVT_IND_EXEC_ADAPTER_FAULT 0x00000004
-#define I2O_EVT_IND_EXEC_POWER_FAIL 0x00000008
-#define I2O_EVT_IND_EXEC_RESET_PENDING 0x00000010
-#define I2O_EVT_IND_EXEC_RESET_IMMINENT 0x00000020
-#define I2O_EVT_IND_EXEC_HW_FAIL 0x00000040
-#define I2O_EVT_IND_EXEC_XCT_CHANGE 0x00000080
-#define I2O_EVT_IND_EXEC_NEW_LCT_ENTRY 0x00000100
-#define I2O_EVT_IND_EXEC_MODIFIED_LCT 0x00000200
-#define I2O_EVT_IND_EXEC_DDM_AVAILABILITY 0x00000400
-
-/* Random Block Storage Event Indicators */
-#define I2O_EVT_IND_BSA_VOLUME_LOAD 0x00000001
-#define I2O_EVT_IND_BSA_VOLUME_UNLOAD 0x00000002
-#define I2O_EVT_IND_BSA_VOLUME_UNLOAD_REQ 0x00000004
-#define I2O_EVT_IND_BSA_CAPACITY_CHANGE 0x00000008
-#define I2O_EVT_IND_BSA_SCSI_SMART 0x00000010
-
-/* Event data for generic events */
-#define I2O_EVT_STATE_CHANGE_NORMAL 0x00
-#define I2O_EVT_STATE_CHANGE_SUSPENDED 0x01
-#define I2O_EVT_STATE_CHANGE_RESTART 0x02
-#define I2O_EVT_STATE_CHANGE_NA_RECOVER 0x03
-#define I2O_EVT_STATE_CHANGE_NA_NO_RECOVER 0x04
-#define I2O_EVT_STATE_CHANGE_QUIESCE_REQUEST 0x05
-#define I2O_EVT_STATE_CHANGE_FAILED 0x10
-#define I2O_EVT_STATE_CHANGE_FAULTED 0x11
-
-#define I2O_EVT_GEN_WARNING_NORMAL 0x00
-#define I2O_EVT_GEN_WARNING_ERROR_THRESHOLD 0x01
-#define I2O_EVT_GEN_WARNING_MEDIA_FAULT 0x02
-
-#define I2O_EVT_CAPABILITY_OTHER 0x01
-#define I2O_EVT_CAPABILITY_CHANGED 0x02
-
-#define I2O_EVT_SENSOR_STATE_CHANGED 0x01
-
-/*
- * I2O classes / subclasses
- */
-
-/* Class ID and Code Assignments
- * (LCT.ClassID.Version field)
- */
-#define I2O_CLASS_VERSION_10 0x00
-#define I2O_CLASS_VERSION_11 0x01
-
-/* Class code names
- * (from v1.5 Table 6-1 Class Code Assignments.)
- */
-
-#define I2O_CLASS_EXECUTIVE 0x000
-#define I2O_CLASS_DDM 0x001
-#define I2O_CLASS_RANDOM_BLOCK_STORAGE 0x010
-#define I2O_CLASS_SEQUENTIAL_STORAGE 0x011
-#define I2O_CLASS_LAN 0x020
-#define I2O_CLASS_WAN 0x030
-#define I2O_CLASS_FIBRE_CHANNEL_PORT 0x040
-#define I2O_CLASS_FIBRE_CHANNEL_PERIPHERAL 0x041
-#define I2O_CLASS_SCSI_PERIPHERAL 0x051
-#define I2O_CLASS_ATE_PORT 0x060
-#define I2O_CLASS_ATE_PERIPHERAL 0x061
-#define I2O_CLASS_FLOPPY_CONTROLLER 0x070
-#define I2O_CLASS_FLOPPY_DEVICE 0x071
-#define I2O_CLASS_BUS_ADAPTER 0x080
-#define I2O_CLASS_PEER_TRANSPORT_AGENT 0x090
-#define I2O_CLASS_PEER_TRANSPORT 0x091
-#define I2O_CLASS_END 0xfff
-
-/*
- * Rest of 0x092 - 0x09f reserved for peer-to-peer classes
- */
-
-#define I2O_CLASS_MATCH_ANYCLASS 0xffffffff
-
-/*
- * Subclasses
- */
-
-#define I2O_SUBCLASS_i960 0x001
-#define I2O_SUBCLASS_HDM 0x020
-#define I2O_SUBCLASS_ISM 0x021
-
-/* Operation functions */
-
-#define I2O_PARAMS_FIELD_GET 0x0001
-#define I2O_PARAMS_LIST_GET 0x0002
-#define I2O_PARAMS_MORE_GET 0x0003
-#define I2O_PARAMS_SIZE_GET 0x0004
-#define I2O_PARAMS_TABLE_GET 0x0005
-#define I2O_PARAMS_FIELD_SET 0x0006
-#define I2O_PARAMS_LIST_SET 0x0007
-#define I2O_PARAMS_ROW_ADD 0x0008
-#define I2O_PARAMS_ROW_DELETE 0x0009
-#define I2O_PARAMS_TABLE_CLEAR 0x000A
-
-/*
- * I2O serial number conventions / formats
- * (circa v1.5)
- */
-
-#define I2O_SNFORMAT_UNKNOWN 0
-#define I2O_SNFORMAT_BINARY 1
-#define I2O_SNFORMAT_ASCII 2
-#define I2O_SNFORMAT_UNICODE 3
-#define I2O_SNFORMAT_LAN48_MAC 4
-#define I2O_SNFORMAT_WAN 5
-
-/*
- * Plus new in v2.0 (Yellowstone pdf doc)
- */
-
-#define I2O_SNFORMAT_LAN64_MAC 6
-#define I2O_SNFORMAT_DDM 7
-#define I2O_SNFORMAT_IEEE_REG64 8
-#define I2O_SNFORMAT_IEEE_REG128 9
-#define I2O_SNFORMAT_UNKNOWN2 0xff
-
-/*
- * I2O Get Status State values
- */
-
-#define ADAPTER_STATE_INITIALIZING 0x01
-#define ADAPTER_STATE_RESET 0x02
-#define ADAPTER_STATE_HOLD 0x04
-#define ADAPTER_STATE_READY 0x05
-#define ADAPTER_STATE_OPERATIONAL 0x08
-#define ADAPTER_STATE_FAILED 0x10
-#define ADAPTER_STATE_FAULTED 0x11
-
-/*
- * Software module types
- */
-#define I2O_SOFTWARE_MODULE_IRTOS 0x11
-#define I2O_SOFTWARE_MODULE_IOP_PRIVATE 0x22
-#define I2O_SOFTWARE_MODULE_IOP_CONFIG 0x23
-
-/*
- * Vendors
- */
-#define I2O_VENDOR_DPT 0x001b
-
-/*
- * DPT / Adaptec specific values for i2o_sg_io_hdr flags.
- */
-#define I2O_DPT_SG_FLAG_INTERPRET 0x00010000
-#define I2O_DPT_SG_FLAG_PHYSICAL 0x00020000
-
-#define I2O_DPT_FLASH_FRAG_SIZE 0x10000
-#define I2O_DPT_FLASH_READ 0x0101
-#define I2O_DPT_FLASH_WRITE 0x0102
-
-#endif /* _I2O_DEV_H */
diff --git a/linux-headers/include/linux/i8k.h b/linux-headers/include/linux/i8k.h
deleted file mode 100644
index 133d02f..0000000
--- a/linux-headers/include/linux/i8k.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * i8k.h -- Linux driver for accessing the SMM BIOS on Dell laptops
- *
- * Copyright (C) 2001 Massimo Dal Zotto <dz@debian.org>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- */
-
-#ifndef _LINUX_I8K_H
-#define _LINUX_I8K_H
-
-#define I8K_PROC "/proc/i8k"
-#define I8K_PROC_FMT "1.0"
-
-#define I8K_BIOS_VERSION _IOR ('i', 0x80, int) /* broken: meant 4 bytes */
-#define I8K_MACHINE_ID _IOR ('i', 0x81, int) /* broken: meant 16 bytes */
-#define I8K_POWER_STATUS _IOR ('i', 0x82, size_t)
-#define I8K_FN_STATUS _IOR ('i', 0x83, size_t)
-#define I8K_GET_TEMP _IOR ('i', 0x84, size_t)
-#define I8K_GET_SPEED _IOWR('i', 0x85, size_t)
-#define I8K_GET_FAN _IOWR('i', 0x86, size_t)
-#define I8K_SET_FAN _IOWR('i', 0x87, size_t)
-
-#define I8K_FAN_LEFT 1
-#define I8K_FAN_RIGHT 0
-#define I8K_FAN_OFF 0
-#define I8K_FAN_LOW 1
-#define I8K_FAN_HIGH 2
-#define I8K_FAN_TURBO 3
-#define I8K_FAN_MAX I8K_FAN_TURBO
-
-#define I8K_VOL_UP 1
-#define I8K_VOL_DOWN 2
-#define I8K_VOL_MUTE 4
-
-#define I8K_AC 1
-#define I8K_BATTERY 0
-
-#endif
diff --git a/linux-headers/include/linux/icmp.h b/linux-headers/include/linux/icmp.h
deleted file mode 100644
index ab58cee..0000000
--- a/linux-headers/include/linux/icmp.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the ICMP protocol.
- *
- * Version: @(#)icmp.h 1.0.3 04/28/93
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_ICMP_H
-#define _LINUX_ICMP_H
-
-#include <linux/types.h>
-
-#define ICMP_ECHOREPLY 0 /* Echo Reply */
-#define ICMP_DEST_UNREACH 3 /* Destination Unreachable */
-#define ICMP_SOURCE_QUENCH 4 /* Source Quench */
-#define ICMP_REDIRECT 5 /* Redirect (change route) */
-#define ICMP_ECHO 8 /* Echo Request */
-#define ICMP_TIME_EXCEEDED 11 /* Time Exceeded */
-#define ICMP_PARAMETERPROB 12 /* Parameter Problem */
-#define ICMP_TIMESTAMP 13 /* Timestamp Request */
-#define ICMP_TIMESTAMPREPLY 14 /* Timestamp Reply */
-#define ICMP_INFO_REQUEST 15 /* Information Request */
-#define ICMP_INFO_REPLY 16 /* Information Reply */
-#define ICMP_ADDRESS 17 /* Address Mask Request */
-#define ICMP_ADDRESSREPLY 18 /* Address Mask Reply */
-#define NR_ICMP_TYPES 18
-
-
-/* Codes for UNREACH. */
-#define ICMP_NET_UNREACH 0 /* Network Unreachable */
-#define ICMP_HOST_UNREACH 1 /* Host Unreachable */
-#define ICMP_PROT_UNREACH 2 /* Protocol Unreachable */
-#define ICMP_PORT_UNREACH 3 /* Port Unreachable */
-#define ICMP_FRAG_NEEDED 4 /* Fragmentation Needed/DF set */
-#define ICMP_SR_FAILED 5 /* Source Route failed */
-#define ICMP_NET_UNKNOWN 6
-#define ICMP_HOST_UNKNOWN 7
-#define ICMP_HOST_ISOLATED 8
-#define ICMP_NET_ANO 9
-#define ICMP_HOST_ANO 10
-#define ICMP_NET_UNR_TOS 11
-#define ICMP_HOST_UNR_TOS 12
-#define ICMP_PKT_FILTERED 13 /* Packet filtered */
-#define ICMP_PREC_VIOLATION 14 /* Precedence violation */
-#define ICMP_PREC_CUTOFF 15 /* Precedence cut off */
-#define NR_ICMP_UNREACH 15 /* instead of hardcoding immediate value */
-
-/* Codes for REDIRECT. */
-#define ICMP_REDIR_NET 0 /* Redirect Net */
-#define ICMP_REDIR_HOST 1 /* Redirect Host */
-#define ICMP_REDIR_NETTOS 2 /* Redirect Net for TOS */
-#define ICMP_REDIR_HOSTTOS 3 /* Redirect Host for TOS */
-
-/* Codes for TIME_EXCEEDED. */
-#define ICMP_EXC_TTL 0 /* TTL count exceeded */
-#define ICMP_EXC_FRAGTIME 1 /* Fragment Reass time exceeded */
-
-
-struct icmphdr {
- __u8 type;
- __u8 code;
- __sum16 checksum;
- union {
- struct {
- __be16 id;
- __be16 sequence;
- } echo;
- __be32 gateway;
- struct {
- __be16 __unused;
- __be16 mtu;
- } frag;
- } un;
-};
-
-
-/*
- * constants for (set|get)sockopt
- */
-
-#define ICMP_FILTER 1
-
-struct icmp_filter {
- __u32 data;
-};
-
-
-#endif /* _LINUX_ICMP_H */
diff --git a/linux-headers/include/linux/icmpv6.h b/linux-headers/include/linux/icmpv6.h
deleted file mode 100644
index a2e839e..0000000
--- a/linux-headers/include/linux/icmpv6.h
+++ /dev/null
@@ -1,166 +0,0 @@
-#ifndef _LINUX_ICMPV6_H
-#define _LINUX_ICMPV6_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-struct icmp6hdr {
-
- __u8 icmp6_type;
- __u8 icmp6_code;
- __sum16 icmp6_cksum;
-
-
- union {
- __be32 un_data32[1];
- __be16 un_data16[2];
- __u8 un_data8[4];
-
- struct icmpv6_echo {
- __be16 identifier;
- __be16 sequence;
- } u_echo;
-
- struct icmpv6_nd_advt {
-#if defined(__LITTLE_ENDIAN_BITFIELD)
- __u32 reserved:5,
- override:1,
- solicited:1,
- router:1,
- reserved2:24;
-#elif defined(__BIG_ENDIAN_BITFIELD)
- __u32 router:1,
- solicited:1,
- override:1,
- reserved:29;
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
- } u_nd_advt;
-
- struct icmpv6_nd_ra {
- __u8 hop_limit;
-#if defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 reserved:3,
- router_pref:2,
- home_agent:1,
- other:1,
- managed:1;
-
-#elif defined(__BIG_ENDIAN_BITFIELD)
- __u8 managed:1,
- other:1,
- home_agent:1,
- router_pref:2,
- reserved:3;
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
- __be16 rt_lifetime;
- } u_nd_ra;
-
- } icmp6_dataun;
-
-#define icmp6_identifier icmp6_dataun.u_echo.identifier
-#define icmp6_sequence icmp6_dataun.u_echo.sequence
-#define icmp6_pointer icmp6_dataun.un_data32[0]
-#define icmp6_mtu icmp6_dataun.un_data32[0]
-#define icmp6_unused icmp6_dataun.un_data32[0]
-#define icmp6_maxdelay icmp6_dataun.un_data16[0]
-#define icmp6_router icmp6_dataun.u_nd_advt.router
-#define icmp6_solicited icmp6_dataun.u_nd_advt.solicited
-#define icmp6_override icmp6_dataun.u_nd_advt.override
-#define icmp6_ndiscreserved icmp6_dataun.u_nd_advt.reserved
-#define icmp6_hop_limit icmp6_dataun.u_nd_ra.hop_limit
-#define icmp6_addrconf_managed icmp6_dataun.u_nd_ra.managed
-#define icmp6_addrconf_other icmp6_dataun.u_nd_ra.other
-#define icmp6_rt_lifetime icmp6_dataun.u_nd_ra.rt_lifetime
-#define icmp6_router_pref icmp6_dataun.u_nd_ra.router_pref
-};
-
-
-#define ICMPV6_ROUTER_PREF_LOW 0x3
-#define ICMPV6_ROUTER_PREF_MEDIUM 0x0
-#define ICMPV6_ROUTER_PREF_HIGH 0x1
-#define ICMPV6_ROUTER_PREF_INVALID 0x2
-
-#define ICMPV6_DEST_UNREACH 1
-#define ICMPV6_PKT_TOOBIG 2
-#define ICMPV6_TIME_EXCEED 3
-#define ICMPV6_PARAMPROB 4
-
-#define ICMPV6_INFOMSG_MASK 0x80
-
-#define ICMPV6_ECHO_REQUEST 128
-#define ICMPV6_ECHO_REPLY 129
-#define ICMPV6_MGM_QUERY 130
-#define ICMPV6_MGM_REPORT 131
-#define ICMPV6_MGM_REDUCTION 132
-
-#define ICMPV6_NI_QUERY 139
-#define ICMPV6_NI_REPLY 140
-
-#define ICMPV6_MLD2_REPORT 143
-
-#define ICMPV6_DHAAD_REQUEST 144
-#define ICMPV6_DHAAD_REPLY 145
-#define ICMPV6_MOBILE_PREFIX_SOL 146
-#define ICMPV6_MOBILE_PREFIX_ADV 147
-
-/*
- * Codes for Destination Unreachable
- */
-#define ICMPV6_NOROUTE 0
-#define ICMPV6_ADM_PROHIBITED 1
-#define ICMPV6_NOT_NEIGHBOUR 2
-#define ICMPV6_ADDR_UNREACH 3
-#define ICMPV6_PORT_UNREACH 4
-#define ICMPV6_POLICY_FAIL 5
-#define ICMPV6_REJECT_ROUTE 6
-
-/*
- * Codes for Time Exceeded
- */
-#define ICMPV6_EXC_HOPLIMIT 0
-#define ICMPV6_EXC_FRAGTIME 1
-
-/*
- * Codes for Parameter Problem
- */
-#define ICMPV6_HDR_FIELD 0
-#define ICMPV6_UNK_NEXTHDR 1
-#define ICMPV6_UNK_OPTION 2
-
-/*
- * constants for (set|get)sockopt
- */
-
-#define ICMPV6_FILTER 1
-
-/*
- * ICMPV6 filter
- */
-
-#define ICMPV6_FILTER_BLOCK 1
-#define ICMPV6_FILTER_PASS 2
-#define ICMPV6_FILTER_BLOCKOTHERS 3
-#define ICMPV6_FILTER_PASSONLY 4
-
-struct icmp6_filter {
- __u32 data[8];
-};
-
-/*
- * Definitions for MLDv2
- */
-#define MLD2_MODE_IS_INCLUDE 1
-#define MLD2_MODE_IS_EXCLUDE 2
-#define MLD2_CHANGE_TO_INCLUDE 3
-#define MLD2_CHANGE_TO_EXCLUDE 4
-#define MLD2_ALLOW_NEW_SOURCES 5
-#define MLD2_BLOCK_OLD_SOURCES 6
-
-#define MLD2_ALL_MCR_INIT { { { 0xff,0x02,0,0,0,0,0,0,0,0,0,0,0,0,0,0x16 } } }
-
-
-#endif /* _LINUX_ICMPV6_H */
diff --git a/linux-headers/include/linux/if.h b/linux-headers/include/linux/if.h
deleted file mode 100644
index 5b84948..0000000
--- a/linux-headers/include/linux/if.h
+++ /dev/null
@@ -1,290 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the INET interface module.
- *
- * Version: @(#)if.h 1.0.2 04/18/93
- *
- * Authors: Original taken from Berkeley UNIX 4.3, (c) UCB 1982-1988
- * Ross Biro
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IF_H
-#define _LINUX_IF_H
-
-#include <linux/libc-compat.h> /* for compatibility with glibc */
-#include <linux/types.h> /* for "__kernel_caddr_t" et al */
-#include <linux/socket.h> /* for "struct sockaddr" et al */
- /* for "__user" et al */
-
-#if __UAPI_DEF_IF_IFNAMSIZ
-#define IFNAMSIZ 16
-#endif /* __UAPI_DEF_IF_IFNAMSIZ */
-#define IFALIASZ 256
-#include <linux/hdlc/ioctl.h>
-
-/* For glibc compatibility. An empty enum does not compile. */
-#if __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO != 0 && \
- __UAPI_DEF_IF_NET_DEVICE_FLAGS != 0
-/**
- * enum net_device_flags - &struct net_device flags
- *
- * These are the &struct net_device flags, they can be set by drivers, the
- * kernel and some can be triggered by userspace. Userspace can query and
- * set these flags using userspace utilities but there is also a sysfs
- * entry available for all dev flags which can be queried and set. These flags
- * are shared for all types of net_devices. The sysfs entries are available
- * via /sys/class/net/<dev>/flags. Flags which can be toggled through sysfs
- * are annotated below, note that only a few flags can be toggled and some
- * other flags are always preserved from the original net_device flags
- * even if you try to set them via sysfs. Flags which are always preserved
- * are kept under the flag grouping @IFF_VOLATILE. Flags which are __volatile__
- * are annotated below as such.
- *
- * You should have a pretty good reason to be extending these flags.
- *
- * @IFF_UP: interface is up. Can be toggled through sysfs.
- * @IFF_BROADCAST: broadcast address valid. Volatile.
- * @IFF_DEBUG: turn on debugging. Can be toggled through sysfs.
- * @IFF_LOOPBACK: is a loopback net. Volatile.
- * @IFF_POINTOPOINT: interface is has p-p link. Volatile.
- * @IFF_NOTRAILERS: avoid use of trailers. Can be toggled through sysfs.
- * Volatile.
- * @IFF_RUNNING: interface RFC2863 OPER_UP. Volatile.
- * @IFF_NOARP: no ARP protocol. Can be toggled through sysfs. Volatile.
- * @IFF_PROMISC: receive all packets. Can be toggled through sysfs.
- * @IFF_ALLMULTI: receive all multicast packets. Can be toggled through
- * sysfs.
- * @IFF_MASTER: master of a load balancer. Volatile.
- * @IFF_SLAVE: slave of a load balancer. Volatile.
- * @IFF_MULTICAST: Supports multicast. Can be toggled through sysfs.
- * @IFF_PORTSEL: can set media type. Can be toggled through sysfs.
- * @IFF_AUTOMEDIA: auto media select active. Can be toggled through sysfs.
- * @IFF_DYNAMIC: dialup device with changing addresses. Can be toggled
- * through sysfs.
- * @IFF_LOWER_UP: driver signals L1 up. Volatile.
- * @IFF_DORMANT: driver signals dormant. Volatile.
- * @IFF_ECHO: echo sent packets. Volatile.
- */
-enum net_device_flags {
-/* for compatibility with glibc net/if.h */
-#if __UAPI_DEF_IF_NET_DEVICE_FLAGS
- IFF_UP = 1<<0, /* sysfs */
- IFF_BROADCAST = 1<<1, /* __volatile__ */
- IFF_DEBUG = 1<<2, /* sysfs */
- IFF_LOOPBACK = 1<<3, /* __volatile__ */
- IFF_POINTOPOINT = 1<<4, /* __volatile__ */
- IFF_NOTRAILERS = 1<<5, /* sysfs */
- IFF_RUNNING = 1<<6, /* __volatile__ */
- IFF_NOARP = 1<<7, /* sysfs */
- IFF_PROMISC = 1<<8, /* sysfs */
- IFF_ALLMULTI = 1<<9, /* sysfs */
- IFF_MASTER = 1<<10, /* __volatile__ */
- IFF_SLAVE = 1<<11, /* __volatile__ */
- IFF_MULTICAST = 1<<12, /* sysfs */
- IFF_PORTSEL = 1<<13, /* sysfs */
- IFF_AUTOMEDIA = 1<<14, /* sysfs */
- IFF_DYNAMIC = 1<<15, /* sysfs */
-#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS */
-#if __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
- IFF_LOWER_UP = 1<<16, /* __volatile__ */
- IFF_DORMANT = 1<<17, /* __volatile__ */
- IFF_ECHO = 1<<18, /* __volatile__ */
-#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
-};
-#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO != 0 && __UAPI_DEF_IF_NET_DEVICE_FLAGS != 0 */
-
-/* for compatibility with glibc net/if.h */
-#if __UAPI_DEF_IF_NET_DEVICE_FLAGS
-#define IFF_UP IFF_UP
-#define IFF_BROADCAST IFF_BROADCAST
-#define IFF_DEBUG IFF_DEBUG
-#define IFF_LOOPBACK IFF_LOOPBACK
-#define IFF_POINTOPOINT IFF_POINTOPOINT
-#define IFF_NOTRAILERS IFF_NOTRAILERS
-#define IFF_RUNNING IFF_RUNNING
-#define IFF_NOARP IFF_NOARP
-#define IFF_PROMISC IFF_PROMISC
-#define IFF_ALLMULTI IFF_ALLMULTI
-#define IFF_MASTER IFF_MASTER
-#define IFF_SLAVE IFF_SLAVE
-#define IFF_MULTICAST IFF_MULTICAST
-#define IFF_PORTSEL IFF_PORTSEL
-#define IFF_AUTOMEDIA IFF_AUTOMEDIA
-#define IFF_DYNAMIC IFF_DYNAMIC
-#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS */
-
-#if __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
-#define IFF_LOWER_UP IFF_LOWER_UP
-#define IFF_DORMANT IFF_DORMANT
-#define IFF_ECHO IFF_ECHO
-#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
-
-#define IFF_VOLATILE (IFF_LOOPBACK|IFF_POINTOPOINT|IFF_BROADCAST|IFF_ECHO|\
- IFF_MASTER|IFF_SLAVE|IFF_RUNNING|IFF_LOWER_UP|IFF_DORMANT)
-
-#define IF_GET_IFACE 0x0001 /* for querying only */
-#define IF_GET_PROTO 0x0002
-
-/* For definitions see hdlc.h */
-#define IF_IFACE_V35 0x1000 /* V.35 serial interface */
-#define IF_IFACE_V24 0x1001 /* V.24 serial interface */
-#define IF_IFACE_X21 0x1002 /* X.21 serial interface */
-#define IF_IFACE_T1 0x1003 /* T1 telco serial interface */
-#define IF_IFACE_E1 0x1004 /* E1 telco serial interface */
-#define IF_IFACE_SYNC_SERIAL 0x1005 /* can't be set by software */
-#define IF_IFACE_X21D 0x1006 /* X.21 Dual Clocking (FarSite) */
-
-/* For definitions see hdlc.h */
-#define IF_PROTO_HDLC 0x2000 /* raw HDLC protocol */
-#define IF_PROTO_PPP 0x2001 /* PPP protocol */
-#define IF_PROTO_CISCO 0x2002 /* Cisco HDLC protocol */
-#define IF_PROTO_FR 0x2003 /* Frame Relay protocol */
-#define IF_PROTO_FR_ADD_PVC 0x2004 /* Create FR PVC */
-#define IF_PROTO_FR_DEL_PVC 0x2005 /* Delete FR PVC */
-#define IF_PROTO_X25 0x2006 /* X.25 */
-#define IF_PROTO_HDLC_ETH 0x2007 /* raw HDLC, Ethernet emulation */
-#define IF_PROTO_FR_ADD_ETH_PVC 0x2008 /* Create FR Ethernet-bridged PVC */
-#define IF_PROTO_FR_DEL_ETH_PVC 0x2009 /* Delete FR Ethernet-bridged PVC */
-#define IF_PROTO_FR_PVC 0x200A /* for reading PVC status */
-#define IF_PROTO_FR_ETH_PVC 0x200B
-#define IF_PROTO_RAW 0x200C /* RAW Socket */
-
-/* RFC 2863 operational status */
-enum {
- IF_OPER_UNKNOWN,
- IF_OPER_NOTPRESENT,
- IF_OPER_DOWN,
- IF_OPER_LOWERLAYERDOWN,
- IF_OPER_TESTING,
- IF_OPER_DORMANT,
- IF_OPER_UP,
-};
-
-/* link modes */
-enum {
- IF_LINK_MODE_DEFAULT,
- IF_LINK_MODE_DORMANT, /* limit upward transition to dormant */
-};
-
-/*
- * Device mapping structure. I'd just gone off and designed a
- * beautiful scheme using only loadable modules with arguments
- * for driver options and along come the PCMCIA people 8)
- *
- * Ah well. The get() side of this is good for WDSETUP, and it'll
- * be handy for debugging things. The set side is fine for now and
- * being very small might be worth keeping for clean configuration.
- */
-
-/* for compatibility with glibc net/if.h */
-#if __UAPI_DEF_IF_IFMAP
-struct ifmap {
- unsigned long mem_start;
- unsigned long mem_end;
- unsigned short base_addr;
- unsigned char irq;
- unsigned char dma;
- unsigned char port;
- /* 3 bytes spare */
-};
-#endif /* __UAPI_DEF_IF_IFMAP */
-
-struct if_settings {
- unsigned int type; /* Type of physical device or protocol */
- unsigned int size; /* Size of the data allocated by the caller */
- union {
- /* {atm/eth/dsl}_settings anyone ? */
- raw_hdlc_proto *raw_hdlc;
- cisco_proto *cisco;
- fr_proto *fr;
- fr_proto_pvc *fr_pvc;
- fr_proto_pvc_info *fr_pvc_info;
-
- /* interface settings */
- sync_serial_settings *sync;
- te1_settings *te1;
- } ifs_ifsu;
-};
-
-/*
- * Interface request structure used for socket
- * ioctl's. All interface ioctl's must have parameter
- * definitions which begin with ifr_name. The
- * remainder may be interface specific.
- */
-
-/* for compatibility with glibc net/if.h */
-#if __UAPI_DEF_IF_IFREQ
-struct ifreq {
-#define IFHWADDRLEN 6
- union
- {
- char ifrn_name[IFNAMSIZ]; /* if name, e.g. "en0" */
- } ifr_ifrn;
-
- union {
- struct sockaddr ifru_addr;
- struct sockaddr ifru_dstaddr;
- struct sockaddr ifru_broadaddr;
- struct sockaddr ifru_netmask;
- struct sockaddr ifru_hwaddr;
- short ifru_flags;
- int ifru_ivalue;
- int ifru_mtu;
- struct ifmap ifru_map;
- char ifru_slave[IFNAMSIZ]; /* Just fits the size */
- char ifru_newname[IFNAMSIZ];
- void * ifru_data;
- struct if_settings ifru_settings;
- } ifr_ifru;
-};
-#endif /* __UAPI_DEF_IF_IFREQ */
-
-#define ifr_name ifr_ifrn.ifrn_name /* interface name */
-#define ifr_hwaddr ifr_ifru.ifru_hwaddr /* MAC address */
-#define ifr_addr ifr_ifru.ifru_addr /* address */
-#define ifr_dstaddr ifr_ifru.ifru_dstaddr /* other end of p-p lnk */
-#define ifr_broadaddr ifr_ifru.ifru_broadaddr /* broadcast address */
-#define ifr_netmask ifr_ifru.ifru_netmask /* interface net mask */
-#define ifr_flags ifr_ifru.ifru_flags /* flags */
-#define ifr_metric ifr_ifru.ifru_ivalue /* metric */
-#define ifr_mtu ifr_ifru.ifru_mtu /* mtu */
-#define ifr_map ifr_ifru.ifru_map /* device map */
-#define ifr_slave ifr_ifru.ifru_slave /* slave device */
-#define ifr_data ifr_ifru.ifru_data /* for use by interface */
-#define ifr_ifindex ifr_ifru.ifru_ivalue /* interface index */
-#define ifr_bandwidth ifr_ifru.ifru_ivalue /* link bandwidth */
-#define ifr_qlen ifr_ifru.ifru_ivalue /* Queue length */
-#define ifr_newname ifr_ifru.ifru_newname /* New name */
-#define ifr_settings ifr_ifru.ifru_settings /* Device/proto settings*/
-
-/*
- * Structure used in SIOCGIFCONF request.
- * Used to retrieve interface configuration
- * for machine (useful for programs which
- * must know all networks accessible).
- */
-
-/* for compatibility with glibc net/if.h */
-#if __UAPI_DEF_IF_IFCONF
-struct ifconf {
- int ifc_len; /* size of buffer */
- union {
- char *ifcu_buf;
- struct ifreq *ifcu_req;
- } ifc_ifcu;
-};
-#endif /* __UAPI_DEF_IF_IFCONF */
-
-#define ifc_buf ifc_ifcu.ifcu_buf /* buffer address */
-#define ifc_req ifc_ifcu.ifcu_req /* array of structures */
-
-#endif /* _LINUX_IF_H */
diff --git a/linux-headers/include/linux/if_addr.h b/linux-headers/include/linux/if_addr.h
deleted file mode 100644
index 26f0ecf..0000000
--- a/linux-headers/include/linux/if_addr.h
+++ /dev/null
@@ -1,67 +0,0 @@
-#ifndef __LINUX_IF_ADDR_H
-#define __LINUX_IF_ADDR_H
-
-#include <linux/types.h>
-#include <linux/netlink.h>
-
-struct ifaddrmsg {
- __u8 ifa_family;
- __u8 ifa_prefixlen; /* The prefix length */
- __u8 ifa_flags; /* Flags */
- __u8 ifa_scope; /* Address scope */
- __u32 ifa_index; /* Link index */
-};
-
-/*
- * Important comment:
- * IFA_ADDRESS is prefix address, rather than local interface address.
- * It makes no difference for normally configured broadcast interfaces,
- * but for point-to-point IFA_ADDRESS is DESTINATION address,
- * local address is supplied in IFA_LOCAL attribute.
- *
- * IFA_FLAGS is a u32 attribute that extends the u8 field ifa_flags.
- * If present, the value from struct ifaddrmsg will be ignored.
- */
-enum {
- IFA_UNSPEC,
- IFA_ADDRESS,
- IFA_LOCAL,
- IFA_LABEL,
- IFA_BROADCAST,
- IFA_ANYCAST,
- IFA_CACHEINFO,
- IFA_MULTICAST,
- IFA_FLAGS,
- __IFA_MAX,
-};
-
-#define IFA_MAX (__IFA_MAX - 1)
-
-/* ifa_flags */
-#define IFA_F_SECONDARY 0x01
-#define IFA_F_TEMPORARY IFA_F_SECONDARY
-
-#define IFA_F_NODAD 0x02
-#define IFA_F_OPTIMISTIC 0x04
-#define IFA_F_DADFAILED 0x08
-#define IFA_F_HOMEADDRESS 0x10
-#define IFA_F_DEPRECATED 0x20
-#define IFA_F_TENTATIVE 0x40
-#define IFA_F_PERMANENT 0x80
-#define IFA_F_MANAGETEMPADDR 0x100
-#define IFA_F_NOPREFIXROUTE 0x200
-#define IFA_F_MCAUTOJOIN 0x400
-#define IFA_F_STABLE_PRIVACY 0x800
-
-struct ifa_cacheinfo {
- __u32 ifa_prefered;
- __u32 ifa_valid;
- __u32 cstamp; /* created timestamp, hundredths of seconds */
- __u32 tstamp; /* updated timestamp, hundredths of seconds */
-};
-
-/* backwards compatibility for userspace */
-#define IFA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifaddrmsg))))
-#define IFA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifaddrmsg))
-
-#endif
diff --git a/linux-headers/include/linux/if_addrlabel.h b/linux-headers/include/linux/if_addrlabel.h
deleted file mode 100644
index 54580c2..0000000
--- a/linux-headers/include/linux/if_addrlabel.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * if_addrlabel.h - netlink interface for address labels
- *
- * Copyright (C)2007 USAGI/WIDE Project, All Rights Reserved.
- *
- * Authors:
- * YOSHIFUJI Hideaki @ USAGI/WIDE <yoshfuji@linux-ipv6.org>
- */
-
-#ifndef __LINUX_IF_ADDRLABEL_H
-#define __LINUX_IF_ADDRLABEL_H
-
-#include <linux/types.h>
-
-struct ifaddrlblmsg {
- __u8 ifal_family; /* Address family */
- __u8 __ifal_reserved; /* Reserved */
- __u8 ifal_prefixlen; /* Prefix length */
- __u8 ifal_flags; /* Flags */
- __u32 ifal_index; /* Link index */
- __u32 ifal_seq; /* sequence number */
-};
-
-enum {
- IFAL_ADDRESS = 1,
- IFAL_LABEL = 2,
- __IFAL_MAX
-};
-
-#define IFAL_MAX (__IFAL_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/if_alg.h b/linux-headers/include/linux/if_alg.h
deleted file mode 100644
index f2acd2f..0000000
--- a/linux-headers/include/linux/if_alg.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * if_alg: User-space algorithm interface
- *
- * Copyright (c) 2010 Herbert Xu <herbert@gondor.apana.org.au>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- *
- */
-
-#ifndef _LINUX_IF_ALG_H
-#define _LINUX_IF_ALG_H
-
-#include <linux/types.h>
-
-struct sockaddr_alg {
- __u16 salg_family;
- __u8 salg_type[14];
- __u32 salg_feat;
- __u32 salg_mask;
- __u8 salg_name[64];
-};
-
-struct af_alg_iv {
- __u32 ivlen;
- __u8 iv[0];
-};
-
-/* Socket options */
-#define ALG_SET_KEY 1
-#define ALG_SET_IV 2
-#define ALG_SET_OP 3
-#define ALG_SET_AEAD_ASSOCLEN 4
-#define ALG_SET_AEAD_AUTHSIZE 5
-
-/* Operations */
-#define ALG_OP_DECRYPT 0
-#define ALG_OP_ENCRYPT 1
-
-#endif /* _LINUX_IF_ALG_H */
diff --git a/linux-headers/include/linux/if_arcnet.h b/linux-headers/include/linux/if_arcnet.h
deleted file mode 100644
index cfb642f..0000000
--- a/linux-headers/include/linux/if_arcnet.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the ARCnet interface.
- *
- * Authors: David Woodhouse and Avery Pennarun
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_IF_ARCNET_H
-#define _LINUX_IF_ARCNET_H
-
-#include <linux/types.h>
-#include <linux/if_ether.h>
-
-/*
- * These are the defined ARCnet Protocol ID's.
- */
-
-/* CAP mode */
-/* No macro but uses 1-8 */
-
-/* RFC1201 Protocol ID's */
-#define ARC_P_IP 212 /* 0xD4 */
-#define ARC_P_IPV6 196 /* 0xC4: RFC2497 */
-#define ARC_P_ARP 213 /* 0xD5 */
-#define ARC_P_RARP 214 /* 0xD6 */
-#define ARC_P_IPX 250 /* 0xFA */
-#define ARC_P_NOVELL_EC 236 /* 0xEC */
-
-/* Old RFC1051 Protocol ID's */
-#define ARC_P_IP_RFC1051 240 /* 0xF0 */
-#define ARC_P_ARP_RFC1051 241 /* 0xF1 */
-
-/* MS LanMan/WfWg "NDIS" encapsulation */
-#define ARC_P_ETHER 232 /* 0xE8 */
-
-/* Unsupported/indirectly supported protocols */
-#define ARC_P_DATAPOINT_BOOT 0 /* very old Datapoint equipment */
-#define ARC_P_DATAPOINT_MOUNT 1
-#define ARC_P_POWERLAN_BEACON 8 /* Probably ATA-Netbios related */
-#define ARC_P_POWERLAN_BEACON2 243 /* 0xF3 */
-#define ARC_P_LANSOFT 251 /* 0xFB - what is this? */
-#define ARC_P_ATALK 0xDD
-
-/* Hardware address length */
-#define ARCNET_ALEN 1
-
-/*
- * The RFC1201-specific components of an arcnet packet header.
- */
-struct arc_rfc1201 {
- __u8 proto; /* protocol ID field - varies */
- __u8 split_flag; /* for use with split packets */
- __be16 sequence; /* sequence number */
- __u8 payload[0]; /* space remaining in packet (504 bytes)*/
-};
-#define RFC1201_HDR_SIZE 4
-
-/*
- * The RFC1051-specific components.
- */
-struct arc_rfc1051 {
- __u8 proto; /* ARC_P_RFC1051_ARP/RFC1051_IP */
- __u8 payload[0]; /* 507 bytes */
-};
-#define RFC1051_HDR_SIZE 1
-
-/*
- * The ethernet-encap-specific components. We have a real ethernet header
- * and some data.
- */
-struct arc_eth_encap {
- __u8 proto; /* Always ARC_P_ETHER */
- struct ethhdr eth; /* standard ethernet header (yuck!) */
- __u8 payload[0]; /* 493 bytes */
-};
-#define ETH_ENCAP_HDR_SIZE 14
-
-struct arc_cap {
- __u8 proto;
- __u8 cookie[sizeof(int)];
- /* Actually NOT sent over the network */
- union {
- __u8 ack;
- __u8 raw[0]; /* 507 bytes */
- } mes;
-};
-
-/*
- * The data needed by the actual arcnet hardware.
- *
- * Now, in the real arcnet hardware, the third and fourth bytes are the
- * 'offset' specification instead of the length, and the soft data is at
- * the _end_ of the 512-byte buffer. We hide this complexity inside the
- * driver.
- */
-struct arc_hardware {
- __u8 source; /* source ARCnet - filled in automagically */
- __u8 dest; /* destination ARCnet - 0 for broadcast */
- __u8 offset[2]; /* offset bytes (some weird semantics) */
-};
-#define ARC_HDR_SIZE 4
-
-/*
- * This is an ARCnet frame header, as seen by the kernel (and userspace,
- * when you do a raw packet capture).
- */
-struct archdr {
- /* hardware requirements */
- struct arc_hardware hard;
-
- /* arcnet encapsulation-specific bits */
- union {
- struct arc_rfc1201 rfc1201;
- struct arc_rfc1051 rfc1051;
- struct arc_eth_encap eth_encap;
- struct arc_cap cap;
- __u8 raw[0]; /* 508 bytes */
- } soft;
-};
-
-#endif /* _LINUX_IF_ARCNET_H */
diff --git a/linux-headers/include/linux/if_arp.h b/linux-headers/include/linux/if_arp.h
deleted file mode 100644
index d001bdb..0000000
--- a/linux-headers/include/linux/if_arp.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the ARP (RFC 826) protocol.
- *
- * Version: @(#)if_arp.h 1.0.1 04/16/93
- *
- * Authors: Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
- * Portions taken from the KA9Q/NOS (v2.00m PA0GRI) source.
- * Ross Biro
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Florian La Roche,
- * Jonathan Layes <layes@loran.com>
- * Arnaldo Carvalho de Melo <acme@conectiva.com.br> ARPHRD_HWX25
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IF_ARP_H
-#define _LINUX_IF_ARP_H
-
-#include <linux/netdevice.h>
-
-/* ARP protocol HARDWARE identifiers. */
-#define ARPHRD_NETROM 0 /* from KA9Q: NET/ROM pseudo */
-#define ARPHRD_ETHER 1 /* Ethernet 10Mbps */
-#define ARPHRD_EETHER 2 /* Experimental Ethernet */
-#define ARPHRD_AX25 3 /* AX.25 Level 2 */
-#define ARPHRD_PRONET 4 /* PROnet token ring */
-#define ARPHRD_CHAOS 5 /* Chaosnet */
-#define ARPHRD_IEEE802 6 /* IEEE 802.2 Ethernet/TR/TB */
-#define ARPHRD_ARCNET 7 /* ARCnet */
-#define ARPHRD_APPLETLK 8 /* APPLEtalk */
-#define ARPHRD_DLCI 15 /* Frame Relay DLCI */
-#define ARPHRD_ATM 19 /* ATM */
-#define ARPHRD_METRICOM 23 /* Metricom STRIP (new IANA id) */
-#define ARPHRD_IEEE1394 24 /* IEEE 1394 IPv4 - RFC 2734 */
-#define ARPHRD_EUI64 27 /* EUI-64 */
-#define ARPHRD_INFINIBAND 32 /* InfiniBand */
-
-/* Dummy types for non ARP hardware */
-#define ARPHRD_SLIP 256
-#define ARPHRD_CSLIP 257
-#define ARPHRD_SLIP6 258
-#define ARPHRD_CSLIP6 259
-#define ARPHRD_RSRVD 260 /* Notional KISS type */
-#define ARPHRD_ADAPT 264
-#define ARPHRD_ROSE 270
-#define ARPHRD_X25 271 /* CCITT X.25 */
-#define ARPHRD_HWX25 272 /* Boards with X.25 in firmware */
-#define ARPHRD_CAN 280 /* Controller Area Network */
-#define ARPHRD_PPP 512
-#define ARPHRD_CISCO 513 /* Cisco HDLC */
-#define ARPHRD_HDLC ARPHRD_CISCO
-#define ARPHRD_LAPB 516 /* LAPB */
-#define ARPHRD_DDCMP 517 /* Digital's DDCMP protocol */
-#define ARPHRD_RAWHDLC 518 /* Raw HDLC */
-
-#define ARPHRD_TUNNEL 768 /* IPIP tunnel */
-#define ARPHRD_TUNNEL6 769 /* IP6IP6 tunnel */
-#define ARPHRD_FRAD 770 /* Frame Relay Access Device */
-#define ARPHRD_SKIP 771 /* SKIP vif */
-#define ARPHRD_LOOPBACK 772 /* Loopback device */
-#define ARPHRD_LOCALTLK 773 /* Localtalk device */
-#define ARPHRD_FDDI 774 /* Fiber Distributed Data Interface */
-#define ARPHRD_BIF 775 /* AP1000 BIF */
-#define ARPHRD_SIT 776 /* sit0 device - IPv6-in-IPv4 */
-#define ARPHRD_IPDDP 777 /* IP over DDP tunneller */
-#define ARPHRD_IPGRE 778 /* GRE over IP */
-#define ARPHRD_PIMREG 779 /* PIMSM register interface */
-#define ARPHRD_HIPPI 780 /* High Performance Parallel Interface */
-#define ARPHRD_ASH 781 /* Nexus 64Mbps Ash */
-#define ARPHRD_ECONET 782 /* Acorn Econet */
-#define ARPHRD_IRDA 783 /* Linux-IrDA */
-/* ARP works differently on different FC media .. so */
-#define ARPHRD_FCPP 784 /* Point to point fibrechannel */
-#define ARPHRD_FCAL 785 /* Fibrechannel arbitrated loop */
-#define ARPHRD_FCPL 786 /* Fibrechannel public loop */
-#define ARPHRD_FCFABRIC 787 /* Fibrechannel fabric */
- /* 787->799 reserved for fibrechannel media types */
-#define ARPHRD_IEEE802_TR 800 /* Magic type ident for TR */
-#define ARPHRD_IEEE80211 801 /* IEEE 802.11 */
-#define ARPHRD_IEEE80211_PRISM 802 /* IEEE 802.11 + Prism2 header */
-#define ARPHRD_IEEE80211_RADIOTAP 803 /* IEEE 802.11 + radiotap header */
-#define ARPHRD_IEEE802154 804
-#define ARPHRD_IEEE802154_MONITOR 805 /* IEEE 802.15.4 network monitor */
-
-#define ARPHRD_PHONET 820 /* PhoNet media type */
-#define ARPHRD_PHONET_PIPE 821 /* PhoNet pipe header */
-#define ARPHRD_CAIF 822 /* CAIF media type */
-#define ARPHRD_IP6GRE 823 /* GRE over IPv6 */
-#define ARPHRD_NETLINK 824 /* Netlink header */
-#define ARPHRD_6LOWPAN 825 /* IPv6 over LoWPAN */
-
-#define ARPHRD_VOID 0xFFFF /* Void type, nothing is known */
-#define ARPHRD_NONE 0xFFFE /* zero header length */
-
-/* ARP protocol opcodes. */
-#define ARPOP_REQUEST 1 /* ARP request */
-#define ARPOP_REPLY 2 /* ARP reply */
-#define ARPOP_RREQUEST 3 /* RARP request */
-#define ARPOP_RREPLY 4 /* RARP reply */
-#define ARPOP_InREQUEST 8 /* InARP request */
-#define ARPOP_InREPLY 9 /* InARP reply */
-#define ARPOP_NAK 10 /* (ATM)ARP NAK */
-
-
-/* ARP ioctl request. */
-struct arpreq {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
- struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
- char arp_dev[16];
-};
-
-struct arpreq_old {
- struct sockaddr arp_pa; /* protocol address */
- struct sockaddr arp_ha; /* hardware address */
- int arp_flags; /* flags */
- struct sockaddr arp_netmask; /* netmask (only for proxy arps) */
-};
-
-/* ARP Flag values. */
-#define ATF_COM 0x02 /* completed entry (ha valid) */
-#define ATF_PERM 0x04 /* permanent entry */
-#define ATF_PUBL 0x08 /* publish entry */
-#define ATF_USETRAILERS 0x10 /* has requested trailers */
-#define ATF_NETMASK 0x20 /* want to use a netmask (only
- for proxy entries) */
-#define ATF_DONTPUB 0x40 /* don't answer this addresses */
-
-/*
- * This structure defines an ethernet arp header.
- */
-
-struct arphdr {
- __be16 ar_hrd; /* format of hardware address */
- __be16 ar_pro; /* format of protocol address */
- unsigned char ar_hln; /* length of hardware address */
- unsigned char ar_pln; /* length of protocol address */
- __be16 ar_op; /* ARP opcode (command) */
-
-#if 0
- /*
- * Ethernet looks like this : This bit is variable sized however...
- */
- unsigned char ar_sha[ETH_ALEN]; /* sender hardware address */
- unsigned char ar_sip[4]; /* sender IP address */
- unsigned char ar_tha[ETH_ALEN]; /* target hardware address */
- unsigned char ar_tip[4]; /* target IP address */
-#endif
-
-};
-
-
-#endif /* _LINUX_IF_ARP_H */
diff --git a/linux-headers/include/linux/if_bonding.h b/linux-headers/include/linux/if_bonding.h
deleted file mode 100644
index 9635a62..0000000
--- a/linux-headers/include/linux/if_bonding.h
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Bond several ethernet interfaces into a Cisco, running 'Etherchannel'.
- *
- *
- * Portions are (c) Copyright 1995 Simon "Guru Aleph-Null" Janes
- * NCM: Network and Communications Management, Inc.
- *
- * BUT, I'm the one who modified it for ethernet, so:
- * (c) Copyright 1999, Thomas Davis, tadavis@lbl.gov
- *
- * This software may be used and distributed according to the terms
- * of the GNU Public License, incorporated herein by reference.
- *
- * 2003/03/18 - Amir Noam <amir.noam at intel dot com>
- * - Added support for getting slave's speed and duplex via ethtool.
- * Needed for 802.3ad and other future modes.
- *
- * 2003/03/18 - Tsippy Mendelson <tsippy.mendelson at intel dot com> and
- * Shmulik Hen <shmulik.hen at intel dot com>
- * - Enable support of modes that need to use the unique mac address of
- * each slave.
- *
- * 2003/03/18 - Tsippy Mendelson <tsippy.mendelson at intel dot com> and
- * Amir Noam <amir.noam at intel dot com>
- * - Moved driver's private data types to bonding.h
- *
- * 2003/03/18 - Amir Noam <amir.noam at intel dot com>,
- * Tsippy Mendelson <tsippy.mendelson at intel dot com> and
- * Shmulik Hen <shmulik.hen at intel dot com>
- * - Added support for IEEE 802.3ad Dynamic link aggregation mode.
- *
- * 2003/05/01 - Amir Noam <amir.noam at intel dot com>
- * - Added ABI version control to restore compatibility between
- * new/old ifenslave and new/old bonding.
- *
- * 2003/12/01 - Shmulik Hen <shmulik.hen at intel dot com>
- * - Code cleanup and style changes
- *
- * 2005/05/05 - Jason Gabler <jygabler at lbl dot gov>
- * - added definitions for various XOR hashing policies
- */
-
-#ifndef _LINUX_IF_BONDING_H
-#define _LINUX_IF_BONDING_H
-
-#include <linux/if.h>
-#include <linux/types.h>
-#include <linux/if_ether.h>
-
-/* userland - kernel ABI version (2003/05/08) */
-#define BOND_ABI_VERSION 2
-
-/*
- * We can remove these ioctl definitions in 2.5. People should use the
- * SIOC*** versions of them instead
- */
-#define BOND_ENSLAVE_OLD (SIOCDEVPRIVATE)
-#define BOND_RELEASE_OLD (SIOCDEVPRIVATE + 1)
-#define BOND_SETHWADDR_OLD (SIOCDEVPRIVATE + 2)
-#define BOND_SLAVE_INFO_QUERY_OLD (SIOCDEVPRIVATE + 11)
-#define BOND_INFO_QUERY_OLD (SIOCDEVPRIVATE + 12)
-#define BOND_CHANGE_ACTIVE_OLD (SIOCDEVPRIVATE + 13)
-
-#define BOND_CHECK_MII_STATUS (SIOCGMIIPHY)
-
-#define BOND_MODE_ROUNDROBIN 0
-#define BOND_MODE_ACTIVEBACKUP 1
-#define BOND_MODE_XOR 2
-#define BOND_MODE_BROADCAST 3
-#define BOND_MODE_8023AD 4
-#define BOND_MODE_TLB 5
-#define BOND_MODE_ALB 6 /* TLB + RLB (receive load balancing) */
-
-/* each slave's link has 4 states */
-#define BOND_LINK_UP 0 /* link is up and running */
-#define BOND_LINK_FAIL 1 /* link has just gone down */
-#define BOND_LINK_DOWN 2 /* link has been down for too long time */
-#define BOND_LINK_BACK 3 /* link is going back */
-
-/* each slave has several states */
-#define BOND_STATE_ACTIVE 0 /* link is active */
-#define BOND_STATE_BACKUP 1 /* link is backup */
-
-#define BOND_DEFAULT_MAX_BONDS 1 /* Default maximum number of devices to support */
-
-#define BOND_DEFAULT_TX_QUEUES 16 /* Default number of tx queues per device */
-
-#define BOND_DEFAULT_RESEND_IGMP 1 /* Default number of IGMP membership reports */
-
-/* hashing types */
-#define BOND_XMIT_POLICY_LAYER2 0 /* layer 2 (MAC only), default */
-#define BOND_XMIT_POLICY_LAYER34 1 /* layer 3+4 (IP ^ (TCP || UDP)) */
-#define BOND_XMIT_POLICY_LAYER23 2 /* layer 2+3 (IP ^ MAC) */
-#define BOND_XMIT_POLICY_ENCAP23 3 /* encapsulated layer 2+3 */
-#define BOND_XMIT_POLICY_ENCAP34 4 /* encapsulated layer 3+4 */
-
-typedef struct ifbond {
- __s32 bond_mode;
- __s32 num_slaves;
- __s32 miimon;
-} ifbond;
-
-typedef struct ifslave {
- __s32 slave_id; /* Used as an IN param to the BOND_SLAVE_INFO_QUERY ioctl */
- char slave_name[IFNAMSIZ];
- __s8 link;
- __s8 state;
- __u32 link_failure_count;
-} ifslave;
-
-struct ad_info {
- __u16 aggregator_id;
- __u16 ports;
- __u16 actor_key;
- __u16 partner_key;
- __u8 partner_system[ETH_ALEN];
-};
-
-#endif /* _LINUX_IF_BONDING_H */
-
-/*
- * Local variables:
- * version-control: t
- * kept-new-versions: 5
- * c-indent-level: 8
- * c-basic-offset: 8
- * tab-width: 8
- * End:
- */
-
diff --git a/linux-headers/include/linux/if_bridge.h b/linux-headers/include/linux/if_bridge.h
deleted file mode 100644
index 8de96b7..0000000
--- a/linux-headers/include/linux/if_bridge.h
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
- * Linux ethernet bridge
- *
- * Authors:
- * Lennert Buytenhek <buytenh@gnu.org>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_IF_BRIDGE_H
-#define _LINUX_IF_BRIDGE_H
-
-#include <linux/types.h>
-#include <linux/if_ether.h>
-#include <linux/in6.h>
-
-#define SYSFS_BRIDGE_ATTR "bridge"
-#define SYSFS_BRIDGE_FDB "brforward"
-#define SYSFS_BRIDGE_PORT_SUBDIR "brif"
-#define SYSFS_BRIDGE_PORT_ATTR "brport"
-#define SYSFS_BRIDGE_PORT_LINK "bridge"
-
-#define BRCTL_VERSION 1
-
-#define BRCTL_GET_VERSION 0
-#define BRCTL_GET_BRIDGES 1
-#define BRCTL_ADD_BRIDGE 2
-#define BRCTL_DEL_BRIDGE 3
-#define BRCTL_ADD_IF 4
-#define BRCTL_DEL_IF 5
-#define BRCTL_GET_BRIDGE_INFO 6
-#define BRCTL_GET_PORT_LIST 7
-#define BRCTL_SET_BRIDGE_FORWARD_DELAY 8
-#define BRCTL_SET_BRIDGE_HELLO_TIME 9
-#define BRCTL_SET_BRIDGE_MAX_AGE 10
-#define BRCTL_SET_AGEING_TIME 11
-#define BRCTL_SET_GC_INTERVAL 12
-#define BRCTL_GET_PORT_INFO 13
-#define BRCTL_SET_BRIDGE_STP_STATE 14
-#define BRCTL_SET_BRIDGE_PRIORITY 15
-#define BRCTL_SET_PORT_PRIORITY 16
-#define BRCTL_SET_PATH_COST 17
-#define BRCTL_GET_FDB_ENTRIES 18
-
-#define BR_STATE_DISABLED 0
-#define BR_STATE_LISTENING 1
-#define BR_STATE_LEARNING 2
-#define BR_STATE_FORWARDING 3
-#define BR_STATE_BLOCKING 4
-
-struct __bridge_info {
- __u64 designated_root;
- __u64 bridge_id;
- __u32 root_path_cost;
- __u32 max_age;
- __u32 hello_time;
- __u32 forward_delay;
- __u32 bridge_max_age;
- __u32 bridge_hello_time;
- __u32 bridge_forward_delay;
- __u8 topology_change;
- __u8 topology_change_detected;
- __u8 root_port;
- __u8 stp_enabled;
- __u32 ageing_time;
- __u32 gc_interval;
- __u32 hello_timer_value;
- __u32 tcn_timer_value;
- __u32 topology_change_timer_value;
- __u32 gc_timer_value;
-};
-
-struct __port_info {
- __u64 designated_root;
- __u64 designated_bridge;
- __u16 port_id;
- __u16 designated_port;
- __u32 path_cost;
- __u32 designated_cost;
- __u8 state;
- __u8 top_change_ack;
- __u8 config_pending;
- __u8 unused0;
- __u32 message_age_timer_value;
- __u32 forward_delay_timer_value;
- __u32 hold_timer_value;
-};
-
-struct __fdb_entry {
- __u8 mac_addr[ETH_ALEN];
- __u8 port_no;
- __u8 is_local;
- __u32 ageing_timer_value;
- __u8 port_hi;
- __u8 pad0;
- __u16 unused;
-};
-
-/* Bridge Flags */
-#define BRIDGE_FLAGS_MASTER 1 /* Bridge command to/from master */
-#define BRIDGE_FLAGS_SELF 2 /* Bridge command to/from lowerdev */
-
-#define BRIDGE_MODE_VEB 0 /* Default loopback mode */
-#define BRIDGE_MODE_VEPA 1 /* 802.1Qbg defined VEPA mode */
-#define BRIDGE_MODE_UNDEF 0xFFFF /* mode undefined */
-
-/* Bridge management nested attributes
- * [IFLA_AF_SPEC] = {
- * [IFLA_BRIDGE_FLAGS]
- * [IFLA_BRIDGE_MODE]
- * [IFLA_BRIDGE_VLAN_INFO]
- * }
- */
-enum {
- IFLA_BRIDGE_FLAGS,
- IFLA_BRIDGE_MODE,
- IFLA_BRIDGE_VLAN_INFO,
- __IFLA_BRIDGE_MAX,
-};
-#define IFLA_BRIDGE_MAX (__IFLA_BRIDGE_MAX - 1)
-
-#define BRIDGE_VLAN_INFO_MASTER (1<<0) /* Operate on Bridge device as well */
-#define BRIDGE_VLAN_INFO_PVID (1<<1) /* VLAN is PVID, ingress untagged */
-#define BRIDGE_VLAN_INFO_UNTAGGED (1<<2) /* VLAN egresses untagged */
-#define BRIDGE_VLAN_INFO_RANGE_BEGIN (1<<3) /* VLAN is start of vlan range */
-#define BRIDGE_VLAN_INFO_RANGE_END (1<<4) /* VLAN is end of vlan range */
-#define BRIDGE_VLAN_INFO_BRENTRY (1<<5) /* Global bridge VLAN entry */
-
-struct bridge_vlan_info {
- __u16 flags;
- __u16 vid;
-};
-
-/* Bridge multicast database attributes
- * [MDBA_MDB] = {
- * [MDBA_MDB_ENTRY] = {
- * [MDBA_MDB_ENTRY_INFO] {
- * struct br_mdb_entry
- * [MDBA_MDB_EATTR attributes]
- * }
- * }
- * }
- * [MDBA_ROUTER] = {
- * [MDBA_ROUTER_PORT] = {
- * u32 ifindex
- * [MDBA_ROUTER_PATTR attributes]
- * }
- * }
- */
-enum {
- MDBA_UNSPEC,
- MDBA_MDB,
- MDBA_ROUTER,
- __MDBA_MAX,
-};
-#define MDBA_MAX (__MDBA_MAX - 1)
-
-enum {
- MDBA_MDB_UNSPEC,
- MDBA_MDB_ENTRY,
- __MDBA_MDB_MAX,
-};
-#define MDBA_MDB_MAX (__MDBA_MDB_MAX - 1)
-
-enum {
- MDBA_MDB_ENTRY_UNSPEC,
- MDBA_MDB_ENTRY_INFO,
- __MDBA_MDB_ENTRY_MAX,
-};
-#define MDBA_MDB_ENTRY_MAX (__MDBA_MDB_ENTRY_MAX - 1)
-
-/* per mdb entry additional attributes */
-enum {
- MDBA_MDB_EATTR_UNSPEC,
- MDBA_MDB_EATTR_TIMER,
- __MDBA_MDB_EATTR_MAX
-};
-#define MDBA_MDB_EATTR_MAX (__MDBA_MDB_EATTR_MAX - 1)
-
-/* multicast router types */
-enum {
- MDB_RTR_TYPE_DISABLED,
- MDB_RTR_TYPE_TEMP_QUERY,
- MDB_RTR_TYPE_PERM,
- MDB_RTR_TYPE_TEMP
-};
-
-enum {
- MDBA_ROUTER_UNSPEC,
- MDBA_ROUTER_PORT,
- __MDBA_ROUTER_MAX,
-};
-#define MDBA_ROUTER_MAX (__MDBA_ROUTER_MAX - 1)
-
-/* router port attributes */
-enum {
- MDBA_ROUTER_PATTR_UNSPEC,
- MDBA_ROUTER_PATTR_TIMER,
- MDBA_ROUTER_PATTR_TYPE,
- __MDBA_ROUTER_PATTR_MAX
-};
-#define MDBA_ROUTER_PATTR_MAX (__MDBA_ROUTER_PATTR_MAX - 1)
-
-struct br_port_msg {
- __u8 family;
- __u32 ifindex;
-};
-
-struct br_mdb_entry {
- __u32 ifindex;
-#define MDB_TEMPORARY 0
-#define MDB_PERMANENT 1
- __u8 state;
-#define MDB_FLAGS_OFFLOAD (1 << 0)
- __u8 flags;
- __u16 vid;
- struct {
- union {
- __be32 ip4;
- struct in6_addr ip6;
- } u;
- __be16 proto;
- } addr;
-};
-
-enum {
- MDBA_SET_ENTRY_UNSPEC,
- MDBA_SET_ENTRY,
- __MDBA_SET_ENTRY_MAX,
-};
-#define MDBA_SET_ENTRY_MAX (__MDBA_SET_ENTRY_MAX - 1)
-
-#endif /* _LINUX_IF_BRIDGE_H */
diff --git a/linux-headers/include/linux/if_cablemodem.h b/linux-headers/include/linux/if_cablemodem.h
deleted file mode 100644
index ee6b3c4..0000000
--- a/linux-headers/include/linux/if_cablemodem.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _LINUX_CABLEMODEM_H_
-#define _LINUX_CABLEMODEM_H_
-/*
- * Author: Franco Venturi <fventuri@mediaone.net>
- * Copyright 1998 Franco Venturi
- *
- * This program is free software; you can redistribute it
- * and/or modify it under the terms of the GNU General
- * Public License as published by the Free Software
- * Foundation; either version 2 of the License, or (at
- * your option) any later version.
- */
-
-/* some useful defines for sb1000.c e cmconfig.c - fv */
-#define SIOCGCMSTATS (SIOCDEVPRIVATE+0) /* get cable modem stats */
-#define SIOCGCMFIRMWARE (SIOCDEVPRIVATE+1) /* get cm firmware version */
-#define SIOCGCMFREQUENCY (SIOCDEVPRIVATE+2) /* get cable modem frequency */
-#define SIOCSCMFREQUENCY (SIOCDEVPRIVATE+3) /* set cable modem frequency */
-#define SIOCGCMPIDS (SIOCDEVPRIVATE+4) /* get cable modem PIDs */
-#define SIOCSCMPIDS (SIOCDEVPRIVATE+5) /* set cable modem PIDs */
-
-#endif
diff --git a/linux-headers/include/linux/if_eql.h b/linux-headers/include/linux/if_eql.h
deleted file mode 100644
index 3b489be..0000000
--- a/linux-headers/include/linux/if_eql.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Equalizer Load-balancer for serial network interfaces.
- *
- * (c) Copyright 1995 Simon "Guru Aleph-Null" Janes
- * NCM: Network and Communications Management, Inc.
- *
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- * The author may be reached as simon@ncm.com, or C/O
- * NCM
- * Attn: Simon Janes
- * 6803 Whittier Ave
- * McLean VA 22101
- * Phone: 1-703-847-0040 ext 103
- */
-
-#ifndef _LINUX_IF_EQL_H
-#define _LINUX_IF_EQL_H
-
-#define EQL_DEFAULT_SLAVE_PRIORITY 28800
-#define EQL_DEFAULT_MAX_SLAVES 4
-#define EQL_DEFAULT_MTU 576
-#define EQL_DEFAULT_RESCHED_IVAL HZ
-
-#define EQL_ENSLAVE (SIOCDEVPRIVATE)
-#define EQL_EMANCIPATE (SIOCDEVPRIVATE + 1)
-
-#define EQL_GETSLAVECFG (SIOCDEVPRIVATE + 2)
-#define EQL_SETSLAVECFG (SIOCDEVPRIVATE + 3)
-
-#define EQL_GETMASTRCFG (SIOCDEVPRIVATE + 4)
-#define EQL_SETMASTRCFG (SIOCDEVPRIVATE + 5)
-
-
-typedef struct master_config {
- char master_name[16];
- int max_slaves;
- int min_slaves;
-} master_config_t;
-
-typedef struct slave_config {
- char slave_name[16];
- long priority;
-} slave_config_t;
-
-typedef struct slaving_request {
- char slave_name[16];
- long priority;
-} slaving_request_t;
-
-
-#endif /* _LINUX_IF_EQL_H */
diff --git a/linux-headers/include/linux/if_ether.h b/linux-headers/include/linux/if_ether.h
deleted file mode 100644
index 8f3b0f4..0000000
--- a/linux-headers/include/linux/if_ether.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the Ethernet IEEE 802.3 interface.
- *
- * Version: @(#)if_ether.h 1.0.1a 02/08/94
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Donald Becker, <becker@super.org>
- * Alan Cox, <alan@lxorguk.ukuu.org.uk>
- * Steve Whitehouse, <gw7rrm@eeshack3.swan.ac.uk>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_IF_ETHER_H
-#define _LINUX_IF_ETHER_H
-
-#include <linux/types.h>
-
-/*
- * IEEE 802.3 Ethernet magic constants. The frame sizes omit the preamble
- * and FCS/CRC (frame check sequence).
- */
-
-#define ETH_ALEN 6 /* Octets in one ethernet addr */
-#define ETH_HLEN 14 /* Total octets in header. */
-#define ETH_ZLEN 60 /* Min. octets in frame sans FCS */
-#define ETH_DATA_LEN 1500 /* Max. octets in payload */
-#define ETH_FRAME_LEN 1514 /* Max. octets in frame sans FCS */
-#define ETH_FCS_LEN 4 /* Octets in the FCS */
-
-/*
- * These are the defined Ethernet Protocol ID's.
- */
-
-#define ETH_P_LOOP 0x0060 /* Ethernet Loopback packet */
-#define ETH_P_PUP 0x0200 /* Xerox PUP packet */
-#define ETH_P_PUPAT 0x0201 /* Xerox PUP Addr Trans packet */
-#define ETH_P_TSN 0x22F0 /* TSN (IEEE 1722) packet */
-#define ETH_P_IP 0x0800 /* Internet Protocol packet */
-#define ETH_P_X25 0x0805 /* CCITT X.25 */
-#define ETH_P_ARP 0x0806 /* Address Resolution packet */
-#define ETH_P_BPQ 0x08FF /* G8BPQ AX.25 Ethernet Packet [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_IEEEPUP 0x0a00 /* Xerox IEEE802.3 PUP packet */
-#define ETH_P_IEEEPUPAT 0x0a01 /* Xerox IEEE802.3 PUP Addr Trans packet */
-#define ETH_P_BATMAN 0x4305 /* B.A.T.M.A.N.-Advanced packet [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_DEC 0x6000 /* DEC Assigned proto */
-#define ETH_P_DNA_DL 0x6001 /* DEC DNA Dump/Load */
-#define ETH_P_DNA_RC 0x6002 /* DEC DNA Remote Console */
-#define ETH_P_DNA_RT 0x6003 /* DEC DNA Routing */
-#define ETH_P_LAT 0x6004 /* DEC LAT */
-#define ETH_P_DIAG 0x6005 /* DEC Diagnostics */
-#define ETH_P_CUST 0x6006 /* DEC Customer use */
-#define ETH_P_SCA 0x6007 /* DEC Systems Comms Arch */
-#define ETH_P_TEB 0x6558 /* Trans Ether Bridging */
-#define ETH_P_RARP 0x8035 /* Reverse Addr Res packet */
-#define ETH_P_ATALK 0x809B /* Appletalk DDP */
-#define ETH_P_AARP 0x80F3 /* Appletalk AARP */
-#define ETH_P_8021Q 0x8100 /* 802.1Q VLAN Extended Header */
-#define ETH_P_IPX 0x8137 /* IPX over DIX */
-#define ETH_P_IPV6 0x86DD /* IPv6 over bluebook */
-#define ETH_P_PAUSE 0x8808 /* IEEE Pause frames. See 802.3 31B */
-#define ETH_P_SLOW 0x8809 /* Slow Protocol. See 802.3ad 43B */
-#define ETH_P_WCCP 0x883E /* Web-cache coordination protocol
- * defined in draft-wilson-wrec-wccp-v2-00.txt */
-#define ETH_P_MPLS_UC 0x8847 /* MPLS Unicast traffic */
-#define ETH_P_MPLS_MC 0x8848 /* MPLS Multicast traffic */
-#define ETH_P_ATMMPOA 0x884c /* MultiProtocol Over ATM */
-#define ETH_P_PPP_DISC 0x8863 /* PPPoE discovery messages */
-#define ETH_P_PPP_SES 0x8864 /* PPPoE session messages */
-#define ETH_P_LINK_CTL 0x886c /* HPNA, wlan link local tunnel */
-#define ETH_P_ATMFATE 0x8884 /* Frame-based ATM Transport
- * over Ethernet
- */
-#define ETH_P_PAE 0x888E /* Port Access Entity (IEEE 802.1X) */
-#define ETH_P_AOE 0x88A2 /* ATA over Ethernet */
-#define ETH_P_8021AD 0x88A8 /* 802.1ad Service VLAN */
-#define ETH_P_802_EX1 0x88B5 /* 802.1 Local Experimental 1. */
-#define ETH_P_TIPC 0x88CA /* TIPC */
-#define ETH_P_MACSEC 0x88E5 /* 802.1ae MACsec */
-#define ETH_P_8021AH 0x88E7 /* 802.1ah Backbone Service Tag */
-#define ETH_P_MVRP 0x88F5 /* 802.1Q MVRP */
-#define ETH_P_1588 0x88F7 /* IEEE 1588 Timesync */
-#define ETH_P_PRP 0x88FB /* IEC 62439-3 PRP/HSRv0 */
-#define ETH_P_FCOE 0x8906 /* Fibre Channel over Ethernet */
-#define ETH_P_TDLS 0x890D /* TDLS */
-#define ETH_P_FIP 0x8914 /* FCoE Initialization Protocol */
-#define ETH_P_80221 0x8917 /* IEEE 802.21 Media Independent Handover Protocol */
-#define ETH_P_LOOPBACK 0x9000 /* Ethernet loopback packet, per IEEE 802.3 */
-#define ETH_P_QINQ1 0x9100 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_QINQ2 0x9200 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_QINQ3 0x9300 /* deprecated QinQ VLAN [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_EDSA 0xDADA /* Ethertype DSA [ NOT AN OFFICIALLY REGISTERED ID ] */
-#define ETH_P_AF_IUCV 0xFBFB /* IBM af_iucv [ NOT AN OFFICIALLY REGISTERED ID ] */
-
-#define ETH_P_802_3_MIN 0x0600 /* If the value in the ethernet type is less than this value
- * then the frame is Ethernet II. Else it is 802.3 */
-
-/*
- * Non DIX types. Won't clash for 1500 types.
- */
-
-#define ETH_P_802_3 0x0001 /* Dummy type for 802.3 frames */
-#define ETH_P_AX25 0x0002 /* Dummy protocol id for AX.25 */
-#define ETH_P_ALL 0x0003 /* Every packet (be careful!!!) */
-#define ETH_P_802_2 0x0004 /* 802.2 frames */
-#define ETH_P_SNAP 0x0005 /* Internal only */
-#define ETH_P_DDCMP 0x0006 /* DEC DDCMP: Internal only */
-#define ETH_P_WAN_PPP 0x0007 /* Dummy type for WAN PPP frames*/
-#define ETH_P_PPP_MP 0x0008 /* Dummy type for PPP MP frames */
-#define ETH_P_LOCALTALK 0x0009 /* Localtalk pseudo type */
-#define ETH_P_CAN 0x000C /* CAN: Controller Area Network */
-#define ETH_P_CANFD 0x000D /* CANFD: CAN flexible data rate*/
-#define ETH_P_PPPTALK 0x0010 /* Dummy type for Atalk over PPP*/
-#define ETH_P_TR_802_2 0x0011 /* 802.2 frames */
-#define ETH_P_MOBITEX 0x0015 /* Mobitex (kaz@cafe.net) */
-#define ETH_P_CONTROL 0x0016 /* Card specific control frames */
-#define ETH_P_IRDA 0x0017 /* Linux-IrDA */
-#define ETH_P_ECONET 0x0018 /* Acorn Econet */
-#define ETH_P_HDLC 0x0019 /* HDLC frames */
-#define ETH_P_ARCNET 0x001A /* 1A for ArcNet :-) */
-#define ETH_P_DSA 0x001B /* Distributed Switch Arch. */
-#define ETH_P_TRAILER 0x001C /* Trailer switch tagging */
-#define ETH_P_PHONET 0x00F5 /* Nokia Phonet frames */
-#define ETH_P_IEEE802154 0x00F6 /* IEEE802.15.4 frame */
-#define ETH_P_CAIF 0x00F7 /* ST-Ericsson CAIF protocol */
-#define ETH_P_XDSA 0x00F8 /* Multiplexed DSA protocol */
-
-/*
- * This is an Ethernet frame header.
- */
-
-struct ethhdr {
- unsigned char h_dest[ETH_ALEN]; /* destination eth addr */
- unsigned char h_source[ETH_ALEN]; /* source ether addr */
- __be16 h_proto; /* packet type ID field */
-} __attribute__((packed));
-
-
-#endif /* _LINUX_IF_ETHER_H */
diff --git a/linux-headers/include/linux/if_fc.h b/linux-headers/include/linux/if_fc.h
deleted file mode 100644
index 6ed7f1b..0000000
--- a/linux-headers/include/linux/if_fc.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for Fibre Channel.
- *
- * Version: @(#)if_fc.h 0.0 11/20/98
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Donald Becker, <becker@super.org>
- * Peter De Schrijver, <stud11@cc4.kuleuven.ac.be>
- * Vineet Abraham, <vma@iol.unh.edu>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IF_FC_H
-#define _LINUX_IF_FC_H
-
-#include <linux/types.h>
-
-#define FC_ALEN 6 /* Octets in one ethernet addr */
-#define FC_HLEN (sizeof(struct fch_hdr)+sizeof(struct fcllc))
-#define FC_ID_LEN 3 /* Octets in a Fibre Channel Address */
-
-/* LLC and SNAP constants */
-#define EXTENDED_SAP 0xAA
-#define UI_CMD 0x03
-
-/* This is NOT the Fibre Channel frame header. The FC frame header is
- * constructed in the driver as the Tachyon needs certain fields in
- * certains positions. So, it can't be generalized here.*/
-
-struct fch_hdr {
- __u8 daddr[FC_ALEN]; /* destination address */
- __u8 saddr[FC_ALEN]; /* source address */
-};
-
-/* This is a Fibre Channel LLC structure */
-struct fcllc {
- __u8 dsap; /* destination SAP */
- __u8 ssap; /* source SAP */
- __u8 llc; /* LLC control field */
- __u8 protid[3]; /* protocol id */
- __be16 ethertype; /* ether type field */
-};
-
-#endif /* _LINUX_IF_FC_H */
diff --git a/linux-headers/include/linux/if_fddi.h b/linux-headers/include/linux/if_fddi.h
deleted file mode 100644
index 6ec21e7..0000000
--- a/linux-headers/include/linux/if_fddi.h
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the ANSI FDDI interface.
- *
- * Version: @(#)if_fddi.h 1.0.2 Sep 29 2004
- *
- * Author: Lawrence V. Stefani, <stefani@lkg.dec.com>
- *
- * if_fddi.h is based on previous if_ether.h and if_tr.h work by
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Donald Becker, <becker@super.org>
- * Alan Cox, <alan@lxorguk.ukuu.org.uk>
- * Steve Whitehouse, <gw7rrm@eeshack3.swan.ac.uk>
- * Peter De Schrijver, <stud11@cc4.kuleuven.ac.be>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IF_FDDI_H
-#define _LINUX_IF_FDDI_H
-
-#include <linux/types.h>
-
-/*
- * Define max and min legal sizes. The frame sizes do not include
- * 4 byte FCS/CRC (frame check sequence).
- */
-#define FDDI_K_ALEN 6 /* Octets in one FDDI address */
-#define FDDI_K_8022_HLEN 16 /* Total octets in 802.2 header */
-#define FDDI_K_SNAP_HLEN 21 /* Total octets in 802.2 SNAP header */
-#define FDDI_K_8022_ZLEN 16 /* Min octets in 802.2 frame sans
- FCS */
-#define FDDI_K_SNAP_ZLEN 21 /* Min octets in 802.2 SNAP frame sans
- FCS */
-#define FDDI_K_8022_DLEN 4475 /* Max octets in 802.2 payload */
-#define FDDI_K_SNAP_DLEN 4470 /* Max octets in 802.2 SNAP payload */
-#define FDDI_K_LLC_ZLEN 13 /* Min octets in LLC frame sans FCS */
-#define FDDI_K_LLC_LEN 4491 /* Max octets in LLC frame sans FCS */
-#define FDDI_K_OUI_LEN 3 /* Octets in OUI in 802.2 SNAP
- header */
-
-/* Define FDDI Frame Control (FC) Byte values */
-#define FDDI_FC_K_VOID 0x00
-#define FDDI_FC_K_NON_RESTRICTED_TOKEN 0x80
-#define FDDI_FC_K_RESTRICTED_TOKEN 0xC0
-#define FDDI_FC_K_SMT_MIN 0x41
-#define FDDI_FC_K_SMT_MAX 0x4F
-#define FDDI_FC_K_MAC_MIN 0xC1
-#define FDDI_FC_K_MAC_MAX 0xCF
-#define FDDI_FC_K_ASYNC_LLC_MIN 0x50
-#define FDDI_FC_K_ASYNC_LLC_DEF 0x54
-#define FDDI_FC_K_ASYNC_LLC_MAX 0x5F
-#define FDDI_FC_K_SYNC_LLC_MIN 0xD0
-#define FDDI_FC_K_SYNC_LLC_MAX 0xD7
-#define FDDI_FC_K_IMPLEMENTOR_MIN 0x60
-#define FDDI_FC_K_IMPLEMENTOR_MAX 0x6F
-#define FDDI_FC_K_RESERVED_MIN 0x70
-#define FDDI_FC_K_RESERVED_MAX 0x7F
-
-/* Define LLC and SNAP constants */
-#define FDDI_EXTENDED_SAP 0xAA
-#define FDDI_UI_CMD 0x03
-
-/* Define 802.2 Type 1 header */
-struct fddi_8022_1_hdr {
- __u8 dsap; /* destination service access point */
- __u8 ssap; /* source service access point */
- __u8 ctrl; /* control byte #1 */
-} __attribute__((packed));
-
-/* Define 802.2 Type 2 header */
-struct fddi_8022_2_hdr {
- __u8 dsap; /* destination service access point */
- __u8 ssap; /* source service access point */
- __u8 ctrl_1; /* control byte #1 */
- __u8 ctrl_2; /* control byte #2 */
-} __attribute__((packed));
-
-/* Define 802.2 SNAP header */
-struct fddi_snap_hdr {
- __u8 dsap; /* always 0xAA */
- __u8 ssap; /* always 0xAA */
- __u8 ctrl; /* always 0x03 */
- __u8 oui[FDDI_K_OUI_LEN]; /* organizational universal id */
- __be16 ethertype; /* packet type ID field */
-} __attribute__((packed));
-
-/* Define FDDI LLC frame header */
-struct fddihdr {
- __u8 fc; /* frame control */
- __u8 daddr[FDDI_K_ALEN]; /* destination address */
- __u8 saddr[FDDI_K_ALEN]; /* source address */
- union {
- struct fddi_8022_1_hdr llc_8022_1;
- struct fddi_8022_2_hdr llc_8022_2;
- struct fddi_snap_hdr llc_snap;
- } hdr;
-} __attribute__((packed));
-
-
-#endif /* _LINUX_IF_FDDI_H */
diff --git a/linux-headers/include/linux/if_frad.h b/linux-headers/include/linux/if_frad.h
deleted file mode 100644
index 30361db..0000000
--- a/linux-headers/include/linux/if_frad.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * DLCI/FRAD Definitions for Frame Relay Access Devices. DLCI devices are
- * created for each DLCI associated with a FRAD. The FRAD driver
- * is not truly a network device, but the lower level device
- * handler. This allows other FRAD manufacturers to use the DLCI
- * code, including its RFC1490 encapsulation alongside the current
- * implementation for the Sangoma cards.
- *
- * Version: @(#)if_ifrad.h 0.15 31 Mar 96
- *
- * Author: Mike McLagan <mike.mclagan@linux.org>
- *
- * Changes:
- * 0.15 Mike McLagan changed structure defs (packed)
- * re-arranged flags
- * added DLCI_RET vars
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _FRAD_H_
-#define _FRAD_H_
-
-#include <linux/if.h>
-
-/* Structures and constants associated with the DLCI device driver */
-
-struct dlci_add
-{
- char devname[IFNAMSIZ];
- short dlci;
-};
-
-#define DLCI_GET_CONF (SIOCDEVPRIVATE + 2)
-#define DLCI_SET_CONF (SIOCDEVPRIVATE + 3)
-
-/*
- * These are related to the Sangoma SDLA and should remain in order.
- * Code within the SDLA module is based on the specifics of this
- * structure. Change at your own peril.
- */
-struct dlci_conf {
- short flags;
- short CIR_fwd;
- short Bc_fwd;
- short Be_fwd;
- short CIR_bwd;
- short Bc_bwd;
- short Be_bwd;
-
-/* these are part of the status read */
- short Tc_fwd;
- short Tc_bwd;
- short Tf_max;
- short Tb_max;
-
-/* add any new fields here above is a mirror of sdla_dlci_conf */
-};
-
-#define DLCI_GET_SLAVE (SIOCDEVPRIVATE + 4)
-
-/* configuration flags for DLCI */
-#define DLCI_IGNORE_CIR_OUT 0x0001
-#define DLCI_ACCOUNT_CIR_IN 0x0002
-#define DLCI_BUFFER_IF 0x0008
-
-#define DLCI_VALID_FLAGS 0x000B
-
-/* defines for the actual Frame Relay hardware */
-#define FRAD_GET_CONF (SIOCDEVPRIVATE)
-#define FRAD_SET_CONF (SIOCDEVPRIVATE + 1)
-
-#define FRAD_LAST_IOCTL FRAD_SET_CONF
-
-/*
- * Based on the setup for the Sangoma SDLA. If changes are
- * necessary to this structure, a routine will need to be
- * added to that module to copy fields.
- */
-struct frad_conf
-{
- short station;
- short flags;
- short kbaud;
- short clocking;
- short mtu;
- short T391;
- short T392;
- short N391;
- short N392;
- short N393;
- short CIR_fwd;
- short Bc_fwd;
- short Be_fwd;
- short CIR_bwd;
- short Bc_bwd;
- short Be_bwd;
-
-/* Add new fields here, above is a mirror of the sdla_conf */
-
-};
-
-#define FRAD_STATION_CPE 0x0000
-#define FRAD_STATION_NODE 0x0001
-
-#define FRAD_TX_IGNORE_CIR 0x0001
-#define FRAD_RX_ACCOUNT_CIR 0x0002
-#define FRAD_DROP_ABORTED 0x0004
-#define FRAD_BUFFERIF 0x0008
-#define FRAD_STATS 0x0010
-#define FRAD_MCI 0x0100
-#define FRAD_AUTODLCI 0x8000
-#define FRAD_VALID_FLAGS 0x811F
-
-#define FRAD_CLOCK_INT 0x0001
-#define FRAD_CLOCK_EXT 0x0000
-
-
-#endif /* _FRAD_H_ */
diff --git a/linux-headers/include/linux/if_hippi.h b/linux-headers/include/linux/if_hippi.h
deleted file mode 100644
index cdc049f..0000000
--- a/linux-headers/include/linux/if_hippi.h
+++ /dev/null
@@ -1,153 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the HIPPI interface.
- *
- * Version: @(#)if_hippi.h 1.0.0 05/26/97
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Donald Becker, <becker@super.org>
- * Alan Cox, <alan@lxorguk.ukuu.org.uk>
- * Steve Whitehouse, <gw7rrm@eeshack3.swan.ac.uk>
- * Jes Sorensen, <Jes.Sorensen@cern.ch>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_IF_HIPPI_H
-#define _LINUX_IF_HIPPI_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-/*
- * HIPPI magic constants.
- */
-
-#define HIPPI_ALEN 6 /* Bytes in one HIPPI hw-addr */
-#define HIPPI_HLEN sizeof(struct hippi_hdr)
-#define HIPPI_ZLEN 0 /* Min. bytes in frame without FCS */
-#define HIPPI_DATA_LEN 65280 /* Max. bytes in payload */
-#define HIPPI_FRAME_LEN (HIPPI_DATA_LEN + HIPPI_HLEN)
- /* Max. bytes in frame without FCS */
-
-/*
- * Define LLC and SNAP constants.
- */
-#define HIPPI_EXTENDED_SAP 0xAA
-#define HIPPI_UI_CMD 0x03
-
-
-/*
- * Do we need to list some sort of ID's here?
- */
-
-/*
- * HIPPI statistics collection data.
- */
-
-struct hipnet_statistics {
- int rx_packets; /* total packets received */
- int tx_packets; /* total packets transmitted */
- int rx_errors; /* bad packets received */
- int tx_errors; /* packet transmit problems */
- int rx_dropped; /* no space in linux buffers */
- int tx_dropped; /* no space available in linux */
-
- /* detailed rx_errors: */
- int rx_length_errors;
- int rx_over_errors; /* receiver ring buff overflow */
- int rx_crc_errors; /* recved pkt with crc error */
- int rx_frame_errors; /* recv'd frame alignment error */
- int rx_fifo_errors; /* recv'r fifo overrun */
- int rx_missed_errors; /* receiver missed packet */
-
- /* detailed tx_errors */
- int tx_aborted_errors;
- int tx_carrier_errors;
- int tx_fifo_errors;
- int tx_heartbeat_errors;
- int tx_window_errors;
-};
-
-
-struct hippi_fp_hdr {
-#if 0
- __u8 ulp; /* must contain 4 */
-#if defined (__BIG_ENDIAN_BITFIELD)
- __u8 d1_data_present:1; /* must be 1 */
- __u8 start_d2_burst_boundary:1; /* must be zero */
- __u8 reserved:6; /* must be zero */
-#if 0
- __u16 reserved1:5;
- __u16 d1_area_size:8; /* must be 3 */
- __u16 d2_offset:3; /* must be zero */
-#endif
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 reserved:6; /* must be zero */
- __u8 start_d2_burst_boundary:1; /* must be zero */
- __u8 d1_data_present:1; /* must be 1 */
-#if 0
- __u16 d2_offset:3; /* must be zero */
- __u16 d1_area_size:8; /* must be 3 */
- __u16 reserved1:5; /* must be zero */
-#endif
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
-#else
- __be32 fixed;
-#endif
- __be32 d2_size;
-} __attribute__((packed));
-
-struct hippi_le_hdr {
-#if defined (__BIG_ENDIAN_BITFIELD)
- __u8 fc:3;
- __u8 double_wide:1;
- __u8 message_type:4;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 message_type:4;
- __u8 double_wide:1;
- __u8 fc:3;
-#endif
- __u8 dest_switch_addr[3];
-#if defined (__BIG_ENDIAN_BITFIELD)
- __u8 dest_addr_type:4,
- src_addr_type:4;
-#elif defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 src_addr_type:4,
- dest_addr_type:4;
-#endif
- __u8 src_switch_addr[3];
- __u16 reserved;
- __u8 daddr[HIPPI_ALEN];
- __u16 locally_administered;
- __u8 saddr[HIPPI_ALEN];
-} __attribute__((packed));
-
-#define HIPPI_OUI_LEN 3
-/*
- * Looks like the dsap and ssap fields have been swapped by mistake in
- * RFC 2067 "IP over HIPPI".
- */
-struct hippi_snap_hdr {
- __u8 dsap; /* always 0xAA */
- __u8 ssap; /* always 0xAA */
- __u8 ctrl; /* always 0x03 */
- __u8 oui[HIPPI_OUI_LEN]; /* organizational universal id (zero)*/
- __be16 ethertype; /* packet type ID field */
-} __attribute__((packed));
-
-struct hippi_hdr {
- struct hippi_fp_hdr fp;
- struct hippi_le_hdr le;
- struct hippi_snap_hdr snap;
-} __attribute__((packed));
-
-#endif /* _LINUX_IF_HIPPI_H */
diff --git a/linux-headers/include/linux/if_infiniband.h b/linux-headers/include/linux/if_infiniband.h
deleted file mode 100644
index 7d95847..0000000
--- a/linux-headers/include/linux/if_infiniband.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * This software is available to you under a choice of one of two
- * licenses. You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available at
- * <http://www.fsf.org/copyleft/gpl.html>, or the OpenIB.org BSD
- * license, available in the LICENSE.TXT file accompanying this
- * software. These details are also available at
- * <http://www.openfabrics.org/software_license.htm>.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Copyright (c) 2004 Topspin Communications. All rights reserved.
- *
- * $Id$
- */
-
-#ifndef _LINUX_IF_INFINIBAND_H
-#define _LINUX_IF_INFINIBAND_H
-
-#define INFINIBAND_ALEN 20 /* Octets in IPoIB HW addr */
-
-#endif /* _LINUX_IF_INFINIBAND_H */
diff --git a/linux-headers/include/linux/if_link.h b/linux-headers/include/linux/if_link.h
deleted file mode 100644
index 6a688e8..0000000
--- a/linux-headers/include/linux/if_link.h
+++ /dev/null
@@ -1,780 +0,0 @@
-#ifndef _LINUX_IF_LINK_H
-#define _LINUX_IF_LINK_H
-
-#include <linux/types.h>
-#include <linux/netlink.h>
-
-/* This struct should be in sync with struct rtnl_link_stats64 */
-struct rtnl_link_stats {
- __u32 rx_packets; /* total packets received */
- __u32 tx_packets; /* total packets transmitted */
- __u32 rx_bytes; /* total bytes received */
- __u32 tx_bytes; /* total bytes transmitted */
- __u32 rx_errors; /* bad packets received */
- __u32 tx_errors; /* packet transmit problems */
- __u32 rx_dropped; /* no space in linux buffers */
- __u32 tx_dropped; /* no space available in linux */
- __u32 multicast; /* multicast packets received */
- __u32 collisions;
-
- /* detailed rx_errors: */
- __u32 rx_length_errors;
- __u32 rx_over_errors; /* receiver ring buff overflow */
- __u32 rx_crc_errors; /* recved pkt with crc error */
- __u32 rx_frame_errors; /* recv'd frame alignment error */
- __u32 rx_fifo_errors; /* recv'r fifo overrun */
- __u32 rx_missed_errors; /* receiver missed packet */
-
- /* detailed tx_errors */
- __u32 tx_aborted_errors;
- __u32 tx_carrier_errors;
- __u32 tx_fifo_errors;
- __u32 tx_heartbeat_errors;
- __u32 tx_window_errors;
-
- /* for cslip etc */
- __u32 rx_compressed;
- __u32 tx_compressed;
-
- __u32 rx_nohandler; /* dropped, no handler found */
-};
-
-/* The main device statistics structure */
-struct rtnl_link_stats64 {
- __u64 rx_packets; /* total packets received */
- __u64 tx_packets; /* total packets transmitted */
- __u64 rx_bytes; /* total bytes received */
- __u64 tx_bytes; /* total bytes transmitted */
- __u64 rx_errors; /* bad packets received */
- __u64 tx_errors; /* packet transmit problems */
- __u64 rx_dropped; /* no space in linux buffers */
- __u64 tx_dropped; /* no space available in linux */
- __u64 multicast; /* multicast packets received */
- __u64 collisions;
-
- /* detailed rx_errors: */
- __u64 rx_length_errors;
- __u64 rx_over_errors; /* receiver ring buff overflow */
- __u64 rx_crc_errors; /* recved pkt with crc error */
- __u64 rx_frame_errors; /* recv'd frame alignment error */
- __u64 rx_fifo_errors; /* recv'r fifo overrun */
- __u64 rx_missed_errors; /* receiver missed packet */
-
- /* detailed tx_errors */
- __u64 tx_aborted_errors;
- __u64 tx_carrier_errors;
- __u64 tx_fifo_errors;
- __u64 tx_heartbeat_errors;
- __u64 tx_window_errors;
-
- /* for cslip etc */
- __u64 rx_compressed;
- __u64 tx_compressed;
-
- __u64 rx_nohandler; /* dropped, no handler found */
-};
-
-/* The struct should be in sync with struct ifmap */
-struct rtnl_link_ifmap {
- __u64 mem_start;
- __u64 mem_end;
- __u64 base_addr;
- __u16 irq;
- __u8 dma;
- __u8 port;
-};
-
-/*
- * IFLA_AF_SPEC
- * Contains nested attributes for address family specific attributes.
- * Each address family may create a attribute with the address family
- * number as type and create its own attribute structure in it.
- *
- * Example:
- * [IFLA_AF_SPEC] = {
- * [AF_INET] = {
- * [IFLA_INET_CONF] = ...,
- * },
- * [AF_INET6] = {
- * [IFLA_INET6_FLAGS] = ...,
- * [IFLA_INET6_CONF] = ...,
- * }
- * }
- */
-
-enum {
- IFLA_UNSPEC,
- IFLA_ADDRESS,
- IFLA_BROADCAST,
- IFLA_IFNAME,
- IFLA_MTU,
- IFLA_LINK,
- IFLA_QDISC,
- IFLA_STATS,
- IFLA_COST,
-#define IFLA_COST IFLA_COST
- IFLA_PRIORITY,
-#define IFLA_PRIORITY IFLA_PRIORITY
- IFLA_MASTER,
-#define IFLA_MASTER IFLA_MASTER
- IFLA_WIRELESS, /* Wireless Extension event - see wireless.h */
-#define IFLA_WIRELESS IFLA_WIRELESS
- IFLA_PROTINFO, /* Protocol specific information for a link */
-#define IFLA_PROTINFO IFLA_PROTINFO
- IFLA_TXQLEN,
-#define IFLA_TXQLEN IFLA_TXQLEN
- IFLA_MAP,
-#define IFLA_MAP IFLA_MAP
- IFLA_WEIGHT,
-#define IFLA_WEIGHT IFLA_WEIGHT
- IFLA_OPERSTATE,
- IFLA_LINKMODE,
- IFLA_LINKINFO,
-#define IFLA_LINKINFO IFLA_LINKINFO
- IFLA_NET_NS_PID,
- IFLA_IFALIAS,
- IFLA_NUM_VF, /* Number of VFs if device is SR-IOV PF */
- IFLA_VFINFO_LIST,
- IFLA_STATS64,
- IFLA_VF_PORTS,
- IFLA_PORT_SELF,
- IFLA_AF_SPEC,
- IFLA_GROUP, /* Group the device belongs to */
- IFLA_NET_NS_FD,
- IFLA_EXT_MASK, /* Extended info mask, VFs, etc */
- IFLA_PROMISCUITY, /* Promiscuity count: > 0 means acts PROMISC */
-#define IFLA_PROMISCUITY IFLA_PROMISCUITY
- IFLA_NUM_TX_QUEUES,
- IFLA_NUM_RX_QUEUES,
- IFLA_CARRIER,
- IFLA_PHYS_PORT_ID,
- IFLA_CARRIER_CHANGES,
- IFLA_PHYS_SWITCH_ID,
- IFLA_LINK_NETNSID,
- IFLA_PHYS_PORT_NAME,
- IFLA_PROTO_DOWN,
- IFLA_GSO_MAX_SEGS,
- IFLA_GSO_MAX_SIZE,
- __IFLA_MAX
-};
-
-
-#define IFLA_MAX (__IFLA_MAX - 1)
-
-/* backwards compatibility for userspace */
-#define IFLA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct ifinfomsg))))
-#define IFLA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct ifinfomsg))
-
-enum {
- IFLA_INET_UNSPEC,
- IFLA_INET_CONF,
- __IFLA_INET_MAX,
-};
-
-#define IFLA_INET_MAX (__IFLA_INET_MAX - 1)
-
-/* ifi_flags.
-
- IFF_* flags.
-
- The only change is:
- IFF_LOOPBACK, IFF_BROADCAST and IFF_POINTOPOINT are
- more not changeable by user. They describe link media
- characteristics and set by device driver.
-
- Comments:
- - Combination IFF_BROADCAST|IFF_POINTOPOINT is invalid
- - If neither of these three flags are set;
- the interface is NBMA.
-
- - IFF_MULTICAST does not mean anything special:
- multicasts can be used on all not-NBMA links.
- IFF_MULTICAST means that this media uses special encapsulation
- for multicast frames. Apparently, all IFF_POINTOPOINT and
- IFF_BROADCAST devices are able to use multicasts too.
- */
-
-/* IFLA_LINK.
- For usual devices it is equal ifi_index.
- If it is a "virtual interface" (f.e. tunnel), ifi_link
- can point to real physical interface (f.e. for bandwidth calculations),
- or maybe 0, what means, that real media is unknown (usual
- for IPIP tunnels, when route to endpoint is allowed to change)
- */
-
-/* Subtype attributes for IFLA_PROTINFO */
-enum {
- IFLA_INET6_UNSPEC,
- IFLA_INET6_FLAGS, /* link flags */
- IFLA_INET6_CONF, /* sysctl parameters */
- IFLA_INET6_STATS, /* statistics */
- IFLA_INET6_MCAST, /* MC things. What of them? */
- IFLA_INET6_CACHEINFO, /* time values and max reasm size */
- IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */
- IFLA_INET6_TOKEN, /* device token */
- IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */
- __IFLA_INET6_MAX
-};
-
-#define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1)
-
-enum in6_addr_gen_mode {
- IN6_ADDR_GEN_MODE_EUI64,
- IN6_ADDR_GEN_MODE_NONE,
- IN6_ADDR_GEN_MODE_STABLE_PRIVACY,
- IN6_ADDR_GEN_MODE_RANDOM,
-};
-
-/* Bridge section */
-
-enum {
- IFLA_BR_UNSPEC,
- IFLA_BR_FORWARD_DELAY,
- IFLA_BR_HELLO_TIME,
- IFLA_BR_MAX_AGE,
- IFLA_BR_AGEING_TIME,
- IFLA_BR_STP_STATE,
- IFLA_BR_PRIORITY,
- IFLA_BR_VLAN_FILTERING,
- IFLA_BR_VLAN_PROTOCOL,
- IFLA_BR_GROUP_FWD_MASK,
- IFLA_BR_ROOT_ID,
- IFLA_BR_BRIDGE_ID,
- IFLA_BR_ROOT_PORT,
- IFLA_BR_ROOT_PATH_COST,
- IFLA_BR_TOPOLOGY_CHANGE,
- IFLA_BR_TOPOLOGY_CHANGE_DETECTED,
- IFLA_BR_HELLO_TIMER,
- IFLA_BR_TCN_TIMER,
- IFLA_BR_TOPOLOGY_CHANGE_TIMER,
- IFLA_BR_GC_TIMER,
- IFLA_BR_GROUP_ADDR,
- IFLA_BR_FDB_FLUSH,
- IFLA_BR_MCAST_ROUTER,
- IFLA_BR_MCAST_SNOOPING,
- IFLA_BR_MCAST_QUERY_USE_IFADDR,
- IFLA_BR_MCAST_QUERIER,
- IFLA_BR_MCAST_HASH_ELASTICITY,
- IFLA_BR_MCAST_HASH_MAX,
- IFLA_BR_MCAST_LAST_MEMBER_CNT,
- IFLA_BR_MCAST_STARTUP_QUERY_CNT,
- IFLA_BR_MCAST_LAST_MEMBER_INTVL,
- IFLA_BR_MCAST_MEMBERSHIP_INTVL,
- IFLA_BR_MCAST_QUERIER_INTVL,
- IFLA_BR_MCAST_QUERY_INTVL,
- IFLA_BR_MCAST_QUERY_RESPONSE_INTVL,
- IFLA_BR_MCAST_STARTUP_QUERY_INTVL,
- IFLA_BR_NF_CALL_IPTABLES,
- IFLA_BR_NF_CALL_IP6TABLES,
- IFLA_BR_NF_CALL_ARPTABLES,
- IFLA_BR_VLAN_DEFAULT_PVID,
- __IFLA_BR_MAX,
-};
-
-#define IFLA_BR_MAX (__IFLA_BR_MAX - 1)
-
-struct ifla_bridge_id {
- __u8 prio[2];
- __u8 addr[6]; /* ETH_ALEN */
-};
-
-enum {
- BRIDGE_MODE_UNSPEC,
- BRIDGE_MODE_HAIRPIN,
-};
-
-enum {
- IFLA_BRPORT_UNSPEC,
- IFLA_BRPORT_STATE, /* Spanning tree state */
- IFLA_BRPORT_PRIORITY, /* " priority */
- IFLA_BRPORT_COST, /* " cost */
- IFLA_BRPORT_MODE, /* mode (hairpin) */
- IFLA_BRPORT_GUARD, /* bpdu guard */
- IFLA_BRPORT_PROTECT, /* root port protection */
- IFLA_BRPORT_FAST_LEAVE, /* multicast fast leave */
- IFLA_BRPORT_LEARNING, /* mac learning */
- IFLA_BRPORT_UNICAST_FLOOD, /* flood unicast traffic */
- IFLA_BRPORT_PROXYARP, /* proxy ARP */
- IFLA_BRPORT_LEARNING_SYNC, /* mac learning sync from device */
- IFLA_BRPORT_PROXYARP_WIFI, /* proxy ARP for Wi-Fi */
- IFLA_BRPORT_ROOT_ID, /* designated root */
- IFLA_BRPORT_BRIDGE_ID, /* designated bridge */
- IFLA_BRPORT_DESIGNATED_PORT,
- IFLA_BRPORT_DESIGNATED_COST,
- IFLA_BRPORT_ID,
- IFLA_BRPORT_NO,
- IFLA_BRPORT_TOPOLOGY_CHANGE_ACK,
- IFLA_BRPORT_CONFIG_PENDING,
- IFLA_BRPORT_MESSAGE_AGE_TIMER,
- IFLA_BRPORT_FORWARD_DELAY_TIMER,
- IFLA_BRPORT_HOLD_TIMER,
- IFLA_BRPORT_FLUSH,
- IFLA_BRPORT_MULTICAST_ROUTER,
- __IFLA_BRPORT_MAX
-};
-#define IFLA_BRPORT_MAX (__IFLA_BRPORT_MAX - 1)
-
-struct ifla_cacheinfo {
- __u32 max_reasm_len;
- __u32 tstamp; /* ipv6InterfaceTable updated timestamp */
- __u32 reachable_time;
- __u32 retrans_time;
-};
-
-enum {
- IFLA_INFO_UNSPEC,
- IFLA_INFO_KIND,
- IFLA_INFO_DATA,
- IFLA_INFO_XSTATS,
- IFLA_INFO_SLAVE_KIND,
- IFLA_INFO_SLAVE_DATA,
- __IFLA_INFO_MAX,
-};
-
-#define IFLA_INFO_MAX (__IFLA_INFO_MAX - 1)
-
-/* VLAN section */
-
-enum {
- IFLA_VLAN_UNSPEC,
- IFLA_VLAN_ID,
- IFLA_VLAN_FLAGS,
- IFLA_VLAN_EGRESS_QOS,
- IFLA_VLAN_INGRESS_QOS,
- IFLA_VLAN_PROTOCOL,
- __IFLA_VLAN_MAX,
-};
-
-#define IFLA_VLAN_MAX (__IFLA_VLAN_MAX - 1)
-
-struct ifla_vlan_flags {
- __u32 flags;
- __u32 mask;
-};
-
-enum {
- IFLA_VLAN_QOS_UNSPEC,
- IFLA_VLAN_QOS_MAPPING,
- __IFLA_VLAN_QOS_MAX
-};
-
-#define IFLA_VLAN_QOS_MAX (__IFLA_VLAN_QOS_MAX - 1)
-
-struct ifla_vlan_qos_mapping {
- __u32 from;
- __u32 to;
-};
-
-/* MACVLAN section */
-enum {
- IFLA_MACVLAN_UNSPEC,
- IFLA_MACVLAN_MODE,
- IFLA_MACVLAN_FLAGS,
- IFLA_MACVLAN_MACADDR_MODE,
- IFLA_MACVLAN_MACADDR,
- IFLA_MACVLAN_MACADDR_DATA,
- IFLA_MACVLAN_MACADDR_COUNT,
- __IFLA_MACVLAN_MAX,
-};
-
-#define IFLA_MACVLAN_MAX (__IFLA_MACVLAN_MAX - 1)
-
-enum macvlan_mode {
- MACVLAN_MODE_PRIVATE = 1, /* don't talk to other macvlans */
- MACVLAN_MODE_VEPA = 2, /* talk to other ports through ext bridge */
- MACVLAN_MODE_BRIDGE = 4, /* talk to bridge ports directly */
- MACVLAN_MODE_PASSTHRU = 8,/* take over the underlying device */
- MACVLAN_MODE_SOURCE = 16,/* use source MAC address list to assign */
-};
-
-enum macvlan_macaddr_mode {
- MACVLAN_MACADDR_ADD,
- MACVLAN_MACADDR_DEL,
- MACVLAN_MACADDR_FLUSH,
- MACVLAN_MACADDR_SET,
-};
-
-#define MACVLAN_FLAG_NOPROMISC 1
-
-/* VRF section */
-enum {
- IFLA_VRF_UNSPEC,
- IFLA_VRF_TABLE,
- __IFLA_VRF_MAX
-};
-
-#define IFLA_VRF_MAX (__IFLA_VRF_MAX - 1)
-
-enum {
- IFLA_VRF_PORT_UNSPEC,
- IFLA_VRF_PORT_TABLE,
- __IFLA_VRF_PORT_MAX
-};
-
-#define IFLA_VRF_PORT_MAX (__IFLA_VRF_PORT_MAX - 1)
-
-/* MACSEC section */
-enum {
- IFLA_MACSEC_UNSPEC,
- IFLA_MACSEC_SCI,
- IFLA_MACSEC_PORT,
- IFLA_MACSEC_ICV_LEN,
- IFLA_MACSEC_CIPHER_SUITE,
- IFLA_MACSEC_WINDOW,
- IFLA_MACSEC_ENCODING_SA,
- IFLA_MACSEC_ENCRYPT,
- IFLA_MACSEC_PROTECT,
- IFLA_MACSEC_INC_SCI,
- IFLA_MACSEC_ES,
- IFLA_MACSEC_SCB,
- IFLA_MACSEC_REPLAY_PROTECT,
- IFLA_MACSEC_VALIDATION,
- __IFLA_MACSEC_MAX,
-};
-
-#define IFLA_MACSEC_MAX (__IFLA_MACSEC_MAX - 1)
-
-enum macsec_validation_type {
- MACSEC_VALIDATE_DISABLED = 0,
- MACSEC_VALIDATE_CHECK = 1,
- MACSEC_VALIDATE_STRICT = 2,
- __MACSEC_VALIDATE_END,
- MACSEC_VALIDATE_MAX = __MACSEC_VALIDATE_END - 1,
-};
-
-/* IPVLAN section */
-enum {
- IFLA_IPVLAN_UNSPEC,
- IFLA_IPVLAN_MODE,
- __IFLA_IPVLAN_MAX
-};
-
-#define IFLA_IPVLAN_MAX (__IFLA_IPVLAN_MAX - 1)
-
-enum ipvlan_mode {
- IPVLAN_MODE_L2 = 0,
- IPVLAN_MODE_L3,
- IPVLAN_MODE_MAX
-};
-
-/* VXLAN section */
-enum {
- IFLA_VXLAN_UNSPEC,
- IFLA_VXLAN_ID,
- IFLA_VXLAN_GROUP, /* group or remote address */
- IFLA_VXLAN_LINK,
- IFLA_VXLAN_LOCAL,
- IFLA_VXLAN_TTL,
- IFLA_VXLAN_TOS,
- IFLA_VXLAN_LEARNING,
- IFLA_VXLAN_AGEING,
- IFLA_VXLAN_LIMIT,
- IFLA_VXLAN_PORT_RANGE, /* source port */
- IFLA_VXLAN_PROXY,
- IFLA_VXLAN_RSC,
- IFLA_VXLAN_L2MISS,
- IFLA_VXLAN_L3MISS,
- IFLA_VXLAN_PORT, /* destination port */
- IFLA_VXLAN_GROUP6,
- IFLA_VXLAN_LOCAL6,
- IFLA_VXLAN_UDP_CSUM,
- IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
- IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
- IFLA_VXLAN_REMCSUM_TX,
- IFLA_VXLAN_REMCSUM_RX,
- IFLA_VXLAN_GBP,
- IFLA_VXLAN_REMCSUM_NOPARTIAL,
- IFLA_VXLAN_COLLECT_METADATA,
- IFLA_VXLAN_LABEL,
- __IFLA_VXLAN_MAX
-};
-#define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
-
-struct ifla_vxlan_port_range {
- __be16 low;
- __be16 high;
-};
-
-/* GENEVE section */
-enum {
- IFLA_GENEVE_UNSPEC,
- IFLA_GENEVE_ID,
- IFLA_GENEVE_REMOTE,
- IFLA_GENEVE_TTL,
- IFLA_GENEVE_TOS,
- IFLA_GENEVE_PORT, /* destination port */
- IFLA_GENEVE_COLLECT_METADATA,
- IFLA_GENEVE_REMOTE6,
- IFLA_GENEVE_UDP_CSUM,
- IFLA_GENEVE_UDP_ZERO_CSUM6_TX,
- IFLA_GENEVE_UDP_ZERO_CSUM6_RX,
- IFLA_GENEVE_LABEL,
- __IFLA_GENEVE_MAX
-};
-#define IFLA_GENEVE_MAX (__IFLA_GENEVE_MAX - 1)
-
-/* Bonding section */
-
-enum {
- IFLA_BOND_UNSPEC,
- IFLA_BOND_MODE,
- IFLA_BOND_ACTIVE_SLAVE,
- IFLA_BOND_MIIMON,
- IFLA_BOND_UPDELAY,
- IFLA_BOND_DOWNDELAY,
- IFLA_BOND_USE_CARRIER,
- IFLA_BOND_ARP_INTERVAL,
- IFLA_BOND_ARP_IP_TARGET,
- IFLA_BOND_ARP_VALIDATE,
- IFLA_BOND_ARP_ALL_TARGETS,
- IFLA_BOND_PRIMARY,
- IFLA_BOND_PRIMARY_RESELECT,
- IFLA_BOND_FAIL_OVER_MAC,
- IFLA_BOND_XMIT_HASH_POLICY,
- IFLA_BOND_RESEND_IGMP,
- IFLA_BOND_NUM_PEER_NOTIF,
- IFLA_BOND_ALL_SLAVES_ACTIVE,
- IFLA_BOND_MIN_LINKS,
- IFLA_BOND_LP_INTERVAL,
- IFLA_BOND_PACKETS_PER_SLAVE,
- IFLA_BOND_AD_LACP_RATE,
- IFLA_BOND_AD_SELECT,
- IFLA_BOND_AD_INFO,
- IFLA_BOND_AD_ACTOR_SYS_PRIO,
- IFLA_BOND_AD_USER_PORT_KEY,
- IFLA_BOND_AD_ACTOR_SYSTEM,
- IFLA_BOND_TLB_DYNAMIC_LB,
- __IFLA_BOND_MAX,
-};
-
-#define IFLA_BOND_MAX (__IFLA_BOND_MAX - 1)
-
-enum {
- IFLA_BOND_AD_INFO_UNSPEC,
- IFLA_BOND_AD_INFO_AGGREGATOR,
- IFLA_BOND_AD_INFO_NUM_PORTS,
- IFLA_BOND_AD_INFO_ACTOR_KEY,
- IFLA_BOND_AD_INFO_PARTNER_KEY,
- IFLA_BOND_AD_INFO_PARTNER_MAC,
- __IFLA_BOND_AD_INFO_MAX,
-};
-
-#define IFLA_BOND_AD_INFO_MAX (__IFLA_BOND_AD_INFO_MAX - 1)
-
-enum {
- IFLA_BOND_SLAVE_UNSPEC,
- IFLA_BOND_SLAVE_STATE,
- IFLA_BOND_SLAVE_MII_STATUS,
- IFLA_BOND_SLAVE_LINK_FAILURE_COUNT,
- IFLA_BOND_SLAVE_PERM_HWADDR,
- IFLA_BOND_SLAVE_QUEUE_ID,
- IFLA_BOND_SLAVE_AD_AGGREGATOR_ID,
- IFLA_BOND_SLAVE_AD_ACTOR_OPER_PORT_STATE,
- IFLA_BOND_SLAVE_AD_PARTNER_OPER_PORT_STATE,
- __IFLA_BOND_SLAVE_MAX,
-};
-
-#define IFLA_BOND_SLAVE_MAX (__IFLA_BOND_SLAVE_MAX - 1)
-
-/* SR-IOV virtual function management section */
-
-enum {
- IFLA_VF_INFO_UNSPEC,
- IFLA_VF_INFO,
- __IFLA_VF_INFO_MAX,
-};
-
-#define IFLA_VF_INFO_MAX (__IFLA_VF_INFO_MAX - 1)
-
-enum {
- IFLA_VF_UNSPEC,
- IFLA_VF_MAC, /* Hardware queue specific attributes */
- IFLA_VF_VLAN,
- IFLA_VF_TX_RATE, /* Max TX Bandwidth Allocation */
- IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */
- IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */
- IFLA_VF_RATE, /* Min and Max TX Bandwidth Allocation */
- IFLA_VF_RSS_QUERY_EN, /* RSS Redirection Table and Hash Key query
- * on/off switch
- */
- IFLA_VF_STATS, /* network device statistics */
- IFLA_VF_TRUST, /* Trust VF */
- IFLA_VF_IB_NODE_GUID, /* VF Infiniband node GUID */
- IFLA_VF_IB_PORT_GUID, /* VF Infiniband port GUID */
- __IFLA_VF_MAX,
-};
-
-#define IFLA_VF_MAX (__IFLA_VF_MAX - 1)
-
-struct ifla_vf_mac {
- __u32 vf;
- __u8 mac[32]; /* MAX_ADDR_LEN */
-};
-
-struct ifla_vf_vlan {
- __u32 vf;
- __u32 vlan; /* 0 - 4095, 0 disables VLAN filter */
- __u32 qos;
-};
-
-struct ifla_vf_tx_rate {
- __u32 vf;
- __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */
-};
-
-struct ifla_vf_rate {
- __u32 vf;
- __u32 min_tx_rate; /* Min Bandwidth in Mbps */
- __u32 max_tx_rate; /* Max Bandwidth in Mbps */
-};
-
-struct ifla_vf_spoofchk {
- __u32 vf;
- __u32 setting;
-};
-
-struct ifla_vf_guid {
- __u32 vf;
- __u64 guid;
-};
-
-enum {
- IFLA_VF_LINK_STATE_AUTO, /* link state of the uplink */
- IFLA_VF_LINK_STATE_ENABLE, /* link always up */
- IFLA_VF_LINK_STATE_DISABLE, /* link always down */
- __IFLA_VF_LINK_STATE_MAX,
-};
-
-struct ifla_vf_link_state {
- __u32 vf;
- __u32 link_state;
-};
-
-struct ifla_vf_rss_query_en {
- __u32 vf;
- __u32 setting;
-};
-
-enum {
- IFLA_VF_STATS_RX_PACKETS,
- IFLA_VF_STATS_TX_PACKETS,
- IFLA_VF_STATS_RX_BYTES,
- IFLA_VF_STATS_TX_BYTES,
- IFLA_VF_STATS_BROADCAST,
- IFLA_VF_STATS_MULTICAST,
- __IFLA_VF_STATS_MAX,
-};
-
-#define IFLA_VF_STATS_MAX (__IFLA_VF_STATS_MAX - 1)
-
-struct ifla_vf_trust {
- __u32 vf;
- __u32 setting;
-};
-
-/* VF ports management section
- *
- * Nested layout of set/get msg is:
- *
- * [IFLA_NUM_VF]
- * [IFLA_VF_PORTS]
- * [IFLA_VF_PORT]
- * [IFLA_PORT_*], ...
- * [IFLA_VF_PORT]
- * [IFLA_PORT_*], ...
- * ...
- * [IFLA_PORT_SELF]
- * [IFLA_PORT_*], ...
- */
-
-enum {
- IFLA_VF_PORT_UNSPEC,
- IFLA_VF_PORT, /* nest */
- __IFLA_VF_PORT_MAX,
-};
-
-#define IFLA_VF_PORT_MAX (__IFLA_VF_PORT_MAX - 1)
-
-enum {
- IFLA_PORT_UNSPEC,
- IFLA_PORT_VF, /* __u32 */
- IFLA_PORT_PROFILE, /* string */
- IFLA_PORT_VSI_TYPE, /* 802.1Qbg (pre-)standard VDP */
- IFLA_PORT_INSTANCE_UUID, /* binary UUID */
- IFLA_PORT_HOST_UUID, /* binary UUID */
- IFLA_PORT_REQUEST, /* __u8 */
- IFLA_PORT_RESPONSE, /* __u16, output only */
- __IFLA_PORT_MAX,
-};
-
-#define IFLA_PORT_MAX (__IFLA_PORT_MAX - 1)
-
-#define PORT_PROFILE_MAX 40
-#define PORT_UUID_MAX 16
-#define PORT_SELF_VF -1
-
-enum {
- PORT_REQUEST_PREASSOCIATE = 0,
- PORT_REQUEST_PREASSOCIATE_RR,
- PORT_REQUEST_ASSOCIATE,
- PORT_REQUEST_DISASSOCIATE,
-};
-
-enum {
- PORT_VDP_RESPONSE_SUCCESS = 0,
- PORT_VDP_RESPONSE_INVALID_FORMAT,
- PORT_VDP_RESPONSE_INSUFFICIENT_RESOURCES,
- PORT_VDP_RESPONSE_UNUSED_VTID,
- PORT_VDP_RESPONSE_VTID_VIOLATION,
- PORT_VDP_RESPONSE_VTID_VERSION_VIOALTION,
- PORT_VDP_RESPONSE_OUT_OF_SYNC,
- /* 0x08-0xFF reserved for future VDP use */
- PORT_PROFILE_RESPONSE_SUCCESS = 0x100,
- PORT_PROFILE_RESPONSE_INPROGRESS,
- PORT_PROFILE_RESPONSE_INVALID,
- PORT_PROFILE_RESPONSE_BADSTATE,
- PORT_PROFILE_RESPONSE_INSUFFICIENT_RESOURCES,
- PORT_PROFILE_RESPONSE_ERROR,
-};
-
-struct ifla_port_vsi {
- __u8 vsi_mgr_id;
- __u8 vsi_type_id[3];
- __u8 vsi_type_version;
- __u8 pad[3];
-};
-
-
-/* IPoIB section */
-
-enum {
- IFLA_IPOIB_UNSPEC,
- IFLA_IPOIB_PKEY,
- IFLA_IPOIB_MODE,
- IFLA_IPOIB_UMCAST,
- __IFLA_IPOIB_MAX
-};
-
-enum {
- IPOIB_MODE_DATAGRAM = 0, /* using unreliable datagram QPs */
- IPOIB_MODE_CONNECTED = 1, /* using connected QPs */
-};
-
-#define IFLA_IPOIB_MAX (__IFLA_IPOIB_MAX - 1)
-
-
-/* HSR section */
-
-enum {
- IFLA_HSR_UNSPEC,
- IFLA_HSR_SLAVE1,
- IFLA_HSR_SLAVE2,
- IFLA_HSR_MULTICAST_SPEC, /* Last byte of supervision addr */
- IFLA_HSR_SUPERVISION_ADDR, /* Supervision frame multicast addr */
- IFLA_HSR_SEQ_NR,
- __IFLA_HSR_MAX,
-};
-
-#define IFLA_HSR_MAX (__IFLA_HSR_MAX - 1)
-
-#endif /* _LINUX_IF_LINK_H */
diff --git a/linux-headers/include/linux/if_ltalk.h b/linux-headers/include/linux/if_ltalk.h
deleted file mode 100644
index 1f83ba0..0000000
--- a/linux-headers/include/linux/if_ltalk.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __LINUX_LTALK_H
-#define __LINUX_LTALK_H
-
-#define LTALK_HLEN 1
-#define LTALK_MTU 600
-#define LTALK_ALEN 1
-
-
-#endif /* __LINUX_LTALK_H */
diff --git a/linux-headers/include/linux/if_macsec.h b/linux-headers/include/linux/if_macsec.h
deleted file mode 100644
index 6e26635..0000000
--- a/linux-headers/include/linux/if_macsec.h
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * include/uapi/linux/if_macsec.h - MACsec device
- *
- * Copyright (c) 2015 Sabrina Dubroca <sd@queasysnail.net>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef _MACSEC_H
-#define _MACSEC_H
-
-#include <linux/types.h>
-
-#define MACSEC_GENL_NAME "macsec"
-#define MACSEC_GENL_VERSION 1
-
-#define MACSEC_MAX_KEY_LEN 128
-
-#define MACSEC_KEYID_LEN 16
-
-#define MACSEC_DEFAULT_CIPHER_ID 0x0080020001000001ULL
-#define MACSEC_DEFAULT_CIPHER_ALT 0x0080C20001000001ULL
-
-#define MACSEC_MIN_ICV_LEN 8
-#define MACSEC_MAX_ICV_LEN 32
-
-enum macsec_attrs {
- MACSEC_ATTR_UNSPEC,
- MACSEC_ATTR_IFINDEX, /* u32, ifindex of the MACsec netdevice */
- MACSEC_ATTR_RXSC_CONFIG, /* config, nested macsec_rxsc_attrs */
- MACSEC_ATTR_SA_CONFIG, /* config, nested macsec_sa_attrs */
- MACSEC_ATTR_SECY, /* dump, nested macsec_secy_attrs */
- MACSEC_ATTR_TXSA_LIST, /* dump, nested, macsec_sa_attrs for each TXSA */
- MACSEC_ATTR_RXSC_LIST, /* dump, nested, macsec_rxsc_attrs for each RXSC */
- MACSEC_ATTR_TXSC_STATS, /* dump, nested, macsec_txsc_stats_attr */
- MACSEC_ATTR_SECY_STATS, /* dump, nested, macsec_secy_stats_attr */
- __MACSEC_ATTR_END,
- NUM_MACSEC_ATTR = __MACSEC_ATTR_END,
- MACSEC_ATTR_MAX = __MACSEC_ATTR_END - 1,
-};
-
-enum macsec_secy_attrs {
- MACSEC_SECY_ATTR_UNSPEC,
- MACSEC_SECY_ATTR_SCI,
- MACSEC_SECY_ATTR_ENCODING_SA,
- MACSEC_SECY_ATTR_WINDOW,
- MACSEC_SECY_ATTR_CIPHER_SUITE,
- MACSEC_SECY_ATTR_ICV_LEN,
- MACSEC_SECY_ATTR_PROTECT,
- MACSEC_SECY_ATTR_REPLAY,
- MACSEC_SECY_ATTR_OPER,
- MACSEC_SECY_ATTR_VALIDATE,
- MACSEC_SECY_ATTR_ENCRYPT,
- MACSEC_SECY_ATTR_INC_SCI,
- MACSEC_SECY_ATTR_ES,
- MACSEC_SECY_ATTR_SCB,
- __MACSEC_SECY_ATTR_END,
- NUM_MACSEC_SECY_ATTR = __MACSEC_SECY_ATTR_END,
- MACSEC_SECY_ATTR_MAX = __MACSEC_SECY_ATTR_END - 1,
-};
-
-enum macsec_rxsc_attrs {
- MACSEC_RXSC_ATTR_UNSPEC,
- MACSEC_RXSC_ATTR_SCI, /* config/dump, u64 */
- MACSEC_RXSC_ATTR_ACTIVE, /* config/dump, u8 0..1 */
- MACSEC_RXSC_ATTR_SA_LIST, /* dump, nested */
- MACSEC_RXSC_ATTR_STATS, /* dump, nested, macsec_rxsc_stats_attr */
- __MACSEC_RXSC_ATTR_END,
- NUM_MACSEC_RXSC_ATTR = __MACSEC_RXSC_ATTR_END,
- MACSEC_RXSC_ATTR_MAX = __MACSEC_RXSC_ATTR_END - 1,
-};
-
-enum macsec_sa_attrs {
- MACSEC_SA_ATTR_UNSPEC,
- MACSEC_SA_ATTR_AN, /* config/dump, u8 0..3 */
- MACSEC_SA_ATTR_ACTIVE, /* config/dump, u8 0..1 */
- MACSEC_SA_ATTR_PN, /* config/dump, u32 */
- MACSEC_SA_ATTR_KEY, /* config, data */
- MACSEC_SA_ATTR_KEYID, /* config/dump, 128-bit */
- MACSEC_SA_ATTR_STATS, /* dump, nested, macsec_sa_stats_attr */
- __MACSEC_SA_ATTR_END,
- NUM_MACSEC_SA_ATTR = __MACSEC_SA_ATTR_END,
- MACSEC_SA_ATTR_MAX = __MACSEC_SA_ATTR_END - 1,
-};
-
-enum macsec_nl_commands {
- MACSEC_CMD_GET_TXSC,
- MACSEC_CMD_ADD_RXSC,
- MACSEC_CMD_DEL_RXSC,
- MACSEC_CMD_UPD_RXSC,
- MACSEC_CMD_ADD_TXSA,
- MACSEC_CMD_DEL_TXSA,
- MACSEC_CMD_UPD_TXSA,
- MACSEC_CMD_ADD_RXSA,
- MACSEC_CMD_DEL_RXSA,
- MACSEC_CMD_UPD_RXSA,
-};
-
-/* u64 per-RXSC stats */
-enum macsec_rxsc_stats_attr {
- MACSEC_RXSC_STATS_ATTR_UNSPEC,
- MACSEC_RXSC_STATS_ATTR_IN_OCTETS_VALIDATED,
- MACSEC_RXSC_STATS_ATTR_IN_OCTETS_DECRYPTED,
- MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNCHECKED,
- MACSEC_RXSC_STATS_ATTR_IN_PKTS_DELAYED,
- MACSEC_RXSC_STATS_ATTR_IN_PKTS_OK,
- MACSEC_RXSC_STATS_ATTR_IN_PKTS_INVALID,
- MACSEC_RXSC_STATS_ATTR_IN_PKTS_LATE,
- MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_VALID,
- MACSEC_RXSC_STATS_ATTR_IN_PKTS_NOT_USING_SA,
- MACSEC_RXSC_STATS_ATTR_IN_PKTS_UNUSED_SA,
- __MACSEC_RXSC_STATS_ATTR_END,
- NUM_MACSEC_RXSC_STATS_ATTR = __MACSEC_RXSC_STATS_ATTR_END,
- MACSEC_RXSC_STATS_ATTR_MAX = __MACSEC_RXSC_STATS_ATTR_END - 1,
-};
-
-/* u32 per-{RX,TX}SA stats */
-enum macsec_sa_stats_attr {
- MACSEC_SA_STATS_ATTR_UNSPEC,
- MACSEC_SA_STATS_ATTR_IN_PKTS_OK,
- MACSEC_SA_STATS_ATTR_IN_PKTS_INVALID,
- MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_VALID,
- MACSEC_SA_STATS_ATTR_IN_PKTS_NOT_USING_SA,
- MACSEC_SA_STATS_ATTR_IN_PKTS_UNUSED_SA,
- MACSEC_SA_STATS_ATTR_OUT_PKTS_PROTECTED,
- MACSEC_SA_STATS_ATTR_OUT_PKTS_ENCRYPTED,
- __MACSEC_SA_STATS_ATTR_END,
- NUM_MACSEC_SA_STATS_ATTR = __MACSEC_SA_STATS_ATTR_END,
- MACSEC_SA_STATS_ATTR_MAX = __MACSEC_SA_STATS_ATTR_END - 1,
-};
-
-/* u64 per-TXSC stats */
-enum macsec_txsc_stats_attr {
- MACSEC_TXSC_STATS_ATTR_UNSPEC,
- MACSEC_TXSC_STATS_ATTR_OUT_PKTS_PROTECTED,
- MACSEC_TXSC_STATS_ATTR_OUT_PKTS_ENCRYPTED,
- MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_PROTECTED,
- MACSEC_TXSC_STATS_ATTR_OUT_OCTETS_ENCRYPTED,
- __MACSEC_TXSC_STATS_ATTR_END,
- NUM_MACSEC_TXSC_STATS_ATTR = __MACSEC_TXSC_STATS_ATTR_END,
- MACSEC_TXSC_STATS_ATTR_MAX = __MACSEC_TXSC_STATS_ATTR_END - 1,
-};
-
-/* u64 per-SecY stats */
-enum macsec_secy_stats_attr {
- MACSEC_SECY_STATS_ATTR_UNSPEC,
- MACSEC_SECY_STATS_ATTR_OUT_PKTS_UNTAGGED,
- MACSEC_SECY_STATS_ATTR_IN_PKTS_UNTAGGED,
- MACSEC_SECY_STATS_ATTR_OUT_PKTS_TOO_LONG,
- MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_TAG,
- MACSEC_SECY_STATS_ATTR_IN_PKTS_BAD_TAG,
- MACSEC_SECY_STATS_ATTR_IN_PKTS_UNKNOWN_SCI,
- MACSEC_SECY_STATS_ATTR_IN_PKTS_NO_SCI,
- MACSEC_SECY_STATS_ATTR_IN_PKTS_OVERRUN,
- __MACSEC_SECY_STATS_ATTR_END,
- NUM_MACSEC_SECY_STATS_ATTR = __MACSEC_SECY_STATS_ATTR_END,
- MACSEC_SECY_STATS_ATTR_MAX = __MACSEC_SECY_STATS_ATTR_END - 1,
-};
-
-#endif /* _MACSEC_H */
diff --git a/linux-headers/include/linux/if_packet.h b/linux-headers/include/linux/if_packet.h
deleted file mode 100644
index 9e7edfd..0000000
--- a/linux-headers/include/linux/if_packet.h
+++ /dev/null
@@ -1,301 +0,0 @@
-#ifndef __LINUX_IF_PACKET_H
-#define __LINUX_IF_PACKET_H
-
-#include <linux/types.h>
-
-struct sockaddr_pkt {
- unsigned short spkt_family;
- unsigned char spkt_device[14];
- __be16 spkt_protocol;
-};
-
-struct sockaddr_ll {
- unsigned short sll_family;
- __be16 sll_protocol;
- int sll_ifindex;
- unsigned short sll_hatype;
- unsigned char sll_pkttype;
- unsigned char sll_halen;
- unsigned char sll_addr[8];
-};
-
-/* Packet types */
-
-#define PACKET_HOST 0 /* To us */
-#define PACKET_BROADCAST 1 /* To all */
-#define PACKET_MULTICAST 2 /* To group */
-#define PACKET_OTHERHOST 3 /* To someone else */
-#define PACKET_OUTGOING 4 /* Outgoing of any type */
-#define PACKET_LOOPBACK 5 /* MC/BRD frame looped back */
-#define PACKET_USER 6 /* To user space */
-#define PACKET_KERNEL 7 /* To kernel space */
-/* Unused, PACKET_FASTROUTE and PACKET_LOOPBACK are invisible to user space */
-#define PACKET_FASTROUTE 6 /* Fastrouted frame */
-
-/* Packet socket options */
-
-#define PACKET_ADD_MEMBERSHIP 1
-#define PACKET_DROP_MEMBERSHIP 2
-#define PACKET_RECV_OUTPUT 3
-/* Value 4 is still used by obsolete turbo-packet. */
-#define PACKET_RX_RING 5
-#define PACKET_STATISTICS 6
-#define PACKET_COPY_THRESH 7
-#define PACKET_AUXDATA 8
-#define PACKET_ORIGDEV 9
-#define PACKET_VERSION 10
-#define PACKET_HDRLEN 11
-#define PACKET_RESERVE 12
-#define PACKET_TX_RING 13
-#define PACKET_LOSS 14
-#define PACKET_VNET_HDR 15
-#define PACKET_TX_TIMESTAMP 16
-#define PACKET_TIMESTAMP 17
-#define PACKET_FANOUT 18
-#define PACKET_TX_HAS_OFF 19
-#define PACKET_QDISC_BYPASS 20
-#define PACKET_ROLLOVER_STATS 21
-#define PACKET_FANOUT_DATA 22
-
-#define PACKET_FANOUT_HASH 0
-#define PACKET_FANOUT_LB 1
-#define PACKET_FANOUT_CPU 2
-#define PACKET_FANOUT_ROLLOVER 3
-#define PACKET_FANOUT_RND 4
-#define PACKET_FANOUT_QM 5
-#define PACKET_FANOUT_CBPF 6
-#define PACKET_FANOUT_EBPF 7
-#define PACKET_FANOUT_FLAG_ROLLOVER 0x1000
-#define PACKET_FANOUT_FLAG_DEFRAG 0x8000
-
-struct tpacket_stats {
- unsigned int tp_packets;
- unsigned int tp_drops;
-};
-
-struct tpacket_stats_v3 {
- unsigned int tp_packets;
- unsigned int tp_drops;
- unsigned int tp_freeze_q_cnt;
-};
-
-struct tpacket_rollover_stats {
- __aligned_u64 tp_all;
- __aligned_u64 tp_huge;
- __aligned_u64 tp_failed;
-};
-
-union tpacket_stats_u {
- struct tpacket_stats stats1;
- struct tpacket_stats_v3 stats3;
-};
-
-struct tpacket_auxdata {
- __u32 tp_status;
- __u32 tp_len;
- __u32 tp_snaplen;
- __u16 tp_mac;
- __u16 tp_net;
- __u16 tp_vlan_tci;
- __u16 tp_vlan_tpid;
-};
-
-/* Rx ring - header status */
-#define TP_STATUS_KERNEL 0
-#define TP_STATUS_USER (1 << 0)
-#define TP_STATUS_COPY (1 << 1)
-#define TP_STATUS_LOSING (1 << 2)
-#define TP_STATUS_CSUMNOTREADY (1 << 3)
-#define TP_STATUS_VLAN_VALID (1 << 4) /* auxdata has valid tp_vlan_tci */
-#define TP_STATUS_BLK_TMO (1 << 5)
-#define TP_STATUS_VLAN_TPID_VALID (1 << 6) /* auxdata has valid tp_vlan_tpid */
-#define TP_STATUS_CSUM_VALID (1 << 7)
-
-/* Tx ring - header status */
-#define TP_STATUS_AVAILABLE 0
-#define TP_STATUS_SEND_REQUEST (1 << 0)
-#define TP_STATUS_SENDING (1 << 1)
-#define TP_STATUS_WRONG_FORMAT (1 << 2)
-
-/* Rx and Tx ring - header status */
-#define TP_STATUS_TS_SOFTWARE (1 << 29)
-#define TP_STATUS_TS_SYS_HARDWARE (1 << 30) /* deprecated, never set */
-#define TP_STATUS_TS_RAW_HARDWARE (1 << 31)
-
-/* Rx ring - feature request bits */
-#define TP_FT_REQ_FILL_RXHASH 0x1
-
-struct tpacket_hdr {
- unsigned long tp_status;
- unsigned int tp_len;
- unsigned int tp_snaplen;
- unsigned short tp_mac;
- unsigned short tp_net;
- unsigned int tp_sec;
- unsigned int tp_usec;
-};
-
-#define TPACKET_ALIGNMENT 16
-#define TPACKET_ALIGN(x) (((x)+TPACKET_ALIGNMENT-1)&~(TPACKET_ALIGNMENT-1))
-#define TPACKET_HDRLEN (TPACKET_ALIGN(sizeof(struct tpacket_hdr)) + sizeof(struct sockaddr_ll))
-
-struct tpacket2_hdr {
- __u32 tp_status;
- __u32 tp_len;
- __u32 tp_snaplen;
- __u16 tp_mac;
- __u16 tp_net;
- __u32 tp_sec;
- __u32 tp_nsec;
- __u16 tp_vlan_tci;
- __u16 tp_vlan_tpid;
- __u8 tp_padding[4];
-};
-
-struct tpacket_hdr_variant1 {
- __u32 tp_rxhash;
- __u32 tp_vlan_tci;
- __u16 tp_vlan_tpid;
- __u16 tp_padding;
-};
-
-struct tpacket3_hdr {
- __u32 tp_next_offset;
- __u32 tp_sec;
- __u32 tp_nsec;
- __u32 tp_snaplen;
- __u32 tp_len;
- __u32 tp_status;
- __u16 tp_mac;
- __u16 tp_net;
- /* pkt_hdr variants */
- union {
- struct tpacket_hdr_variant1 hv1;
- };
- __u8 tp_padding[8];
-};
-
-struct tpacket_bd_ts {
- unsigned int ts_sec;
- union {
- unsigned int ts_usec;
- unsigned int ts_nsec;
- };
-};
-
-struct tpacket_hdr_v1 {
- __u32 block_status;
- __u32 num_pkts;
- __u32 offset_to_first_pkt;
-
- /* Number of valid bytes (including padding)
- * blk_len <= tp_block_size
- */
- __u32 blk_len;
-
- /*
- * Quite a few uses of sequence number:
- * 1. Make sure cache flush etc worked.
- * Well, one can argue - why not use the increasing ts below?
- * But look at 2. below first.
- * 2. When you pass around blocks to other user space decoders,
- * you can see which blk[s] is[are] outstanding etc.
- * 3. Validate kernel code.
- */
- __aligned_u64 seq_num;
-
- /*
- * ts_last_pkt:
- *
- * Case 1. Block has 'N'(N >=1) packets and TMO'd(timed out)
- * ts_last_pkt == 'time-stamp of last packet' and NOT the
- * time when the timer fired and the block was closed.
- * By providing the ts of the last packet we can absolutely
- * guarantee that time-stamp wise, the first packet in the
- * next block will never precede the last packet of the
- * previous block.
- * Case 2. Block has zero packets and TMO'd
- * ts_last_pkt = time when the timer fired and the block
- * was closed.
- * Case 3. Block has 'N' packets and NO TMO.
- * ts_last_pkt = time-stamp of the last pkt in the block.
- *
- * ts_first_pkt:
- * Is always the time-stamp when the block was opened.
- * Case a) ZERO packets
- * No packets to deal with but atleast you know the
- * time-interval of this block.
- * Case b) Non-zero packets
- * Use the ts of the first packet in the block.
- *
- */
- struct tpacket_bd_ts ts_first_pkt, ts_last_pkt;
-};
-
-union tpacket_bd_header_u {
- struct tpacket_hdr_v1 bh1;
-};
-
-struct tpacket_block_desc {
- __u32 version;
- __u32 offset_to_priv;
- union tpacket_bd_header_u hdr;
-};
-
-#define TPACKET2_HDRLEN (TPACKET_ALIGN(sizeof(struct tpacket2_hdr)) + sizeof(struct sockaddr_ll))
-#define TPACKET3_HDRLEN (TPACKET_ALIGN(sizeof(struct tpacket3_hdr)) + sizeof(struct sockaddr_ll))
-
-enum tpacket_versions {
- TPACKET_V1,
- TPACKET_V2,
- TPACKET_V3
-};
-
-/*
- Frame structure:
-
- - Start. Frame must be aligned to TPACKET_ALIGNMENT=16
- - struct tpacket_hdr
- - pad to TPACKET_ALIGNMENT=16
- - struct sockaddr_ll
- - Gap, chosen so that packet data (Start+tp_net) alignes to TPACKET_ALIGNMENT=16
- - Start+tp_mac: [ Optional MAC header ]
- - Start+tp_net: Packet data, aligned to TPACKET_ALIGNMENT=16.
- - Pad to align to TPACKET_ALIGNMENT=16
- */
-
-struct tpacket_req {
- unsigned int tp_block_size; /* Minimal size of contiguous block */
- unsigned int tp_block_nr; /* Number of blocks */
- unsigned int tp_frame_size; /* Size of frame */
- unsigned int tp_frame_nr; /* Total number of frames */
-};
-
-struct tpacket_req3 {
- unsigned int tp_block_size; /* Minimal size of contiguous block */
- unsigned int tp_block_nr; /* Number of blocks */
- unsigned int tp_frame_size; /* Size of frame */
- unsigned int tp_frame_nr; /* Total number of frames */
- unsigned int tp_retire_blk_tov; /* timeout in msecs */
- unsigned int tp_sizeof_priv; /* offset to private data area */
- unsigned int tp_feature_req_word;
-};
-
-union tpacket_req_u {
- struct tpacket_req req;
- struct tpacket_req3 req3;
-};
-
-struct packet_mreq {
- int mr_ifindex;
- unsigned short mr_type;
- unsigned short mr_alen;
- unsigned char mr_address[8];
-};
-
-#define PACKET_MR_MULTICAST 0
-#define PACKET_MR_PROMISC 1
-#define PACKET_MR_ALLMULTI 2
-#define PACKET_MR_UNICAST 3
-
-#endif
diff --git a/linux-headers/include/linux/if_phonet.h b/linux-headers/include/linux/if_phonet.h
deleted file mode 100644
index 63371bc..0000000
--- a/linux-headers/include/linux/if_phonet.h
+++ /dev/null
@@ -1,16 +0,0 @@
-/*
- * File: if_phonet.h
- *
- * Phonet interface kernel definitions
- *
- * Copyright (C) 2008 Nokia Corporation. All rights reserved.
- */
-#ifndef LINUX_IF_PHONET_H
-#define LINUX_IF_PHONET_H
-
-#define PHONET_MIN_MTU 6 /* pn_length = 0 */
-#define PHONET_MAX_MTU 65541 /* pn_length = 0xffff */
-#define PHONET_DEV_MTU PHONET_MAX_MTU
-
-
-#endif /* LINUX_IF_PHONET_H */
diff --git a/linux-headers/include/linux/if_plip.h b/linux-headers/include/linux/if_plip.h
deleted file mode 100644
index 6298c7e..0000000
--- a/linux-headers/include/linux/if_plip.h
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * NET3 PLIP tuning facilities for the new Niibe PLIP.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- */
-
-#ifndef _LINUX_IF_PLIP_H
-#define _LINUX_IF_PLIP_H
-
-#include <linux/sockios.h>
-
-#define SIOCDEVPLIP SIOCDEVPRIVATE
-
-struct plipconf {
- unsigned short pcmd;
- unsigned long nibble;
- unsigned long trigger;
-};
-
-#define PLIP_GET_TIMEOUT 0x1
-#define PLIP_SET_TIMEOUT 0x2
-
-#endif
diff --git a/linux-headers/include/linux/if_ppp.h b/linux-headers/include/linux/if_ppp.h
deleted file mode 100644
index 9048fab..0000000
--- a/linux-headers/include/linux/if_ppp.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <linux/ppp-ioctl.h>
diff --git a/linux-headers/include/linux/if_pppol2tp.h b/linux-headers/include/linux/if_pppol2tp.h
deleted file mode 100644
index 8e1221c..0000000
--- a/linux-headers/include/linux/if_pppol2tp.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/***************************************************************************
- * Linux PPP over L2TP (PPPoL2TP) Socket Implementation (RFC 2661)
- *
- * This file supplies definitions required by the PPP over L2TP driver
- * (l2tp_ppp.c). All version information wrt this file is located in l2tp_ppp.c
- *
- * License:
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- */
-
-#ifndef __LINUX_IF_PPPOL2TP_H
-#define __LINUX_IF_PPPOL2TP_H
-
-#include <linux/types.h>
-
-
-/* Structure used to connect() the socket to a particular tunnel UDP
- * socket over IPv4.
- */
-struct pppol2tp_addr {
- __kernel_pid_t pid; /* pid that owns the fd.
- * 0 => current */
- int fd; /* FD of UDP socket to use */
-
- struct sockaddr_in addr; /* IP address and port to send to */
-
- __u16 s_tunnel, s_session; /* For matching incoming packets */
- __u16 d_tunnel, d_session; /* For sending outgoing packets */
-};
-
-/* Structure used to connect() the socket to a particular tunnel UDP
- * socket over IPv6.
- */
-struct pppol2tpin6_addr {
- __kernel_pid_t pid; /* pid that owns the fd.
- * 0 => current */
- int fd; /* FD of UDP socket to use */
-
- __u16 s_tunnel, s_session; /* For matching incoming packets */
- __u16 d_tunnel, d_session; /* For sending outgoing packets */
-
- struct sockaddr_in6 addr; /* IP address and port to send to */
-};
-
-/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
- * bits. So we need a different sockaddr structure.
- */
-struct pppol2tpv3_addr {
- __kernel_pid_t pid; /* pid that owns the fd.
- * 0 => current */
- int fd; /* FD of UDP or IP socket to use */
-
- struct sockaddr_in addr; /* IP address and port to send to */
-
- __u32 s_tunnel, s_session; /* For matching incoming packets */
- __u32 d_tunnel, d_session; /* For sending outgoing packets */
-};
-
-struct pppol2tpv3in6_addr {
- __kernel_pid_t pid; /* pid that owns the fd.
- * 0 => current */
- int fd; /* FD of UDP or IP socket to use */
-
- __u32 s_tunnel, s_session; /* For matching incoming packets */
- __u32 d_tunnel, d_session; /* For sending outgoing packets */
-
- struct sockaddr_in6 addr; /* IP address and port to send to */
-};
-
-/* Socket options:
- * DEBUG - bitmask of debug message categories
- * SENDSEQ - 0 => don't send packets with sequence numbers
- * 1 => send packets with sequence numbers
- * RECVSEQ - 0 => receive packet sequence numbers are optional
- * 1 => drop receive packets without sequence numbers
- * LNSMODE - 0 => act as LAC.
- * 1 => act as LNS.
- * REORDERTO - reorder timeout (in millisecs). If 0, don't try to reorder.
- */
-enum {
- PPPOL2TP_SO_DEBUG = 1,
- PPPOL2TP_SO_RECVSEQ = 2,
- PPPOL2TP_SO_SENDSEQ = 3,
- PPPOL2TP_SO_LNSMODE = 4,
- PPPOL2TP_SO_REORDERTO = 5,
-};
-
-/* Debug message categories for the DEBUG socket option */
-enum {
- PPPOL2TP_MSG_DEBUG = (1 << 0), /* verbose debug (if
- * compiled in) */
- PPPOL2TP_MSG_CONTROL = (1 << 1), /* userspace - kernel
- * interface */
- PPPOL2TP_MSG_SEQ = (1 << 2), /* sequence numbers */
- PPPOL2TP_MSG_DATA = (1 << 3), /* data packets */
-};
-
-
-
-#endif /* __LINUX_IF_PPPOL2TP_H */
diff --git a/linux-headers/include/linux/if_pppox.h b/linux-headers/include/linux/if_pppox.h
deleted file mode 100644
index acd0a2c..0000000
--- a/linux-headers/include/linux/if_pppox.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/***************************************************************************
- * Linux PPP over X - Generic PPP transport layer sockets
- * Linux PPP over Ethernet (PPPoE) Socket Implementation (RFC 2516)
- *
- * This file supplies definitions required by the PPP over Ethernet driver
- * (pppox.c). All version information wrt this file is located in pppox.c
- *
- * License:
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- */
-
-#ifndef __LINUX_IF_PPPOX_H
-#define __LINUX_IF_PPPOX_H
-
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-#include <linux/socket.h>
-#include <linux/if_ether.h>
-#include <linux/if_pppol2tp.h>
-
-/* For user-space programs to pick up these definitions
- * which they wouldn't get otherwise without defining __KERNEL__
- */
-#ifndef AF_PPPOX
-#define AF_PPPOX 24
-#define PF_PPPOX AF_PPPOX
-#endif /* !(AF_PPPOX) */
-
-/************************************************************************
- * PPPoE addressing definition
- */
-typedef __be16 sid_t;
-struct pppoe_addr {
- sid_t sid; /* Session identifier */
- unsigned char remote[ETH_ALEN]; /* Remote address */
- char dev[IFNAMSIZ]; /* Local device to use */
-};
-
-/************************************************************************
- * PPTP addressing definition
- */
-struct pptp_addr {
- __u16 call_id;
- struct in_addr sin_addr;
-};
-
-/************************************************************************
- * Protocols supported by AF_PPPOX
- */
-#define PX_PROTO_OE 0 /* Currently just PPPoE */
-#define PX_PROTO_OL2TP 1 /* Now L2TP also */
-#define PX_PROTO_PPTP 2
-#define PX_MAX_PROTO 3
-
-struct sockaddr_pppox {
- __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
- unsigned int sa_protocol; /* protocol identifier */
- union {
- struct pppoe_addr pppoe;
- struct pptp_addr pptp;
- } sa_addr;
-} __attribute__((packed));
-
-/* The use of the above union isn't viable because the size of this
- * struct must stay fixed over time -- applications use sizeof(struct
- * sockaddr_pppox) to fill it. We use a protocol specific sockaddr
- * type instead.
- */
-struct sockaddr_pppol2tp {
- __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
- unsigned int sa_protocol; /* protocol identifier */
- struct pppol2tp_addr pppol2tp;
-} __attribute__((packed));
-
-struct sockaddr_pppol2tpin6 {
- __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
- unsigned int sa_protocol; /* protocol identifier */
- struct pppol2tpin6_addr pppol2tp;
-} __attribute__((packed));
-
-/* The L2TPv3 protocol changes tunnel and session ids from 16 to 32
- * bits. So we need a different sockaddr structure.
- */
-struct sockaddr_pppol2tpv3 {
- __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
- unsigned int sa_protocol; /* protocol identifier */
- struct pppol2tpv3_addr pppol2tp;
-} __attribute__((packed));
-
-struct sockaddr_pppol2tpv3in6 {
- __kernel_sa_family_t sa_family; /* address family, AF_PPPOX */
- unsigned int sa_protocol; /* protocol identifier */
- struct pppol2tpv3in6_addr pppol2tp;
-} __attribute__((packed));
-
-/*********************************************************************
- *
- * ioctl interface for defining forwarding of connections
- *
- ********************************************************************/
-
-#define PPPOEIOCSFWD _IOW(0xB1 ,0, size_t)
-#define PPPOEIOCDFWD _IO(0xB1 ,1)
-/*#define PPPOEIOCGFWD _IOWR(0xB1,2, size_t)*/
-
-/* Codes to identify message types */
-#define PADI_CODE 0x09
-#define PADO_CODE 0x07
-#define PADR_CODE 0x19
-#define PADS_CODE 0x65
-#define PADT_CODE 0xa7
-struct pppoe_tag {
- __be16 tag_type;
- __be16 tag_len;
- char tag_data[0];
-} __attribute__ ((packed));
-
-/* Tag identifiers */
-#define PTT_EOL __cpu_to_be16(0x0000)
-#define PTT_SRV_NAME __cpu_to_be16(0x0101)
-#define PTT_AC_NAME __cpu_to_be16(0x0102)
-#define PTT_HOST_UNIQ __cpu_to_be16(0x0103)
-#define PTT_AC_COOKIE __cpu_to_be16(0x0104)
-#define PTT_VENDOR __cpu_to_be16(0x0105)
-#define PTT_RELAY_SID __cpu_to_be16(0x0110)
-#define PTT_SRV_ERR __cpu_to_be16(0x0201)
-#define PTT_SYS_ERR __cpu_to_be16(0x0202)
-#define PTT_GEN_ERR __cpu_to_be16(0x0203)
-
-struct pppoe_hdr {
-#if defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 type : 4;
- __u8 ver : 4;
-#elif defined(__BIG_ENDIAN_BITFIELD)
- __u8 ver : 4;
- __u8 type : 4;
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
- __u8 code;
- __be16 sid;
- __be16 length;
- struct pppoe_tag tag[0];
-} __attribute__((packed));
-
-/* Length of entire PPPoE + PPP header */
-#define PPPOE_SES_HLEN 8
-
-
-#endif /* __LINUX_IF_PPPOX_H */
diff --git a/linux-headers/include/linux/if_slip.h b/linux-headers/include/linux/if_slip.h
deleted file mode 100644
index 1eb4e3a..0000000
--- a/linux-headers/include/linux/if_slip.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Swansea University Computer Society NET3
- *
- * This file declares the constants of special use with the SLIP/CSLIP/
- * KISS TNC driver.
- */
-
-#ifndef __LINUX_SLIP_H
-#define __LINUX_SLIP_H
-
-#define SL_MODE_SLIP 0
-#define SL_MODE_CSLIP 1
-#define SL_MODE_KISS 4
-
-#define SL_OPT_SIXBIT 2
-#define SL_OPT_ADAPTIVE 8
-
-/*
- * VSV = ioctl for keepalive & outfill in SLIP driver
- */
-
-#define SIOCSKEEPALIVE (SIOCDEVPRIVATE) /* Set keepalive timeout in sec */
-#define SIOCGKEEPALIVE (SIOCDEVPRIVATE+1) /* Get keepalive timeout */
-#define SIOCSOUTFILL (SIOCDEVPRIVATE+2) /* Set outfill timeout */
-#define SIOCGOUTFILL (SIOCDEVPRIVATE+3) /* Get outfill timeout */
-#define SIOCSLEASE (SIOCDEVPRIVATE+4) /* Set "leased" line type */
-#define SIOCGLEASE (SIOCDEVPRIVATE+5) /* Get line type */
-
-
-#endif
diff --git a/linux-headers/include/linux/if_team.h b/linux-headers/include/linux/if_team.h
deleted file mode 100644
index cb92efa..0000000
--- a/linux-headers/include/linux/if_team.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * include/linux/if_team.h - Network team device driver header
- * Copyright (c) 2011 Jiri Pirko <jpirko@redhat.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef _LINUX_IF_TEAM_H_
-#define _LINUX_IF_TEAM_H_
-
-
-#define TEAM_STRING_MAX_LEN 32
-
-/**********************************
- * NETLINK_GENERIC netlink family.
- **********************************/
-
-enum {
- TEAM_CMD_NOOP,
- TEAM_CMD_OPTIONS_SET,
- TEAM_CMD_OPTIONS_GET,
- TEAM_CMD_PORT_LIST_GET,
-
- __TEAM_CMD_MAX,
- TEAM_CMD_MAX = (__TEAM_CMD_MAX - 1),
-};
-
-enum {
- TEAM_ATTR_UNSPEC,
- TEAM_ATTR_TEAM_IFINDEX, /* u32 */
- TEAM_ATTR_LIST_OPTION, /* nest */
- TEAM_ATTR_LIST_PORT, /* nest */
-
- __TEAM_ATTR_MAX,
- TEAM_ATTR_MAX = __TEAM_ATTR_MAX - 1,
-};
-
-/* Nested layout of get/set msg:
- *
- * [TEAM_ATTR_LIST_OPTION]
- * [TEAM_ATTR_ITEM_OPTION]
- * [TEAM_ATTR_OPTION_*], ...
- * [TEAM_ATTR_ITEM_OPTION]
- * [TEAM_ATTR_OPTION_*], ...
- * ...
- * [TEAM_ATTR_LIST_PORT]
- * [TEAM_ATTR_ITEM_PORT]
- * [TEAM_ATTR_PORT_*], ...
- * [TEAM_ATTR_ITEM_PORT]
- * [TEAM_ATTR_PORT_*], ...
- * ...
- */
-
-enum {
- TEAM_ATTR_ITEM_OPTION_UNSPEC,
- TEAM_ATTR_ITEM_OPTION, /* nest */
-
- __TEAM_ATTR_ITEM_OPTION_MAX,
- TEAM_ATTR_ITEM_OPTION_MAX = __TEAM_ATTR_ITEM_OPTION_MAX - 1,
-};
-
-enum {
- TEAM_ATTR_OPTION_UNSPEC,
- TEAM_ATTR_OPTION_NAME, /* string */
- TEAM_ATTR_OPTION_CHANGED, /* flag */
- TEAM_ATTR_OPTION_TYPE, /* u8 */
- TEAM_ATTR_OPTION_DATA, /* dynamic */
- TEAM_ATTR_OPTION_REMOVED, /* flag */
- TEAM_ATTR_OPTION_PORT_IFINDEX, /* u32 */ /* for per-port options */
- TEAM_ATTR_OPTION_ARRAY_INDEX, /* u32 */ /* for array options */
-
- __TEAM_ATTR_OPTION_MAX,
- TEAM_ATTR_OPTION_MAX = __TEAM_ATTR_OPTION_MAX - 1,
-};
-
-enum {
- TEAM_ATTR_ITEM_PORT_UNSPEC,
- TEAM_ATTR_ITEM_PORT, /* nest */
-
- __TEAM_ATTR_ITEM_PORT_MAX,
- TEAM_ATTR_ITEM_PORT_MAX = __TEAM_ATTR_ITEM_PORT_MAX - 1,
-};
-
-enum {
- TEAM_ATTR_PORT_UNSPEC,
- TEAM_ATTR_PORT_IFINDEX, /* u32 */
- TEAM_ATTR_PORT_CHANGED, /* flag */
- TEAM_ATTR_PORT_LINKUP, /* flag */
- TEAM_ATTR_PORT_SPEED, /* u32 */
- TEAM_ATTR_PORT_DUPLEX, /* u8 */
- TEAM_ATTR_PORT_REMOVED, /* flag */
-
- __TEAM_ATTR_PORT_MAX,
- TEAM_ATTR_PORT_MAX = __TEAM_ATTR_PORT_MAX - 1,
-};
-
-/*
- * NETLINK_GENERIC related info
- */
-#define TEAM_GENL_NAME "team"
-#define TEAM_GENL_VERSION 0x1
-#define TEAM_GENL_CHANGE_EVENT_MC_GRP_NAME "change_event"
-
-#endif /* _LINUX_IF_TEAM_H_ */
diff --git a/linux-headers/include/linux/if_tun.h b/linux-headers/include/linux/if_tun.h
deleted file mode 100644
index d5ecb42..0000000
--- a/linux-headers/include/linux/if_tun.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Universal TUN/TAP device driver.
- * Copyright (C) 1999-2000 Maxim Krasnyansky <max_mk@yahoo.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#ifndef __IF_TUN_H
-#define __IF_TUN_H
-
-#include <linux/types.h>
-#include <linux/if_ether.h>
-#include <linux/filter.h>
-
-/* Read queue size */
-#define TUN_READQ_SIZE 500
-/* TUN device type flags: deprecated. Use IFF_TUN/IFF_TAP instead. */
-#define TUN_TUN_DEV IFF_TUN
-#define TUN_TAP_DEV IFF_TAP
-#define TUN_TYPE_MASK 0x000f
-
-/* Ioctl defines */
-#define TUNSETNOCSUM _IOW('T', 200, int)
-#define TUNSETDEBUG _IOW('T', 201, int)
-#define TUNSETIFF _IOW('T', 202, int)
-#define TUNSETPERSIST _IOW('T', 203, int)
-#define TUNSETOWNER _IOW('T', 204, int)
-#define TUNSETLINK _IOW('T', 205, int)
-#define TUNSETGROUP _IOW('T', 206, int)
-#define TUNGETFEATURES _IOR('T', 207, unsigned int)
-#define TUNSETOFFLOAD _IOW('T', 208, unsigned int)
-#define TUNSETTXFILTER _IOW('T', 209, unsigned int)
-#define TUNGETIFF _IOR('T', 210, unsigned int)
-#define TUNGETSNDBUF _IOR('T', 211, int)
-#define TUNSETSNDBUF _IOW('T', 212, int)
-#define TUNATTACHFILTER _IOW('T', 213, struct sock_fprog)
-#define TUNDETACHFILTER _IOW('T', 214, struct sock_fprog)
-#define TUNGETVNETHDRSZ _IOR('T', 215, int)
-#define TUNSETVNETHDRSZ _IOW('T', 216, int)
-#define TUNSETQUEUE _IOW('T', 217, int)
-#define TUNSETIFINDEX _IOW('T', 218, unsigned int)
-#define TUNGETFILTER _IOR('T', 219, struct sock_fprog)
-#define TUNSETVNETLE _IOW('T', 220, int)
-#define TUNGETVNETLE _IOR('T', 221, int)
-/* The TUNSETVNETBE and TUNGETVNETBE ioctls are for cross-endian support on
- * little-endian hosts. Not all kernel configurations support them, but all
- * configurations that support SET also support GET.
- */
-#define TUNSETVNETBE _IOW('T', 222, int)
-#define TUNGETVNETBE _IOR('T', 223, int)
-
-/* TUNSETIFF ifr flags */
-#define IFF_TUN 0x0001
-#define IFF_TAP 0x0002
-#define IFF_NO_PI 0x1000
-/* This flag has no real effect */
-#define IFF_ONE_QUEUE 0x2000
-#define IFF_VNET_HDR 0x4000
-#define IFF_TUN_EXCL 0x8000
-#define IFF_MULTI_QUEUE 0x0100
-#define IFF_ATTACH_QUEUE 0x0200
-#define IFF_DETACH_QUEUE 0x0400
-/* read-only flag */
-#define IFF_PERSIST 0x0800
-#define IFF_NOFILTER 0x1000
-
-/* Socket options */
-#define TUN_TX_TIMESTAMP 1
-
-/* Features for GSO (TUNSETOFFLOAD). */
-#define TUN_F_CSUM 0x01 /* You can hand me unchecksummed packets. */
-#define TUN_F_TSO4 0x02 /* I can handle TSO for IPv4 packets */
-#define TUN_F_TSO6 0x04 /* I can handle TSO for IPv6 packets */
-#define TUN_F_TSO_ECN 0x08 /* I can handle TSO with ECN bits. */
-#define TUN_F_UFO 0x10 /* I can handle UFO packets */
-
-/* Protocol info prepended to the packets (when IFF_NO_PI is not set) */
-#define TUN_PKT_STRIP 0x0001
-struct tun_pi {
- __u16 flags;
- __be16 proto;
-};
-
-/*
- * Filter spec (used for SETXXFILTER ioctls)
- * This stuff is applicable only to the TAP (Ethernet) devices.
- * If the count is zero the filter is disabled and the driver accepts
- * all packets (promisc mode).
- * If the filter is enabled in order to accept broadcast packets
- * broadcast addr must be explicitly included in the addr list.
- */
-#define TUN_FLT_ALLMULTI 0x0001 /* Accept all multicast packets */
-struct tun_filter {
- __u16 flags; /* TUN_FLT_ flags see above */
- __u16 count; /* Number of addresses */
- __u8 addr[0][ETH_ALEN];
-};
-
-#endif /* __IF_TUN_H */
diff --git a/linux-headers/include/linux/if_tunnel.h b/linux-headers/include/linux/if_tunnel.h
deleted file mode 100644
index f0201ca..0000000
--- a/linux-headers/include/linux/if_tunnel.h
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef _IF_TUNNEL_H_
-#define _IF_TUNNEL_H_
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-
-#define SIOCGETTUNNEL (SIOCDEVPRIVATE + 0)
-#define SIOCADDTUNNEL (SIOCDEVPRIVATE + 1)
-#define SIOCDELTUNNEL (SIOCDEVPRIVATE + 2)
-#define SIOCCHGTUNNEL (SIOCDEVPRIVATE + 3)
-#define SIOCGETPRL (SIOCDEVPRIVATE + 4)
-#define SIOCADDPRL (SIOCDEVPRIVATE + 5)
-#define SIOCDELPRL (SIOCDEVPRIVATE + 6)
-#define SIOCCHGPRL (SIOCDEVPRIVATE + 7)
-#define SIOCGET6RD (SIOCDEVPRIVATE + 8)
-#define SIOCADD6RD (SIOCDEVPRIVATE + 9)
-#define SIOCDEL6RD (SIOCDEVPRIVATE + 10)
-#define SIOCCHG6RD (SIOCDEVPRIVATE + 11)
-
-#define GRE_CSUM __cpu_to_be16(0x8000)
-#define GRE_ROUTING __cpu_to_be16(0x4000)
-#define GRE_KEY __cpu_to_be16(0x2000)
-#define GRE_SEQ __cpu_to_be16(0x1000)
-#define GRE_STRICT __cpu_to_be16(0x0800)
-#define GRE_REC __cpu_to_be16(0x0700)
-#define GRE_FLAGS __cpu_to_be16(0x00F8)
-#define GRE_VERSION __cpu_to_be16(0x0007)
-
-struct ip_tunnel_parm {
- char name[IFNAMSIZ];
- int link;
- __be16 i_flags;
- __be16 o_flags;
- __be32 i_key;
- __be32 o_key;
- struct iphdr iph;
-};
-
-enum {
- IFLA_IPTUN_UNSPEC,
- IFLA_IPTUN_LINK,
- IFLA_IPTUN_LOCAL,
- IFLA_IPTUN_REMOTE,
- IFLA_IPTUN_TTL,
- IFLA_IPTUN_TOS,
- IFLA_IPTUN_ENCAP_LIMIT,
- IFLA_IPTUN_FLOWINFO,
- IFLA_IPTUN_FLAGS,
- IFLA_IPTUN_PROTO,
- IFLA_IPTUN_PMTUDISC,
- IFLA_IPTUN_6RD_PREFIX,
- IFLA_IPTUN_6RD_RELAY_PREFIX,
- IFLA_IPTUN_6RD_PREFIXLEN,
- IFLA_IPTUN_6RD_RELAY_PREFIXLEN,
- IFLA_IPTUN_ENCAP_TYPE,
- IFLA_IPTUN_ENCAP_FLAGS,
- IFLA_IPTUN_ENCAP_SPORT,
- IFLA_IPTUN_ENCAP_DPORT,
- __IFLA_IPTUN_MAX,
-};
-#define IFLA_IPTUN_MAX (__IFLA_IPTUN_MAX - 1)
-
-enum tunnel_encap_types {
- TUNNEL_ENCAP_NONE,
- TUNNEL_ENCAP_FOU,
- TUNNEL_ENCAP_GUE,
-};
-
-#define TUNNEL_ENCAP_FLAG_CSUM (1<<0)
-#define TUNNEL_ENCAP_FLAG_CSUM6 (1<<1)
-#define TUNNEL_ENCAP_FLAG_REMCSUM (1<<2)
-
-/* SIT-mode i_flags */
-#define SIT_ISATAP 0x0001
-
-struct ip_tunnel_prl {
- __be32 addr;
- __u16 flags;
- __u16 __reserved;
- __u32 datalen;
- __u32 __reserved2;
- /* data follows */
-};
-
-/* PRL flags */
-#define PRL_DEFAULT 0x0001
-
-struct ip_tunnel_6rd {
- struct in6_addr prefix;
- __be32 relay_prefix;
- __u16 prefixlen;
- __u16 relay_prefixlen;
-};
-
-enum {
- IFLA_GRE_UNSPEC,
- IFLA_GRE_LINK,
- IFLA_GRE_IFLAGS,
- IFLA_GRE_OFLAGS,
- IFLA_GRE_IKEY,
- IFLA_GRE_OKEY,
- IFLA_GRE_LOCAL,
- IFLA_GRE_REMOTE,
- IFLA_GRE_TTL,
- IFLA_GRE_TOS,
- IFLA_GRE_PMTUDISC,
- IFLA_GRE_ENCAP_LIMIT,
- IFLA_GRE_FLOWINFO,
- IFLA_GRE_FLAGS,
- IFLA_GRE_ENCAP_TYPE,
- IFLA_GRE_ENCAP_FLAGS,
- IFLA_GRE_ENCAP_SPORT,
- IFLA_GRE_ENCAP_DPORT,
- IFLA_GRE_COLLECT_METADATA,
- __IFLA_GRE_MAX,
-};
-
-#define IFLA_GRE_MAX (__IFLA_GRE_MAX - 1)
-
-/* VTI-mode i_flags */
-#define VTI_ISVTI ((__be16)0x0001)
-
-enum {
- IFLA_VTI_UNSPEC,
- IFLA_VTI_LINK,
- IFLA_VTI_IKEY,
- IFLA_VTI_OKEY,
- IFLA_VTI_LOCAL,
- IFLA_VTI_REMOTE,
- __IFLA_VTI_MAX,
-};
-
-#define IFLA_VTI_MAX (__IFLA_VTI_MAX - 1)
-#endif /* _IF_TUNNEL_H_ */
diff --git a/linux-headers/include/linux/if_vlan.h b/linux-headers/include/linux/if_vlan.h
deleted file mode 100644
index 24ae007..0000000
--- a/linux-headers/include/linux/if_vlan.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * VLAN An implementation of 802.1Q VLAN tagging.
- *
- * Authors: Ben Greear <greearb@candelatech.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- */
-
-#ifndef _LINUX_IF_VLAN_H_
-#define _LINUX_IF_VLAN_H_
-
-
-/* VLAN IOCTLs are found in sockios.h */
-
-/* Passed in vlan_ioctl_args structure to determine behaviour. */
-enum vlan_ioctl_cmds {
- ADD_VLAN_CMD,
- DEL_VLAN_CMD,
- SET_VLAN_INGRESS_PRIORITY_CMD,
- SET_VLAN_EGRESS_PRIORITY_CMD,
- GET_VLAN_INGRESS_PRIORITY_CMD,
- GET_VLAN_EGRESS_PRIORITY_CMD,
- SET_VLAN_NAME_TYPE_CMD,
- SET_VLAN_FLAG_CMD,
- GET_VLAN_REALDEV_NAME_CMD, /* If this works, you know it's a VLAN device, btw */
- GET_VLAN_VID_CMD /* Get the VID of this VLAN (specified by name) */
-};
-
-enum vlan_flags {
- VLAN_FLAG_REORDER_HDR = 0x1,
- VLAN_FLAG_GVRP = 0x2,
- VLAN_FLAG_LOOSE_BINDING = 0x4,
- VLAN_FLAG_MVRP = 0x8,
-};
-
-enum vlan_name_types {
- VLAN_NAME_TYPE_PLUS_VID, /* Name will look like: vlan0005 */
- VLAN_NAME_TYPE_RAW_PLUS_VID, /* name will look like: eth1.0005 */
- VLAN_NAME_TYPE_PLUS_VID_NO_PAD, /* Name will look like: vlan5 */
- VLAN_NAME_TYPE_RAW_PLUS_VID_NO_PAD, /* Name will look like: eth0.5 */
- VLAN_NAME_TYPE_HIGHEST
-};
-
-struct vlan_ioctl_args {
- int cmd; /* Should be one of the vlan_ioctl_cmds enum above. */
- char device1[24];
-
- union {
- char device2[24];
- int VID;
- unsigned int skb_priority;
- unsigned int name_type;
- unsigned int bind_type;
- unsigned int flag; /* Matches vlan_dev_priv flags */
- } u;
-
- short vlan_qos;
-};
-
-#endif /* _LINUX_IF_VLAN_H_ */
diff --git a/linux-headers/include/linux/if_x25.h b/linux-headers/include/linux/if_x25.h
deleted file mode 100644
index 897765f..0000000
--- a/linux-headers/include/linux/if_x25.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Linux X.25 packet to device interface
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#ifndef _IF_X25_H
-#define _IF_X25_H
-
-#include <linux/types.h>
-
-/* Documentation/networking/x25-iface.txt */
-#define X25_IFACE_DATA 0x00
-#define X25_IFACE_CONNECT 0x01
-#define X25_IFACE_DISCONNECT 0x02
-#define X25_IFACE_PARAMS 0x03
-
-#endif /* _IF_X25_H */
diff --git a/linux-headers/include/linux/igmp.h b/linux-headers/include/linux/igmp.h
deleted file mode 100644
index 2ead5c5..0000000
--- a/linux-headers/include/linux/igmp.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Linux NET3: Internet Group Management Protocol [IGMP]
- *
- * Authors:
- * Alan Cox <alan@lxorguk.ukuu.org.uk>
- *
- * Extended to talk the BSD extended IGMP protocol of mrouted 3.6
- *
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_IGMP_H
-#define _LINUX_IGMP_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-/*
- * IGMP protocol structures
- */
-
-/*
- * Header in on cable format
- */
-
-struct igmphdr {
- __u8 type;
- __u8 code; /* For newer IGMP */
- __sum16 csum;
- __be32 group;
-};
-
-/* V3 group record types [grec_type] */
-#define IGMPV3_MODE_IS_INCLUDE 1
-#define IGMPV3_MODE_IS_EXCLUDE 2
-#define IGMPV3_CHANGE_TO_INCLUDE 3
-#define IGMPV3_CHANGE_TO_EXCLUDE 4
-#define IGMPV3_ALLOW_NEW_SOURCES 5
-#define IGMPV3_BLOCK_OLD_SOURCES 6
-
-struct igmpv3_grec {
- __u8 grec_type;
- __u8 grec_auxwords;
- __be16 grec_nsrcs;
- __be32 grec_mca;
- __be32 grec_src[0];
-};
-
-struct igmpv3_report {
- __u8 type;
- __u8 resv1;
- __be16 csum;
- __be16 resv2;
- __be16 ngrec;
- struct igmpv3_grec grec[0];
-};
-
-struct igmpv3_query {
- __u8 type;
- __u8 code;
- __be16 csum;
- __be32 group;
-#if defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 qrv:3,
- suppress:1,
- resv:4;
-#elif defined(__BIG_ENDIAN_BITFIELD)
- __u8 resv:4,
- suppress:1,
- qrv:3;
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
- __u8 qqic;
- __be16 nsrcs;
- __be32 srcs[0];
-};
-
-#define IGMP_HOST_MEMBERSHIP_QUERY 0x11 /* From RFC1112 */
-#define IGMP_HOST_MEMBERSHIP_REPORT 0x12 /* Ditto */
-#define IGMP_DVMRP 0x13 /* DVMRP routing */
-#define IGMP_PIM 0x14 /* PIM routing */
-#define IGMP_TRACE 0x15
-#define IGMPV2_HOST_MEMBERSHIP_REPORT 0x16 /* V2 version of 0x12 */
-#define IGMP_HOST_LEAVE_MESSAGE 0x17
-#define IGMPV3_HOST_MEMBERSHIP_REPORT 0x22 /* V3 version of 0x12 */
-
-#define IGMP_MTRACE_RESP 0x1e
-#define IGMP_MTRACE 0x1f
-
-
-/*
- * Use the BSD names for these for compatibility
- */
-
-#define IGMP_DELAYING_MEMBER 0x01
-#define IGMP_IDLE_MEMBER 0x02
-#define IGMP_LAZY_MEMBER 0x03
-#define IGMP_SLEEPING_MEMBER 0x04
-#define IGMP_AWAKENING_MEMBER 0x05
-
-#define IGMP_MINLEN 8
-
-#define IGMP_MAX_HOST_REPORT_DELAY 10 /* max delay for response to */
- /* query (in seconds) */
-
-#define IGMP_TIMER_SCALE 10 /* denotes that the igmphdr->timer field */
- /* specifies time in 10th of seconds */
-
-#define IGMP_AGE_THRESHOLD 400 /* If this host don't hear any IGMP V1 */
- /* message in this period of time, */
- /* revert to IGMP v2 router. */
-
-#define IGMP_ALL_HOSTS htonl(0xE0000001L)
-#define IGMP_ALL_ROUTER htonl(0xE0000002L)
-#define IGMPV3_ALL_MCR htonl(0xE0000016L)
-#define IGMP_LOCAL_GROUP htonl(0xE0000000L)
-#define IGMP_LOCAL_GROUP_MASK htonl(0xFFFFFF00L)
-
-/*
- * struct for keeping the multicast list in
- */
-
-#endif /* _LINUX_IGMP_H */
diff --git a/linux-headers/include/linux/iio/events.h b/linux-headers/include/linux/iio/events.h
deleted file mode 100644
index edfcaf0..0000000
--- a/linux-headers/include/linux/iio/events.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* The industrial I/O - event passing to userspace
- *
- * Copyright (c) 2008-2011 Jonathan Cameron
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- */
-#ifndef _IIO_EVENTS_H_
-#define _IIO_EVENTS_H_
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/**
- * struct iio_event_data - The actual event being pushed to userspace
- * @id: event identifier
- * @timestamp: best estimate of time of event occurrence (often from
- * the interrupt handler)
- */
-struct iio_event_data {
- __u64 id;
- __s64 timestamp;
-};
-
-#define IIO_GET_EVENT_FD_IOCTL _IOR('i', 0x90, int)
-
-#define IIO_EVENT_CODE_EXTRACT_TYPE(mask) ((mask >> 56) & 0xFF)
-
-#define IIO_EVENT_CODE_EXTRACT_DIR(mask) ((mask >> 48) & 0x7F)
-
-#define IIO_EVENT_CODE_EXTRACT_CHAN_TYPE(mask) ((mask >> 32) & 0xFF)
-
-/* Event code number extraction depends on which type of event we have.
- * Perhaps review this function in the future*/
-#define IIO_EVENT_CODE_EXTRACT_CHAN(mask) ((__s16)(mask & 0xFFFF))
-#define IIO_EVENT_CODE_EXTRACT_CHAN2(mask) ((__s16)(((mask) >> 16) & 0xFFFF))
-
-#define IIO_EVENT_CODE_EXTRACT_MODIFIER(mask) ((mask >> 40) & 0xFF)
-#define IIO_EVENT_CODE_EXTRACT_DIFF(mask) (((mask) >> 55) & 0x1)
-
-#endif /* _IIO_EVENTS_H_ */
diff --git a/linux-headers/include/linux/iio/types.h b/linux-headers/include/linux/iio/types.h
deleted file mode 100644
index ed497db..0000000
--- a/linux-headers/include/linux/iio/types.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/* industrial I/O data types needed both in and out of kernel
- *
- * Copyright (c) 2008 Jonathan Cameron
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- */
-
-#ifndef _IIO_TYPES_H_
-#define _IIO_TYPES_H_
-
-enum iio_chan_type {
- IIO_VOLTAGE,
- IIO_CURRENT,
- IIO_POWER,
- IIO_ACCEL,
- IIO_ANGL_VEL,
- IIO_MAGN,
- IIO_LIGHT,
- IIO_INTENSITY,
- IIO_PROXIMITY,
- IIO_TEMP,
- IIO_INCLI,
- IIO_ROT,
- IIO_ANGL,
- IIO_TIMESTAMP,
- IIO_CAPACITANCE,
- IIO_ALTVOLTAGE,
- IIO_CCT,
- IIO_PRESSURE,
- IIO_HUMIDITYRELATIVE,
- IIO_ACTIVITY,
- IIO_STEPS,
- IIO_ENERGY,
- IIO_DISTANCE,
- IIO_VELOCITY,
- IIO_CONCENTRATION,
- IIO_RESISTANCE,
- IIO_PH,
-};
-
-enum iio_modifier {
- IIO_NO_MOD,
- IIO_MOD_X,
- IIO_MOD_Y,
- IIO_MOD_Z,
- IIO_MOD_X_AND_Y,
- IIO_MOD_X_AND_Z,
- IIO_MOD_Y_AND_Z,
- IIO_MOD_X_AND_Y_AND_Z,
- IIO_MOD_X_OR_Y,
- IIO_MOD_X_OR_Z,
- IIO_MOD_Y_OR_Z,
- IIO_MOD_X_OR_Y_OR_Z,
- IIO_MOD_LIGHT_BOTH,
- IIO_MOD_LIGHT_IR,
- IIO_MOD_ROOT_SUM_SQUARED_X_Y,
- IIO_MOD_SUM_SQUARED_X_Y_Z,
- IIO_MOD_LIGHT_CLEAR,
- IIO_MOD_LIGHT_RED,
- IIO_MOD_LIGHT_GREEN,
- IIO_MOD_LIGHT_BLUE,
- IIO_MOD_QUATERNION,
- IIO_MOD_TEMP_AMBIENT,
- IIO_MOD_TEMP_OBJECT,
- IIO_MOD_NORTH_MAGN,
- IIO_MOD_NORTH_TRUE,
- IIO_MOD_NORTH_MAGN_TILT_COMP,
- IIO_MOD_NORTH_TRUE_TILT_COMP,
- IIO_MOD_RUNNING,
- IIO_MOD_JOGGING,
- IIO_MOD_WALKING,
- IIO_MOD_STILL,
- IIO_MOD_ROOT_SUM_SQUARED_X_Y_Z,
- IIO_MOD_I,
- IIO_MOD_Q,
- IIO_MOD_CO2,
- IIO_MOD_VOC,
-};
-
-enum iio_event_type {
- IIO_EV_TYPE_THRESH,
- IIO_EV_TYPE_MAG,
- IIO_EV_TYPE_ROC,
- IIO_EV_TYPE_THRESH_ADAPTIVE,
- IIO_EV_TYPE_MAG_ADAPTIVE,
- IIO_EV_TYPE_CHANGE,
-};
-
-enum iio_event_direction {
- IIO_EV_DIR_EITHER,
- IIO_EV_DIR_RISING,
- IIO_EV_DIR_FALLING,
- IIO_EV_DIR_NONE,
-};
-
-#endif /* _IIO_TYPES_H_ */
-
diff --git a/linux-headers/include/linux/ila.h b/linux-headers/include/linux/ila.h
deleted file mode 100644
index 4f9e1de..0000000
--- a/linux-headers/include/linux/ila.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* ila.h - ILA Interface */
-
-#ifndef _LINUX_ILA_H
-#define _LINUX_ILA_H
-
-/* NETLINK_GENERIC related info */
-#define ILA_GENL_NAME "ila"
-#define ILA_GENL_VERSION 0x1
-
-enum {
- ILA_ATTR_UNSPEC,
- ILA_ATTR_LOCATOR, /* u64 */
- ILA_ATTR_IDENTIFIER, /* u64 */
- ILA_ATTR_LOCATOR_MATCH, /* u64 */
- ILA_ATTR_IFINDEX, /* s32 */
- ILA_ATTR_DIR, /* u32 */
-
- __ILA_ATTR_MAX,
-};
-
-#define ILA_ATTR_MAX (__ILA_ATTR_MAX - 1)
-
-enum {
- ILA_CMD_UNSPEC,
- ILA_CMD_ADD,
- ILA_CMD_DEL,
- ILA_CMD_GET,
-
- __ILA_CMD_MAX,
-};
-
-#define ILA_CMD_MAX (__ILA_CMD_MAX - 1)
-
-#define ILA_DIR_IN (1 << 0)
-#define ILA_DIR_OUT (1 << 1)
-
-#endif /* _LINUX_ILA_H */
diff --git a/linux-headers/include/linux/in.h b/linux-headers/include/linux/in.h
deleted file mode 100644
index 194b43b..0000000
--- a/linux-headers/include/linux/in.h
+++ /dev/null
@@ -1,299 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions of the Internet Protocol.
- *
- * Version: @(#)in.h 1.0.1 04/21/93
- *
- * Authors: Original taken from the GNU Project <netinet/in.h> file.
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IN_H
-#define _LINUX_IN_H
-
-#include <linux/types.h>
-#include <linux/libc-compat.h>
-#include <linux/socket.h>
-
-#if __UAPI_DEF_IN_IPPROTO
-/* Standard well-defined IP protocols. */
-enum {
- IPPROTO_IP = 0, /* Dummy protocol for TCP */
-#define IPPROTO_IP IPPROTO_IP
- IPPROTO_ICMP = 1, /* Internet Control Message Protocol */
-#define IPPROTO_ICMP IPPROTO_ICMP
- IPPROTO_IGMP = 2, /* Internet Group Management Protocol */
-#define IPPROTO_IGMP IPPROTO_IGMP
- IPPROTO_IPIP = 4, /* IPIP tunnels (older KA9Q tunnels use 94) */
-#define IPPROTO_IPIP IPPROTO_IPIP
- IPPROTO_TCP = 6, /* Transmission Control Protocol */
-#define IPPROTO_TCP IPPROTO_TCP
- IPPROTO_EGP = 8, /* Exterior Gateway Protocol */
-#define IPPROTO_EGP IPPROTO_EGP
- IPPROTO_PUP = 12, /* PUP protocol */
-#define IPPROTO_PUP IPPROTO_PUP
- IPPROTO_UDP = 17, /* User Datagram Protocol */
-#define IPPROTO_UDP IPPROTO_UDP
- IPPROTO_IDP = 22, /* XNS IDP protocol */
-#define IPPROTO_IDP IPPROTO_IDP
- IPPROTO_TP = 29, /* SO Transport Protocol Class 4 */
-#define IPPROTO_TP IPPROTO_TP
- IPPROTO_DCCP = 33, /* Datagram Congestion Control Protocol */
-#define IPPROTO_DCCP IPPROTO_DCCP
- IPPROTO_IPV6 = 41, /* IPv6-in-IPv4 tunnelling */
-#define IPPROTO_IPV6 IPPROTO_IPV6
- IPPROTO_RSVP = 46, /* RSVP Protocol */
-#define IPPROTO_RSVP IPPROTO_RSVP
- IPPROTO_GRE = 47, /* Cisco GRE tunnels (rfc 1701,1702) */
-#define IPPROTO_GRE IPPROTO_GRE
- IPPROTO_ESP = 50, /* Encapsulation Security Payload protocol */
-#define IPPROTO_ESP IPPROTO_ESP
- IPPROTO_AH = 51, /* Authentication Header protocol */
-#define IPPROTO_AH IPPROTO_AH
- IPPROTO_MTP = 92, /* Multicast Transport Protocol */
-#define IPPROTO_MTP IPPROTO_MTP
- IPPROTO_BEETPH = 94, /* IP option pseudo header for BEET */
-#define IPPROTO_BEETPH IPPROTO_BEETPH
- IPPROTO_ENCAP = 98, /* Encapsulation Header */
-#define IPPROTO_ENCAP IPPROTO_ENCAP
- IPPROTO_PIM = 103, /* Protocol Independent Multicast */
-#define IPPROTO_PIM IPPROTO_PIM
- IPPROTO_COMP = 108, /* Compression Header Protocol */
-#define IPPROTO_COMP IPPROTO_COMP
- IPPROTO_SCTP = 132, /* Stream Control Transport Protocol */
-#define IPPROTO_SCTP IPPROTO_SCTP
- IPPROTO_UDPLITE = 136, /* UDP-Lite (RFC 3828) */
-#define IPPROTO_UDPLITE IPPROTO_UDPLITE
- IPPROTO_MPLS = 137, /* MPLS in IP (RFC 4023) */
-#define IPPROTO_MPLS IPPROTO_MPLS
- IPPROTO_RAW = 255, /* Raw IP packets */
-#define IPPROTO_RAW IPPROTO_RAW
- IPPROTO_MAX
-};
-#endif
-
-#if __UAPI_DEF_IN_ADDR
-/* Internet address. */
-struct in_addr {
- __be32 s_addr;
-};
-#endif
-
-#define IP_TOS 1
-#define IP_TTL 2
-#define IP_HDRINCL 3
-#define IP_OPTIONS 4
-#define IP_ROUTER_ALERT 5
-#define IP_RECVOPTS 6
-#define IP_RETOPTS 7
-#define IP_PKTINFO 8
-#define IP_PKTOPTIONS 9
-#define IP_MTU_DISCOVER 10
-#define IP_RECVERR 11
-#define IP_RECVTTL 12
-#define IP_RECVTOS 13
-#define IP_MTU 14
-#define IP_FREEBIND 15
-#define IP_IPSEC_POLICY 16
-#define IP_XFRM_POLICY 17
-#define IP_PASSSEC 18
-#define IP_TRANSPARENT 19
-
-/* BSD compatibility */
-#define IP_RECVRETOPTS IP_RETOPTS
-
-/* TProxy original addresses */
-#define IP_ORIGDSTADDR 20
-#define IP_RECVORIGDSTADDR IP_ORIGDSTADDR
-
-#define IP_MINTTL 21
-#define IP_NODEFRAG 22
-#define IP_CHECKSUM 23
-#define IP_BIND_ADDRESS_NO_PORT 24
-
-/* IP_MTU_DISCOVER values */
-#define IP_PMTUDISC_DONT 0 /* Never send DF frames */
-#define IP_PMTUDISC_WANT 1 /* Use per route hints */
-#define IP_PMTUDISC_DO 2 /* Always DF */
-#define IP_PMTUDISC_PROBE 3 /* Ignore dst pmtu */
-/* Always use interface mtu (ignores dst pmtu) but don't set DF flag.
- * Also incoming ICMP frag_needed notifications will be ignored on
- * this socket to prevent accepting spoofed ones.
- */
-#define IP_PMTUDISC_INTERFACE 4
-/* weaker version of IP_PMTUDISC_INTERFACE, which allos packets to get
- * fragmented if they exeed the interface mtu
- */
-#define IP_PMTUDISC_OMIT 5
-
-#define IP_MULTICAST_IF 32
-#define IP_MULTICAST_TTL 33
-#define IP_MULTICAST_LOOP 34
-#define IP_ADD_MEMBERSHIP 35
-#define IP_DROP_MEMBERSHIP 36
-#define IP_UNBLOCK_SOURCE 37
-#define IP_BLOCK_SOURCE 38
-#define IP_ADD_SOURCE_MEMBERSHIP 39
-#define IP_DROP_SOURCE_MEMBERSHIP 40
-#define IP_MSFILTER 41
-#define MCAST_JOIN_GROUP 42
-#define MCAST_BLOCK_SOURCE 43
-#define MCAST_UNBLOCK_SOURCE 44
-#define MCAST_LEAVE_GROUP 45
-#define MCAST_JOIN_SOURCE_GROUP 46
-#define MCAST_LEAVE_SOURCE_GROUP 47
-#define MCAST_MSFILTER 48
-#define IP_MULTICAST_ALL 49
-#define IP_UNICAST_IF 50
-
-#define MCAST_EXCLUDE 0
-#define MCAST_INCLUDE 1
-
-/* These need to appear somewhere around here */
-#define IP_DEFAULT_MULTICAST_TTL 1
-#define IP_DEFAULT_MULTICAST_LOOP 1
-
-/* Request struct for multicast socket ops */
-
-#if __UAPI_DEF_IP_MREQ
-struct ip_mreq {
- struct in_addr imr_multiaddr; /* IP multicast address of group */
- struct in_addr imr_interface; /* local IP address of interface */
-};
-
-struct ip_mreqn {
- struct in_addr imr_multiaddr; /* IP multicast address of group */
- struct in_addr imr_address; /* local IP address of interface */
- int imr_ifindex; /* Interface index */
-};
-
-struct ip_mreq_source {
- __be32 imr_multiaddr;
- __be32 imr_interface;
- __be32 imr_sourceaddr;
-};
-
-struct ip_msfilter {
- __be32 imsf_multiaddr;
- __be32 imsf_interface;
- __u32 imsf_fmode;
- __u32 imsf_numsrc;
- __be32 imsf_slist[1];
-};
-
-#define IP_MSFILTER_SIZE(numsrc) \
- (sizeof(struct ip_msfilter) - sizeof(__u32) \
- + (numsrc) * sizeof(__u32))
-
-struct group_req {
- __u32 gr_interface; /* interface index */
- struct __kernel_sockaddr_storage gr_group; /* group address */
-};
-
-struct group_source_req {
- __u32 gsr_interface; /* interface index */
- struct __kernel_sockaddr_storage gsr_group; /* group address */
- struct __kernel_sockaddr_storage gsr_source; /* source address */
-};
-
-struct group_filter {
- __u32 gf_interface; /* interface index */
- struct __kernel_sockaddr_storage gf_group; /* multicast address */
- __u32 gf_fmode; /* filter mode */
- __u32 gf_numsrc; /* number of sources */
- struct __kernel_sockaddr_storage gf_slist[1]; /* interface index */
-};
-
-#define GROUP_FILTER_SIZE(numsrc) \
- (sizeof(struct group_filter) - sizeof(struct __kernel_sockaddr_storage) \
- + (numsrc) * sizeof(struct __kernel_sockaddr_storage))
-#endif
-
-#if __UAPI_DEF_IN_PKTINFO
-struct in_pktinfo {
- int ipi_ifindex;
- struct in_addr ipi_spec_dst;
- struct in_addr ipi_addr;
-};
-#endif
-
-/* Structure describing an Internet (IP) socket address. */
-#if __UAPI_DEF_SOCKADDR_IN
-#define __SOCK_SIZE__ 16 /* sizeof(struct sockaddr) */
-struct sockaddr_in {
- __kernel_sa_family_t sin_family; /* Address family */
- __be16 sin_port; /* Port number */
- struct in_addr sin_addr; /* Internet address */
-
- /* Pad to size of `struct sockaddr'. */
- unsigned char __pad[__SOCK_SIZE__ - sizeof(short int) -
- sizeof(unsigned short int) - sizeof(struct in_addr)];
-};
-#define sin_zero __pad /* for BSD UNIX comp. -FvK */
-#endif
-
-#if __UAPI_DEF_IN_CLASS
-/*
- * Definitions of the bits in an Internet address integer.
- * On subnets, host and network parts are found according
- * to the subnet mask, not these masks.
- */
-#define IN_CLASSA(a) ((((long int) (a)) & 0x80000000) == 0)
-#define IN_CLASSA_NET 0xff000000
-#define IN_CLASSA_NSHIFT 24
-#define IN_CLASSA_HOST (0xffffffff & ~IN_CLASSA_NET)
-#define IN_CLASSA_MAX 128
-
-#define IN_CLASSB(a) ((((long int) (a)) & 0xc0000000) == 0x80000000)
-#define IN_CLASSB_NET 0xffff0000
-#define IN_CLASSB_NSHIFT 16
-#define IN_CLASSB_HOST (0xffffffff & ~IN_CLASSB_NET)
-#define IN_CLASSB_MAX 65536
-
-#define IN_CLASSC(a) ((((long int) (a)) & 0xe0000000) == 0xc0000000)
-#define IN_CLASSC_NET 0xffffff00
-#define IN_CLASSC_NSHIFT 8
-#define IN_CLASSC_HOST (0xffffffff & ~IN_CLASSC_NET)
-
-#define IN_CLASSD(a) ((((long int) (a)) & 0xf0000000) == 0xe0000000)
-#define IN_MULTICAST(a) IN_CLASSD(a)
-#define IN_MULTICAST_NET 0xF0000000
-
-#define IN_EXPERIMENTAL(a) ((((long int) (a)) & 0xf0000000) == 0xf0000000)
-#define IN_BADCLASS(a) IN_EXPERIMENTAL((a))
-
-/* Address to accept any incoming messages. */
-#define INADDR_ANY ((unsigned long int) 0x00000000)
-
-/* Address to send to all hosts. */
-#define INADDR_BROADCAST ((unsigned long int) 0xffffffff)
-
-/* Address indicating an error return. */
-#define INADDR_NONE ((unsigned long int) 0xffffffff)
-
-/* Network number for local host loopback. */
-#define IN_LOOPBACKNET 127
-
-/* Address to loopback in software to local host. */
-#define INADDR_LOOPBACK 0x7f000001 /* 127.0.0.1 */
-#define IN_LOOPBACK(a) ((((long int) (a)) & 0xff000000) == 0x7f000000)
-
-/* Defines for Multicast INADDR */
-#define INADDR_UNSPEC_GROUP 0xe0000000U /* 224.0.0.0 */
-#define INADDR_ALLHOSTS_GROUP 0xe0000001U /* 224.0.0.1 */
-#define INADDR_ALLRTRS_GROUP 0xe0000002U /* 224.0.0.2 */
-#define INADDR_MAX_LOCAL_GROUP 0xe00000ffU /* 224.0.0.255 */
-#endif
-
-/* <asm/byteorder.h> contains the htonl type stuff.. */
-#include <asm/byteorder.h>
-
-
-#endif /* _LINUX_IN_H */
diff --git a/linux-headers/include/linux/in6.h b/linux-headers/include/linux/in6.h
deleted file mode 100644
index aa5b66d..0000000
--- a/linux-headers/include/linux/in6.h
+++ /dev/null
@@ -1,294 +0,0 @@
-/*
- * Types and definitions for AF_INET6
- * Linux INET6 implementation
- *
- * Authors:
- * Pedro Roque <roque@di.fc.ul.pt>
- *
- * Sources:
- * IPv6 Program Interfaces for BSD Systems
- * <draft-ietf-ipngwg-bsd-api-05.txt>
- *
- * Advanced Sockets API for IPv6
- * <draft-stevens-advanced-api-00.txt>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_IN6_H
-#define _LINUX_IN6_H
-
-#include <linux/types.h>
-#include <linux/libc-compat.h>
-
-/*
- * IPv6 address structure
- */
-
-#if __UAPI_DEF_IN6_ADDR
-struct in6_addr {
- union {
- __u8 u6_addr8[16];
-#if __UAPI_DEF_IN6_ADDR_ALT
- __be16 u6_addr16[8];
- __be32 u6_addr32[4];
-#endif
- } in6_u;
-#define s6_addr in6_u.u6_addr8
-#if __UAPI_DEF_IN6_ADDR_ALT
-#define s6_addr16 in6_u.u6_addr16
-#define s6_addr32 in6_u.u6_addr32
-#endif
-};
-#endif /* __UAPI_DEF_IN6_ADDR */
-
-#if __UAPI_DEF_SOCKADDR_IN6
-struct sockaddr_in6 {
- unsigned short int sin6_family; /* AF_INET6 */
- __be16 sin6_port; /* Transport layer port # */
- __be32 sin6_flowinfo; /* IPv6 flow information */
- struct in6_addr sin6_addr; /* IPv6 address */
- __u32 sin6_scope_id; /* scope id (new in RFC2553) */
-};
-#endif /* __UAPI_DEF_SOCKADDR_IN6 */
-
-#if __UAPI_DEF_IPV6_MREQ
-struct ipv6_mreq {
- /* IPv6 multicast address of group */
- struct in6_addr ipv6mr_multiaddr;
-
- /* local IPv6 address of interface */
- int ipv6mr_ifindex;
-};
-#endif /* __UAPI_DEF_IVP6_MREQ */
-
-#define ipv6mr_acaddr ipv6mr_multiaddr
-
-struct in6_flowlabel_req {
- struct in6_addr flr_dst;
- __be32 flr_label;
- __u8 flr_action;
- __u8 flr_share;
- __u16 flr_flags;
- __u16 flr_expires;
- __u16 flr_linger;
- __u32 __flr_pad;
- /* Options in format of IPV6_PKTOPTIONS */
-};
-
-#define IPV6_FL_A_GET 0
-#define IPV6_FL_A_PUT 1
-#define IPV6_FL_A_RENEW 2
-
-#define IPV6_FL_F_CREATE 1
-#define IPV6_FL_F_EXCL 2
-#define IPV6_FL_F_REFLECT 4
-#define IPV6_FL_F_REMOTE 8
-
-#define IPV6_FL_S_NONE 0
-#define IPV6_FL_S_EXCL 1
-#define IPV6_FL_S_PROCESS 2
-#define IPV6_FL_S_USER 3
-#define IPV6_FL_S_ANY 255
-
-
-/*
- * Bitmask constant declarations to help applications select out the
- * flow label and priority fields.
- *
- * Note that this are in host byte order while the flowinfo field of
- * sockaddr_in6 is in network byte order.
- */
-
-#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff
-#define IPV6_FLOWINFO_PRIORITY 0x0ff00000
-
-/* These definitions are obsolete */
-#define IPV6_PRIORITY_UNCHARACTERIZED 0x0000
-#define IPV6_PRIORITY_FILLER 0x0100
-#define IPV6_PRIORITY_UNATTENDED 0x0200
-#define IPV6_PRIORITY_RESERVED1 0x0300
-#define IPV6_PRIORITY_BULK 0x0400
-#define IPV6_PRIORITY_RESERVED2 0x0500
-#define IPV6_PRIORITY_INTERACTIVE 0x0600
-#define IPV6_PRIORITY_CONTROL 0x0700
-#define IPV6_PRIORITY_8 0x0800
-#define IPV6_PRIORITY_9 0x0900
-#define IPV6_PRIORITY_10 0x0a00
-#define IPV6_PRIORITY_11 0x0b00
-#define IPV6_PRIORITY_12 0x0c00
-#define IPV6_PRIORITY_13 0x0d00
-#define IPV6_PRIORITY_14 0x0e00
-#define IPV6_PRIORITY_15 0x0f00
-
-/*
- * IPV6 extension headers
- */
-#if __UAPI_DEF_IPPROTO_V6
-#define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */
-#define IPPROTO_ROUTING 43 /* IPv6 routing header */
-#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */
-#define IPPROTO_ICMPV6 58 /* ICMPv6 */
-#define IPPROTO_NONE 59 /* IPv6 no next header */
-#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */
-#define IPPROTO_MH 135 /* IPv6 mobility header */
-#endif /* __UAPI_DEF_IPPROTO_V6 */
-
-/*
- * IPv6 TLV options.
- */
-#define IPV6_TLV_PAD1 0
-#define IPV6_TLV_PADN 1
-#define IPV6_TLV_ROUTERALERT 5
-#define IPV6_TLV_JUMBO 194
-#define IPV6_TLV_HAO 201 /* home address option */
-
-/*
- * IPV6 socket options
- */
-#if __UAPI_DEF_IPV6_OPTIONS
-#define IPV6_ADDRFORM 1
-#define IPV6_2292PKTINFO 2
-#define IPV6_2292HOPOPTS 3
-#define IPV6_2292DSTOPTS 4
-#define IPV6_2292RTHDR 5
-#define IPV6_2292PKTOPTIONS 6
-#define IPV6_CHECKSUM 7
-#define IPV6_2292HOPLIMIT 8
-#define IPV6_NEXTHOP 9
-#define IPV6_AUTHHDR 10 /* obsolete */
-#define IPV6_FLOWINFO 11
-
-#define IPV6_UNICAST_HOPS 16
-#define IPV6_MULTICAST_IF 17
-#define IPV6_MULTICAST_HOPS 18
-#define IPV6_MULTICAST_LOOP 19
-#define IPV6_ADD_MEMBERSHIP 20
-#define IPV6_DROP_MEMBERSHIP 21
-#define IPV6_ROUTER_ALERT 22
-#define IPV6_MTU_DISCOVER 23
-#define IPV6_MTU 24
-#define IPV6_RECVERR 25
-#define IPV6_V6ONLY 26
-#define IPV6_JOIN_ANYCAST 27
-#define IPV6_LEAVE_ANYCAST 28
-
-/* IPV6_MTU_DISCOVER values */
-#define IPV6_PMTUDISC_DONT 0
-#define IPV6_PMTUDISC_WANT 1
-#define IPV6_PMTUDISC_DO 2
-#define IPV6_PMTUDISC_PROBE 3
-/* same as IPV6_PMTUDISC_PROBE, provided for symetry with IPv4
- * also see comments on IP_PMTUDISC_INTERFACE
- */
-#define IPV6_PMTUDISC_INTERFACE 4
-/* weaker version of IPV6_PMTUDISC_INTERFACE, which allows packets to
- * get fragmented if they exceed the interface mtu
- */
-#define IPV6_PMTUDISC_OMIT 5
-
-/* Flowlabel */
-#define IPV6_FLOWLABEL_MGR 32
-#define IPV6_FLOWINFO_SEND 33
-
-#define IPV6_IPSEC_POLICY 34
-#define IPV6_XFRM_POLICY 35
-#define IPV6_HDRINCL 36
-#endif
-
-/*
- * Multicast:
- * Following socket options are shared between IPv4 and IPv6.
- *
- * MCAST_JOIN_GROUP 42
- * MCAST_BLOCK_SOURCE 43
- * MCAST_UNBLOCK_SOURCE 44
- * MCAST_LEAVE_GROUP 45
- * MCAST_JOIN_SOURCE_GROUP 46
- * MCAST_LEAVE_SOURCE_GROUP 47
- * MCAST_MSFILTER 48
- */
-
-/*
- * Advanced API (RFC3542) (1)
- *
- * Note: IPV6_RECVRTHDRDSTOPTS does not exist. see net/ipv6/datagram.c.
- */
-
-#define IPV6_RECVPKTINFO 49
-#define IPV6_PKTINFO 50
-#define IPV6_RECVHOPLIMIT 51
-#define IPV6_HOPLIMIT 52
-#define IPV6_RECVHOPOPTS 53
-#define IPV6_HOPOPTS 54
-#define IPV6_RTHDRDSTOPTS 55
-#define IPV6_RECVRTHDR 56
-#define IPV6_RTHDR 57
-#define IPV6_RECVDSTOPTS 58
-#define IPV6_DSTOPTS 59
-#define IPV6_RECVPATHMTU 60
-#define IPV6_PATHMTU 61
-#define IPV6_DONTFRAG 62
-#if 0 /* not yet */
-#define IPV6_USE_MIN_MTU 63
-#endif
-
-/*
- * Netfilter (1)
- *
- * Following socket options are used in ip6_tables;
- * see include/linux/netfilter_ipv6/ip6_tables.h.
- *
- * IP6T_SO_SET_REPLACE / IP6T_SO_GET_INFO 64
- * IP6T_SO_SET_ADD_COUNTERS / IP6T_SO_GET_ENTRIES 65
- */
-
-/*
- * Advanced API (RFC3542) (2)
- */
-#define IPV6_RECVTCLASS 66
-#define IPV6_TCLASS 67
-
-/*
- * Netfilter (2)
- *
- * Following socket options are used in ip6_tables;
- * see include/linux/netfilter_ipv6/ip6_tables.h.
- *
- * IP6T_SO_GET_REVISION_MATCH 68
- * IP6T_SO_GET_REVISION_TARGET 69
- * IP6T_SO_ORIGINAL_DST 80
- */
-
-#define IPV6_AUTOFLOWLABEL 70
-/* RFC5014: Source address selection */
-#define IPV6_ADDR_PREFERENCES 72
-
-#define IPV6_PREFER_SRC_TMP 0x0001
-#define IPV6_PREFER_SRC_PUBLIC 0x0002
-#define IPV6_PREFER_SRC_PUBTMP_DEFAULT 0x0100
-#define IPV6_PREFER_SRC_COA 0x0004
-#define IPV6_PREFER_SRC_HOME 0x0400
-#define IPV6_PREFER_SRC_CGA 0x0008
-#define IPV6_PREFER_SRC_NONCGA 0x0800
-
-/* RFC5082: Generalized Ttl Security Mechanism */
-#define IPV6_MINHOPCOUNT 73
-
-#define IPV6_ORIGDSTADDR 74
-#define IPV6_RECVORIGDSTADDR IPV6_ORIGDSTADDR
-#define IPV6_TRANSPARENT 75
-#define IPV6_UNICAST_IF 76
-
-/*
- * Multicast Routing:
- * see include/uapi/linux/mroute6.h.
- *
- * MRT6_BASE 200
- * ...
- * MRT6_MAX
- */
-#endif /* _LINUX_IN6_H */
diff --git a/linux-headers/include/linux/in_route.h b/linux-headers/include/linux/in_route.h
deleted file mode 100644
index b261b8c..0000000
--- a/linux-headers/include/linux/in_route.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _LINUX_IN_ROUTE_H
-#define _LINUX_IN_ROUTE_H
-
-/* IPv4 routing cache flags */
-
-#define RTCF_DEAD RTNH_F_DEAD
-#define RTCF_ONLINK RTNH_F_ONLINK
-
-/* Obsolete flag. About to be deleted */
-#define RTCF_NOPMTUDISC RTM_F_NOPMTUDISC
-
-#define RTCF_NOTIFY 0x00010000
-#define RTCF_DIRECTDST 0x00020000 /* unused */
-#define RTCF_REDIRECTED 0x00040000
-#define RTCF_TPROXY 0x00080000 /* unused */
-
-#define RTCF_FAST 0x00200000 /* unused */
-#define RTCF_MASQ 0x00400000 /* unused */
-#define RTCF_SNAT 0x00800000 /* unused */
-#define RTCF_DOREDIRECT 0x01000000
-#define RTCF_DIRECTSRC 0x04000000
-#define RTCF_DNAT 0x08000000
-#define RTCF_BROADCAST 0x10000000
-#define RTCF_MULTICAST 0x20000000
-#define RTCF_REJECT 0x40000000 /* unused */
-#define RTCF_LOCAL 0x80000000
-
-#define RTCF_NAT (RTCF_DNAT|RTCF_SNAT)
-
-#define RT_TOS(tos) ((tos)&IPTOS_TOS_MASK)
-
-#endif /* _LINUX_IN_ROUTE_H */
diff --git a/linux-headers/include/linux/inet_diag.h b/linux-headers/include/linux/inet_diag.h
deleted file mode 100644
index 1db4116..0000000
--- a/linux-headers/include/linux/inet_diag.h
+++ /dev/null
@@ -1,152 +0,0 @@
-#ifndef _INET_DIAG_H_
-#define _INET_DIAG_H_
-
-#include <linux/types.h>
-
-/* Just some random number */
-#define TCPDIAG_GETSOCK 18
-#define DCCPDIAG_GETSOCK 19
-
-#define INET_DIAG_GETSOCK_MAX 24
-
-/* Socket identity */
-struct inet_diag_sockid {
- __be16 idiag_sport;
- __be16 idiag_dport;
- __be32 idiag_src[4];
- __be32 idiag_dst[4];
- __u32 idiag_if;
- __u32 idiag_cookie[2];
-#define INET_DIAG_NOCOOKIE (~0U)
-};
-
-/* Request structure */
-
-struct inet_diag_req {
- __u8 idiag_family; /* Family of addresses. */
- __u8 idiag_src_len;
- __u8 idiag_dst_len;
- __u8 idiag_ext; /* Query extended information */
-
- struct inet_diag_sockid id;
-
- __u32 idiag_states; /* States to dump */
- __u32 idiag_dbs; /* Tables to dump (NI) */
-};
-
-struct inet_diag_req_v2 {
- __u8 sdiag_family;
- __u8 sdiag_protocol;
- __u8 idiag_ext;
- __u8 pad;
- __u32 idiag_states;
- struct inet_diag_sockid id;
-};
-
-enum {
- INET_DIAG_REQ_NONE,
- INET_DIAG_REQ_BYTECODE,
-};
-
-#define INET_DIAG_REQ_MAX INET_DIAG_REQ_BYTECODE
-
-/* Bytecode is sequence of 4 byte commands followed by variable arguments.
- * All the commands identified by "code" are conditional jumps forward:
- * to offset cc+"yes" or to offset cc+"no". "yes" is supposed to be
- * length of the command and its arguments.
- */
-
-struct inet_diag_bc_op {
- unsigned char code;
- unsigned char yes;
- unsigned short no;
-};
-
-enum {
- INET_DIAG_BC_NOP,
- INET_DIAG_BC_JMP,
- INET_DIAG_BC_S_GE,
- INET_DIAG_BC_S_LE,
- INET_DIAG_BC_D_GE,
- INET_DIAG_BC_D_LE,
- INET_DIAG_BC_AUTO,
- INET_DIAG_BC_S_COND,
- INET_DIAG_BC_D_COND,
-};
-
-struct inet_diag_hostcond {
- __u8 family;
- __u8 prefix_len;
- int port;
- __be32 addr[0];
-};
-
-/* Base info structure. It contains socket identity (addrs/ports/cookie)
- * and, alas, the information shown by netstat. */
-struct inet_diag_msg {
- __u8 idiag_family;
- __u8 idiag_state;
- __u8 idiag_timer;
- __u8 idiag_retrans;
-
- struct inet_diag_sockid id;
-
- __u32 idiag_expires;
- __u32 idiag_rqueue;
- __u32 idiag_wqueue;
- __u32 idiag_uid;
- __u32 idiag_inode;
-};
-
-/* Extensions */
-
-enum {
- INET_DIAG_NONE,
- INET_DIAG_MEMINFO,
- INET_DIAG_INFO,
- INET_DIAG_VEGASINFO,
- INET_DIAG_CONG,
- INET_DIAG_TOS,
- INET_DIAG_TCLASS,
- INET_DIAG_SKMEMINFO,
- INET_DIAG_SHUTDOWN,
- INET_DIAG_DCTCPINFO,
- INET_DIAG_PROTOCOL, /* response attribute only */
- INET_DIAG_SKV6ONLY,
-};
-
-#define INET_DIAG_MAX INET_DIAG_SKV6ONLY
-
-/* INET_DIAG_MEM */
-
-struct inet_diag_meminfo {
- __u32 idiag_rmem;
- __u32 idiag_wmem;
- __u32 idiag_fmem;
- __u32 idiag_tmem;
-};
-
-/* INET_DIAG_VEGASINFO */
-
-struct tcpvegas_info {
- __u32 tcpv_enabled;
- __u32 tcpv_rttcnt;
- __u32 tcpv_rtt;
- __u32 tcpv_minrtt;
-};
-
-/* INET_DIAG_DCTCPINFO */
-
-struct tcp_dctcp_info {
- __u16 dctcp_enabled;
- __u16 dctcp_ce_state;
- __u32 dctcp_alpha;
- __u32 dctcp_ab_ecn;
- __u32 dctcp_ab_tot;
-};
-
-union tcp_cc_info {
- struct tcpvegas_info vegas;
- struct tcp_dctcp_info dctcp;
-};
-#endif /* _INET_DIAG_H_ */
diff --git a/linux-headers/include/linux/inotify.h b/linux-headers/include/linux/inotify.h
deleted file mode 100644
index 44a1a27..0000000
--- a/linux-headers/include/linux/inotify.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Inode based directory notification for Linux
- *
- * Copyright (C) 2005 John McCutchan
- */
-
-#ifndef _LINUX_INOTIFY_H
-#define _LINUX_INOTIFY_H
-
-/* For O_CLOEXEC and O_NONBLOCK */
-#include <linux/fcntl.h>
-#include <linux/types.h>
-
-/*
- * struct inotify_event - structure read from the inotify device for each event
- *
- * When you are watching a directory, you will receive the filename for events
- * such as IN_CREATE, IN_DELETE, IN_OPEN, IN_CLOSE, ..., relative to the wd.
- */
-struct inotify_event {
- __s32 wd; /* watch descriptor */
- __u32 mask; /* watch mask */
- __u32 cookie; /* cookie to synchronize two events */
- __u32 len; /* length (including nulls) of name */
- char name[0]; /* stub for possible name */
-};
-
-/* the following are legal, implemented events that user-space can watch for */
-#define IN_ACCESS 0x00000001 /* File was accessed */
-#define IN_MODIFY 0x00000002 /* File was modified */
-#define IN_ATTRIB 0x00000004 /* Metadata changed */
-#define IN_CLOSE_WRITE 0x00000008 /* Writtable file was closed */
-#define IN_CLOSE_NOWRITE 0x00000010 /* Unwrittable file closed */
-#define IN_OPEN 0x00000020 /* File was opened */
-#define IN_MOVED_FROM 0x00000040 /* File was moved from X */
-#define IN_MOVED_TO 0x00000080 /* File was moved to Y */
-#define IN_CREATE 0x00000100 /* Subfile was created */
-#define IN_DELETE 0x00000200 /* Subfile was deleted */
-#define IN_DELETE_SELF 0x00000400 /* Self was deleted */
-#define IN_MOVE_SELF 0x00000800 /* Self was moved */
-
-/* the following are legal events. they are sent as needed to any watch */
-#define IN_UNMOUNT 0x00002000 /* Backing fs was unmounted */
-#define IN_Q_OVERFLOW 0x00004000 /* Event queued overflowed */
-#define IN_IGNORED 0x00008000 /* File was ignored */
-
-/* helper events */
-#define IN_CLOSE (IN_CLOSE_WRITE | IN_CLOSE_NOWRITE) /* close */
-#define IN_MOVE (IN_MOVED_FROM | IN_MOVED_TO) /* moves */
-
-/* special flags */
-#define IN_ONLYDIR 0x01000000 /* only watch the path if it is a directory */
-#define IN_DONT_FOLLOW 0x02000000 /* don't follow a sym link */
-#define IN_EXCL_UNLINK 0x04000000 /* exclude events on unlinked objects */
-#define IN_MASK_ADD 0x20000000 /* add to the mask of an already existing watch */
-#define IN_ISDIR 0x40000000 /* event occurred against dir */
-#define IN_ONESHOT 0x80000000 /* only send event once */
-
-/*
- * All of the events - we build the list by hand so that we can add flags in
- * the future and not break backward compatibility. Apps will get only the
- * events that they originally wanted. Be sure to add new events here!
- */
-#define IN_ALL_EVENTS (IN_ACCESS | IN_MODIFY | IN_ATTRIB | IN_CLOSE_WRITE | \
- IN_CLOSE_NOWRITE | IN_OPEN | IN_MOVED_FROM | \
- IN_MOVED_TO | IN_DELETE | IN_CREATE | IN_DELETE_SELF | \
- IN_MOVE_SELF)
-
-/* Flags for sys_inotify_init1. */
-#define IN_CLOEXEC O_CLOEXEC
-#define IN_NONBLOCK O_NONBLOCK
-
-
-#endif /* _LINUX_INOTIFY_H */
diff --git a/linux-headers/include/linux/input-event-codes.h b/linux-headers/include/linux/input-event-codes.h
deleted file mode 100644
index dcd34b4..0000000
--- a/linux-headers/include/linux/input-event-codes.h
+++ /dev/null
@@ -1,805 +0,0 @@
-/*
- * Input event codes
- *
- * *** IMPORTANT ***
- * This file is not only included from C-code but also from devicetree source
- * files. As such this file MUST only contain comments and defines.
- *
- * Copyright (c) 1999-2002 Vojtech Pavlik
- * Copyright (c) 2015 Hans de Goede <hdegoede@redhat.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- */
-#ifndef _INPUT_EVENT_CODES_H
-#define _INPUT_EVENT_CODES_H
-
-/*
- * Device properties and quirks
- */
-
-#define INPUT_PROP_POINTER 0x00 /* needs a pointer */
-#define INPUT_PROP_DIRECT 0x01 /* direct input devices */
-#define INPUT_PROP_BUTTONPAD 0x02 /* has button(s) under pad */
-#define INPUT_PROP_SEMI_MT 0x03 /* touch rectangle only */
-#define INPUT_PROP_TOPBUTTONPAD 0x04 /* softbuttons at top of pad */
-#define INPUT_PROP_POINTING_STICK 0x05 /* is a pointing stick */
-#define INPUT_PROP_ACCELEROMETER 0x06 /* has accelerometer */
-
-#define INPUT_PROP_MAX 0x1f
-#define INPUT_PROP_CNT (INPUT_PROP_MAX + 1)
-
-/*
- * Event types
- */
-
-#define EV_SYN 0x00
-#define EV_KEY 0x01
-#define EV_REL 0x02
-#define EV_ABS 0x03
-#define EV_MSC 0x04
-#define EV_SW 0x05
-#define EV_LED 0x11
-#define EV_SND 0x12
-#define EV_REP 0x14
-#define EV_FF 0x15
-#define EV_PWR 0x16
-#define EV_FF_STATUS 0x17
-#define EV_MAX 0x1f
-#define EV_CNT (EV_MAX+1)
-
-/*
- * Synchronization events.
- */
-
-#define SYN_REPORT 0
-#define SYN_CONFIG 1
-#define SYN_MT_REPORT 2
-#define SYN_DROPPED 3
-#define SYN_MAX 0xf
-#define SYN_CNT (SYN_MAX+1)
-
-/*
- * Keys and buttons
- *
- * Most of the keys/buttons are modeled after USB HUT 1.12
- * (see http://www.usb.org/developers/hidpage).
- * Abbreviations in the comments:
- * AC - Application Control
- * AL - Application Launch Button
- * SC - System Control
- */
-
-#define KEY_RESERVED 0
-#define KEY_ESC 1
-#define KEY_1 2
-#define KEY_2 3
-#define KEY_3 4
-#define KEY_4 5
-#define KEY_5 6
-#define KEY_6 7
-#define KEY_7 8
-#define KEY_8 9
-#define KEY_9 10
-#define KEY_0 11
-#define KEY_MINUS 12
-#define KEY_EQUAL 13
-#define KEY_BACKSPACE 14
-#define KEY_TAB 15
-#define KEY_Q 16
-#define KEY_W 17
-#define KEY_E 18
-#define KEY_R 19
-#define KEY_T 20
-#define KEY_Y 21
-#define KEY_U 22
-#define KEY_I 23
-#define KEY_O 24
-#define KEY_P 25
-#define KEY_LEFTBRACE 26
-#define KEY_RIGHTBRACE 27
-#define KEY_ENTER 28
-#define KEY_LEFTCTRL 29
-#define KEY_A 30
-#define KEY_S 31
-#define KEY_D 32
-#define KEY_F 33
-#define KEY_G 34
-#define KEY_H 35
-#define KEY_J 36
-#define KEY_K 37
-#define KEY_L 38
-#define KEY_SEMICOLON 39
-#define KEY_APOSTROPHE 40
-#define KEY_GRAVE 41
-#define KEY_LEFTSHIFT 42
-#define KEY_BACKSLASH 43
-#define KEY_Z 44
-#define KEY_X 45
-#define KEY_C 46
-#define KEY_V 47
-#define KEY_B 48
-#define KEY_N 49
-#define KEY_M 50
-#define KEY_COMMA 51
-#define KEY_DOT 52
-#define KEY_SLASH 53
-#define KEY_RIGHTSHIFT 54
-#define KEY_KPASTERISK 55
-#define KEY_LEFTALT 56
-#define KEY_SPACE 57
-#define KEY_CAPSLOCK 58
-#define KEY_F1 59
-#define KEY_F2 60
-#define KEY_F3 61
-#define KEY_F4 62
-#define KEY_F5 63
-#define KEY_F6 64
-#define KEY_F7 65
-#define KEY_F8 66
-#define KEY_F9 67
-#define KEY_F10 68
-#define KEY_NUMLOCK 69
-#define KEY_SCROLLLOCK 70
-#define KEY_KP7 71
-#define KEY_KP8 72
-#define KEY_KP9 73
-#define KEY_KPMINUS 74
-#define KEY_KP4 75
-#define KEY_KP5 76
-#define KEY_KP6 77
-#define KEY_KPPLUS 78
-#define KEY_KP1 79
-#define KEY_KP2 80
-#define KEY_KP3 81
-#define KEY_KP0 82
-#define KEY_KPDOT 83
-
-#define KEY_ZENKAKUHANKAKU 85
-#define KEY_102ND 86
-#define KEY_F11 87
-#define KEY_F12 88
-#define KEY_RO 89
-#define KEY_KATAKANA 90
-#define KEY_HIRAGANA 91
-#define KEY_HENKAN 92
-#define KEY_KATAKANAHIRAGANA 93
-#define KEY_MUHENKAN 94
-#define KEY_KPJPCOMMA 95
-#define KEY_KPENTER 96
-#define KEY_RIGHTCTRL 97
-#define KEY_KPSLASH 98
-#define KEY_SYSRQ 99
-#define KEY_RIGHTALT 100
-#define KEY_LINEFEED 101
-#define KEY_HOME 102
-#define KEY_UP 103
-#define KEY_PAGEUP 104
-#define KEY_LEFT 105
-#define KEY_RIGHT 106
-#define KEY_END 107
-#define KEY_DOWN 108
-#define KEY_PAGEDOWN 109
-#define KEY_INSERT 110
-#define KEY_DELETE 111
-#define KEY_MACRO 112
-#define KEY_MUTE 113
-#define KEY_VOLUMEDOWN 114
-#define KEY_VOLUMEUP 115
-#define KEY_POWER 116 /* SC System Power Down */
-#define KEY_KPEQUAL 117
-#define KEY_KPPLUSMINUS 118
-#define KEY_PAUSE 119
-#define KEY_SCALE 120 /* AL Compiz Scale (Expose) */
-
-#define KEY_KPCOMMA 121
-#define KEY_HANGEUL 122
-#define KEY_HANGUEL KEY_HANGEUL
-#define KEY_HANJA 123
-#define KEY_YEN 124
-#define KEY_LEFTMETA 125
-#define KEY_RIGHTMETA 126
-#define KEY_COMPOSE 127
-
-#define KEY_STOP 128 /* AC Stop */
-#define KEY_AGAIN 129
-#define KEY_PROPS 130 /* AC Properties */
-#define KEY_UNDO 131 /* AC Undo */
-#define KEY_FRONT 132
-#define KEY_COPY 133 /* AC Copy */
-#define KEY_OPEN 134 /* AC Open */
-#define KEY_PASTE 135 /* AC Paste */
-#define KEY_FIND 136 /* AC Search */
-#define KEY_CUT 137 /* AC Cut */
-#define KEY_HELP 138 /* AL Integrated Help Center */
-#define KEY_MENU 139 /* Menu (show menu) */
-#define KEY_CALC 140 /* AL Calculator */
-#define KEY_SETUP 141
-#define KEY_SLEEP 142 /* SC System Sleep */
-#define KEY_WAKEUP 143 /* System Wake Up */
-#define KEY_FILE 144 /* AL Local Machine Browser */
-#define KEY_SENDFILE 145
-#define KEY_DELETEFILE 146
-#define KEY_XFER 147
-#define KEY_PROG1 148
-#define KEY_PROG2 149
-#define KEY_WWW 150 /* AL Internet Browser */
-#define KEY_MSDOS 151
-#define KEY_COFFEE 152 /* AL Terminal Lock/Screensaver */
-#define KEY_SCREENLOCK KEY_COFFEE
-#define KEY_ROTATE_DISPLAY 153 /* Display orientation for e.g. tablets */
-#define KEY_DIRECTION KEY_ROTATE_DISPLAY
-#define KEY_CYCLEWINDOWS 154
-#define KEY_MAIL 155
-#define KEY_BOOKMARKS 156 /* AC Bookmarks */
-#define KEY_COMPUTER 157
-#define KEY_BACK 158 /* AC Back */
-#define KEY_FORWARD 159 /* AC Forward */
-#define KEY_CLOSECD 160
-#define KEY_EJECTCD 161
-#define KEY_EJECTCLOSECD 162
-#define KEY_NEXTSONG 163
-#define KEY_PLAYPAUSE 164
-#define KEY_PREVIOUSSONG 165
-#define KEY_STOPCD 166
-#define KEY_RECORD 167
-#define KEY_REWIND 168
-#define KEY_PHONE 169 /* Media Select Telephone */
-#define KEY_ISO 170
-#define KEY_CONFIG 171 /* AL Consumer Control Configuration */
-#define KEY_HOMEPAGE 172 /* AC Home */
-#define KEY_REFRESH 173 /* AC Refresh */
-#define KEY_EXIT 174 /* AC Exit */
-#define KEY_MOVE 175
-#define KEY_EDIT 176
-#define KEY_SCROLLUP 177
-#define KEY_SCROLLDOWN 178
-#define KEY_KPLEFTPAREN 179
-#define KEY_KPRIGHTPAREN 180
-#define KEY_NEW 181 /* AC New */
-#define KEY_REDO 182 /* AC Redo/Repeat */
-
-#define KEY_F13 183
-#define KEY_F14 184
-#define KEY_F15 185
-#define KEY_F16 186
-#define KEY_F17 187
-#define KEY_F18 188
-#define KEY_F19 189
-#define KEY_F20 190
-#define KEY_F21 191
-#define KEY_F22 192
-#define KEY_F23 193
-#define KEY_F24 194
-
-#define KEY_PLAYCD 200
-#define KEY_PAUSECD 201
-#define KEY_PROG3 202
-#define KEY_PROG4 203
-#define KEY_DASHBOARD 204 /* AL Dashboard */
-#define KEY_SUSPEND 205
-#define KEY_CLOSE 206 /* AC Close */
-#define KEY_PLAY 207
-#define KEY_FASTFORWARD 208
-#define KEY_BASSBOOST 209
-#define KEY_PRINT 210 /* AC Print */
-#define KEY_HP 211
-#define KEY_CAMERA 212
-#define KEY_SOUND 213
-#define KEY_QUESTION 214
-#define KEY_EMAIL 215
-#define KEY_CHAT 216
-#define KEY_SEARCH 217
-#define KEY_CONNECT 218
-#define KEY_FINANCE 219 /* AL Checkbook/Finance */
-#define KEY_SPORT 220
-#define KEY_SHOP 221
-#define KEY_ALTERASE 222
-#define KEY_CANCEL 223 /* AC Cancel */
-#define KEY_BRIGHTNESSDOWN 224
-#define KEY_BRIGHTNESSUP 225
-#define KEY_MEDIA 226
-
-#define KEY_SWITCHVIDEOMODE 227 /* Cycle between available video
- outputs (Monitor/LCD/TV-out/etc) */
-#define KEY_KBDILLUMTOGGLE 228
-#define KEY_KBDILLUMDOWN 229
-#define KEY_KBDILLUMUP 230
-
-#define KEY_SEND 231 /* AC Send */
-#define KEY_REPLY 232 /* AC Reply */
-#define KEY_FORWARDMAIL 233 /* AC Forward Msg */
-#define KEY_SAVE 234 /* AC Save */
-#define KEY_DOCUMENTS 235
-
-#define KEY_BATTERY 236
-
-#define KEY_BLUETOOTH 237
-#define KEY_WLAN 238
-#define KEY_UWB 239
-
-#define KEY_UNKNOWN 240
-
-#define KEY_VIDEO_NEXT 241 /* drive next video source */
-#define KEY_VIDEO_PREV 242 /* drive previous video source */
-#define KEY_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */
-#define KEY_BRIGHTNESS_AUTO 244 /* Set Auto Brightness: manual
- brightness control is off,
- rely on ambient */
-#define KEY_BRIGHTNESS_ZERO KEY_BRIGHTNESS_AUTO
-#define KEY_DISPLAY_OFF 245 /* display device to off state */
-
-#define KEY_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */
-#define KEY_WIMAX KEY_WWAN
-#define KEY_RFKILL 247 /* Key that controls all radios */
-
-#define KEY_MICMUTE 248 /* Mute / unmute the microphone */
-
-/* Code 255 is reserved for special needs of AT keyboard driver */
-
-#define BTN_MISC 0x100
-#define BTN_0 0x100
-#define BTN_1 0x101
-#define BTN_2 0x102
-#define BTN_3 0x103
-#define BTN_4 0x104
-#define BTN_5 0x105
-#define BTN_6 0x106
-#define BTN_7 0x107
-#define BTN_8 0x108
-#define BTN_9 0x109
-
-#define BTN_MOUSE 0x110
-#define BTN_LEFT 0x110
-#define BTN_RIGHT 0x111
-#define BTN_MIDDLE 0x112
-#define BTN_SIDE 0x113
-#define BTN_EXTRA 0x114
-#define BTN_FORWARD 0x115
-#define BTN_BACK 0x116
-#define BTN_TASK 0x117
-
-#define BTN_JOYSTICK 0x120
-#define BTN_TRIGGER 0x120
-#define BTN_THUMB 0x121
-#define BTN_THUMB2 0x122
-#define BTN_TOP 0x123
-#define BTN_TOP2 0x124
-#define BTN_PINKIE 0x125
-#define BTN_BASE 0x126
-#define BTN_BASE2 0x127
-#define BTN_BASE3 0x128
-#define BTN_BASE4 0x129
-#define BTN_BASE5 0x12a
-#define BTN_BASE6 0x12b
-#define BTN_DEAD 0x12f
-
-#define BTN_GAMEPAD 0x130
-#define BTN_SOUTH 0x130
-#define BTN_A BTN_SOUTH
-#define BTN_EAST 0x131
-#define BTN_B BTN_EAST
-#define BTN_C 0x132
-#define BTN_NORTH 0x133
-#define BTN_X BTN_NORTH
-#define BTN_WEST 0x134
-#define BTN_Y BTN_WEST
-#define BTN_Z 0x135
-#define BTN_TL 0x136
-#define BTN_TR 0x137
-#define BTN_TL2 0x138
-#define BTN_TR2 0x139
-#define BTN_SELECT 0x13a
-#define BTN_START 0x13b
-#define BTN_MODE 0x13c
-#define BTN_THUMBL 0x13d
-#define BTN_THUMBR 0x13e
-
-#define BTN_DIGI 0x140
-#define BTN_TOOL_PEN 0x140
-#define BTN_TOOL_RUBBER 0x141
-#define BTN_TOOL_BRUSH 0x142
-#define BTN_TOOL_PENCIL 0x143
-#define BTN_TOOL_AIRBRUSH 0x144
-#define BTN_TOOL_FINGER 0x145
-#define BTN_TOOL_MOUSE 0x146
-#define BTN_TOOL_LENS 0x147
-#define BTN_TOOL_QUINTTAP 0x148 /* Five fingers on trackpad */
-#define BTN_TOUCH 0x14a
-#define BTN_STYLUS 0x14b
-#define BTN_STYLUS2 0x14c
-#define BTN_TOOL_DOUBLETAP 0x14d
-#define BTN_TOOL_TRIPLETAP 0x14e
-#define BTN_TOOL_QUADTAP 0x14f /* Four fingers on trackpad */
-
-#define BTN_WHEEL 0x150
-#define BTN_GEAR_DOWN 0x150
-#define BTN_GEAR_UP 0x151
-
-#define KEY_OK 0x160
-#define KEY_SELECT 0x161
-#define KEY_GOTO 0x162
-#define KEY_CLEAR 0x163
-#define KEY_POWER2 0x164
-#define KEY_OPTION 0x165
-#define KEY_INFO 0x166 /* AL OEM Features/Tips/Tutorial */
-#define KEY_TIME 0x167
-#define KEY_VENDOR 0x168
-#define KEY_ARCHIVE 0x169
-#define KEY_PROGRAM 0x16a /* Media Select Program Guide */
-#define KEY_CHANNEL 0x16b
-#define KEY_FAVORITES 0x16c
-#define KEY_EPG 0x16d
-#define KEY_PVR 0x16e /* Media Select Home */
-#define KEY_MHP 0x16f
-#define KEY_LANGUAGE 0x170
-#define KEY_TITLE 0x171
-#define KEY_SUBTITLE 0x172
-#define KEY_ANGLE 0x173
-#define KEY_ZOOM 0x174
-#define KEY_MODE 0x175
-#define KEY_KEYBOARD 0x176
-#define KEY_SCREEN 0x177
-#define KEY_PC 0x178 /* Media Select Computer */
-#define KEY_TV 0x179 /* Media Select TV */
-#define KEY_TV2 0x17a /* Media Select Cable */
-#define KEY_VCR 0x17b /* Media Select VCR */
-#define KEY_VCR2 0x17c /* VCR Plus */
-#define KEY_SAT 0x17d /* Media Select Satellite */
-#define KEY_SAT2 0x17e
-#define KEY_CD 0x17f /* Media Select CD */
-#define KEY_TAPE 0x180 /* Media Select Tape */
-#define KEY_RADIO 0x181
-#define KEY_TUNER 0x182 /* Media Select Tuner */
-#define KEY_PLAYER 0x183
-#define KEY_TEXT 0x184
-#define KEY_DVD 0x185 /* Media Select DVD */
-#define KEY_AUX 0x186
-#define KEY_MP3 0x187
-#define KEY_AUDIO 0x188 /* AL Audio Browser */
-#define KEY_VIDEO 0x189 /* AL Movie Browser */
-#define KEY_DIRECTORY 0x18a
-#define KEY_LIST 0x18b
-#define KEY_MEMO 0x18c /* Media Select Messages */
-#define KEY_CALENDAR 0x18d
-#define KEY_RED 0x18e
-#define KEY_GREEN 0x18f
-#define KEY_YELLOW 0x190
-#define KEY_BLUE 0x191
-#define KEY_CHANNELUP 0x192 /* Channel Increment */
-#define KEY_CHANNELDOWN 0x193 /* Channel Decrement */
-#define KEY_FIRST 0x194
-#define KEY_LAST 0x195 /* Recall Last */
-#define KEY_AB 0x196
-#define KEY_NEXT 0x197
-#define KEY_RESTART 0x198
-#define KEY_SLOW 0x199
-#define KEY_SHUFFLE 0x19a
-#define KEY_BREAK 0x19b
-#define KEY_PREVIOUS 0x19c
-#define KEY_DIGITS 0x19d
-#define KEY_TEEN 0x19e
-#define KEY_TWEN 0x19f
-#define KEY_VIDEOPHONE 0x1a0 /* Media Select Video Phone */
-#define KEY_GAMES 0x1a1 /* Media Select Games */
-#define KEY_ZOOMIN 0x1a2 /* AC Zoom In */
-#define KEY_ZOOMOUT 0x1a3 /* AC Zoom Out */
-#define KEY_ZOOMRESET 0x1a4 /* AC Zoom */
-#define KEY_WORDPROCESSOR 0x1a5 /* AL Word Processor */
-#define KEY_EDITOR 0x1a6 /* AL Text Editor */
-#define KEY_SPREADSHEET 0x1a7 /* AL Spreadsheet */
-#define KEY_GRAPHICSEDITOR 0x1a8 /* AL Graphics Editor */
-#define KEY_PRESENTATION 0x1a9 /* AL Presentation App */
-#define KEY_DATABASE 0x1aa /* AL Database App */
-#define KEY_NEWS 0x1ab /* AL Newsreader */
-#define KEY_VOICEMAIL 0x1ac /* AL Voicemail */
-#define KEY_ADDRESSBOOK 0x1ad /* AL Contacts/Address Book */
-#define KEY_MESSENGER 0x1ae /* AL Instant Messaging */
-#define KEY_DISPLAYTOGGLE 0x1af /* Turn display (LCD) on and off */
-#define KEY_BRIGHTNESS_TOGGLE KEY_DISPLAYTOGGLE
-#define KEY_SPELLCHECK 0x1b0 /* AL Spell Check */
-#define KEY_LOGOFF 0x1b1 /* AL Logoff */
-
-#define KEY_DOLLAR 0x1b2
-#define KEY_EURO 0x1b3
-
-#define KEY_FRAMEBACK 0x1b4 /* Consumer - transport controls */
-#define KEY_FRAMEFORWARD 0x1b5
-#define KEY_CONTEXT_MENU 0x1b6 /* GenDesc - system context menu */
-#define KEY_MEDIA_REPEAT 0x1b7 /* Consumer - transport control */
-#define KEY_10CHANNELSUP 0x1b8 /* 10 channels up (10+) */
-#define KEY_10CHANNELSDOWN 0x1b9 /* 10 channels down (10-) */
-#define KEY_IMAGES 0x1ba /* AL Image Browser */
-
-#define KEY_DEL_EOL 0x1c0
-#define KEY_DEL_EOS 0x1c1
-#define KEY_INS_LINE 0x1c2
-#define KEY_DEL_LINE 0x1c3
-
-#define KEY_FN 0x1d0
-#define KEY_FN_ESC 0x1d1
-#define KEY_FN_F1 0x1d2
-#define KEY_FN_F2 0x1d3
-#define KEY_FN_F3 0x1d4
-#define KEY_FN_F4 0x1d5
-#define KEY_FN_F5 0x1d6
-#define KEY_FN_F6 0x1d7
-#define KEY_FN_F7 0x1d8
-#define KEY_FN_F8 0x1d9
-#define KEY_FN_F9 0x1da
-#define KEY_FN_F10 0x1db
-#define KEY_FN_F11 0x1dc
-#define KEY_FN_F12 0x1dd
-#define KEY_FN_1 0x1de
-#define KEY_FN_2 0x1df
-#define KEY_FN_D 0x1e0
-#define KEY_FN_E 0x1e1
-#define KEY_FN_F 0x1e2
-#define KEY_FN_S 0x1e3
-#define KEY_FN_B 0x1e4
-
-#define KEY_BRL_DOT1 0x1f1
-#define KEY_BRL_DOT2 0x1f2
-#define KEY_BRL_DOT3 0x1f3
-#define KEY_BRL_DOT4 0x1f4
-#define KEY_BRL_DOT5 0x1f5
-#define KEY_BRL_DOT6 0x1f6
-#define KEY_BRL_DOT7 0x1f7
-#define KEY_BRL_DOT8 0x1f8
-#define KEY_BRL_DOT9 0x1f9
-#define KEY_BRL_DOT10 0x1fa
-
-#define KEY_NUMERIC_0 0x200 /* used by phones, remote controls, */
-#define KEY_NUMERIC_1 0x201 /* and other keypads */
-#define KEY_NUMERIC_2 0x202
-#define KEY_NUMERIC_3 0x203
-#define KEY_NUMERIC_4 0x204
-#define KEY_NUMERIC_5 0x205
-#define KEY_NUMERIC_6 0x206
-#define KEY_NUMERIC_7 0x207
-#define KEY_NUMERIC_8 0x208
-#define KEY_NUMERIC_9 0x209
-#define KEY_NUMERIC_STAR 0x20a
-#define KEY_NUMERIC_POUND 0x20b
-#define KEY_NUMERIC_A 0x20c /* Phone key A - HUT Telephony 0xb9 */
-#define KEY_NUMERIC_B 0x20d
-#define KEY_NUMERIC_C 0x20e
-#define KEY_NUMERIC_D 0x20f
-
-#define KEY_CAMERA_FOCUS 0x210
-#define KEY_WPS_BUTTON 0x211 /* WiFi Protected Setup key */
-
-#define KEY_TOUCHPAD_TOGGLE 0x212 /* Request switch touchpad on or off */
-#define KEY_TOUCHPAD_ON 0x213
-#define KEY_TOUCHPAD_OFF 0x214
-
-#define KEY_CAMERA_ZOOMIN 0x215
-#define KEY_CAMERA_ZOOMOUT 0x216
-#define KEY_CAMERA_UP 0x217
-#define KEY_CAMERA_DOWN 0x218
-#define KEY_CAMERA_LEFT 0x219
-#define KEY_CAMERA_RIGHT 0x21a
-
-#define KEY_ATTENDANT_ON 0x21b
-#define KEY_ATTENDANT_OFF 0x21c
-#define KEY_ATTENDANT_TOGGLE 0x21d /* Attendant call on or off */
-#define KEY_LIGHTS_TOGGLE 0x21e /* Reading light on or off */
-
-#define BTN_DPAD_UP 0x220
-#define BTN_DPAD_DOWN 0x221
-#define BTN_DPAD_LEFT 0x222
-#define BTN_DPAD_RIGHT 0x223
-
-#define KEY_ALS_TOGGLE 0x230 /* Ambient light sensor */
-
-#define KEY_BUTTONCONFIG 0x240 /* AL Button Configuration */
-#define KEY_TASKMANAGER 0x241 /* AL Task/Project Manager */
-#define KEY_JOURNAL 0x242 /* AL Log/Journal/Timecard */
-#define KEY_CONTROLPANEL 0x243 /* AL Control Panel */
-#define KEY_APPSELECT 0x244 /* AL Select Task/Application */
-#define KEY_SCREENSAVER 0x245 /* AL Screen Saver */
-#define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */
-
-#define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */
-#define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */
-
-#define KEY_KBDINPUTASSIST_PREV 0x260
-#define KEY_KBDINPUTASSIST_NEXT 0x261
-#define KEY_KBDINPUTASSIST_PREVGROUP 0x262
-#define KEY_KBDINPUTASSIST_NEXTGROUP 0x263
-#define KEY_KBDINPUTASSIST_ACCEPT 0x264
-#define KEY_KBDINPUTASSIST_CANCEL 0x265
-
-#define BTN_TRIGGER_HAPPY 0x2c0
-#define BTN_TRIGGER_HAPPY1 0x2c0
-#define BTN_TRIGGER_HAPPY2 0x2c1
-#define BTN_TRIGGER_HAPPY3 0x2c2
-#define BTN_TRIGGER_HAPPY4 0x2c3
-#define BTN_TRIGGER_HAPPY5 0x2c4
-#define BTN_TRIGGER_HAPPY6 0x2c5
-#define BTN_TRIGGER_HAPPY7 0x2c6
-#define BTN_TRIGGER_HAPPY8 0x2c7
-#define BTN_TRIGGER_HAPPY9 0x2c8
-#define BTN_TRIGGER_HAPPY10 0x2c9
-#define BTN_TRIGGER_HAPPY11 0x2ca
-#define BTN_TRIGGER_HAPPY12 0x2cb
-#define BTN_TRIGGER_HAPPY13 0x2cc
-#define BTN_TRIGGER_HAPPY14 0x2cd
-#define BTN_TRIGGER_HAPPY15 0x2ce
-#define BTN_TRIGGER_HAPPY16 0x2cf
-#define BTN_TRIGGER_HAPPY17 0x2d0
-#define BTN_TRIGGER_HAPPY18 0x2d1
-#define BTN_TRIGGER_HAPPY19 0x2d2
-#define BTN_TRIGGER_HAPPY20 0x2d3
-#define BTN_TRIGGER_HAPPY21 0x2d4
-#define BTN_TRIGGER_HAPPY22 0x2d5
-#define BTN_TRIGGER_HAPPY23 0x2d6
-#define BTN_TRIGGER_HAPPY24 0x2d7
-#define BTN_TRIGGER_HAPPY25 0x2d8
-#define BTN_TRIGGER_HAPPY26 0x2d9
-#define BTN_TRIGGER_HAPPY27 0x2da
-#define BTN_TRIGGER_HAPPY28 0x2db
-#define BTN_TRIGGER_HAPPY29 0x2dc
-#define BTN_TRIGGER_HAPPY30 0x2dd
-#define BTN_TRIGGER_HAPPY31 0x2de
-#define BTN_TRIGGER_HAPPY32 0x2df
-#define BTN_TRIGGER_HAPPY33 0x2e0
-#define BTN_TRIGGER_HAPPY34 0x2e1
-#define BTN_TRIGGER_HAPPY35 0x2e2
-#define BTN_TRIGGER_HAPPY36 0x2e3
-#define BTN_TRIGGER_HAPPY37 0x2e4
-#define BTN_TRIGGER_HAPPY38 0x2e5
-#define BTN_TRIGGER_HAPPY39 0x2e6
-#define BTN_TRIGGER_HAPPY40 0x2e7
-
-/* We avoid low common keys in module aliases so they don't get huge. */
-#define KEY_MIN_INTERESTING KEY_MUTE
-#define KEY_MAX 0x2ff
-#define KEY_CNT (KEY_MAX+1)
-
-/*
- * Relative axes
- */
-
-#define REL_X 0x00
-#define REL_Y 0x01
-#define REL_Z 0x02
-#define REL_RX 0x03
-#define REL_RY 0x04
-#define REL_RZ 0x05
-#define REL_HWHEEL 0x06
-#define REL_DIAL 0x07
-#define REL_WHEEL 0x08
-#define REL_MISC 0x09
-#define REL_MAX 0x0f
-#define REL_CNT (REL_MAX+1)
-
-/*
- * Absolute axes
- */
-
-#define ABS_X 0x00
-#define ABS_Y 0x01
-#define ABS_Z 0x02
-#define ABS_RX 0x03
-#define ABS_RY 0x04
-#define ABS_RZ 0x05
-#define ABS_THROTTLE 0x06
-#define ABS_RUDDER 0x07
-#define ABS_WHEEL 0x08
-#define ABS_GAS 0x09
-#define ABS_BRAKE 0x0a
-#define ABS_HAT0X 0x10
-#define ABS_HAT0Y 0x11
-#define ABS_HAT1X 0x12
-#define ABS_HAT1Y 0x13
-#define ABS_HAT2X 0x14
-#define ABS_HAT2Y 0x15
-#define ABS_HAT3X 0x16
-#define ABS_HAT3Y 0x17
-#define ABS_PRESSURE 0x18
-#define ABS_DISTANCE 0x19
-#define ABS_TILT_X 0x1a
-#define ABS_TILT_Y 0x1b
-#define ABS_TOOL_WIDTH 0x1c
-
-#define ABS_VOLUME 0x20
-
-#define ABS_MISC 0x28
-
-#define ABS_MT_SLOT 0x2f /* MT slot being modified */
-#define ABS_MT_TOUCH_MAJOR 0x30 /* Major axis of touching ellipse */
-#define ABS_MT_TOUCH_MINOR 0x31 /* Minor axis (omit if circular) */
-#define ABS_MT_WIDTH_MAJOR 0x32 /* Major axis of approaching ellipse */
-#define ABS_MT_WIDTH_MINOR 0x33 /* Minor axis (omit if circular) */
-#define ABS_MT_ORIENTATION 0x34 /* Ellipse orientation */
-#define ABS_MT_POSITION_X 0x35 /* Center X touch position */
-#define ABS_MT_POSITION_Y 0x36 /* Center Y touch position */
-#define ABS_MT_TOOL_TYPE 0x37 /* Type of touching device */
-#define ABS_MT_BLOB_ID 0x38 /* Group a set of packets as a blob */
-#define ABS_MT_TRACKING_ID 0x39 /* Unique ID of initiated contact */
-#define ABS_MT_PRESSURE 0x3a /* Pressure on contact area */
-#define ABS_MT_DISTANCE 0x3b /* Contact hover distance */
-#define ABS_MT_TOOL_X 0x3c /* Center X tool position */
-#define ABS_MT_TOOL_Y 0x3d /* Center Y tool position */
-
-
-#define ABS_MAX 0x3f
-#define ABS_CNT (ABS_MAX+1)
-
-/*
- * Switch events
- */
-
-#define SW_LID 0x00 /* set = lid shut */
-#define SW_TABLET_MODE 0x01 /* set = tablet mode */
-#define SW_HEADPHONE_INSERT 0x02 /* set = inserted */
-#define SW_RFKILL_ALL 0x03 /* rfkill master switch, type "any"
- set = radio enabled */
-#define SW_RADIO SW_RFKILL_ALL /* deprecated */
-#define SW_MICROPHONE_INSERT 0x04 /* set = inserted */
-#define SW_DOCK 0x05 /* set = plugged into dock */
-#define SW_LINEOUT_INSERT 0x06 /* set = inserted */
-#define SW_JACK_PHYSICAL_INSERT 0x07 /* set = mechanical switch set */
-#define SW_VIDEOOUT_INSERT 0x08 /* set = inserted */
-#define SW_CAMERA_LENS_COVER 0x09 /* set = lens covered */
-#define SW_KEYPAD_SLIDE 0x0a /* set = keypad slide out */
-#define SW_FRONT_PROXIMITY 0x0b /* set = front proximity sensor active */
-#define SW_ROTATE_LOCK 0x0c /* set = rotate locked/disabled */
-#define SW_LINEIN_INSERT 0x0d /* set = inserted */
-#define SW_MUTE_DEVICE 0x0e /* set = device disabled */
-#define SW_MAX 0x0f
-#define SW_CNT (SW_MAX+1)
-
-/*
- * Misc events
- */
-
-#define MSC_SERIAL 0x00
-#define MSC_PULSELED 0x01
-#define MSC_GESTURE 0x02
-#define MSC_RAW 0x03
-#define MSC_SCAN 0x04
-#define MSC_TIMESTAMP 0x05
-#define MSC_MAX 0x07
-#define MSC_CNT (MSC_MAX+1)
-
-/*
- * LEDs
- */
-
-#define LED_NUML 0x00
-#define LED_CAPSL 0x01
-#define LED_SCROLLL 0x02
-#define LED_COMPOSE 0x03
-#define LED_KANA 0x04
-#define LED_SLEEP 0x05
-#define LED_SUSPEND 0x06
-#define LED_MUTE 0x07
-#define LED_MISC 0x08
-#define LED_MAIL 0x09
-#define LED_CHARGING 0x0a
-#define LED_MAX 0x0f
-#define LED_CNT (LED_MAX+1)
-
-/*
- * Autorepeat values
- */
-
-#define REP_DELAY 0x00
-#define REP_PERIOD 0x01
-#define REP_MAX 0x01
-#define REP_CNT (REP_MAX+1)
-
-/*
- * Sounds
- */
-
-#define SND_CLICK 0x00
-#define SND_BELL 0x01
-#define SND_TONE 0x02
-#define SND_MAX 0x07
-#define SND_CNT (SND_MAX+1)
-
-#endif
diff --git a/linux-headers/include/linux/input.h b/linux-headers/include/linux/input.h
deleted file mode 100644
index fbc968f..0000000
--- a/linux-headers/include/linux/input.h
+++ /dev/null
@@ -1,487 +0,0 @@
-/*
- * Copyright (c) 1999-2002 Vojtech Pavlik
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- */
-#ifndef _INPUT_H
-#define _INPUT_H
-
-
-#include <sys/time.h>
-#include <sys/ioctl.h>
-#include <sys/types.h>
-#include <linux/types.h>
-
-#include "input-event-codes.h"
-
-/*
- * The event structure itself
- */
-
-struct input_event {
- struct timeval time;
- __u16 type;
- __u16 code;
- __s32 value;
-};
-
-/*
- * Protocol version.
- */
-
-#define EV_VERSION 0x010001
-
-/*
- * IOCTLs (0x00 - 0x7f)
- */
-
-struct input_id {
- __u16 bustype;
- __u16 vendor;
- __u16 product;
- __u16 version;
-};
-
-/**
- * struct input_absinfo - used by EVIOCGABS/EVIOCSABS ioctls
- * @value: latest reported value for the axis.
- * @minimum: specifies minimum value for the axis.
- * @maximum: specifies maximum value for the axis.
- * @fuzz: specifies fuzz value that is used to filter noise from
- * the event stream.
- * @flat: values that are within this value will be discarded by
- * joydev interface and reported as 0 instead.
- * @resolution: specifies resolution for the values reported for
- * the axis.
- *
- * Note that input core does not clamp reported values to the
- * [minimum, maximum] limits, such task is left to userspace.
- *
- * Resolution for main axes (ABS_X, ABS_Y, ABS_Z) is reported in
- * units per millimeter (units/mm), resolution for rotational axes
- * (ABS_RX, ABS_RY, ABS_RZ) is reported in units per radian.
- */
-struct input_absinfo {
- __s32 value;
- __s32 minimum;
- __s32 maximum;
- __s32 fuzz;
- __s32 flat;
- __s32 resolution;
-};
-
-/**
- * struct input_keymap_entry - used by EVIOCGKEYCODE/EVIOCSKEYCODE ioctls
- * @scancode: scancode represented in machine-endian form.
- * @len: length of the scancode that resides in @scancode buffer.
- * @index: index in the keymap, may be used instead of scancode
- * @flags: allows to specify how kernel should handle the request. For
- * example, setting INPUT_KEYMAP_BY_INDEX flag indicates that kernel
- * should perform lookup in keymap by @index instead of @scancode
- * @keycode: key code assigned to this scancode
- *
- * The structure is used to retrieve and modify keymap data. Users have
- * option of performing lookup either by @scancode itself or by @index
- * in keymap entry. EVIOCGKEYCODE will also return scancode or index
- * (depending on which element was used to perform lookup).
- */
-struct input_keymap_entry {
-#define INPUT_KEYMAP_BY_INDEX (1 << 0)
- __u8 flags;
- __u8 len;
- __u16 index;
- __u32 keycode;
- __u8 scancode[32];
-};
-
-struct input_mask {
- __u32 type;
- __u32 codes_size;
- __u64 codes_ptr;
-};
-
-#define EVIOCGVERSION _IOR('E', 0x01, int) /* get driver version */
-#define EVIOCGID _IOR('E', 0x02, struct input_id) /* get device ID */
-#define EVIOCGREP _IOR('E', 0x03, unsigned int[2]) /* get repeat settings */
-#define EVIOCSREP _IOW('E', 0x03, unsigned int[2]) /* set repeat settings */
-
-#define EVIOCGKEYCODE _IOR('E', 0x04, unsigned int[2]) /* get keycode */
-#define EVIOCGKEYCODE_V2 _IOR('E', 0x04, struct input_keymap_entry)
-#define EVIOCSKEYCODE _IOW('E', 0x04, unsigned int[2]) /* set keycode */
-#define EVIOCSKEYCODE_V2 _IOW('E', 0x04, struct input_keymap_entry)
-
-#define EVIOCGNAME(len) _IOC(_IOC_READ, 'E', 0x06, len) /* get device name */
-#define EVIOCGPHYS(len) _IOC(_IOC_READ, 'E', 0x07, len) /* get physical location */
-#define EVIOCGUNIQ(len) _IOC(_IOC_READ, 'E', 0x08, len) /* get unique identifier */
-#define EVIOCGPROP(len) _IOC(_IOC_READ, 'E', 0x09, len) /* get device properties */
-
-/**
- * EVIOCGMTSLOTS(len) - get MT slot values
- * @len: size of the data buffer in bytes
- *
- * The ioctl buffer argument should be binary equivalent to
- *
- * struct input_mt_request_layout {
- * __u32 code;
- * __s32 values[num_slots];
- * };
- *
- * where num_slots is the (arbitrary) number of MT slots to extract.
- *
- * The ioctl size argument (len) is the size of the buffer, which
- * should satisfy len = (num_slots + 1) * sizeof(__s32). If len is
- * too small to fit all available slots, the first num_slots are
- * returned.
- *
- * Before the call, code is set to the wanted ABS_MT event type. On
- * return, values[] is filled with the slot values for the specified
- * ABS_MT code.
- *
- * If the request code is not an ABS_MT value, -EINVAL is returned.
- */
-#define EVIOCGMTSLOTS(len) _IOC(_IOC_READ, 'E', 0x0a, len)
-
-#define EVIOCGKEY(len) _IOC(_IOC_READ, 'E', 0x18, len) /* get global key state */
-#define EVIOCGLED(len) _IOC(_IOC_READ, 'E', 0x19, len) /* get all LEDs */
-#define EVIOCGSND(len) _IOC(_IOC_READ, 'E', 0x1a, len) /* get all sounds status */
-#define EVIOCGSW(len) _IOC(_IOC_READ, 'E', 0x1b, len) /* get all switch states */
-
-#define EVIOCGBIT(ev,len) _IOC(_IOC_READ, 'E', 0x20 + (ev), len) /* get event bits */
-#define EVIOCGABS(abs) _IOR('E', 0x40 + (abs), struct input_absinfo) /* get abs value/limits */
-#define EVIOCSABS(abs) _IOW('E', 0xc0 + (abs), struct input_absinfo) /* set abs value/limits */
-
-#define EVIOCSFF _IOW('E', 0x80, struct ff_effect) /* send a force effect to a force feedback device */
-#define EVIOCRMFF _IOW('E', 0x81, int) /* Erase a force effect */
-#define EVIOCGEFFECTS _IOR('E', 0x84, int) /* Report number of effects playable at the same time */
-
-#define EVIOCGRAB _IOW('E', 0x90, int) /* Grab/Release device */
-#define EVIOCREVOKE _IOW('E', 0x91, int) /* Revoke device access */
-
-/**
- * EVIOCGMASK - Retrieve current event mask
- *
- * This ioctl allows user to retrieve the current event mask for specific
- * event type. The argument must be of type "struct input_mask" and
- * specifies the event type to query, the address of the receive buffer and
- * the size of the receive buffer.
- *
- * The event mask is a per-client mask that specifies which events are
- * forwarded to the client. Each event code is represented by a single bit
- * in the event mask. If the bit is set, the event is passed to the client
- * normally. Otherwise, the event is filtered and will never be queued on
- * the client's receive buffer.
- *
- * Event masks do not affect global state of the input device. They only
- * affect the file descriptor they are applied to.
- *
- * The default event mask for a client has all bits set, i.e. all events
- * are forwarded to the client. If the kernel is queried for an unknown
- * event type or if the receive buffer is larger than the number of
- * event codes known to the kernel, the kernel returns all zeroes for those
- * codes.
- *
- * At maximum, codes_size bytes are copied.
- *
- * This ioctl may fail with ENODEV in case the file is revoked, EFAULT
- * if the receive-buffer points to invalid memory, or EINVAL if the kernel
- * does not implement the ioctl.
- */
-#define EVIOCGMASK _IOR('E', 0x92, struct input_mask) /* Get event-masks */
-
-/**
- * EVIOCSMASK - Set event mask
- *
- * This ioctl is the counterpart to EVIOCGMASK. Instead of receiving the
- * current event mask, this changes the client's event mask for a specific
- * type. See EVIOCGMASK for a description of event-masks and the
- * argument-type.
- *
- * This ioctl provides full forward compatibility. If the passed event type
- * is unknown to the kernel, or if the number of event codes specified in
- * the mask is bigger than what is known to the kernel, the ioctl is still
- * accepted and applied. However, any unknown codes are left untouched and
- * stay cleared. That means, the kernel always filters unknown codes
- * regardless of what the client requests. If the new mask doesn't cover
- * all known event-codes, all remaining codes are automatically cleared and
- * thus filtered.
- *
- * This ioctl may fail with ENODEV in case the file is revoked. EFAULT is
- * returned if the receive-buffer points to invalid memory. EINVAL is returned
- * if the kernel does not implement the ioctl.
- */
-#define EVIOCSMASK _IOW('E', 0x93, struct input_mask) /* Set event-masks */
-
-#define EVIOCSCLOCKID _IOW('E', 0xa0, int) /* Set clockid to be used for timestamps */
-
-/*
- * IDs.
- */
-
-#define ID_BUS 0
-#define ID_VENDOR 1
-#define ID_PRODUCT 2
-#define ID_VERSION 3
-
-#define BUS_PCI 0x01
-#define BUS_ISAPNP 0x02
-#define BUS_USB 0x03
-#define BUS_HIL 0x04
-#define BUS_BLUETOOTH 0x05
-#define BUS_VIRTUAL 0x06
-
-#define BUS_ISA 0x10
-#define BUS_I8042 0x11
-#define BUS_XTKBD 0x12
-#define BUS_RS232 0x13
-#define BUS_GAMEPORT 0x14
-#define BUS_PARPORT 0x15
-#define BUS_AMIGA 0x16
-#define BUS_ADB 0x17
-#define BUS_I2C 0x18
-#define BUS_HOST 0x19
-#define BUS_GSC 0x1A
-#define BUS_ATARI 0x1B
-#define BUS_SPI 0x1C
-#define BUS_RMI 0x1D
-
-/*
- * MT_TOOL types
- */
-#define MT_TOOL_FINGER 0
-#define MT_TOOL_PEN 1
-#define MT_TOOL_PALM 2
-#define MT_TOOL_MAX 2
-
-/*
- * Values describing the status of a force-feedback effect
- */
-#define FF_STATUS_STOPPED 0x00
-#define FF_STATUS_PLAYING 0x01
-#define FF_STATUS_MAX 0x01
-
-/*
- * Structures used in ioctls to upload effects to a device
- * They are pieces of a bigger structure (called ff_effect)
- */
-
-/*
- * All duration values are expressed in ms. Values above 32767 ms (0x7fff)
- * should not be used and have unspecified results.
- */
-
-/**
- * struct ff_replay - defines scheduling of the force-feedback effect
- * @length: duration of the effect
- * @delay: delay before effect should start playing
- */
-struct ff_replay {
- __u16 length;
- __u16 delay;
-};
-
-/**
- * struct ff_trigger - defines what triggers the force-feedback effect
- * @button: number of the button triggering the effect
- * @interval: controls how soon the effect can be re-triggered
- */
-struct ff_trigger {
- __u16 button;
- __u16 interval;
-};
-
-/**
- * struct ff_envelope - generic force-feedback effect envelope
- * @attack_length: duration of the attack (ms)
- * @attack_level: level at the beginning of the attack
- * @fade_length: duration of fade (ms)
- * @fade_level: level at the end of fade
- *
- * The @attack_level and @fade_level are absolute values; when applying
- * envelope force-feedback core will convert to positive/negative
- * value based on polarity of the default level of the effect.
- * Valid range for the attack and fade levels is 0x0000 - 0x7fff
- */
-struct ff_envelope {
- __u16 attack_length;
- __u16 attack_level;
- __u16 fade_length;
- __u16 fade_level;
-};
-
-/**
- * struct ff_constant_effect - defines parameters of a constant force-feedback effect
- * @level: strength of the effect; may be negative
- * @envelope: envelope data
- */
-struct ff_constant_effect {
- __s16 level;
- struct ff_envelope envelope;
-};
-
-/**
- * struct ff_ramp_effect - defines parameters of a ramp force-feedback effect
- * @start_level: beginning strength of the effect; may be negative
- * @end_level: final strength of the effect; may be negative
- * @envelope: envelope data
- */
-struct ff_ramp_effect {
- __s16 start_level;
- __s16 end_level;
- struct ff_envelope envelope;
-};
-
-/**
- * struct ff_condition_effect - defines a spring or friction force-feedback effect
- * @right_saturation: maximum level when joystick moved all way to the right
- * @left_saturation: same for the left side
- * @right_coeff: controls how fast the force grows when the joystick moves
- * to the right
- * @left_coeff: same for the left side
- * @deadband: size of the dead zone, where no force is produced
- * @center: position of the dead zone
- */
-struct ff_condition_effect {
- __u16 right_saturation;
- __u16 left_saturation;
-
- __s16 right_coeff;
- __s16 left_coeff;
-
- __u16 deadband;
- __s16 center;
-};
-
-/**
- * struct ff_periodic_effect - defines parameters of a periodic force-feedback effect
- * @waveform: kind of the effect (wave)
- * @period: period of the wave (ms)
- * @magnitude: peak value
- * @offset: mean value of the wave (roughly)
- * @phase: 'horizontal' shift
- * @envelope: envelope data
- * @custom_len: number of samples (FF_CUSTOM only)
- * @custom_data: buffer of samples (FF_CUSTOM only)
- *
- * Known waveforms - FF_SQUARE, FF_TRIANGLE, FF_SINE, FF_SAW_UP,
- * FF_SAW_DOWN, FF_CUSTOM. The exact syntax FF_CUSTOM is undefined
- * for the time being as no driver supports it yet.
- *
- * Note: the data pointed by custom_data is copied by the driver.
- * You can therefore dispose of the memory after the upload/update.
- */
-struct ff_periodic_effect {
- __u16 waveform;
- __u16 period;
- __s16 magnitude;
- __s16 offset;
- __u16 phase;
-
- struct ff_envelope envelope;
-
- __u32 custom_len;
- __s16 *custom_data;
-};
-
-/**
- * struct ff_rumble_effect - defines parameters of a periodic force-feedback effect
- * @strong_magnitude: magnitude of the heavy motor
- * @weak_magnitude: magnitude of the light one
- *
- * Some rumble pads have two motors of different weight. Strong_magnitude
- * represents the magnitude of the vibration generated by the heavy one.
- */
-struct ff_rumble_effect {
- __u16 strong_magnitude;
- __u16 weak_magnitude;
-};
-
-/**
- * struct ff_effect - defines force feedback effect
- * @type: type of the effect (FF_CONSTANT, FF_PERIODIC, FF_RAMP, FF_SPRING,
- * FF_FRICTION, FF_DAMPER, FF_RUMBLE, FF_INERTIA, or FF_CUSTOM)
- * @id: an unique id assigned to an effect
- * @direction: direction of the effect
- * @trigger: trigger conditions (struct ff_trigger)
- * @replay: scheduling of the effect (struct ff_replay)
- * @u: effect-specific structure (one of ff_constant_effect, ff_ramp_effect,
- * ff_periodic_effect, ff_condition_effect, ff_rumble_effect) further
- * defining effect parameters
- *
- * This structure is sent through ioctl from the application to the driver.
- * To create a new effect application should set its @id to -1; the kernel
- * will return assigned @id which can later be used to update or delete
- * this effect.
- *
- * Direction of the effect is encoded as follows:
- * 0 deg -> 0x0000 (down)
- * 90 deg -> 0x4000 (left)
- * 180 deg -> 0x8000 (up)
- * 270 deg -> 0xC000 (right)
- */
-struct ff_effect {
- __u16 type;
- __s16 id;
- __u16 direction;
- struct ff_trigger trigger;
- struct ff_replay replay;
-
- union {
- struct ff_constant_effect constant;
- struct ff_ramp_effect ramp;
- struct ff_periodic_effect periodic;
- struct ff_condition_effect condition[2]; /* One for each axis */
- struct ff_rumble_effect rumble;
- } u;
-};
-
-/*
- * Force feedback effect types
- */
-
-#define FF_RUMBLE 0x50
-#define FF_PERIODIC 0x51
-#define FF_CONSTANT 0x52
-#define FF_SPRING 0x53
-#define FF_FRICTION 0x54
-#define FF_DAMPER 0x55
-#define FF_INERTIA 0x56
-#define FF_RAMP 0x57
-
-#define FF_EFFECT_MIN FF_RUMBLE
-#define FF_EFFECT_MAX FF_RAMP
-
-/*
- * Force feedback periodic effect types
- */
-
-#define FF_SQUARE 0x58
-#define FF_TRIANGLE 0x59
-#define FF_SINE 0x5a
-#define FF_SAW_UP 0x5b
-#define FF_SAW_DOWN 0x5c
-#define FF_CUSTOM 0x5d
-
-#define FF_WAVEFORM_MIN FF_SQUARE
-#define FF_WAVEFORM_MAX FF_CUSTOM
-
-/*
- * Set ff device properties
- */
-
-#define FF_GAIN 0x60
-#define FF_AUTOCENTER 0x61
-
-/*
- * ff->playback(effect_id = FF_GAIN) is the first effect_id to
- * cause a collision with another ff method, in this case ff->set_gain().
- * Therefore the greatest safe value for effect_id is FF_GAIN - 1,
- * and thus the total number of effects should never exceed FF_GAIN.
- */
-#define FF_MAX_EFFECTS FF_GAIN
-
-#define FF_MAX 0x7f
-#define FF_CNT (FF_MAX+1)
-
-#endif /* _INPUT_H */
diff --git a/linux-headers/include/linux/ioctl.h b/linux-headers/include/linux/ioctl.h
deleted file mode 100644
index aa91eb3..0000000
--- a/linux-headers/include/linux/ioctl.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _LINUX_IOCTL_H
-#define _LINUX_IOCTL_H
-
-#include <asm/ioctl.h>
-
-#endif /* _LINUX_IOCTL_H */
-
diff --git a/linux-headers/include/linux/ip.h b/linux-headers/include/linux/ip.h
deleted file mode 100644
index 1907284..0000000
--- a/linux-headers/include/linux/ip.h
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the IP protocol.
- *
- * Version: @(#)ip.h 1.0.2 04/28/93
- *
- * Authors: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_IP_H
-#define _LINUX_IP_H
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-#define IPTOS_TOS_MASK 0x1E
-#define IPTOS_TOS(tos) ((tos)&IPTOS_TOS_MASK)
-#define IPTOS_LOWDELAY 0x10
-#define IPTOS_THROUGHPUT 0x08
-#define IPTOS_RELIABILITY 0x04
-#define IPTOS_MINCOST 0x02
-
-#define IPTOS_PREC_MASK 0xE0
-#define IPTOS_PREC(tos) ((tos)&IPTOS_PREC_MASK)
-#define IPTOS_PREC_NETCONTROL 0xe0
-#define IPTOS_PREC_INTERNETCONTROL 0xc0
-#define IPTOS_PREC_CRITIC_ECP 0xa0
-#define IPTOS_PREC_FLASHOVERRIDE 0x80
-#define IPTOS_PREC_FLASH 0x60
-#define IPTOS_PREC_IMMEDIATE 0x40
-#define IPTOS_PREC_PRIORITY 0x20
-#define IPTOS_PREC_ROUTINE 0x00
-
-
-/* IP options */
-#define IPOPT_COPY 0x80
-#define IPOPT_CLASS_MASK 0x60
-#define IPOPT_NUMBER_MASK 0x1f
-
-#define IPOPT_COPIED(o) ((o)&IPOPT_COPY)
-#define IPOPT_CLASS(o) ((o)&IPOPT_CLASS_MASK)
-#define IPOPT_NUMBER(o) ((o)&IPOPT_NUMBER_MASK)
-
-#define IPOPT_CONTROL 0x00
-#define IPOPT_RESERVED1 0x20
-#define IPOPT_MEASUREMENT 0x40
-#define IPOPT_RESERVED2 0x60
-
-#define IPOPT_END (0 |IPOPT_CONTROL)
-#define IPOPT_NOOP (1 |IPOPT_CONTROL)
-#define IPOPT_SEC (2 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_LSRR (3 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_TIMESTAMP (4 |IPOPT_MEASUREMENT)
-#define IPOPT_CIPSO (6 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_RR (7 |IPOPT_CONTROL)
-#define IPOPT_SID (8 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_SSRR (9 |IPOPT_CONTROL|IPOPT_COPY)
-#define IPOPT_RA (20|IPOPT_CONTROL|IPOPT_COPY)
-
-#define IPVERSION 4
-#define MAXTTL 255
-#define IPDEFTTL 64
-
-#define IPOPT_OPTVAL 0
-#define IPOPT_OLEN 1
-#define IPOPT_OFFSET 2
-#define IPOPT_MINOFF 4
-#define MAX_IPOPTLEN 40
-#define IPOPT_NOP IPOPT_NOOP
-#define IPOPT_EOL IPOPT_END
-#define IPOPT_TS IPOPT_TIMESTAMP
-
-#define IPOPT_TS_TSONLY 0 /* timestamps only */
-#define IPOPT_TS_TSANDADDR 1 /* timestamps and addresses */
-#define IPOPT_TS_PRESPEC 3 /* specified modules only */
-
-#define IPV4_BEET_PHMAXLEN 8
-
-struct iphdr {
-#if defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 ihl:4,
- version:4;
-#elif defined (__BIG_ENDIAN_BITFIELD)
- __u8 version:4,
- ihl:4;
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
- __u8 tos;
- __be16 tot_len;
- __be16 id;
- __be16 frag_off;
- __u8 ttl;
- __u8 protocol;
- __sum16 check;
- __be32 saddr;
- __be32 daddr;
- /*The options start here. */
-};
-
-
-struct ip_auth_hdr {
- __u8 nexthdr;
- __u8 hdrlen; /* This one is measured in 32 bit units! */
- __be16 reserved;
- __be32 spi;
- __be32 seq_no; /* Sequence number */
- __u8 auth_data[0]; /* Variable len but >=4. Mind the 64 bit alignment! */
-};
-
-struct ip_esp_hdr {
- __be32 spi;
- __be32 seq_no; /* Sequence number */
- __u8 enc_data[0]; /* Variable len but >=8. Mind the 64 bit alignment! */
-};
-
-struct ip_comp_hdr {
- __u8 nexthdr;
- __u8 flags;
- __be16 cpi;
-};
-
-struct ip_beet_phdr {
- __u8 nexthdr;
- __u8 hdrlen;
- __u8 padlen;
- __u8 reserved;
-};
-
-/* index values for the variables in ipv4_devconf */
-enum
-{
- IPV4_DEVCONF_FORWARDING=1,
- IPV4_DEVCONF_MC_FORWARDING,
- IPV4_DEVCONF_PROXY_ARP,
- IPV4_DEVCONF_ACCEPT_REDIRECTS,
- IPV4_DEVCONF_SECURE_REDIRECTS,
- IPV4_DEVCONF_SEND_REDIRECTS,
- IPV4_DEVCONF_SHARED_MEDIA,
- IPV4_DEVCONF_RP_FILTER,
- IPV4_DEVCONF_ACCEPT_SOURCE_ROUTE,
- IPV4_DEVCONF_BOOTP_RELAY,
- IPV4_DEVCONF_LOG_MARTIANS,
- IPV4_DEVCONF_TAG,
- IPV4_DEVCONF_ARPFILTER,
- IPV4_DEVCONF_MEDIUM_ID,
- IPV4_DEVCONF_NOXFRM,
- IPV4_DEVCONF_NOPOLICY,
- IPV4_DEVCONF_FORCE_IGMP_VERSION,
- IPV4_DEVCONF_ARP_ANNOUNCE,
- IPV4_DEVCONF_ARP_IGNORE,
- IPV4_DEVCONF_PROMOTE_SECONDARIES,
- IPV4_DEVCONF_ARP_ACCEPT,
- IPV4_DEVCONF_ARP_NOTIFY,
- IPV4_DEVCONF_ACCEPT_LOCAL,
- IPV4_DEVCONF_SRC_VMARK,
- IPV4_DEVCONF_PROXY_ARP_PVLAN,
- IPV4_DEVCONF_ROUTE_LOCALNET,
- IPV4_DEVCONF_IGMPV2_UNSOLICITED_REPORT_INTERVAL,
- IPV4_DEVCONF_IGMPV3_UNSOLICITED_REPORT_INTERVAL,
- IPV4_DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN,
- IPV4_DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
- IPV4_DEVCONF_DROP_GRATUITOUS_ARP,
- __IPV4_DEVCONF_MAX
-};
-
-#define IPV4_DEVCONF_MAX (__IPV4_DEVCONF_MAX - 1)
-
-#endif /* _LINUX_IP_H */
diff --git a/linux-headers/include/linux/ip6_tunnel.h b/linux-headers/include/linux/ip6_tunnel.h
deleted file mode 100644
index 48af63c..0000000
--- a/linux-headers/include/linux/ip6_tunnel.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef _IP6_TUNNEL_H
-#define _IP6_TUNNEL_H
-
-#include <linux/types.h>
-
-#define IPV6_TLV_TNL_ENCAP_LIMIT 4
-#define IPV6_DEFAULT_TNL_ENCAP_LIMIT 4
-
-/* don't add encapsulation limit if one isn't present in inner packet */
-#define IP6_TNL_F_IGN_ENCAP_LIMIT 0x1
-/* copy the traffic class field from the inner packet */
-#define IP6_TNL_F_USE_ORIG_TCLASS 0x2
-/* copy the flowlabel from the inner packet */
-#define IP6_TNL_F_USE_ORIG_FLOWLABEL 0x4
-/* being used for Mobile IPv6 */
-#define IP6_TNL_F_MIP6_DEV 0x8
-/* copy DSCP from the outer packet */
-#define IP6_TNL_F_RCV_DSCP_COPY 0x10
-/* copy fwmark from inner packet */
-#define IP6_TNL_F_USE_ORIG_FWMARK 0x20
-
-struct ip6_tnl_parm {
- char name[IFNAMSIZ]; /* name of tunnel device */
- int link; /* ifindex of underlying L2 interface */
- __u8 proto; /* tunnel protocol */
- __u8 encap_limit; /* encapsulation limit for tunnel */
- __u8 hop_limit; /* hop limit for tunnel */
- __be32 flowinfo; /* traffic class and flowlabel for tunnel */
- __u32 flags; /* tunnel flags */
- struct in6_addr laddr; /* local tunnel end-point address */
- struct in6_addr raddr; /* remote tunnel end-point address */
-};
-
-struct ip6_tnl_parm2 {
- char name[IFNAMSIZ]; /* name of tunnel device */
- int link; /* ifindex of underlying L2 interface */
- __u8 proto; /* tunnel protocol */
- __u8 encap_limit; /* encapsulation limit for tunnel */
- __u8 hop_limit; /* hop limit for tunnel */
- __be32 flowinfo; /* traffic class and flowlabel for tunnel */
- __u32 flags; /* tunnel flags */
- struct in6_addr laddr; /* local tunnel end-point address */
- struct in6_addr raddr; /* remote tunnel end-point address */
-
- __be16 i_flags;
- __be16 o_flags;
- __be32 i_key;
- __be32 o_key;
-};
-
-#endif
diff --git a/linux-headers/include/linux/ip_vs.h b/linux-headers/include/linux/ip_vs.h
deleted file mode 100644
index 391395c..0000000
--- a/linux-headers/include/linux/ip_vs.h
+++ /dev/null
@@ -1,453 +0,0 @@
-/*
- * IP Virtual Server
- * data structure and functionality definitions
- */
-
-#ifndef _IP_VS_H
-#define _IP_VS_H
-
-#include <linux/types.h> /* For __beXX types in userland */
-
-#define IP_VS_VERSION_CODE 0x010201
-#define NVERSION(version) \
- (version >> 16) & 0xFF, \
- (version >> 8) & 0xFF, \
- version & 0xFF
-
-/*
- * Virtual Service Flags
- */
-#define IP_VS_SVC_F_PERSISTENT 0x0001 /* persistent port */
-#define IP_VS_SVC_F_HASHED 0x0002 /* hashed entry */
-#define IP_VS_SVC_F_ONEPACKET 0x0004 /* one-packet scheduling */
-#define IP_VS_SVC_F_SCHED1 0x0008 /* scheduler flag 1 */
-#define IP_VS_SVC_F_SCHED2 0x0010 /* scheduler flag 2 */
-#define IP_VS_SVC_F_SCHED3 0x0020 /* scheduler flag 3 */
-
-#define IP_VS_SVC_F_SCHED_SH_FALLBACK IP_VS_SVC_F_SCHED1 /* SH fallback */
-#define IP_VS_SVC_F_SCHED_SH_PORT IP_VS_SVC_F_SCHED2 /* SH use port */
-
-/*
- * Destination Server Flags
- */
-#define IP_VS_DEST_F_AVAILABLE 0x0001 /* server is available */
-#define IP_VS_DEST_F_OVERLOAD 0x0002 /* server is overloaded */
-
-/*
- * IPVS sync daemon states
- */
-#define IP_VS_STATE_NONE 0x0000 /* daemon is stopped */
-#define IP_VS_STATE_MASTER 0x0001 /* started as master */
-#define IP_VS_STATE_BACKUP 0x0002 /* started as backup */
-
-/*
- * IPVS socket options
- */
-#define IP_VS_BASE_CTL (64+1024+64) /* base */
-
-#define IP_VS_SO_SET_NONE IP_VS_BASE_CTL /* just peek */
-#define IP_VS_SO_SET_INSERT (IP_VS_BASE_CTL+1)
-#define IP_VS_SO_SET_ADD (IP_VS_BASE_CTL+2)
-#define IP_VS_SO_SET_EDIT (IP_VS_BASE_CTL+3)
-#define IP_VS_SO_SET_DEL (IP_VS_BASE_CTL+4)
-#define IP_VS_SO_SET_FLUSH (IP_VS_BASE_CTL+5)
-#define IP_VS_SO_SET_LIST (IP_VS_BASE_CTL+6)
-#define IP_VS_SO_SET_ADDDEST (IP_VS_BASE_CTL+7)
-#define IP_VS_SO_SET_DELDEST (IP_VS_BASE_CTL+8)
-#define IP_VS_SO_SET_EDITDEST (IP_VS_BASE_CTL+9)
-#define IP_VS_SO_SET_TIMEOUT (IP_VS_BASE_CTL+10)
-#define IP_VS_SO_SET_STARTDAEMON (IP_VS_BASE_CTL+11)
-#define IP_VS_SO_SET_STOPDAEMON (IP_VS_BASE_CTL+12)
-#define IP_VS_SO_SET_RESTORE (IP_VS_BASE_CTL+13)
-#define IP_VS_SO_SET_SAVE (IP_VS_BASE_CTL+14)
-#define IP_VS_SO_SET_ZERO (IP_VS_BASE_CTL+15)
-#define IP_VS_SO_SET_MAX IP_VS_SO_SET_ZERO
-
-#define IP_VS_SO_GET_VERSION IP_VS_BASE_CTL
-#define IP_VS_SO_GET_INFO (IP_VS_BASE_CTL+1)
-#define IP_VS_SO_GET_SERVICES (IP_VS_BASE_CTL+2)
-#define IP_VS_SO_GET_SERVICE (IP_VS_BASE_CTL+3)
-#define IP_VS_SO_GET_DESTS (IP_VS_BASE_CTL+4)
-#define IP_VS_SO_GET_DEST (IP_VS_BASE_CTL+5) /* not used now */
-#define IP_VS_SO_GET_TIMEOUT (IP_VS_BASE_CTL+6)
-#define IP_VS_SO_GET_DAEMON (IP_VS_BASE_CTL+7)
-#define IP_VS_SO_GET_MAX IP_VS_SO_GET_DAEMON
-
-
-/*
- * IPVS Connection Flags
- * Only flags 0..15 are sent to backup server
- */
-#define IP_VS_CONN_F_FWD_MASK 0x0007 /* mask for the fwd methods */
-#define IP_VS_CONN_F_MASQ 0x0000 /* masquerading/NAT */
-#define IP_VS_CONN_F_LOCALNODE 0x0001 /* local node */
-#define IP_VS_CONN_F_TUNNEL 0x0002 /* tunneling */
-#define IP_VS_CONN_F_DROUTE 0x0003 /* direct routing */
-#define IP_VS_CONN_F_BYPASS 0x0004 /* cache bypass */
-#define IP_VS_CONN_F_SYNC 0x0020 /* entry created by sync */
-#define IP_VS_CONN_F_HASHED 0x0040 /* hashed entry */
-#define IP_VS_CONN_F_NOOUTPUT 0x0080 /* no output packets */
-#define IP_VS_CONN_F_INACTIVE 0x0100 /* not established */
-#define IP_VS_CONN_F_OUT_SEQ 0x0200 /* must do output seq adjust */
-#define IP_VS_CONN_F_IN_SEQ 0x0400 /* must do input seq adjust */
-#define IP_VS_CONN_F_SEQ_MASK 0x0600 /* in/out sequence mask */
-#define IP_VS_CONN_F_NO_CPORT 0x0800 /* no client port set yet */
-#define IP_VS_CONN_F_TEMPLATE 0x1000 /* template, not connection */
-#define IP_VS_CONN_F_ONE_PACKET 0x2000 /* forward only one packet */
-
-/* Initial bits allowed in backup server */
-#define IP_VS_CONN_F_BACKUP_MASK (IP_VS_CONN_F_FWD_MASK | \
- IP_VS_CONN_F_NOOUTPUT | \
- IP_VS_CONN_F_INACTIVE | \
- IP_VS_CONN_F_SEQ_MASK | \
- IP_VS_CONN_F_NO_CPORT | \
- IP_VS_CONN_F_TEMPLATE \
- )
-
-/* Bits allowed to update in backup server */
-#define IP_VS_CONN_F_BACKUP_UPD_MASK (IP_VS_CONN_F_INACTIVE | \
- IP_VS_CONN_F_SEQ_MASK)
-
-/* Flags that are not sent to backup server start from bit 16 */
-#define IP_VS_CONN_F_NFCT (1 << 16) /* use netfilter conntrack */
-
-/* Connection flags from destination that can be changed by user space */
-#define IP_VS_CONN_F_DEST_MASK (IP_VS_CONN_F_FWD_MASK | \
- IP_VS_CONN_F_ONE_PACKET | \
- IP_VS_CONN_F_NFCT | \
- 0)
-
-#define IP_VS_SCHEDNAME_MAXLEN 16
-#define IP_VS_PENAME_MAXLEN 16
-#define IP_VS_IFNAME_MAXLEN 16
-
-#define IP_VS_PEDATA_MAXLEN 255
-
-/*
- * The struct ip_vs_service_user and struct ip_vs_dest_user are
- * used to set IPVS rules through setsockopt.
- */
-struct ip_vs_service_user {
- /* virtual service addresses */
- __u16 protocol;
- __be32 addr; /* virtual ip address */
- __be16 port;
- __u32 fwmark; /* firwall mark of service */
-
- /* virtual service options */
- char sched_name[IP_VS_SCHEDNAME_MAXLEN];
- unsigned int flags; /* virtual service flags */
- unsigned int timeout; /* persistent timeout in sec */
- __be32 netmask; /* persistent netmask */
-};
-
-
-struct ip_vs_dest_user {
- /* destination server address */
- __be32 addr;
- __be16 port;
-
- /* real server options */
- unsigned int conn_flags; /* connection flags */
- int weight; /* destination weight */
-
- /* thresholds for active connections */
- __u32 u_threshold; /* upper threshold */
- __u32 l_threshold; /* lower threshold */
-};
-
-
-/*
- * IPVS statistics object (for user space)
- */
-struct ip_vs_stats_user {
- __u32 conns; /* connections scheduled */
- __u32 inpkts; /* incoming packets */
- __u32 outpkts; /* outgoing packets */
- __u64 inbytes; /* incoming bytes */
- __u64 outbytes; /* outgoing bytes */
-
- __u32 cps; /* current connection rate */
- __u32 inpps; /* current in packet rate */
- __u32 outpps; /* current out packet rate */
- __u32 inbps; /* current in byte rate */
- __u32 outbps; /* current out byte rate */
-};
-
-
-/* The argument to IP_VS_SO_GET_INFO */
-struct ip_vs_getinfo {
- /* version number */
- unsigned int version;
-
- /* size of connection hash table */
- unsigned int size;
-
- /* number of virtual services */
- unsigned int num_services;
-};
-
-
-/* The argument to IP_VS_SO_GET_SERVICE */
-struct ip_vs_service_entry {
- /* which service: user fills in these */
- __u16 protocol;
- __be32 addr; /* virtual address */
- __be16 port;
- __u32 fwmark; /* firwall mark of service */
-
- /* service options */
- char sched_name[IP_VS_SCHEDNAME_MAXLEN];
- unsigned int flags; /* virtual service flags */
- unsigned int timeout; /* persistent timeout */
- __be32 netmask; /* persistent netmask */
-
- /* number of real servers */
- unsigned int num_dests;
-
- /* statistics */
- struct ip_vs_stats_user stats;
-};
-
-
-struct ip_vs_dest_entry {
- __be32 addr; /* destination address */
- __be16 port;
- unsigned int conn_flags; /* connection flags */
- int weight; /* destination weight */
-
- __u32 u_threshold; /* upper threshold */
- __u32 l_threshold; /* lower threshold */
-
- __u32 activeconns; /* active connections */
- __u32 inactconns; /* inactive connections */
- __u32 persistconns; /* persistent connections */
-
- /* statistics */
- struct ip_vs_stats_user stats;
-};
-
-
-/* The argument to IP_VS_SO_GET_DESTS */
-struct ip_vs_get_dests {
- /* which service: user fills in these */
- __u16 protocol;
- __be32 addr; /* virtual address */
- __be16 port;
- __u32 fwmark; /* firwall mark of service */
-
- /* number of real servers */
- unsigned int num_dests;
-
- /* the real servers */
- struct ip_vs_dest_entry entrytable[0];
-};
-
-
-/* The argument to IP_VS_SO_GET_SERVICES */
-struct ip_vs_get_services {
- /* number of virtual services */
- unsigned int num_services;
-
- /* service table */
- struct ip_vs_service_entry entrytable[0];
-};
-
-
-/* The argument to IP_VS_SO_GET_TIMEOUT */
-struct ip_vs_timeout_user {
- int tcp_timeout;
- int tcp_fin_timeout;
- int udp_timeout;
-};
-
-
-/* The argument to IP_VS_SO_GET_DAEMON */
-struct ip_vs_daemon_user {
- /* sync daemon state (master/backup) */
- int state;
-
- /* multicast interface name */
- char mcast_ifn[IP_VS_IFNAME_MAXLEN];
-
- /* SyncID we belong to */
- int syncid;
-};
-
-/*
- *
- * IPVS Generic Netlink interface definitions
- *
- */
-
-/* Generic Netlink family info */
-
-#define IPVS_GENL_NAME "IPVS"
-#define IPVS_GENL_VERSION 0x1
-
-struct ip_vs_flags {
- __u32 flags;
- __u32 mask;
-};
-
-/* Generic Netlink command attributes */
-enum {
- IPVS_CMD_UNSPEC = 0,
-
- IPVS_CMD_NEW_SERVICE, /* add service */
- IPVS_CMD_SET_SERVICE, /* modify service */
- IPVS_CMD_DEL_SERVICE, /* delete service */
- IPVS_CMD_GET_SERVICE, /* get service info */
-
- IPVS_CMD_NEW_DEST, /* add destination */
- IPVS_CMD_SET_DEST, /* modify destination */
- IPVS_CMD_DEL_DEST, /* delete destination */
- IPVS_CMD_GET_DEST, /* get destination info */
-
- IPVS_CMD_NEW_DAEMON, /* start sync daemon */
- IPVS_CMD_DEL_DAEMON, /* stop sync daemon */
- IPVS_CMD_GET_DAEMON, /* get sync daemon status */
-
- IPVS_CMD_SET_CONFIG, /* set config settings */
- IPVS_CMD_GET_CONFIG, /* get config settings */
-
- IPVS_CMD_SET_INFO, /* only used in GET_INFO reply */
- IPVS_CMD_GET_INFO, /* get general IPVS info */
-
- IPVS_CMD_ZERO, /* zero all counters and stats */
- IPVS_CMD_FLUSH, /* flush services and dests */
-
- __IPVS_CMD_MAX,
-};
-
-#define IPVS_CMD_MAX (__IPVS_CMD_MAX - 1)
-
-/* Attributes used in the first level of commands */
-enum {
- IPVS_CMD_ATTR_UNSPEC = 0,
- IPVS_CMD_ATTR_SERVICE, /* nested service attribute */
- IPVS_CMD_ATTR_DEST, /* nested destination attribute */
- IPVS_CMD_ATTR_DAEMON, /* nested sync daemon attribute */
- IPVS_CMD_ATTR_TIMEOUT_TCP, /* TCP connection timeout */
- IPVS_CMD_ATTR_TIMEOUT_TCP_FIN, /* TCP FIN wait timeout */
- IPVS_CMD_ATTR_TIMEOUT_UDP, /* UDP timeout */
- __IPVS_CMD_ATTR_MAX,
-};
-
-#define IPVS_CMD_ATTR_MAX (__IPVS_CMD_ATTR_MAX - 1)
-
-/*
- * Attributes used to describe a service
- *
- * Used inside nested attribute IPVS_CMD_ATTR_SERVICE
- */
-enum {
- IPVS_SVC_ATTR_UNSPEC = 0,
- IPVS_SVC_ATTR_AF, /* address family */
- IPVS_SVC_ATTR_PROTOCOL, /* virtual service protocol */
- IPVS_SVC_ATTR_ADDR, /* virtual service address */
- IPVS_SVC_ATTR_PORT, /* virtual service port */
- IPVS_SVC_ATTR_FWMARK, /* firewall mark of service */
-
- IPVS_SVC_ATTR_SCHED_NAME, /* name of scheduler */
- IPVS_SVC_ATTR_FLAGS, /* virtual service flags */
- IPVS_SVC_ATTR_TIMEOUT, /* persistent timeout */
- IPVS_SVC_ATTR_NETMASK, /* persistent netmask */
-
- IPVS_SVC_ATTR_STATS, /* nested attribute for service stats */
-
- IPVS_SVC_ATTR_PE_NAME, /* name of ct retriever */
-
- IPVS_SVC_ATTR_STATS64, /* nested attribute for service stats */
-
- __IPVS_SVC_ATTR_MAX,
-};
-
-#define IPVS_SVC_ATTR_MAX (__IPVS_SVC_ATTR_MAX - 1)
-
-/*
- * Attributes used to describe a destination (real server)
- *
- * Used inside nested attribute IPVS_CMD_ATTR_DEST
- */
-enum {
- IPVS_DEST_ATTR_UNSPEC = 0,
- IPVS_DEST_ATTR_ADDR, /* real server address */
- IPVS_DEST_ATTR_PORT, /* real server port */
-
- IPVS_DEST_ATTR_FWD_METHOD, /* forwarding method */
- IPVS_DEST_ATTR_WEIGHT, /* destination weight */
-
- IPVS_DEST_ATTR_U_THRESH, /* upper threshold */
- IPVS_DEST_ATTR_L_THRESH, /* lower threshold */
-
- IPVS_DEST_ATTR_ACTIVE_CONNS, /* active connections */
- IPVS_DEST_ATTR_INACT_CONNS, /* inactive connections */
- IPVS_DEST_ATTR_PERSIST_CONNS, /* persistent connections */
-
- IPVS_DEST_ATTR_STATS, /* nested attribute for dest stats */
-
- IPVS_DEST_ATTR_ADDR_FAMILY, /* Address family of address */
-
- IPVS_DEST_ATTR_STATS64, /* nested attribute for dest stats */
-
- __IPVS_DEST_ATTR_MAX,
-};
-
-#define IPVS_DEST_ATTR_MAX (__IPVS_DEST_ATTR_MAX - 1)
-
-/*
- * Attributes describing a sync daemon
- *
- * Used inside nested attribute IPVS_CMD_ATTR_DAEMON
- */
-enum {
- IPVS_DAEMON_ATTR_UNSPEC = 0,
- IPVS_DAEMON_ATTR_STATE, /* sync daemon state (master/backup) */
- IPVS_DAEMON_ATTR_MCAST_IFN, /* multicast interface name */
- IPVS_DAEMON_ATTR_SYNC_ID, /* SyncID we belong to */
- IPVS_DAEMON_ATTR_SYNC_MAXLEN, /* UDP Payload Size */
- IPVS_DAEMON_ATTR_MCAST_GROUP, /* IPv4 Multicast Address */
- IPVS_DAEMON_ATTR_MCAST_GROUP6, /* IPv6 Multicast Address */
- IPVS_DAEMON_ATTR_MCAST_PORT, /* Multicast Port (base) */
- IPVS_DAEMON_ATTR_MCAST_TTL, /* Multicast TTL */
- __IPVS_DAEMON_ATTR_MAX,
-};
-
-#define IPVS_DAEMON_ATTR_MAX (__IPVS_DAEMON_ATTR_MAX - 1)
-
-/*
- * Attributes used to describe service or destination entry statistics
- *
- * Used inside nested attributes IPVS_SVC_ATTR_STATS, IPVS_DEST_ATTR_STATS,
- * IPVS_SVC_ATTR_STATS64 and IPVS_DEST_ATTR_STATS64.
- */
-enum {
- IPVS_STATS_ATTR_UNSPEC = 0,
- IPVS_STATS_ATTR_CONNS, /* connections scheduled */
- IPVS_STATS_ATTR_INPKTS, /* incoming packets */
- IPVS_STATS_ATTR_OUTPKTS, /* outgoing packets */
- IPVS_STATS_ATTR_INBYTES, /* incoming bytes */
- IPVS_STATS_ATTR_OUTBYTES, /* outgoing bytes */
-
- IPVS_STATS_ATTR_CPS, /* current connection rate */
- IPVS_STATS_ATTR_INPPS, /* current in packet rate */
- IPVS_STATS_ATTR_OUTPPS, /* current out packet rate */
- IPVS_STATS_ATTR_INBPS, /* current in byte rate */
- IPVS_STATS_ATTR_OUTBPS, /* current out byte rate */
- __IPVS_STATS_ATTR_MAX,
-};
-
-#define IPVS_STATS_ATTR_MAX (__IPVS_STATS_ATTR_MAX - 1)
-
-/* Attributes used in response to IPVS_CMD_GET_INFO command */
-enum {
- IPVS_INFO_ATTR_UNSPEC = 0,
- IPVS_INFO_ATTR_VERSION, /* IPVS version number */
- IPVS_INFO_ATTR_CONN_TAB_SIZE, /* size of connection hash table */
- __IPVS_INFO_ATTR_MAX,
-};
-
-#define IPVS_INFO_ATTR_MAX (__IPVS_INFO_ATTR_MAX - 1)
-
-#endif /* _IP_VS_H */
diff --git a/linux-headers/include/linux/ipc.h b/linux-headers/include/linux/ipc.h
deleted file mode 100644
index 98a53a1..0000000
--- a/linux-headers/include/linux/ipc.h
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef _LINUX_IPC_H
-#define _LINUX_IPC_H
-
-#include <linux/types.h>
-
-#define IPC_PRIVATE ((__kernel_key_t) 0)
-
-/* Obsolete, used only for backwards compatibility and libc5 compiles */
-struct ipc_perm
-{
- __kernel_key_t key;
- __kernel_uid_t uid;
- __kernel_gid_t gid;
- __kernel_uid_t cuid;
- __kernel_gid_t cgid;
- __kernel_mode_t mode;
- unsigned short seq;
-};
-
-/* Include the definition of ipc64_perm */
-#include <asm/ipcbuf.h>
-
-/* resource get request flags */
-#define IPC_CREAT 00001000 /* create if key is nonexistent */
-#define IPC_EXCL 00002000 /* fail if key exists */
-#define IPC_NOWAIT 00004000 /* return error on wait */
-
-/* these fields are used by the DIPC package so the kernel as standard
- should avoid using them if possible */
-
-#define IPC_DIPC 00010000 /* make it distributed */
-#define IPC_OWN 00020000 /* this machine is the DIPC owner */
-
-/*
- * Control commands used with semctl, msgctl and shmctl
- * see also specific commands in sem.h, msg.h and shm.h
- */
-#define IPC_RMID 0 /* remove resource */
-#define IPC_SET 1 /* set ipc_perm options */
-#define IPC_STAT 2 /* get ipc_perm options */
-#define IPC_INFO 3 /* see ipcs */
-
-/*
- * Version flags for semctl, msgctl, and shmctl commands
- * These are passed as bitflags or-ed with the actual command
- */
-#define IPC_OLD 0 /* Old version (no 32-bit UID support on many
- architectures) */
-#define IPC_64 0x0100 /* New version (support 32-bit UIDs, bigger
- message sizes, etc. */
-
-/*
- * These are used to wrap system calls.
- *
- * See architecture code for ugly details..
- */
-struct ipc_kludge {
- struct msgbuf *msgp;
- long msgtyp;
-};
-
-#define SEMOP 1
-#define SEMGET 2
-#define SEMCTL 3
-#define SEMTIMEDOP 4
-#define MSGSND 11
-#define MSGRCV 12
-#define MSGGET 13
-#define MSGCTL 14
-#define SHMAT 21
-#define SHMDT 22
-#define SHMGET 23
-#define SHMCTL 24
-
-/* Used by the DIPC package, try and avoid reusing it */
-#define DIPC 25
-
-#define IPCCALL(version,op) ((version)<<16 | (op))
-
-
-#endif /* _LINUX_IPC_H */
diff --git a/linux-headers/include/linux/ipmi.h b/linux-headers/include/linux/ipmi.h
deleted file mode 100644
index 9077549..0000000
--- a/linux-headers/include/linux/ipmi.h
+++ /dev/null
@@ -1,448 +0,0 @@
-/*
- * ipmi.h
- *
- * MontaVista IPMI interface
- *
- * Author: MontaVista Software, Inc.
- * Corey Minyard <minyard@mvista.com>
- * source@mvista.com
- *
- * Copyright 2002 MontaVista Software Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef __LINUX_IPMI_H
-#define __LINUX_IPMI_H
-
-#include <linux/ipmi_msgdefs.h>
-
-
-/*
- * This file describes an interface to an IPMI driver. You have to
- * have a fairly good understanding of IPMI to use this, so go read
- * the specs first before actually trying to do anything.
- *
- * With that said, this driver provides a multi-user interface to the
- * IPMI driver, and it allows multiple IPMI physical interfaces below
- * the driver. The physical interfaces bind as a lower layer on the
- * driver. They appear as interfaces to the application using this
- * interface.
- *
- * Multi-user means that multiple applications may use the driver,
- * send commands, receive responses, etc. The driver keeps track of
- * commands the user sends and tracks the responses. The responses
- * will go back to the application that send the command. If the
- * response doesn't come back in time, the driver will return a
- * timeout error response to the application. Asynchronous events
- * from the BMC event queue will go to all users bound to the driver.
- * The incoming event queue in the BMC will automatically be flushed
- * if it becomes full and it is queried once a second to see if
- * anything is in it. Incoming commands to the driver will get
- * delivered as commands.
- */
-
-/*
- * This is an overlay for all the address types, so it's easy to
- * determine the actual address type. This is kind of like addresses
- * work for sockets.
- */
-#define IPMI_MAX_ADDR_SIZE 32
-struct ipmi_addr {
- /* Try to take these from the "Channel Medium Type" table
- in section 6.5 of the IPMI 1.5 manual. */
- int addr_type;
- short channel;
- char data[IPMI_MAX_ADDR_SIZE];
-};
-
-/*
- * When the address is not used, the type will be set to this value.
- * The channel is the BMC's channel number for the channel (usually
- * 0), or IPMC_BMC_CHANNEL if communicating directly with the BMC.
- */
-#define IPMI_SYSTEM_INTERFACE_ADDR_TYPE 0x0c
-struct ipmi_system_interface_addr {
- int addr_type;
- short channel;
- unsigned char lun;
-};
-
-/* An IPMB Address. */
-#define IPMI_IPMB_ADDR_TYPE 0x01
-/* Used for broadcast get device id as described in section 17.9 of the
- IPMI 1.5 manual. */
-#define IPMI_IPMB_BROADCAST_ADDR_TYPE 0x41
-struct ipmi_ipmb_addr {
- int addr_type;
- short channel;
- unsigned char slave_addr;
- unsigned char lun;
-};
-
-/*
- * A LAN Address. This is an address to/from a LAN interface bridged
- * by the BMC, not an address actually out on the LAN.
- *
- * A conscious decision was made here to deviate slightly from the IPMI
- * spec. We do not use rqSWID and rsSWID like it shows in the
- * message. Instead, we use remote_SWID and local_SWID. This means
- * that any message (a request or response) from another device will
- * always have exactly the same address. If you didn't do this,
- * requests and responses from the same device would have different
- * addresses, and that's not too cool.
- *
- * In this address, the remote_SWID is always the SWID the remote
- * message came from, or the SWID we are sending the message to.
- * local_SWID is always our SWID. Note that having our SWID in the
- * message is a little weird, but this is required.
- */
-#define IPMI_LAN_ADDR_TYPE 0x04
-struct ipmi_lan_addr {
- int addr_type;
- short channel;
- unsigned char privilege;
- unsigned char session_handle;
- unsigned char remote_SWID;
- unsigned char local_SWID;
- unsigned char lun;
-};
-
-
-/*
- * Channel for talking directly with the BMC. When using this
- * channel, This is for the system interface address type only. FIXME
- * - is this right, or should we use -1?
- */
-#define IPMI_BMC_CHANNEL 0xf
-#define IPMI_NUM_CHANNELS 0x10
-
-/*
- * Used to signify an "all channel" bitmask. This is more than the
- * actual number of channels because this is used in userland and
- * will cover us if the number of channels is extended.
- */
-#define IPMI_CHAN_ALL (~0)
-
-
-/*
- * A raw IPMI message without any addressing. This covers both
- * commands and responses. The completion code is always the first
- * byte of data in the response (as the spec shows the messages laid
- * out).
- */
-struct ipmi_msg {
- unsigned char netfn;
- unsigned char cmd;
- unsigned short data_len;
- unsigned char *data;
-};
-
-struct kernel_ipmi_msg {
- unsigned char netfn;
- unsigned char cmd;
- unsigned short data_len;
- unsigned char *data;
-};
-
-/*
- * Various defines that are useful for IPMI applications.
- */
-#define IPMI_INVALID_CMD_COMPLETION_CODE 0xC1
-#define IPMI_TIMEOUT_COMPLETION_CODE 0xC3
-#define IPMI_UNKNOWN_ERR_COMPLETION_CODE 0xff
-
-
-/*
- * Receive types for messages coming from the receive interface. This
- * is used for the receive in-kernel interface and in the receive
- * IOCTL.
- *
- * The "IPMI_RESPONSE_RESPNOSE_TYPE" is a little strange sounding, but
- * it allows you to get the message results when you send a response
- * message.
- */
-#define IPMI_RESPONSE_RECV_TYPE 1 /* A response to a command */
-#define IPMI_ASYNC_EVENT_RECV_TYPE 2 /* Something from the event queue */
-#define IPMI_CMD_RECV_TYPE 3 /* A command from somewhere else */
-#define IPMI_RESPONSE_RESPONSE_TYPE 4 /* The response for
- a sent response, giving any
- error status for sending the
- response. When you send a
- response message, this will
- be returned. */
-#define IPMI_OEM_RECV_TYPE 5 /* The response for OEM Channels */
-
-/* Note that async events and received commands do not have a completion
- code as the first byte of the incoming data, unlike a response. */
-
-
-/*
- * Modes for ipmi_set_maint_mode() and the userland IOCTL. The AUTO
- * setting is the default and means it will be set on certain
- * commands. Hard setting it on and off will override automatic
- * operation.
- */
-#define IPMI_MAINTENANCE_MODE_AUTO 0
-#define IPMI_MAINTENANCE_MODE_OFF 1
-#define IPMI_MAINTENANCE_MODE_ON 2
-
-
-
-/*
- * The userland interface
- */
-
-/*
- * The userland interface for the IPMI driver is a standard character
- * device, with each instance of an interface registered as a minor
- * number under the major character device.
- *
- * The read and write calls do not work, to get messages in and out
- * requires ioctl calls because of the complexity of the data. select
- * and poll do work, so you can wait for input using the file
- * descriptor, you just can use read to get it.
- *
- * In general, you send a command down to the interface and receive
- * responses back. You can use the msgid value to correlate commands
- * and responses, the driver will take care of figuring out which
- * incoming messages are for which command and find the proper msgid
- * value to report. You will only receive reponses for commands you
- * send. Asynchronous events, however, go to all open users, so you
- * must be ready to handle these (or ignore them if you don't care).
- *
- * The address type depends upon the channel type. When talking
- * directly to the BMC (IPMC_BMC_CHANNEL), the address is ignored
- * (IPMI_UNUSED_ADDR_TYPE). When talking to an IPMB channel, you must
- * supply a valid IPMB address with the addr_type set properly.
- *
- * When talking to normal channels, the driver takes care of the
- * details of formatting and sending messages on that channel. You do
- * not, for instance, have to format a send command, you just send
- * whatever command you want to the channel, the driver will create
- * the send command, automatically issue receive command and get even
- * commands, and pass those up to the proper user.
- */
-
-
-/* The magic IOCTL value for this interface. */
-#define IPMI_IOC_MAGIC 'i'
-
-
-/* Messages sent to the interface are this format. */
-struct ipmi_req {
- unsigned char *addr; /* Address to send the message to. */
- unsigned int addr_len;
-
- long msgid; /* The sequence number for the message. This
- exact value will be reported back in the
- response to this request if it is a command.
- If it is a response, this will be used as
- the sequence value for the response. */
-
- struct ipmi_msg msg;
-};
-/*
- * Send a message to the interfaces. error values are:
- * - EFAULT - an address supplied was invalid.
- * - EINVAL - The address supplied was not valid, or the command
- * was not allowed.
- * - EMSGSIZE - The message to was too large.
- * - ENOMEM - Buffers could not be allocated for the command.
- */
-#define IPMICTL_SEND_COMMAND _IOR(IPMI_IOC_MAGIC, 13, \
- struct ipmi_req)
-
-/* Messages sent to the interface with timing parameters are this
- format. */
-struct ipmi_req_settime {
- struct ipmi_req req;
-
- /* See ipmi_request_settime() above for details on these
- values. */
- int retries;
- unsigned int retry_time_ms;
-};
-/*
- * Send a message to the interfaces with timing parameters. error values
- * are:
- * - EFAULT - an address supplied was invalid.
- * - EINVAL - The address supplied was not valid, or the command
- * was not allowed.
- * - EMSGSIZE - The message to was too large.
- * - ENOMEM - Buffers could not be allocated for the command.
- */
-#define IPMICTL_SEND_COMMAND_SETTIME _IOR(IPMI_IOC_MAGIC, 21, \
- struct ipmi_req_settime)
-
-/* Messages received from the interface are this format. */
-struct ipmi_recv {
- int recv_type; /* Is this a command, response or an
- asyncronous event. */
-
- unsigned char *addr; /* Address the message was from is put
- here. The caller must supply the
- memory. */
- unsigned int addr_len; /* The size of the address buffer.
- The caller supplies the full buffer
- length, this value is updated to
- the actual message length when the
- message is received. */
-
- long msgid; /* The sequence number specified in the request
- if this is a response. If this is a command,
- this will be the sequence number from the
- command. */
-
- struct ipmi_msg msg; /* The data field must point to a buffer.
- The data_size field must be set to the
- size of the message buffer. The
- caller supplies the full buffer
- length, this value is updated to the
- actual message length when the message
- is received. */
-};
-
-/*
- * Receive a message. error values:
- * - EAGAIN - no messages in the queue.
- * - EFAULT - an address supplied was invalid.
- * - EINVAL - The address supplied was not valid.
- * - EMSGSIZE - The message to was too large to fit into the message buffer,
- * the message will be left in the buffer. */
-#define IPMICTL_RECEIVE_MSG _IOWR(IPMI_IOC_MAGIC, 12, \
- struct ipmi_recv)
-
-/*
- * Like RECEIVE_MSG, but if the message won't fit in the buffer, it
- * will truncate the contents instead of leaving the data in the
- * buffer.
- */
-#define IPMICTL_RECEIVE_MSG_TRUNC _IOWR(IPMI_IOC_MAGIC, 11, \
- struct ipmi_recv)
-
-/* Register to get commands from other entities on this interface. */
-struct ipmi_cmdspec {
- unsigned char netfn;
- unsigned char cmd;
-};
-
-/*
- * Register to receive a specific command. error values:
- * - EFAULT - an address supplied was invalid.
- * - EBUSY - The netfn/cmd supplied was already in use.
- * - ENOMEM - could not allocate memory for the entry.
- */
-#define IPMICTL_REGISTER_FOR_CMD _IOR(IPMI_IOC_MAGIC, 14, \
- struct ipmi_cmdspec)
-/*
- * Unregister a regsitered command. error values:
- * - EFAULT - an address supplied was invalid.
- * - ENOENT - The netfn/cmd was not found registered for this user.
- */
-#define IPMICTL_UNREGISTER_FOR_CMD _IOR(IPMI_IOC_MAGIC, 15, \
- struct ipmi_cmdspec)
-
-/*
- * Register to get commands from other entities on specific channels.
- * This way, you can only listen on specific channels, or have messages
- * from some channels go to one place and other channels to someplace
- * else. The chans field is a bitmask, (1 << channel) for each channel.
- * It may be IPMI_CHAN_ALL for all channels.
- */
-struct ipmi_cmdspec_chans {
- unsigned int netfn;
- unsigned int cmd;
- unsigned int chans;
-};
-
-/*
- * Register to receive a specific command on specific channels. error values:
- * - EFAULT - an address supplied was invalid.
- * - EBUSY - One of the netfn/cmd/chans supplied was already in use.
- * - ENOMEM - could not allocate memory for the entry.
- */
-#define IPMICTL_REGISTER_FOR_CMD_CHANS _IOR(IPMI_IOC_MAGIC, 28, \
- struct ipmi_cmdspec_chans)
-/*
- * Unregister some netfn/cmd/chans. error values:
- * - EFAULT - an address supplied was invalid.
- * - ENOENT - None of the netfn/cmd/chans were found registered for this user.
- */
-#define IPMICTL_UNREGISTER_FOR_CMD_CHANS _IOR(IPMI_IOC_MAGIC, 29, \
- struct ipmi_cmdspec_chans)
-
-/*
- * Set whether this interface receives events. Note that the first
- * user registered for events will get all pending events for the
- * interface. error values:
- * - EFAULT - an address supplied was invalid.
- */
-#define IPMICTL_SET_GETS_EVENTS_CMD _IOR(IPMI_IOC_MAGIC, 16, int)
-
-/*
- * Set and get the slave address and LUN that we will use for our
- * source messages. Note that this affects the interface, not just
- * this user, so it will affect all users of this interface. This is
- * so some initialization code can come in and do the OEM-specific
- * things it takes to determine your address (if not the BMC) and set
- * it for everyone else. You should probably leave the LUN alone.
- */
-struct ipmi_channel_lun_address_set {
- unsigned short channel;
- unsigned char value;
-};
-#define IPMICTL_SET_MY_CHANNEL_ADDRESS_CMD \
- _IOR(IPMI_IOC_MAGIC, 24, struct ipmi_channel_lun_address_set)
-#define IPMICTL_GET_MY_CHANNEL_ADDRESS_CMD \
- _IOR(IPMI_IOC_MAGIC, 25, struct ipmi_channel_lun_address_set)
-#define IPMICTL_SET_MY_CHANNEL_LUN_CMD \
- _IOR(IPMI_IOC_MAGIC, 26, struct ipmi_channel_lun_address_set)
-#define IPMICTL_GET_MY_CHANNEL_LUN_CMD \
- _IOR(IPMI_IOC_MAGIC, 27, struct ipmi_channel_lun_address_set)
-/* Legacy interfaces, these only set IPMB 0. */
-#define IPMICTL_SET_MY_ADDRESS_CMD _IOR(IPMI_IOC_MAGIC, 17, unsigned int)
-#define IPMICTL_GET_MY_ADDRESS_CMD _IOR(IPMI_IOC_MAGIC, 18, unsigned int)
-#define IPMICTL_SET_MY_LUN_CMD _IOR(IPMI_IOC_MAGIC, 19, unsigned int)
-#define IPMICTL_GET_MY_LUN_CMD _IOR(IPMI_IOC_MAGIC, 20, unsigned int)
-
-/*
- * Get/set the default timing values for an interface. You shouldn't
- * generally mess with these.
- */
-struct ipmi_timing_parms {
- int retries;
- unsigned int retry_time_ms;
-};
-#define IPMICTL_SET_TIMING_PARMS_CMD _IOR(IPMI_IOC_MAGIC, 22, \
- struct ipmi_timing_parms)
-#define IPMICTL_GET_TIMING_PARMS_CMD _IOR(IPMI_IOC_MAGIC, 23, \
- struct ipmi_timing_parms)
-
-/*
- * Set the maintenance mode. See ipmi_set_maintenance_mode() above
- * for a description of what this does.
- */
-#define IPMICTL_GET_MAINTENANCE_MODE_CMD _IOR(IPMI_IOC_MAGIC, 30, int)
-#define IPMICTL_SET_MAINTENANCE_MODE_CMD _IOW(IPMI_IOC_MAGIC, 31, int)
-
-#endif /* __LINUX_IPMI_H */
diff --git a/linux-headers/include/linux/ipmi_msgdefs.h b/linux-headers/include/linux/ipmi_msgdefs.h
deleted file mode 100644
index df97e6e..0000000
--- a/linux-headers/include/linux/ipmi_msgdefs.h
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * ipmi_smi.h
- *
- * MontaVista IPMI system management interface
- *
- * Author: MontaVista Software, Inc.
- * Corey Minyard <minyard@mvista.com>
- * source@mvista.com
- *
- * Copyright 2002 MontaVista Software Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
- * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
- * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
- * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
- * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
- * TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
- * USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef __LINUX_IPMI_MSGDEFS_H
-#define __LINUX_IPMI_MSGDEFS_H
-
-/* Various definitions for IPMI messages used by almost everything in
- the IPMI stack. */
-
-/* NetFNs and commands used inside the IPMI stack. */
-
-#define IPMI_NETFN_SENSOR_EVENT_REQUEST 0x04
-#define IPMI_NETFN_SENSOR_EVENT_RESPONSE 0x05
-#define IPMI_GET_EVENT_RECEIVER_CMD 0x01
-
-#define IPMI_NETFN_APP_REQUEST 0x06
-#define IPMI_NETFN_APP_RESPONSE 0x07
-#define IPMI_GET_DEVICE_ID_CMD 0x01
-#define IPMI_COLD_RESET_CMD 0x02
-#define IPMI_WARM_RESET_CMD 0x03
-#define IPMI_CLEAR_MSG_FLAGS_CMD 0x30
-#define IPMI_GET_DEVICE_GUID_CMD 0x08
-#define IPMI_GET_MSG_FLAGS_CMD 0x31
-#define IPMI_SEND_MSG_CMD 0x34
-#define IPMI_GET_MSG_CMD 0x33
-#define IPMI_SET_BMC_GLOBAL_ENABLES_CMD 0x2e
-#define IPMI_GET_BMC_GLOBAL_ENABLES_CMD 0x2f
-#define IPMI_READ_EVENT_MSG_BUFFER_CMD 0x35
-#define IPMI_GET_CHANNEL_INFO_CMD 0x42
-
-/* Bit for BMC global enables. */
-#define IPMI_BMC_RCV_MSG_INTR 0x01
-#define IPMI_BMC_EVT_MSG_INTR 0x02
-#define IPMI_BMC_EVT_MSG_BUFF 0x04
-#define IPMI_BMC_SYS_LOG 0x08
-
-#define IPMI_NETFN_STORAGE_REQUEST 0x0a
-#define IPMI_NETFN_STORAGE_RESPONSE 0x0b
-#define IPMI_ADD_SEL_ENTRY_CMD 0x44
-
-#define IPMI_NETFN_FIRMWARE_REQUEST 0x08
-#define IPMI_NETFN_FIRMWARE_RESPONSE 0x09
-
-/* The default slave address */
-#define IPMI_BMC_SLAVE_ADDR 0x20
-
-/* The BT interface on high-end HP systems supports up to 255 bytes in
- * one transfer. Its "virtual" BMC supports some commands that are longer
- * than 128 bytes. Use the full 256, plus NetFn/LUN, Cmd, cCode, plus
- * some overhead; it's not worth the effort to dynamically size this based
- * on the results of the "Get BT Capabilities" command. */
-#define IPMI_MAX_MSG_LENGTH 272 /* multiple of 16 */
-
-#define IPMI_CC_NO_ERROR 0x00
-#define IPMI_NODE_BUSY_ERR 0xc0
-#define IPMI_INVALID_COMMAND_ERR 0xc1
-#define IPMI_TIMEOUT_ERR 0xc3
-#define IPMI_ERR_MSG_TRUNCATED 0xc6
-#define IPMI_REQ_LEN_INVALID_ERR 0xc7
-#define IPMI_REQ_LEN_EXCEEDED_ERR 0xc8
-#define IPMI_NOT_IN_MY_STATE_ERR 0xd5 /* IPMI 2.0 */
-#define IPMI_LOST_ARBITRATION_ERR 0x81
-#define IPMI_BUS_ERR 0x82
-#define IPMI_NAK_ON_WRITE_ERR 0x83
-#define IPMI_ERR_UNSPECIFIED 0xff
-
-#define IPMI_CHANNEL_PROTOCOL_IPMB 1
-#define IPMI_CHANNEL_PROTOCOL_ICMB 2
-#define IPMI_CHANNEL_PROTOCOL_SMBUS 4
-#define IPMI_CHANNEL_PROTOCOL_KCS 5
-#define IPMI_CHANNEL_PROTOCOL_SMIC 6
-#define IPMI_CHANNEL_PROTOCOL_BT10 7
-#define IPMI_CHANNEL_PROTOCOL_BT15 8
-#define IPMI_CHANNEL_PROTOCOL_TMODE 9
-
-#define IPMI_CHANNEL_MEDIUM_IPMB 1
-#define IPMI_CHANNEL_MEDIUM_ICMB10 2
-#define IPMI_CHANNEL_MEDIUM_ICMB09 3
-#define IPMI_CHANNEL_MEDIUM_8023LAN 4
-#define IPMI_CHANNEL_MEDIUM_ASYNC 5
-#define IPMI_CHANNEL_MEDIUM_OTHER_LAN 6
-#define IPMI_CHANNEL_MEDIUM_PCI_SMBUS 7
-#define IPMI_CHANNEL_MEDIUM_SMBUS1 8
-#define IPMI_CHANNEL_MEDIUM_SMBUS2 9
-#define IPMI_CHANNEL_MEDIUM_USB1 10
-#define IPMI_CHANNEL_MEDIUM_USB2 11
-#define IPMI_CHANNEL_MEDIUM_SYSINTF 12
-#define IPMI_CHANNEL_MEDIUM_OEM_MIN 0x60
-#define IPMI_CHANNEL_MEDIUM_OEM_MAX 0x7f
-
-#endif /* __LINUX_IPMI_MSGDEFS_H */
diff --git a/linux-headers/include/linux/ipsec.h b/linux-headers/include/linux/ipsec.h
deleted file mode 100644
index d17a630..0000000
--- a/linux-headers/include/linux/ipsec.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#ifndef _LINUX_IPSEC_H
-#define _LINUX_IPSEC_H
-
-/* The definitions, required to talk to KAME racoon IKE. */
-
-#include <linux/pfkeyv2.h>
-
-#define IPSEC_PORT_ANY 0
-#define IPSEC_ULPROTO_ANY 255
-#define IPSEC_PROTO_ANY 255
-
-enum {
- IPSEC_MODE_ANY = 0, /* We do not support this for SA */
- IPSEC_MODE_TRANSPORT = 1,
- IPSEC_MODE_TUNNEL = 2,
- IPSEC_MODE_BEET = 3
-};
-
-enum {
- IPSEC_DIR_ANY = 0,
- IPSEC_DIR_INBOUND = 1,
- IPSEC_DIR_OUTBOUND = 2,
- IPSEC_DIR_FWD = 3, /* It is our own */
- IPSEC_DIR_MAX = 4,
- IPSEC_DIR_INVALID = 5
-};
-
-enum {
- IPSEC_POLICY_DISCARD = 0,
- IPSEC_POLICY_NONE = 1,
- IPSEC_POLICY_IPSEC = 2,
- IPSEC_POLICY_ENTRUST = 3,
- IPSEC_POLICY_BYPASS = 4
-};
-
-enum {
- IPSEC_LEVEL_DEFAULT = 0,
- IPSEC_LEVEL_USE = 1,
- IPSEC_LEVEL_REQUIRE = 2,
- IPSEC_LEVEL_UNIQUE = 3
-};
-
-#define IPSEC_MANUAL_REQID_MAX 0x3fff
-
-#define IPSEC_REPLAYWSIZE 32
-
-#endif /* _LINUX_IPSEC_H */
diff --git a/linux-headers/include/linux/ipv6.h b/linux-headers/include/linux/ipv6.h
deleted file mode 100644
index 3a41c66..0000000
--- a/linux-headers/include/linux/ipv6.h
+++ /dev/null
@@ -1,184 +0,0 @@
-#ifndef _IPV6_H
-#define _IPV6_H
-
-#include <linux/libc-compat.h>
-#include <linux/types.h>
-#include <linux/in6.h>
-#include <asm/byteorder.h>
-
-/* The latest drafts declared increase in minimal mtu up to 1280. */
-
-#define IPV6_MIN_MTU 1280
-
-/*
- * Advanced API
- * source interface/address selection, source routing, etc...
- * *under construction*
- */
-
-#if __UAPI_DEF_IN6_PKTINFO
-struct in6_pktinfo {
- struct in6_addr ipi6_addr;
- int ipi6_ifindex;
-};
-#endif
-
-#if __UAPI_DEF_IP6_MTUINFO
-struct ip6_mtuinfo {
- struct sockaddr_in6 ip6m_addr;
- __u32 ip6m_mtu;
-};
-#endif
-
-struct in6_ifreq {
- struct in6_addr ifr6_addr;
- __u32 ifr6_prefixlen;
- int ifr6_ifindex;
-};
-
-#define IPV6_SRCRT_STRICT 0x01 /* Deprecated; will be removed */
-#define IPV6_SRCRT_TYPE_0 0 /* Deprecated; will be removed */
-#define IPV6_SRCRT_TYPE_2 2 /* IPv6 type 2 Routing Header */
-
-/*
- * routing header
- */
-struct ipv6_rt_hdr {
- __u8 nexthdr;
- __u8 hdrlen;
- __u8 type;
- __u8 segments_left;
-
- /*
- * type specific data
- * variable length field
- */
-};
-
-
-struct ipv6_opt_hdr {
- __u8 nexthdr;
- __u8 hdrlen;
- /*
- * TLV encoded option data follows.
- */
-} __attribute__((packed)); /* required for some archs */
-
-#define ipv6_destopt_hdr ipv6_opt_hdr
-#define ipv6_hopopt_hdr ipv6_opt_hdr
-
-/* Router Alert option values (RFC2711) */
-#define IPV6_OPT_ROUTERALERT_MLD 0x0000 /* MLD(RFC2710) */
-
-/*
- * routing header type 0 (used in cmsghdr struct)
- */
-
-struct rt0_hdr {
- struct ipv6_rt_hdr rt_hdr;
- __u32 reserved;
- struct in6_addr addr[0];
-
-#define rt0_type rt_hdr.type
-};
-
-/*
- * routing header type 2
- */
-
-struct rt2_hdr {
- struct ipv6_rt_hdr rt_hdr;
- __u32 reserved;
- struct in6_addr addr;
-
-#define rt2_type rt_hdr.type
-};
-
-/*
- * home address option in destination options header
- */
-
-struct ipv6_destopt_hao {
- __u8 type;
- __u8 length;
- struct in6_addr addr;
-} __attribute__((packed));
-
-/*
- * IPv6 fixed header
- *
- * BEWARE, it is incorrect. The first 4 bits of flow_lbl
- * are glued to priority now, forming "class".
- */
-
-struct ipv6hdr {
-#if defined(__LITTLE_ENDIAN_BITFIELD)
- __u8 priority:4,
- version:4;
-#elif defined(__BIG_ENDIAN_BITFIELD)
- __u8 version:4,
- priority:4;
-#else
-#error "Please fix <asm/byteorder.h>"
-#endif
- __u8 flow_lbl[3];
-
- __be16 payload_len;
- __u8 nexthdr;
- __u8 hop_limit;
-
- struct in6_addr saddr;
- struct in6_addr daddr;
-};
-
-
-/* index values for the variables in ipv6_devconf */
-enum {
- DEVCONF_FORWARDING = 0,
- DEVCONF_HOPLIMIT,
- DEVCONF_MTU6,
- DEVCONF_ACCEPT_RA,
- DEVCONF_ACCEPT_REDIRECTS,
- DEVCONF_AUTOCONF,
- DEVCONF_DAD_TRANSMITS,
- DEVCONF_RTR_SOLICITS,
- DEVCONF_RTR_SOLICIT_INTERVAL,
- DEVCONF_RTR_SOLICIT_DELAY,
- DEVCONF_USE_TEMPADDR,
- DEVCONF_TEMP_VALID_LFT,
- DEVCONF_TEMP_PREFERED_LFT,
- DEVCONF_REGEN_MAX_RETRY,
- DEVCONF_MAX_DESYNC_FACTOR,
- DEVCONF_MAX_ADDRESSES,
- DEVCONF_FORCE_MLD_VERSION,
- DEVCONF_ACCEPT_RA_DEFRTR,
- DEVCONF_ACCEPT_RA_PINFO,
- DEVCONF_ACCEPT_RA_RTR_PREF,
- DEVCONF_RTR_PROBE_INTERVAL,
- DEVCONF_ACCEPT_RA_RT_INFO_MAX_PLEN,
- DEVCONF_PROXY_NDP,
- DEVCONF_OPTIMISTIC_DAD,
- DEVCONF_ACCEPT_SOURCE_ROUTE,
- DEVCONF_MC_FORWARDING,
- DEVCONF_DISABLE_IPV6,
- DEVCONF_ACCEPT_DAD,
- DEVCONF_FORCE_TLLAO,
- DEVCONF_NDISC_NOTIFY,
- DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL,
- DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL,
- DEVCONF_SUPPRESS_FRAG_NDISC,
- DEVCONF_ACCEPT_RA_FROM_LOCAL,
- DEVCONF_USE_OPTIMISTIC,
- DEVCONF_ACCEPT_RA_MTU,
- DEVCONF_STABLE_SECRET,
- DEVCONF_USE_OIF_ADDRS_ONLY,
- DEVCONF_ACCEPT_RA_MIN_HOP_LIMIT,
- DEVCONF_IGNORE_ROUTES_WITH_LINKDOWN,
- DEVCONF_DROP_UNICAST_IN_L2_MULTICAST,
- DEVCONF_DROP_UNSOLICITED_NA,
- DEVCONF_KEEP_ADDR_ON_DOWN,
- DEVCONF_MAX
-};
-
-
-#endif /* _IPV6_H */
diff --git a/linux-headers/include/linux/ipv6_route.h b/linux-headers/include/linux/ipv6_route.h
deleted file mode 100644
index 091a466..0000000
--- a/linux-headers/include/linux/ipv6_route.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Linux INET6 implementation
- *
- * Authors:
- * Pedro Roque <roque@di.fc.ul.pt>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_IPV6_ROUTE_H
-#define _LINUX_IPV6_ROUTE_H
-
-#include <linux/types.h>
-
-#define RTF_DEFAULT 0x00010000 /* default - learned via ND */
-#define RTF_ALLONLINK 0x00020000 /* (deprecated and will be removed)
- fallback, no routers on link */
-#define RTF_ADDRCONF 0x00040000 /* addrconf route - RA */
-#define RTF_PREFIX_RT 0x00080000 /* A prefix only route - RA */
-#define RTF_ANYCAST 0x00100000 /* Anycast */
-
-#define RTF_NONEXTHOP 0x00200000 /* route with no nexthop */
-#define RTF_EXPIRES 0x00400000
-
-#define RTF_ROUTEINFO 0x00800000 /* route information - RA */
-
-#define RTF_CACHE 0x01000000 /* cache entry */
-#define RTF_FLOW 0x02000000 /* flow significant route */
-#define RTF_POLICY 0x04000000 /* policy route */
-
-#define RTF_PREF(pref) ((pref) << 27)
-#define RTF_PREF_MASK 0x18000000
-
-#define RTF_PCPU 0x40000000
-#define RTF_LOCAL 0x80000000
-
-
-struct in6_rtmsg {
- struct in6_addr rtmsg_dst;
- struct in6_addr rtmsg_src;
- struct in6_addr rtmsg_gateway;
- __u32 rtmsg_type;
- __u16 rtmsg_dst_len;
- __u16 rtmsg_src_len;
- __u32 rtmsg_metric;
- unsigned long rtmsg_info;
- __u32 rtmsg_flags;
- int rtmsg_ifindex;
-};
-
-#define RTMSG_NEWDEVICE 0x11
-#define RTMSG_DELDEVICE 0x12
-#define RTMSG_NEWROUTE 0x21
-#define RTMSG_DELROUTE 0x22
-
-#define IP6_RT_PRIO_USER 1024
-#define IP6_RT_PRIO_ADDRCONF 256
-
-#endif /* _LINUX_IPV6_ROUTE_H */
diff --git a/linux-headers/include/linux/ipx.h b/linux-headers/include/linux/ipx.h
deleted file mode 100644
index 3d48014..0000000
--- a/linux-headers/include/linux/ipx.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef _IPX_H_
-#define _IPX_H_
-#include <linux/types.h>
-#include <linux/sockios.h>
-#include <linux/socket.h>
-#define IPX_NODE_LEN 6
-#define IPX_MTU 576
-
-struct sockaddr_ipx {
- __kernel_sa_family_t sipx_family;
- __be16 sipx_port;
- __be32 sipx_network;
- unsigned char sipx_node[IPX_NODE_LEN];
- __u8 sipx_type;
- unsigned char sipx_zero; /* 16 byte fill */
-};
-
-/*
- * So we can fit the extra info for SIOCSIFADDR into the address nicely
- */
-#define sipx_special sipx_port
-#define sipx_action sipx_zero
-#define IPX_DLTITF 0
-#define IPX_CRTITF 1
-
-struct ipx_route_definition {
- __be32 ipx_network;
- __be32 ipx_router_network;
- unsigned char ipx_router_node[IPX_NODE_LEN];
-};
-
-struct ipx_interface_definition {
- __be32 ipx_network;
- unsigned char ipx_device[16];
- unsigned char ipx_dlink_type;
-#define IPX_FRAME_NONE 0
-#define IPX_FRAME_SNAP 1
-#define IPX_FRAME_8022 2
-#define IPX_FRAME_ETHERII 3
-#define IPX_FRAME_8023 4
-#define IPX_FRAME_TR_8022 5 /* obsolete */
- unsigned char ipx_special;
-#define IPX_SPECIAL_NONE 0
-#define IPX_PRIMARY 1
-#define IPX_INTERNAL 2
- unsigned char ipx_node[IPX_NODE_LEN];
-};
-
-struct ipx_config_data {
- unsigned char ipxcfg_auto_select_primary;
- unsigned char ipxcfg_auto_create_interfaces;
-};
-
-/*
- * OLD Route Definition for backward compatibility.
- */
-
-struct ipx_route_def {
- __be32 ipx_network;
- __be32 ipx_router_network;
-#define IPX_ROUTE_NO_ROUTER 0
- unsigned char ipx_router_node[IPX_NODE_LEN];
- unsigned char ipx_device[16];
- unsigned short ipx_flags;
-#define IPX_RT_SNAP 8
-#define IPX_RT_8022 4
-#define IPX_RT_BLUEBOOK 2
-#define IPX_RT_ROUTED 1
-};
-
-#define SIOCAIPXITFCRT (SIOCPROTOPRIVATE)
-#define SIOCAIPXPRISLT (SIOCPROTOPRIVATE + 1)
-#define SIOCIPXCFGDATA (SIOCPROTOPRIVATE + 2)
-#define SIOCIPXNCPCONN (SIOCPROTOPRIVATE + 3)
-#endif /* _IPX_H_ */
diff --git a/linux-headers/include/linux/irda.h b/linux-headers/include/linux/irda.h
deleted file mode 100644
index a014c32..0000000
--- a/linux-headers/include/linux/irda.h
+++ /dev/null
@@ -1,251 +0,0 @@
-/*********************************************************************
- *
- * Filename: irda.h
- * Version:
- * Description:
- * Status: Experimental.
- * Author: Dag Brattli <dagb@cs.uit.no>
- * Created at: Mon Mar 8 14:06:12 1999
- * Modified at: Sat Dec 25 16:06:42 1999
- * Modified by: Dag Brattli <dagb@cs.uit.no>
- *
- * Copyright (c) 1999 Dag Brattli, All Rights Reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * Neither Dag Brattli nor University of Tromsø admit liability nor
- * provide warranty for any of this software. This material is
- * provided "AS-IS" and at no charge.
- *
- ********************************************************************/
-
-#ifndef KERNEL_IRDA_H
-#define KERNEL_IRDA_H
-
-#include <linux/types.h>
-#include <linux/socket.h>
-
-/* Note that this file is shared with user space. */
-
-/* Hint bit positions for first hint byte */
-#define HINT_PNP 0x01
-#define HINT_PDA 0x02
-#define HINT_COMPUTER 0x04
-#define HINT_PRINTER 0x08
-#define HINT_MODEM 0x10
-#define HINT_FAX 0x20
-#define HINT_LAN 0x40
-#define HINT_EXTENSION 0x80
-
-/* Hint bit positions for second hint byte (first extension byte) */
-#define HINT_TELEPHONY 0x01
-#define HINT_FILE_SERVER 0x02
-#define HINT_COMM 0x04
-#define HINT_MESSAGE 0x08
-#define HINT_HTTP 0x10
-#define HINT_OBEX 0x20
-
-/* IrLMP character code values */
-#define CS_ASCII 0x00
-#define CS_ISO_8859_1 0x01
-#define CS_ISO_8859_2 0x02
-#define CS_ISO_8859_3 0x03
-#define CS_ISO_8859_4 0x04
-#define CS_ISO_8859_5 0x05
-#define CS_ISO_8859_6 0x06
-#define CS_ISO_8859_7 0x07
-#define CS_ISO_8859_8 0x08
-#define CS_ISO_8859_9 0x09
-#define CS_UNICODE 0xff
-
-/* These are the currently known dongles */
-typedef enum {
- IRDA_TEKRAM_DONGLE = 0,
- IRDA_ESI_DONGLE = 1,
- IRDA_ACTISYS_DONGLE = 2,
- IRDA_ACTISYS_PLUS_DONGLE = 3,
- IRDA_GIRBIL_DONGLE = 4,
- IRDA_LITELINK_DONGLE = 5,
- IRDA_AIRPORT_DONGLE = 6,
- IRDA_OLD_BELKIN_DONGLE = 7,
- IRDA_EP7211_IR = 8,
- IRDA_MCP2120_DONGLE = 9,
- IRDA_ACT200L_DONGLE = 10,
- IRDA_MA600_DONGLE = 11,
- IRDA_TOIM3232_DONGLE = 12,
- IRDA_EP7211_DONGLE = 13,
-} IRDA_DONGLE;
-
-/* Protocol types to be used for SOCK_DGRAM */
-enum {
- IRDAPROTO_UNITDATA = 0,
- IRDAPROTO_ULTRA = 1,
- IRDAPROTO_MAX
-};
-
-#define SOL_IRLMP 266 /* Same as SOL_IRDA for now */
-#define SOL_IRTTP 266 /* Same as SOL_IRDA for now */
-
-#define IRLMP_ENUMDEVICES 1 /* Return discovery log */
-#define IRLMP_IAS_SET 2 /* Set an attribute in local IAS */
-#define IRLMP_IAS_QUERY 3 /* Query remote IAS for attribute */
-#define IRLMP_HINTS_SET 4 /* Set hint bits advertised */
-#define IRLMP_QOS_SET 5
-#define IRLMP_QOS_GET 6
-#define IRLMP_MAX_SDU_SIZE 7
-#define IRLMP_IAS_GET 8 /* Get an attribute from local IAS */
-#define IRLMP_IAS_DEL 9 /* Remove attribute from local IAS */
-#define IRLMP_HINT_MASK_SET 10 /* Set discovery filter */
-#define IRLMP_WAITDEVICE 11 /* Wait for a new discovery */
-
-#define IRTTP_MAX_SDU_SIZE IRLMP_MAX_SDU_SIZE /* Compatibility */
-
-#define IAS_MAX_STRING 256 /* See IrLMP 1.1, 4.3.3.2 */
-#define IAS_MAX_OCTET_STRING 1024 /* See IrLMP 1.1, 4.3.3.2 */
-#define IAS_MAX_CLASSNAME 60 /* See IrLMP 1.1, 4.3.1 */
-#define IAS_MAX_ATTRIBNAME 60 /* See IrLMP 1.1, 4.3.3.1 */
-#define IAS_MAX_ATTRIBNUMBER 256 /* See IrLMP 1.1, 4.3.3.1 */
-/* For user space backward compatibility - may be fixed in kernel 2.5.X
- * Note : need 60+1 ('\0'), make it 64 for alignement - Jean II */
-#define IAS_EXPORT_CLASSNAME 64
-#define IAS_EXPORT_ATTRIBNAME 256
-
-/* Attribute type needed for struct irda_ias_set */
-#define IAS_MISSING 0
-#define IAS_INTEGER 1
-#define IAS_OCT_SEQ 2
-#define IAS_STRING 3
-
-#define LSAP_ANY 0xff
-
-struct sockaddr_irda {
- __kernel_sa_family_t sir_family; /* AF_IRDA */
- __u8 sir_lsap_sel; /* LSAP selector */
- __u32 sir_addr; /* Device address */
- char sir_name[25]; /* Usually <service>:IrDA:TinyTP */
-};
-
-struct irda_device_info {
- __u32 saddr; /* Address of local interface */
- __u32 daddr; /* Address of remote device */
- char info[22]; /* Description */
- __u8 charset; /* Charset used for description */
- __u8 hints[2]; /* Hint bits */
-};
-
-struct irda_device_list {
- __u32 len;
- struct irda_device_info dev[1];
-};
-
-struct irda_ias_set {
- char irda_class_name[IAS_EXPORT_CLASSNAME];
- char irda_attrib_name[IAS_EXPORT_ATTRIBNAME];
- unsigned int irda_attrib_type;
- union {
- unsigned int irda_attrib_int;
- struct {
- unsigned short len;
- __u8 octet_seq[IAS_MAX_OCTET_STRING];
- } irda_attrib_octet_seq;
- struct {
- __u8 len;
- __u8 charset;
- __u8 string[IAS_MAX_STRING];
- } irda_attrib_string;
- } attribute;
- __u32 daddr; /* Address of device (for some queries only) */
-};
-
-/* Some private IOCTL's (max 16) */
-#define SIOCSDONGLE (SIOCDEVPRIVATE + 0)
-#define SIOCGDONGLE (SIOCDEVPRIVATE + 1)
-#define SIOCSBANDWIDTH (SIOCDEVPRIVATE + 2)
-#define SIOCSMEDIABUSY (SIOCDEVPRIVATE + 3)
-#define SIOCGMEDIABUSY (SIOCDEVPRIVATE + 4)
-#define SIOCGRECEIVING (SIOCDEVPRIVATE + 5)
-#define SIOCSMODE (SIOCDEVPRIVATE + 6)
-#define SIOCGMODE (SIOCDEVPRIVATE + 7)
-#define SIOCSDTRRTS (SIOCDEVPRIVATE + 8)
-#define SIOCGQOS (SIOCDEVPRIVATE + 9)
-
-/* No reason to include <linux/if.h> just because of this one ;-) */
-#define IRNAMSIZ 16
-
-/* IrDA quality of service information (must not exceed 16 bytes) */
-struct if_irda_qos {
- unsigned long baudrate;
- unsigned short data_size;
- unsigned short window_size;
- unsigned short min_turn_time;
- unsigned short max_turn_time;
- unsigned char add_bofs;
- unsigned char link_disc;
-};
-
-/* For setting RTS and DTR lines of a dongle */
-struct if_irda_line {
- __u8 dtr;
- __u8 rts;
-};
-
-/* IrDA interface configuration (data part must not exceed 16 bytes) */
-struct if_irda_req {
- union {
- char ifrn_name[IRNAMSIZ]; /* if name, e.g. "irda0" */
- } ifr_ifrn;
-
- /* Data part */
- union {
- struct if_irda_line ifru_line;
- struct if_irda_qos ifru_qos;
- unsigned short ifru_flags;
- unsigned int ifru_receiving;
- unsigned int ifru_mode;
- unsigned int ifru_dongle;
- } ifr_ifru;
-};
-
-#define ifr_baudrate ifr_ifru.ifru_qos.baudrate
-#define ifr_receiving ifr_ifru.ifru_receiving
-#define ifr_dongle ifr_ifru.ifru_dongle
-#define ifr_mode ifr_ifru.ifru_mode
-#define ifr_dtr ifr_ifru.ifru_line.dtr
-#define ifr_rts ifr_ifru.ifru_line.rts
-
-
-/* IrDA netlink definitions */
-#define IRDA_NL_NAME "irda"
-#define IRDA_NL_VERSION 1
-
-enum irda_nl_commands {
- IRDA_NL_CMD_UNSPEC,
- IRDA_NL_CMD_SET_MODE,
- IRDA_NL_CMD_GET_MODE,
-
- __IRDA_NL_CMD_AFTER_LAST
-};
-#define IRDA_NL_CMD_MAX (__IRDA_NL_CMD_AFTER_LAST - 1)
-
-enum nl80211_attrs {
- IRDA_NL_ATTR_UNSPEC,
- IRDA_NL_ATTR_IFNAME,
- IRDA_NL_ATTR_MODE,
-
- __IRDA_NL_ATTR_AFTER_LAST
-};
-#define IRDA_NL_ATTR_MAX (__IRDA_NL_ATTR_AFTER_LAST - 1)
-
-/* IrDA modes */
-#define IRDA_MODE_PRIMARY 0x1
-#define IRDA_MODE_SECONDARY 0x2
-#define IRDA_MODE_MONITOR 0x4
-
-#endif /* KERNEL_IRDA_H */
-
-
-
-
diff --git a/linux-headers/include/linux/irqnr.h b/linux-headers/include/linux/irqnr.h
deleted file mode 100644
index ae5704f..0000000
--- a/linux-headers/include/linux/irqnr.h
+++ /dev/null
@@ -1,4 +0,0 @@
-/*
- * There isn't anything here anymore, but the file must not be empty or patch
- * will delete it.
- */
diff --git a/linux-headers/include/linux/isdn.h b/linux-headers/include/linux/isdn.h
deleted file mode 100644
index 55c0a1e..0000000
--- a/linux-headers/include/linux/isdn.h
+++ /dev/null
@@ -1,143 +0,0 @@
-/* $Id: isdn.h,v 1.125.2.3 2004/02/10 01:07:14 keil Exp $
- *
- * Main header for the Linux ISDN subsystem (linklevel).
- *
- * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
- * Copyright 1995,96 by Thinking Objects Software GmbH Wuerzburg
- * Copyright 1995,96 by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-#ifndef __ISDN_H__
-#define __ISDN_H__
-
-#include <linux/ioctl.h>
-#include <linux/tty.h>
-
-#define ISDN_MAX_DRIVERS 32
-#define ISDN_MAX_CHANNELS 64
-
-/* New ioctl-codes */
-#define IIOCNETAIF _IO('I',1)
-#define IIOCNETDIF _IO('I',2)
-#define IIOCNETSCF _IO('I',3)
-#define IIOCNETGCF _IO('I',4)
-#define IIOCNETANM _IO('I',5)
-#define IIOCNETDNM _IO('I',6)
-#define IIOCNETGNM _IO('I',7)
-#define IIOCGETSET _IO('I',8) /* no longer supported */
-#define IIOCSETSET _IO('I',9) /* no longer supported */
-#define IIOCSETVER _IO('I',10)
-#define IIOCNETHUP _IO('I',11)
-#define IIOCSETGST _IO('I',12)
-#define IIOCSETBRJ _IO('I',13)
-#define IIOCSIGPRF _IO('I',14)
-#define IIOCGETPRF _IO('I',15)
-#define IIOCSETPRF _IO('I',16)
-#define IIOCGETMAP _IO('I',17)
-#define IIOCSETMAP _IO('I',18)
-#define IIOCNETASL _IO('I',19)
-#define IIOCNETDIL _IO('I',20)
-#define IIOCGETCPS _IO('I',21)
-#define IIOCGETDVR _IO('I',22)
-#define IIOCNETLCR _IO('I',23) /* dwabc ioctl for LCR from isdnlog */
-#define IIOCNETDWRSET _IO('I',24) /* dwabc ioctl to reset abc-values to default on a net-interface */
-
-#define IIOCNETALN _IO('I',32)
-#define IIOCNETDLN _IO('I',33)
-
-#define IIOCNETGPN _IO('I',34)
-
-#define IIOCDBGVAR _IO('I',127)
-
-#define IIOCDRVCTL _IO('I',128)
-
-/* cisco hdlck device private ioctls */
-#define SIOCGKEEPPERIOD (SIOCDEVPRIVATE + 0)
-#define SIOCSKEEPPERIOD (SIOCDEVPRIVATE + 1)
-#define SIOCGDEBSERINT (SIOCDEVPRIVATE + 2)
-#define SIOCSDEBSERINT (SIOCDEVPRIVATE + 3)
-
-/* Packet encapsulations for net-interfaces */
-#define ISDN_NET_ENCAP_ETHER 0
-#define ISDN_NET_ENCAP_RAWIP 1
-#define ISDN_NET_ENCAP_IPTYP 2
-#define ISDN_NET_ENCAP_CISCOHDLC 3 /* Without SLARP and keepalive */
-#define ISDN_NET_ENCAP_SYNCPPP 4
-#define ISDN_NET_ENCAP_UIHDLC 5
-#define ISDN_NET_ENCAP_CISCOHDLCK 6 /* With SLARP and keepalive */
-#define ISDN_NET_ENCAP_X25IFACE 7 /* Documentation/networking/x25-iface.txt */
-#define ISDN_NET_ENCAP_MAX_ENCAP ISDN_NET_ENCAP_X25IFACE
-
-/* Facility which currently uses an ISDN-channel */
-#define ISDN_USAGE_NONE 0
-#define ISDN_USAGE_RAW 1
-#define ISDN_USAGE_MODEM 2
-#define ISDN_USAGE_NET 3
-#define ISDN_USAGE_VOICE 4
-#define ISDN_USAGE_FAX 5
-#define ISDN_USAGE_MASK 7 /* Mask to get plain usage */
-#define ISDN_USAGE_DISABLED 32 /* This bit is set, if channel is disabled */
-#define ISDN_USAGE_EXCLUSIVE 64 /* This bit is set, if channel is exclusive */
-#define ISDN_USAGE_OUTGOING 128 /* This bit is set, if channel is outgoing */
-
-#define ISDN_MODEM_NUMREG 24 /* Number of Modem-Registers */
-#define ISDN_LMSNLEN 255 /* Length of tty's Listen-MSN string */
-#define ISDN_CMSGLEN 50 /* Length of CONNECT-Message to add for Modem */
-
-#define ISDN_MSNLEN 32
-#define NET_DV 0x06 /* Data version for isdn_net_ioctl_cfg */
-#define TTY_DV 0x06 /* Data version for iprofd etc. */
-
-#define INF_DV 0x01 /* Data version for /dev/isdninfo */
-
-typedef struct {
- char drvid[25];
- unsigned long arg;
-} isdn_ioctl_struct;
-
-typedef struct {
- char name[10];
- char phone[ISDN_MSNLEN];
- int outgoing;
-} isdn_net_ioctl_phone;
-
-typedef struct {
- char name[10]; /* Name of interface */
- char master[10]; /* Name of Master for Bundling */
- char slave[10]; /* Name of Slave for Bundling */
- char eaz[256]; /* EAZ/MSN */
- char drvid[25]; /* DriverId for Bindings */
- int onhtime; /* Hangup-Timeout */
- int charge; /* Charge-Units */
- int l2_proto; /* Layer-2 protocol */
- int l3_proto; /* Layer-3 protocol */
- int p_encap; /* Encapsulation */
- int exclusive; /* Channel, if bound exclusive */
- int dialmax; /* Dial Retry-Counter */
- int slavedelay; /* Delay until slave starts up */
- int cbdelay; /* Delay before Callback */
- int chargehup; /* Flag: Charge-Hangup */
- int ihup; /* Flag: Hangup-Timeout on incoming line */
- int secure; /* Flag: Secure */
- int callback; /* Flag: Callback */
- int cbhup; /* Flag: Reject Call before Callback */
- int pppbind; /* ippp device for bindings */
- int chargeint; /* Use fixed charge interval length */
- int triggercps; /* BogoCPS needed for triggering slave */
- int dialtimeout; /* Dial-Timeout */
- int dialwait; /* Time to wait after failed dial */
- int dialmode; /* Flag: off / on / auto */
-} isdn_net_ioctl_cfg;
-
-#define ISDN_NET_DIALMODE_MASK 0xC0 /* bits for status */
-#define ISDN_NET_DM_OFF 0x00 /* this interface is stopped */
-#define ISDN_NET_DM_MANUAL 0x40 /* this interface is on (manual) */
-#define ISDN_NET_DM_AUTO 0x80 /* this interface is autodial */
-#define ISDN_NET_DIALMODE(x) ((&(x))->flags & ISDN_NET_DIALMODE_MASK)
-
-
-#endif /* __ISDN_H__ */
diff --git a/linux-headers/include/linux/isdn/capicmd.h b/linux-headers/include/linux/isdn/capicmd.h
deleted file mode 100644
index b58635f..0000000
--- a/linux-headers/include/linux/isdn/capicmd.h
+++ /dev/null
@@ -1,115 +0,0 @@
-/* $Id: capicmd.h,v 1.2.6.2 2001/09/23 22:24:33 kai Exp $
- *
- * CAPI 2.0 Interface for Linux
- *
- * Copyright 1997 by Carsten Paeth <calle@calle.de>
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-#ifndef __CAPICMD_H__
-#define __CAPICMD_H__
-
-#define CAPI_MSG_BASELEN 8
-#define CAPI_DATA_B3_REQ_LEN (CAPI_MSG_BASELEN+4+4+2+2+2)
-#define CAPI_DATA_B3_RESP_LEN (CAPI_MSG_BASELEN+4+2)
-
-/*----- CAPI commands -----*/
-#define CAPI_ALERT 0x01
-#define CAPI_CONNECT 0x02
-#define CAPI_CONNECT_ACTIVE 0x03
-#define CAPI_CONNECT_B3_ACTIVE 0x83
-#define CAPI_CONNECT_B3 0x82
-#define CAPI_CONNECT_B3_T90_ACTIVE 0x88
-#define CAPI_DATA_B3 0x86
-#define CAPI_DISCONNECT_B3 0x84
-#define CAPI_DISCONNECT 0x04
-#define CAPI_FACILITY 0x80
-#define CAPI_INFO 0x08
-#define CAPI_LISTEN 0x05
-#define CAPI_MANUFACTURER 0xff
-#define CAPI_RESET_B3 0x87
-#define CAPI_SELECT_B_PROTOCOL 0x41
-
-/*----- CAPI subcommands -----*/
-
-#define CAPI_REQ 0x80
-#define CAPI_CONF 0x81
-#define CAPI_IND 0x82
-#define CAPI_RESP 0x83
-
-/*----- CAPI combined commands -----*/
-
-#define CAPICMD(cmd,subcmd) (((cmd)<<8)|(subcmd))
-
-#define CAPI_DISCONNECT_REQ CAPICMD(CAPI_DISCONNECT,CAPI_REQ)
-#define CAPI_DISCONNECT_CONF CAPICMD(CAPI_DISCONNECT,CAPI_CONF)
-#define CAPI_DISCONNECT_IND CAPICMD(CAPI_DISCONNECT,CAPI_IND)
-#define CAPI_DISCONNECT_RESP CAPICMD(CAPI_DISCONNECT,CAPI_RESP)
-
-#define CAPI_ALERT_REQ CAPICMD(CAPI_ALERT,CAPI_REQ)
-#define CAPI_ALERT_CONF CAPICMD(CAPI_ALERT,CAPI_CONF)
-
-#define CAPI_CONNECT_REQ CAPICMD(CAPI_CONNECT,CAPI_REQ)
-#define CAPI_CONNECT_CONF CAPICMD(CAPI_CONNECT,CAPI_CONF)
-#define CAPI_CONNECT_IND CAPICMD(CAPI_CONNECT,CAPI_IND)
-#define CAPI_CONNECT_RESP CAPICMD(CAPI_CONNECT,CAPI_RESP)
-
-#define CAPI_CONNECT_ACTIVE_REQ CAPICMD(CAPI_CONNECT_ACTIVE,CAPI_REQ)
-#define CAPI_CONNECT_ACTIVE_CONF CAPICMD(CAPI_CONNECT_ACTIVE,CAPI_CONF)
-#define CAPI_CONNECT_ACTIVE_IND CAPICMD(CAPI_CONNECT_ACTIVE,CAPI_IND)
-#define CAPI_CONNECT_ACTIVE_RESP CAPICMD(CAPI_CONNECT_ACTIVE,CAPI_RESP)
-
-#define CAPI_SELECT_B_PROTOCOL_REQ CAPICMD(CAPI_SELECT_B_PROTOCOL,CAPI_REQ)
-#define CAPI_SELECT_B_PROTOCOL_CONF CAPICMD(CAPI_SELECT_B_PROTOCOL,CAPI_CONF)
-
-#define CAPI_CONNECT_B3_ACTIVE_REQ CAPICMD(CAPI_CONNECT_B3_ACTIVE,CAPI_REQ)
-#define CAPI_CONNECT_B3_ACTIVE_CONF CAPICMD(CAPI_CONNECT_B3_ACTIVE,CAPI_CONF)
-#define CAPI_CONNECT_B3_ACTIVE_IND CAPICMD(CAPI_CONNECT_B3_ACTIVE,CAPI_IND)
-#define CAPI_CONNECT_B3_ACTIVE_RESP CAPICMD(CAPI_CONNECT_B3_ACTIVE,CAPI_RESP)
-
-#define CAPI_CONNECT_B3_REQ CAPICMD(CAPI_CONNECT_B3,CAPI_REQ)
-#define CAPI_CONNECT_B3_CONF CAPICMD(CAPI_CONNECT_B3,CAPI_CONF)
-#define CAPI_CONNECT_B3_IND CAPICMD(CAPI_CONNECT_B3,CAPI_IND)
-#define CAPI_CONNECT_B3_RESP CAPICMD(CAPI_CONNECT_B3,CAPI_RESP)
-
-
-#define CAPI_CONNECT_B3_T90_ACTIVE_IND CAPICMD(CAPI_CONNECT_B3_T90_ACTIVE,CAPI_IND)
-#define CAPI_CONNECT_B3_T90_ACTIVE_RESP CAPICMD(CAPI_CONNECT_B3_T90_ACTIVE,CAPI_RESP)
-
-#define CAPI_DATA_B3_REQ CAPICMD(CAPI_DATA_B3,CAPI_REQ)
-#define CAPI_DATA_B3_CONF CAPICMD(CAPI_DATA_B3,CAPI_CONF)
-#define CAPI_DATA_B3_IND CAPICMD(CAPI_DATA_B3,CAPI_IND)
-#define CAPI_DATA_B3_RESP CAPICMD(CAPI_DATA_B3,CAPI_RESP)
-
-#define CAPI_DISCONNECT_B3_REQ CAPICMD(CAPI_DISCONNECT_B3,CAPI_REQ)
-#define CAPI_DISCONNECT_B3_CONF CAPICMD(CAPI_DISCONNECT_B3,CAPI_CONF)
-#define CAPI_DISCONNECT_B3_IND CAPICMD(CAPI_DISCONNECT_B3,CAPI_IND)
-#define CAPI_DISCONNECT_B3_RESP CAPICMD(CAPI_DISCONNECT_B3,CAPI_RESP)
-
-#define CAPI_RESET_B3_REQ CAPICMD(CAPI_RESET_B3,CAPI_REQ)
-#define CAPI_RESET_B3_CONF CAPICMD(CAPI_RESET_B3,CAPI_CONF)
-#define CAPI_RESET_B3_IND CAPICMD(CAPI_RESET_B3,CAPI_IND)
-#define CAPI_RESET_B3_RESP CAPICMD(CAPI_RESET_B3,CAPI_RESP)
-
-#define CAPI_LISTEN_REQ CAPICMD(CAPI_LISTEN,CAPI_REQ)
-#define CAPI_LISTEN_CONF CAPICMD(CAPI_LISTEN,CAPI_CONF)
-
-#define CAPI_MANUFACTURER_REQ CAPICMD(CAPI_MANUFACTURER,CAPI_REQ)
-#define CAPI_MANUFACTURER_CONF CAPICMD(CAPI_MANUFACTURER,CAPI_CONF)
-#define CAPI_MANUFACTURER_IND CAPICMD(CAPI_MANUFACTURER,CAPI_IND)
-#define CAPI_MANUFACTURER_RESP CAPICMD(CAPI_MANUFACTURER,CAPI_RESP)
-
-#define CAPI_FACILITY_REQ CAPICMD(CAPI_FACILITY,CAPI_REQ)
-#define CAPI_FACILITY_CONF CAPICMD(CAPI_FACILITY,CAPI_CONF)
-#define CAPI_FACILITY_IND CAPICMD(CAPI_FACILITY,CAPI_IND)
-#define CAPI_FACILITY_RESP CAPICMD(CAPI_FACILITY,CAPI_RESP)
-
-#define CAPI_INFO_REQ CAPICMD(CAPI_INFO,CAPI_REQ)
-#define CAPI_INFO_CONF CAPICMD(CAPI_INFO,CAPI_CONF)
-#define CAPI_INFO_IND CAPICMD(CAPI_INFO,CAPI_IND)
-#define CAPI_INFO_RESP CAPICMD(CAPI_INFO,CAPI_RESP)
-
-#endif /* __CAPICMD_H__ */
diff --git a/linux-headers/include/linux/isdn_divertif.h b/linux-headers/include/linux/isdn_divertif.h
deleted file mode 100644
index 67575ba..0000000
--- a/linux-headers/include/linux/isdn_divertif.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/* $Id: isdn_divertif.h,v 1.4.6.1 2001/09/23 22:25:05 kai Exp $
- *
- * Header for the diversion supplementary interface for i4l.
- *
- * Author Werner Cornelius (werner@titro.de)
- * Copyright by Werner Cornelius (werner@titro.de)
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-#ifndef _LINUX_ISDN_DIVERTIF_H
-#define _LINUX_ISDN_DIVERTIF_H
-
-/***********************************************************/
-/* magic value is also used to control version information */
-/***********************************************************/
-#define DIVERT_IF_MAGIC 0x25873401
-#define DIVERT_CMD_REG 0x00 /* register command */
-#define DIVERT_CMD_REL 0x01 /* release command */
-#define DIVERT_NO_ERR 0x00 /* return value no error */
-#define DIVERT_CMD_ERR 0x01 /* invalid cmd */
-#define DIVERT_VER_ERR 0x02 /* magic/version invalid */
-#define DIVERT_REG_ERR 0x03 /* module already registered */
-#define DIVERT_REL_ERR 0x04 /* module not registered */
-#define DIVERT_REG_NAME isdn_register_divert
-
-
-#endif /* _LINUX_ISDN_DIVERTIF_H */
diff --git a/linux-headers/include/linux/isdn_ppp.h b/linux-headers/include/linux/isdn_ppp.h
deleted file mode 100644
index aabb015..0000000
--- a/linux-headers/include/linux/isdn_ppp.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Linux ISDN subsystem, sync PPP, interface to ipppd
- *
- * Copyright 1994-1999 by Fritz Elfert (fritz@isdn4linux.de)
- * Copyright 1995,96 Thinking Objects Software GmbH Wuerzburg
- * Copyright 1995,96 by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
- * Copyright 2000-2002 by Kai Germaschewski (kai@germaschewski.name)
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-#ifndef _LINUX_ISDN_PPP_H
-#define _LINUX_ISDN_PPP_H
-
-#define CALLTYPE_INCOMING 0x1
-#define CALLTYPE_OUTGOING 0x2
-#define CALLTYPE_CALLBACK 0x4
-
-#define IPPP_VERSION "2.2.0"
-
-struct pppcallinfo
-{
- int calltype;
- unsigned char local_num[64];
- unsigned char remote_num[64];
- int charge_units;
-};
-
-#define PPPIOCGCALLINFO _IOWR('t',128,struct pppcallinfo)
-#define PPPIOCBUNDLE _IOW('t',129,int)
-#define PPPIOCGMPFLAGS _IOR('t',130,int)
-#define PPPIOCSMPFLAGS _IOW('t',131,int)
-#define PPPIOCSMPMTU _IOW('t',132,int)
-#define PPPIOCSMPMRU _IOW('t',133,int)
-#define PPPIOCGCOMPRESSORS _IOR('t',134,unsigned long [8])
-#define PPPIOCSCOMPRESSOR _IOW('t',135,int)
-#define PPPIOCGIFNAME _IOR('t',136, char [IFNAMSIZ] )
-
-
-#define SC_MP_PROT 0x00000200
-#define SC_REJ_MP_PROT 0x00000400
-#define SC_OUT_SHORT_SEQ 0x00000800
-#define SC_IN_SHORT_SEQ 0x00004000
-
-#define SC_DECOMP_ON 0x01
-#define SC_COMP_ON 0x02
-#define SC_DECOMP_DISCARD 0x04
-#define SC_COMP_DISCARD 0x08
-#define SC_LINK_DECOMP_ON 0x10
-#define SC_LINK_COMP_ON 0x20
-#define SC_LINK_DECOMP_DISCARD 0x40
-#define SC_LINK_COMP_DISCARD 0x80
-
-#define ISDN_PPP_COMP_MAX_OPTIONS 16
-
-#define IPPP_COMP_FLAG_XMIT 0x1
-#define IPPP_COMP_FLAG_LINK 0x2
-
-struct isdn_ppp_comp_data {
- int num;
- unsigned char options[ISDN_PPP_COMP_MAX_OPTIONS];
- int optlen;
- int flags;
-};
-
-#endif /* _LINUX_ISDN_PPP_H */
diff --git a/linux-headers/include/linux/isdnif.h b/linux-headers/include/linux/isdnif.h
deleted file mode 100644
index 1db1b0b..0000000
--- a/linux-headers/include/linux/isdnif.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/* $Id: isdnif.h,v 1.43.2.2 2004/01/12 23:08:35 keil Exp $
- *
- * Linux ISDN subsystem
- * Definition of the interface between the subsystem and its low-level drivers.
- *
- * Copyright 1994,95,96 by Fritz Elfert (fritz@isdn4linux.de)
- * Copyright 1995,96 Thinking Objects Software GmbH Wuerzburg
- *
- * This software may be used and distributed according to the terms
- * of the GNU General Public License, incorporated herein by reference.
- *
- */
-
-#ifndef __ISDNIF_H__
-#define __ISDNIF_H__
-
-
-/*
- * Values for general protocol-selection
- */
-#define ISDN_PTYPE_UNKNOWN 0 /* Protocol undefined */
-#define ISDN_PTYPE_1TR6 1 /* german 1TR6-protocol */
-#define ISDN_PTYPE_EURO 2 /* EDSS1-protocol */
-#define ISDN_PTYPE_LEASED 3 /* for leased lines */
-#define ISDN_PTYPE_NI1 4 /* US NI-1 protocol */
-#define ISDN_PTYPE_MAX 7 /* Max. 8 Protocols */
-
-/*
- * Values for Layer-2-protocol-selection
- */
-#define ISDN_PROTO_L2_X75I 0 /* X75/LAPB with I-Frames */
-#define ISDN_PROTO_L2_X75UI 1 /* X75/LAPB with UI-Frames */
-#define ISDN_PROTO_L2_X75BUI 2 /* X75/LAPB with UI-Frames */
-#define ISDN_PROTO_L2_HDLC 3 /* HDLC */
-#define ISDN_PROTO_L2_TRANS 4 /* Transparent (Voice) */
-#define ISDN_PROTO_L2_X25DTE 5 /* X25/LAPB DTE mode */
-#define ISDN_PROTO_L2_X25DCE 6 /* X25/LAPB DCE mode */
-#define ISDN_PROTO_L2_V11096 7 /* V.110 bitrate adaption 9600 Baud */
-#define ISDN_PROTO_L2_V11019 8 /* V.110 bitrate adaption 19200 Baud */
-#define ISDN_PROTO_L2_V11038 9 /* V.110 bitrate adaption 38400 Baud */
-#define ISDN_PROTO_L2_MODEM 10 /* Analog Modem on Board */
-#define ISDN_PROTO_L2_FAX 11 /* Fax Group 2/3 */
-#define ISDN_PROTO_L2_HDLC_56K 12 /* HDLC 56k */
-#define ISDN_PROTO_L2_MAX 15 /* Max. 16 Protocols */
-
-/*
- * Values for Layer-3-protocol-selection
- */
-#define ISDN_PROTO_L3_TRANS 0 /* Transparent */
-#define ISDN_PROTO_L3_TRANSDSP 1 /* Transparent with DSP */
-#define ISDN_PROTO_L3_FCLASS2 2 /* Fax Group 2/3 CLASS 2 */
-#define ISDN_PROTO_L3_FCLASS1 3 /* Fax Group 2/3 CLASS 1 */
-#define ISDN_PROTO_L3_MAX 7 /* Max. 8 Protocols */
-
-
-#endif /* __ISDNIF_H__ */
diff --git a/linux-headers/include/linux/iso_fs.h b/linux-headers/include/linux/iso_fs.h
deleted file mode 100644
index 4688ac4..0000000
--- a/linux-headers/include/linux/iso_fs.h
+++ /dev/null
@@ -1,165 +0,0 @@
-#ifndef _ISOFS_FS_H
-#define _ISOFS_FS_H
-
-#include <linux/types.h>
-#include <linux/magic.h>
-
-/*
- * The isofs filesystem constants/structures
- */
-
-/* This part borrowed from the bsd386 isofs */
-#define ISODCL(from, to) (to - from + 1)
-
-struct iso_volume_descriptor {
- char type[ISODCL(1,1)]; /* 711 */
- char id[ISODCL(2,6)];
- char version[ISODCL(7,7)];
- char data[ISODCL(8,2048)];
-};
-
-/* volume descriptor types */
-#define ISO_VD_PRIMARY 1
-#define ISO_VD_SUPPLEMENTARY 2
-#define ISO_VD_END 255
-
-#define ISO_STANDARD_ID "CD001"
-
-struct iso_primary_descriptor {
- char type [ISODCL ( 1, 1)]; /* 711 */
- char id [ISODCL ( 2, 6)];
- char version [ISODCL ( 7, 7)]; /* 711 */
- char unused1 [ISODCL ( 8, 8)];
- char system_id [ISODCL ( 9, 40)]; /* achars */
- char volume_id [ISODCL ( 41, 72)]; /* dchars */
- char unused2 [ISODCL ( 73, 80)];
- char volume_space_size [ISODCL ( 81, 88)]; /* 733 */
- char unused3 [ISODCL ( 89, 120)];
- char volume_set_size [ISODCL (121, 124)]; /* 723 */
- char volume_sequence_number [ISODCL (125, 128)]; /* 723 */
- char logical_block_size [ISODCL (129, 132)]; /* 723 */
- char path_table_size [ISODCL (133, 140)]; /* 733 */
- char type_l_path_table [ISODCL (141, 144)]; /* 731 */
- char opt_type_l_path_table [ISODCL (145, 148)]; /* 731 */
- char type_m_path_table [ISODCL (149, 152)]; /* 732 */
- char opt_type_m_path_table [ISODCL (153, 156)]; /* 732 */
- char root_directory_record [ISODCL (157, 190)]; /* 9.1 */
- char volume_set_id [ISODCL (191, 318)]; /* dchars */
- char publisher_id [ISODCL (319, 446)]; /* achars */
- char preparer_id [ISODCL (447, 574)]; /* achars */
- char application_id [ISODCL (575, 702)]; /* achars */
- char copyright_file_id [ISODCL (703, 739)]; /* 7.5 dchars */
- char abstract_file_id [ISODCL (740, 776)]; /* 7.5 dchars */
- char bibliographic_file_id [ISODCL (777, 813)]; /* 7.5 dchars */
- char creation_date [ISODCL (814, 830)]; /* 8.4.26.1 */
- char modification_date [ISODCL (831, 847)]; /* 8.4.26.1 */
- char expiration_date [ISODCL (848, 864)]; /* 8.4.26.1 */
- char effective_date [ISODCL (865, 881)]; /* 8.4.26.1 */
- char file_structure_version [ISODCL (882, 882)]; /* 711 */
- char unused4 [ISODCL (883, 883)];
- char application_data [ISODCL (884, 1395)];
- char unused5 [ISODCL (1396, 2048)];
-};
-
-/* Almost the same as the primary descriptor but two fields are specified */
-struct iso_supplementary_descriptor {
- char type [ISODCL ( 1, 1)]; /* 711 */
- char id [ISODCL ( 2, 6)];
- char version [ISODCL ( 7, 7)]; /* 711 */
- char flags [ISODCL ( 8, 8)]; /* 853 */
- char system_id [ISODCL ( 9, 40)]; /* achars */
- char volume_id [ISODCL ( 41, 72)]; /* dchars */
- char unused2 [ISODCL ( 73, 80)];
- char volume_space_size [ISODCL ( 81, 88)]; /* 733 */
- char escape [ISODCL ( 89, 120)]; /* 856 */
- char volume_set_size [ISODCL (121, 124)]; /* 723 */
- char volume_sequence_number [ISODCL (125, 128)]; /* 723 */
- char logical_block_size [ISODCL (129, 132)]; /* 723 */
- char path_table_size [ISODCL (133, 140)]; /* 733 */
- char type_l_path_table [ISODCL (141, 144)]; /* 731 */
- char opt_type_l_path_table [ISODCL (145, 148)]; /* 731 */
- char type_m_path_table [ISODCL (149, 152)]; /* 732 */
- char opt_type_m_path_table [ISODCL (153, 156)]; /* 732 */
- char root_directory_record [ISODCL (157, 190)]; /* 9.1 */
- char volume_set_id [ISODCL (191, 318)]; /* dchars */
- char publisher_id [ISODCL (319, 446)]; /* achars */
- char preparer_id [ISODCL (447, 574)]; /* achars */
- char application_id [ISODCL (575, 702)]; /* achars */
- char copyright_file_id [ISODCL (703, 739)]; /* 7.5 dchars */
- char abstract_file_id [ISODCL (740, 776)]; /* 7.5 dchars */
- char bibliographic_file_id [ISODCL (777, 813)]; /* 7.5 dchars */
- char creation_date [ISODCL (814, 830)]; /* 8.4.26.1 */
- char modification_date [ISODCL (831, 847)]; /* 8.4.26.1 */
- char expiration_date [ISODCL (848, 864)]; /* 8.4.26.1 */
- char effective_date [ISODCL (865, 881)]; /* 8.4.26.1 */
- char file_structure_version [ISODCL (882, 882)]; /* 711 */
- char unused4 [ISODCL (883, 883)];
- char application_data [ISODCL (884, 1395)];
- char unused5 [ISODCL (1396, 2048)];
-};
-
-
-#define HS_STANDARD_ID "CDROM"
-
-struct hs_volume_descriptor {
- char foo [ISODCL ( 1, 8)]; /* 733 */
- char type [ISODCL ( 9, 9)]; /* 711 */
- char id [ISODCL ( 10, 14)];
- char version [ISODCL ( 15, 15)]; /* 711 */
- char data[ISODCL(16,2048)];
-};
-
-
-struct hs_primary_descriptor {
- char foo [ISODCL ( 1, 8)]; /* 733 */
- char type [ISODCL ( 9, 9)]; /* 711 */
- char id [ISODCL ( 10, 14)];
- char version [ISODCL ( 15, 15)]; /* 711 */
- char unused1 [ISODCL ( 16, 16)]; /* 711 */
- char system_id [ISODCL ( 17, 48)]; /* achars */
- char volume_id [ISODCL ( 49, 80)]; /* dchars */
- char unused2 [ISODCL ( 81, 88)]; /* 733 */
- char volume_space_size [ISODCL ( 89, 96)]; /* 733 */
- char unused3 [ISODCL ( 97, 128)]; /* 733 */
- char volume_set_size [ISODCL (129, 132)]; /* 723 */
- char volume_sequence_number [ISODCL (133, 136)]; /* 723 */
- char logical_block_size [ISODCL (137, 140)]; /* 723 */
- char path_table_size [ISODCL (141, 148)]; /* 733 */
- char type_l_path_table [ISODCL (149, 152)]; /* 731 */
- char unused4 [ISODCL (153, 180)]; /* 733 */
- char root_directory_record [ISODCL (181, 214)]; /* 9.1 */
-};
-
-/* We use this to help us look up the parent inode numbers. */
-
-struct iso_path_table{
- unsigned char name_len[2]; /* 721 */
- char extent[4]; /* 731 */
- char parent[2]; /* 721 */
- char name[0];
-} __attribute__((packed));
-
-/* high sierra is identical to iso, except that the date is only 6 bytes, and
- there is an extra reserved byte after the flags */
-
-struct iso_directory_record {
- char length [ISODCL (1, 1)]; /* 711 */
- char ext_attr_length [ISODCL (2, 2)]; /* 711 */
- char extent [ISODCL (3, 10)]; /* 733 */
- char size [ISODCL (11, 18)]; /* 733 */
- char date [ISODCL (19, 25)]; /* 7 by 711 */
- char flags [ISODCL (26, 26)];
- char file_unit_size [ISODCL (27, 27)]; /* 711 */
- char interleave [ISODCL (28, 28)]; /* 711 */
- char volume_sequence_number [ISODCL (29, 32)]; /* 723 */
- unsigned char name_len [ISODCL (33, 33)]; /* 711 */
- char name [0];
-} __attribute__((packed));
-
-#define ISOFS_BLOCK_BITS 11
-#define ISOFS_BLOCK_SIZE 2048
-
-#define ISOFS_BUFFER_SIZE(INODE) ((INODE)->i_sb->s_blocksize)
-#define ISOFS_BUFFER_BITS(INODE) ((INODE)->i_sb->s_blocksize_bits)
-
-#endif /* _ISOFS_FS_H */
diff --git a/linux-headers/include/linux/ivtv.h b/linux-headers/include/linux/ivtv.h
deleted file mode 100644
index 120e82c..0000000
--- a/linux-headers/include/linux/ivtv.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- Public ivtv API header
- Copyright (C) 2003-2004 Kevin Thayer <nufan_wfk at yahoo.com>
- Copyright (C) 2004-2007 Hans Verkuil <hverkuil@xs4all.nl>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef __LINUX_IVTV_H__
-#define __LINUX_IVTV_H__
-
-
-#include <linux/types.h>
-#include <linux/videodev2.h>
-
-/* ivtv knows several distinct output modes: MPEG streaming,
- YUV streaming, YUV updates through user DMA and the passthrough
- mode.
-
- In order to clearly tell the driver that we are in user DMA
- YUV mode you need to call IVTV_IOC_DMA_FRAME with y_source == NULL
- first (althrough if you don't then the first time
- DMA_FRAME is called the mode switch is done automatically).
-
- When you close the file handle the user DMA mode is exited again.
-
- While in one mode, you cannot use another mode (EBUSY is returned).
-
- All this means that if you want to change the YUV interlacing
- for the user DMA YUV mode you first need to do call IVTV_IOC_DMA_FRAME
- with y_source == NULL before you can set the correct format using
- VIDIOC_S_FMT.
-
- Eventually all this should be replaced with a proper V4L2 API,
- but for now we have to do it this way. */
-
-struct ivtv_dma_frame {
- enum v4l2_buf_type type; /* V4L2_BUF_TYPE_VIDEO_OUTPUT */
- __u32 pixelformat; /* 0 == same as destination */
- void *y_source; /* if NULL and type == V4L2_BUF_TYPE_VIDEO_OUTPUT,
- then just switch to user DMA YUV output mode */
- void *uv_source; /* Unused for RGB pixelformats */
- struct v4l2_rect src;
- struct v4l2_rect dst;
- __u32 src_width;
- __u32 src_height;
-};
-
-#define IVTV_IOC_DMA_FRAME _IOW ('V', BASE_VIDIOC_PRIVATE+0, struct ivtv_dma_frame)
-
-/* Select the passthrough mode (if the argument is non-zero). In the passthrough
- mode the output of the encoder is passed immediately into the decoder. */
-#define IVTV_IOC_PASSTHROUGH_MODE _IOW ('V', BASE_VIDIOC_PRIVATE+1, int)
-
-/* Deprecated defines: applications should use the defines from videodev2.h */
-#define IVTV_SLICED_TYPE_TELETEXT_B V4L2_MPEG_VBI_IVTV_TELETEXT_B
-#define IVTV_SLICED_TYPE_CAPTION_525 V4L2_MPEG_VBI_IVTV_CAPTION_525
-#define IVTV_SLICED_TYPE_WSS_625 V4L2_MPEG_VBI_IVTV_WSS_625
-#define IVTV_SLICED_TYPE_VPS V4L2_MPEG_VBI_IVTV_VPS
-
-#endif /* _LINUX_IVTV_H */
diff --git a/linux-headers/include/linux/ivtvfb.h b/linux-headers/include/linux/ivtvfb.h
deleted file mode 100644
index 97eaf4e..0000000
--- a/linux-headers/include/linux/ivtvfb.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- On Screen Display cx23415 Framebuffer driver
-
- Copyright (C) 2006, 2007 Ian Armstrong <ian@iarmst.demon.co.uk>
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef __LINUX_IVTVFB_H__
-#define __LINUX_IVTVFB_H__
-
-
-#include <linux/types.h>
-
-/* Framebuffer external API */
-
-struct ivtvfb_dma_frame {
- void *source;
- unsigned long dest_offset;
- int count;
-};
-
-#define IVTVFB_IOC_DMA_FRAME _IOW('V', BASE_VIDIOC_PRIVATE+0, struct ivtvfb_dma_frame)
-
-#endif
diff --git a/linux-headers/include/linux/ixjuser.h b/linux-headers/include/linux/ixjuser.h
deleted file mode 100644
index 0b829f9..0000000
--- a/linux-headers/include/linux/ixjuser.h
+++ /dev/null
@@ -1,720 +0,0 @@
-#ifndef __LINUX_IXJUSER_H
-#define __LINUX_IXJUSER_H
-
-/******************************************************************************
- *
- * ixjuser.h
- *
- * Device Driver for Quicknet Technologies, Inc.'s Telephony cards
- * including the Internet PhoneJACK, Internet PhoneJACK Lite,
- * Internet PhoneJACK PCI, Internet LineJACK, Internet PhoneCARD and
- * SmartCABLE
- *
- * (c) Copyright 1999-2001 Quicknet Technologies, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- * Author: Ed Okerson, <eokerson@quicknet.net>
- *
- * Contributors: Greg Herlein, <gherlein@quicknet.net>
- * David W. Erhart, <derhart@quicknet.net>
- * John Sellers, <jsellers@quicknet.net>
- * Mike Preston, <mpreston@quicknet.net>
- *
- * More information about the hardware related to this driver can be found
- * at our website: http://www.quicknet.net
- *
- * Fixes:
- *
- * IN NO EVENT SHALL QUICKNET TECHNOLOGIES, INC. BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
- * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF QUICKNET
- * TECHNOLOGIES, INC.HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * QUICKNET TECHNOLOGIES, INC. SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND QUICKNET TECHNOLOGIES, INC. HAS NO OBLIGATION
- * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- *****************************************************************************/
-
-#include <linux/telephony.h>
-
-
-/******************************************************************************
-*
-* IOCTL's used for the Quicknet Telephony Cards
-*
-* If you use the IXJCTL_TESTRAM command, the card must be power cycled to
-* reset the SRAM values before further use.
-*
-******************************************************************************/
-
-#define IXJCTL_DSP_RESET _IO ('q', 0xC0)
-
-#define IXJCTL_RING PHONE_RING
-#define IXJCTL_HOOKSTATE PHONE_HOOKSTATE
-#define IXJCTL_MAXRINGS PHONE_MAXRINGS
-#define IXJCTL_RING_CADENCE PHONE_RING_CADENCE
-#define IXJCTL_RING_START PHONE_RING_START
-#define IXJCTL_RING_STOP PHONE_RING_STOP
-
-#define IXJCTL_CARDTYPE _IOR ('q', 0xC1, int)
-#define IXJCTL_SERIAL _IOR ('q', 0xC2, int)
-#define IXJCTL_DSP_TYPE _IOR ('q', 0xC3, int)
-#define IXJCTL_DSP_VERSION _IOR ('q', 0xC4, int)
-#define IXJCTL_VERSION _IOR ('q', 0xDA, char *)
-#define IXJCTL_DSP_IDLE _IO ('q', 0xC5)
-#define IXJCTL_TESTRAM _IO ('q', 0xC6)
-
-/******************************************************************************
-*
-* This group of IOCTLs deal with the record settings of the DSP
-*
-* The IXJCTL_REC_DEPTH command sets the internal buffer depth of the DSP.
-* Setting a lower depth reduces latency, but increases the demand of the
-* application to service the driver without frame loss. The DSP has 480
-* bytes of physical buffer memory for the record channel so the true
-* maximum limit is determined by how many frames will fit in the buffer.
-*
-* 1 uncompressed (480 byte) 16-bit linear frame.
-* 2 uncompressed (240 byte) 8-bit A-law/mu-law frames.
-* 15 TrueSpeech 8.5 frames.
-* 20 TrueSpeech 6.3,5.3,4.8 or 4.1 frames.
-*
-* The default in the driver is currently set to 2 frames.
-*
-* The IXJCTL_REC_VOLUME and IXJCTL_PLAY_VOLUME commands both use a Q8
-* number as a parameter, 0x100 scales the signal by 1.0, 0x200 scales the
-* signal by 2.0, 0x80 scales the signal by 0.5. No protection is given
-* against over-scaling, if the multiplication factor times the input
-* signal exceeds 16 bits, overflow distortion will occur. The default
-* setting is 0x100 (1.0).
-*
-* The IXJCTL_REC_LEVEL returns the average signal level (not r.m.s.) on
-* the most recently recorded frame as a 16 bit value.
-******************************************************************************/
-
-#define IXJCTL_REC_CODEC PHONE_REC_CODEC
-#define IXJCTL_REC_START PHONE_REC_START
-#define IXJCTL_REC_STOP PHONE_REC_STOP
-#define IXJCTL_REC_DEPTH PHONE_REC_DEPTH
-#define IXJCTL_FRAME PHONE_FRAME
-#define IXJCTL_REC_VOLUME PHONE_REC_VOLUME
-#define IXJCTL_REC_LEVEL PHONE_REC_LEVEL
-
-typedef enum {
- f300_640 = 4, f300_500, f1100, f350, f400, f480, f440, f620, f20_50,
- f133_200, f300, f300_420, f330, f300_425, f330_440, f340, f350_400,
- f350_440, f350_450, f360, f380_420, f392, f400_425, f400_440, f400_450,
- f420, f425, f425_450, f425_475, f435, f440_450, f440_480, f445, f450,
- f452, f475, f480_620, f494, f500, f520, f523, f525, f540_660, f587,
- f590, f600, f660, f700, f740, f750, f750_1450, f770, f800, f816, f850,
- f857_1645, f900, f900_1300, f935_1215, f941_1477, f942, f950, f950_1400,
- f975, f1000, f1020, f1050, f1100_1750, f1140, f1200, f1209, f1330, f1336,
- lf1366, f1380, f1400, f1477, f1600, f1633_1638, f1800, f1860
-} IXJ_FILTER_FREQ;
-
-typedef struct {
- unsigned int filter;
- IXJ_FILTER_FREQ freq;
- char enable;
-} IXJ_FILTER;
-
-typedef struct {
- char enable;
- char en_filter;
- unsigned int filter;
- unsigned int on1;
- unsigned int off1;
- unsigned int on2;
- unsigned int off2;
- unsigned int on3;
- unsigned int off3;
-} IXJ_FILTER_CADENCE;
-
-#define IXJCTL_SET_FILTER _IOW ('q', 0xC7, IXJ_FILTER *)
-#define IXJCTL_SET_FILTER_RAW _IOW ('q', 0xDD, IXJ_FILTER_RAW *)
-#define IXJCTL_GET_FILTER_HIST _IOW ('q', 0xC8, int)
-#define IXJCTL_FILTER_CADENCE _IOW ('q', 0xD6, IXJ_FILTER_CADENCE *)
-#define IXJCTL_PLAY_CID _IO ('q', 0xD7)
-/******************************************************************************
-*
-* This IOCTL allows you to reassign values in the tone index table. The
-* tone table has 32 entries (0 - 31), but the driver only allows entries
-* 13 - 27 to be modified, entry 0 is reserved for silence and 1 - 12 are
-* the standard DTMF digits and 28 - 31 are the DTMF tones for A, B, C & D.
-* The positions used internally for Call Progress Tones are as follows:
-* Dial Tone - 25
-* Ring Back - 26
-* Busy Signal - 27
-*
-* The freq values are calculated as:
-* freq = cos(2 * PI * frequency / 8000)
-*
-* The most commonly needed values are already calculated and listed in the
-* enum IXJ_TONE_FREQ. Each tone index can have two frequencies with
-* different gains, if you are only using a single frequency set the unused
-* one to 0.
-*
-* The gain values range from 0 to 15 indicating +6dB to -24dB in 2dB
-* increments.
-*
-******************************************************************************/
-
-typedef enum {
- hz20 = 0x7ffa,
- hz50 = 0x7fe5,
- hz133 = 0x7f4c,
- hz200 = 0x7e6b,
- hz261 = 0x7d50, /* .63 C1 */
- hz277 = 0x7cfa, /* .18 CS1 */
- hz293 = 0x7c9f, /* .66 D1 */
- hz300 = 0x7c75,
- hz311 = 0x7c32, /* .13 DS1 */
- hz329 = 0x7bbf, /* .63 E1 */
- hz330 = 0x7bb8,
- hz340 = 0x7b75,
- hz349 = 0x7b37, /* .23 F1 */
- hz350 = 0x7b30,
- hz360 = 0x7ae9,
- hz369 = 0x7aa8, /* .99 FS1 */
- hz380 = 0x7a56,
- hz392 = 0x79fa, /* .00 G1 */
- hz400 = 0x79bb,
- hz415 = 0x7941, /* .30 GS1 */
- hz420 = 0x7918,
- hz425 = 0x78ee,
- hz435 = 0x7899,
- hz440 = 0x786d, /* .00 A1 */
- hz445 = 0x7842,
- hz450 = 0x7815,
- hz452 = 0x7803,
- hz466 = 0x7784, /* .16 AS1 */
- hz475 = 0x7731,
- hz480 = 0x7701,
- hz493 = 0x7685, /* .88 B1 */
- hz494 = 0x767b,
- hz500 = 0x7640,
- hz520 = 0x7578,
- hz523 = 0x7559, /* .25 C2 */
- hz525 = 0x7544,
- hz540 = 0x74a7,
- hz554 = 0x7411, /* .37 CS2 */
- hz587 = 0x72a1, /* .33 D2 */
- hz590 = 0x727f,
- hz600 = 0x720b,
- hz620 = 0x711e,
- hz622 = 0x7106, /* .25 DS2 */
- hz659 = 0x6f3b, /* .26 E2 */
- hz660 = 0x6f2e,
- hz698 = 0x6d3d, /* .46 F2 */
- hz700 = 0x6d22,
- hz739 = 0x6b09, /* .99 FS2 */
- hz740 = 0x6afa,
- hz750 = 0x6a6c,
- hz770 = 0x694b,
- hz783 = 0x688b, /* .99 G2 */
- hz800 = 0x678d,
- hz816 = 0x6698,
- hz830 = 0x65bf, /* .61 GS2 */
- hz850 = 0x6484,
- hz857 = 0x6414,
- hz880 = 0x629f, /* .00 A2 */
- hz900 = 0x6154,
- hz932 = 0x5f35, /* .33 AS2 */
- hz935 = 0x5f01,
- hz941 = 0x5e9a,
- hz942 = 0x5e88,
- hz950 = 0x5dfd,
- hz975 = 0x5c44,
- hz1000 = 0x5a81,
- hz1020 = 0x5912,
- hz1050 = 0x56e2,
- hz1100 = 0x5320,
- hz1140 = 0x5007,
- hz1200 = 0x4b3b,
- hz1209 = 0x4a80,
- hz1215 = 0x4a02,
- hz1250 = 0x471c,
- hz1300 = 0x42e0,
- hz1330 = 0x4049,
- hz1336 = 0x3fc4,
- hz1366 = 0x3d22,
- hz1380 = 0x3be4,
- hz1400 = 0x3a1b,
- hz1450 = 0x3596,
- hz1477 = 0x331c,
- hz1500 = 0x30fb,
- hz1600 = 0x278d,
- hz1633 = 0x2462,
- hz1638 = 0x23e7,
- hz1645 = 0x233a,
- hz1750 = 0x18f8,
- hz1800 = 0x1405,
- hz1860 = 0xe0b,
- hz2100 = 0xf5f6,
- hz2130 = 0xf2f5,
- hz2450 = 0xd3b3,
- hz2750 = 0xb8e4
-} IXJ_FREQ;
-
-typedef enum {
- C1 = hz261,
- CS1 = hz277,
- D1 = hz293,
- DS1 = hz311,
- E1 = hz329,
- F1 = hz349,
- FS1 = hz369,
- G1 = hz392,
- GS1 = hz415,
- A1 = hz440,
- AS1 = hz466,
- B1 = hz493,
- C2 = hz523,
- CS2 = hz554,
- D2 = hz587,
- DS2 = hz622,
- E2 = hz659,
- F2 = hz698,
- FS2 = hz739,
- G2 = hz783,
- GS2 = hz830,
- A2 = hz880,
- AS2 = hz932,
-} IXJ_NOTE;
-
-typedef struct {
- int tone_index;
- int freq0;
- int gain0;
- int freq1;
- int gain1;
-} IXJ_TONE;
-
-#define IXJCTL_INIT_TONE _IOW ('q', 0xC9, IXJ_TONE *)
-
-/******************************************************************************
-*
-* The IXJCTL_TONE_CADENCE ioctl defines tone sequences used for various
-* Call Progress Tones (CPT). This is accomplished by setting up an array of
-* IXJ_CADENCE_ELEMENT structures that sequentially define the states of
-* the tone sequence. The tone_on_time and tone_off time are in
-* 250 microsecond intervals. A pointer to this array is passed to the
-* driver as the ce element of an IXJ_CADENCE structure. The elements_used
-* must be set to the number of IXJ_CADENCE_ELEMENTS in the array. The
-* termination variable defines what to do at the end of a cadence, the
-* options are to play the cadence once and stop, to repeat the last
-* element of the cadence indefinitely, or to repeat the entire cadence
-* indefinitely. The ce variable is a pointer to the array of IXJ_TONE
-* structures. If the freq0 variable is non-zero, the tone table contents
-* for the tone_index are updated to the frequencies and gains defined. It
-* should be noted that DTMF tones cannot be reassigned, so if DTMF tone
-* table indexes are used in a cadence the frequency and gain variables will
-* be ignored.
-*
-* If the array elements contain frequency parameters the driver will
-* initialize the needed tone table elements and begin playing the tone,
-* there is no preset limit on the number of elements in the cadence. If
-* there is more than one frequency used in the cadence, sequential elements
-* of different frequencies MUST use different tone table indexes. Only one
-* cadence can be played at a time. It is possible to build complex
-* cadences with multiple frequencies using 2 tone table indexes by
-* alternating between them.
-*
-******************************************************************************/
-
-typedef struct {
- int index;
- int tone_on_time;
- int tone_off_time;
- int freq0;
- int gain0;
- int freq1;
- int gain1;
-} IXJ_CADENCE_ELEMENT;
-
-typedef enum {
- PLAY_ONCE,
- REPEAT_LAST_ELEMENT,
- REPEAT_ALL
-} IXJ_CADENCE_TERM;
-
-typedef struct {
- int elements_used;
- IXJ_CADENCE_TERM termination;
- IXJ_CADENCE_ELEMENT *ce;
-} IXJ_CADENCE;
-
-#define IXJCTL_TONE_CADENCE _IOW ('q', 0xCA, IXJ_CADENCE *)
-/******************************************************************************
-*
-* This group of IOCTLs deal with the playback settings of the DSP
-*
-******************************************************************************/
-
-#define IXJCTL_PLAY_CODEC PHONE_PLAY_CODEC
-#define IXJCTL_PLAY_START PHONE_PLAY_START
-#define IXJCTL_PLAY_STOP PHONE_PLAY_STOP
-#define IXJCTL_PLAY_DEPTH PHONE_PLAY_DEPTH
-#define IXJCTL_PLAY_VOLUME PHONE_PLAY_VOLUME
-#define IXJCTL_PLAY_LEVEL PHONE_PLAY_LEVEL
-
-/******************************************************************************
-*
-* This group of IOCTLs deal with the Acoustic Echo Cancellation settings
-* of the DSP
-*
-* Issuing the IXJCTL_AEC_START command with a value of AEC_OFF has the
-* same effect as IXJCTL_AEC_STOP. This is to simplify slider bar
-* controls. IXJCTL_AEC_GET_LEVEL returns the current setting of the AEC.
-******************************************************************************/
-#define IXJCTL_AEC_START _IOW ('q', 0xCB, int)
-#define IXJCTL_AEC_STOP _IO ('q', 0xCC)
-#define IXJCTL_AEC_GET_LEVEL _IO ('q', 0xCD)
-
-#define AEC_OFF 0
-#define AEC_LOW 1
-#define AEC_MED 2
-#define AEC_HIGH 3
-#define AEC_AUTO 4
-#define AEC_AGC 5
-/******************************************************************************
-*
-* Call Progress Tones, DTMF, etc.
-* IXJCTL_DTMF_OOB determines if DTMF signaling is sent as Out-Of-Band
-* only. If you pass a 1, DTMF is suppressed from the audio stream.
-* Tone on and off times are in 250 microsecond intervals so
-* ioctl(ixj1, IXJCTL_SET_TONE_ON_TIME, 360);
-* will set the tone on time of board ixj1 to 360 * 250us = 90ms
-* the default values of tone on and off times is 840 or 210ms
-******************************************************************************/
-
-#define IXJCTL_DTMF_READY PHONE_DTMF_READY
-#define IXJCTL_GET_DTMF PHONE_GET_DTMF
-#define IXJCTL_GET_DTMF_ASCII PHONE_GET_DTMF_ASCII
-#define IXJCTL_DTMF_OOB PHONE_DTMF_OOB
-#define IXJCTL_EXCEPTION PHONE_EXCEPTION
-#define IXJCTL_PLAY_TONE PHONE_PLAY_TONE
-#define IXJCTL_SET_TONE_ON_TIME PHONE_SET_TONE_ON_TIME
-#define IXJCTL_SET_TONE_OFF_TIME PHONE_SET_TONE_OFF_TIME
-#define IXJCTL_GET_TONE_ON_TIME PHONE_GET_TONE_ON_TIME
-#define IXJCTL_GET_TONE_OFF_TIME PHONE_GET_TONE_OFF_TIME
-#define IXJCTL_GET_TONE_STATE PHONE_GET_TONE_STATE
-#define IXJCTL_BUSY PHONE_BUSY
-#define IXJCTL_RINGBACK PHONE_RINGBACK
-#define IXJCTL_DIALTONE PHONE_DIALTONE
-#define IXJCTL_CPT_STOP PHONE_CPT_STOP
-
-/******************************************************************************
-* LineJACK specific IOCTLs
-*
-* The lsb 4 bits of the LED argument represent the state of each of the 4
-* LED's on the LineJACK
-******************************************************************************/
-
-#define IXJCTL_SET_LED _IOW ('q', 0xCE, int)
-#define IXJCTL_MIXER _IOW ('q', 0xCF, int)
-
-/******************************************************************************
-*
-* The master volume controls use attenuation with 32 levels from 0 to -62dB
-* with steps of 2dB each, the defines should be OR'ed together then sent
-* as the parameter to the mixer command to change the mixer settings.
-*
-******************************************************************************/
-#define MIXER_MASTER_L 0x0000
-#define MIXER_MASTER_R 0x0100
-#define ATT00DB 0x00
-#define ATT02DB 0x01
-#define ATT04DB 0x02
-#define ATT06DB 0x03
-#define ATT08DB 0x04
-#define ATT10DB 0x05
-#define ATT12DB 0x06
-#define ATT14DB 0x07
-#define ATT16DB 0x08
-#define ATT18DB 0x09
-#define ATT20DB 0x0A
-#define ATT22DB 0x0B
-#define ATT24DB 0x0C
-#define ATT26DB 0x0D
-#define ATT28DB 0x0E
-#define ATT30DB 0x0F
-#define ATT32DB 0x10
-#define ATT34DB 0x11
-#define ATT36DB 0x12
-#define ATT38DB 0x13
-#define ATT40DB 0x14
-#define ATT42DB 0x15
-#define ATT44DB 0x16
-#define ATT46DB 0x17
-#define ATT48DB 0x18
-#define ATT50DB 0x19
-#define ATT52DB 0x1A
-#define ATT54DB 0x1B
-#define ATT56DB 0x1C
-#define ATT58DB 0x1D
-#define ATT60DB 0x1E
-#define ATT62DB 0x1F
-#define MASTER_MUTE 0x80
-
-/******************************************************************************
-*
-* The input volume controls use gain with 32 levels from +12dB to -50dB
-* with steps of 2dB each, the defines should be OR'ed together then sent
-* as the parameter to the mixer command to change the mixer settings.
-*
-******************************************************************************/
-#define MIXER_PORT_CD_L 0x0600
-#define MIXER_PORT_CD_R 0x0700
-#define MIXER_PORT_LINE_IN_L 0x0800
-#define MIXER_PORT_LINE_IN_R 0x0900
-#define MIXER_PORT_POTS_REC 0x0C00
-#define MIXER_PORT_MIC 0x0E00
-
-#define GAIN12DB 0x00
-#define GAIN10DB 0x01
-#define GAIN08DB 0x02
-#define GAIN06DB 0x03
-#define GAIN04DB 0x04
-#define GAIN02DB 0x05
-#define GAIN00DB 0x06
-#define GAIN_02DB 0x07
-#define GAIN_04DB 0x08
-#define GAIN_06DB 0x09
-#define GAIN_08DB 0x0A
-#define GAIN_10DB 0x0B
-#define GAIN_12DB 0x0C
-#define GAIN_14DB 0x0D
-#define GAIN_16DB 0x0E
-#define GAIN_18DB 0x0F
-#define GAIN_20DB 0x10
-#define GAIN_22DB 0x11
-#define GAIN_24DB 0x12
-#define GAIN_26DB 0x13
-#define GAIN_28DB 0x14
-#define GAIN_30DB 0x15
-#define GAIN_32DB 0x16
-#define GAIN_34DB 0x17
-#define GAIN_36DB 0x18
-#define GAIN_38DB 0x19
-#define GAIN_40DB 0x1A
-#define GAIN_42DB 0x1B
-#define GAIN_44DB 0x1C
-#define GAIN_46DB 0x1D
-#define GAIN_48DB 0x1E
-#define GAIN_50DB 0x1F
-#define INPUT_MUTE 0x80
-
-/******************************************************************************
-*
-* The POTS volume control use attenuation with 8 levels from 0dB to -28dB
-* with steps of 4dB each, the defines should be OR'ed together then sent
-* as the parameter to the mixer command to change the mixer settings.
-*
-******************************************************************************/
-#define MIXER_PORT_POTS_PLAY 0x0F00
-
-#define POTS_ATT_00DB 0x00
-#define POTS_ATT_04DB 0x01
-#define POTS_ATT_08DB 0x02
-#define POTS_ATT_12DB 0x03
-#define POTS_ATT_16DB 0x04
-#define POTS_ATT_20DB 0x05
-#define POTS_ATT_24DB 0x06
-#define POTS_ATT_28DB 0x07
-#define POTS_MUTE 0x80
-
-/******************************************************************************
-*
-* The DAA controls the interface to the PSTN port. The driver loads the
-* US coefficients by default, so if you live in a different country you
-* need to load the set for your countries phone system.
-*
-******************************************************************************/
-#define IXJCTL_DAA_COEFF_SET _IOW ('q', 0xD0, int)
-
-#define DAA_US 1 /*PITA 8kHz */
-#define DAA_UK 2 /*ISAR34 8kHz */
-#define DAA_FRANCE 3 /* */
-#define DAA_GERMANY 4
-#define DAA_AUSTRALIA 5
-#define DAA_JAPAN 6
-
-/******************************************************************************
-*
-* Use IXJCTL_PORT to set or query the port the card is set to. If the
-* argument is set to PORT_QUERY, the return value of the ioctl will
-* indicate which port is currently in use, otherwise it will change the
-* port.
-*
-******************************************************************************/
-#define IXJCTL_PORT _IOW ('q', 0xD1, int)
-
-#define PORT_QUERY 0
-#define PORT_POTS 1
-#define PORT_PSTN 2
-#define PORT_SPEAKER 3
-#define PORT_HANDSET 4
-
-#define IXJCTL_PSTN_SET_STATE PHONE_PSTN_SET_STATE
-#define IXJCTL_PSTN_GET_STATE PHONE_PSTN_GET_STATE
-
-#define PSTN_ON_HOOK 0
-#define PSTN_RINGING 1
-#define PSTN_OFF_HOOK 2
-#define PSTN_PULSE_DIAL 3
-
-/******************************************************************************
-*
-* The DAA Analog GAIN sets 2 parameters at one time, the receive gain (AGRR),
-* and the transmit gain (AGX). OR together the components and pass them
-* as the parameter to IXJCTL_DAA_AGAIN. The default setting is both at 0dB.
-*
-******************************************************************************/
-#define IXJCTL_DAA_AGAIN _IOW ('q', 0xD2, int)
-
-#define AGRR00DB 0x00 /* Analog gain in receive direction 0dB */
-#define AGRR3_5DB 0x10 /* Analog gain in receive direction 3.5dB */
-#define AGRR06DB 0x30 /* Analog gain in receive direction 6dB */
-
-#define AGX00DB 0x00 /* Analog gain in transmit direction 0dB */
-#define AGX_6DB 0x04 /* Analog gain in transmit direction -6dB */
-#define AGX3_5DB 0x08 /* Analog gain in transmit direction 3.5dB */
-#define AGX_2_5B 0x0C /* Analog gain in transmit direction -2.5dB */
-
-#define IXJCTL_PSTN_LINETEST _IO ('q', 0xD3)
-
-#define IXJCTL_CID _IOR ('q', 0xD4, PHONE_CID *)
-#define IXJCTL_VMWI _IOR ('q', 0xD8, int)
-#define IXJCTL_CIDCW _IOW ('q', 0xD9, PHONE_CID *)
-/******************************************************************************
-*
-* The wink duration is tunable with this ioctl. The default wink duration
-* is 320ms. You do not need to use this ioctl if you do not require a
-* different wink duration.
-*
-******************************************************************************/
-#define IXJCTL_WINK_DURATION PHONE_WINK_DURATION
-
-/******************************************************************************
-*
-* This ioctl will connect the POTS port to the PSTN port on the LineJACK
-* In order for this to work properly the port selection should be set to
-* the PSTN port with IXJCTL_PORT prior to calling this ioctl. This will
-* enable conference calls between PSTN callers and network callers.
-* Passing a 1 to this ioctl enables the POTS<->PSTN connection while
-* passing a 0 turns it back off.
-*
-******************************************************************************/
-#define IXJCTL_POTS_PSTN _IOW ('q', 0xD5, int)
-
-/******************************************************************************
-*
-* IOCTLs added by request.
-*
-* IXJCTL_HZ sets the value your Linux kernel uses for HZ as defined in
-* /usr/include/asm/param.h, this determines the fundamental
-* frequency of the clock ticks on your Linux system. The kernel
-* must be rebuilt if you change this value, also all modules you
-* use (except this one) must be recompiled. The default value
-* is 100, and you only need to use this IOCTL if you use some
-* other value.
-*
-*
-* IXJCTL_RATE sets the number of times per second that the driver polls
-* the DSP. This value cannot be larger than HZ. By
-* increasing both of these values, you may be able to reduce
-* latency because the max hang time that can exist between the
-* driver and the DSP will be reduced.
-*
-******************************************************************************/
-
-#define IXJCTL_HZ _IOW ('q', 0xE0, int)
-#define IXJCTL_RATE _IOW ('q', 0xE1, int)
-#define IXJCTL_FRAMES_READ _IOR ('q', 0xE2, unsigned long)
-#define IXJCTL_FRAMES_WRITTEN _IOR ('q', 0xE3, unsigned long)
-#define IXJCTL_READ_WAIT _IOR ('q', 0xE4, unsigned long)
-#define IXJCTL_WRITE_WAIT _IOR ('q', 0xE5, unsigned long)
-#define IXJCTL_DRYBUFFER_READ _IOR ('q', 0xE6, unsigned long)
-#define IXJCTL_DRYBUFFER_CLEAR _IO ('q', 0xE7)
-#define IXJCTL_DTMF_PRESCALE _IOW ('q', 0xE8, int)
-
-/******************************************************************************
-*
-* This ioctl allows the user application to control what events the driver
-* will send signals for, and what signals it will send for which event.
-* By default, if signaling is enabled, all events will send SIGIO when
-* they occur. To disable signals for an event set the signal to 0.
-*
-******************************************************************************/
-typedef enum {
- SIG_DTMF_READY,
- SIG_HOOKSTATE,
- SIG_FLASH,
- SIG_PSTN_RING,
- SIG_CALLER_ID,
- SIG_PSTN_WINK,
- SIG_F0, SIG_F1, SIG_F2, SIG_F3,
- SIG_FC0, SIG_FC1, SIG_FC2, SIG_FC3,
- SIG_READ_READY = 33,
- SIG_WRITE_READY = 34
-} IXJ_SIGEVENT;
-
-typedef struct {
- unsigned int event;
- int signal;
-} IXJ_SIGDEF;
-
-#define IXJCTL_SIGCTL _IOW ('q', 0xE9, IXJ_SIGDEF *)
-
-/******************************************************************************
-*
-* These ioctls allow the user application to change the gain in the
-* Smart Cable of the Internet Phone Card. Sending -1 as a value will cause
-* return value to be the current setting. Valid values to set are 0x00 - 0x1F
-*
-* 11111 = +12 dB
-* 10111 = 0 dB
-* 00000 = -34.5 dB
-*
-* IXJCTL_SC_RXG sets the Receive gain
-* IXJCTL_SC_TXG sets the Transmit gain
-*
-******************************************************************************/
-#define IXJCTL_SC_RXG _IOW ('q', 0xEA, int)
-#define IXJCTL_SC_TXG _IOW ('q', 0xEB, int)
-
-/******************************************************************************
-*
-* The intercom IOCTL's short the output from one card to the input of the
-* other and vice versa (actually done in the DSP read function). It is only
-* necessary to execute the IOCTL on one card, but it is necessary to have
-* both devices open to be able to detect hook switch changes. The record
-* codec and rate of each card must match the playback codec and rate of
-* the other card for this to work properly.
-*
-******************************************************************************/
-
-#define IXJCTL_INTERCOM_START _IOW ('q', 0xFD, int)
-#define IXJCTL_INTERCOM_STOP _IOW ('q', 0xFE, int)
-
-/******************************************************************************
- *
- * new structure for accessing raw filter information
- *
- ******************************************************************************/
-
-typedef struct {
- unsigned int filter;
- char enable;
- unsigned int coeff[19];
-} IXJ_FILTER_RAW;
-
-#endif
diff --git a/linux-headers/include/linux/jffs2.h b/linux-headers/include/linux/jffs2.h
deleted file mode 100644
index a18b719..0000000
--- a/linux-headers/include/linux/jffs2.h
+++ /dev/null
@@ -1,223 +0,0 @@
-/*
- * JFFS2 -- Journalling Flash File System, Version 2.
- *
- * Copyright © 2001-2007 Red Hat, Inc.
- * Copyright © 2004-2010 David Woodhouse <dwmw2@infradead.org>
- *
- * Created by David Woodhouse <dwmw2@infradead.org>
- *
- * For licensing information, see the file 'LICENCE' in the
- * jffs2 directory.
- */
-
-#ifndef __LINUX_JFFS2_H__
-#define __LINUX_JFFS2_H__
-
-#include <linux/types.h>
-#include <linux/magic.h>
-
-/* You must include something which defines the C99 uintXX_t types.
- We don't do it from here because this file is used in too many
- different environments. */
-
-/* Values we may expect to find in the 'magic' field */
-#define JFFS2_OLD_MAGIC_BITMASK 0x1984
-#define JFFS2_MAGIC_BITMASK 0x1985
-#define KSAMTIB_CIGAM_2SFFJ 0x8519 /* For detecting wrong-endian fs */
-#define JFFS2_EMPTY_BITMASK 0xffff
-#define JFFS2_DIRTY_BITMASK 0x0000
-
-/* Summary node MAGIC marker */
-#define JFFS2_SUM_MAGIC 0x02851885
-
-/* We only allow a single char for length, and 0xFF is empty flash so
- we don't want it confused with a real length. Hence max 254.
-*/
-#define JFFS2_MAX_NAME_LEN 254
-
-/* How small can we sensibly write nodes? */
-#define JFFS2_MIN_DATA_LEN 128
-
-#define JFFS2_COMPR_NONE 0x00
-#define JFFS2_COMPR_ZERO 0x01
-#define JFFS2_COMPR_RTIME 0x02
-#define JFFS2_COMPR_RUBINMIPS 0x03
-#define JFFS2_COMPR_COPY 0x04
-#define JFFS2_COMPR_DYNRUBIN 0x05
-#define JFFS2_COMPR_ZLIB 0x06
-#define JFFS2_COMPR_LZO 0x07
-/* Compatibility flags. */
-#define JFFS2_COMPAT_MASK 0xc000 /* What do to if an unknown nodetype is found */
-#define JFFS2_NODE_ACCURATE 0x2000
-/* INCOMPAT: Fail to mount the filesystem */
-#define JFFS2_FEATURE_INCOMPAT 0xc000
-/* ROCOMPAT: Mount read-only */
-#define JFFS2_FEATURE_ROCOMPAT 0x8000
-/* RWCOMPAT_COPY: Mount read/write, and copy the node when it's GC'd */
-#define JFFS2_FEATURE_RWCOMPAT_COPY 0x4000
-/* RWCOMPAT_DELETE: Mount read/write, and delete the node when it's GC'd */
-#define JFFS2_FEATURE_RWCOMPAT_DELETE 0x0000
-
-#define JFFS2_NODETYPE_DIRENT (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 1)
-#define JFFS2_NODETYPE_INODE (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 2)
-#define JFFS2_NODETYPE_CLEANMARKER (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3)
-#define JFFS2_NODETYPE_PADDING (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 4)
-
-#define JFFS2_NODETYPE_SUMMARY (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 6)
-
-#define JFFS2_NODETYPE_XATTR (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 8)
-#define JFFS2_NODETYPE_XREF (JFFS2_FEATURE_INCOMPAT | JFFS2_NODE_ACCURATE | 9)
-
-/* XATTR Related */
-#define JFFS2_XPREFIX_USER 1 /* for "user." */
-#define JFFS2_XPREFIX_SECURITY 2 /* for "security." */
-#define JFFS2_XPREFIX_ACL_ACCESS 3 /* for "system.posix_acl_access" */
-#define JFFS2_XPREFIX_ACL_DEFAULT 4 /* for "system.posix_acl_default" */
-#define JFFS2_XPREFIX_TRUSTED 5 /* for "trusted.*" */
-
-#define JFFS2_ACL_VERSION 0x0001
-
-// Maybe later...
-//#define JFFS2_NODETYPE_CHECKPOINT (JFFS2_FEATURE_RWCOMPAT_DELETE | JFFS2_NODE_ACCURATE | 3)
-//#define JFFS2_NODETYPE_OPTIONS (JFFS2_FEATURE_RWCOMPAT_COPY | JFFS2_NODE_ACCURATE | 4)
-
-
-#define JFFS2_INO_FLAG_PREREAD 1 /* Do read_inode() for this one at
- mount time, don't wait for it to
- happen later */
-#define JFFS2_INO_FLAG_USERCOMPR 2 /* User has requested a specific
- compression type */
-
-
-/* These can go once we've made sure we've caught all uses without
- byteswapping */
-
-typedef struct {
- __u32 v32;
-} __attribute__((packed)) jint32_t;
-
-typedef struct {
- __u32 m;
-} __attribute__((packed)) jmode_t;
-
-typedef struct {
- __u16 v16;
-} __attribute__((packed)) jint16_t;
-
-struct jffs2_unknown_node
-{
- /* All start like this */
- jint16_t magic;
- jint16_t nodetype;
- jint32_t totlen; /* So we can skip over nodes we don't grok */
- jint32_t hdr_crc;
-};
-
-struct jffs2_raw_dirent
-{
- jint16_t magic;
- jint16_t nodetype; /* == JFFS2_NODETYPE_DIRENT */
- jint32_t totlen;
- jint32_t hdr_crc;
- jint32_t pino;
- jint32_t version;
- jint32_t ino; /* == zero for unlink */
- jint32_t mctime;
- __u8 nsize;
- __u8 type;
- __u8 unused[2];
- jint32_t node_crc;
- jint32_t name_crc;
- __u8 name[0];
-};
-
-/* The JFFS2 raw inode structure: Used for storage on physical media. */
-/* The uid, gid, atime, mtime and ctime members could be longer, but
- are left like this for space efficiency. If and when people decide
- they really need them extended, it's simple enough to add support for
- a new type of raw node.
-*/
-struct jffs2_raw_inode
-{
- jint16_t magic; /* A constant magic number. */
- jint16_t nodetype; /* == JFFS2_NODETYPE_INODE */
- jint32_t totlen; /* Total length of this node (inc data, etc.) */
- jint32_t hdr_crc;
- jint32_t ino; /* Inode number. */
- jint32_t version; /* Version number. */
- jmode_t mode; /* The file's type or mode. */
- jint16_t uid; /* The file's owner. */
- jint16_t gid; /* The file's group. */
- jint32_t isize; /* Total resultant size of this inode (used for truncations) */
- jint32_t atime; /* Last access time. */
- jint32_t mtime; /* Last modification time. */
- jint32_t ctime; /* Change time. */
- jint32_t offset; /* Where to begin to write. */
- jint32_t csize; /* (Compressed) data size */
- jint32_t dsize; /* Size of the node's data. (after decompression) */
- __u8 compr; /* Compression algorithm used */
- __u8 usercompr; /* Compression algorithm requested by the user */
- jint16_t flags; /* See JFFS2_INO_FLAG_* */
- jint32_t data_crc; /* CRC for the (compressed) data. */
- jint32_t node_crc; /* CRC for the raw inode (excluding data) */
- __u8 data[0];
-};
-
-struct jffs2_raw_xattr {
- jint16_t magic;
- jint16_t nodetype; /* = JFFS2_NODETYPE_XATTR */
- jint32_t totlen;
- jint32_t hdr_crc;
- jint32_t xid; /* XATTR identifier number */
- jint32_t version;
- __u8 xprefix;
- __u8 name_len;
- jint16_t value_len;
- jint32_t data_crc;
- jint32_t node_crc;
- __u8 data[0];
-} __attribute__((packed));
-
-struct jffs2_raw_xref
-{
- jint16_t magic;
- jint16_t nodetype; /* = JFFS2_NODETYPE_XREF */
- jint32_t totlen;
- jint32_t hdr_crc;
- jint32_t ino; /* inode number */
- jint32_t xid; /* XATTR identifier number */
- jint32_t xseqno; /* xref sequential number */
- jint32_t node_crc;
-} __attribute__((packed));
-
-struct jffs2_raw_summary
-{
- jint16_t magic;
- jint16_t nodetype; /* = JFFS2_NODETYPE_SUMMARY */
- jint32_t totlen;
- jint32_t hdr_crc;
- jint32_t sum_num; /* number of sum entries*/
- jint32_t cln_mkr; /* clean marker size, 0 = no cleanmarker */
- jint32_t padded; /* sum of the size of padding nodes */
- jint32_t sum_crc; /* summary information crc */
- jint32_t node_crc; /* node crc */
- jint32_t sum[0]; /* inode summary info */
-};
-
-union jffs2_node_union
-{
- struct jffs2_raw_inode i;
- struct jffs2_raw_dirent d;
- struct jffs2_raw_xattr x;
- struct jffs2_raw_xref r;
- struct jffs2_raw_summary s;
- struct jffs2_unknown_node u;
-};
-
-/* Data payload for device nodes. */
-union jffs2_device_node {
- jint16_t old_id;
- jint32_t new_id;
-};
-
-#endif /* __LINUX_JFFS2_H__ */
diff --git a/linux-headers/include/linux/joystick.h b/linux-headers/include/linux/joystick.h
deleted file mode 100644
index 141a6d5..0000000
--- a/linux-headers/include/linux/joystick.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (C) 1996-2000 Vojtech Pavlik
- *
- * Sponsored by SuSE
- */
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Should you need to contact me, the author, you can do so either by
- * e-mail - mail your message to <vojtech@suse.cz>, or by paper mail:
- * Vojtech Pavlik, Ucitelska 1576, Prague 8, 182 00 Czech Republic
- */
-#ifndef _LINUX_JOYSTICK_H
-#define _LINUX_JOYSTICK_H
-
-
-
-#include <linux/types.h>
-#include <linux/input.h>
-
-/*
- * Version
- */
-
-#define JS_VERSION 0x020100
-
-/*
- * Types and constants for reading from /dev/js
- */
-
-#define JS_EVENT_BUTTON 0x01 /* button pressed/released */
-#define JS_EVENT_AXIS 0x02 /* joystick moved */
-#define JS_EVENT_INIT 0x80 /* initial state of device */
-
-struct js_event {
- __u32 time; /* event timestamp in milliseconds */
- __s16 value; /* value */
- __u8 type; /* event type */
- __u8 number; /* axis/button number */
-};
-
-/*
- * IOCTL commands for joystick driver
- */
-
-#define JSIOCGVERSION _IOR('j', 0x01, __u32) /* get driver version */
-
-#define JSIOCGAXES _IOR('j', 0x11, __u8) /* get number of axes */
-#define JSIOCGBUTTONS _IOR('j', 0x12, __u8) /* get number of buttons */
-#define JSIOCGNAME(len) _IOC(_IOC_READ, 'j', 0x13, len) /* get identifier string */
-
-#define JSIOCSCORR _IOW('j', 0x21, struct js_corr) /* set correction values */
-#define JSIOCGCORR _IOR('j', 0x22, struct js_corr) /* get correction values */
-
-#define JSIOCSAXMAP _IOW('j', 0x31, __u8[ABS_CNT]) /* set axis mapping */
-#define JSIOCGAXMAP _IOR('j', 0x32, __u8[ABS_CNT]) /* get axis mapping */
-#define JSIOCSBTNMAP _IOW('j', 0x33, __u16[KEY_MAX - BTN_MISC + 1]) /* set button mapping */
-#define JSIOCGBTNMAP _IOR('j', 0x34, __u16[KEY_MAX - BTN_MISC + 1]) /* get button mapping */
-
-/*
- * Types and constants for get/set correction
- */
-
-#define JS_CORR_NONE 0x00 /* returns raw values */
-#define JS_CORR_BROKEN 0x01 /* broken line */
-
-struct js_corr {
- __s32 coef[8];
- __s16 prec;
- __u16 type;
-};
-
-/*
- * v0.x compatibility definitions
- */
-
-#define JS_RETURN sizeof(struct JS_DATA_TYPE)
-#define JS_TRUE 1
-#define JS_FALSE 0
-#define JS_X_0 0x01
-#define JS_Y_0 0x02
-#define JS_X_1 0x04
-#define JS_Y_1 0x08
-#define JS_MAX 2
-
-#define JS_DEF_TIMEOUT 0x1300
-#define JS_DEF_CORR 0
-#define JS_DEF_TIMELIMIT 10L
-
-#define JS_SET_CAL 1
-#define JS_GET_CAL 2
-#define JS_SET_TIMEOUT 3
-#define JS_GET_TIMEOUT 4
-#define JS_SET_TIMELIMIT 5
-#define JS_GET_TIMELIMIT 6
-#define JS_GET_ALL 7
-#define JS_SET_ALL 8
-
-struct JS_DATA_TYPE {
- __s32 buttons;
- __s32 x;
- __s32 y;
-};
-
-struct JS_DATA_SAVE_TYPE_32 {
- __s32 JS_TIMEOUT;
- __s32 BUSY;
- __s32 JS_EXPIRETIME;
- __s32 JS_TIMELIMIT;
- struct JS_DATA_TYPE JS_SAVE;
- struct JS_DATA_TYPE JS_CORR;
-};
-
-struct JS_DATA_SAVE_TYPE_64 {
- __s32 JS_TIMEOUT;
- __s32 BUSY;
- __s64 JS_EXPIRETIME;
- __s64 JS_TIMELIMIT;
- struct JS_DATA_TYPE JS_SAVE;
- struct JS_DATA_TYPE JS_CORR;
-};
-
-
-#endif /* _LINUX_JOYSTICK_H */
diff --git a/linux-headers/include/linux/kcmp.h b/linux-headers/include/linux/kcmp.h
deleted file mode 100644
index 2dcd1b3..0000000
--- a/linux-headers/include/linux/kcmp.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _LINUX_KCMP_H
-#define _LINUX_KCMP_H
-
-/* Comparison type */
-enum kcmp_type {
- KCMP_FILE,
- KCMP_VM,
- KCMP_FILES,
- KCMP_FS,
- KCMP_SIGHAND,
- KCMP_IO,
- KCMP_SYSVSEM,
-
- KCMP_TYPES,
-};
-
-#endif /* _LINUX_KCMP_H */
diff --git a/linux-headers/include/linux/kd.h b/linux-headers/include/linux/kd.h
deleted file mode 100644
index 3286a3f..0000000
--- a/linux-headers/include/linux/kd.h
+++ /dev/null
@@ -1,183 +0,0 @@
-#ifndef _LINUX_KD_H
-#define _LINUX_KD_H
-#include <linux/types.h>
-
-
-/* 0x4B is 'K', to avoid collision with termios and vt */
-
-#define GIO_FONT 0x4B60 /* gets font in expanded form */
-#define PIO_FONT 0x4B61 /* use font in expanded form */
-
-#define GIO_FONTX 0x4B6B /* get font using struct consolefontdesc */
-#define PIO_FONTX 0x4B6C /* set font using struct consolefontdesc */
-struct consolefontdesc {
- unsigned short charcount; /* characters in font (256 or 512) */
- unsigned short charheight; /* scan lines per character (1-32) */
- char *chardata; /* font data in expanded form */
-};
-
-#define PIO_FONTRESET 0x4B6D /* reset to default font */
-
-#define GIO_CMAP 0x4B70 /* gets colour palette on VGA+ */
-#define PIO_CMAP 0x4B71 /* sets colour palette on VGA+ */
-
-#define KIOCSOUND 0x4B2F /* start sound generation (0 for off) */
-#define KDMKTONE 0x4B30 /* generate tone */
-
-#define KDGETLED 0x4B31 /* return current led state */
-#define KDSETLED 0x4B32 /* set led state [lights, not flags] */
-#define LED_SCR 0x01 /* scroll lock led */
-#define LED_NUM 0x02 /* num lock led */
-#define LED_CAP 0x04 /* caps lock led */
-
-#define KDGKBTYPE 0x4B33 /* get keyboard type */
-#define KB_84 0x01
-#define KB_101 0x02 /* this is what we always answer */
-#define KB_OTHER 0x03
-
-#define KDADDIO 0x4B34 /* add i/o port as valid */
-#define KDDELIO 0x4B35 /* del i/o port as valid */
-#define KDENABIO 0x4B36 /* enable i/o to video board */
-#define KDDISABIO 0x4B37 /* disable i/o to video board */
-
-#define KDSETMODE 0x4B3A /* set text/graphics mode */
-#define KD_TEXT 0x00
-#define KD_GRAPHICS 0x01
-#define KD_TEXT0 0x02 /* obsolete */
-#define KD_TEXT1 0x03 /* obsolete */
-#define KDGETMODE 0x4B3B /* get current mode */
-
-#define KDMAPDISP 0x4B3C /* map display into address space */
-#define KDUNMAPDISP 0x4B3D /* unmap display from address space */
-
-typedef char scrnmap_t;
-#define E_TABSZ 256
-#define GIO_SCRNMAP 0x4B40 /* get screen mapping from kernel */
-#define PIO_SCRNMAP 0x4B41 /* put screen mapping table in kernel */
-#define GIO_UNISCRNMAP 0x4B69 /* get full Unicode screen mapping */
-#define PIO_UNISCRNMAP 0x4B6A /* set full Unicode screen mapping */
-
-#define GIO_UNIMAP 0x4B66 /* get unicode-to-font mapping from kernel */
-struct unipair {
- unsigned short unicode;
- unsigned short fontpos;
-};
-struct unimapdesc {
- unsigned short entry_ct;
- struct unipair *entries;
-};
-#define PIO_UNIMAP 0x4B67 /* put unicode-to-font mapping in kernel */
-#define PIO_UNIMAPCLR 0x4B68 /* clear table, possibly advise hash algorithm */
-struct unimapinit {
- unsigned short advised_hashsize; /* 0 if no opinion */
- unsigned short advised_hashstep; /* 0 if no opinion */
- unsigned short advised_hashlevel; /* 0 if no opinion */
-};
-
-#define UNI_DIRECT_BASE 0xF000 /* start of Direct Font Region */
-#define UNI_DIRECT_MASK 0x01FF /* Direct Font Region bitmask */
-
-#define K_RAW 0x00
-#define K_XLATE 0x01
-#define K_MEDIUMRAW 0x02
-#define K_UNICODE 0x03
-#define K_OFF 0x04
-#define KDGKBMODE 0x4B44 /* gets current keyboard mode */
-#define KDSKBMODE 0x4B45 /* sets current keyboard mode */
-
-#define K_METABIT 0x03
-#define K_ESCPREFIX 0x04
-#define KDGKBMETA 0x4B62 /* gets meta key handling mode */
-#define KDSKBMETA 0x4B63 /* sets meta key handling mode */
-
-#define K_SCROLLLOCK 0x01
-#define K_NUMLOCK 0x02
-#define K_CAPSLOCK 0x04
-#define KDGKBLED 0x4B64 /* get led flags (not lights) */
-#define KDSKBLED 0x4B65 /* set led flags (not lights) */
-
-struct kbentry {
- unsigned char kb_table;
- unsigned char kb_index;
- unsigned short kb_value;
-};
-#define K_NORMTAB 0x00
-#define K_SHIFTTAB 0x01
-#define K_ALTTAB 0x02
-#define K_ALTSHIFTTAB 0x03
-
-#define KDGKBENT 0x4B46 /* gets one entry in translation table */
-#define KDSKBENT 0x4B47 /* sets one entry in translation table */
-
-struct kbsentry {
- unsigned char kb_func;
- unsigned char kb_string[512];
-};
-#define KDGKBSENT 0x4B48 /* gets one function key string entry */
-#define KDSKBSENT 0x4B49 /* sets one function key string entry */
-
-struct kbdiacr {
- unsigned char diacr, base, result;
-};
-struct kbdiacrs {
- unsigned int kb_cnt; /* number of entries in following array */
- struct kbdiacr kbdiacr[256]; /* MAX_DIACR from keyboard.h */
-};
-#define KDGKBDIACR 0x4B4A /* read kernel accent table */
-#define KDSKBDIACR 0x4B4B /* write kernel accent table */
-
-struct kbdiacruc {
- unsigned int diacr, base, result;
-};
-struct kbdiacrsuc {
- unsigned int kb_cnt; /* number of entries in following array */
- struct kbdiacruc kbdiacruc[256]; /* MAX_DIACR from keyboard.h */
-};
-#define KDGKBDIACRUC 0x4BFA /* read kernel accent table - UCS */
-#define KDSKBDIACRUC 0x4BFB /* write kernel accent table - UCS */
-
-struct kbkeycode {
- unsigned int scancode, keycode;
-};
-#define KDGETKEYCODE 0x4B4C /* read kernel keycode table entry */
-#define KDSETKEYCODE 0x4B4D /* write kernel keycode table entry */
-
-#define KDSIGACCEPT 0x4B4E /* accept kbd generated signals */
-
-struct kbd_repeat {
- int delay; /* in msec; <= 0: don't change */
- int period; /* in msec; <= 0: don't change */
- /* earlier this field was misnamed "rate" */
-};
-
-#define KDKBDREP 0x4B52 /* set keyboard delay/repeat rate;
- * actually used values are returned */
-
-#define KDFONTOP 0x4B72 /* font operations */
-
-struct console_font_op {
- unsigned int op; /* operation code KD_FONT_OP_* */
- unsigned int flags; /* KD_FONT_FLAG_* */
- unsigned int width, height; /* font size */
- unsigned int charcount;
- unsigned char *data; /* font data with height fixed to 32 */
-};
-
-struct console_font {
- unsigned int width, height; /* font size */
- unsigned int charcount;
- unsigned char *data; /* font data with height fixed to 32 */
-};
-
-#define KD_FONT_OP_SET 0 /* Set font */
-#define KD_FONT_OP_GET 1 /* Get font */
-#define KD_FONT_OP_SET_DEFAULT 2 /* Set font to default, data points to name / NULL */
-#define KD_FONT_OP_COPY 3 /* Copy from another console */
-
-#define KD_FONT_FLAG_DONT_RECALC 1 /* Don't recalculate hw charcell size [compat] */
-
-/* note: 0x4B00-0x4B4E all have had a value at some time;
- don't reuse for the time being */
-/* note: 0x4B60-0x4B6D, 0x4B70-0x4B72 used above */
-
-#endif /* _LINUX_KD_H */
diff --git a/linux-headers/include/linux/kdev_t.h b/linux-headers/include/linux/kdev_t.h
deleted file mode 100644
index 3f10017..0000000
--- a/linux-headers/include/linux/kdev_t.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _LINUX_KDEV_T_H
-#define _LINUX_KDEV_T_H
-
-/*
-Some programs want their definitions of MAJOR and MINOR and MKDEV
-from the kernel sources. These must be the externally visible ones.
-*/
-#define MAJOR(dev) ((dev)>>8)
-#define MINOR(dev) ((dev) & 0xff)
-#define MKDEV(ma,mi) ((ma)<<8 | (mi))
-#endif /* _LINUX_KDEV_T_H */
diff --git a/linux-headers/include/linux/kernel-page-flags.h b/linux-headers/include/linux/kernel-page-flags.h
deleted file mode 100644
index a4c6e2c..0000000
--- a/linux-headers/include/linux/kernel-page-flags.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef LINUX_KERNEL_PAGE_FLAGS_H
-#define LINUX_KERNEL_PAGE_FLAGS_H
-
-/*
- * Stable page flag bits exported to user space
- */
-
-#define KPF_LOCKED 0
-#define KPF_ERROR 1
-#define KPF_REFERENCED 2
-#define KPF_UPTODATE 3
-#define KPF_DIRTY 4
-#define KPF_LRU 5
-#define KPF_ACTIVE 6
-#define KPF_SLAB 7
-#define KPF_WRITEBACK 8
-#define KPF_RECLAIM 9
-#define KPF_BUDDY 10
-
-/* 11-20: new additions in 2.6.31 */
-#define KPF_MMAP 11
-#define KPF_ANON 12
-#define KPF_SWAPCACHE 13
-#define KPF_SWAPBACKED 14
-#define KPF_COMPOUND_HEAD 15
-#define KPF_COMPOUND_TAIL 16
-#define KPF_HUGE 17
-#define KPF_UNEVICTABLE 18
-#define KPF_HWPOISON 19
-#define KPF_NOPAGE 20
-
-#define KPF_KSM 21
-#define KPF_THP 22
-#define KPF_BALLOON 23
-#define KPF_ZERO_PAGE 24
-#define KPF_IDLE 25
-
-
-#endif /* LINUX_KERNEL_PAGE_FLAGS_H */
diff --git a/linux-headers/include/linux/kernel.h b/linux-headers/include/linux/kernel.h
deleted file mode 100644
index 527549f..0000000
--- a/linux-headers/include/linux/kernel.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _LINUX_KERNEL_H
-#define _LINUX_KERNEL_H
-
-#include <linux/sysinfo.h>
-
-/*
- * 'kernel.h' contains some often-used function prototypes etc
- */
-#define __ALIGN_KERNEL(x, a) __ALIGN_KERNEL_MASK(x, (typeof(x))(a) - 1)
-#define __ALIGN_KERNEL_MASK(x, mask) (((x) + (mask)) & ~(mask))
-
-#define __KERNEL_DIV_ROUND_UP(n, d) (((n) + (d) - 1) / (d))
-
-#endif /* _LINUX_KERNEL_H */
diff --git a/linux-headers/include/linux/kernelcapi.h b/linux-headers/include/linux/kernelcapi.h
deleted file mode 100644
index 7b6e7b1..0000000
--- a/linux-headers/include/linux/kernelcapi.h
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * $Id: kernelcapi.h,v 1.8.6.2 2001/02/07 11:31:31 kai Exp $
- *
- * Kernel CAPI 2.0 Interface for Linux
- *
- * (c) Copyright 1997 by Carsten Paeth (calle@calle.in-berlin.de)
- *
- */
-
-#ifndef __KERNELCAPI_H__
-#define __KERNELCAPI_H__
-
-#define CAPI_MAXAPPL 240 /* maximum number of applications */
-#define CAPI_MAXCONTR 32 /* maximum number of controller */
-#define CAPI_MAXDATAWINDOW 8
-
-
-typedef struct kcapi_flagdef {
- int contr;
- int flag;
-} kcapi_flagdef;
-
-typedef struct kcapi_carddef {
- char driver[32];
- unsigned int port;
- unsigned irq;
- unsigned int membase;
- int cardnr;
-} kcapi_carddef;
-
-/* new ioctls >= 10 */
-#define KCAPI_CMD_TRACE 10
-#define KCAPI_CMD_ADDCARD 11 /* OBSOLETE */
-
-/*
- * flag > 2 => trace also data
- * flag & 1 => show trace
- */
-#define KCAPI_TRACE_OFF 0
-#define KCAPI_TRACE_SHORT_NO_DATA 1
-#define KCAPI_TRACE_FULL_NO_DATA 2
-#define KCAPI_TRACE_SHORT 3
-#define KCAPI_TRACE_FULL 4
-
-
-
-#endif /* __KERNELCAPI_H__ */
diff --git a/linux-headers/include/linux/kexec.h b/linux-headers/include/linux/kexec.h
deleted file mode 100644
index 99fcbf0..0000000
--- a/linux-headers/include/linux/kexec.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef LINUX_KEXEC_H
-#define LINUX_KEXEC_H
-
-/* kexec system call - It loads the new kernel to boot into.
- * kexec does not sync, or unmount filesystems so if you need
- * that to happen you need to do that yourself.
- */
-
-#include <linux/types.h>
-
-/* kexec flags for different usage scenarios */
-#define KEXEC_ON_CRASH 0x00000001
-#define KEXEC_PRESERVE_CONTEXT 0x00000002
-#define KEXEC_ARCH_MASK 0xffff0000
-
-/*
- * Kexec file load interface flags.
- * KEXEC_FILE_UNLOAD : Unload already loaded kexec/kdump image.
- * KEXEC_FILE_ON_CRASH : Load/unload operation belongs to kdump image.
- * KEXEC_FILE_NO_INITRAMFS : No initramfs is being loaded. Ignore the initrd
- * fd field.
- */
-#define KEXEC_FILE_UNLOAD 0x00000001
-#define KEXEC_FILE_ON_CRASH 0x00000002
-#define KEXEC_FILE_NO_INITRAMFS 0x00000004
-
-/* These values match the ELF architecture values.
- * Unless there is a good reason that should continue to be the case.
- */
-#define KEXEC_ARCH_DEFAULT ( 0 << 16)
-#define KEXEC_ARCH_386 ( 3 << 16)
-#define KEXEC_ARCH_68K ( 4 << 16)
-#define KEXEC_ARCH_X86_64 (62 << 16)
-#define KEXEC_ARCH_PPC (20 << 16)
-#define KEXEC_ARCH_PPC64 (21 << 16)
-#define KEXEC_ARCH_IA_64 (50 << 16)
-#define KEXEC_ARCH_ARM (40 << 16)
-#define KEXEC_ARCH_S390 (22 << 16)
-#define KEXEC_ARCH_SH (42 << 16)
-#define KEXEC_ARCH_MIPS_LE (10 << 16)
-#define KEXEC_ARCH_MIPS ( 8 << 16)
-
-/* The artificial cap on the number of segments passed to kexec_load. */
-#define KEXEC_SEGMENT_MAX 16
-
-/*
- * This structure is used to hold the arguments that are used when
- * loading kernel binaries.
- */
-struct kexec_segment {
- const void *buf;
- size_t bufsz;
- const void *mem;
- size_t memsz;
-};
-
-
-#endif /* LINUX_KEXEC_H */
diff --git a/linux-headers/include/linux/keyboard.h b/linux-headers/include/linux/keyboard.h
deleted file mode 100644
index b4be860..0000000
--- a/linux-headers/include/linux/keyboard.h
+++ /dev/null
@@ -1,443 +0,0 @@
-#ifndef __LINUX_KEYBOARD_H
-#define __LINUX_KEYBOARD_H
-
-#include <linux/wait.h>
-
-#define KG_SHIFT 0
-#define KG_CTRL 2
-#define KG_ALT 3
-#define KG_ALTGR 1
-#define KG_SHIFTL 4
-#define KG_KANASHIFT 4
-#define KG_SHIFTR 5
-#define KG_CTRLL 6
-#define KG_CTRLR 7
-#define KG_CAPSSHIFT 8
-
-#define NR_SHIFT 9
-
-#define NR_KEYS 256
-#define MAX_NR_KEYMAPS 256
-/* This means 128Kb if all keymaps are allocated. Only the superuser
- may increase the number of keymaps beyond MAX_NR_OF_USER_KEYMAPS. */
-#define MAX_NR_OF_USER_KEYMAPS 256 /* should be at least 7 */
-
-
-#define MAX_NR_FUNC 256 /* max nr of strings assigned to keys */
-
-#define KT_LATIN 0 /* we depend on this being zero */
-#define KT_LETTER 11 /* symbol that can be acted upon by CapsLock */
-#define KT_FN 1
-#define KT_SPEC 2
-#define KT_PAD 3
-#define KT_DEAD 4
-#define KT_CONS 5
-#define KT_CUR 6
-#define KT_SHIFT 7
-#define KT_META 8
-#define KT_ASCII 9
-#define KT_LOCK 10
-#define KT_SLOCK 12
-#define KT_DEAD2 13
-#define KT_BRL 14
-
-#define K(t,v) (((t)<<8)|(v))
-#define KTYP(x) ((x) >> 8)
-#define KVAL(x) ((x) & 0xff)
-
-#define K_F1 K(KT_FN,0)
-#define K_F2 K(KT_FN,1)
-#define K_F3 K(KT_FN,2)
-#define K_F4 K(KT_FN,3)
-#define K_F5 K(KT_FN,4)
-#define K_F6 K(KT_FN,5)
-#define K_F7 K(KT_FN,6)
-#define K_F8 K(KT_FN,7)
-#define K_F9 K(KT_FN,8)
-#define K_F10 K(KT_FN,9)
-#define K_F11 K(KT_FN,10)
-#define K_F12 K(KT_FN,11)
-#define K_F13 K(KT_FN,12)
-#define K_F14 K(KT_FN,13)
-#define K_F15 K(KT_FN,14)
-#define K_F16 K(KT_FN,15)
-#define K_F17 K(KT_FN,16)
-#define K_F18 K(KT_FN,17)
-#define K_F19 K(KT_FN,18)
-#define K_F20 K(KT_FN,19)
-#define K_FIND K(KT_FN,20)
-#define K_INSERT K(KT_FN,21)
-#define K_REMOVE K(KT_FN,22)
-#define K_SELECT K(KT_FN,23)
-#define K_PGUP K(KT_FN,24) /* PGUP is a synonym for PRIOR */
-#define K_PGDN K(KT_FN,25) /* PGDN is a synonym for NEXT */
-#define K_MACRO K(KT_FN,26)
-#define K_HELP K(KT_FN,27)
-#define K_DO K(KT_FN,28)
-#define K_PAUSE K(KT_FN,29)
-#define K_F21 K(KT_FN,30)
-#define K_F22 K(KT_FN,31)
-#define K_F23 K(KT_FN,32)
-#define K_F24 K(KT_FN,33)
-#define K_F25 K(KT_FN,34)
-#define K_F26 K(KT_FN,35)
-#define K_F27 K(KT_FN,36)
-#define K_F28 K(KT_FN,37)
-#define K_F29 K(KT_FN,38)
-#define K_F30 K(KT_FN,39)
-#define K_F31 K(KT_FN,40)
-#define K_F32 K(KT_FN,41)
-#define K_F33 K(KT_FN,42)
-#define K_F34 K(KT_FN,43)
-#define K_F35 K(KT_FN,44)
-#define K_F36 K(KT_FN,45)
-#define K_F37 K(KT_FN,46)
-#define K_F38 K(KT_FN,47)
-#define K_F39 K(KT_FN,48)
-#define K_F40 K(KT_FN,49)
-#define K_F41 K(KT_FN,50)
-#define K_F42 K(KT_FN,51)
-#define K_F43 K(KT_FN,52)
-#define K_F44 K(KT_FN,53)
-#define K_F45 K(KT_FN,54)
-#define K_F46 K(KT_FN,55)
-#define K_F47 K(KT_FN,56)
-#define K_F48 K(KT_FN,57)
-#define K_F49 K(KT_FN,58)
-#define K_F50 K(KT_FN,59)
-#define K_F51 K(KT_FN,60)
-#define K_F52 K(KT_FN,61)
-#define K_F53 K(KT_FN,62)
-#define K_F54 K(KT_FN,63)
-#define K_F55 K(KT_FN,64)
-#define K_F56 K(KT_FN,65)
-#define K_F57 K(KT_FN,66)
-#define K_F58 K(KT_FN,67)
-#define K_F59 K(KT_FN,68)
-#define K_F60 K(KT_FN,69)
-#define K_F61 K(KT_FN,70)
-#define K_F62 K(KT_FN,71)
-#define K_F63 K(KT_FN,72)
-#define K_F64 K(KT_FN,73)
-#define K_F65 K(KT_FN,74)
-#define K_F66 K(KT_FN,75)
-#define K_F67 K(KT_FN,76)
-#define K_F68 K(KT_FN,77)
-#define K_F69 K(KT_FN,78)
-#define K_F70 K(KT_FN,79)
-#define K_F71 K(KT_FN,80)
-#define K_F72 K(KT_FN,81)
-#define K_F73 K(KT_FN,82)
-#define K_F74 K(KT_FN,83)
-#define K_F75 K(KT_FN,84)
-#define K_F76 K(KT_FN,85)
-#define K_F77 K(KT_FN,86)
-#define K_F78 K(KT_FN,87)
-#define K_F79 K(KT_FN,88)
-#define K_F80 K(KT_FN,89)
-#define K_F81 K(KT_FN,90)
-#define K_F82 K(KT_FN,91)
-#define K_F83 K(KT_FN,92)
-#define K_F84 K(KT_FN,93)
-#define K_F85 K(KT_FN,94)
-#define K_F86 K(KT_FN,95)
-#define K_F87 K(KT_FN,96)
-#define K_F88 K(KT_FN,97)
-#define K_F89 K(KT_FN,98)
-#define K_F90 K(KT_FN,99)
-#define K_F91 K(KT_FN,100)
-#define K_F92 K(KT_FN,101)
-#define K_F93 K(KT_FN,102)
-#define K_F94 K(KT_FN,103)
-#define K_F95 K(KT_FN,104)
-#define K_F96 K(KT_FN,105)
-#define K_F97 K(KT_FN,106)
-#define K_F98 K(KT_FN,107)
-#define K_F99 K(KT_FN,108)
-#define K_F100 K(KT_FN,109)
-#define K_F101 K(KT_FN,110)
-#define K_F102 K(KT_FN,111)
-#define K_F103 K(KT_FN,112)
-#define K_F104 K(KT_FN,113)
-#define K_F105 K(KT_FN,114)
-#define K_F106 K(KT_FN,115)
-#define K_F107 K(KT_FN,116)
-#define K_F108 K(KT_FN,117)
-#define K_F109 K(KT_FN,118)
-#define K_F110 K(KT_FN,119)
-#define K_F111 K(KT_FN,120)
-#define K_F112 K(KT_FN,121)
-#define K_F113 K(KT_FN,122)
-#define K_F114 K(KT_FN,123)
-#define K_F115 K(KT_FN,124)
-#define K_F116 K(KT_FN,125)
-#define K_F117 K(KT_FN,126)
-#define K_F118 K(KT_FN,127)
-#define K_F119 K(KT_FN,128)
-#define K_F120 K(KT_FN,129)
-#define K_F121 K(KT_FN,130)
-#define K_F122 K(KT_FN,131)
-#define K_F123 K(KT_FN,132)
-#define K_F124 K(KT_FN,133)
-#define K_F125 K(KT_FN,134)
-#define K_F126 K(KT_FN,135)
-#define K_F127 K(KT_FN,136)
-#define K_F128 K(KT_FN,137)
-#define K_F129 K(KT_FN,138)
-#define K_F130 K(KT_FN,139)
-#define K_F131 K(KT_FN,140)
-#define K_F132 K(KT_FN,141)
-#define K_F133 K(KT_FN,142)
-#define K_F134 K(KT_FN,143)
-#define K_F135 K(KT_FN,144)
-#define K_F136 K(KT_FN,145)
-#define K_F137 K(KT_FN,146)
-#define K_F138 K(KT_FN,147)
-#define K_F139 K(KT_FN,148)
-#define K_F140 K(KT_FN,149)
-#define K_F141 K(KT_FN,150)
-#define K_F142 K(KT_FN,151)
-#define K_F143 K(KT_FN,152)
-#define K_F144 K(KT_FN,153)
-#define K_F145 K(KT_FN,154)
-#define K_F146 K(KT_FN,155)
-#define K_F147 K(KT_FN,156)
-#define K_F148 K(KT_FN,157)
-#define K_F149 K(KT_FN,158)
-#define K_F150 K(KT_FN,159)
-#define K_F151 K(KT_FN,160)
-#define K_F152 K(KT_FN,161)
-#define K_F153 K(KT_FN,162)
-#define K_F154 K(KT_FN,163)
-#define K_F155 K(KT_FN,164)
-#define K_F156 K(KT_FN,165)
-#define K_F157 K(KT_FN,166)
-#define K_F158 K(KT_FN,167)
-#define K_F159 K(KT_FN,168)
-#define K_F160 K(KT_FN,169)
-#define K_F161 K(KT_FN,170)
-#define K_F162 K(KT_FN,171)
-#define K_F163 K(KT_FN,172)
-#define K_F164 K(KT_FN,173)
-#define K_F165 K(KT_FN,174)
-#define K_F166 K(KT_FN,175)
-#define K_F167 K(KT_FN,176)
-#define K_F168 K(KT_FN,177)
-#define K_F169 K(KT_FN,178)
-#define K_F170 K(KT_FN,179)
-#define K_F171 K(KT_FN,180)
-#define K_F172 K(KT_FN,181)
-#define K_F173 K(KT_FN,182)
-#define K_F174 K(KT_FN,183)
-#define K_F175 K(KT_FN,184)
-#define K_F176 K(KT_FN,185)
-#define K_F177 K(KT_FN,186)
-#define K_F178 K(KT_FN,187)
-#define K_F179 K(KT_FN,188)
-#define K_F180 K(KT_FN,189)
-#define K_F181 K(KT_FN,190)
-#define K_F182 K(KT_FN,191)
-#define K_F183 K(KT_FN,192)
-#define K_F184 K(KT_FN,193)
-#define K_F185 K(KT_FN,194)
-#define K_F186 K(KT_FN,195)
-#define K_F187 K(KT_FN,196)
-#define K_F188 K(KT_FN,197)
-#define K_F189 K(KT_FN,198)
-#define K_F190 K(KT_FN,199)
-#define K_F191 K(KT_FN,200)
-#define K_F192 K(KT_FN,201)
-#define K_F193 K(KT_FN,202)
-#define K_F194 K(KT_FN,203)
-#define K_F195 K(KT_FN,204)
-#define K_F196 K(KT_FN,205)
-#define K_F197 K(KT_FN,206)
-#define K_F198 K(KT_FN,207)
-#define K_F199 K(KT_FN,208)
-#define K_F200 K(KT_FN,209)
-#define K_F201 K(KT_FN,210)
-#define K_F202 K(KT_FN,211)
-#define K_F203 K(KT_FN,212)
-#define K_F204 K(KT_FN,213)
-#define K_F205 K(KT_FN,214)
-#define K_F206 K(KT_FN,215)
-#define K_F207 K(KT_FN,216)
-#define K_F208 K(KT_FN,217)
-#define K_F209 K(KT_FN,218)
-#define K_F210 K(KT_FN,219)
-#define K_F211 K(KT_FN,220)
-#define K_F212 K(KT_FN,221)
-#define K_F213 K(KT_FN,222)
-#define K_F214 K(KT_FN,223)
-#define K_F215 K(KT_FN,224)
-#define K_F216 K(KT_FN,225)
-#define K_F217 K(KT_FN,226)
-#define K_F218 K(KT_FN,227)
-#define K_F219 K(KT_FN,228)
-#define K_F220 K(KT_FN,229)
-#define K_F221 K(KT_FN,230)
-#define K_F222 K(KT_FN,231)
-#define K_F223 K(KT_FN,232)
-#define K_F224 K(KT_FN,233)
-#define K_F225 K(KT_FN,234)
-#define K_F226 K(KT_FN,235)
-#define K_F227 K(KT_FN,236)
-#define K_F228 K(KT_FN,237)
-#define K_F229 K(KT_FN,238)
-#define K_F230 K(KT_FN,239)
-#define K_F231 K(KT_FN,240)
-#define K_F232 K(KT_FN,241)
-#define K_F233 K(KT_FN,242)
-#define K_F234 K(KT_FN,243)
-#define K_F235 K(KT_FN,244)
-#define K_F236 K(KT_FN,245)
-#define K_F237 K(KT_FN,246)
-#define K_F238 K(KT_FN,247)
-#define K_F239 K(KT_FN,248)
-#define K_F240 K(KT_FN,249)
-#define K_F241 K(KT_FN,250)
-#define K_F242 K(KT_FN,251)
-#define K_F243 K(KT_FN,252)
-#define K_F244 K(KT_FN,253)
-#define K_F245 K(KT_FN,254)
-#define K_UNDO K(KT_FN,255)
-
-
-#define K_HOLE K(KT_SPEC,0)
-#define K_ENTER K(KT_SPEC,1)
-#define K_SH_REGS K(KT_SPEC,2)
-#define K_SH_MEM K(KT_SPEC,3)
-#define K_SH_STAT K(KT_SPEC,4)
-#define K_BREAK K(KT_SPEC,5)
-#define K_CONS K(KT_SPEC,6)
-#define K_CAPS K(KT_SPEC,7)
-#define K_NUM K(KT_SPEC,8)
-#define K_HOLD K(KT_SPEC,9)
-#define K_SCROLLFORW K(KT_SPEC,10)
-#define K_SCROLLBACK K(KT_SPEC,11)
-#define K_BOOT K(KT_SPEC,12)
-#define K_CAPSON K(KT_SPEC,13)
-#define K_COMPOSE K(KT_SPEC,14)
-#define K_SAK K(KT_SPEC,15)
-#define K_DECRCONSOLE K(KT_SPEC,16)
-#define K_INCRCONSOLE K(KT_SPEC,17)
-#define K_SPAWNCONSOLE K(KT_SPEC,18)
-#define K_BARENUMLOCK K(KT_SPEC,19)
-
-#define K_ALLOCATED K(KT_SPEC,126) /* dynamically allocated keymap */
-#define K_NOSUCHMAP K(KT_SPEC,127) /* returned by KDGKBENT */
-
-#define K_P0 K(KT_PAD,0)
-#define K_P1 K(KT_PAD,1)
-#define K_P2 K(KT_PAD,2)
-#define K_P3 K(KT_PAD,3)
-#define K_P4 K(KT_PAD,4)
-#define K_P5 K(KT_PAD,5)
-#define K_P6 K(KT_PAD,6)
-#define K_P7 K(KT_PAD,7)
-#define K_P8 K(KT_PAD,8)
-#define K_P9 K(KT_PAD,9)
-#define K_PPLUS K(KT_PAD,10) /* key-pad plus */
-#define K_PMINUS K(KT_PAD,11) /* key-pad minus */
-#define K_PSTAR K(KT_PAD,12) /* key-pad asterisk (star) */
-#define K_PSLASH K(KT_PAD,13) /* key-pad slash */
-#define K_PENTER K(KT_PAD,14) /* key-pad enter */
-#define K_PCOMMA K(KT_PAD,15) /* key-pad comma: kludge... */
-#define K_PDOT K(KT_PAD,16) /* key-pad dot (period): kludge... */
-#define K_PPLUSMINUS K(KT_PAD,17) /* key-pad plus/minus */
-#define K_PPARENL K(KT_PAD,18) /* key-pad left parenthesis */
-#define K_PPARENR K(KT_PAD,19) /* key-pad right parenthesis */
-
-#define NR_PAD 20
-
-#define K_DGRAVE K(KT_DEAD,0)
-#define K_DACUTE K(KT_DEAD,1)
-#define K_DCIRCM K(KT_DEAD,2)
-#define K_DTILDE K(KT_DEAD,3)
-#define K_DDIERE K(KT_DEAD,4)
-#define K_DCEDIL K(KT_DEAD,5)
-
-#define NR_DEAD 6
-
-#define K_DOWN K(KT_CUR,0)
-#define K_LEFT K(KT_CUR,1)
-#define K_RIGHT K(KT_CUR,2)
-#define K_UP K(KT_CUR,3)
-
-#define K_SHIFT K(KT_SHIFT,KG_SHIFT)
-#define K_CTRL K(KT_SHIFT,KG_CTRL)
-#define K_ALT K(KT_SHIFT,KG_ALT)
-#define K_ALTGR K(KT_SHIFT,KG_ALTGR)
-#define K_SHIFTL K(KT_SHIFT,KG_SHIFTL)
-#define K_SHIFTR K(KT_SHIFT,KG_SHIFTR)
-#define K_CTRLL K(KT_SHIFT,KG_CTRLL)
-#define K_CTRLR K(KT_SHIFT,KG_CTRLR)
-#define K_CAPSSHIFT K(KT_SHIFT,KG_CAPSSHIFT)
-
-#define K_ASC0 K(KT_ASCII,0)
-#define K_ASC1 K(KT_ASCII,1)
-#define K_ASC2 K(KT_ASCII,2)
-#define K_ASC3 K(KT_ASCII,3)
-#define K_ASC4 K(KT_ASCII,4)
-#define K_ASC5 K(KT_ASCII,5)
-#define K_ASC6 K(KT_ASCII,6)
-#define K_ASC7 K(KT_ASCII,7)
-#define K_ASC8 K(KT_ASCII,8)
-#define K_ASC9 K(KT_ASCII,9)
-#define K_HEX0 K(KT_ASCII,10)
-#define K_HEX1 K(KT_ASCII,11)
-#define K_HEX2 K(KT_ASCII,12)
-#define K_HEX3 K(KT_ASCII,13)
-#define K_HEX4 K(KT_ASCII,14)
-#define K_HEX5 K(KT_ASCII,15)
-#define K_HEX6 K(KT_ASCII,16)
-#define K_HEX7 K(KT_ASCII,17)
-#define K_HEX8 K(KT_ASCII,18)
-#define K_HEX9 K(KT_ASCII,19)
-#define K_HEXa K(KT_ASCII,20)
-#define K_HEXb K(KT_ASCII,21)
-#define K_HEXc K(KT_ASCII,22)
-#define K_HEXd K(KT_ASCII,23)
-#define K_HEXe K(KT_ASCII,24)
-#define K_HEXf K(KT_ASCII,25)
-
-#define NR_ASCII 26
-
-#define K_SHIFTLOCK K(KT_LOCK,KG_SHIFT)
-#define K_CTRLLOCK K(KT_LOCK,KG_CTRL)
-#define K_ALTLOCK K(KT_LOCK,KG_ALT)
-#define K_ALTGRLOCK K(KT_LOCK,KG_ALTGR)
-#define K_SHIFTLLOCK K(KT_LOCK,KG_SHIFTL)
-#define K_SHIFTRLOCK K(KT_LOCK,KG_SHIFTR)
-#define K_CTRLLLOCK K(KT_LOCK,KG_CTRLL)
-#define K_CTRLRLOCK K(KT_LOCK,KG_CTRLR)
-#define K_CAPSSHIFTLOCK K(KT_LOCK,KG_CAPSSHIFT)
-
-#define K_SHIFT_SLOCK K(KT_SLOCK,KG_SHIFT)
-#define K_CTRL_SLOCK K(KT_SLOCK,KG_CTRL)
-#define K_ALT_SLOCK K(KT_SLOCK,KG_ALT)
-#define K_ALTGR_SLOCK K(KT_SLOCK,KG_ALTGR)
-#define K_SHIFTL_SLOCK K(KT_SLOCK,KG_SHIFTL)
-#define K_SHIFTR_SLOCK K(KT_SLOCK,KG_SHIFTR)
-#define K_CTRLL_SLOCK K(KT_SLOCK,KG_CTRLL)
-#define K_CTRLR_SLOCK K(KT_SLOCK,KG_CTRLR)
-#define K_CAPSSHIFT_SLOCK K(KT_SLOCK,KG_CAPSSHIFT)
-
-#define NR_LOCK 9
-
-#define K_BRL_BLANK K(KT_BRL, 0)
-#define K_BRL_DOT1 K(KT_BRL, 1)
-#define K_BRL_DOT2 K(KT_BRL, 2)
-#define K_BRL_DOT3 K(KT_BRL, 3)
-#define K_BRL_DOT4 K(KT_BRL, 4)
-#define K_BRL_DOT5 K(KT_BRL, 5)
-#define K_BRL_DOT6 K(KT_BRL, 6)
-#define K_BRL_DOT7 K(KT_BRL, 7)
-#define K_BRL_DOT8 K(KT_BRL, 8)
-#define K_BRL_DOT9 K(KT_BRL, 9)
-#define K_BRL_DOT10 K(KT_BRL, 10)
-
-#define NR_BRL 11
-
-#define MAX_DIACR 256
-#endif /* __LINUX_KEYBOARD_H */
diff --git a/linux-headers/include/linux/keyctl.h b/linux-headers/include/linux/keyctl.h
deleted file mode 100644
index 840cb99..0000000
--- a/linux-headers/include/linux/keyctl.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/* keyctl.h: keyctl command IDs
- *
- * Copyright (C) 2004, 2008 Red Hat, Inc. All Rights Reserved.
- * Written by David Howells (dhowells@redhat.com)
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_KEYCTL_H
-#define _LINUX_KEYCTL_H
-
-/* special process keyring shortcut IDs */
-#define KEY_SPEC_THREAD_KEYRING -1 /* - key ID for thread-specific keyring */
-#define KEY_SPEC_PROCESS_KEYRING -2 /* - key ID for process-specific keyring */
-#define KEY_SPEC_SESSION_KEYRING -3 /* - key ID for session-specific keyring */
-#define KEY_SPEC_USER_KEYRING -4 /* - key ID for UID-specific keyring */
-#define KEY_SPEC_USER_SESSION_KEYRING -5 /* - key ID for UID-session keyring */
-#define KEY_SPEC_GROUP_KEYRING -6 /* - key ID for GID-specific keyring */
-#define KEY_SPEC_REQKEY_AUTH_KEY -7 /* - key ID for assumed request_key auth key */
-#define KEY_SPEC_REQUESTOR_KEYRING -8 /* - key ID for request_key() dest keyring */
-
-/* request-key default keyrings */
-#define KEY_REQKEY_DEFL_NO_CHANGE -1
-#define KEY_REQKEY_DEFL_DEFAULT 0
-#define KEY_REQKEY_DEFL_THREAD_KEYRING 1
-#define KEY_REQKEY_DEFL_PROCESS_KEYRING 2
-#define KEY_REQKEY_DEFL_SESSION_KEYRING 3
-#define KEY_REQKEY_DEFL_USER_KEYRING 4
-#define KEY_REQKEY_DEFL_USER_SESSION_KEYRING 5
-#define KEY_REQKEY_DEFL_GROUP_KEYRING 6
-#define KEY_REQKEY_DEFL_REQUESTOR_KEYRING 7
-
-/* keyctl commands */
-#define KEYCTL_GET_KEYRING_ID 0 /* ask for a keyring's ID */
-#define KEYCTL_JOIN_SESSION_KEYRING 1 /* join or start named session keyring */
-#define KEYCTL_UPDATE 2 /* update a key */
-#define KEYCTL_REVOKE 3 /* revoke a key */
-#define KEYCTL_CHOWN 4 /* set ownership of a key */
-#define KEYCTL_SETPERM 5 /* set perms on a key */
-#define KEYCTL_DESCRIBE 6 /* describe a key */
-#define KEYCTL_CLEAR 7 /* clear contents of a keyring */
-#define KEYCTL_LINK 8 /* link a key into a keyring */
-#define KEYCTL_UNLINK 9 /* unlink a key from a keyring */
-#define KEYCTL_SEARCH 10 /* search for a key in a keyring */
-#define KEYCTL_READ 11 /* read a key or keyring's contents */
-#define KEYCTL_INSTANTIATE 12 /* instantiate a partially constructed key */
-#define KEYCTL_NEGATE 13 /* negate a partially constructed key */
-#define KEYCTL_SET_REQKEY_KEYRING 14 /* set default request-key keyring */
-#define KEYCTL_SET_TIMEOUT 15 /* set key timeout */
-#define KEYCTL_ASSUME_AUTHORITY 16 /* assume request_key() authorisation */
-#define KEYCTL_GET_SECURITY 17 /* get key security label */
-#define KEYCTL_SESSION_TO_PARENT 18 /* apply session keyring to parent process */
-#define KEYCTL_REJECT 19 /* reject a partially constructed key */
-#define KEYCTL_INSTANTIATE_IOV 20 /* instantiate a partially constructed key */
-#define KEYCTL_INVALIDATE 21 /* invalidate a key */
-#define KEYCTL_GET_PERSISTENT 22 /* get a user's persistent keyring */
-
-#endif /* _LINUX_KEYCTL_H */
diff --git a/linux-headers/include/linux/l2tp.h b/linux-headers/include/linux/l2tp.h
deleted file mode 100644
index 5b0e36d..0000000
--- a/linux-headers/include/linux/l2tp.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * L2TP-over-IP socket for L2TPv3.
- *
- * Author: James Chapman <jchapman@katalix.com>
- */
-
-#ifndef _LINUX_L2TP_H_
-#define _LINUX_L2TP_H_
-
-#include <linux/types.h>
-#include <linux/socket.h>
-#include <netinet/in.h>
-
-#define IPPROTO_L2TP 115
-
-/**
- * struct sockaddr_l2tpip - the sockaddr structure for L2TP-over-IP sockets
- * @l2tp_family: address family number AF_L2TPIP.
- * @l2tp_addr: protocol specific address information
- * @l2tp_conn_id: connection id of tunnel
- */
-#define __SOCK_SIZE__ 16 /* sizeof(struct sockaddr) */
-struct sockaddr_l2tpip {
- /* The first fields must match struct sockaddr_in */
- __kernel_sa_family_t l2tp_family; /* AF_INET */
- __be16 l2tp_unused; /* INET port number (unused) */
- struct in_addr l2tp_addr; /* Internet address */
-
- __u32 l2tp_conn_id; /* Connection ID of tunnel */
-
- /* Pad to size of `struct sockaddr'. */
- unsigned char __pad[sizeof(struct sockaddr) -
- sizeof(__kernel_sa_family_t) -
- sizeof(__be16) - sizeof(struct in_addr) -
- sizeof(__u32)];
-};
-
-/**
- * struct sockaddr_l2tpip6 - the sockaddr structure for L2TP-over-IPv6 sockets
- * @l2tp_family: address family number AF_L2TPIP.
- * @l2tp_addr: protocol specific address information
- * @l2tp_conn_id: connection id of tunnel
- */
-struct sockaddr_l2tpip6 {
- /* The first fields must match struct sockaddr_in6 */
- __kernel_sa_family_t l2tp_family; /* AF_INET6 */
- __be16 l2tp_unused; /* INET port number (unused) */
- __be32 l2tp_flowinfo; /* IPv6 flow information */
- struct in6_addr l2tp_addr; /* IPv6 address */
- __u32 l2tp_scope_id; /* scope id (new in RFC2553) */
- __u32 l2tp_conn_id; /* Connection ID of tunnel */
-};
-
-/*****************************************************************************
- * NETLINK_GENERIC netlink family.
- *****************************************************************************/
-
-/*
- * Commands.
- * Valid TLVs of each command are:-
- * TUNNEL_CREATE - CONN_ID, pw_type, netns, ifname, ipinfo, udpinfo, udpcsum, vlanid
- * TUNNEL_DELETE - CONN_ID
- * TUNNEL_MODIFY - CONN_ID, udpcsum
- * TUNNEL_GETSTATS - CONN_ID, (stats)
- * TUNNEL_GET - CONN_ID, (...)
- * SESSION_CREATE - SESSION_ID, PW_TYPE, offset, data_seq, cookie, peer_cookie, offset, l2spec
- * SESSION_DELETE - SESSION_ID
- * SESSION_MODIFY - SESSION_ID, data_seq
- * SESSION_GET - SESSION_ID, (...)
- * SESSION_GETSTATS - SESSION_ID, (stats)
- *
- */
-enum {
- L2TP_CMD_NOOP,
- L2TP_CMD_TUNNEL_CREATE,
- L2TP_CMD_TUNNEL_DELETE,
- L2TP_CMD_TUNNEL_MODIFY,
- L2TP_CMD_TUNNEL_GET,
- L2TP_CMD_SESSION_CREATE,
- L2TP_CMD_SESSION_DELETE,
- L2TP_CMD_SESSION_MODIFY,
- L2TP_CMD_SESSION_GET,
- __L2TP_CMD_MAX,
-};
-
-#define L2TP_CMD_MAX (__L2TP_CMD_MAX - 1)
-
-/*
- * ATTR types defined for L2TP
- */
-enum {
- L2TP_ATTR_NONE, /* no data */
- L2TP_ATTR_PW_TYPE, /* u16, enum l2tp_pwtype */
- L2TP_ATTR_ENCAP_TYPE, /* u16, enum l2tp_encap_type */
- L2TP_ATTR_OFFSET, /* u16 */
- L2TP_ATTR_DATA_SEQ, /* u16 */
- L2TP_ATTR_L2SPEC_TYPE, /* u8, enum l2tp_l2spec_type */
- L2TP_ATTR_L2SPEC_LEN, /* u8, enum l2tp_l2spec_type */
- L2TP_ATTR_PROTO_VERSION, /* u8 */
- L2TP_ATTR_IFNAME, /* string */
- L2TP_ATTR_CONN_ID, /* u32 */
- L2TP_ATTR_PEER_CONN_ID, /* u32 */
- L2TP_ATTR_SESSION_ID, /* u32 */
- L2TP_ATTR_PEER_SESSION_ID, /* u32 */
- L2TP_ATTR_UDP_CSUM, /* u8 */
- L2TP_ATTR_VLAN_ID, /* u16 */
- L2TP_ATTR_COOKIE, /* 0, 4 or 8 bytes */
- L2TP_ATTR_PEER_COOKIE, /* 0, 4 or 8 bytes */
- L2TP_ATTR_DEBUG, /* u32 */
- L2TP_ATTR_RECV_SEQ, /* u8 */
- L2TP_ATTR_SEND_SEQ, /* u8 */
- L2TP_ATTR_LNS_MODE, /* u8 */
- L2TP_ATTR_USING_IPSEC, /* u8 */
- L2TP_ATTR_RECV_TIMEOUT, /* msec */
- L2TP_ATTR_FD, /* int */
- L2TP_ATTR_IP_SADDR, /* u32 */
- L2TP_ATTR_IP_DADDR, /* u32 */
- L2TP_ATTR_UDP_SPORT, /* u16 */
- L2TP_ATTR_UDP_DPORT, /* u16 */
- L2TP_ATTR_MTU, /* u16 */
- L2TP_ATTR_MRU, /* u16 */
- L2TP_ATTR_STATS, /* nested */
- L2TP_ATTR_IP6_SADDR, /* struct in6_addr */
- L2TP_ATTR_IP6_DADDR, /* struct in6_addr */
- L2TP_ATTR_UDP_ZERO_CSUM6_TX, /* u8 */
- L2TP_ATTR_UDP_ZERO_CSUM6_RX, /* u8 */
- __L2TP_ATTR_MAX,
-};
-
-#define L2TP_ATTR_MAX (__L2TP_ATTR_MAX - 1)
-
-/* Nested in L2TP_ATTR_STATS */
-enum {
- L2TP_ATTR_STATS_NONE, /* no data */
- L2TP_ATTR_TX_PACKETS, /* u64 */
- L2TP_ATTR_TX_BYTES, /* u64 */
- L2TP_ATTR_TX_ERRORS, /* u64 */
- L2TP_ATTR_RX_PACKETS, /* u64 */
- L2TP_ATTR_RX_BYTES, /* u64 */
- L2TP_ATTR_RX_SEQ_DISCARDS, /* u64 */
- L2TP_ATTR_RX_OOS_PACKETS, /* u64 */
- L2TP_ATTR_RX_ERRORS, /* u64 */
- __L2TP_ATTR_STATS_MAX,
-};
-
-#define L2TP_ATTR_STATS_MAX (__L2TP_ATTR_STATS_MAX - 1)
-
-enum l2tp_pwtype {
- L2TP_PWTYPE_NONE = 0x0000,
- L2TP_PWTYPE_ETH_VLAN = 0x0004,
- L2TP_PWTYPE_ETH = 0x0005,
- L2TP_PWTYPE_PPP = 0x0007,
- L2TP_PWTYPE_PPP_AC = 0x0008,
- L2TP_PWTYPE_IP = 0x000b,
- __L2TP_PWTYPE_MAX
-};
-
-enum l2tp_l2spec_type {
- L2TP_L2SPECTYPE_NONE,
- L2TP_L2SPECTYPE_DEFAULT,
-};
-
-enum l2tp_encap_type {
- L2TP_ENCAPTYPE_UDP,
- L2TP_ENCAPTYPE_IP,
-};
-
-enum l2tp_seqmode {
- L2TP_SEQ_NONE = 0,
- L2TP_SEQ_IP = 1,
- L2TP_SEQ_ALL = 2,
-};
-
-/*
- * NETLINK_GENERIC related info
- */
-#define L2TP_GENL_NAME "l2tp"
-#define L2TP_GENL_VERSION 0x1
-#define L2TP_GENL_MCGROUP "l2tp"
-
-#endif /* _LINUX_L2TP_H_ */
diff --git a/linux-headers/include/linux/libc-compat.h b/linux-headers/include/linux/libc-compat.h
deleted file mode 100644
index b3c2085..0000000
--- a/linux-headers/include/linux/libc-compat.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Compatibility interface for userspace libc header coordination:
- *
- * Define compatibility macros that are used to control the inclusion or
- * exclusion of UAPI structures and definitions in coordination with another
- * userspace C library.
- *
- * This header is intended to solve the problem of UAPI definitions that
- * conflict with userspace definitions. If a UAPI header has such conflicting
- * definitions then the solution is as follows:
- *
- * * Synchronize the UAPI header and the libc headers so either one can be
- * used and such that the ABI is preserved. If this is not possible then
- * no simple compatibility interface exists (you need to write translating
- * wrappers and rename things) and you can't use this interface.
- *
- * Then follow this process:
- *
- * (a) Include libc-compat.h in the UAPI header.
- * e.g. #include <linux/libc-compat.h>
- * This include must be as early as possible.
- *
- * (b) In libc-compat.h add enough code to detect that the comflicting
- * userspace libc header has been included first.
- *
- * (c) If the userspace libc header has been included first define a set of
- * guard macros of the form __UAPI_DEF_FOO and set their values to 1, else
- * set their values to 0.
- *
- * (d) Back in the UAPI header with the conflicting definitions, guard the
- * definitions with:
- * #if __UAPI_DEF_FOO
- * ...
- * #endif
- *
- * This fixes the situation where the linux headers are included *after* the
- * libc headers. To fix the problem with the inclusion in the other order the
- * userspace libc headers must be fixed like this:
- *
- * * For all definitions that conflict with kernel definitions wrap those
- * defines in the following:
- * #if !__UAPI_DEF_FOO
- * ...
- * #endif
- *
- * This prevents the redefinition of a construct already defined by the kernel.
- */
-#ifndef _LIBC_COMPAT_H
-#define _LIBC_COMPAT_H
-
-/* We have included glibc headers... */
-#if defined(__GLIBC__)
-
-/* Coordinate with glibc net/if.h header. */
-#if defined(_NET_IF_H)
-
-/* GLIBC headers included first so don't define anything
- * that would already be defined. */
-
-#define __UAPI_DEF_IF_IFCONF 0
-#define __UAPI_DEF_IF_IFMAP 0
-#define __UAPI_DEF_IF_IFNAMSIZ 0
-#define __UAPI_DEF_IF_IFREQ 0
-/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 0
-/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
-#ifndef __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO
-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
-#endif /* __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO */
-
-#else /* _NET_IF_H */
-
-/* Linux headers included first, and we must define everything
- * we need. The expectation is that glibc will check the
- * __UAPI_DEF_* defines and adjust appropriately. */
-
-#define __UAPI_DEF_IF_IFCONF 1
-#define __UAPI_DEF_IF_IFMAP 1
-#define __UAPI_DEF_IF_IFNAMSIZ 1
-#define __UAPI_DEF_IF_IFREQ 1
-/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
-/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
-
-#endif /* _NET_IF_H */
-
-/* Coordinate with glibc netinet/in.h header. */
-#if defined(_NETINET_IN_H)
-
-/* GLIBC headers included first so don't define anything
- * that would already be defined. */
-#define __UAPI_DEF_IN_ADDR 0
-#define __UAPI_DEF_IN_IPPROTO 0
-#define __UAPI_DEF_IN_PKTINFO 0
-#define __UAPI_DEF_IP_MREQ 0
-#define __UAPI_DEF_SOCKADDR_IN 0
-#define __UAPI_DEF_IN_CLASS 0
-
-#define __UAPI_DEF_IN6_ADDR 0
-/* The exception is the in6_addr macros which must be defined
- * if the glibc code didn't define them. This guard matches
- * the guard in glibc/inet/netinet/in.h which defines the
- * additional in6_addr macros e.g. s6_addr16, and s6_addr32. */
-#if defined(__USE_MISC) || defined (__USE_GNU)
-#define __UAPI_DEF_IN6_ADDR_ALT 0
-#else
-#define __UAPI_DEF_IN6_ADDR_ALT 1
-#endif
-#define __UAPI_DEF_SOCKADDR_IN6 0
-#define __UAPI_DEF_IPV6_MREQ 0
-#define __UAPI_DEF_IPPROTO_V6 0
-#define __UAPI_DEF_IPV6_OPTIONS 0
-#define __UAPI_DEF_IN6_PKTINFO 0
-#define __UAPI_DEF_IP6_MTUINFO 0
-
-#else
-
-/* Linux headers included first, and we must define everything
- * we need. The expectation is that glibc will check the
- * __UAPI_DEF_* defines and adjust appropriately. */
-#define __UAPI_DEF_IN_ADDR 1
-#define __UAPI_DEF_IN_IPPROTO 1
-#define __UAPI_DEF_IN_PKTINFO 1
-#define __UAPI_DEF_IP_MREQ 1
-#define __UAPI_DEF_SOCKADDR_IN 1
-#define __UAPI_DEF_IN_CLASS 1
-
-#define __UAPI_DEF_IN6_ADDR 1
-/* We unconditionally define the in6_addr macros and glibc must
- * coordinate. */
-#define __UAPI_DEF_IN6_ADDR_ALT 1
-#define __UAPI_DEF_SOCKADDR_IN6 1
-#define __UAPI_DEF_IPV6_MREQ 1
-#define __UAPI_DEF_IPPROTO_V6 1
-#define __UAPI_DEF_IPV6_OPTIONS 1
-#define __UAPI_DEF_IN6_PKTINFO 1
-#define __UAPI_DEF_IP6_MTUINFO 1
-
-#endif /* _NETINET_IN_H */
-
-/* Definitions for xattr.h */
-#if defined(_SYS_XATTR_H)
-#define __UAPI_DEF_XATTR 0
-#else
-#define __UAPI_DEF_XATTR 1
-#endif
-
-/* If we did not see any headers from any supported C libraries,
- * or we are being included in the kernel, then define everything
- * that we need. */
-#else /* !defined(__GLIBC__) */
-
-/* Definitions for if.h */
-#define __UAPI_DEF_IF_IFCONF 1
-#define __UAPI_DEF_IF_IFMAP 1
-#define __UAPI_DEF_IF_IFNAMSIZ 1
-#define __UAPI_DEF_IF_IFREQ 1
-/* Everything up to IFF_DYNAMIC, matches net/if.h until glibc 2.23 */
-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS 1
-/* For the future if glibc adds IFF_LOWER_UP, IFF_DORMANT and IFF_ECHO */
-#define __UAPI_DEF_IF_NET_DEVICE_FLAGS_LOWER_UP_DORMANT_ECHO 1
-
-/* Definitions for in.h */
-#define __UAPI_DEF_IN_ADDR 1
-#define __UAPI_DEF_IN_IPPROTO 1
-#define __UAPI_DEF_IN_PKTINFO 1
-#define __UAPI_DEF_IP_MREQ 1
-#define __UAPI_DEF_SOCKADDR_IN 1
-#define __UAPI_DEF_IN_CLASS 1
-
-/* Definitions for in6.h */
-#define __UAPI_DEF_IN6_ADDR 1
-#define __UAPI_DEF_IN6_ADDR_ALT 1
-#define __UAPI_DEF_SOCKADDR_IN6 1
-#define __UAPI_DEF_IPV6_MREQ 1
-#define __UAPI_DEF_IPPROTO_V6 1
-#define __UAPI_DEF_IPV6_OPTIONS 1
-#define __UAPI_DEF_IN6_PKTINFO 1
-#define __UAPI_DEF_IP6_MTUINFO 1
-
-/* Definitions for xattr.h */
-#define __UAPI_DEF_XATTR 1
-
-#endif /* __GLIBC__ */
-
-#endif /* _LIBC_COMPAT_H */
diff --git a/linux-headers/include/linux/limits.h b/linux-headers/include/linux/limits.h
deleted file mode 100644
index 2d0f941..0000000
--- a/linux-headers/include/linux/limits.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _LINUX_LIMITS_H
-#define _LINUX_LIMITS_H
-
-#define NR_OPEN 1024
-
-#define NGROUPS_MAX 65536 /* supplemental group IDs are available */
-#define ARG_MAX 131072 /* # bytes of args + environ for exec() */
-#define LINK_MAX 127 /* # links a file may have */
-#define MAX_CANON 255 /* size of the canonical input queue */
-#define MAX_INPUT 255 /* size of the type-ahead buffer */
-#define NAME_MAX 255 /* # chars in a file name */
-#define PATH_MAX 4096 /* # chars in a path name including nul */
-#define PIPE_BUF 4096 /* # bytes in atomic write to a pipe */
-#define XATTR_NAME_MAX 255 /* # chars in an extended attribute name */
-#define XATTR_SIZE_MAX 65536 /* size of an extended attribute value (64k) */
-#define XATTR_LIST_MAX 65536 /* size of extended attribute namelist (64k) */
-
-#define RTSIG_MAX 32
-
-#endif
diff --git a/linux-headers/include/linux/llc.h b/linux-headers/include/linux/llc.h
deleted file mode 100644
index ff895d1..0000000
--- a/linux-headers/include/linux/llc.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * IEEE 802.2 User Interface SAPs for Linux, data structures and indicators.
- *
- * Copyright (c) 2001 by Jay Schulist <jschlst@samba.org>
- *
- * This program can be redistributed or modified under the terms of the
- * GNU General Public License as published by the Free Software Foundation.
- * This program is distributed without any warranty or implied warranty
- * of merchantability or fitness for a particular purpose.
- *
- * See the GNU General Public License for more details.
- */
-#ifndef __LINUX_LLC_H
-#define __LINUX_LLC_H
-
-#include <linux/socket.h>
-
-#define __LLC_SOCK_SIZE__ 16 /* sizeof(sockaddr_llc), word align. */
-struct sockaddr_llc {
- __kernel_sa_family_t sllc_family; /* AF_LLC */
- __kernel_sa_family_t sllc_arphrd; /* ARPHRD_ETHER */
- unsigned char sllc_test;
- unsigned char sllc_xid;
- unsigned char sllc_ua; /* UA data, only for SOCK_STREAM. */
- unsigned char sllc_sap;
- unsigned char sllc_mac[IFHWADDRLEN];
- unsigned char __pad[__LLC_SOCK_SIZE__ -
- sizeof(__kernel_sa_family_t) * 2 -
- sizeof(unsigned char) * 4 - IFHWADDRLEN];
-};
-
-/* sockopt definitions. */
-enum llc_sockopts {
- LLC_OPT_UNKNOWN = 0,
- LLC_OPT_RETRY, /* max retrans attempts. */
- LLC_OPT_SIZE, /* max PDU size (octets). */
- LLC_OPT_ACK_TMR_EXP, /* ack expire time (secs). */
- LLC_OPT_P_TMR_EXP, /* pf cycle expire time (secs). */
- LLC_OPT_REJ_TMR_EXP, /* rej sent expire time (secs). */
- LLC_OPT_BUSY_TMR_EXP, /* busy state expire time (secs). */
- LLC_OPT_TX_WIN, /* tx window size. */
- LLC_OPT_RX_WIN, /* rx window size. */
- LLC_OPT_PKTINFO, /* ancillary packet information. */
- LLC_OPT_MAX
-};
-
-#define LLC_OPT_MAX_RETRY 100
-#define LLC_OPT_MAX_SIZE 4196
-#define LLC_OPT_MAX_WIN 127
-#define LLC_OPT_MAX_ACK_TMR_EXP 60
-#define LLC_OPT_MAX_P_TMR_EXP 60
-#define LLC_OPT_MAX_REJ_TMR_EXP 60
-#define LLC_OPT_MAX_BUSY_TMR_EXP 60
-
-/* LLC SAP types. */
-#define LLC_SAP_NULL 0x00 /* NULL SAP. */
-#define LLC_SAP_LLC 0x02 /* LLC Sublayer Management. */
-#define LLC_SAP_SNA 0x04 /* SNA Path Control. */
-#define LLC_SAP_PNM 0x0E /* Proway Network Management. */
-#define LLC_SAP_IP 0x06 /* TCP/IP. */
-#define LLC_SAP_BSPAN 0x42 /* Bridge Spanning Tree Proto */
-#define LLC_SAP_MMS 0x4E /* Manufacturing Message Srv. */
-#define LLC_SAP_8208 0x7E /* ISO 8208 */
-#define LLC_SAP_3COM 0x80 /* 3COM. */
-#define LLC_SAP_PRO 0x8E /* Proway Active Station List */
-#define LLC_SAP_SNAP 0xAA /* SNAP. */
-#define LLC_SAP_BANYAN 0xBC /* Banyan. */
-#define LLC_SAP_IPX 0xE0 /* IPX/SPX. */
-#define LLC_SAP_NETBEUI 0xF0 /* NetBEUI. */
-#define LLC_SAP_LANMGR 0xF4 /* LanManager. */
-#define LLC_SAP_IMPL 0xF8 /* IMPL */
-#define LLC_SAP_DISC 0xFC /* Discovery */
-#define LLC_SAP_OSI 0xFE /* OSI Network Layers. */
-#define LLC_SAP_LAR 0xDC /* LAN Address Resolution */
-#define LLC_SAP_RM 0xD4 /* Resource Management */
-#define LLC_SAP_GLOBAL 0xFF /* Global SAP. */
-
-struct llc_pktinfo {
- int lpi_ifindex;
- unsigned char lpi_sap;
- unsigned char lpi_mac[IFHWADDRLEN];
-};
-
-#endif /* __LINUX_LLC_H */
diff --git a/linux-headers/include/linux/loop.h b/linux-headers/include/linux/loop.h
deleted file mode 100644
index 50b4ec8..0000000
--- a/linux-headers/include/linux/loop.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * include/linux/loop.h
- *
- * Written by Theodore Ts'o, 3/29/93.
- *
- * Copyright 1993 by Theodore Ts'o. Redistribution of this file is
- * permitted under the GNU General Public License.
- */
-#ifndef _LINUX_LOOP_H
-#define _LINUX_LOOP_H
-
-
-#define LO_NAME_SIZE 64
-#define LO_KEY_SIZE 32
-
-
-/*
- * Loop flags
- */
-enum {
- LO_FLAGS_READ_ONLY = 1,
- LO_FLAGS_AUTOCLEAR = 4,
- LO_FLAGS_PARTSCAN = 8,
- LO_FLAGS_DIRECT_IO = 16,
-};
-
-#include <asm/posix_types.h> /* for __kernel_old_dev_t */
-#include <linux/types.h> /* for __u64 */
-
-/* Backwards compatibility version */
-struct loop_info {
- int lo_number; /* ioctl r/o */
- __kernel_old_dev_t lo_device; /* ioctl r/o */
- unsigned long lo_inode; /* ioctl r/o */
- __kernel_old_dev_t lo_rdevice; /* ioctl r/o */
- int lo_offset;
- int lo_encrypt_type;
- int lo_encrypt_key_size; /* ioctl w/o */
- int lo_flags; /* ioctl r/o */
- char lo_name[LO_NAME_SIZE];
- unsigned char lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
- unsigned long lo_init[2];
- char reserved[4];
-};
-
-struct loop_info64 {
- __u64 lo_device; /* ioctl r/o */
- __u64 lo_inode; /* ioctl r/o */
- __u64 lo_rdevice; /* ioctl r/o */
- __u64 lo_offset;
- __u64 lo_sizelimit;/* bytes, 0 == max available */
- __u32 lo_number; /* ioctl r/o */
- __u32 lo_encrypt_type;
- __u32 lo_encrypt_key_size; /* ioctl w/o */
- __u32 lo_flags; /* ioctl r/o */
- __u8 lo_file_name[LO_NAME_SIZE];
- __u8 lo_crypt_name[LO_NAME_SIZE];
- __u8 lo_encrypt_key[LO_KEY_SIZE]; /* ioctl w/o */
- __u64 lo_init[2];
-};
-
-/*
- * Loop filter types
- */
-
-#define LO_CRYPT_NONE 0
-#define LO_CRYPT_XOR 1
-#define LO_CRYPT_DES 2
-#define LO_CRYPT_FISH2 3 /* Twofish encryption */
-#define LO_CRYPT_BLOW 4
-#define LO_CRYPT_CAST128 5
-#define LO_CRYPT_IDEA 6
-#define LO_CRYPT_DUMMY 9
-#define LO_CRYPT_SKIPJACK 10
-#define LO_CRYPT_CRYPTOAPI 18
-#define MAX_LO_CRYPT 20
-
-/*
- * IOCTL commands --- we will commandeer 0x4C ('L')
- */
-
-#define LOOP_SET_FD 0x4C00
-#define LOOP_CLR_FD 0x4C01
-#define LOOP_SET_STATUS 0x4C02
-#define LOOP_GET_STATUS 0x4C03
-#define LOOP_SET_STATUS64 0x4C04
-#define LOOP_GET_STATUS64 0x4C05
-#define LOOP_CHANGE_FD 0x4C06
-#define LOOP_SET_CAPACITY 0x4C07
-#define LOOP_SET_DIRECT_IO 0x4C08
-
-/* /dev/loop-control interface */
-#define LOOP_CTL_ADD 0x4C80
-#define LOOP_CTL_REMOVE 0x4C81
-#define LOOP_CTL_GET_FREE 0x4C82
-#endif /* _LINUX_LOOP_H */
diff --git a/linux-headers/include/linux/lp.h b/linux-headers/include/linux/lp.h
deleted file mode 100644
index 3226e65..0000000
--- a/linux-headers/include/linux/lp.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * usr/include/linux/lp.h c.1991-1992 James Wiegand
- * many modifications copyright (C) 1992 Michael K. Johnson
- * Interrupt support added 1993 Nigel Gamble
- * Removed 8255 status defines from inside __KERNEL__ Marcelo Tosatti
- */
-#ifndef _LINUX_LP_H
-#define _LINUX_LP_H
-
-
-/*
- * Per POSIX guidelines, this module reserves the LP and lp prefixes
- * These are the lp_table[minor].flags flags...
- */
-#define LP_EXIST 0x0001
-#define LP_SELEC 0x0002
-#define LP_BUSY 0x0004
-#define LP_BUSY_BIT_POS 2
-#define LP_OFFL 0x0008
-#define LP_NOPA 0x0010
-#define LP_ERR 0x0020
-#define LP_ABORT 0x0040
-#define LP_CAREFUL 0x0080 /* obsoleted -arca */
-#define LP_ABORTOPEN 0x0100
-
-#define LP_TRUST_IRQ_ 0x0200 /* obsolete */
-#define LP_NO_REVERSE 0x0400 /* No reverse mode available. */
-#define LP_DATA_AVAIL 0x0800 /* Data is available. */
-
-/*
- * bit defines for 8255 status port
- * base + 1
- * accessed with LP_S(minor), which gets the byte...
- */
-#define LP_PBUSY 0x80 /* inverted input, active high */
-#define LP_PACK 0x40 /* unchanged input, active low */
-#define LP_POUTPA 0x20 /* unchanged input, active high */
-#define LP_PSELECD 0x10 /* unchanged input, active high */
-#define LP_PERRORP 0x08 /* unchanged input, active low */
-
-/* timeout for each character. This is relative to bus cycles -- it
- * is the count in a busy loop. THIS IS THE VALUE TO CHANGE if you
- * have extremely slow printing, or if the machine seems to slow down
- * a lot when you print. If you have slow printing, increase this
- * number and recompile, and if your system gets bogged down, decrease
- * this number. This can be changed with the tunelp(8) command as well.
- */
-
-#define LP_INIT_CHAR 1000
-
-/* The parallel port specs apparently say that there needs to be
- * a .5usec wait before and after the strobe.
- */
-
-#define LP_INIT_WAIT 1
-
-/* This is the amount of time that the driver waits for the printer to
- * catch up when the printer's buffer appears to be filled. If you
- * want to tune this and have a fast printer (i.e. HPIIIP), decrease
- * this number, and if you have a slow printer, increase this number.
- * This is in hundredths of a second, the default 2 being .05 second.
- * Or use the tunelp(8) command, which is especially nice if you want
- * change back and forth between character and graphics printing, which
- * are wildly different...
- */
-
-#define LP_INIT_TIME 2
-
-/* IOCTL numbers */
-#define LPCHAR 0x0601 /* corresponds to LP_INIT_CHAR */
-#define LPTIME 0x0602 /* corresponds to LP_INIT_TIME */
-#define LPABORT 0x0604 /* call with TRUE arg to abort on error,
- FALSE to retry. Default is retry. */
-#define LPSETIRQ 0x0605 /* call with new IRQ number,
- or 0 for polling (no IRQ) */
-#define LPGETIRQ 0x0606 /* get the current IRQ number */
-#define LPWAIT 0x0608 /* corresponds to LP_INIT_WAIT */
-/* NOTE: LPCAREFUL is obsoleted and it' s always the default right now -arca */
-#define LPCAREFUL 0x0609 /* call with TRUE arg to require out-of-paper, off-
- line, and error indicators good on all writes,
- FALSE to ignore them. Default is ignore. */
-#define LPABORTOPEN 0x060a /* call with TRUE arg to abort open() on error,
- FALSE to ignore error. Default is ignore. */
-#define LPGETSTATUS 0x060b /* return LP_S(minor) */
-#define LPRESET 0x060c /* reset printer */
-#ifdef LP_STATS
-#define LPGETSTATS 0x060d /* get statistics (struct lp_stats) */
-#endif
-#define LPGETFLAGS 0x060e /* get status flags */
-#define LPSETTIMEOUT 0x060f /* set parport timeout */
-
-/* timeout for printk'ing a timeout, in jiffies (100ths of a second).
- This is also used for re-checking error conditions if LP_ABORT is
- not set. This is the default behavior. */
-
-#define LP_TIMEOUT_INTERRUPT (60 * HZ)
-#define LP_TIMEOUT_POLLED (10 * HZ)
-
-
-#endif /* _LINUX_LP_H */
diff --git a/linux-headers/include/linux/lwtunnel.h b/linux-headers/include/linux/lwtunnel.h
deleted file mode 100644
index 1d2f4f6..0000000
--- a/linux-headers/include/linux/lwtunnel.h
+++ /dev/null
@@ -1,43 +0,0 @@
-#ifndef _LWTUNNEL_H_
-#define _LWTUNNEL_H_
-
-#include <linux/types.h>
-
-enum lwtunnel_encap_types {
- LWTUNNEL_ENCAP_NONE,
- LWTUNNEL_ENCAP_MPLS,
- LWTUNNEL_ENCAP_IP,
- LWTUNNEL_ENCAP_ILA,
- LWTUNNEL_ENCAP_IP6,
- __LWTUNNEL_ENCAP_MAX,
-};
-
-#define LWTUNNEL_ENCAP_MAX (__LWTUNNEL_ENCAP_MAX - 1)
-
-enum lwtunnel_ip_t {
- LWTUNNEL_IP_UNSPEC,
- LWTUNNEL_IP_ID,
- LWTUNNEL_IP_DST,
- LWTUNNEL_IP_SRC,
- LWTUNNEL_IP_TTL,
- LWTUNNEL_IP_TOS,
- LWTUNNEL_IP_FLAGS,
- __LWTUNNEL_IP_MAX,
-};
-
-#define LWTUNNEL_IP_MAX (__LWTUNNEL_IP_MAX - 1)
-
-enum lwtunnel_ip6_t {
- LWTUNNEL_IP6_UNSPEC,
- LWTUNNEL_IP6_ID,
- LWTUNNEL_IP6_DST,
- LWTUNNEL_IP6_SRC,
- LWTUNNEL_IP6_HOPLIMIT,
- LWTUNNEL_IP6_TC,
- LWTUNNEL_IP6_FLAGS,
- __LWTUNNEL_IP6_MAX,
-};
-
-#define LWTUNNEL_IP6_MAX (__LWTUNNEL_IP6_MAX - 1)
-
-#endif /* _LWTUNNEL_H_ */
diff --git a/linux-headers/include/linux/magic.h b/linux-headers/include/linux/magic.h
deleted file mode 100644
index 0de181a..0000000
--- a/linux-headers/include/linux/magic.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef __LINUX_MAGIC_H__
-#define __LINUX_MAGIC_H__
-
-#define ADFS_SUPER_MAGIC 0xadf5
-#define AFFS_SUPER_MAGIC 0xadff
-#define AFS_SUPER_MAGIC 0x5346414F
-#define AUTOFS_SUPER_MAGIC 0x0187
-#define CODA_SUPER_MAGIC 0x73757245
-#define CRAMFS_MAGIC 0x28cd3d45 /* some random number */
-#define CRAMFS_MAGIC_WEND 0x453dcd28 /* magic number with the wrong endianess */
-#define DEBUGFS_MAGIC 0x64626720
-#define SECURITYFS_MAGIC 0x73636673
-#define SELINUX_MAGIC 0xf97cff8c
-#define SMACK_MAGIC 0x43415d53 /* "SMAC" */
-#define RAMFS_MAGIC 0x858458f6 /* some random number */
-#define TMPFS_MAGIC 0x01021994
-#define HUGETLBFS_MAGIC 0x958458f6 /* some random number */
-#define SQUASHFS_MAGIC 0x73717368
-#define ECRYPTFS_SUPER_MAGIC 0xf15f
-#define EFS_SUPER_MAGIC 0x414A53
-#define EXT2_SUPER_MAGIC 0xEF53
-#define EXT3_SUPER_MAGIC 0xEF53
-#define XENFS_SUPER_MAGIC 0xabba1974
-#define EXT4_SUPER_MAGIC 0xEF53
-#define BTRFS_SUPER_MAGIC 0x9123683E
-#define NILFS_SUPER_MAGIC 0x3434
-#define F2FS_SUPER_MAGIC 0xF2F52010
-#define HPFS_SUPER_MAGIC 0xf995e849
-#define ISOFS_SUPER_MAGIC 0x9660
-#define JFFS2_SUPER_MAGIC 0x72b6
-#define PSTOREFS_MAGIC 0x6165676C
-#define EFIVARFS_MAGIC 0xde5e81e4
-#define HOSTFS_SUPER_MAGIC 0x00c0ffee
-#define OVERLAYFS_SUPER_MAGIC 0x794c7630
-
-#define MINIX_SUPER_MAGIC 0x137F /* minix v1 fs, 14 char names */
-#define MINIX_SUPER_MAGIC2 0x138F /* minix v1 fs, 30 char names */
-#define MINIX2_SUPER_MAGIC 0x2468 /* minix v2 fs, 14 char names */
-#define MINIX2_SUPER_MAGIC2 0x2478 /* minix v2 fs, 30 char names */
-#define MINIX3_SUPER_MAGIC 0x4d5a /* minix v3 fs, 60 char names */
-
-#define MSDOS_SUPER_MAGIC 0x4d44 /* MD */
-#define NCP_SUPER_MAGIC 0x564c /* Guess, what 0x564c is :-) */
-#define NFS_SUPER_MAGIC 0x6969
-#define OPENPROM_SUPER_MAGIC 0x9fa1
-#define QNX4_SUPER_MAGIC 0x002f /* qnx4 fs detection */
-#define QNX6_SUPER_MAGIC 0x68191122 /* qnx6 fs detection */
-
-#define REISERFS_SUPER_MAGIC 0x52654973 /* used by gcc */
- /* used by file system utilities that
- look at the superblock, etc. */
-#define REISERFS_SUPER_MAGIC_STRING "ReIsErFs"
-#define REISER2FS_SUPER_MAGIC_STRING "ReIsEr2Fs"
-#define REISER2FS_JR_SUPER_MAGIC_STRING "ReIsEr3Fs"
-
-#define SMB_SUPER_MAGIC 0x517B
-#define CGROUP_SUPER_MAGIC 0x27e0eb
-#define CGROUP2_SUPER_MAGIC 0x63677270
-
-
-#define STACK_END_MAGIC 0x57AC6E9D
-
-#define TRACEFS_MAGIC 0x74726163
-
-#define V9FS_MAGIC 0x01021997
-
-#define BDEVFS_MAGIC 0x62646576
-#define BINFMTFS_MAGIC 0x42494e4d
-#define DEVPTS_SUPER_MAGIC 0x1cd1
-#define FUTEXFS_SUPER_MAGIC 0xBAD1DEA
-#define PIPEFS_MAGIC 0x50495045
-#define PROC_SUPER_MAGIC 0x9fa0
-#define SOCKFS_MAGIC 0x534F434B
-#define SYSFS_MAGIC 0x62656572
-#define USBDEVICE_SUPER_MAGIC 0x9fa2
-#define MTD_INODE_FS_MAGIC 0x11307854
-#define ANON_INODE_FS_MAGIC 0x09041934
-#define BTRFS_TEST_MAGIC 0x73727279
-#define NSFS_MAGIC 0x6e736673
-#define BPF_FS_MAGIC 0xcafe4a11
-
-#endif /* __LINUX_MAGIC_H__ */
diff --git a/linux-headers/include/linux/major.h b/linux-headers/include/linux/major.h
deleted file mode 100644
index 620252e..0000000
--- a/linux-headers/include/linux/major.h
+++ /dev/null
@@ -1,179 +0,0 @@
-#ifndef _LINUX_MAJOR_H
-#define _LINUX_MAJOR_H
-
-/*
- * This file has definitions for major device numbers.
- * For the device number assignments, see Documentation/devices.txt.
- */
-
-#define UNNAMED_MAJOR 0
-#define MEM_MAJOR 1
-#define RAMDISK_MAJOR 1
-#define FLOPPY_MAJOR 2
-#define PTY_MASTER_MAJOR 2
-#define IDE0_MAJOR 3
-#define HD_MAJOR IDE0_MAJOR
-#define PTY_SLAVE_MAJOR 3
-#define TTY_MAJOR 4
-#define TTYAUX_MAJOR 5
-#define LP_MAJOR 6
-#define VCS_MAJOR 7
-#define LOOP_MAJOR 7
-#define SCSI_DISK0_MAJOR 8
-#define SCSI_TAPE_MAJOR 9
-#define MD_MAJOR 9
-#define MISC_MAJOR 10
-#define SCSI_CDROM_MAJOR 11
-#define MUX_MAJOR 11 /* PA-RISC only */
-#define XT_DISK_MAJOR 13
-#define INPUT_MAJOR 13
-#define SOUND_MAJOR 14
-#define CDU31A_CDROM_MAJOR 15
-#define JOYSTICK_MAJOR 15
-#define GOLDSTAR_CDROM_MAJOR 16
-#define OPTICS_CDROM_MAJOR 17
-#define SANYO_CDROM_MAJOR 18
-#define CYCLADES_MAJOR 19
-#define CYCLADESAUX_MAJOR 20
-#define MITSUMI_X_CDROM_MAJOR 20
-#define MFM_ACORN_MAJOR 21 /* ARM Linux /dev/mfm */
-#define SCSI_GENERIC_MAJOR 21
-#define IDE1_MAJOR 22
-#define DIGICU_MAJOR 22
-#define DIGI_MAJOR 23
-#define MITSUMI_CDROM_MAJOR 23
-#define CDU535_CDROM_MAJOR 24
-#define STL_SERIALMAJOR 24
-#define MATSUSHITA_CDROM_MAJOR 25
-#define STL_CALLOUTMAJOR 25
-#define MATSUSHITA_CDROM2_MAJOR 26
-#define QIC117_TAPE_MAJOR 27
-#define MATSUSHITA_CDROM3_MAJOR 27
-#define MATSUSHITA_CDROM4_MAJOR 28
-#define STL_SIOMEMMAJOR 28
-#define ACSI_MAJOR 28
-#define AZTECH_CDROM_MAJOR 29
-#define FB_MAJOR 29 /* /dev/fb* framebuffers */
-#define MTD_BLOCK_MAJOR 31
-#define CM206_CDROM_MAJOR 32
-#define IDE2_MAJOR 33
-#define IDE3_MAJOR 34
-#define Z8530_MAJOR 34
-#define XPRAM_MAJOR 35 /* Expanded storage on S/390: "slow ram"*/
-#define NETLINK_MAJOR 36
-#define PS2ESDI_MAJOR 36
-#define IDETAPE_MAJOR 37
-#define Z2RAM_MAJOR 37
-#define APBLOCK_MAJOR 38 /* AP1000 Block device */
-#define DDV_MAJOR 39 /* AP1000 DDV block device */
-#define NBD_MAJOR 43 /* Network block device */
-#define RISCOM8_NORMAL_MAJOR 48
-#define DAC960_MAJOR 48 /* 48..55 */
-#define RISCOM8_CALLOUT_MAJOR 49
-#define MKISS_MAJOR 55
-#define DSP56K_MAJOR 55 /* DSP56001 processor device */
-
-#define IDE4_MAJOR 56
-#define IDE5_MAJOR 57
-
-#define SCSI_DISK1_MAJOR 65
-#define SCSI_DISK2_MAJOR 66
-#define SCSI_DISK3_MAJOR 67
-#define SCSI_DISK4_MAJOR 68
-#define SCSI_DISK5_MAJOR 69
-#define SCSI_DISK6_MAJOR 70
-#define SCSI_DISK7_MAJOR 71
-
-#define COMPAQ_SMART2_MAJOR 72
-#define COMPAQ_SMART2_MAJOR1 73
-#define COMPAQ_SMART2_MAJOR2 74
-#define COMPAQ_SMART2_MAJOR3 75
-#define COMPAQ_SMART2_MAJOR4 76
-#define COMPAQ_SMART2_MAJOR5 77
-#define COMPAQ_SMART2_MAJOR6 78
-#define COMPAQ_SMART2_MAJOR7 79
-
-#define SPECIALIX_NORMAL_MAJOR 75
-#define SPECIALIX_CALLOUT_MAJOR 76
-
-#define AURORA_MAJOR 79
-
-#define I2O_MAJOR 80 /* 80->87 */
-
-#define SHMIQ_MAJOR 85 /* Linux/mips, SGI /dev/shmiq */
-#define SCSI_CHANGER_MAJOR 86
-
-#define IDE6_MAJOR 88
-#define IDE7_MAJOR 89
-#define IDE8_MAJOR 90
-#define MTD_CHAR_MAJOR 90
-#define IDE9_MAJOR 91
-
-#define DASD_MAJOR 94
-
-#define MDISK_MAJOR 95
-
-#define UBD_MAJOR 98
-
-#define PP_MAJOR 99
-#define JSFD_MAJOR 99
-
-#define PHONE_MAJOR 100
-
-#define COMPAQ_CISS_MAJOR 104
-#define COMPAQ_CISS_MAJOR1 105
-#define COMPAQ_CISS_MAJOR2 106
-#define COMPAQ_CISS_MAJOR3 107
-#define COMPAQ_CISS_MAJOR4 108
-#define COMPAQ_CISS_MAJOR5 109
-#define COMPAQ_CISS_MAJOR6 110
-#define COMPAQ_CISS_MAJOR7 111
-
-#define VIODASD_MAJOR 112
-#define VIOCD_MAJOR 113
-
-#define ATARAID_MAJOR 114
-
-#define SCSI_DISK8_MAJOR 128
-#define SCSI_DISK9_MAJOR 129
-#define SCSI_DISK10_MAJOR 130
-#define SCSI_DISK11_MAJOR 131
-#define SCSI_DISK12_MAJOR 132
-#define SCSI_DISK13_MAJOR 133
-#define SCSI_DISK14_MAJOR 134
-#define SCSI_DISK15_MAJOR 135
-
-#define UNIX98_PTY_MASTER_MAJOR 128
-#define UNIX98_PTY_MAJOR_COUNT 8
-#define UNIX98_PTY_SLAVE_MAJOR (UNIX98_PTY_MASTER_MAJOR+UNIX98_PTY_MAJOR_COUNT)
-
-#define DRBD_MAJOR 147
-#define RTF_MAJOR 150
-#define RAW_MAJOR 162
-
-#define USB_ACM_MAJOR 166
-#define USB_ACM_AUX_MAJOR 167
-#define USB_CHAR_MAJOR 180
-
-#define MMC_BLOCK_MAJOR 179
-
-#define VXVM_MAJOR 199 /* VERITAS volume i/o driver */
-#define VXSPEC_MAJOR 200 /* VERITAS volume config driver */
-#define VXDMP_MAJOR 201 /* VERITAS volume multipath driver */
-
-#define XENVBD_MAJOR 202 /* Xen virtual block device */
-
-#define MSR_MAJOR 202
-#define CPUID_MAJOR 203
-
-#define OSST_MAJOR 206 /* OnStream-SCx0 SCSI tape */
-
-#define IBM_TTY3270_MAJOR 227
-#define IBM_FS3270_MAJOR 228
-
-#define VIOTAPE_MAJOR 230
-
-#define BLOCK_EXT_MAJOR 259
-#define SCSI_OSD_MAJOR 260 /* open-osd's OSD scsi device */
-
-#endif
diff --git a/linux-headers/include/linux/map_to_7segment.h b/linux-headers/include/linux/map_to_7segment.h
deleted file mode 100644
index 12d62a5..0000000
--- a/linux-headers/include/linux/map_to_7segment.h
+++ /dev/null
@@ -1,187 +0,0 @@
-/*
- * Copyright (c) 2005 Henk Vergonet <Henk.Vergonet@gmail.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef MAP_TO_7SEGMENT_H
-#define MAP_TO_7SEGMENT_H
-
-/* This file provides translation primitives and tables for the conversion
- * of (ASCII) characters to a 7-segments notation.
- *
- * The 7 segment's wikipedia notation below is used as standard.
- * See: http://en.wikipedia.org/wiki/Seven_segment_display
- *
- * Notation: +-a-+
- * f b
- * +-g-+
- * e c
- * +-d-+
- *
- * Usage:
- *
- * Register a map variable, and fill it with a character set:
- * static SEG7_DEFAULT_MAP(map_seg7);
- *
- *
- * Then use for conversion:
- * seg7 = map_to_seg7(&map_seg7, some_char);
- * ...
- *
- * In device drivers it is recommended, if required, to make the char map
- * accessible via the sysfs interface using the following scheme:
- *
- * static ssize_t show_map(struct device *dev, char *buf) {
- * memcpy(buf, &map_seg7, sizeof(map_seg7));
- * return sizeof(map_seg7);
- * }
- * static ssize_t store_map(struct device *dev, const char *buf, size_t cnt) {
- * if(cnt != sizeof(map_seg7))
- * return -EINVAL;
- * memcpy(&map_seg7, buf, cnt);
- * return cnt;
- * }
- * static DEVICE_ATTR(map_seg7, PERMS_RW, show_map, store_map);
- *
- * History:
- * 2005-05-31 RFC linux-kernel@vger.kernel.org
- */
-#include <linux/errno.h>
-
-
-#define BIT_SEG7_A 0
-#define BIT_SEG7_B 1
-#define BIT_SEG7_C 2
-#define BIT_SEG7_D 3
-#define BIT_SEG7_E 4
-#define BIT_SEG7_F 5
-#define BIT_SEG7_G 6
-#define BIT_SEG7_RESERVED 7
-
-struct seg7_conversion_map {
- unsigned char table[128];
-};
-
-static __inline__ int map_to_seg7(struct seg7_conversion_map *map, int c)
-{
- return c >= 0 && c < sizeof(map->table) ? map->table[c] : -EINVAL;
-}
-
-#define SEG7_CONVERSION_MAP(_name, _map) \
- struct seg7_conversion_map _name = { .table = { _map } }
-
-/*
- * It is recommended to use a facility that allows user space to redefine
- * custom character sets for LCD devices. Please use a sysfs interface
- * as described above.
- */
-#define MAP_TO_SEG7_SYSFS_FILE "map_seg7"
-
-/*******************************************************************************
- * ASCII conversion table
- ******************************************************************************/
-
-#define _SEG7(l,a,b,c,d,e,f,g) \
- ( a<<BIT_SEG7_A | b<<BIT_SEG7_B | c<<BIT_SEG7_C | d<<BIT_SEG7_D | \
- e<<BIT_SEG7_E | f<<BIT_SEG7_F | g<<BIT_SEG7_G )
-
-#define _MAP_0_32_ASCII_SEG7_NON_PRINTABLE \
- 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
-
-#define _MAP_33_47_ASCII_SEG7_SYMBOL \
- _SEG7('!',0,0,0,0,1,1,0), _SEG7('"',0,1,0,0,0,1,0), _SEG7('#',0,1,1,0,1,1,0),\
- _SEG7('$',1,0,1,1,0,1,1), _SEG7('%',0,0,1,0,0,1,0), _SEG7('&',1,0,1,1,1,1,1),\
- _SEG7('\'',0,0,0,0,0,1,0),_SEG7('(',1,0,0,1,1,1,0), _SEG7(')',1,1,1,1,0,0,0),\
- _SEG7('*',0,1,1,0,1,1,1), _SEG7('+',0,1,1,0,0,0,1), _SEG7(',',0,0,0,0,1,0,0),\
- _SEG7('-',0,0,0,0,0,0,1), _SEG7('.',0,0,0,0,1,0,0), _SEG7('/',0,1,0,0,1,0,1),
-
-#define _MAP_48_57_ASCII_SEG7_NUMERIC \
- _SEG7('0',1,1,1,1,1,1,0), _SEG7('1',0,1,1,0,0,0,0), _SEG7('2',1,1,0,1,1,0,1),\
- _SEG7('3',1,1,1,1,0,0,1), _SEG7('4',0,1,1,0,0,1,1), _SEG7('5',1,0,1,1,0,1,1),\
- _SEG7('6',1,0,1,1,1,1,1), _SEG7('7',1,1,1,0,0,0,0), _SEG7('8',1,1,1,1,1,1,1),\
- _SEG7('9',1,1,1,1,0,1,1),
-
-#define _MAP_58_64_ASCII_SEG7_SYMBOL \
- _SEG7(':',0,0,0,1,0,0,1), _SEG7(';',0,0,0,1,0,0,1), _SEG7('<',1,0,0,0,0,1,1),\
- _SEG7('=',0,0,0,1,0,0,1), _SEG7('>',1,1,0,0,0,0,1), _SEG7('?',1,1,1,0,0,1,0),\
- _SEG7('@',1,1,0,1,1,1,1),
-
-#define _MAP_65_90_ASCII_SEG7_ALPHA_UPPR \
- _SEG7('A',1,1,1,0,1,1,1), _SEG7('B',1,1,1,1,1,1,1), _SEG7('C',1,0,0,1,1,1,0),\
- _SEG7('D',1,1,1,1,1,1,0), _SEG7('E',1,0,0,1,1,1,1), _SEG7('F',1,0,0,0,1,1,1),\
- _SEG7('G',1,1,1,1,0,1,1), _SEG7('H',0,1,1,0,1,1,1), _SEG7('I',0,1,1,0,0,0,0),\
- _SEG7('J',0,1,1,1,0,0,0), _SEG7('K',0,1,1,0,1,1,1), _SEG7('L',0,0,0,1,1,1,0),\
- _SEG7('M',1,1,1,0,1,1,0), _SEG7('N',1,1,1,0,1,1,0), _SEG7('O',1,1,1,1,1,1,0),\
- _SEG7('P',1,1,0,0,1,1,1), _SEG7('Q',1,1,1,1,1,1,0), _SEG7('R',1,1,1,0,1,1,1),\
- _SEG7('S',1,0,1,1,0,1,1), _SEG7('T',0,0,0,1,1,1,1), _SEG7('U',0,1,1,1,1,1,0),\
- _SEG7('V',0,1,1,1,1,1,0), _SEG7('W',0,1,1,1,1,1,1), _SEG7('X',0,1,1,0,1,1,1),\
- _SEG7('Y',0,1,1,0,0,1,1), _SEG7('Z',1,1,0,1,1,0,1),
-
-#define _MAP_91_96_ASCII_SEG7_SYMBOL \
- _SEG7('[',1,0,0,1,1,1,0), _SEG7('\\',0,0,1,0,0,1,1),_SEG7(']',1,1,1,1,0,0,0),\
- _SEG7('^',1,1,0,0,0,1,0), _SEG7('_',0,0,0,1,0,0,0), _SEG7('`',0,1,0,0,0,0,0),
-
-#define _MAP_97_122_ASCII_SEG7_ALPHA_LOWER \
- _SEG7('A',1,1,1,0,1,1,1), _SEG7('b',0,0,1,1,1,1,1), _SEG7('c',0,0,0,1,1,0,1),\
- _SEG7('d',0,1,1,1,1,0,1), _SEG7('E',1,0,0,1,1,1,1), _SEG7('F',1,0,0,0,1,1,1),\
- _SEG7('G',1,1,1,1,0,1,1), _SEG7('h',0,0,1,0,1,1,1), _SEG7('i',0,0,1,0,0,0,0),\
- _SEG7('j',0,0,1,1,0,0,0), _SEG7('k',0,0,1,0,1,1,1), _SEG7('L',0,0,0,1,1,1,0),\
- _SEG7('M',1,1,1,0,1,1,0), _SEG7('n',0,0,1,0,1,0,1), _SEG7('o',0,0,1,1,1,0,1),\
- _SEG7('P',1,1,0,0,1,1,1), _SEG7('q',1,1,1,0,0,1,1), _SEG7('r',0,0,0,0,1,0,1),\
- _SEG7('S',1,0,1,1,0,1,1), _SEG7('T',0,0,0,1,1,1,1), _SEG7('u',0,0,1,1,1,0,0),\
- _SEG7('v',0,0,1,1,1,0,0), _SEG7('W',0,1,1,1,1,1,1), _SEG7('X',0,1,1,0,1,1,1),\
- _SEG7('y',0,1,1,1,0,1,1), _SEG7('Z',1,1,0,1,1,0,1),
-
-#define _MAP_123_126_ASCII_SEG7_SYMBOL \
- _SEG7('{',1,0,0,1,1,1,0), _SEG7('|',0,0,0,0,1,1,0), _SEG7('}',1,1,1,1,0,0,0),\
- _SEG7('~',1,0,0,0,0,0,0),
-
-/* Maps */
-
-/* This set tries to map as close as possible to the visible characteristics
- * of the ASCII symbol, lowercase and uppercase letters may differ in
- * presentation on the display.
- */
-#define MAP_ASCII7SEG_ALPHANUM \
- _MAP_0_32_ASCII_SEG7_NON_PRINTABLE \
- _MAP_33_47_ASCII_SEG7_SYMBOL \
- _MAP_48_57_ASCII_SEG7_NUMERIC \
- _MAP_58_64_ASCII_SEG7_SYMBOL \
- _MAP_65_90_ASCII_SEG7_ALPHA_UPPR \
- _MAP_91_96_ASCII_SEG7_SYMBOL \
- _MAP_97_122_ASCII_SEG7_ALPHA_LOWER \
- _MAP_123_126_ASCII_SEG7_SYMBOL
-
-/* This set tries to map as close as possible to the symbolic characteristics
- * of the ASCII character for maximum discrimination.
- * For now this means all alpha chars are in lower case representations.
- * (This for example facilitates the use of hex numbers with uppercase input.)
- */
-#define MAP_ASCII7SEG_ALPHANUM_LC \
- _MAP_0_32_ASCII_SEG7_NON_PRINTABLE \
- _MAP_33_47_ASCII_SEG7_SYMBOL \
- _MAP_48_57_ASCII_SEG7_NUMERIC \
- _MAP_58_64_ASCII_SEG7_SYMBOL \
- _MAP_97_122_ASCII_SEG7_ALPHA_LOWER \
- _MAP_91_96_ASCII_SEG7_SYMBOL \
- _MAP_97_122_ASCII_SEG7_ALPHA_LOWER \
- _MAP_123_126_ASCII_SEG7_SYMBOL
-
-#define SEG7_DEFAULT_MAP(_name) \
- SEG7_CONVERSION_MAP(_name,MAP_ASCII7SEG_ALPHANUM)
-
-#endif /* MAP_TO_7SEGMENT_H */
-
diff --git a/linux-headers/include/linux/matroxfb.h b/linux-headers/include/linux/matroxfb.h
deleted file mode 100644
index 8c22a89..0000000
--- a/linux-headers/include/linux/matroxfb.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef __LINUX_MATROXFB_H__
-#define __LINUX_MATROXFB_H__
-
-#include <asm/ioctl.h>
-#include <linux/types.h>
-#include <linux/videodev2.h>
-#include <linux/fb.h>
-
-struct matroxioc_output_mode {
- __u32 output; /* which output */
-#define MATROXFB_OUTPUT_PRIMARY 0x0000
-#define MATROXFB_OUTPUT_SECONDARY 0x0001
-#define MATROXFB_OUTPUT_DFP 0x0002
- __u32 mode; /* which mode */
-#define MATROXFB_OUTPUT_MODE_PAL 0x0001
-#define MATROXFB_OUTPUT_MODE_NTSC 0x0002
-#define MATROXFB_OUTPUT_MODE_MONITOR 0x0080
-};
-#define MATROXFB_SET_OUTPUT_MODE _IOW('n',0xFA,size_t)
-#define MATROXFB_GET_OUTPUT_MODE _IOWR('n',0xFA,size_t)
-
-/* bitfield */
-#define MATROXFB_OUTPUT_CONN_PRIMARY (1 << MATROXFB_OUTPUT_PRIMARY)
-#define MATROXFB_OUTPUT_CONN_SECONDARY (1 << MATROXFB_OUTPUT_SECONDARY)
-#define MATROXFB_OUTPUT_CONN_DFP (1 << MATROXFB_OUTPUT_DFP)
-/* connect these outputs to this framebuffer */
-#define MATROXFB_SET_OUTPUT_CONNECTION _IOW('n',0xF8,size_t)
-/* which outputs are connected to this framebuffer */
-#define MATROXFB_GET_OUTPUT_CONNECTION _IOR('n',0xF8,size_t)
-/* which outputs are available for this framebuffer */
-#define MATROXFB_GET_AVAILABLE_OUTPUTS _IOR('n',0xF9,size_t)
-/* which outputs exist on this framebuffer */
-#define MATROXFB_GET_ALL_OUTPUTS _IOR('n',0xFB,size_t)
-
-enum matroxfb_ctrl_id {
- MATROXFB_CID_TESTOUT = V4L2_CID_PRIVATE_BASE,
- MATROXFB_CID_DEFLICKER,
- MATROXFB_CID_LAST
-};
-
-#endif
-
diff --git a/linux-headers/include/linux/mdio.h b/linux-headers/include/linux/mdio.h
deleted file mode 100644
index 57672dd..0000000
--- a/linux-headers/include/linux/mdio.h
+++ /dev/null
@@ -1,297 +0,0 @@
-/*
- * linux/mdio.h: definitions for MDIO (clause 45) transceivers
- * Copyright 2006-2009 Solarflare Communications Inc.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published
- * by the Free Software Foundation, incorporated herein by reference.
- */
-
-#ifndef __LINUX_MDIO_H__
-#define __LINUX_MDIO_H__
-
-#include <linux/types.h>
-#include <linux/mii.h>
-
-/* MDIO Manageable Devices (MMDs). */
-#define MDIO_MMD_PMAPMD 1 /* Physical Medium Attachment/
- * Physical Medium Dependent */
-#define MDIO_MMD_WIS 2 /* WAN Interface Sublayer */
-#define MDIO_MMD_PCS 3 /* Physical Coding Sublayer */
-#define MDIO_MMD_PHYXS 4 /* PHY Extender Sublayer */
-#define MDIO_MMD_DTEXS 5 /* DTE Extender Sublayer */
-#define MDIO_MMD_TC 6 /* Transmission Convergence */
-#define MDIO_MMD_AN 7 /* Auto-Negotiation */
-#define MDIO_MMD_C22EXT 29 /* Clause 22 extension */
-#define MDIO_MMD_VEND1 30 /* Vendor specific 1 */
-#define MDIO_MMD_VEND2 31 /* Vendor specific 2 */
-
-/* Generic MDIO registers. */
-#define MDIO_CTRL1 MII_BMCR
-#define MDIO_STAT1 MII_BMSR
-#define MDIO_DEVID1 MII_PHYSID1
-#define MDIO_DEVID2 MII_PHYSID2
-#define MDIO_SPEED 4 /* Speed ability */
-#define MDIO_DEVS1 5 /* Devices in package */
-#define MDIO_DEVS2 6
-#define MDIO_CTRL2 7 /* 10G control 2 */
-#define MDIO_STAT2 8 /* 10G status 2 */
-#define MDIO_PMA_TXDIS 9 /* 10G PMA/PMD transmit disable */
-#define MDIO_PMA_RXDET 10 /* 10G PMA/PMD receive signal detect */
-#define MDIO_PMA_EXTABLE 11 /* 10G PMA/PMD extended ability */
-#define MDIO_PKGID1 14 /* Package identifier */
-#define MDIO_PKGID2 15
-#define MDIO_AN_ADVERTISE 16 /* AN advertising (base page) */
-#define MDIO_AN_LPA 19 /* AN LP abilities (base page) */
-#define MDIO_PCS_EEE_ABLE 20 /* EEE Capability register */
-#define MDIO_PCS_EEE_WK_ERR 22 /* EEE wake error counter */
-#define MDIO_PHYXS_LNSTAT 24 /* PHY XGXS lane state */
-#define MDIO_AN_EEE_ADV 60 /* EEE advertisement */
-#define MDIO_AN_EEE_LPABLE 61 /* EEE link partner ability */
-
-/* Media-dependent registers. */
-#define MDIO_PMA_10GBT_SWAPPOL 130 /* 10GBASE-T pair swap & polarity */
-#define MDIO_PMA_10GBT_TXPWR 131 /* 10GBASE-T TX power control */
-#define MDIO_PMA_10GBT_SNR 133 /* 10GBASE-T SNR margin, lane A.
- * Lanes B-D are numbered 134-136. */
-#define MDIO_PMA_10GBR_FECABLE 170 /* 10GBASE-R FEC ability */
-#define MDIO_PCS_10GBX_STAT1 24 /* 10GBASE-X PCS status 1 */
-#define MDIO_PCS_10GBRT_STAT1 32 /* 10GBASE-R/-T PCS status 1 */
-#define MDIO_PCS_10GBRT_STAT2 33 /* 10GBASE-R/-T PCS status 2 */
-#define MDIO_AN_10GBT_CTRL 32 /* 10GBASE-T auto-negotiation control */
-#define MDIO_AN_10GBT_STAT 33 /* 10GBASE-T auto-negotiation status */
-
-/* LASI (Link Alarm Status Interrupt) registers, defined by XENPAK MSA. */
-#define MDIO_PMA_LASI_RXCTRL 0x9000 /* RX_ALARM control */
-#define MDIO_PMA_LASI_TXCTRL 0x9001 /* TX_ALARM control */
-#define MDIO_PMA_LASI_CTRL 0x9002 /* LASI control */
-#define MDIO_PMA_LASI_RXSTAT 0x9003 /* RX_ALARM status */
-#define MDIO_PMA_LASI_TXSTAT 0x9004 /* TX_ALARM status */
-#define MDIO_PMA_LASI_STAT 0x9005 /* LASI status */
-
-/* Control register 1. */
-/* Enable extended speed selection */
-#define MDIO_CTRL1_SPEEDSELEXT (BMCR_SPEED1000 | BMCR_SPEED100)
-/* All speed selection bits */
-#define MDIO_CTRL1_SPEEDSEL (MDIO_CTRL1_SPEEDSELEXT | 0x003c)
-#define MDIO_CTRL1_FULLDPLX BMCR_FULLDPLX
-#define MDIO_CTRL1_LPOWER BMCR_PDOWN
-#define MDIO_CTRL1_RESET BMCR_RESET
-#define MDIO_PMA_CTRL1_LOOPBACK 0x0001
-#define MDIO_PMA_CTRL1_SPEED1000 BMCR_SPEED1000
-#define MDIO_PMA_CTRL1_SPEED100 BMCR_SPEED100
-#define MDIO_PCS_CTRL1_LOOPBACK BMCR_LOOPBACK
-#define MDIO_PHYXS_CTRL1_LOOPBACK BMCR_LOOPBACK
-#define MDIO_AN_CTRL1_RESTART BMCR_ANRESTART
-#define MDIO_AN_CTRL1_ENABLE BMCR_ANENABLE
-#define MDIO_AN_CTRL1_XNP 0x2000 /* Enable extended next page */
-#define MDIO_PCS_CTRL1_CLKSTOP_EN 0x400 /* Stop the clock during LPI */
-
-/* 10 Gb/s */
-#define MDIO_CTRL1_SPEED10G (MDIO_CTRL1_SPEEDSELEXT | 0x00)
-/* 10PASS-TS/2BASE-TL */
-#define MDIO_CTRL1_SPEED10P2B (MDIO_CTRL1_SPEEDSELEXT | 0x04)
-
-/* Status register 1. */
-#define MDIO_STAT1_LPOWERABLE 0x0002 /* Low-power ability */
-#define MDIO_STAT1_LSTATUS BMSR_LSTATUS
-#define MDIO_STAT1_FAULT 0x0080 /* Fault */
-#define MDIO_AN_STAT1_LPABLE 0x0001 /* Link partner AN ability */
-#define MDIO_AN_STAT1_ABLE BMSR_ANEGCAPABLE
-#define MDIO_AN_STAT1_RFAULT BMSR_RFAULT
-#define MDIO_AN_STAT1_COMPLETE BMSR_ANEGCOMPLETE
-#define MDIO_AN_STAT1_PAGE 0x0040 /* Page received */
-#define MDIO_AN_STAT1_XNP 0x0080 /* Extended next page status */
-
-/* Speed register. */
-#define MDIO_SPEED_10G 0x0001 /* 10G capable */
-#define MDIO_PMA_SPEED_2B 0x0002 /* 2BASE-TL capable */
-#define MDIO_PMA_SPEED_10P 0x0004 /* 10PASS-TS capable */
-#define MDIO_PMA_SPEED_1000 0x0010 /* 1000M capable */
-#define MDIO_PMA_SPEED_100 0x0020 /* 100M capable */
-#define MDIO_PMA_SPEED_10 0x0040 /* 10M capable */
-#define MDIO_PCS_SPEED_10P2B 0x0002 /* 10PASS-TS/2BASE-TL capable */
-
-/* Device present registers. */
-#define MDIO_DEVS_PRESENT(devad) (1 << (devad))
-#define MDIO_DEVS_PMAPMD MDIO_DEVS_PRESENT(MDIO_MMD_PMAPMD)
-#define MDIO_DEVS_WIS MDIO_DEVS_PRESENT(MDIO_MMD_WIS)
-#define MDIO_DEVS_PCS MDIO_DEVS_PRESENT(MDIO_MMD_PCS)
-#define MDIO_DEVS_PHYXS MDIO_DEVS_PRESENT(MDIO_MMD_PHYXS)
-#define MDIO_DEVS_DTEXS MDIO_DEVS_PRESENT(MDIO_MMD_DTEXS)
-#define MDIO_DEVS_TC MDIO_DEVS_PRESENT(MDIO_MMD_TC)
-#define MDIO_DEVS_AN MDIO_DEVS_PRESENT(MDIO_MMD_AN)
-#define MDIO_DEVS_C22EXT MDIO_DEVS_PRESENT(MDIO_MMD_C22EXT)
-
-/* Control register 2. */
-#define MDIO_PMA_CTRL2_TYPE 0x000f /* PMA/PMD type selection */
-#define MDIO_PMA_CTRL2_10GBCX4 0x0000 /* 10GBASE-CX4 type */
-#define MDIO_PMA_CTRL2_10GBEW 0x0001 /* 10GBASE-EW type */
-#define MDIO_PMA_CTRL2_10GBLW 0x0002 /* 10GBASE-LW type */
-#define MDIO_PMA_CTRL2_10GBSW 0x0003 /* 10GBASE-SW type */
-#define MDIO_PMA_CTRL2_10GBLX4 0x0004 /* 10GBASE-LX4 type */
-#define MDIO_PMA_CTRL2_10GBER 0x0005 /* 10GBASE-ER type */
-#define MDIO_PMA_CTRL2_10GBLR 0x0006 /* 10GBASE-LR type */
-#define MDIO_PMA_CTRL2_10GBSR 0x0007 /* 10GBASE-SR type */
-#define MDIO_PMA_CTRL2_10GBLRM 0x0008 /* 10GBASE-LRM type */
-#define MDIO_PMA_CTRL2_10GBT 0x0009 /* 10GBASE-T type */
-#define MDIO_PMA_CTRL2_10GBKX4 0x000a /* 10GBASE-KX4 type */
-#define MDIO_PMA_CTRL2_10GBKR 0x000b /* 10GBASE-KR type */
-#define MDIO_PMA_CTRL2_1000BT 0x000c /* 1000BASE-T type */
-#define MDIO_PMA_CTRL2_1000BKX 0x000d /* 1000BASE-KX type */
-#define MDIO_PMA_CTRL2_100BTX 0x000e /* 100BASE-TX type */
-#define MDIO_PMA_CTRL2_10BT 0x000f /* 10BASE-T type */
-#define MDIO_PCS_CTRL2_TYPE 0x0003 /* PCS type selection */
-#define MDIO_PCS_CTRL2_10GBR 0x0000 /* 10GBASE-R type */
-#define MDIO_PCS_CTRL2_10GBX 0x0001 /* 10GBASE-X type */
-#define MDIO_PCS_CTRL2_10GBW 0x0002 /* 10GBASE-W type */
-#define MDIO_PCS_CTRL2_10GBT 0x0003 /* 10GBASE-T type */
-
-/* Status register 2. */
-#define MDIO_STAT2_RXFAULT 0x0400 /* Receive fault */
-#define MDIO_STAT2_TXFAULT 0x0800 /* Transmit fault */
-#define MDIO_STAT2_DEVPRST 0xc000 /* Device present */
-#define MDIO_STAT2_DEVPRST_VAL 0x8000 /* Device present value */
-#define MDIO_PMA_STAT2_LBABLE 0x0001 /* PMA loopback ability */
-#define MDIO_PMA_STAT2_10GBEW 0x0002 /* 10GBASE-EW ability */
-#define MDIO_PMA_STAT2_10GBLW 0x0004 /* 10GBASE-LW ability */
-#define MDIO_PMA_STAT2_10GBSW 0x0008 /* 10GBASE-SW ability */
-#define MDIO_PMA_STAT2_10GBLX4 0x0010 /* 10GBASE-LX4 ability */
-#define MDIO_PMA_STAT2_10GBER 0x0020 /* 10GBASE-ER ability */
-#define MDIO_PMA_STAT2_10GBLR 0x0040 /* 10GBASE-LR ability */
-#define MDIO_PMA_STAT2_10GBSR 0x0080 /* 10GBASE-SR ability */
-#define MDIO_PMD_STAT2_TXDISAB 0x0100 /* PMD TX disable ability */
-#define MDIO_PMA_STAT2_EXTABLE 0x0200 /* Extended abilities */
-#define MDIO_PMA_STAT2_RXFLTABLE 0x1000 /* Receive fault ability */
-#define MDIO_PMA_STAT2_TXFLTABLE 0x2000 /* Transmit fault ability */
-#define MDIO_PCS_STAT2_10GBR 0x0001 /* 10GBASE-R capable */
-#define MDIO_PCS_STAT2_10GBX 0x0002 /* 10GBASE-X capable */
-#define MDIO_PCS_STAT2_10GBW 0x0004 /* 10GBASE-W capable */
-#define MDIO_PCS_STAT2_RXFLTABLE 0x1000 /* Receive fault ability */
-#define MDIO_PCS_STAT2_TXFLTABLE 0x2000 /* Transmit fault ability */
-
-/* Transmit disable register. */
-#define MDIO_PMD_TXDIS_GLOBAL 0x0001 /* Global PMD TX disable */
-#define MDIO_PMD_TXDIS_0 0x0002 /* PMD TX disable 0 */
-#define MDIO_PMD_TXDIS_1 0x0004 /* PMD TX disable 1 */
-#define MDIO_PMD_TXDIS_2 0x0008 /* PMD TX disable 2 */
-#define MDIO_PMD_TXDIS_3 0x0010 /* PMD TX disable 3 */
-
-/* Receive signal detect register. */
-#define MDIO_PMD_RXDET_GLOBAL 0x0001 /* Global PMD RX signal detect */
-#define MDIO_PMD_RXDET_0 0x0002 /* PMD RX signal detect 0 */
-#define MDIO_PMD_RXDET_1 0x0004 /* PMD RX signal detect 1 */
-#define MDIO_PMD_RXDET_2 0x0008 /* PMD RX signal detect 2 */
-#define MDIO_PMD_RXDET_3 0x0010 /* PMD RX signal detect 3 */
-
-/* Extended abilities register. */
-#define MDIO_PMA_EXTABLE_10GCX4 0x0001 /* 10GBASE-CX4 ability */
-#define MDIO_PMA_EXTABLE_10GBLRM 0x0002 /* 10GBASE-LRM ability */
-#define MDIO_PMA_EXTABLE_10GBT 0x0004 /* 10GBASE-T ability */
-#define MDIO_PMA_EXTABLE_10GBKX4 0x0008 /* 10GBASE-KX4 ability */
-#define MDIO_PMA_EXTABLE_10GBKR 0x0010 /* 10GBASE-KR ability */
-#define MDIO_PMA_EXTABLE_1000BT 0x0020 /* 1000BASE-T ability */
-#define MDIO_PMA_EXTABLE_1000BKX 0x0040 /* 1000BASE-KX ability */
-#define MDIO_PMA_EXTABLE_100BTX 0x0080 /* 100BASE-TX ability */
-#define MDIO_PMA_EXTABLE_10BT 0x0100 /* 10BASE-T ability */
-
-/* PHY XGXS lane state register. */
-#define MDIO_PHYXS_LNSTAT_SYNC0 0x0001
-#define MDIO_PHYXS_LNSTAT_SYNC1 0x0002
-#define MDIO_PHYXS_LNSTAT_SYNC2 0x0004
-#define MDIO_PHYXS_LNSTAT_SYNC3 0x0008
-#define MDIO_PHYXS_LNSTAT_ALIGN 0x1000
-
-/* PMA 10GBASE-T pair swap & polarity */
-#define MDIO_PMA_10GBT_SWAPPOL_ABNX 0x0001 /* Pair A/B uncrossed */
-#define MDIO_PMA_10GBT_SWAPPOL_CDNX 0x0002 /* Pair C/D uncrossed */
-#define MDIO_PMA_10GBT_SWAPPOL_AREV 0x0100 /* Pair A polarity reversed */
-#define MDIO_PMA_10GBT_SWAPPOL_BREV 0x0200 /* Pair B polarity reversed */
-#define MDIO_PMA_10GBT_SWAPPOL_CREV 0x0400 /* Pair C polarity reversed */
-#define MDIO_PMA_10GBT_SWAPPOL_DREV 0x0800 /* Pair D polarity reversed */
-
-/* PMA 10GBASE-T TX power register. */
-#define MDIO_PMA_10GBT_TXPWR_SHORT 0x0001 /* Short-reach mode */
-
-/* PMA 10GBASE-T SNR registers. */
-/* Value is SNR margin in dB, clamped to range [-127, 127], plus 0x8000. */
-#define MDIO_PMA_10GBT_SNR_BIAS 0x8000
-#define MDIO_PMA_10GBT_SNR_MAX 127
-
-/* PMA 10GBASE-R FEC ability register. */
-#define MDIO_PMA_10GBR_FECABLE_ABLE 0x0001 /* FEC ability */
-#define MDIO_PMA_10GBR_FECABLE_ERRABLE 0x0002 /* FEC error indic. ability */
-
-/* PCS 10GBASE-R/-T status register 1. */
-#define MDIO_PCS_10GBRT_STAT1_BLKLK 0x0001 /* Block lock attained */
-
-/* PCS 10GBASE-R/-T status register 2. */
-#define MDIO_PCS_10GBRT_STAT2_ERR 0x00ff
-#define MDIO_PCS_10GBRT_STAT2_BER 0x3f00
-
-/* AN 10GBASE-T control register. */
-#define MDIO_AN_10GBT_CTRL_ADV10G 0x1000 /* Advertise 10GBASE-T */
-
-/* AN 10GBASE-T status register. */
-#define MDIO_AN_10GBT_STAT_LPTRR 0x0200 /* LP training reset req. */
-#define MDIO_AN_10GBT_STAT_LPLTABLE 0x0400 /* LP loop timing ability */
-#define MDIO_AN_10GBT_STAT_LP10G 0x0800 /* LP is 10GBT capable */
-#define MDIO_AN_10GBT_STAT_REMOK 0x1000 /* Remote OK */
-#define MDIO_AN_10GBT_STAT_LOCOK 0x2000 /* Local OK */
-#define MDIO_AN_10GBT_STAT_MS 0x4000 /* Master/slave config */
-#define MDIO_AN_10GBT_STAT_MSFLT 0x8000 /* Master/slave config fault */
-
-/* EEE Supported/Advertisement/LP Advertisement registers.
- *
- * EEE capability Register (3.20), Advertisement (7.60) and
- * Link partner ability (7.61) registers have and can use the same identical
- * bit masks.
- */
-#define MDIO_AN_EEE_ADV_100TX 0x0002 /* Advertise 100TX EEE cap */
-#define MDIO_AN_EEE_ADV_1000T 0x0004 /* Advertise 1000T EEE cap */
-/* Note: the two defines above can be potentially used by the user-land
- * and cannot remove them now.
- * So, we define the new generic MDIO_EEE_100TX and MDIO_EEE_1000T macros
- * using the previous ones (that can be considered obsolete).
- */
-#define MDIO_EEE_100TX MDIO_AN_EEE_ADV_100TX /* 100TX EEE cap */
-#define MDIO_EEE_1000T MDIO_AN_EEE_ADV_1000T /* 1000T EEE cap */
-#define MDIO_EEE_10GT 0x0008 /* 10GT EEE cap */
-#define MDIO_EEE_1000KX 0x0010 /* 1000KX EEE cap */
-#define MDIO_EEE_10GKX4 0x0020 /* 10G KX4 EEE cap */
-#define MDIO_EEE_10GKR 0x0040 /* 10G KR EEE cap */
-
-/* LASI RX_ALARM control/status registers. */
-#define MDIO_PMA_LASI_RX_PHYXSLFLT 0x0001 /* PHY XS RX local fault */
-#define MDIO_PMA_LASI_RX_PCSLFLT 0x0008 /* PCS RX local fault */
-#define MDIO_PMA_LASI_RX_PMALFLT 0x0010 /* PMA/PMD RX local fault */
-#define MDIO_PMA_LASI_RX_OPTICPOWERFLT 0x0020 /* RX optical power fault */
-#define MDIO_PMA_LASI_RX_WISLFLT 0x0200 /* WIS local fault */
-
-/* LASI TX_ALARM control/status registers. */
-#define MDIO_PMA_LASI_TX_PHYXSLFLT 0x0001 /* PHY XS TX local fault */
-#define MDIO_PMA_LASI_TX_PCSLFLT 0x0008 /* PCS TX local fault */
-#define MDIO_PMA_LASI_TX_PMALFLT 0x0010 /* PMA/PMD TX local fault */
-#define MDIO_PMA_LASI_TX_LASERPOWERFLT 0x0080 /* Laser output power fault */
-#define MDIO_PMA_LASI_TX_LASERTEMPFLT 0x0100 /* Laser temperature fault */
-#define MDIO_PMA_LASI_TX_LASERBICURRFLT 0x0200 /* Laser bias current fault */
-
-/* LASI control/status registers. */
-#define MDIO_PMA_LASI_LSALARM 0x0001 /* LS_ALARM enable/status */
-#define MDIO_PMA_LASI_TXALARM 0x0002 /* TX_ALARM enable/status */
-#define MDIO_PMA_LASI_RXALARM 0x0004 /* RX_ALARM enable/status */
-
-/* Mapping between MDIO PRTAD/DEVAD and mii_ioctl_data::phy_id */
-
-#define MDIO_PHY_ID_C45 0x8000
-#define MDIO_PHY_ID_PRTAD 0x03e0
-#define MDIO_PHY_ID_DEVAD 0x001f
-#define MDIO_PHY_ID_C45_MASK \
- (MDIO_PHY_ID_C45 | MDIO_PHY_ID_PRTAD | MDIO_PHY_ID_DEVAD)
-
-static __inline__ __u16 mdio_phy_id_c45(int prtad, int devad)
-{
- return MDIO_PHY_ID_C45 | (prtad << 5) | devad;
-}
-
-#endif /* __LINUX_MDIO_H__ */
diff --git a/linux-headers/include/linux/media-bus-format.h b/linux-headers/include/linux/media-bus-format.h
deleted file mode 100644
index 190d491..0000000
--- a/linux-headers/include/linux/media-bus-format.h
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Media Bus API header
- *
- * Copyright (C) 2009, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#ifndef __LINUX_MEDIA_BUS_FORMAT_H
-#define __LINUX_MEDIA_BUS_FORMAT_H
-
-/*
- * These bus formats uniquely identify data formats on the data bus. Format 0
- * is reserved, MEDIA_BUS_FMT_FIXED shall be used by host-client pairs, where
- * the data format is fixed. Additionally, "2X8" means that one pixel is
- * transferred in two 8-bit samples, "BE" or "LE" specify in which order those
- * samples are transferred over the bus: "LE" means that the least significant
- * bits are transferred first, "BE" means that the most significant bits are
- * transferred first, and "PADHI" and "PADLO" define which bits - low or high,
- * in the incomplete high byte, are filled with padding bits.
- *
- * The bus formats are grouped by type, bus_width, bits per component, samples
- * per pixel and order of subsamples. Numerical values are sorted using generic
- * numerical sort order (8 thus comes before 10).
- *
- * As their value can't change when a new bus format is inserted in the
- * enumeration, the bus formats are explicitly given a numerical value. The next
- * free values for each category are listed below, update them when inserting
- * new pixel codes.
- */
-
-#define MEDIA_BUS_FMT_FIXED 0x0001
-
-/* RGB - next is 0x1018 */
-#define MEDIA_BUS_FMT_RGB444_1X12 0x1016
-#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_BE 0x1001
-#define MEDIA_BUS_FMT_RGB444_2X8_PADHI_LE 0x1002
-#define MEDIA_BUS_FMT_RGB555_2X8_PADHI_BE 0x1003
-#define MEDIA_BUS_FMT_RGB555_2X8_PADHI_LE 0x1004
-#define MEDIA_BUS_FMT_RGB565_1X16 0x1017
-#define MEDIA_BUS_FMT_BGR565_2X8_BE 0x1005
-#define MEDIA_BUS_FMT_BGR565_2X8_LE 0x1006
-#define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007
-#define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008
-#define MEDIA_BUS_FMT_RGB666_1X18 0x1009
-#define MEDIA_BUS_FMT_RBG888_1X24 0x100e
-#define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015
-#define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010
-#define MEDIA_BUS_FMT_BGR888_1X24 0x1013
-#define MEDIA_BUS_FMT_GBR888_1X24 0x1014
-#define MEDIA_BUS_FMT_RGB888_1X24 0x100a
-#define MEDIA_BUS_FMT_RGB888_2X12_BE 0x100b
-#define MEDIA_BUS_FMT_RGB888_2X12_LE 0x100c
-#define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG 0x1011
-#define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA 0x1012
-#define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d
-#define MEDIA_BUS_FMT_RGB888_1X32_PADHI 0x100f
-
-/* YUV (including grey) - next is 0x2026 */
-#define MEDIA_BUS_FMT_Y8_1X8 0x2001
-#define MEDIA_BUS_FMT_UV8_1X8 0x2015
-#define MEDIA_BUS_FMT_UYVY8_1_5X8 0x2002
-#define MEDIA_BUS_FMT_VYUY8_1_5X8 0x2003
-#define MEDIA_BUS_FMT_YUYV8_1_5X8 0x2004
-#define MEDIA_BUS_FMT_YVYU8_1_5X8 0x2005
-#define MEDIA_BUS_FMT_UYVY8_2X8 0x2006
-#define MEDIA_BUS_FMT_VYUY8_2X8 0x2007
-#define MEDIA_BUS_FMT_YUYV8_2X8 0x2008
-#define MEDIA_BUS_FMT_YVYU8_2X8 0x2009
-#define MEDIA_BUS_FMT_Y10_1X10 0x200a
-#define MEDIA_BUS_FMT_UYVY10_2X10 0x2018
-#define MEDIA_BUS_FMT_VYUY10_2X10 0x2019
-#define MEDIA_BUS_FMT_YUYV10_2X10 0x200b
-#define MEDIA_BUS_FMT_YVYU10_2X10 0x200c
-#define MEDIA_BUS_FMT_Y12_1X12 0x2013
-#define MEDIA_BUS_FMT_UYVY12_2X12 0x201c
-#define MEDIA_BUS_FMT_VYUY12_2X12 0x201d
-#define MEDIA_BUS_FMT_YUYV12_2X12 0x201e
-#define MEDIA_BUS_FMT_YVYU12_2X12 0x201f
-#define MEDIA_BUS_FMT_UYVY8_1X16 0x200f
-#define MEDIA_BUS_FMT_VYUY8_1X16 0x2010
-#define MEDIA_BUS_FMT_YUYV8_1X16 0x2011
-#define MEDIA_BUS_FMT_YVYU8_1X16 0x2012
-#define MEDIA_BUS_FMT_YDYUYDYV8_1X16 0x2014
-#define MEDIA_BUS_FMT_UYVY10_1X20 0x201a
-#define MEDIA_BUS_FMT_VYUY10_1X20 0x201b
-#define MEDIA_BUS_FMT_YUYV10_1X20 0x200d
-#define MEDIA_BUS_FMT_YVYU10_1X20 0x200e
-#define MEDIA_BUS_FMT_VUY8_1X24 0x2024
-#define MEDIA_BUS_FMT_YUV8_1X24 0x2025
-#define MEDIA_BUS_FMT_UYVY12_1X24 0x2020
-#define MEDIA_BUS_FMT_VYUY12_1X24 0x2021
-#define MEDIA_BUS_FMT_YUYV12_1X24 0x2022
-#define MEDIA_BUS_FMT_YVYU12_1X24 0x2023
-#define MEDIA_BUS_FMT_YUV10_1X30 0x2016
-#define MEDIA_BUS_FMT_AYUV8_1X32 0x2017
-
-/* Bayer - next is 0x3019 */
-#define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001
-#define MEDIA_BUS_FMT_SGBRG8_1X8 0x3013
-#define MEDIA_BUS_FMT_SGRBG8_1X8 0x3002
-#define MEDIA_BUS_FMT_SRGGB8_1X8 0x3014
-#define MEDIA_BUS_FMT_SBGGR10_ALAW8_1X8 0x3015
-#define MEDIA_BUS_FMT_SGBRG10_ALAW8_1X8 0x3016
-#define MEDIA_BUS_FMT_SGRBG10_ALAW8_1X8 0x3017
-#define MEDIA_BUS_FMT_SRGGB10_ALAW8_1X8 0x3018
-#define MEDIA_BUS_FMT_SBGGR10_DPCM8_1X8 0x300b
-#define MEDIA_BUS_FMT_SGBRG10_DPCM8_1X8 0x300c
-#define MEDIA_BUS_FMT_SGRBG10_DPCM8_1X8 0x3009
-#define MEDIA_BUS_FMT_SRGGB10_DPCM8_1X8 0x300d
-#define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_BE 0x3003
-#define MEDIA_BUS_FMT_SBGGR10_2X8_PADHI_LE 0x3004
-#define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_BE 0x3005
-#define MEDIA_BUS_FMT_SBGGR10_2X8_PADLO_LE 0x3006
-#define MEDIA_BUS_FMT_SBGGR10_1X10 0x3007
-#define MEDIA_BUS_FMT_SGBRG10_1X10 0x300e
-#define MEDIA_BUS_FMT_SGRBG10_1X10 0x300a
-#define MEDIA_BUS_FMT_SRGGB10_1X10 0x300f
-#define MEDIA_BUS_FMT_SBGGR12_1X12 0x3008
-#define MEDIA_BUS_FMT_SGBRG12_1X12 0x3010
-#define MEDIA_BUS_FMT_SGRBG12_1X12 0x3011
-#define MEDIA_BUS_FMT_SRGGB12_1X12 0x3012
-
-/* JPEG compressed formats - next is 0x4002 */
-#define MEDIA_BUS_FMT_JPEG_1X8 0x4001
-
-/* Vendor specific formats - next is 0x5002 */
-
-/* S5C73M3 sensor specific interleaved UYVY and JPEG */
-#define MEDIA_BUS_FMT_S5C_UYVY_JPEG_1X8 0x5001
-
-/* HSV - next is 0x6002 */
-#define MEDIA_BUS_FMT_AHSV8888_1X32 0x6001
-
-#endif /* __LINUX_MEDIA_BUS_FORMAT_H */
diff --git a/linux-headers/include/linux/media.h b/linux-headers/include/linux/media.h
deleted file mode 100644
index 64e749f..0000000
--- a/linux-headers/include/linux/media.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/*
- * Multimedia device API
- *
- * Copyright (C) 2010 Nokia Corporation
- *
- * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
- * Sakari Ailus <sakari.ailus@iki.fi>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef __LINUX_MEDIA_H
-#define __LINUX_MEDIA_H
-
-#include <stdint.h>
-#include <linux/ioctl.h>
-#include <linux/types.h>
-#include <linux/version.h>
-
-#define MEDIA_API_VERSION KERNEL_VERSION(0, 1, 0)
-
-struct media_device_info {
- char driver[16];
- char model[32];
- char serial[40];
- char bus_info[32];
- __u32 media_version;
- __u32 hw_revision;
- __u32 driver_version;
- __u32 reserved[31];
-};
-
-#define MEDIA_ENT_ID_FLAG_NEXT (1 << 31)
-
-/*
- * Initial value to be used when a new entity is created
- * Drivers should change it to something useful
- */
-#define MEDIA_ENT_F_UNKNOWN 0x00000000
-
-/*
- * Base number ranges for entity functions
- *
- * NOTE: those ranges and entity function number are phased just to
- * make it easier to maintain this file. Userspace should not rely on
- * the ranges to identify a group of function types, as newer
- * functions can be added with any name within the full u32 range.
- */
-#define MEDIA_ENT_F_BASE 0x00000000
-#define MEDIA_ENT_F_OLD_BASE 0x00010000
-#define MEDIA_ENT_F_OLD_SUBDEV_BASE 0x00020000
-
-/*
- * DVB entities
- */
-#define MEDIA_ENT_F_DTV_DEMOD (MEDIA_ENT_F_BASE + 0x00001)
-#define MEDIA_ENT_F_TS_DEMUX (MEDIA_ENT_F_BASE + 0x00002)
-#define MEDIA_ENT_F_DTV_CA (MEDIA_ENT_F_BASE + 0x00003)
-#define MEDIA_ENT_F_DTV_NET_DECAP (MEDIA_ENT_F_BASE + 0x00004)
-
-/*
- * I/O entities
- */
-#define MEDIA_ENT_F_IO_DTV (MEDIA_ENT_F_BASE + 0x01001)
-#define MEDIA_ENT_F_IO_VBI (MEDIA_ENT_F_BASE + 0x01002)
-#define MEDIA_ENT_F_IO_SWRADIO (MEDIA_ENT_F_BASE + 0x01003)
-
-/*
- * Analog TV IF-PLL decoders
- *
- * It is a responsibility of the master/bridge drivers to create links
- * for MEDIA_ENT_F_IF_VID_DECODER and MEDIA_ENT_F_IF_AUD_DECODER.
- */
-#define MEDIA_ENT_F_IF_VID_DECODER (MEDIA_ENT_F_BASE + 0x02001)
-#define MEDIA_ENT_F_IF_AUD_DECODER (MEDIA_ENT_F_BASE + 0x02002)
-
-/*
- * Audio Entity Functions
- */
-#define MEDIA_ENT_F_AUDIO_CAPTURE (MEDIA_ENT_F_BASE + 0x03001)
-#define MEDIA_ENT_F_AUDIO_PLAYBACK (MEDIA_ENT_F_BASE + 0x03002)
-#define MEDIA_ENT_F_AUDIO_MIXER (MEDIA_ENT_F_BASE + 0x03003)
-
-/*
- * Connectors
- */
-/* It is a responsibility of the entity drivers to add connectors and links */
-
-/*
- * Don't touch on those. The ranges MEDIA_ENT_F_OLD_BASE and
- * MEDIA_ENT_F_OLD_SUBDEV_BASE are kept to keep backward compatibility
- * with the legacy v1 API.The number range is out of range by purpose:
- * several previously reserved numbers got excluded from this range.
- *
- * Subdevs are initialized with MEDIA_ENT_T_V4L2_SUBDEV_UNKNOWN,
- * in order to preserve backward compatibility.
- * Drivers must change to the proper subdev type before
- * registering the entity.
- */
-
-#define MEDIA_ENT_F_IO_V4L (MEDIA_ENT_F_OLD_BASE + 1)
-
-#define MEDIA_ENT_F_CAM_SENSOR (MEDIA_ENT_F_OLD_SUBDEV_BASE + 1)
-#define MEDIA_ENT_F_FLASH (MEDIA_ENT_F_OLD_SUBDEV_BASE + 2)
-#define MEDIA_ENT_F_LENS (MEDIA_ENT_F_OLD_SUBDEV_BASE + 3)
-#define MEDIA_ENT_F_ATV_DECODER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 4)
-/*
- * It is a responsibility of the master/bridge drivers to add connectors
- * and links for MEDIA_ENT_F_TUNER. Please notice that some old tuners
- * may require the usage of separate I2C chips to decode analog TV signals,
- * when the master/bridge chipset doesn't have its own TV standard decoder.
- * On such cases, the IF-PLL staging is mapped via one or two entities:
- * MEDIA_ENT_F_IF_VID_DECODER and/or MEDIA_ENT_F_IF_AUD_DECODER.
- */
-#define MEDIA_ENT_F_TUNER (MEDIA_ENT_F_OLD_SUBDEV_BASE + 5)
-
-#define MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN MEDIA_ENT_F_OLD_SUBDEV_BASE
-
-
-/*
- * Legacy symbols used to avoid userspace compilation breakages
- *
- * Those symbols map the entity function into types and should be
- * used only on legacy programs for legacy hardware. Don't rely
- * on those for MEDIA_IOC_G_TOPOLOGY.
- */
-#define MEDIA_ENT_TYPE_SHIFT 16
-#define MEDIA_ENT_TYPE_MASK 0x00ff0000
-#define MEDIA_ENT_SUBTYPE_MASK 0x0000ffff
-
-/* End of the old subdev reserved numberspace */
-#define MEDIA_ENT_T_DEVNODE_UNKNOWN (MEDIA_ENT_T_DEVNODE | \
- MEDIA_ENT_SUBTYPE_MASK)
-
-#define MEDIA_ENT_T_DEVNODE MEDIA_ENT_F_OLD_BASE
-#define MEDIA_ENT_T_DEVNODE_V4L MEDIA_ENT_F_IO_V4L
-#define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2)
-#define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3)
-#define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4)
-
-#define MEDIA_ENT_T_UNKNOWN MEDIA_ENT_F_UNKNOWN
-#define MEDIA_ENT_T_V4L2_VIDEO MEDIA_ENT_F_IO_V4L
-#define MEDIA_ENT_T_V4L2_SUBDEV MEDIA_ENT_F_V4L2_SUBDEV_UNKNOWN
-#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR MEDIA_ENT_F_CAM_SENSOR
-#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH MEDIA_ENT_F_FLASH
-#define MEDIA_ENT_T_V4L2_SUBDEV_LENS MEDIA_ENT_F_LENS
-#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER MEDIA_ENT_F_ATV_DECODER
-#define MEDIA_ENT_T_V4L2_SUBDEV_TUNER MEDIA_ENT_F_TUNER
-
-/* Entity flags */
-#define MEDIA_ENT_FL_DEFAULT (1 << 0)
-#define MEDIA_ENT_FL_CONNECTOR (1 << 1)
-
-struct media_entity_desc {
- __u32 id;
- char name[32];
- __u32 type;
- __u32 revision;
- __u32 flags;
- __u32 group_id;
- __u16 pads;
- __u16 links;
-
- __u32 reserved[4];
-
- union {
- /* Node specifications */
- struct {
- __u32 major;
- __u32 minor;
- } dev;
-
-#if 1
- /*
- * TODO: this shouldn't have been added without
- * actual drivers that use this. When the first real driver
- * appears that sets this information, special attention
- * should be given whether this information is 1) enough, and
- * 2) can deal with udev rules that rename devices. The struct
- * dev would not be sufficient for this since that does not
- * contain the subdevice information. In addition, struct dev
- * can only refer to a single device, and not to multiple (e.g.
- * pcm and mixer devices).
- *
- * So for now mark this as a to do.
- */
- struct {
- __u32 card;
- __u32 device;
- __u32 subdevice;
- } alsa;
-#endif
-
-#if 1
- /*
- * DEPRECATED: previous node specifications. Kept just to
- * avoid breaking compilation, but media_entity_desc.dev
- * should be used instead. In particular, alsa and dvb
- * fields below are wrong: for all devnodes, there should
- * be just major/minor inside the struct, as this is enough
- * to represent any devnode, no matter what type.
- */
- struct {
- __u32 major;
- __u32 minor;
- } v4l;
- struct {
- __u32 major;
- __u32 minor;
- } fb;
- int dvb;
-#endif
-
- /* Sub-device specifications */
- /* Nothing needed yet */
- __u8 raw[184];
- };
-};
-
-#define MEDIA_PAD_FL_SINK (1 << 0)
-#define MEDIA_PAD_FL_SOURCE (1 << 1)
-#define MEDIA_PAD_FL_MUST_CONNECT (1 << 2)
-
-struct media_pad_desc {
- __u32 entity; /* entity ID */
- __u16 index; /* pad index */
- __u32 flags; /* pad flags */
- __u32 reserved[2];
-};
-
-#define MEDIA_LNK_FL_ENABLED (1 << 0)
-#define MEDIA_LNK_FL_IMMUTABLE (1 << 1)
-#define MEDIA_LNK_FL_DYNAMIC (1 << 2)
-
-#define MEDIA_LNK_FL_LINK_TYPE (0xf << 28)
-# define MEDIA_LNK_FL_DATA_LINK (0 << 28)
-# define MEDIA_LNK_FL_INTERFACE_LINK (1 << 28)
-
-struct media_link_desc {
- struct media_pad_desc source;
- struct media_pad_desc sink;
- __u32 flags;
- __u32 reserved[2];
-};
-
-struct media_links_enum {
- __u32 entity;
- /* Should have enough room for pads elements */
- struct media_pad_desc *pads;
- /* Should have enough room for links elements */
- struct media_link_desc *links;
- __u32 reserved[4];
-};
-
-/* Interface type ranges */
-
-#define MEDIA_INTF_T_DVB_BASE 0x00000100
-#define MEDIA_INTF_T_V4L_BASE 0x00000200
-#define MEDIA_INTF_T_ALSA_BASE 0x00000300
-
-/* Interface types */
-
-#define MEDIA_INTF_T_DVB_FE (MEDIA_INTF_T_DVB_BASE)
-#define MEDIA_INTF_T_DVB_DEMUX (MEDIA_INTF_T_DVB_BASE + 1)
-#define MEDIA_INTF_T_DVB_DVR (MEDIA_INTF_T_DVB_BASE + 2)
-#define MEDIA_INTF_T_DVB_CA (MEDIA_INTF_T_DVB_BASE + 3)
-#define MEDIA_INTF_T_DVB_NET (MEDIA_INTF_T_DVB_BASE + 4)
-
-#define MEDIA_INTF_T_V4L_VIDEO (MEDIA_INTF_T_V4L_BASE)
-#define MEDIA_INTF_T_V4L_VBI (MEDIA_INTF_T_V4L_BASE + 1)
-#define MEDIA_INTF_T_V4L_RADIO (MEDIA_INTF_T_V4L_BASE + 2)
-#define MEDIA_INTF_T_V4L_SUBDEV (MEDIA_INTF_T_V4L_BASE + 3)
-#define MEDIA_INTF_T_V4L_SWRADIO (MEDIA_INTF_T_V4L_BASE + 4)
-
-#define MEDIA_INTF_T_ALSA_PCM_CAPTURE (MEDIA_INTF_T_ALSA_BASE)
-#define MEDIA_INTF_T_ALSA_PCM_PLAYBACK (MEDIA_INTF_T_ALSA_BASE + 1)
-#define MEDIA_INTF_T_ALSA_CONTROL (MEDIA_INTF_T_ALSA_BASE + 2)
-#define MEDIA_INTF_T_ALSA_COMPRESS (MEDIA_INTF_T_ALSA_BASE + 3)
-#define MEDIA_INTF_T_ALSA_RAWMIDI (MEDIA_INTF_T_ALSA_BASE + 4)
-#define MEDIA_INTF_T_ALSA_HWDEP (MEDIA_INTF_T_ALSA_BASE + 5)
-#define MEDIA_INTF_T_ALSA_SEQUENCER (MEDIA_INTF_T_ALSA_BASE + 6)
-#define MEDIA_INTF_T_ALSA_TIMER (MEDIA_INTF_T_ALSA_BASE + 7)
-
-/*
- * MC next gen API definitions
- *
- * NOTE: The declarations below are close to the MC RFC for the Media
- * Controller, the next generation. Yet, there are a few adjustments
- * to do, as we want to be able to have a functional API before
- * the MC properties change. Those will be properly marked below.
- * Please also notice that I removed "num_pads", "num_links",
- * from the proposal, as a proper userspace application will likely
- * use lists for pads/links, just as we intend to do in Kernelspace.
- * The API definition should be freed from fields that are bound to
- * some specific data structure.
- *
- * FIXME: Currently, I opted to name the new types as "media_v2", as this
- * won't cause any conflict with the Kernelspace namespace, nor with
- * the previous kAPI media_*_desc namespace. This can be changed
- * later, before the adding this API upstream.
- */
-
-
-struct media_v2_entity {
- __u32 id;
- char name[64]; /* FIXME: move to a property? (RFC says so) */
- __u32 function; /* Main function of the entity */
- __u32 reserved[6];
-} __attribute__ ((packed));
-
-/* Should match the specific fields at media_intf_devnode */
-struct media_v2_intf_devnode {
- __u32 major;
- __u32 minor;
-} __attribute__ ((packed));
-
-struct media_v2_interface {
- __u32 id;
- __u32 intf_type;
- __u32 flags;
- __u32 reserved[9];
-
- union {
- struct media_v2_intf_devnode devnode;
- __u32 raw[16];
- };
-} __attribute__ ((packed));
-
-struct media_v2_pad {
- __u32 id;
- __u32 entity_id;
- __u32 flags;
- __u32 reserved[5];
-} __attribute__ ((packed));
-
-struct media_v2_link {
- __u32 id;
- __u32 source_id;
- __u32 sink_id;
- __u32 flags;
- __u32 reserved[6];
-} __attribute__ ((packed));
-
-struct media_v2_topology {
- __u64 topology_version;
-
- __u32 num_entities;
- __u32 reserved1;
- __u64 ptr_entities;
-
- __u32 num_interfaces;
- __u32 reserved2;
- __u64 ptr_interfaces;
-
- __u32 num_pads;
- __u32 reserved3;
- __u64 ptr_pads;
-
- __u32 num_links;
- __u32 reserved4;
- __u64 ptr_links;
-} __attribute__ ((packed));
-
-/* ioctls */
-
-#define MEDIA_IOC_DEVICE_INFO _IOWR('|', 0x00, struct media_device_info)
-#define MEDIA_IOC_ENUM_ENTITIES _IOWR('|', 0x01, struct media_entity_desc)
-#define MEDIA_IOC_ENUM_LINKS _IOWR('|', 0x02, struct media_links_enum)
-#define MEDIA_IOC_SETUP_LINK _IOWR('|', 0x03, struct media_link_desc)
-#define MEDIA_IOC_G_TOPOLOGY _IOWR('|', 0x04, struct media_v2_topology)
-
-#endif /* __LINUX_MEDIA_H */
diff --git a/linux-headers/include/linux/mei.h b/linux-headers/include/linux/mei.h
deleted file mode 100644
index 7c3b64f..0000000
--- a/linux-headers/include/linux/mei.h
+++ /dev/null
@@ -1,129 +0,0 @@
-/******************************************************************************
- * Intel Management Engine Interface (Intel MEI) Linux driver
- * Intel MEI Interface Header
- *
- * This file is provided under a dual BSD/GPLv2 license. When using or
- * redistributing this file, you may do so under either license.
- *
- * GPL LICENSE SUMMARY
- *
- * Copyright(c) 2003 - 2012 Intel Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110,
- * USA
- *
- * The full GNU General Public License is included in this distribution
- * in the file called LICENSE.GPL.
- *
- * Contact Information:
- * Intel Corporation.
- * linux-mei@linux.intel.com
- * http://www.intel.com
- *
- * BSD LICENSE
- *
- * Copyright(c) 2003 - 2012 Intel Corporation. All rights reserved.
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name Intel Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *****************************************************************************/
-
-#ifndef _LINUX_MEI_H
-#define _LINUX_MEI_H
-
-#include <linux/uuid.h>
-
-/*
- * This IOCTL is used to associate the current file descriptor with a
- * FW Client (given by UUID). This opens a communication channel
- * between a host client and a FW client. From this point every read and write
- * will communicate with the associated FW client.
- * Only in close() (file_operation release()) the communication between
- * the clients is disconnected
- *
- * The IOCTL argument is a struct with a union that contains
- * the input parameter and the output parameter for this IOCTL.
- *
- * The input parameter is UUID of the FW Client.
- * The output parameter is the properties of the FW client
- * (FW protocol version and max message size).
- *
- */
-#define IOCTL_MEI_CONNECT_CLIENT \
- _IOWR('H' , 0x01, struct mei_connect_client_data)
-
-/*
- * Intel MEI client information struct
- */
-struct mei_client {
- __u32 max_msg_length;
- __u8 protocol_version;
- __u8 reserved[3];
-};
-
-/*
- * IOCTL Connect Client Data structure
- */
-struct mei_connect_client_data {
- union {
- uuid_le in_client_uuid;
- struct mei_client out_client_properties;
- };
-};
-
-/**
- * DOC: set and unset event notification for a connected client
- *
- * The IOCTL argument is 1 for enabling event notification and 0 for
- * disabling the service
- * Return: -EOPNOTSUPP if the devices doesn't support the feature
- */
-#define IOCTL_MEI_NOTIFY_SET _IOW('H', 0x02, __u32)
-
-/**
- * DOC: retrieve notification
- *
- * The IOCTL output argument is 1 if an event was is pending and 0 otherwise
- * the ioctl has to be called in order to acknowledge pending event
- *
- * Return: -EOPNOTSUPP if the devices doesn't support the feature
- */
-#define IOCTL_MEI_NOTIFY_GET _IOR('H', 0x03, __u32)
-
-#endif /* _LINUX_MEI_H */
diff --git a/linux-headers/include/linux/membarrier.h b/linux-headers/include/linux/membarrier.h
deleted file mode 100644
index 2af9dde..0000000
--- a/linux-headers/include/linux/membarrier.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef _LINUX_MEMBARRIER_H
-#define _LINUX_MEMBARRIER_H
-
-/*
- * linux/membarrier.h
- *
- * membarrier system call API
- *
- * Copyright (c) 2010, 2015 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-/**
- * enum membarrier_cmd - membarrier system call command
- * @MEMBARRIER_CMD_QUERY: Query the set of supported commands. It returns
- * a bitmask of valid commands.
- * @MEMBARRIER_CMD_SHARED: Execute a memory barrier on all running threads.
- * Upon return from system call, the caller thread
- * is ensured that all running threads have passed
- * through a state where all memory accesses to
- * user-space addresses match program order between
- * entry to and return from the system call
- * (non-running threads are de facto in such a
- * state). This covers threads from all processes
- * running on the system. This command returns 0.
- *
- * Command to be passed to the membarrier system call. The commands need to
- * be a single bit each, except for MEMBARRIER_CMD_QUERY which is assigned to
- * the value 0.
- */
-enum membarrier_cmd {
- MEMBARRIER_CMD_QUERY = 0,
- MEMBARRIER_CMD_SHARED = (1 << 0),
-};
-
-#endif /* _LINUX_MEMBARRIER_H */
diff --git a/linux-headers/include/linux/memfd.h b/linux-headers/include/linux/memfd.h
deleted file mode 100644
index 6632b15..0000000
--- a/linux-headers/include/linux/memfd.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _LINUX_MEMFD_H
-#define _LINUX_MEMFD_H
-
-/* flags for memfd_create(2) (unsigned int) */
-#define MFD_CLOEXEC 0x0001U
-#define MFD_ALLOW_SEALING 0x0002U
-
-#endif /* _LINUX_MEMFD_H */
diff --git a/linux-headers/include/linux/mempolicy.h b/linux-headers/include/linux/mempolicy.h
deleted file mode 100644
index de2651f..0000000
--- a/linux-headers/include/linux/mempolicy.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * NUMA memory policies for Linux.
- * Copyright 2003,2004 Andi Kleen SuSE Labs
- */
-#ifndef _LINUX_MEMPOLICY_H
-#define _LINUX_MEMPOLICY_H
-
-#include <linux/errno.h>
-
-
-/*
- * Both the MPOL_* mempolicy mode and the MPOL_F_* optional mode flags are
- * passed by the user to either set_mempolicy() or mbind() in an 'int' actual.
- * The MPOL_MODE_FLAGS macro determines the legal set of optional mode flags.
- */
-
-/* Policies */
-enum {
- MPOL_DEFAULT,
- MPOL_PREFERRED,
- MPOL_BIND,
- MPOL_INTERLEAVE,
- MPOL_LOCAL,
- MPOL_MAX, /* always last member of enum */
-};
-
-enum mpol_rebind_step {
- MPOL_REBIND_ONCE, /* do rebind work at once(not by two step) */
- MPOL_REBIND_STEP1, /* first step(set all the newly nodes) */
- MPOL_REBIND_STEP2, /* second step(clean all the disallowed nodes)*/
- MPOL_REBIND_NSTEP,
-};
-
-/* Flags for set_mempolicy */
-#define MPOL_F_STATIC_NODES (1 << 15)
-#define MPOL_F_RELATIVE_NODES (1 << 14)
-
-/*
- * MPOL_MODE_FLAGS is the union of all possible optional mode flags passed to
- * either set_mempolicy() or mbind().
- */
-#define MPOL_MODE_FLAGS (MPOL_F_STATIC_NODES | MPOL_F_RELATIVE_NODES)
-
-/* Flags for get_mempolicy */
-#define MPOL_F_NODE (1<<0) /* return next IL mode instead of node mask */
-#define MPOL_F_ADDR (1<<1) /* look up vma using address */
-#define MPOL_F_MEMS_ALLOWED (1<<2) /* return allowed memories */
-
-/* Flags for mbind */
-#define MPOL_MF_STRICT (1<<0) /* Verify existing pages in the mapping */
-#define MPOL_MF_MOVE (1<<1) /* Move pages owned by this process to conform
- to policy */
-#define MPOL_MF_MOVE_ALL (1<<2) /* Move every page to conform to policy */
-#define MPOL_MF_LAZY (1<<3) /* Modifies '_MOVE: lazy migrate on fault */
-#define MPOL_MF_INTERNAL (1<<4) /* Internal flags start here */
-
-#define MPOL_MF_VALID (MPOL_MF_STRICT | \
- MPOL_MF_MOVE | \
- MPOL_MF_MOVE_ALL)
-
-/*
- * Internal flags that share the struct mempolicy flags word with
- * "mode flags". These flags are allocated from bit 0 up, as they
- * are never OR'ed into the mode in mempolicy API arguments.
- */
-#define MPOL_F_SHARED (1 << 0) /* identify shared policies */
-#define MPOL_F_LOCAL (1 << 1) /* preferred local allocation */
-#define MPOL_F_REBINDING (1 << 2) /* identify policies in rebinding */
-#define MPOL_F_MOF (1 << 3) /* this policy wants migrate on fault */
-#define MPOL_F_MORON (1 << 4) /* Migrate On protnone Reference On Node */
-
-
-#endif /* _LINUX_MEMPOLICY_H */
diff --git a/linux-headers/include/linux/meye.h b/linux-headers/include/linux/meye.h
deleted file mode 100644
index 8ff50fe..0000000
--- a/linux-headers/include/linux/meye.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Motion Eye video4linux driver for Sony Vaio PictureBook
- *
- * Copyright (C) 2001-2003 Stelian Pop <stelian@popies.net>
- *
- * Copyright (C) 2001-2002 Alcôve <www.alcove.com>
- *
- * Copyright (C) 2000 Andrew Tridgell <tridge@valinux.com>
- *
- * Earlier work by Werner Almesberger, Paul `Rusty' Russell and Paul Mackerras.
- *
- * Some parts borrowed from various video4linux drivers, especially
- * bttv-driver.c and zoran.c, see original files for credits.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef _MEYE_H_
-#define _MEYE_H_
-
-/****************************************************************************/
-/* Private API for handling mjpeg capture / playback. */
-/****************************************************************************/
-
-struct meye_params {
- unsigned char subsample;
- unsigned char quality;
- unsigned char sharpness;
- unsigned char agc;
- unsigned char picture;
- unsigned char framerate;
-};
-
-/* query the extended parameters */
-#define MEYEIOC_G_PARAMS _IOR ('v', BASE_VIDIOC_PRIVATE+0, struct meye_params)
-/* set the extended parameters */
-#define MEYEIOC_S_PARAMS _IOW ('v', BASE_VIDIOC_PRIVATE+1, struct meye_params)
-/* queue a buffer for mjpeg capture */
-#define MEYEIOC_QBUF_CAPT _IOW ('v', BASE_VIDIOC_PRIVATE+2, int)
-/* sync a previously queued mjpeg buffer */
-#define MEYEIOC_SYNC _IOWR('v', BASE_VIDIOC_PRIVATE+3, int)
-/* get a still uncompressed snapshot */
-#define MEYEIOC_STILLCAPT _IO ('v', BASE_VIDIOC_PRIVATE+4)
-/* get a jpeg compressed snapshot */
-#define MEYEIOC_STILLJCAPT _IOR ('v', BASE_VIDIOC_PRIVATE+5, int)
-
-/* V4L2 private controls */
-#define V4L2_CID_MEYE_AGC (V4L2_CID_USER_MEYE_BASE + 0)
-#define V4L2_CID_MEYE_PICTURE (V4L2_CID_USER_MEYE_BASE + 1)
-#define V4L2_CID_MEYE_FRAMERATE (V4L2_CID_USER_MEYE_BASE + 2)
-
-#endif
diff --git a/linux-headers/include/linux/mic_common.h b/linux-headers/include/linux/mic_common.h
deleted file mode 100644
index 667263a..0000000
--- a/linux-headers/include/linux/mic_common.h
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Intel MIC Platform Software Stack (MPSS)
- *
- * Copyright(c) 2013 Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2, as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * The full GNU General Public License is included in this distribution in
- * the file called "COPYING".
- *
- * Intel MIC driver.
- *
- */
-#ifndef __MIC_COMMON_H_
-#define __MIC_COMMON_H_
-
-#include <linux/virtio_ring.h>
-
-#define __mic_align(a, x) (((a) + (x) - 1) & ~((x) - 1))
-
-/**
- * struct mic_device_desc: Virtio device information shared between the
- * virtio driver and userspace backend
- *
- * @type: Device type: console/network/disk etc. Type 0/-1 terminates.
- * @num_vq: Number of virtqueues.
- * @feature_len: Number of bytes of feature bits. Multiply by 2: one for
- host features and one for guest acknowledgements.
- * @config_len: Number of bytes of the config array after virtqueues.
- * @status: A status byte, written by the Guest.
- * @config: Start of the following variable length config.
- */
-struct mic_device_desc {
- __s8 type;
- __u8 num_vq;
- __u8 feature_len;
- __u8 config_len;
- __u8 status;
- __le64 config[0];
-} __attribute__ ((aligned(8)));
-
-/**
- * struct mic_device_ctrl: Per virtio device information in the device page
- * used internally by the host and card side drivers.
- *
- * @vdev: Used for storing MIC vdev information by the guest.
- * @config_change: Set to 1 by host when a config change is requested.
- * @vdev_reset: Set to 1 by guest to indicate virtio device has been reset.
- * @guest_ack: Set to 1 by guest to ack a command.
- * @host_ack: Set to 1 by host to ack a command.
- * @used_address_updated: Set to 1 by guest when the used address should be
- * updated.
- * @c2h_vdev_db: The doorbell number to be used by guest. Set by host.
- * @h2c_vdev_db: The doorbell number to be used by host. Set by guest.
- */
-struct mic_device_ctrl {
- __le64 vdev;
- __u8 config_change;
- __u8 vdev_reset;
- __u8 guest_ack;
- __u8 host_ack;
- __u8 used_address_updated;
- __s8 c2h_vdev_db;
- __s8 h2c_vdev_db;
-} __attribute__ ((aligned(8)));
-
-/**
- * struct mic_bootparam: Virtio device independent information in device page
- *
- * @magic: A magic value used by the card to ensure it can see the host
- * @h2c_config_db: Host to Card Virtio config doorbell set by card
- * @node_id: Unique id of the node
- * @h2c_scif_db - Host to card SCIF doorbell set by card
- * @c2h_scif_db - Card to host SCIF doorbell set by host
- * @scif_host_dma_addr - SCIF host queue pair DMA address
- * @scif_card_dma_addr - SCIF card queue pair DMA address
- */
-struct mic_bootparam {
- __le32 magic;
- __s8 h2c_config_db;
- __u8 node_id;
- __u8 h2c_scif_db;
- __u8 c2h_scif_db;
- __u64 scif_host_dma_addr;
- __u64 scif_card_dma_addr;
-} __attribute__ ((aligned(8)));
-
-/**
- * struct mic_device_page: High level representation of the device page
- *
- * @bootparam: The bootparam structure is used for sharing information and
- * status updates between MIC host and card drivers.
- * @desc: Array of MIC virtio device descriptors.
- */
-struct mic_device_page {
- struct mic_bootparam bootparam;
- struct mic_device_desc desc[0];
-};
-/**
- * struct mic_vqconfig: This is how we expect the device configuration field
- * for a virtqueue to be laid out in config space.
- *
- * @address: Guest/MIC physical address of the virtio ring
- * (avail and desc rings)
- * @used_address: Guest/MIC physical address of the used ring
- * @num: The number of entries in the virtio_ring
- */
-struct mic_vqconfig {
- __le64 address;
- __le64 used_address;
- __le16 num;
-} __attribute__ ((aligned(8)));
-
-/*
- * The alignment to use between consumer and producer parts of vring.
- * This is pagesize for historical reasons.
- */
-#define MIC_VIRTIO_RING_ALIGN 4096
-
-#define MIC_MAX_VRINGS 4
-#define MIC_VRING_ENTRIES 128
-
-/*
- * Max vring entries (power of 2) to ensure desc and avail rings
- * fit in a single page
- */
-#define MIC_MAX_VRING_ENTRIES 128
-
-/**
- * Max size of the desc block in bytes: includes:
- * - struct mic_device_desc
- * - struct mic_vqconfig (num_vq of these)
- * - host and guest features
- * - virtio device config space
- */
-#define MIC_MAX_DESC_BLK_SIZE 256
-
-/**
- * struct _mic_vring_info - Host vring info exposed to userspace backend
- * for the avail index and magic for the card.
- *
- * @avail_idx: host avail idx
- * @magic: A magic debug cookie.
- */
-struct _mic_vring_info {
- __u16 avail_idx;
- __le32 magic;
-};
-
-/**
- * struct mic_vring - Vring information.
- *
- * @vr: The virtio ring.
- * @info: Host vring information exposed to the userspace backend for the
- * avail index and magic for the card.
- * @va: The va for the buffer allocated for vr and info.
- * @len: The length of the buffer required for allocating vr and info.
- */
-struct mic_vring {
- struct vring vr;
- struct _mic_vring_info *info;
- void *va;
- int len;
-};
-
-#define mic_aligned_desc_size(d) __mic_align(mic_desc_size(d), 8)
-
-#ifndef INTEL_MIC_CARD
-static __inline__ unsigned mic_desc_size(const struct mic_device_desc *desc)
-{
- return sizeof(*desc) + desc->num_vq * sizeof(struct mic_vqconfig)
- + desc->feature_len * 2 + desc->config_len;
-}
-
-static __inline__ struct mic_vqconfig *
-mic_vq_config(const struct mic_device_desc *desc)
-{
- return (struct mic_vqconfig *)(desc + 1);
-}
-
-static __inline__ __u8 *mic_vq_features(const struct mic_device_desc *desc)
-{
- return (__u8 *)(mic_vq_config(desc) + desc->num_vq);
-}
-
-static __inline__ __u8 *mic_vq_configspace(const struct mic_device_desc *desc)
-{
- return mic_vq_features(desc) + desc->feature_len * 2;
-}
-static __inline__ unsigned mic_total_desc_size(struct mic_device_desc *desc)
-{
- return mic_aligned_desc_size(desc) + sizeof(struct mic_device_ctrl);
-}
-#endif
-
-/* Device page size */
-#define MIC_DP_SIZE 4096
-
-#define MIC_MAGIC 0xc0ffee00
-
-/**
- * enum mic_states - MIC states.
- */
-enum mic_states {
- MIC_READY = 0,
- MIC_BOOTING,
- MIC_ONLINE,
- MIC_SHUTTING_DOWN,
- MIC_RESETTING,
- MIC_RESET_FAILED,
- MIC_LAST
-};
-
-/**
- * enum mic_status - MIC status reported by card after
- * a host or card initiated shutdown or a card crash.
- */
-enum mic_status {
- MIC_NOP = 0,
- MIC_CRASHED,
- MIC_HALTED,
- MIC_POWER_OFF,
- MIC_RESTART,
- MIC_STATUS_LAST
-};
-
-#endif
diff --git a/linux-headers/include/linux/mic_ioctl.h b/linux-headers/include/linux/mic_ioctl.h
deleted file mode 100644
index a0d7ce6..0000000
--- a/linux-headers/include/linux/mic_ioctl.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Intel MIC Platform Software Stack (MPSS)
- *
- * Copyright(c) 2013 Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2, as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * The full GNU General Public License is included in this distribution in
- * the file called "COPYING".
- *
- * Intel MIC Host driver.
- *
- */
-#ifndef _MIC_IOCTL_H_
-#define _MIC_IOCTL_H_
-
-#include <linux/types.h>
-
-/*
- * mic_copy - MIC virtio descriptor copy.
- *
- * @iov: An array of IOVEC structures containing user space buffers.
- * @iovcnt: Number of IOVEC structures in iov.
- * @vr_idx: The vring index.
- * @update_used: A non zero value results in used index being updated.
- * @out_len: The aggregate of the total length written to or read from
- * the virtio device.
- */
-struct mic_copy_desc {
- struct iovec *iov;
- __u32 iovcnt;
- __u8 vr_idx;
- __u8 update_used;
- __u32 out_len;
-};
-
-/*
- * Add a new virtio device
- * The (struct mic_device_desc *) pointer points to a device page entry
- * for the virtio device consisting of:
- * - struct mic_device_desc
- * - struct mic_vqconfig (num_vq of these)
- * - host and guest features
- * - virtio device config space
- * The total size referenced by the pointer should equal the size returned
- * by desc_size() in mic_common.h
- */
-#define MIC_VIRTIO_ADD_DEVICE _IOWR('s', 1, struct mic_device_desc *)
-
-/*
- * Copy the number of entries in the iovec and update the used index
- * if requested by the user.
- */
-#define MIC_VIRTIO_COPY_DESC _IOWR('s', 2, struct mic_copy_desc *)
-
-/*
- * Notify virtio device of a config change
- * The (__u8 *) pointer points to config space values for the device
- * as they should be written into the device page. The total size
- * referenced by the pointer should equal the config_len field of struct
- * mic_device_desc.
- */
-#define MIC_VIRTIO_CONFIG_CHANGE _IOWR('s', 5, __u8 *)
-
-#endif
diff --git a/linux-headers/include/linux/mii.h b/linux-headers/include/linux/mii.h
deleted file mode 100644
index c75eea1..0000000
--- a/linux-headers/include/linux/mii.h
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * linux/mii.h: definitions for MII-compatible transceivers
- * Originally drivers/net/sunhme.h.
- *
- * Copyright (C) 1996, 1999, 2001 David S. Miller (davem@redhat.com)
- */
-
-#ifndef __LINUX_MII_H__
-#define __LINUX_MII_H__
-
-#include <linux/types.h>
-#include <linux/ethtool.h>
-
-/* Generic MII registers. */
-#define MII_BMCR 0x00 /* Basic mode control register */
-#define MII_BMSR 0x01 /* Basic mode status register */
-#define MII_PHYSID1 0x02 /* PHYS ID 1 */
-#define MII_PHYSID2 0x03 /* PHYS ID 2 */
-#define MII_ADVERTISE 0x04 /* Advertisement control reg */
-#define MII_LPA 0x05 /* Link partner ability reg */
-#define MII_EXPANSION 0x06 /* Expansion register */
-#define MII_CTRL1000 0x09 /* 1000BASE-T control */
-#define MII_STAT1000 0x0a /* 1000BASE-T status */
-#define MII_MMD_CTRL 0x0d /* MMD Access Control Register */
-#define MII_MMD_DATA 0x0e /* MMD Access Data Register */
-#define MII_ESTATUS 0x0f /* Extended Status */
-#define MII_DCOUNTER 0x12 /* Disconnect counter */
-#define MII_FCSCOUNTER 0x13 /* False carrier counter */
-#define MII_NWAYTEST 0x14 /* N-way auto-neg test reg */
-#define MII_RERRCOUNTER 0x15 /* Receive error counter */
-#define MII_SREVISION 0x16 /* Silicon revision */
-#define MII_RESV1 0x17 /* Reserved... */
-#define MII_LBRERROR 0x18 /* Lpback, rx, bypass error */
-#define MII_PHYADDR 0x19 /* PHY address */
-#define MII_RESV2 0x1a /* Reserved... */
-#define MII_TPISTATUS 0x1b /* TPI status for 10mbps */
-#define MII_NCONFIG 0x1c /* Network interface config */
-
-/* Basic mode control register. */
-#define BMCR_RESV 0x003f /* Unused... */
-#define BMCR_SPEED1000 0x0040 /* MSB of Speed (1000) */
-#define BMCR_CTST 0x0080 /* Collision test */
-#define BMCR_FULLDPLX 0x0100 /* Full duplex */
-#define BMCR_ANRESTART 0x0200 /* Auto negotiation restart */
-#define BMCR_ISOLATE 0x0400 /* Isolate data paths from MII */
-#define BMCR_PDOWN 0x0800 /* Enable low power state */
-#define BMCR_ANENABLE 0x1000 /* Enable auto negotiation */
-#define BMCR_SPEED100 0x2000 /* Select 100Mbps */
-#define BMCR_LOOPBACK 0x4000 /* TXD loopback bits */
-#define BMCR_RESET 0x8000 /* Reset to default state */
-
-/* Basic mode status register. */
-#define BMSR_ERCAP 0x0001 /* Ext-reg capability */
-#define BMSR_JCD 0x0002 /* Jabber detected */
-#define BMSR_LSTATUS 0x0004 /* Link status */
-#define BMSR_ANEGCAPABLE 0x0008 /* Able to do auto-negotiation */
-#define BMSR_RFAULT 0x0010 /* Remote fault detected */
-#define BMSR_ANEGCOMPLETE 0x0020 /* Auto-negotiation complete */
-#define BMSR_RESV 0x00c0 /* Unused... */
-#define BMSR_ESTATEN 0x0100 /* Extended Status in R15 */
-#define BMSR_100HALF2 0x0200 /* Can do 100BASE-T2 HDX */
-#define BMSR_100FULL2 0x0400 /* Can do 100BASE-T2 FDX */
-#define BMSR_10HALF 0x0800 /* Can do 10mbps, half-duplex */
-#define BMSR_10FULL 0x1000 /* Can do 10mbps, full-duplex */
-#define BMSR_100HALF 0x2000 /* Can do 100mbps, half-duplex */
-#define BMSR_100FULL 0x4000 /* Can do 100mbps, full-duplex */
-#define BMSR_100BASE4 0x8000 /* Can do 100mbps, 4k packets */
-
-/* Advertisement control register. */
-#define ADVERTISE_SLCT 0x001f /* Selector bits */
-#define ADVERTISE_CSMA 0x0001 /* Only selector supported */
-#define ADVERTISE_10HALF 0x0020 /* Try for 10mbps half-duplex */
-#define ADVERTISE_1000XFULL 0x0020 /* Try for 1000BASE-X full-duplex */
-#define ADVERTISE_10FULL 0x0040 /* Try for 10mbps full-duplex */
-#define ADVERTISE_1000XHALF 0x0040 /* Try for 1000BASE-X half-duplex */
-#define ADVERTISE_100HALF 0x0080 /* Try for 100mbps half-duplex */
-#define ADVERTISE_1000XPAUSE 0x0080 /* Try for 1000BASE-X pause */
-#define ADVERTISE_100FULL 0x0100 /* Try for 100mbps full-duplex */
-#define ADVERTISE_1000XPSE_ASYM 0x0100 /* Try for 1000BASE-X asym pause */
-#define ADVERTISE_100BASE4 0x0200 /* Try for 100mbps 4k packets */
-#define ADVERTISE_PAUSE_CAP 0x0400 /* Try for pause */
-#define ADVERTISE_PAUSE_ASYM 0x0800 /* Try for asymetric pause */
-#define ADVERTISE_RESV 0x1000 /* Unused... */
-#define ADVERTISE_RFAULT 0x2000 /* Say we can detect faults */
-#define ADVERTISE_LPACK 0x4000 /* Ack link partners response */
-#define ADVERTISE_NPAGE 0x8000 /* Next page bit */
-
-#define ADVERTISE_FULL (ADVERTISE_100FULL | ADVERTISE_10FULL | \
- ADVERTISE_CSMA)
-#define ADVERTISE_ALL (ADVERTISE_10HALF | ADVERTISE_10FULL | \
- ADVERTISE_100HALF | ADVERTISE_100FULL)
-
-/* Link partner ability register. */
-#define LPA_SLCT 0x001f /* Same as advertise selector */
-#define LPA_10HALF 0x0020 /* Can do 10mbps half-duplex */
-#define LPA_1000XFULL 0x0020 /* Can do 1000BASE-X full-duplex */
-#define LPA_10FULL 0x0040 /* Can do 10mbps full-duplex */
-#define LPA_1000XHALF 0x0040 /* Can do 1000BASE-X half-duplex */
-#define LPA_100HALF 0x0080 /* Can do 100mbps half-duplex */
-#define LPA_1000XPAUSE 0x0080 /* Can do 1000BASE-X pause */
-#define LPA_100FULL 0x0100 /* Can do 100mbps full-duplex */
-#define LPA_1000XPAUSE_ASYM 0x0100 /* Can do 1000BASE-X pause asym*/
-#define LPA_100BASE4 0x0200 /* Can do 100mbps 4k packets */
-#define LPA_PAUSE_CAP 0x0400 /* Can pause */
-#define LPA_PAUSE_ASYM 0x0800 /* Can pause asymetrically */
-#define LPA_RESV 0x1000 /* Unused... */
-#define LPA_RFAULT 0x2000 /* Link partner faulted */
-#define LPA_LPACK 0x4000 /* Link partner acked us */
-#define LPA_NPAGE 0x8000 /* Next page bit */
-
-#define LPA_DUPLEX (LPA_10FULL | LPA_100FULL)
-#define LPA_100 (LPA_100FULL | LPA_100HALF | LPA_100BASE4)
-
-/* Expansion register for auto-negotiation. */
-#define EXPANSION_NWAY 0x0001 /* Can do N-way auto-nego */
-#define EXPANSION_LCWP 0x0002 /* Got new RX page code word */
-#define EXPANSION_ENABLENPAGE 0x0004 /* This enables npage words */
-#define EXPANSION_NPCAPABLE 0x0008 /* Link partner supports npage */
-#define EXPANSION_MFAULTS 0x0010 /* Multiple faults detected */
-#define EXPANSION_RESV 0xffe0 /* Unused... */
-
-#define ESTATUS_1000_TFULL 0x2000 /* Can do 1000BT Full */
-#define ESTATUS_1000_THALF 0x1000 /* Can do 1000BT Half */
-
-/* N-way test register. */
-#define NWAYTEST_RESV1 0x00ff /* Unused... */
-#define NWAYTEST_LOOPBACK 0x0100 /* Enable loopback for N-way */
-#define NWAYTEST_RESV2 0xfe00 /* Unused... */
-
-/* 1000BASE-T Control register */
-#define ADVERTISE_1000FULL 0x0200 /* Advertise 1000BASE-T full duplex */
-#define ADVERTISE_1000HALF 0x0100 /* Advertise 1000BASE-T half duplex */
-#define CTL1000_AS_MASTER 0x0800
-#define CTL1000_ENABLE_MASTER 0x1000
-
-/* 1000BASE-T Status register */
-#define LPA_1000LOCALRXOK 0x2000 /* Link partner local receiver status */
-#define LPA_1000REMRXOK 0x1000 /* Link partner remote receiver status */
-#define LPA_1000FULL 0x0800 /* Link partner 1000BASE-T full duplex */
-#define LPA_1000HALF 0x0400 /* Link partner 1000BASE-T half duplex */
-
-/* Flow control flags */
-#define FLOW_CTRL_TX 0x01
-#define FLOW_CTRL_RX 0x02
-
-/* MMD Access Control register fields */
-#define MII_MMD_CTRL_DEVAD_MASK 0x1f /* Mask MMD DEVAD*/
-#define MII_MMD_CTRL_ADDR 0x0000 /* Address */
-#define MII_MMD_CTRL_NOINCR 0x4000 /* no post increment */
-#define MII_MMD_CTRL_INCR_RDWT 0x8000 /* post increment on reads & writes */
-#define MII_MMD_CTRL_INCR_ON_WT 0xC000 /* post increment on writes only */
-
-/* This structure is used in all SIOCxMIIxxx ioctl calls */
-struct mii_ioctl_data {
- __u16 phy_id;
- __u16 reg_num;
- __u16 val_in;
- __u16 val_out;
-};
-
-#endif /* __LINUX_MII_H__ */
diff --git a/linux-headers/include/linux/minix_fs.h b/linux-headers/include/linux/minix_fs.h
deleted file mode 100644
index 13fe09e..0000000
--- a/linux-headers/include/linux/minix_fs.h
+++ /dev/null
@@ -1,106 +0,0 @@
-#ifndef _LINUX_MINIX_FS_H
-#define _LINUX_MINIX_FS_H
-
-#include <linux/types.h>
-#include <linux/magic.h>
-
-/*
- * The minix filesystem constants/structures
- */
-
-/*
- * Thanks to Kees J Bot for sending me the definitions of the new
- * minix filesystem (aka V2) with bigger inodes and 32-bit block
- * pointers.
- */
-
-#define MINIX_ROOT_INO 1
-
-/* Not the same as the bogus LINK_MAX in <linux/limits.h>. Oh well. */
-#define MINIX_LINK_MAX 250
-#define MINIX2_LINK_MAX 65530
-
-#define MINIX_I_MAP_SLOTS 8
-#define MINIX_Z_MAP_SLOTS 64
-#define MINIX_VALID_FS 0x0001 /* Clean fs. */
-#define MINIX_ERROR_FS 0x0002 /* fs has errors. */
-
-#define MINIX_INODES_PER_BLOCK ((BLOCK_SIZE)/(sizeof (struct minix_inode)))
-
-/*
- * This is the original minix inode layout on disk.
- * Note the 8-bit gid and atime and ctime.
- */
-struct minix_inode {
- __u16 i_mode;
- __u16 i_uid;
- __u32 i_size;
- __u32 i_time;
- __u8 i_gid;
- __u8 i_nlinks;
- __u16 i_zone[9];
-};
-
-/*
- * The new minix inode has all the time entries, as well as
- * long block numbers and a third indirect block (7+1+1+1
- * instead of 7+1+1). Also, some previously 8-bit values are
- * now 16-bit. The inode is now 64 bytes instead of 32.
- */
-struct minix2_inode {
- __u16 i_mode;
- __u16 i_nlinks;
- __u16 i_uid;
- __u16 i_gid;
- __u32 i_size;
- __u32 i_atime;
- __u32 i_mtime;
- __u32 i_ctime;
- __u32 i_zone[10];
-};
-
-/*
- * minix super-block data on disk
- */
-struct minix_super_block {
- __u16 s_ninodes;
- __u16 s_nzones;
- __u16 s_imap_blocks;
- __u16 s_zmap_blocks;
- __u16 s_firstdatazone;
- __u16 s_log_zone_size;
- __u32 s_max_size;
- __u16 s_magic;
- __u16 s_state;
- __u32 s_zones;
-};
-
-/*
- * V3 minix super-block data on disk
- */
-struct minix3_super_block {
- __u32 s_ninodes;
- __u16 s_pad0;
- __u16 s_imap_blocks;
- __u16 s_zmap_blocks;
- __u16 s_firstdatazone;
- __u16 s_log_zone_size;
- __u16 s_pad1;
- __u32 s_max_size;
- __u32 s_zones;
- __u16 s_magic;
- __u16 s_pad2;
- __u16 s_blocksize;
- __u8 s_disk_version;
-};
-
-struct minix_dir_entry {
- __u16 inode;
- char name[0];
-};
-
-struct minix3_dir_entry {
- __u32 inode;
- char name[0];
-};
-#endif
diff --git a/linux-headers/include/linux/mman.h b/linux-headers/include/linux/mman.h
deleted file mode 100644
index 36b3004..0000000
--- a/linux-headers/include/linux/mman.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _LINUX_MMAN_H
-#define _LINUX_MMAN_H
-
-#include <asm/mman.h>
-
-#define MREMAP_MAYMOVE 1
-#define MREMAP_FIXED 2
-
-#define OVERCOMMIT_GUESS 0
-#define OVERCOMMIT_ALWAYS 1
-#define OVERCOMMIT_NEVER 2
-
-#endif /* _LINUX_MMAN_H */
diff --git a/linux-headers/include/linux/mmc/ioctl.h b/linux-headers/include/linux/mmc/ioctl.h
deleted file mode 100644
index 7e385b8..0000000
--- a/linux-headers/include/linux/mmc/ioctl.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef LINUX_MMC_IOCTL_H
-#define LINUX_MMC_IOCTL_H
-
-#include <linux/types.h>
-
-struct mmc_ioc_cmd {
- /* Implies direction of data. true = write, false = read */
- int write_flag;
-
- /* Application-specific command. true = precede with CMD55 */
- int is_acmd;
-
- __u32 opcode;
- __u32 arg;
- __u32 response[4]; /* CMD response */
- unsigned int flags;
- unsigned int blksz;
- unsigned int blocks;
-
- /*
- * Sleep at least postsleep_min_us useconds, and at most
- * postsleep_max_us useconds *after* issuing command. Needed for
- * some read commands for which cards have no other way of indicating
- * they're ready for the next command (i.e. there is no equivalent of
- * a "busy" indicator for read operations).
- */
- unsigned int postsleep_min_us;
- unsigned int postsleep_max_us;
-
- /*
- * Override driver-computed timeouts. Note the difference in units!
- */
- unsigned int data_timeout_ns;
- unsigned int cmd_timeout_ms;
-
- /*
- * For 64-bit machines, the next member, ``__u64 data_ptr``, wants to
- * be 8-byte aligned. Make sure this struct is the same size when
- * built for 32-bit.
- */
- __u32 __pad;
-
- /* DAT buffer */
- __u64 data_ptr;
-};
-#define mmc_ioc_cmd_set_data(ic, ptr) ic.data_ptr = (__u64)(unsigned long) ptr
-
-/**
- * struct mmc_ioc_multi_cmd - multi command information
- * @num_of_cmds: Number of commands to send. Must be equal to or less than
- * MMC_IOC_MAX_CMDS.
- * @cmds: Array of commands with length equal to 'num_of_cmds'
- */
-struct mmc_ioc_multi_cmd {
- __u64 num_of_cmds;
- struct mmc_ioc_cmd cmds[0];
-};
-
-#define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)
-/*
- * MMC_IOC_MULTI_CMD: Used to send an array of MMC commands described by
- * the structure mmc_ioc_multi_cmd. The MMC driver will issue all
- * commands in array in sequence to card.
- */
-#define MMC_IOC_MULTI_CMD _IOWR(MMC_BLOCK_MAJOR, 1, struct mmc_ioc_multi_cmd)
-/*
- * Since this ioctl is only meant to enhance (and not replace) normal access
- * to the mmc bus device, an upper data transfer limit of MMC_IOC_MAX_BYTES
- * is enforced per ioctl call. For larger data transfers, use the normal
- * block device operations.
- */
-#define MMC_IOC_MAX_BYTES (512L * 256)
-#define MMC_IOC_MAX_CMDS 255
-#endif /* LINUX_MMC_IOCTL_H */
diff --git a/linux-headers/include/linux/mmtimer.h b/linux-headers/include/linux/mmtimer.h
deleted file mode 100644
index 884cabf..0000000
--- a/linux-headers/include/linux/mmtimer.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Intel Multimedia Timer device interface
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (c) 2001-2004 Silicon Graphics, Inc. All rights reserved.
- *
- * This file should define an interface compatible with the IA-PC Multimedia
- * Timers Draft Specification (rev. 0.97) from Intel. Note that some
- * hardware may not be able to safely export its registers to userspace,
- * so the ioctl interface should support all necessary functionality.
- *
- * 11/01/01 - jbarnes - initial revision
- * 9/10/04 - Christoph Lameter - remove interrupt support
- * 9/17/04 - jbarnes - remove test program, move some #defines to the driver
- */
-
-#ifndef _LINUX_MMTIMER_H
-#define _LINUX_MMTIMER_H
-
-/*
- * Breakdown of the ioctl's available. An 'optional' next to the command
- * indicates that supporting this command is optional, while 'required'
- * commands must be implemented if conformance is desired.
- *
- * MMTIMER_GETOFFSET - optional
- * Should return the offset (relative to the start of the page where the
- * registers are mapped) for the counter in question.
- *
- * MMTIMER_GETRES - required
- * The resolution of the clock in femto (10^-15) seconds
- *
- * MMTIMER_GETFREQ - required
- * Frequency of the clock in Hz
- *
- * MMTIMER_GETBITS - required
- * Number of bits in the clock's counter
- *
- * MMTIMER_MMAPAVAIL - required
- * Returns nonzero if the registers can be mmap'd into userspace, 0 otherwise
- *
- * MMTIMER_GETCOUNTER - required
- * Gets the current value in the counter
- */
-#define MMTIMER_IOCTL_BASE 'm'
-
-#define MMTIMER_GETOFFSET _IO(MMTIMER_IOCTL_BASE, 0)
-#define MMTIMER_GETRES _IOR(MMTIMER_IOCTL_BASE, 1, unsigned long)
-#define MMTIMER_GETFREQ _IOR(MMTIMER_IOCTL_BASE, 2, unsigned long)
-#define MMTIMER_GETBITS _IO(MMTIMER_IOCTL_BASE, 4)
-#define MMTIMER_MMAPAVAIL _IO(MMTIMER_IOCTL_BASE, 6)
-#define MMTIMER_GETCOUNTER _IOR(MMTIMER_IOCTL_BASE, 9, unsigned long)
-
-#endif /* _LINUX_MMTIMER_H */
diff --git a/linux-headers/include/linux/mpls.h b/linux-headers/include/linux/mpls.h
deleted file mode 100644
index a14b54b..0000000
--- a/linux-headers/include/linux/mpls.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _MPLS_H
-#define _MPLS_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-/* Reference: RFC 5462, RFC 3032
- *
- * 0 1 2 3
- * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- * | Label | TC |S| TTL |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- *
- * Label: Label Value, 20 bits
- * TC: Traffic Class field, 3 bits
- * S: Bottom of Stack, 1 bit
- * TTL: Time to Live, 8 bits
- */
-
-struct mpls_label {
- __be32 entry;
-};
-
-#define MPLS_LS_LABEL_MASK 0xFFFFF000
-#define MPLS_LS_LABEL_SHIFT 12
-#define MPLS_LS_TC_MASK 0x00000E00
-#define MPLS_LS_TC_SHIFT 9
-#define MPLS_LS_S_MASK 0x00000100
-#define MPLS_LS_S_SHIFT 8
-#define MPLS_LS_TTL_MASK 0x000000FF
-#define MPLS_LS_TTL_SHIFT 0
-
-/* Reserved labels */
-#define MPLS_LABEL_IPV4NULL 0 /* RFC3032 */
-#define MPLS_LABEL_RTALERT 1 /* RFC3032 */
-#define MPLS_LABEL_IPV6NULL 2 /* RFC3032 */
-#define MPLS_LABEL_IMPLNULL 3 /* RFC3032 */
-#define MPLS_LABEL_ENTROPY 7 /* RFC6790 */
-#define MPLS_LABEL_GAL 13 /* RFC5586 */
-#define MPLS_LABEL_OAMALERT 14 /* RFC3429 */
-#define MPLS_LABEL_EXTENSION 15 /* RFC7274 */
-
-#define MPLS_LABEL_FIRST_UNRESERVED 16 /* RFC3032 */
-
-#endif /* _MPLS_H */
diff --git a/linux-headers/include/linux/mpls_iptunnel.h b/linux-headers/include/linux/mpls_iptunnel.h
deleted file mode 100644
index 4132c3c..0000000
--- a/linux-headers/include/linux/mpls_iptunnel.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * mpls tunnel api
- *
- * Authors:
- * Roopa Prabhu <roopa@cumulusnetworks.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _LINUX_MPLS_IPTUNNEL_H
-#define _LINUX_MPLS_IPTUNNEL_H
-
-/* MPLS tunnel attributes
- * [RTA_ENCAP] = {
- * [MPLS_IPTUNNEL_DST]
- * }
- */
-enum {
- MPLS_IPTUNNEL_UNSPEC,
- MPLS_IPTUNNEL_DST,
- __MPLS_IPTUNNEL_MAX,
-};
-#define MPLS_IPTUNNEL_MAX (__MPLS_IPTUNNEL_MAX - 1)
-
-#endif /* _LINUX_MPLS_IPTUNNEL_H */
diff --git a/linux-headers/include/linux/mqueue.h b/linux-headers/include/linux/mqueue.h
deleted file mode 100644
index d0a2b8e..0000000
--- a/linux-headers/include/linux/mqueue.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Copyright (C) 2003 Krzysztof Benedyczak & Michal Wronski
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU Lesser General Public
- License as published by the Free Software Foundation; either
- version 2.1 of the License, or (at your option) any later version.
-
- It is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Lesser General Public License for more details.
-
- You should have received a copy of the GNU Lesser General Public
- License along with this software; if not, write to the Free
- Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307 USA. */
-
-#ifndef _LINUX_MQUEUE_H
-#define _LINUX_MQUEUE_H
-
-#define MQ_PRIO_MAX 32768
-/* per-uid limit of kernel memory used by mqueue, in bytes */
-#define MQ_BYTES_MAX 819200
-
-struct mq_attr {
- __kernel_long_t mq_flags; /* message queue flags */
- __kernel_long_t mq_maxmsg; /* maximum number of messages */
- __kernel_long_t mq_msgsize; /* maximum message size */
- __kernel_long_t mq_curmsgs; /* number of messages currently queued */
- __kernel_long_t __reserved[4]; /* ignored for input, zeroed for output */
-};
-
-/*
- * SIGEV_THREAD implementation:
- * SIGEV_THREAD must be implemented in user space. If SIGEV_THREAD is passed
- * to mq_notify, then
- * - sigev_signo must be the file descriptor of an AF_NETLINK socket. It's not
- * necessary that the socket is bound.
- * - sigev_value.sival_ptr must point to a cookie that is NOTIFY_COOKIE_LEN
- * bytes long.
- * If the notification is triggered, then the cookie is sent to the netlink
- * socket. The last byte of the cookie is replaced with the NOTIFY_?? codes:
- * NOTIFY_WOKENUP if the notification got triggered, NOTIFY_REMOVED if it was
- * removed, either due to a close() on the message queue fd or due to a
- * mq_notify() that removed the notification.
- */
-#define NOTIFY_NONE 0
-#define NOTIFY_WOKENUP 1
-#define NOTIFY_REMOVED 2
-
-#define NOTIFY_COOKIE_LEN 32
-
-#endif
diff --git a/linux-headers/include/linux/mroute.h b/linux-headers/include/linux/mroute.h
deleted file mode 100644
index 478e775..0000000
--- a/linux-headers/include/linux/mroute.h
+++ /dev/null
@@ -1,121 +0,0 @@
-#ifndef __LINUX_MROUTE_H
-#define __LINUX_MROUTE_H
-
-#include <linux/sockios.h>
-#include <linux/types.h>
-
-/* Based on the MROUTING 3.5 defines primarily to keep
- * source compatibility with BSD.
- *
- * See the mrouted code for the original history.
- *
- * Protocol Independent Multicast (PIM) data structures included
- * Carlos Picoto (cap@di.fc.ul.pt)
- */
-
-#define MRT_BASE 200
-#define MRT_INIT (MRT_BASE) /* Activate the kernel mroute code */
-#define MRT_DONE (MRT_BASE+1) /* Shutdown the kernel mroute */
-#define MRT_ADD_VIF (MRT_BASE+2) /* Add a virtual interface */
-#define MRT_DEL_VIF (MRT_BASE+3) /* Delete a virtual interface */
-#define MRT_ADD_MFC (MRT_BASE+4) /* Add a multicast forwarding entry */
-#define MRT_DEL_MFC (MRT_BASE+5) /* Delete a multicast forwarding entry */
-#define MRT_VERSION (MRT_BASE+6) /* Get the kernel multicast version */
-#define MRT_ASSERT (MRT_BASE+7) /* Activate PIM assert mode */
-#define MRT_PIM (MRT_BASE+8) /* enable PIM code */
-#define MRT_TABLE (MRT_BASE+9) /* Specify mroute table ID */
-#define MRT_ADD_MFC_PROXY (MRT_BASE+10) /* Add a (*,*|G) mfc entry */
-#define MRT_DEL_MFC_PROXY (MRT_BASE+11) /* Del a (*,*|G) mfc entry */
-#define MRT_MAX (MRT_BASE+11)
-
-#define SIOCGETVIFCNT SIOCPROTOPRIVATE /* IP protocol privates */
-#define SIOCGETSGCNT (SIOCPROTOPRIVATE+1)
-#define SIOCGETRPF (SIOCPROTOPRIVATE+2)
-
-#define MAXVIFS 32
-typedef unsigned long vifbitmap_t; /* User mode code depends on this lot */
-typedef unsigned short vifi_t;
-#define ALL_VIFS ((vifi_t)(-1))
-
-/* Same idea as select */
-
-#define VIFM_SET(n,m) ((m)|=(1<<(n)))
-#define VIFM_CLR(n,m) ((m)&=~(1<<(n)))
-#define VIFM_ISSET(n,m) ((m)&(1<<(n)))
-#define VIFM_CLRALL(m) ((m)=0)
-#define VIFM_COPY(mfrom,mto) ((mto)=(mfrom))
-#define VIFM_SAME(m1,m2) ((m1)==(m2))
-
-/* Passed by mrouted for an MRT_ADD_VIF - again we use the
- * mrouted 3.6 structures for compatibility
- */
-struct vifctl {
- vifi_t vifc_vifi; /* Index of VIF */
- unsigned char vifc_flags; /* VIFF_ flags */
- unsigned char vifc_threshold; /* ttl limit */
- unsigned int vifc_rate_limit; /* Rate limiter values (NI) */
- union {
- struct in_addr vifc_lcl_addr; /* Local interface address */
- int vifc_lcl_ifindex; /* Local interface index */
- };
- struct in_addr vifc_rmt_addr; /* IPIP tunnel addr */
-};
-
-#define VIFF_TUNNEL 0x1 /* IPIP tunnel */
-#define VIFF_SRCRT 0x2 /* NI */
-#define VIFF_REGISTER 0x4 /* register vif */
-#define VIFF_USE_IFINDEX 0x8 /* use vifc_lcl_ifindex instead of
- vifc_lcl_addr to find an interface */
-
-/* Cache manipulation structures for mrouted and PIMd */
-struct mfcctl {
- struct in_addr mfcc_origin; /* Origin of mcast */
- struct in_addr mfcc_mcastgrp; /* Group in question */
- vifi_t mfcc_parent; /* Where it arrived */
- unsigned char mfcc_ttls[MAXVIFS]; /* Where it is going */
- unsigned int mfcc_pkt_cnt; /* pkt count for src-grp */
- unsigned int mfcc_byte_cnt;
- unsigned int mfcc_wrong_if;
- int mfcc_expire;
-};
-
-/* Group count retrieval for mrouted */
-struct sioc_sg_req {
- struct in_addr src;
- struct in_addr grp;
- unsigned long pktcnt;
- unsigned long bytecnt;
- unsigned long wrong_if;
-};
-
-/* To get vif packet counts */
-struct sioc_vif_req {
- vifi_t vifi; /* Which iface */
- unsigned long icount; /* In packets */
- unsigned long ocount; /* Out packets */
- unsigned long ibytes; /* In bytes */
- unsigned long obytes; /* Out bytes */
-};
-
-/* This is the format the mroute daemon expects to see IGMP control
- * data. Magically happens to be like an IP packet as per the original
- */
-struct igmpmsg {
- __u32 unused1,unused2;
- unsigned char im_msgtype; /* What is this */
- unsigned char im_mbz; /* Must be zero */
- unsigned char im_vif; /* Interface (this ought to be a vifi_t!) */
- unsigned char unused3;
- struct in_addr im_src,im_dst;
-};
-
-/* That's all usermode folks */
-
-#define MFC_ASSERT_THRESH (3*HZ) /* Maximal freq. of asserts */
-
-/* Pseudo messages used by mrouted */
-#define IGMPMSG_NOCACHE 1 /* Kern cache fill request to mrouted */
-#define IGMPMSG_WRONGVIF 2 /* For PIM assert processing (unused) */
-#define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */
-
-#endif /* __LINUX_MROUTE_H */
diff --git a/linux-headers/include/linux/mroute6.h b/linux-headers/include/linux/mroute6.h
deleted file mode 100644
index cd56f58..0000000
--- a/linux-headers/include/linux/mroute6.h
+++ /dev/null
@@ -1,135 +0,0 @@
-#ifndef __LINUX_MROUTE6_H
-#define __LINUX_MROUTE6_H
-
-#include <linux/kernel.h>
-#include <linux/types.h>
-#include <linux/sockios.h>
-
-/*
- * Based on the MROUTING 3.5 defines primarily to keep
- * source compatibility with BSD.
- *
- * See the pim6sd code for the original history.
- *
- * Protocol Independent Multicast (PIM) data structures included
- * Carlos Picoto (cap@di.fc.ul.pt)
- *
- */
-
-#define MRT6_BASE 200
-#define MRT6_INIT (MRT6_BASE) /* Activate the kernel mroute code */
-#define MRT6_DONE (MRT6_BASE+1) /* Shutdown the kernel mroute */
-#define MRT6_ADD_MIF (MRT6_BASE+2) /* Add a virtual interface */
-#define MRT6_DEL_MIF (MRT6_BASE+3) /* Delete a virtual interface */
-#define MRT6_ADD_MFC (MRT6_BASE+4) /* Add a multicast forwarding entry */
-#define MRT6_DEL_MFC (MRT6_BASE+5) /* Delete a multicast forwarding entry */
-#define MRT6_VERSION (MRT6_BASE+6) /* Get the kernel multicast version */
-#define MRT6_ASSERT (MRT6_BASE+7) /* Activate PIM assert mode */
-#define MRT6_PIM (MRT6_BASE+8) /* enable PIM code */
-#define MRT6_TABLE (MRT6_BASE+9) /* Specify mroute table ID */
-#define MRT6_ADD_MFC_PROXY (MRT6_BASE+10) /* Add a (*,*|G) mfc entry */
-#define MRT6_DEL_MFC_PROXY (MRT6_BASE+11) /* Del a (*,*|G) mfc entry */
-#define MRT6_MAX (MRT6_BASE+11)
-
-#define SIOCGETMIFCNT_IN6 SIOCPROTOPRIVATE /* IP protocol privates */
-#define SIOCGETSGCNT_IN6 (SIOCPROTOPRIVATE+1)
-#define SIOCGETRPF (SIOCPROTOPRIVATE+2)
-
-#define MAXMIFS 32
-typedef unsigned long mifbitmap_t; /* User mode code depends on this lot */
-typedef unsigned short mifi_t;
-#define ALL_MIFS ((mifi_t)(-1))
-
-#ifndef IF_SETSIZE
-#define IF_SETSIZE 256
-#endif
-
-typedef __u32 if_mask;
-#define NIFBITS (sizeof(if_mask) * 8) /* bits per mask */
-
-typedef struct if_set {
- if_mask ifs_bits[__KERNEL_DIV_ROUND_UP(IF_SETSIZE, NIFBITS)];
-} if_set;
-
-#define IF_SET(n, p) ((p)->ifs_bits[(n)/NIFBITS] |= (1 << ((n) % NIFBITS)))
-#define IF_CLR(n, p) ((p)->ifs_bits[(n)/NIFBITS] &= ~(1 << ((n) % NIFBITS)))
-#define IF_ISSET(n, p) ((p)->ifs_bits[(n)/NIFBITS] & (1 << ((n) % NIFBITS)))
-#define IF_COPY(f, t) bcopy(f, t, sizeof(*(f)))
-#define IF_ZERO(p) bzero(p, sizeof(*(p)))
-
-/*
- * Passed by mrouted for an MRT_ADD_MIF - again we use the
- * mrouted 3.6 structures for compatibility
- */
-
-struct mif6ctl {
- mifi_t mif6c_mifi; /* Index of MIF */
- unsigned char mif6c_flags; /* MIFF_ flags */
- unsigned char vifc_threshold; /* ttl limit */
- __u16 mif6c_pifi; /* the index of the physical IF */
- unsigned int vifc_rate_limit; /* Rate limiter values (NI) */
-};
-
-#define MIFF_REGISTER 0x1 /* register vif */
-
-/*
- * Cache manipulation structures for mrouted and PIMd
- */
-
-struct mf6cctl {
- struct sockaddr_in6 mf6cc_origin; /* Origin of mcast */
- struct sockaddr_in6 mf6cc_mcastgrp; /* Group in question */
- mifi_t mf6cc_parent; /* Where it arrived */
- struct if_set mf6cc_ifset; /* Where it is going */
-};
-
-/*
- * Group count retrieval for pim6sd
- */
-
-struct sioc_sg_req6 {
- struct sockaddr_in6 src;
- struct sockaddr_in6 grp;
- unsigned long pktcnt;
- unsigned long bytecnt;
- unsigned long wrong_if;
-};
-
-/*
- * To get vif packet counts
- */
-
-struct sioc_mif_req6 {
- mifi_t mifi; /* Which iface */
- unsigned long icount; /* In packets */
- unsigned long ocount; /* Out packets */
- unsigned long ibytes; /* In bytes */
- unsigned long obytes; /* Out bytes */
-};
-
-/*
- * That's all usermode folks
- */
-
-
-
-/*
- * Structure used to communicate from kernel to multicast router.
- * We'll overlay the structure onto an MLD header (not an IPv6 heder like igmpmsg{}
- * used for IPv4 implementation). This is because this structure will be passed via an
- * IPv6 raw socket, on which an application will only receiver the payload i.e the data after
- * the IPv6 header and all the extension headers. (See section 3 of RFC 3542)
- */
-
-struct mrt6msg {
-#define MRT6MSG_NOCACHE 1
-#define MRT6MSG_WRONGMIF 2
-#define MRT6MSG_WHOLEPKT 3 /* used for use level encap */
- __u8 im6_mbz; /* must be zero */
- __u8 im6_msgtype; /* what type of message */
- __u16 im6_mif; /* mif rec'd on */
- __u32 im6_pad; /* padding for 64 bit arch */
- struct in6_addr im6_src, im6_dst;
-};
-
-#endif /* __LINUX_MROUTE6_H */
diff --git a/linux-headers/include/linux/msdos_fs.h b/linux-headers/include/linux/msdos_fs.h
deleted file mode 100644
index 983d3a6..0000000
--- a/linux-headers/include/linux/msdos_fs.h
+++ /dev/null
@@ -1,199 +0,0 @@
-#ifndef _LINUX_MSDOS_FS_H
-#define _LINUX_MSDOS_FS_H
-
-#include <linux/types.h>
-#include <linux/magic.h>
-#include <asm/byteorder.h>
-
-/*
- * The MS-DOS filesystem constants/structures
- */
-
-#define SECTOR_SIZE 512 /* sector size (bytes) */
-#define SECTOR_BITS 9 /* log2(SECTOR_SIZE) */
-#define MSDOS_DPB (MSDOS_DPS) /* dir entries per block */
-#define MSDOS_DPB_BITS 4 /* log2(MSDOS_DPB) */
-#define MSDOS_DPS (SECTOR_SIZE / sizeof(struct msdos_dir_entry))
-#define MSDOS_DPS_BITS 4 /* log2(MSDOS_DPS) */
-#define MSDOS_LONGNAME 256 /* maximum name length */
-#define CF_LE_W(v) le16_to_cpu(v)
-#define CF_LE_L(v) le32_to_cpu(v)
-#define CT_LE_W(v) cpu_to_le16(v)
-#define CT_LE_L(v) cpu_to_le32(v)
-
-#define MSDOS_ROOT_INO 1 /* The root inode number */
-#define MSDOS_FSINFO_INO 2 /* Used for managing the FSINFO block */
-
-#define MSDOS_DIR_BITS 5 /* log2(sizeof(struct msdos_dir_entry)) */
-
-/* directory limit */
-#define FAT_MAX_DIR_ENTRIES (65536)
-#define FAT_MAX_DIR_SIZE (FAT_MAX_DIR_ENTRIES << MSDOS_DIR_BITS)
-
-#define ATTR_NONE 0 /* no attribute bits */
-#define ATTR_RO 1 /* read-only */
-#define ATTR_HIDDEN 2 /* hidden */
-#define ATTR_SYS 4 /* system */
-#define ATTR_VOLUME 8 /* volume label */
-#define ATTR_DIR 16 /* directory */
-#define ATTR_ARCH 32 /* archived */
-
-/* attribute bits that are copied "as is" */
-#define ATTR_UNUSED (ATTR_VOLUME | ATTR_ARCH | ATTR_SYS | ATTR_HIDDEN)
-/* bits that are used by the Windows 95/Windows NT extended FAT */
-#define ATTR_EXT (ATTR_RO | ATTR_HIDDEN | ATTR_SYS | ATTR_VOLUME)
-
-#define CASE_LOWER_BASE 8 /* base is lower case */
-#define CASE_LOWER_EXT 16 /* extension is lower case */
-
-#define DELETED_FLAG 0xe5 /* marks file as deleted when in name[0] */
-#define IS_FREE(n) (!*(n) || *(n) == DELETED_FLAG)
-
-#define FAT_LFN_LEN 255 /* maximum long name length */
-#define MSDOS_NAME 11 /* maximum name length */
-#define MSDOS_SLOTS 21 /* max # of slots for short and long names */
-#define MSDOS_DOT ". " /* ".", padded to MSDOS_NAME chars */
-#define MSDOS_DOTDOT ".. " /* "..", padded to MSDOS_NAME chars */
-
-#define FAT_FIRST_ENT(s, x) ((MSDOS_SB(s)->fat_bits == 32 ? 0x0FFFFF00 : \
- MSDOS_SB(s)->fat_bits == 16 ? 0xFF00 : 0xF00) | (x))
-
-/* start of data cluster's entry (number of reserved clusters) */
-#define FAT_START_ENT 2
-
-/* maximum number of clusters */
-#define MAX_FAT12 0xFF4
-#define MAX_FAT16 0xFFF4
-#define MAX_FAT32 0x0FFFFFF6
-#define MAX_FAT(s) (MSDOS_SB(s)->fat_bits == 32 ? MAX_FAT32 : \
- MSDOS_SB(s)->fat_bits == 16 ? MAX_FAT16 : MAX_FAT12)
-
-/* bad cluster mark */
-#define BAD_FAT12 0xFF7
-#define BAD_FAT16 0xFFF7
-#define BAD_FAT32 0x0FFFFFF7
-
-/* standard EOF */
-#define EOF_FAT12 0xFFF
-#define EOF_FAT16 0xFFFF
-#define EOF_FAT32 0x0FFFFFFF
-
-#define FAT_ENT_FREE (0)
-#define FAT_ENT_BAD (BAD_FAT32)
-#define FAT_ENT_EOF (EOF_FAT32)
-
-#define FAT_FSINFO_SIG1 0x41615252
-#define FAT_FSINFO_SIG2 0x61417272
-#define IS_FSINFO(x) (le32_to_cpu((x)->signature1) == FAT_FSINFO_SIG1 \
- && le32_to_cpu((x)->signature2) == FAT_FSINFO_SIG2)
-
-#define FAT_STATE_DIRTY 0x01
-
-struct __fat_dirent {
- long d_ino;
- __kernel_off_t d_off;
- unsigned short d_reclen;
- char d_name[256]; /* We must not include limits.h! */
-};
-
-/*
- * ioctl commands
- */
-#define VFAT_IOCTL_READDIR_BOTH _IOR('r', 1, struct __fat_dirent[2])
-#define VFAT_IOCTL_READDIR_SHORT _IOR('r', 2, struct __fat_dirent[2])
-/* <linux/videotext.h> has used 0x72 ('r') in collision, so skip a few */
-#define FAT_IOCTL_GET_ATTRIBUTES _IOR('r', 0x10, __u32)
-#define FAT_IOCTL_SET_ATTRIBUTES _IOW('r', 0x11, __u32)
-/*Android kernel has used 0x12, so we use 0x13*/
-#define FAT_IOCTL_GET_VOLUME_ID _IOR('r', 0x13, __u32)
-
-struct fat_boot_sector {
- __u8 ignored[3]; /* Boot strap short or near jump */
- __u8 system_id[8]; /* Name - can be used to special case
- partition manager volumes */
- __u8 sector_size[2]; /* bytes per logical sector */
- __u8 sec_per_clus; /* sectors/cluster */
- __le16 reserved; /* reserved sectors */
- __u8 fats; /* number of FATs */
- __u8 dir_entries[2]; /* root directory entries */
- __u8 sectors[2]; /* number of sectors */
- __u8 media; /* media code */
- __le16 fat_length; /* sectors/FAT */
- __le16 secs_track; /* sectors per track */
- __le16 heads; /* number of heads */
- __le32 hidden; /* hidden sectors (unused) */
- __le32 total_sect; /* number of sectors (if sectors == 0) */
-
- union {
- struct {
- /* Extended BPB Fields for FAT16 */
- __u8 drive_number; /* Physical drive number */
- __u8 state; /* undocumented, but used
- for mount state. */
- __u8 signature; /* extended boot signature */
- __u8 vol_id[4]; /* volume ID */
- __u8 vol_label[11]; /* volume label */
- __u8 fs_type[8]; /* file system type */
- /* other fields are not added here */
- } fat16;
-
- struct {
- /* only used by FAT32 */
- __le32 length; /* sectors/FAT */
- __le16 flags; /* bit 8: fat mirroring,
- low 4: active fat */
- __u8 version[2]; /* major, minor filesystem
- version */
- __le32 root_cluster; /* first cluster in
- root directory */
- __le16 info_sector; /* filesystem info sector */
- __le16 backup_boot; /* backup boot sector */
- __le16 reserved2[6]; /* Unused */
- /* Extended BPB Fields for FAT32 */
- __u8 drive_number; /* Physical drive number */
- __u8 state; /* undocumented, but used
- for mount state. */
- __u8 signature; /* extended boot signature */
- __u8 vol_id[4]; /* volume ID */
- __u8 vol_label[11]; /* volume label */
- __u8 fs_type[8]; /* file system type */
- /* other fields are not added here */
- } fat32;
- };
-};
-
-struct fat_boot_fsinfo {
- __le32 signature1; /* 0x41615252L */
- __le32 reserved1[120]; /* Nothing as far as I can tell */
- __le32 signature2; /* 0x61417272L */
- __le32 free_clusters; /* Free cluster count. -1 if unknown */
- __le32 next_cluster; /* Most recently allocated cluster */
- __le32 reserved2[4];
-};
-
-struct msdos_dir_entry {
- __u8 name[MSDOS_NAME];/* name and extension */
- __u8 attr; /* attribute bits */
- __u8 lcase; /* Case for base and extension */
- __u8 ctime_cs; /* Creation time, centiseconds (0-199) */
- __le16 ctime; /* Creation time */
- __le16 cdate; /* Creation date */
- __le16 adate; /* Last access date */
- __le16 starthi; /* High 16 bits of cluster in FAT32 */
- __le16 time,date,start;/* time, date and first cluster */
- __le32 size; /* file size (in bytes) */
-};
-
-/* Up to 13 characters of the name */
-struct msdos_dir_slot {
- __u8 id; /* sequence number for slot */
- __u8 name0_4[10]; /* first 5 characters in name */
- __u8 attr; /* attribute byte */
- __u8 reserved; /* always 0 */
- __u8 alias_checksum; /* checksum for 8.3 alias */
- __u8 name5_10[12]; /* 6 more characters in name */
- __le16 start; /* starting cluster number, 0 in long slots */
- __u8 name11_12[4]; /* last 2 characters in name */
-};
-
-#endif /* _LINUX_MSDOS_FS_H */
diff --git a/linux-headers/include/linux/msg.h b/linux-headers/include/linux/msg.h
deleted file mode 100644
index 5844b04..0000000
--- a/linux-headers/include/linux/msg.h
+++ /dev/null
@@ -1,88 +0,0 @@
-#ifndef _LINUX_MSG_H
-#define _LINUX_MSG_H
-
-#include <linux/ipc.h>
-
-/* ipcs ctl commands */
-#define MSG_STAT 11
-#define MSG_INFO 12
-
-/* msgrcv options */
-#define MSG_NOERROR 010000 /* no error if message is too big */
-#define MSG_EXCEPT 020000 /* recv any msg except of specified type.*/
-#define MSG_COPY 040000 /* copy (not remove) all queue messages */
-
-/* Obsolete, used only for backwards compatibility and libc5 compiles */
-struct msqid_ds {
- struct ipc_perm msg_perm;
- struct msg *msg_first; /* first message on queue,unused */
- struct msg *msg_last; /* last message in queue,unused */
- __kernel_time_t msg_stime; /* last msgsnd time */
- __kernel_time_t msg_rtime; /* last msgrcv time */
- __kernel_time_t msg_ctime; /* last change time */
- unsigned long msg_lcbytes; /* Reuse junk fields for 32 bit */
- unsigned long msg_lqbytes; /* ditto */
- unsigned short msg_cbytes; /* current number of bytes on queue */
- unsigned short msg_qnum; /* number of messages in queue */
- unsigned short msg_qbytes; /* max number of bytes on queue */
- __kernel_ipc_pid_t msg_lspid; /* pid of last msgsnd */
- __kernel_ipc_pid_t msg_lrpid; /* last receive pid */
-};
-
-/* Include the definition of msqid64_ds */
-#include <asm/msgbuf.h>
-
-/* message buffer for msgsnd and msgrcv calls */
-struct msgbuf {
- __kernel_long_t mtype; /* type of message */
- char mtext[1]; /* message text */
-};
-
-/* buffer for msgctl calls IPC_INFO, MSG_INFO */
-struct msginfo {
- int msgpool;
- int msgmap;
- int msgmax;
- int msgmnb;
- int msgmni;
- int msgssz;
- int msgtql;
- unsigned short msgseg;
-};
-
-/*
- * MSGMNI, MSGMAX and MSGMNB are default values which can be
- * modified by sysctl.
- *
- * MSGMNI is the upper limit for the number of messages queues per
- * namespace.
- * It has been chosen to be as large possible without facilitating
- * scenarios where userspace causes overflows when adjusting the limits via
- * operations of the form retrieve current limit; add X; update limit".
- *
- * MSGMNB is the default size of a new message queue. Non-root tasks can
- * decrease the size with msgctl(IPC_SET), root tasks
- * (actually: CAP_SYS_RESOURCE) can both increase and decrease the queue
- * size. The optimal value is application dependent.
- * 16384 is used because it was always used (since 0.99.10)
- *
- * MAXMAX is the maximum size of an individual message, it's a global
- * (per-namespace) limit that applies for all message queues.
- * It's set to 1/2 of MSGMNB, to ensure that at least two messages fit into
- * the queue. This is also an arbitrary choice (since 2.6.0).
- */
-
-#define MSGMNI 32000 /* <= IPCMNI */ /* max # of msg queue identifiers */
-#define MSGMAX 8192 /* <= INT_MAX */ /* max size of message (bytes) */
-#define MSGMNB 16384 /* <= INT_MAX */ /* default max size of a message queue */
-
-/* unused */
-#define MSGPOOL (MSGMNI * MSGMNB / 1024) /* size in kbytes of message pool */
-#define MSGTQL MSGMNB /* number of system message headers */
-#define MSGMAP MSGMNB /* number of entries in message map */
-#define MSGSSZ 16 /* message segment size */
-#define __MSGSEG ((MSGPOOL * 1024) / MSGSSZ) /* max no. of segments */
-#define MSGSEG (__MSGSEG <= 0xffff ? __MSGSEG : 0xffff)
-
-
-#endif /* _LINUX_MSG_H */
diff --git a/linux-headers/include/linux/mtio.h b/linux-headers/include/linux/mtio.h
deleted file mode 100644
index 18543e2..0000000
--- a/linux-headers/include/linux/mtio.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * linux/mtio.h header file for Linux. Written by H. Bergman
- *
- * Modified for special ioctls provided by zftape in September 1997
- * by C.-J. Heine.
- */
-
-#ifndef _LINUX_MTIO_H
-#define _LINUX_MTIO_H
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-/*
- * Structures and definitions for mag tape io control commands
- */
-
-/* structure for MTIOCTOP - mag tape op command */
-struct mtop {
- short mt_op; /* operations defined below */
- int mt_count; /* how many of them */
-};
-
-/* Magnetic Tape operations [Not all operations supported by all drivers]: */
-#define MTRESET 0 /* +reset drive in case of problems */
-#define MTFSF 1 /* forward space over FileMark,
- * position at first record of next file
- */
-#define MTBSF 2 /* backward space FileMark (position before FM) */
-#define MTFSR 3 /* forward space record */
-#define MTBSR 4 /* backward space record */
-#define MTWEOF 5 /* write an end-of-file record (mark) */
-#define MTREW 6 /* rewind */
-#define MTOFFL 7 /* rewind and put the drive offline (eject?) */
-#define MTNOP 8 /* no op, set status only (read with MTIOCGET) */
-#define MTRETEN 9 /* retension tape */
-#define MTBSFM 10 /* +backward space FileMark, position at FM */
-#define MTFSFM 11 /* +forward space FileMark, position at FM */
-#define MTEOM 12 /* goto end of recorded media (for appending files).
- * MTEOM positions after the last FM, ready for
- * appending another file.
- */
-#define MTERASE 13 /* erase tape -- be careful! */
-
-#define MTRAS1 14 /* run self test 1 (nondestructive) */
-#define MTRAS2 15 /* run self test 2 (destructive) */
-#define MTRAS3 16 /* reserved for self test 3 */
-
-#define MTSETBLK 20 /* set block length (SCSI) */
-#define MTSETDENSITY 21 /* set tape density (SCSI) */
-#define MTSEEK 22 /* seek to block (Tandberg, etc.) */
-#define MTTELL 23 /* tell block (Tandberg, etc.) */
-#define MTSETDRVBUFFER 24 /* set the drive buffering according to SCSI-2 */
- /* ordinary buffered operation with code 1 */
-#define MTFSS 25 /* space forward over setmarks */
-#define MTBSS 26 /* space backward over setmarks */
-#define MTWSM 27 /* write setmarks */
-
-#define MTLOCK 28 /* lock the drive door */
-#define MTUNLOCK 29 /* unlock the drive door */
-#define MTLOAD 30 /* execute the SCSI load command */
-#define MTUNLOAD 31 /* execute the SCSI unload command */
-#define MTCOMPRESSION 32/* control compression with SCSI mode page 15 */
-#define MTSETPART 33 /* Change the active tape partition */
-#define MTMKPART 34 /* Format the tape with one or two partitions */
-#define MTWEOFI 35 /* write an end-of-file record (mark) in immediate mode */
-
-/* structure for MTIOCGET - mag tape get status command */
-
-struct mtget {
- long mt_type; /* type of magtape device */
- long mt_resid; /* residual count: (not sure)
- * number of bytes ignored, or
- * number of files not skipped, or
- * number of records not skipped.
- */
- /* the following registers are device dependent */
- long mt_dsreg; /* status register */
- long mt_gstat; /* generic (device independent) status */
- long mt_erreg; /* error register */
- /* The next two fields are not always used */
- __kernel_daddr_t mt_fileno; /* number of current file on tape */
- __kernel_daddr_t mt_blkno; /* current block number */
-};
-
-
-
-/*
- * Constants for mt_type. Not all of these are supported,
- * and these are not all of the ones that are supported.
- */
-#define MT_ISUNKNOWN 0x01
-#define MT_ISQIC02 0x02 /* Generic QIC-02 tape streamer */
-#define MT_ISWT5150 0x03 /* Wangtek 5150EQ, QIC-150, QIC-02 */
-#define MT_ISARCHIVE_5945L2 0x04 /* Archive 5945L-2, QIC-24, QIC-02? */
-#define MT_ISCMSJ500 0x05 /* CMS Jumbo 500 (QIC-02?) */
-#define MT_ISTDC3610 0x06 /* Tandberg 6310, QIC-24 */
-#define MT_ISARCHIVE_VP60I 0x07 /* Archive VP60i, QIC-02 */
-#define MT_ISARCHIVE_2150L 0x08 /* Archive Viper 2150L */
-#define MT_ISARCHIVE_2060L 0x09 /* Archive Viper 2060L */
-#define MT_ISARCHIVESC499 0x0A /* Archive SC-499 QIC-36 controller */
-#define MT_ISQIC02_ALL_FEATURES 0x0F /* Generic QIC-02 with all features */
-#define MT_ISWT5099EEN24 0x11 /* Wangtek 5099-een24, 60MB, QIC-24 */
-#define MT_ISTEAC_MT2ST 0x12 /* Teac MT-2ST 155mb drive, Teac DC-1 card (Wangtek type) */
-#define MT_ISEVEREX_FT40A 0x32 /* Everex FT40A (QIC-40) */
-#define MT_ISDDS1 0x51 /* DDS device without partitions */
-#define MT_ISDDS2 0x52 /* DDS device with partitions */
-#define MT_ISONSTREAM_SC 0x61 /* OnStream SCSI tape drives (SC-x0)
- and SCSI emulated (DI, DP, USB) */
-#define MT_ISSCSI1 0x71 /* Generic ANSI SCSI-1 tape unit */
-#define MT_ISSCSI2 0x72 /* Generic ANSI SCSI-2 tape unit */
-
-/* QIC-40/80/3010/3020 ftape supported drives.
- * 20bit vendor ID + 0x800000 (see ftape-vendors.h)
- */
-#define MT_ISFTAPE_UNKNOWN 0x800000 /* obsolete */
-#define MT_ISFTAPE_FLAG 0x800000
-
-
-/* structure for MTIOCPOS - mag tape get position command */
-
-struct mtpos {
- long mt_blkno; /* current block number */
-};
-
-
-/* mag tape io control commands */
-#define MTIOCTOP _IOW('m', 1, struct mtop) /* do a mag tape op */
-#define MTIOCGET _IOR('m', 2, struct mtget) /* get tape status */
-#define MTIOCPOS _IOR('m', 3, struct mtpos) /* get tape position */
-
-
-/* Generic Mag Tape (device independent) status macros for examining
- * mt_gstat -- HP-UX compatible.
- * There is room for more generic status bits here, but I don't
- * know which of them are reserved. At least three or so should
- * be added to make this really useful.
- */
-#define GMT_EOF(x) ((x) & 0x80000000)
-#define GMT_BOT(x) ((x) & 0x40000000)
-#define GMT_EOT(x) ((x) & 0x20000000)
-#define GMT_SM(x) ((x) & 0x10000000) /* DDS setmark */
-#define GMT_EOD(x) ((x) & 0x08000000) /* DDS EOD */
-#define GMT_WR_PROT(x) ((x) & 0x04000000)
-/* #define GMT_ ? ((x) & 0x02000000) */
-#define GMT_ONLINE(x) ((x) & 0x01000000)
-#define GMT_D_6250(x) ((x) & 0x00800000)
-#define GMT_D_1600(x) ((x) & 0x00400000)
-#define GMT_D_800(x) ((x) & 0x00200000)
-/* #define GMT_ ? ((x) & 0x00100000) */
-/* #define GMT_ ? ((x) & 0x00080000) */
-#define GMT_DR_OPEN(x) ((x) & 0x00040000) /* door open (no tape) */
-/* #define GMT_ ? ((x) & 0x00020000) */
-#define GMT_IM_REP_EN(x) ((x) & 0x00010000) /* immediate report mode */
-#define GMT_CLN(x) ((x) & 0x00008000) /* cleaning requested */
-/* 15 generic status bits unused */
-
-
-/* SCSI-tape specific definitions */
-/* Bitfield shifts in the status */
-#define MT_ST_BLKSIZE_SHIFT 0
-#define MT_ST_BLKSIZE_MASK 0xffffff
-#define MT_ST_DENSITY_SHIFT 24
-#define MT_ST_DENSITY_MASK 0xff000000
-
-#define MT_ST_SOFTERR_SHIFT 0
-#define MT_ST_SOFTERR_MASK 0xffff
-
-/* Bitfields for the MTSETDRVBUFFER ioctl */
-#define MT_ST_OPTIONS 0xf0000000
-#define MT_ST_BOOLEANS 0x10000000
-#define MT_ST_SETBOOLEANS 0x30000000
-#define MT_ST_CLEARBOOLEANS 0x40000000
-#define MT_ST_WRITE_THRESHOLD 0x20000000
-#define MT_ST_DEF_BLKSIZE 0x50000000
-#define MT_ST_DEF_OPTIONS 0x60000000
-#define MT_ST_TIMEOUTS 0x70000000
-#define MT_ST_SET_TIMEOUT (MT_ST_TIMEOUTS | 0x000000)
-#define MT_ST_SET_LONG_TIMEOUT (MT_ST_TIMEOUTS | 0x100000)
-#define MT_ST_SET_CLN 0x80000000
-
-#define MT_ST_BUFFER_WRITES 0x1
-#define MT_ST_ASYNC_WRITES 0x2
-#define MT_ST_READ_AHEAD 0x4
-#define MT_ST_DEBUGGING 0x8
-#define MT_ST_TWO_FM 0x10
-#define MT_ST_FAST_MTEOM 0x20
-#define MT_ST_AUTO_LOCK 0x40
-#define MT_ST_DEF_WRITES 0x80
-#define MT_ST_CAN_BSR 0x100
-#define MT_ST_NO_BLKLIMS 0x200
-#define MT_ST_CAN_PARTITIONS 0x400
-#define MT_ST_SCSI2LOGICAL 0x800
-#define MT_ST_SYSV 0x1000
-#define MT_ST_NOWAIT 0x2000
-#define MT_ST_SILI 0x4000
-#define MT_ST_NOWAIT_EOF 0x8000
-
-/* The mode parameters to be controlled. Parameter chosen with bits 20-28 */
-#define MT_ST_CLEAR_DEFAULT 0xfffff
-#define MT_ST_DEF_DENSITY (MT_ST_DEF_OPTIONS | 0x100000)
-#define MT_ST_DEF_COMPRESSION (MT_ST_DEF_OPTIONS | 0x200000)
-#define MT_ST_DEF_DRVBUFFER (MT_ST_DEF_OPTIONS | 0x300000)
-
-/* The offset for the arguments for the special HP changer load command. */
-#define MT_ST_HPLOADER_OFFSET 10000
-
-#endif /* _LINUX_MTIO_H */
diff --git a/linux-headers/include/linux/n_r3964.h b/linux-headers/include/linux/n_r3964.h
deleted file mode 100644
index 168a0f9..0000000
--- a/linux-headers/include/linux/n_r3964.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/* r3964 linediscipline for linux
- *
- * -----------------------------------------------------------
- * Copyright by
- * Philips Automation Projects
- * Kassel (Germany)
- * -----------------------------------------------------------
- * This software may be used and distributed according to the terms of
- * the GNU General Public License, incorporated herein by reference.
- *
- * Author:
- * L. Haag
- *
- * $Log: r3964.h,v $
- * Revision 1.4 2005/12/21 19:54:24 Kurt Huwig <kurt huwig de>
- * Fixed HZ usage on 2.6 kernels
- * Removed unnecessary include
- *
- * Revision 1.3 2001/03/18 13:02:24 dwmw2
- * Fix timer usage, use spinlocks properly.
- *
- * Revision 1.2 2001/03/18 12:53:15 dwmw2
- * Merge changes in 2.4.2
- *
- * Revision 1.1.1.1 1998/10/13 16:43:14 dwmw2
- * This'll screw the version control
- *
- * Revision 1.6 1998/09/30 00:40:38 dwmw2
- * Updated to use kernel's N_R3964 if available
- *
- * Revision 1.4 1998/04/02 20:29:44 lhaag
- * select, blocking, ...
- *
- * Revision 1.3 1998/02/12 18:58:43 root
- * fixed some memory leaks
- * calculation of checksum characters
- *
- * Revision 1.2 1998/02/07 13:03:17 root
- * ioctl read_telegram
- *
- * Revision 1.1 1998/02/06 19:19:43 root
- * Initial revision
- *
- *
- */
-
-#ifndef __LINUX_N_R3964_H__
-#define __LINUX_N_R3964_H__
-
-/* line disciplines for r3964 protocol */
-
-
-/*
- * Ioctl-commands
- */
-
-#define R3964_ENABLE_SIGNALS 0x5301
-#define R3964_SETPRIORITY 0x5302
-#define R3964_USE_BCC 0x5303
-#define R3964_READ_TELEGRAM 0x5304
-
-/* Options for R3964_SETPRIORITY */
-#define R3964_MASTER 0
-#define R3964_SLAVE 1
-
-/* Options for R3964_ENABLE_SIGNALS */
-#define R3964_SIG_ACK 0x0001
-#define R3964_SIG_DATA 0x0002
-#define R3964_SIG_ALL 0x000f
-#define R3964_SIG_NONE 0x0000
-#define R3964_USE_SIGIO 0x1000
-
-/*
- * r3964 operation states:
- */
-
-/* types for msg_id: */
-enum {R3964_MSG_ACK=1, R3964_MSG_DATA };
-
-#define R3964_MAX_MSG_COUNT 32
-
-/* error codes for client messages */
-#define R3964_OK 0 /* no error. */
-#define R3964_TX_FAIL -1 /* transmission error, block NOT sent */
-#define R3964_OVERFLOW -2 /* msg queue overflow */
-
-/* the client gets this struct when calling read(fd,...): */
-struct r3964_client_message {
- int msg_id;
- int arg;
- int error_code;
-};
-
-#define R3964_MTU 256
-
-
-
-#endif /* __LINUX_N_R3964_H__ */
diff --git a/linux-headers/include/linux/nbd.h b/linux-headers/include/linux/nbd.h
deleted file mode 100644
index c8cca35..0000000
--- a/linux-headers/include/linux/nbd.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * 1999 Copyright (C) Pavel Machek, pavel@ucw.cz. This code is GPL.
- * 1999/11/04 Copyright (C) 1999 VMware, Inc. (Regis "HPReg" Duchesne)
- * Made nbd_end_request() use the io_request_lock
- * 2001 Copyright (C) Steven Whitehouse
- * New nbd_end_request() for compatibility with new linux block
- * layer code.
- * 2003/06/24 Louis D. Langholtz <ldl@aros.net>
- * Removed unneeded blksize_bits field from nbd_device struct.
- * Cleanup PARANOIA usage & code.
- * 2004/02/19 Paul Clements
- * Removed PARANOIA, plus various cleanup and comments
- */
-
-#ifndef LINUX_NBD_H
-#define LINUX_NBD_H
-
-#include <linux/types.h>
-
-#define NBD_SET_SOCK _IO( 0xab, 0 )
-#define NBD_SET_BLKSIZE _IO( 0xab, 1 )
-#define NBD_SET_SIZE _IO( 0xab, 2 )
-#define NBD_DO_IT _IO( 0xab, 3 )
-#define NBD_CLEAR_SOCK _IO( 0xab, 4 )
-#define NBD_CLEAR_QUE _IO( 0xab, 5 )
-#define NBD_PRINT_DEBUG _IO( 0xab, 6 )
-#define NBD_SET_SIZE_BLOCKS _IO( 0xab, 7 )
-#define NBD_DISCONNECT _IO( 0xab, 8 )
-#define NBD_SET_TIMEOUT _IO( 0xab, 9 )
-#define NBD_SET_FLAGS _IO( 0xab, 10)
-
-enum {
- NBD_CMD_READ = 0,
- NBD_CMD_WRITE = 1,
- NBD_CMD_DISC = 2,
- NBD_CMD_FLUSH = 3,
- NBD_CMD_TRIM = 4
-};
-
-/* values for flags field */
-#define NBD_FLAG_HAS_FLAGS (1 << 0) /* nbd-server supports flags */
-#define NBD_FLAG_READ_ONLY (1 << 1) /* device is read-only */
-#define NBD_FLAG_SEND_FLUSH (1 << 2) /* can flush writeback cache */
-/* there is a gap here to match userspace */
-#define NBD_FLAG_SEND_TRIM (1 << 5) /* send trim/discard */
-
-/* userspace doesn't need the nbd_device structure */
-
-/* These are sent over the network in the request/reply magic fields */
-
-#define NBD_REQUEST_MAGIC 0x25609513
-#define NBD_REPLY_MAGIC 0x67446698
-/* Do *not* use magics: 0x12560953 0x96744668. */
-
-/*
- * This is the packet used for communication between client and
- * server. All data are in network byte order.
- */
-struct nbd_request {
- __be32 magic;
- __be32 type; /* == READ || == WRITE */
- char handle[8];
- __be64 from;
- __be32 len;
-} __attribute__((packed));
-
-/*
- * This is the reply packet that nbd-server sends back to the client after
- * it has completed an I/O request (or an error occurs).
- */
-struct nbd_reply {
- __be32 magic;
- __be32 error; /* 0 = ok, else error */
- char handle[8]; /* handle you got from request */
-};
-#endif /* LINUX_NBD_H */
diff --git a/linux-headers/include/linux/ncp.h b/linux-headers/include/linux/ncp.h
deleted file mode 100644
index 4482ad7..0000000
--- a/linux-headers/include/linux/ncp.h
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * ncp.h
- *
- * Copyright (C) 1995 by Volker Lendecke
- * Modified for sparc by J.F. Chadima
- * Modified for __constant_ntoh by Frank A. Vorstenbosch
- *
- */
-
-#ifndef _LINUX_NCP_H
-#define _LINUX_NCP_H
-
-#include <linux/types.h>
-
-#define NCP_PTYPE (0x11)
-#define NCP_PORT (0x0451)
-
-#define NCP_ALLOC_SLOT_REQUEST (0x1111)
-#define NCP_REQUEST (0x2222)
-#define NCP_DEALLOC_SLOT_REQUEST (0x5555)
-
-struct ncp_request_header {
- __u16 type;
- __u8 sequence;
- __u8 conn_low;
- __u8 task;
- __u8 conn_high;
- __u8 function;
- __u8 data[0];
-} __attribute__((packed));
-
-#define NCP_REPLY (0x3333)
-#define NCP_WATCHDOG (0x3E3E)
-#define NCP_POSITIVE_ACK (0x9999)
-
-struct ncp_reply_header {
- __u16 type;
- __u8 sequence;
- __u8 conn_low;
- __u8 task;
- __u8 conn_high;
- __u8 completion_code;
- __u8 connection_state;
- __u8 data[0];
-} __attribute__((packed));
-
-#define NCP_VOLNAME_LEN (16)
-#define NCP_NUMBER_OF_VOLUMES (256)
-struct ncp_volume_info {
- __u32 total_blocks;
- __u32 free_blocks;
- __u32 purgeable_blocks;
- __u32 not_yet_purgeable_blocks;
- __u32 total_dir_entries;
- __u32 available_dir_entries;
- __u8 sectors_per_block;
- char volume_name[NCP_VOLNAME_LEN + 1];
-};
-
-#define AR_READ (cpu_to_le16(1))
-#define AR_WRITE (cpu_to_le16(2))
-#define AR_EXCLUSIVE (cpu_to_le16(0x20))
-
-#define NCP_FILE_ID_LEN 6
-
-/* Defines for Name Spaces */
-#define NW_NS_DOS 0
-#define NW_NS_MAC 1
-#define NW_NS_NFS 2
-#define NW_NS_FTAM 3
-#define NW_NS_OS2 4
-
-/* Defines for ReturnInformationMask */
-#define RIM_NAME (cpu_to_le32(1))
-#define RIM_SPACE_ALLOCATED (cpu_to_le32(2))
-#define RIM_ATTRIBUTES (cpu_to_le32(4))
-#define RIM_DATA_SIZE (cpu_to_le32(8))
-#define RIM_TOTAL_SIZE (cpu_to_le32(0x10))
-#define RIM_EXT_ATTR_INFO (cpu_to_le32(0x20))
-#define RIM_ARCHIVE (cpu_to_le32(0x40))
-#define RIM_MODIFY (cpu_to_le32(0x80))
-#define RIM_CREATION (cpu_to_le32(0x100))
-#define RIM_OWNING_NAMESPACE (cpu_to_le32(0x200))
-#define RIM_DIRECTORY (cpu_to_le32(0x400))
-#define RIM_RIGHTS (cpu_to_le32(0x800))
-#define RIM_ALL (cpu_to_le32(0xFFF))
-#define RIM_COMPRESSED_INFO (cpu_to_le32(0x80000000))
-
-/* Defines for NSInfoBitMask */
-#define NSIBM_NFS_NAME 0x0001
-#define NSIBM_NFS_MODE 0x0002
-#define NSIBM_NFS_GID 0x0004
-#define NSIBM_NFS_NLINKS 0x0008
-#define NSIBM_NFS_RDEV 0x0010
-#define NSIBM_NFS_LINK 0x0020
-#define NSIBM_NFS_CREATED 0x0040
-#define NSIBM_NFS_UID 0x0080
-#define NSIBM_NFS_ACSFLAG 0x0100
-#define NSIBM_NFS_MYFLAG 0x0200
-
-/* open/create modes */
-#define OC_MODE_OPEN 0x01
-#define OC_MODE_TRUNCATE 0x02
-#define OC_MODE_REPLACE 0x02
-#define OC_MODE_CREATE 0x08
-
-/* open/create results */
-#define OC_ACTION_NONE 0x00
-#define OC_ACTION_OPEN 0x01
-#define OC_ACTION_CREATE 0x02
-#define OC_ACTION_TRUNCATE 0x04
-#define OC_ACTION_REPLACE 0x04
-
-/* access rights attributes */
-#ifndef AR_READ_ONLY
-#define AR_READ_ONLY 0x0001
-#define AR_WRITE_ONLY 0x0002
-#define AR_DENY_READ 0x0004
-#define AR_DENY_WRITE 0x0008
-#define AR_COMPATIBILITY 0x0010
-#define AR_WRITE_THROUGH 0x0040
-#define AR_OPEN_COMPRESSED 0x0100
-#endif
-
-struct nw_nfs_info {
- __u32 mode;
- __u32 rdev;
-};
-
-struct nw_info_struct {
- __u32 spaceAlloc;
- __le32 attributes;
- __u16 flags;
- __le32 dataStreamSize;
- __le32 totalStreamSize;
- __u16 numberOfStreams;
- __le16 creationTime;
- __le16 creationDate;
- __u32 creatorID;
- __le16 modifyTime;
- __le16 modifyDate;
- __u32 modifierID;
- __le16 lastAccessDate;
- __u16 archiveTime;
- __u16 archiveDate;
- __u32 archiverID;
- __u16 inheritedRightsMask;
- __le32 dirEntNum;
- __le32 DosDirNum;
- __u32 volNumber;
- __u32 EADataSize;
- __u32 EAKeyCount;
- __u32 EAKeySize;
- __u32 NSCreator;
- __u8 nameLen;
- __u8 entryName[256];
- /* libncp may depend on there being nothing after entryName */
-} __attribute__((packed));
-
-/* modify mask - use with MODIFY_DOS_INFO structure */
-#define DM_ATTRIBUTES (cpu_to_le32(0x02))
-#define DM_CREATE_DATE (cpu_to_le32(0x04))
-#define DM_CREATE_TIME (cpu_to_le32(0x08))
-#define DM_CREATOR_ID (cpu_to_le32(0x10))
-#define DM_ARCHIVE_DATE (cpu_to_le32(0x20))
-#define DM_ARCHIVE_TIME (cpu_to_le32(0x40))
-#define DM_ARCHIVER_ID (cpu_to_le32(0x80))
-#define DM_MODIFY_DATE (cpu_to_le32(0x0100))
-#define DM_MODIFY_TIME (cpu_to_le32(0x0200))
-#define DM_MODIFIER_ID (cpu_to_le32(0x0400))
-#define DM_LAST_ACCESS_DATE (cpu_to_le32(0x0800))
-#define DM_INHERITED_RIGHTS_MASK (cpu_to_le32(0x1000))
-#define DM_MAXIMUM_SPACE (cpu_to_le32(0x2000))
-
-struct nw_modify_dos_info {
- __le32 attributes;
- __le16 creationDate;
- __le16 creationTime;
- __u32 creatorID;
- __le16 modifyDate;
- __le16 modifyTime;
- __u32 modifierID;
- __u16 archiveDate;
- __u16 archiveTime;
- __u32 archiverID;
- __le16 lastAccessDate;
- __u16 inheritanceGrantMask;
- __u16 inheritanceRevokeMask;
- __u32 maximumSpace;
-} __attribute__((packed));
-
-struct nw_search_sequence {
- __u8 volNumber;
- __u32 dirBase;
- __u32 sequence;
-} __attribute__((packed));
-
-#endif /* _LINUX_NCP_H */
diff --git a/linux-headers/include/linux/ncp_fs.h b/linux-headers/include/linux/ncp_fs.h
deleted file mode 100644
index 9b84469..0000000
--- a/linux-headers/include/linux/ncp_fs.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * ncp_fs.h
- *
- * Copyright (C) 1995, 1996 by Volker Lendecke
- *
- */
-
-#ifndef _LINUX_NCP_FS_H
-#define _LINUX_NCP_FS_H
-
-#include <linux/fs.h>
-#include <linux/in.h>
-#include <linux/types.h>
-#include <linux/magic.h>
-
-#include <linux/ipx.h>
-#include <linux/ncp_no.h>
-
-/*
- * ioctl commands
- */
-
-struct ncp_ioctl_request {
- unsigned int function;
- unsigned int size;
- char *data;
-};
-
-struct ncp_fs_info {
- int version;
- struct sockaddr_ipx addr;
- __kernel_uid_t mounted_uid;
- int connection; /* Connection number the server assigned us */
- int buffer_size; /* The negotiated buffer size, to be
- used for read/write requests! */
-
- int volume_number;
- __le32 directory_id;
-};
-
-struct ncp_fs_info_v2 {
- int version;
- unsigned long mounted_uid;
- unsigned int connection;
- unsigned int buffer_size;
-
- unsigned int volume_number;
- __le32 directory_id;
-
- __u32 dummy1;
- __u32 dummy2;
- __u32 dummy3;
-};
-
-struct ncp_sign_init
-{
- char sign_root[8];
- char sign_last[16];
-};
-
-struct ncp_lock_ioctl
-{
-#define NCP_LOCK_LOG 0
-#define NCP_LOCK_SH 1
-#define NCP_LOCK_EX 2
-#define NCP_LOCK_CLEAR 256
- int cmd;
- int origin;
- unsigned int offset;
- unsigned int length;
-#define NCP_LOCK_DEFAULT_TIMEOUT 18
-#define NCP_LOCK_MAX_TIMEOUT 180
- int timeout;
-};
-
-struct ncp_setroot_ioctl
-{
- int volNumber;
- int namespace;
- __le32 dirEntNum;
-};
-
-struct ncp_objectname_ioctl
-{
-#define NCP_AUTH_NONE 0x00
-#define NCP_AUTH_BIND 0x31
-#define NCP_AUTH_NDS 0x32
- int auth_type;
- size_t object_name_len;
- void * object_name; /* a userspace data, in most cases user name */
-};
-
-struct ncp_privatedata_ioctl
-{
- size_t len;
- void * data; /* ~1000 for NDS */
-};
-
-/* NLS charsets by ioctl */
-#define NCP_IOCSNAME_LEN 20
-struct ncp_nls_ioctl
-{
- unsigned char codepage[NCP_IOCSNAME_LEN+1];
- unsigned char iocharset[NCP_IOCSNAME_LEN+1];
-};
-
-#define NCP_IOC_NCPREQUEST _IOR('n', 1, struct ncp_ioctl_request)
-#define NCP_IOC_GETMOUNTUID _IOW('n', 2, __kernel_old_uid_t)
-#define NCP_IOC_GETMOUNTUID2 _IOW('n', 2, unsigned long)
-
-#define NCP_IOC_CONN_LOGGED_IN _IO('n', 3)
-
-#define NCP_GET_FS_INFO_VERSION (1)
-#define NCP_IOC_GET_FS_INFO _IOWR('n', 4, struct ncp_fs_info)
-#define NCP_GET_FS_INFO_VERSION_V2 (2)
-#define NCP_IOC_GET_FS_INFO_V2 _IOWR('n', 4, struct ncp_fs_info_v2)
-
-#define NCP_IOC_SIGN_INIT _IOR('n', 5, struct ncp_sign_init)
-#define NCP_IOC_SIGN_WANTED _IOR('n', 6, int)
-#define NCP_IOC_SET_SIGN_WANTED _IOW('n', 6, int)
-
-#define NCP_IOC_LOCKUNLOCK _IOR('n', 7, struct ncp_lock_ioctl)
-
-#define NCP_IOC_GETROOT _IOW('n', 8, struct ncp_setroot_ioctl)
-#define NCP_IOC_SETROOT _IOR('n', 8, struct ncp_setroot_ioctl)
-
-#define NCP_IOC_GETOBJECTNAME _IOWR('n', 9, struct ncp_objectname_ioctl)
-#define NCP_IOC_SETOBJECTNAME _IOR('n', 9, struct ncp_objectname_ioctl)
-#define NCP_IOC_GETPRIVATEDATA _IOWR('n', 10, struct ncp_privatedata_ioctl)
-#define NCP_IOC_SETPRIVATEDATA _IOR('n', 10, struct ncp_privatedata_ioctl)
-
-#define NCP_IOC_GETCHARSETS _IOWR('n', 11, struct ncp_nls_ioctl)
-#define NCP_IOC_SETCHARSETS _IOR('n', 11, struct ncp_nls_ioctl)
-
-#define NCP_IOC_GETDENTRYTTL _IOW('n', 12, __u32)
-#define NCP_IOC_SETDENTRYTTL _IOR('n', 12, __u32)
-
-/*
- * The packet size to allocate. One page should be enough.
- */
-#define NCP_PACKET_SIZE 4070
-
-#define NCP_MAXPATHLEN 255
-#define NCP_MAXNAMELEN 14
-
-#endif /* _LINUX_NCP_FS_H */
diff --git a/linux-headers/include/linux/ncp_mount.h b/linux-headers/include/linux/ncp_mount.h
deleted file mode 100644
index dfcbea2..0000000
--- a/linux-headers/include/linux/ncp_mount.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * ncp_mount.h
- *
- * Copyright (C) 1995, 1996 by Volker Lendecke
- *
- */
-
-#ifndef _LINUX_NCP_MOUNT_H
-#define _LINUX_NCP_MOUNT_H
-
-#include <linux/types.h>
-#include <linux/ncp.h>
-
-#define NCP_MOUNT_VERSION 3 /* Binary */
-
-/* Values for flags */
-#define NCP_MOUNT_SOFT 0x0001
-#define NCP_MOUNT_INTR 0x0002
-#define NCP_MOUNT_STRONG 0x0004 /* enable delete/rename of r/o files */
-#define NCP_MOUNT_NO_OS2 0x0008 /* do not use OS/2 (LONG) namespace */
-#define NCP_MOUNT_NO_NFS 0x0010 /* do not use NFS namespace */
-#define NCP_MOUNT_EXTRAS 0x0020
-#define NCP_MOUNT_SYMLINKS 0x0040 /* enable symlinks */
-#define NCP_MOUNT_NFS_EXTRAS 0x0080 /* Enable use of NFS NS meta-info */
-
-struct ncp_mount_data {
- int version;
- unsigned int ncp_fd; /* The socket to the ncp port */
- __kernel_uid_t mounted_uid; /* Who may umount() this filesystem? */
- __kernel_pid_t wdog_pid; /* Who cares for our watchdog packets? */
-
- unsigned char mounted_vol[NCP_VOLNAME_LEN + 1];
- unsigned int time_out; /* How long should I wait after
- sending a NCP request? */
- unsigned int retry_count; /* And how often should I retry? */
- unsigned int flags;
-
- __kernel_uid_t uid;
- __kernel_gid_t gid;
- __kernel_mode_t file_mode;
- __kernel_mode_t dir_mode;
-};
-
-#define NCP_MOUNT_VERSION_V4 (4) /* Binary or text */
-
-struct ncp_mount_data_v4 {
- int version;
- unsigned long flags; /* NCP_MOUNT_* flags */
- /* MIPS uses long __kernel_uid_t, but... */
- /* we neever pass -1, so it is safe */
- unsigned long mounted_uid; /* Who may umount() this filesystem? */
- /* MIPS uses long __kernel_pid_t */
- long wdog_pid; /* Who cares for our watchdog packets? */
-
- unsigned int ncp_fd; /* The socket to the ncp port */
- unsigned int time_out; /* How long should I wait after
- sending a NCP request? */
- unsigned int retry_count; /* And how often should I retry? */
-
- /* MIPS uses long __kernel_uid_t... */
- /* we never pass -1, so it is safe */
- unsigned long uid;
- unsigned long gid;
- /* MIPS uses unsigned long __kernel_mode_t */
- unsigned long file_mode;
- unsigned long dir_mode;
-};
-
-#define NCP_MOUNT_VERSION_V5 (5) /* Text only */
-
-#endif
diff --git a/linux-headers/include/linux/ncp_no.h b/linux-headers/include/linux/ncp_no.h
deleted file mode 100644
index cddaa48..0000000
--- a/linux-headers/include/linux/ncp_no.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _NCP_NO
-#define _NCP_NO
-
-/* these define the attribute byte as seen by NCP */
-#define aRONLY (__cpu_to_le32(1))
-#define aHIDDEN (__cpu_to_le32(2))
-#define aSYSTEM (__cpu_to_le32(4))
-#define aEXECUTE (__cpu_to_le32(8))
-#define aDIR (__cpu_to_le32(0x10))
-#define aARCH (__cpu_to_le32(0x20))
-#define aSHARED (__cpu_to_le32(0x80))
-#define aDONTSUBALLOCATE (__cpu_to_le32(1L<<11))
-#define aTRANSACTIONAL (__cpu_to_le32(1L<<12))
-#define aPURGE (__cpu_to_le32(1L<<16))
-#define aRENAMEINHIBIT (__cpu_to_le32(1L<<17))
-#define aDELETEINHIBIT (__cpu_to_le32(1L<<18))
-#define aDONTCOMPRESS (__cpu_to_le32(1L<<27))
-
-#endif /* _NCP_NO */
diff --git a/linux-headers/include/linux/ndctl.h b/linux-headers/include/linux/ndctl.h
deleted file mode 100644
index 5b40833..0000000
--- a/linux-headers/include/linux/ndctl.h
+++ /dev/null
@@ -1,227 +0,0 @@
-/*
- * Copyright (c) 2014-2015, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU Lesser General Public License,
- * version 2.1, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT ANY
- * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for
- * more details.
- */
-#ifndef __NDCTL_H__
-#define __NDCTL_H__
-
-#include <linux/types.h>
-
-struct nd_cmd_smart {
- __u32 status;
- __u8 data[128];
-} __attribute__((packed));
-
-struct nd_cmd_smart_threshold {
- __u32 status;
- __u8 data[8];
-} __attribute__((packed));
-
-struct nd_cmd_dimm_flags {
- __u32 status;
- __u32 flags;
-} __attribute__((packed));
-
-struct nd_cmd_get_config_size {
- __u32 status;
- __u32 config_size;
- __u32 max_xfer;
-} __attribute__((packed));
-
-struct nd_cmd_get_config_data_hdr {
- __u32 in_offset;
- __u32 in_length;
- __u32 status;
- __u8 out_buf[0];
-} __attribute__((packed));
-
-struct nd_cmd_set_config_hdr {
- __u32 in_offset;
- __u32 in_length;
- __u8 in_buf[0];
-} __attribute__((packed));
-
-struct nd_cmd_vendor_hdr {
- __u32 opcode;
- __u32 in_length;
- __u8 in_buf[0];
-} __attribute__((packed));
-
-struct nd_cmd_vendor_tail {
- __u32 status;
- __u32 out_length;
- __u8 out_buf[0];
-} __attribute__((packed));
-
-struct nd_cmd_ars_cap {
- __u64 address;
- __u64 length;
- __u32 status;
- __u32 max_ars_out;
- __u32 clear_err_unit;
- __u32 reserved;
-} __attribute__((packed));
-
-struct nd_cmd_ars_start {
- __u64 address;
- __u64 length;
- __u16 type;
- __u8 flags;
- __u8 reserved[5];
- __u32 status;
- __u32 scrub_time;
-} __attribute__((packed));
-
-struct nd_cmd_ars_status {
- __u32 status;
- __u32 out_length;
- __u64 address;
- __u64 length;
- __u64 restart_address;
- __u64 restart_length;
- __u16 type;
- __u16 flags;
- __u32 num_records;
- struct nd_ars_record {
- __u32 handle;
- __u32 reserved;
- __u64 err_address;
- __u64 length;
- } __attribute__((packed)) records[0];
-} __attribute__((packed));
-
-struct nd_cmd_clear_error {
- __u64 address;
- __u64 length;
- __u32 status;
- __u8 reserved[4];
- __u64 cleared;
-} __attribute__((packed));
-
-enum {
- ND_CMD_IMPLEMENTED = 0,
-
- /* bus commands */
- ND_CMD_ARS_CAP = 1,
- ND_CMD_ARS_START = 2,
- ND_CMD_ARS_STATUS = 3,
- ND_CMD_CLEAR_ERROR = 4,
-
- /* per-dimm commands */
- ND_CMD_SMART = 1,
- ND_CMD_SMART_THRESHOLD = 2,
- ND_CMD_DIMM_FLAGS = 3,
- ND_CMD_GET_CONFIG_SIZE = 4,
- ND_CMD_GET_CONFIG_DATA = 5,
- ND_CMD_SET_CONFIG_DATA = 6,
- ND_CMD_VENDOR_EFFECT_LOG_SIZE = 7,
- ND_CMD_VENDOR_EFFECT_LOG = 8,
- ND_CMD_VENDOR = 9,
-};
-
-enum {
- ND_ARS_VOLATILE = 1,
- ND_ARS_PERSISTENT = 2,
-};
-
-static __inline__ const char *nvdimm_bus_cmd_name(unsigned cmd)
-{
- static const char * const names[] = {
- [ND_CMD_ARS_CAP] = "ars_cap",
- [ND_CMD_ARS_START] = "ars_start",
- [ND_CMD_ARS_STATUS] = "ars_status",
- [ND_CMD_CLEAR_ERROR] = "clear_error",
- };
-
- if (cmd < ARRAY_SIZE(names) && names[cmd])
- return names[cmd];
- return "unknown";
-}
-
-static __inline__ const char *nvdimm_cmd_name(unsigned cmd)
-{
- static const char * const names[] = {
- [ND_CMD_SMART] = "smart",
- [ND_CMD_SMART_THRESHOLD] = "smart_thresh",
- [ND_CMD_DIMM_FLAGS] = "flags",
- [ND_CMD_GET_CONFIG_SIZE] = "get_size",
- [ND_CMD_GET_CONFIG_DATA] = "get_data",
- [ND_CMD_SET_CONFIG_DATA] = "set_data",
- [ND_CMD_VENDOR_EFFECT_LOG_SIZE] = "effect_size",
- [ND_CMD_VENDOR_EFFECT_LOG] = "effect_log",
- [ND_CMD_VENDOR] = "vendor",
- };
-
- if (cmd < ARRAY_SIZE(names) && names[cmd])
- return names[cmd];
- return "unknown";
-}
-
-#define ND_IOCTL 'N'
-
-#define ND_IOCTL_SMART _IOWR(ND_IOCTL, ND_CMD_SMART,\
- struct nd_cmd_smart)
-
-#define ND_IOCTL_SMART_THRESHOLD _IOWR(ND_IOCTL, ND_CMD_SMART_THRESHOLD,\
- struct nd_cmd_smart_threshold)
-
-#define ND_IOCTL_DIMM_FLAGS _IOWR(ND_IOCTL, ND_CMD_DIMM_FLAGS,\
- struct nd_cmd_dimm_flags)
-
-#define ND_IOCTL_GET_CONFIG_SIZE _IOWR(ND_IOCTL, ND_CMD_GET_CONFIG_SIZE,\
- struct nd_cmd_get_config_size)
-
-#define ND_IOCTL_GET_CONFIG_DATA _IOWR(ND_IOCTL, ND_CMD_GET_CONFIG_DATA,\
- struct nd_cmd_get_config_data_hdr)
-
-#define ND_IOCTL_SET_CONFIG_DATA _IOWR(ND_IOCTL, ND_CMD_SET_CONFIG_DATA,\
- struct nd_cmd_set_config_hdr)
-
-#define ND_IOCTL_VENDOR _IOWR(ND_IOCTL, ND_CMD_VENDOR,\
- struct nd_cmd_vendor_hdr)
-
-#define ND_IOCTL_ARS_CAP _IOWR(ND_IOCTL, ND_CMD_ARS_CAP,\
- struct nd_cmd_ars_cap)
-
-#define ND_IOCTL_ARS_START _IOWR(ND_IOCTL, ND_CMD_ARS_START,\
- struct nd_cmd_ars_start)
-
-#define ND_IOCTL_ARS_STATUS _IOWR(ND_IOCTL, ND_CMD_ARS_STATUS,\
- struct nd_cmd_ars_status)
-
-#define ND_IOCTL_CLEAR_ERROR _IOWR(ND_IOCTL, ND_CMD_CLEAR_ERROR,\
- struct nd_cmd_clear_error)
-
-#define ND_DEVICE_DIMM 1 /* nd_dimm: container for "config data" */
-#define ND_DEVICE_REGION_PMEM 2 /* nd_region: (parent of PMEM namespaces) */
-#define ND_DEVICE_REGION_BLK 3 /* nd_region: (parent of BLK namespaces) */
-#define ND_DEVICE_NAMESPACE_IO 4 /* legacy persistent memory */
-#define ND_DEVICE_NAMESPACE_PMEM 5 /* PMEM namespace (may alias with BLK) */
-#define ND_DEVICE_NAMESPACE_BLK 6 /* BLK namespace (may alias with PMEM) */
-
-enum nd_driver_flags {
- ND_DRIVER_DIMM = 1 << ND_DEVICE_DIMM,
- ND_DRIVER_REGION_PMEM = 1 << ND_DEVICE_REGION_PMEM,
- ND_DRIVER_REGION_BLK = 1 << ND_DEVICE_REGION_BLK,
- ND_DRIVER_NAMESPACE_IO = 1 << ND_DEVICE_NAMESPACE_IO,
- ND_DRIVER_NAMESPACE_PMEM = 1 << ND_DEVICE_NAMESPACE_PMEM,
- ND_DRIVER_NAMESPACE_BLK = 1 << ND_DEVICE_NAMESPACE_BLK,
-};
-
-enum {
- ND_MIN_NAMESPACE_SIZE = 0x00400000,
-};
-
-enum ars_masks {
- ARS_STATUS_MASK = 0x0000FFFF,
- ARS_EXT_STATUS_SHIFT = 16,
-};
-#endif /* __NDCTL_H__ */
diff --git a/linux-headers/include/linux/neighbour.h b/linux-headers/include/linux/neighbour.h
deleted file mode 100644
index 788655b..0000000
--- a/linux-headers/include/linux/neighbour.h
+++ /dev/null
@@ -1,167 +0,0 @@
-#ifndef __LINUX_NEIGHBOUR_H
-#define __LINUX_NEIGHBOUR_H
-
-#include <linux/types.h>
-#include <linux/netlink.h>
-
-struct ndmsg {
- __u8 ndm_family;
- __u8 ndm_pad1;
- __u16 ndm_pad2;
- __s32 ndm_ifindex;
- __u16 ndm_state;
- __u8 ndm_flags;
- __u8 ndm_type;
-};
-
-enum {
- NDA_UNSPEC,
- NDA_DST,
- NDA_LLADDR,
- NDA_CACHEINFO,
- NDA_PROBES,
- NDA_VLAN,
- NDA_PORT,
- NDA_VNI,
- NDA_IFINDEX,
- NDA_MASTER,
- NDA_LINK_NETNSID,
- __NDA_MAX
-};
-
-#define NDA_MAX (__NDA_MAX - 1)
-
-/*
- * Neighbor Cache Entry Flags
- */
-
-#define NTF_USE 0x01
-#define NTF_SELF 0x02
-#define NTF_MASTER 0x04
-#define NTF_PROXY 0x08 /* == ATF_PUBL */
-#define NTF_EXT_LEARNED 0x10
-#define NTF_ROUTER 0x80
-
-/*
- * Neighbor Cache Entry States.
- */
-
-#define NUD_INCOMPLETE 0x01
-#define NUD_REACHABLE 0x02
-#define NUD_STALE 0x04
-#define NUD_DELAY 0x08
-#define NUD_PROBE 0x10
-#define NUD_FAILED 0x20
-
-/* Dummy states */
-#define NUD_NOARP 0x40
-#define NUD_PERMANENT 0x80
-#define NUD_NONE 0x00
-
-/* NUD_NOARP & NUD_PERMANENT are pseudostates, they never change
- and make no address resolution or NUD.
- NUD_PERMANENT also cannot be deleted by garbage collectors.
- */
-
-struct nda_cacheinfo {
- __u32 ndm_confirmed;
- __u32 ndm_used;
- __u32 ndm_updated;
- __u32 ndm_refcnt;
-};
-
-/*****************************************************************
- * Neighbour tables specific messages.
- *
- * To retrieve the neighbour tables send RTM_GETNEIGHTBL with the
- * NLM_F_DUMP flag set. Every neighbour table configuration is
- * spread over multiple messages to avoid running into message
- * size limits on systems with many interfaces. The first message
- * in the sequence transports all not device specific data such as
- * statistics, configuration, and the default parameter set.
- * This message is followed by 0..n messages carrying device
- * specific parameter sets.
- * Although the ordering should be sufficient, NDTA_NAME can be
- * used to identify sequences. The initial message can be identified
- * by checking for NDTA_CONFIG. The device specific messages do
- * not contain this TLV but have NDTPA_IFINDEX set to the
- * corresponding interface index.
- *
- * To change neighbour table attributes, send RTM_SETNEIGHTBL
- * with NDTA_NAME set. Changeable attribute include NDTA_THRESH[1-3],
- * NDTA_GC_INTERVAL, and all TLVs in NDTA_PARMS unless marked
- * otherwise. Device specific parameter sets can be changed by
- * setting NDTPA_IFINDEX to the interface index of the corresponding
- * device.
- ****/
-
-struct ndt_stats {
- __u64 ndts_allocs;
- __u64 ndts_destroys;
- __u64 ndts_hash_grows;
- __u64 ndts_res_failed;
- __u64 ndts_lookups;
- __u64 ndts_hits;
- __u64 ndts_rcv_probes_mcast;
- __u64 ndts_rcv_probes_ucast;
- __u64 ndts_periodic_gc_runs;
- __u64 ndts_forced_gc_runs;
- __u64 ndts_table_fulls;
-};
-
-enum {
- NDTPA_UNSPEC,
- NDTPA_IFINDEX, /* u32, unchangeable */
- NDTPA_REFCNT, /* u32, read-only */
- NDTPA_REACHABLE_TIME, /* u64, read-only, msecs */
- NDTPA_BASE_REACHABLE_TIME, /* u64, msecs */
- NDTPA_RETRANS_TIME, /* u64, msecs */
- NDTPA_GC_STALETIME, /* u64, msecs */
- NDTPA_DELAY_PROBE_TIME, /* u64, msecs */
- NDTPA_QUEUE_LEN, /* u32 */
- NDTPA_APP_PROBES, /* u32 */
- NDTPA_UCAST_PROBES, /* u32 */
- NDTPA_MCAST_PROBES, /* u32 */
- NDTPA_ANYCAST_DELAY, /* u64, msecs */
- NDTPA_PROXY_DELAY, /* u64, msecs */
- NDTPA_PROXY_QLEN, /* u32 */
- NDTPA_LOCKTIME, /* u64, msecs */
- NDTPA_QUEUE_LENBYTES, /* u32 */
- NDTPA_MCAST_REPROBES, /* u32 */
- __NDTPA_MAX
-};
-#define NDTPA_MAX (__NDTPA_MAX - 1)
-
-struct ndtmsg {
- __u8 ndtm_family;
- __u8 ndtm_pad1;
- __u16 ndtm_pad2;
-};
-
-struct ndt_config {
- __u16 ndtc_key_len;
- __u16 ndtc_entry_size;
- __u32 ndtc_entries;
- __u32 ndtc_last_flush; /* delta to now in msecs */
- __u32 ndtc_last_rand; /* delta to now in msecs */
- __u32 ndtc_hash_rnd;
- __u32 ndtc_hash_mask;
- __u32 ndtc_hash_chain_gc;
- __u32 ndtc_proxy_qlen;
-};
-
-enum {
- NDTA_UNSPEC,
- NDTA_NAME, /* char *, unchangeable */
- NDTA_THRESH1, /* u32 */
- NDTA_THRESH2, /* u32 */
- NDTA_THRESH3, /* u32 */
- NDTA_CONFIG, /* struct ndt_config, read-only */
- NDTA_PARMS, /* nested TLV NDTPA_* */
- NDTA_STATS, /* struct ndt_stats, read-only */
- NDTA_GC_INTERVAL, /* u64, msecs */
- __NDTA_MAX
-};
-#define NDTA_MAX (__NDTA_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/net.h b/linux-headers/include/linux/net.h
deleted file mode 100644
index 24eaec3..0000000
--- a/linux-headers/include/linux/net.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * NET An implementation of the SOCKET network access protocol.
- * This is the master header file for the Linux NET layer,
- * or, in plain English: the networking handling part of the
- * kernel.
- *
- * Version: @(#)net.h 1.0.3 05/25/93
- *
- * Authors: Orest Zborowski, <obz@Kodak.COM>
- * Ross Biro
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_NET_H
-#define _LINUX_NET_H
-
-#include <linux/socket.h>
-#include <asm/socket.h>
-
-#define NPROTO AF_MAX
-
-#define SYS_SOCKET 1 /* sys_socket(2) */
-#define SYS_BIND 2 /* sys_bind(2) */
-#define SYS_CONNECT 3 /* sys_connect(2) */
-#define SYS_LISTEN 4 /* sys_listen(2) */
-#define SYS_ACCEPT 5 /* sys_accept(2) */
-#define SYS_GETSOCKNAME 6 /* sys_getsockname(2) */
-#define SYS_GETPEERNAME 7 /* sys_getpeername(2) */
-#define SYS_SOCKETPAIR 8 /* sys_socketpair(2) */
-#define SYS_SEND 9 /* sys_send(2) */
-#define SYS_RECV 10 /* sys_recv(2) */
-#define SYS_SENDTO 11 /* sys_sendto(2) */
-#define SYS_RECVFROM 12 /* sys_recvfrom(2) */
-#define SYS_SHUTDOWN 13 /* sys_shutdown(2) */
-#define SYS_SETSOCKOPT 14 /* sys_setsockopt(2) */
-#define SYS_GETSOCKOPT 15 /* sys_getsockopt(2) */
-#define SYS_SENDMSG 16 /* sys_sendmsg(2) */
-#define SYS_RECVMSG 17 /* sys_recvmsg(2) */
-#define SYS_ACCEPT4 18 /* sys_accept4(2) */
-#define SYS_RECVMMSG 19 /* sys_recvmmsg(2) */
-#define SYS_SENDMMSG 20 /* sys_sendmmsg(2) */
-
-typedef enum {
- SS_FREE = 0, /* not allocated */
- SS_UNCONNECTED, /* unconnected to any socket */
- SS_CONNECTING, /* in process of connecting */
- SS_CONNECTED, /* connected to socket */
- SS_DISCONNECTING /* in process of disconnecting */
-} socket_state;
-
-#define __SO_ACCEPTCON (1 << 16) /* performed a listen */
-
-#endif /* _LINUX_NET_H */
diff --git a/linux-headers/include/linux/net_dropmon.h b/linux-headers/include/linux/net_dropmon.h
deleted file mode 100644
index 2a73946..0000000
--- a/linux-headers/include/linux/net_dropmon.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef __NET_DROPMON_H
-#define __NET_DROPMON_H
-
-#include <linux/types.h>
-#include <linux/netlink.h>
-
-struct net_dm_drop_point {
- __u8 pc[8];
- __u32 count;
-};
-
-#define is_drop_point_hw(x) do {\
- int ____i, ____j;\
- for (____i = 0; ____i < 8; i ____i++)\
- ____j |= x[____i];\
- ____j;\
-} while (0)
-
-#define NET_DM_CFG_VERSION 0
-#define NET_DM_CFG_ALERT_COUNT 1
-#define NET_DM_CFG_ALERT_DELAY 2
-#define NET_DM_CFG_MAX 3
-
-struct net_dm_config_entry {
- __u32 type;
- __u64 data __attribute__((aligned(8)));
-};
-
-struct net_dm_config_msg {
- __u32 entries;
- struct net_dm_config_entry options[0];
-};
-
-struct net_dm_alert_msg {
- __u32 entries;
- struct net_dm_drop_point points[0];
-};
-
-struct net_dm_user_msg {
- union {
- struct net_dm_config_msg user;
- struct net_dm_alert_msg alert;
- } u;
-};
-
-
-/* These are the netlink message types for this protocol */
-
-enum {
- NET_DM_CMD_UNSPEC = 0,
- NET_DM_CMD_ALERT,
- NET_DM_CMD_CONFIG,
- NET_DM_CMD_START,
- NET_DM_CMD_STOP,
- _NET_DM_CMD_MAX,
-};
-
-#define NET_DM_CMD_MAX (_NET_DM_CMD_MAX - 1)
-
-/*
- * Our group identifiers
- */
-#define NET_DM_GRP_ALERT 1
-#endif
diff --git a/linux-headers/include/linux/net_namespace.h b/linux-headers/include/linux/net_namespace.h
deleted file mode 100644
index 9a92b7e..0000000
--- a/linux-headers/include/linux/net_namespace.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Copyright (c) 2015 6WIND S.A.
- * Author: Nicolas Dichtel <nicolas.dichtel@6wind.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- */
-#ifndef _LINUX_NET_NAMESPACE_H_
-#define _LINUX_NET_NAMESPACE_H_
-
-/* Attributes of RTM_NEWNSID/RTM_GETNSID messages */
-enum {
- NETNSA_NONE,
-#define NETNSA_NSID_NOT_ASSIGNED -1
- NETNSA_NSID,
- NETNSA_PID,
- NETNSA_FD,
- __NETNSA_MAX,
-};
-
-#define NETNSA_MAX (__NETNSA_MAX - 1)
-
-#endif /* _LINUX_NET_NAMESPACE_H_ */
diff --git a/linux-headers/include/linux/net_tstamp.h b/linux-headers/include/linux/net_tstamp.h
deleted file mode 100644
index 6d1abea..0000000
--- a/linux-headers/include/linux/net_tstamp.h
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Userspace API for hardware time stamping of network packets
- *
- * Copyright (C) 2008,2009 Intel Corporation
- * Author: Patrick Ohly <patrick.ohly@intel.com>
- *
- */
-
-#ifndef _NET_TIMESTAMPING_H
-#define _NET_TIMESTAMPING_H
-
-#include <linux/socket.h> /* for SO_TIMESTAMPING */
-
-/* SO_TIMESTAMPING gets an integer bit field comprised of these values */
-enum {
- SOF_TIMESTAMPING_TX_HARDWARE = (1<<0),
- SOF_TIMESTAMPING_TX_SOFTWARE = (1<<1),
- SOF_TIMESTAMPING_RX_HARDWARE = (1<<2),
- SOF_TIMESTAMPING_RX_SOFTWARE = (1<<3),
- SOF_TIMESTAMPING_SOFTWARE = (1<<4),
- SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5),
- SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6),
- SOF_TIMESTAMPING_OPT_ID = (1<<7),
- SOF_TIMESTAMPING_TX_SCHED = (1<<8),
- SOF_TIMESTAMPING_TX_ACK = (1<<9),
- SOF_TIMESTAMPING_OPT_CMSG = (1<<10),
- SOF_TIMESTAMPING_OPT_TSONLY = (1<<11),
-
- SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_OPT_TSONLY,
- SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) |
- SOF_TIMESTAMPING_LAST
-};
-
-/**
- * struct hwtstamp_config - %SIOCGHWTSTAMP and %SIOCSHWTSTAMP parameter
- *
- * @flags: no flags defined right now, must be zero for %SIOCSHWTSTAMP
- * @tx_type: one of HWTSTAMP_TX_*
- * @rx_filter: one of HWTSTAMP_FILTER_*
- *
- * %SIOCGHWTSTAMP and %SIOCSHWTSTAMP expect a &struct ifreq with a
- * ifr_data pointer to this structure. For %SIOCSHWTSTAMP, if the
- * driver or hardware does not support the requested @rx_filter value,
- * the driver may use a more general filter mode. In this case
- * @rx_filter will indicate the actual mode on return.
- */
-struct hwtstamp_config {
- int flags;
- int tx_type;
- int rx_filter;
-};
-
-/* possible values for hwtstamp_config->tx_type */
-enum hwtstamp_tx_types {
- /*
- * No outgoing packet will need hardware time stamping;
- * should a packet arrive which asks for it, no hardware
- * time stamping will be done.
- */
- HWTSTAMP_TX_OFF,
-
- /*
- * Enables hardware time stamping for outgoing packets;
- * the sender of the packet decides which are to be
- * time stamped by setting %SOF_TIMESTAMPING_TX_SOFTWARE
- * before sending the packet.
- */
- HWTSTAMP_TX_ON,
-
- /*
- * Enables time stamping for outgoing packets just as
- * HWTSTAMP_TX_ON does, but also enables time stamp insertion
- * directly into Sync packets. In this case, transmitted Sync
- * packets will not received a time stamp via the socket error
- * queue.
- */
- HWTSTAMP_TX_ONESTEP_SYNC,
-};
-
-/* possible values for hwtstamp_config->rx_filter */
-enum hwtstamp_rx_filters {
- /* time stamp no incoming packet at all */
- HWTSTAMP_FILTER_NONE,
-
- /* time stamp any incoming packet */
- HWTSTAMP_FILTER_ALL,
-
- /* return value: time stamp all packets requested plus some others */
- HWTSTAMP_FILTER_SOME,
-
- /* PTP v1, UDP, any kind of event packet */
- HWTSTAMP_FILTER_PTP_V1_L4_EVENT,
- /* PTP v1, UDP, Sync packet */
- HWTSTAMP_FILTER_PTP_V1_L4_SYNC,
- /* PTP v1, UDP, Delay_req packet */
- HWTSTAMP_FILTER_PTP_V1_L4_DELAY_REQ,
- /* PTP v2, UDP, any kind of event packet */
- HWTSTAMP_FILTER_PTP_V2_L4_EVENT,
- /* PTP v2, UDP, Sync packet */
- HWTSTAMP_FILTER_PTP_V2_L4_SYNC,
- /* PTP v2, UDP, Delay_req packet */
- HWTSTAMP_FILTER_PTP_V2_L4_DELAY_REQ,
-
- /* 802.AS1, Ethernet, any kind of event packet */
- HWTSTAMP_FILTER_PTP_V2_L2_EVENT,
- /* 802.AS1, Ethernet, Sync packet */
- HWTSTAMP_FILTER_PTP_V2_L2_SYNC,
- /* 802.AS1, Ethernet, Delay_req packet */
- HWTSTAMP_FILTER_PTP_V2_L2_DELAY_REQ,
-
- /* PTP v2/802.AS1, any layer, any kind of event packet */
- HWTSTAMP_FILTER_PTP_V2_EVENT,
- /* PTP v2/802.AS1, any layer, Sync packet */
- HWTSTAMP_FILTER_PTP_V2_SYNC,
- /* PTP v2/802.AS1, any layer, Delay_req packet */
- HWTSTAMP_FILTER_PTP_V2_DELAY_REQ,
-};
-
-#endif /* _NET_TIMESTAMPING_H */
diff --git a/linux-headers/include/linux/netconf.h b/linux-headers/include/linux/netconf.h
deleted file mode 100644
index 70306a8..0000000
--- a/linux-headers/include/linux/netconf.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _LINUX_NETCONF_H_
-#define _LINUX_NETCONF_H_
-
-#include <linux/types.h>
-#include <linux/netlink.h>
-
-struct netconfmsg {
- __u8 ncm_family;
-};
-
-enum {
- NETCONFA_UNSPEC,
- NETCONFA_IFINDEX,
- NETCONFA_FORWARDING,
- NETCONFA_RP_FILTER,
- NETCONFA_MC_FORWARDING,
- NETCONFA_PROXY_NEIGH,
- NETCONFA_IGNORE_ROUTES_WITH_LINKDOWN,
- __NETCONFA_MAX
-};
-#define NETCONFA_MAX (__NETCONFA_MAX - 1)
-#define NETCONFA_ALL -1
-
-#define NETCONFA_IFINDEX_ALL -1
-#define NETCONFA_IFINDEX_DEFAULT -2
-
-#endif /* _LINUX_NETCONF_H_ */
diff --git a/linux-headers/include/linux/netdevice.h b/linux-headers/include/linux/netdevice.h
deleted file mode 100644
index 66fceb4..0000000
--- a/linux-headers/include/linux/netdevice.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the Interfaces handler.
- *
- * Version: @(#)dev.h 1.0.10 08/12/93
- *
- * Authors: Ross Biro
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- * Corey Minyard <wf-rch!minyard@relay.EU.net>
- * Donald J. Becker, <becker@cesdis.gsfc.nasa.gov>
- * Alan Cox, <alan@lxorguk.ukuu.org.uk>
- * Bjorn Ekwall. <bj0rn@blox.se>
- * Pekka Riikonen <priikone@poseidon.pspt.fi>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- * Moved to /usr/include/linux for NET3
- */
-#ifndef _LINUX_NETDEVICE_H
-#define _LINUX_NETDEVICE_H
-
-#include <linux/if.h>
-#include <linux/if_ether.h>
-#include <linux/if_packet.h>
-#include <linux/if_link.h>
-
-
-#define MAX_ADDR_LEN 32 /* Largest hardware address length */
-
-/* Initial net device group. All devices belong to group 0 by default. */
-#define INIT_NETDEV_GROUP 0
-
-
-/* interface name assignment types (sysfs name_assign_type attribute) */
-#define NET_NAME_UNKNOWN 0 /* unknown origin (not exposed to userspace) */
-#define NET_NAME_ENUM 1 /* enumerated by kernel */
-#define NET_NAME_PREDICTABLE 2 /* predictably named by the kernel */
-#define NET_NAME_USER 3 /* provided by user-space */
-#define NET_NAME_RENAMED 4 /* renamed by user-space */
-
-/* Media selection options. */
-enum {
- IF_PORT_UNKNOWN = 0,
- IF_PORT_10BASE2,
- IF_PORT_10BASET,
- IF_PORT_AUI,
- IF_PORT_100BASET,
- IF_PORT_100BASETX,
- IF_PORT_100BASEFX
-};
-
-/* hardware address assignment types */
-#define NET_ADDR_PERM 0 /* address is permanent (default) */
-#define NET_ADDR_RANDOM 1 /* address is generated randomly */
-#define NET_ADDR_STOLEN 2 /* address is stolen from other device */
-#define NET_ADDR_SET 3 /* address is set using
- * dev_set_mac_address() */
-
-#endif /* _LINUX_NETDEVICE_H */
diff --git a/linux-headers/include/linux/netfilter.h b/linux-headers/include/linux/netfilter.h
deleted file mode 100644
index b71b4c9..0000000
--- a/linux-headers/include/linux/netfilter.h
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef __LINUX_NETFILTER_H
-#define __LINUX_NETFILTER_H
-
-#include <linux/types.h>
-
-#include <linux/sysctl.h>
-#include <linux/in.h>
-#include <linux/in6.h>
-
-/* Responses from hook functions. */
-#define NF_DROP 0
-#define NF_ACCEPT 1
-#define NF_STOLEN 2
-#define NF_QUEUE 3
-#define NF_REPEAT 4
-#define NF_STOP 5
-#define NF_MAX_VERDICT NF_STOP
-
-/* we overload the higher bits for encoding auxiliary data such as the queue
- * number or errno values. Not nice, but better than additional function
- * arguments. */
-#define NF_VERDICT_MASK 0x000000ff
-
-/* extra verdict flags have mask 0x0000ff00 */
-#define NF_VERDICT_FLAG_QUEUE_BYPASS 0x00008000
-
-/* queue number (NF_QUEUE) or errno (NF_DROP) */
-#define NF_VERDICT_QMASK 0xffff0000
-#define NF_VERDICT_QBITS 16
-
-#define NF_QUEUE_NR(x) ((((x) << 16) & NF_VERDICT_QMASK) | NF_QUEUE)
-
-#define NF_DROP_ERR(x) (((-x) << 16) | NF_DROP)
-
-/* only for userspace compatibility */
-/* Generic cache responses from hook functions.
- <= 0x2000 is used for protocol-flags. */
-#define NFC_UNKNOWN 0x4000
-#define NFC_ALTERED 0x8000
-
-/* NF_VERDICT_BITS should be 8 now, but userspace might break if this changes */
-#define NF_VERDICT_BITS 16
-
-enum nf_inet_hooks {
- NF_INET_PRE_ROUTING,
- NF_INET_LOCAL_IN,
- NF_INET_FORWARD,
- NF_INET_LOCAL_OUT,
- NF_INET_POST_ROUTING,
- NF_INET_NUMHOOKS
-};
-
-enum nf_dev_hooks {
- NF_NETDEV_INGRESS,
- NF_NETDEV_NUMHOOKS
-};
-
-enum {
- NFPROTO_UNSPEC = 0,
- NFPROTO_INET = 1,
- NFPROTO_IPV4 = 2,
- NFPROTO_ARP = 3,
- NFPROTO_NETDEV = 5,
- NFPROTO_BRIDGE = 7,
- NFPROTO_IPV6 = 10,
- NFPROTO_DECNET = 12,
- NFPROTO_NUMPROTO,
-};
-
-union nf_inet_addr {
- __u32 all[4];
- __be32 ip;
- __be32 ip6[4];
- struct in_addr in;
- struct in6_addr in6;
-};
-
-#endif /* __LINUX_NETFILTER_H */
diff --git a/linux-headers/include/linux/netfilter/ipset/ip_set.h b/linux-headers/include/linux/netfilter/ipset/ip_set.h
deleted file mode 100644
index ec5af15..0000000
--- a/linux-headers/include/linux/netfilter/ipset/ip_set.h
+++ /dev/null
@@ -1,303 +0,0 @@
-/* Copyright (C) 2000-2002 Joakim Axelsson <gozem@linux.nu>
- * Patrick Schaaf <bof@bof.de>
- * Martin Josefsson <gandalf@wlug.westbo.se>
- * Copyright (C) 2003-2011 Jozsef Kadlecsik <kadlec@blackhole.kfki.hu>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#ifndef _IP_SET_H
-#define _IP_SET_H
-
-#include <linux/types.h>
-
-/* The protocol version */
-#define IPSET_PROTOCOL 6
-
-/* The max length of strings including NUL: set and type identifiers */
-#define IPSET_MAXNAMELEN 32
-
-/* The maximum permissible comment length we will accept over netlink */
-#define IPSET_MAX_COMMENT_SIZE 255
-
-/* Message types and commands */
-enum ipset_cmd {
- IPSET_CMD_NONE,
- IPSET_CMD_PROTOCOL, /* 1: Return protocol version */
- IPSET_CMD_CREATE, /* 2: Create a new (empty) set */
- IPSET_CMD_DESTROY, /* 3: Destroy a (empty) set */
- IPSET_CMD_FLUSH, /* 4: Remove all elements from a set */
- IPSET_CMD_RENAME, /* 5: Rename a set */
- IPSET_CMD_SWAP, /* 6: Swap two sets */
- IPSET_CMD_LIST, /* 7: List sets */
- IPSET_CMD_SAVE, /* 8: Save sets */
- IPSET_CMD_ADD, /* 9: Add an element to a set */
- IPSET_CMD_DEL, /* 10: Delete an element from a set */
- IPSET_CMD_TEST, /* 11: Test an element in a set */
- IPSET_CMD_HEADER, /* 12: Get set header data only */
- IPSET_CMD_TYPE, /* 13: Get set type */
- IPSET_MSG_MAX, /* Netlink message commands */
-
- /* Commands in userspace: */
- IPSET_CMD_RESTORE = IPSET_MSG_MAX, /* 14: Enter restore mode */
- IPSET_CMD_HELP, /* 15: Get help */
- IPSET_CMD_VERSION, /* 16: Get program version */
- IPSET_CMD_QUIT, /* 17: Quit from interactive mode */
-
- IPSET_CMD_MAX,
-
- IPSET_CMD_COMMIT = IPSET_CMD_MAX, /* 18: Commit buffered commands */
-};
-
-/* Attributes at command level */
-enum {
- IPSET_ATTR_UNSPEC,
- IPSET_ATTR_PROTOCOL, /* 1: Protocol version */
- IPSET_ATTR_SETNAME, /* 2: Name of the set */
- IPSET_ATTR_TYPENAME, /* 3: Typename */
- IPSET_ATTR_SETNAME2 = IPSET_ATTR_TYPENAME, /* Setname at rename/swap */
- IPSET_ATTR_REVISION, /* 4: Settype revision */
- IPSET_ATTR_FAMILY, /* 5: Settype family */
- IPSET_ATTR_FLAGS, /* 6: Flags at command level */
- IPSET_ATTR_DATA, /* 7: Nested attributes */
- IPSET_ATTR_ADT, /* 8: Multiple data containers */
- IPSET_ATTR_LINENO, /* 9: Restore lineno */
- IPSET_ATTR_PROTOCOL_MIN, /* 10: Minimal supported version number */
- IPSET_ATTR_REVISION_MIN = IPSET_ATTR_PROTOCOL_MIN, /* type rev min */
- __IPSET_ATTR_CMD_MAX,
-};
-#define IPSET_ATTR_CMD_MAX (__IPSET_ATTR_CMD_MAX - 1)
-
-/* CADT specific attributes */
-enum {
- IPSET_ATTR_IP = IPSET_ATTR_UNSPEC + 1,
- IPSET_ATTR_IP_FROM = IPSET_ATTR_IP,
- IPSET_ATTR_IP_TO, /* 2 */
- IPSET_ATTR_CIDR, /* 3 */
- IPSET_ATTR_PORT, /* 4 */
- IPSET_ATTR_PORT_FROM = IPSET_ATTR_PORT,
- IPSET_ATTR_PORT_TO, /* 5 */
- IPSET_ATTR_TIMEOUT, /* 6 */
- IPSET_ATTR_PROTO, /* 7 */
- IPSET_ATTR_CADT_FLAGS, /* 8 */
- IPSET_ATTR_CADT_LINENO = IPSET_ATTR_LINENO, /* 9 */
- IPSET_ATTR_MARK, /* 10 */
- IPSET_ATTR_MARKMASK, /* 11 */
- /* Reserve empty slots */
- IPSET_ATTR_CADT_MAX = 16,
- /* Create-only specific attributes */
- IPSET_ATTR_GC,
- IPSET_ATTR_HASHSIZE,
- IPSET_ATTR_MAXELEM,
- IPSET_ATTR_NETMASK,
- IPSET_ATTR_PROBES,
- IPSET_ATTR_RESIZE,
- IPSET_ATTR_SIZE,
- /* Kernel-only */
- IPSET_ATTR_ELEMENTS,
- IPSET_ATTR_REFERENCES,
- IPSET_ATTR_MEMSIZE,
-
- __IPSET_ATTR_CREATE_MAX,
-};
-#define IPSET_ATTR_CREATE_MAX (__IPSET_ATTR_CREATE_MAX - 1)
-
-/* ADT specific attributes */
-enum {
- IPSET_ATTR_ETHER = IPSET_ATTR_CADT_MAX + 1,
- IPSET_ATTR_NAME,
- IPSET_ATTR_NAMEREF,
- IPSET_ATTR_IP2,
- IPSET_ATTR_CIDR2,
- IPSET_ATTR_IP2_TO,
- IPSET_ATTR_IFACE,
- IPSET_ATTR_BYTES,
- IPSET_ATTR_PACKETS,
- IPSET_ATTR_COMMENT,
- IPSET_ATTR_SKBMARK,
- IPSET_ATTR_SKBPRIO,
- IPSET_ATTR_SKBQUEUE,
- __IPSET_ATTR_ADT_MAX,
-};
-#define IPSET_ATTR_ADT_MAX (__IPSET_ATTR_ADT_MAX - 1)
-
-/* IP specific attributes */
-enum {
- IPSET_ATTR_IPADDR_IPV4 = IPSET_ATTR_UNSPEC + 1,
- IPSET_ATTR_IPADDR_IPV6,
- __IPSET_ATTR_IPADDR_MAX,
-};
-#define IPSET_ATTR_IPADDR_MAX (__IPSET_ATTR_IPADDR_MAX - 1)
-
-/* Error codes */
-enum ipset_errno {
- IPSET_ERR_PRIVATE = 4096,
- IPSET_ERR_PROTOCOL,
- IPSET_ERR_FIND_TYPE,
- IPSET_ERR_MAX_SETS,
- IPSET_ERR_BUSY,
- IPSET_ERR_EXIST_SETNAME2,
- IPSET_ERR_TYPE_MISMATCH,
- IPSET_ERR_EXIST,
- IPSET_ERR_INVALID_CIDR,
- IPSET_ERR_INVALID_NETMASK,
- IPSET_ERR_INVALID_FAMILY,
- IPSET_ERR_TIMEOUT,
- IPSET_ERR_REFERENCED,
- IPSET_ERR_IPADDR_IPV4,
- IPSET_ERR_IPADDR_IPV6,
- IPSET_ERR_COUNTER,
- IPSET_ERR_COMMENT,
- IPSET_ERR_INVALID_MARKMASK,
- IPSET_ERR_SKBINFO,
-
- /* Type specific error codes */
- IPSET_ERR_TYPE_SPECIFIC = 4352,
-};
-
-/* Flags at command level or match/target flags, lower half of cmdattrs*/
-enum ipset_cmd_flags {
- IPSET_FLAG_BIT_EXIST = 0,
- IPSET_FLAG_EXIST = (1 << IPSET_FLAG_BIT_EXIST),
- IPSET_FLAG_BIT_LIST_SETNAME = 1,
- IPSET_FLAG_LIST_SETNAME = (1 << IPSET_FLAG_BIT_LIST_SETNAME),
- IPSET_FLAG_BIT_LIST_HEADER = 2,
- IPSET_FLAG_LIST_HEADER = (1 << IPSET_FLAG_BIT_LIST_HEADER),
- IPSET_FLAG_BIT_SKIP_COUNTER_UPDATE = 3,
- IPSET_FLAG_SKIP_COUNTER_UPDATE =
- (1 << IPSET_FLAG_BIT_SKIP_COUNTER_UPDATE),
- IPSET_FLAG_BIT_SKIP_SUBCOUNTER_UPDATE = 4,
- IPSET_FLAG_SKIP_SUBCOUNTER_UPDATE =
- (1 << IPSET_FLAG_BIT_SKIP_SUBCOUNTER_UPDATE),
- IPSET_FLAG_BIT_MATCH_COUNTERS = 5,
- IPSET_FLAG_MATCH_COUNTERS = (1 << IPSET_FLAG_BIT_MATCH_COUNTERS),
- IPSET_FLAG_BIT_RETURN_NOMATCH = 7,
- IPSET_FLAG_RETURN_NOMATCH = (1 << IPSET_FLAG_BIT_RETURN_NOMATCH),
- IPSET_FLAG_BIT_MAP_SKBMARK = 8,
- IPSET_FLAG_MAP_SKBMARK = (1 << IPSET_FLAG_BIT_MAP_SKBMARK),
- IPSET_FLAG_BIT_MAP_SKBPRIO = 9,
- IPSET_FLAG_MAP_SKBPRIO = (1 << IPSET_FLAG_BIT_MAP_SKBPRIO),
- IPSET_FLAG_BIT_MAP_SKBQUEUE = 10,
- IPSET_FLAG_MAP_SKBQUEUE = (1 << IPSET_FLAG_BIT_MAP_SKBQUEUE),
- IPSET_FLAG_CMD_MAX = 15,
-};
-
-/* Flags at CADT attribute level, upper half of cmdattrs */
-enum ipset_cadt_flags {
- IPSET_FLAG_BIT_BEFORE = 0,
- IPSET_FLAG_BEFORE = (1 << IPSET_FLAG_BIT_BEFORE),
- IPSET_FLAG_BIT_PHYSDEV = 1,
- IPSET_FLAG_PHYSDEV = (1 << IPSET_FLAG_BIT_PHYSDEV),
- IPSET_FLAG_BIT_NOMATCH = 2,
- IPSET_FLAG_NOMATCH = (1 << IPSET_FLAG_BIT_NOMATCH),
- IPSET_FLAG_BIT_WITH_COUNTERS = 3,
- IPSET_FLAG_WITH_COUNTERS = (1 << IPSET_FLAG_BIT_WITH_COUNTERS),
- IPSET_FLAG_BIT_WITH_COMMENT = 4,
- IPSET_FLAG_WITH_COMMENT = (1 << IPSET_FLAG_BIT_WITH_COMMENT),
- IPSET_FLAG_BIT_WITH_FORCEADD = 5,
- IPSET_FLAG_WITH_FORCEADD = (1 << IPSET_FLAG_BIT_WITH_FORCEADD),
- IPSET_FLAG_BIT_WITH_SKBINFO = 6,
- IPSET_FLAG_WITH_SKBINFO = (1 << IPSET_FLAG_BIT_WITH_SKBINFO),
- IPSET_FLAG_CADT_MAX = 15,
-};
-
-/* The flag bits which correspond to the non-extension create flags */
-enum ipset_create_flags {
- IPSET_CREATE_FLAG_BIT_FORCEADD = 0,
- IPSET_CREATE_FLAG_FORCEADD = (1 << IPSET_CREATE_FLAG_BIT_FORCEADD),
- IPSET_CREATE_FLAG_BIT_MAX = 7,
-};
-
-/* Commands with settype-specific attributes */
-enum ipset_adt {
- IPSET_ADD,
- IPSET_DEL,
- IPSET_TEST,
- IPSET_ADT_MAX,
- IPSET_CREATE = IPSET_ADT_MAX,
- IPSET_CADT_MAX,
-};
-
-/* Sets are identified by an index in kernel space. Tweak with ip_set_id_t
- * and IPSET_INVALID_ID if you want to increase the max number of sets.
- */
-typedef __u16 ip_set_id_t;
-
-#define IPSET_INVALID_ID 65535
-
-enum ip_set_dim {
- IPSET_DIM_ZERO = 0,
- IPSET_DIM_ONE,
- IPSET_DIM_TWO,
- IPSET_DIM_THREE,
- /* Max dimension in elements.
- * If changed, new revision of iptables match/target is required.
- */
- IPSET_DIM_MAX = 6,
- /* Backward compatibility: set match revision 2 */
- IPSET_BIT_RETURN_NOMATCH = 7,
-};
-
-/* Option flags for kernel operations */
-enum ip_set_kopt {
- IPSET_INV_MATCH = (1 << IPSET_DIM_ZERO),
- IPSET_DIM_ONE_SRC = (1 << IPSET_DIM_ONE),
- IPSET_DIM_TWO_SRC = (1 << IPSET_DIM_TWO),
- IPSET_DIM_THREE_SRC = (1 << IPSET_DIM_THREE),
- IPSET_RETURN_NOMATCH = (1 << IPSET_BIT_RETURN_NOMATCH),
-};
-
-enum {
- IPSET_COUNTER_NONE = 0,
- IPSET_COUNTER_EQ,
- IPSET_COUNTER_NE,
- IPSET_COUNTER_LT,
- IPSET_COUNTER_GT,
-};
-
-/* Backward compatibility for set match v3 */
-struct ip_set_counter_match0 {
- __u8 op;
- __u64 value;
-};
-
-struct ip_set_counter_match {
- __aligned_u64 value;
- __u8 op;
-};
-
-/* Interface to iptables/ip6tables */
-
-#define SO_IP_SET 83
-
-union ip_set_name_index {
- char name[IPSET_MAXNAMELEN];
- ip_set_id_t index;
-};
-
-#define IP_SET_OP_GET_BYNAME 0x00000006 /* Get set index by name */
-struct ip_set_req_get_set {
- unsigned int op;
- unsigned int version;
- union ip_set_name_index set;
-};
-
-#define IP_SET_OP_GET_BYINDEX 0x00000007 /* Get set name by index */
-/* Uses ip_set_req_get_set */
-
-#define IP_SET_OP_GET_FNAME 0x00000008 /* Get set index and family */
-struct ip_set_req_get_set_family {
- unsigned int op;
- unsigned int version;
- unsigned int family;
- union ip_set_name_index set;
-};
-
-#define IP_SET_OP_VERSION 0x00000100 /* Ask kernel version */
-struct ip_set_req_version {
- unsigned int op;
- unsigned int version;
-};
-
-#endif /* _IP_SET_H */
diff --git a/linux-headers/include/linux/netfilter/ipset/ip_set_bitmap.h b/linux-headers/include/linux/netfilter/ipset/ip_set_bitmap.h
deleted file mode 100644
index 1f9fc2a..0000000
--- a/linux-headers/include/linux/netfilter/ipset/ip_set_bitmap.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __IP_SET_BITMAP_H
-#define __IP_SET_BITMAP_H
-
-#include <linux/netfilter/ipset/ip_set.h>
-
-/* Bitmap type specific error codes */
-enum {
- /* The element is out of the range of the set */
- IPSET_ERR_BITMAP_RANGE = IPSET_ERR_TYPE_SPECIFIC,
- /* The range exceeds the size limit of the set type */
- IPSET_ERR_BITMAP_RANGE_SIZE,
-};
-
-
-#endif /* __IP_SET_BITMAP_H */
diff --git a/linux-headers/include/linux/netfilter/ipset/ip_set_hash.h b/linux-headers/include/linux/netfilter/ipset/ip_set_hash.h
deleted file mode 100644
index a944a76..0000000
--- a/linux-headers/include/linux/netfilter/ipset/ip_set_hash.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __IP_SET_HASH_H
-#define __IP_SET_HASH_H
-
-#include <linux/netfilter/ipset/ip_set.h>
-
-/* Hash type specific error codes */
-enum {
- /* Hash is full */
- IPSET_ERR_HASH_FULL = IPSET_ERR_TYPE_SPECIFIC,
- /* Null-valued element */
- IPSET_ERR_HASH_ELEM,
- /* Invalid protocol */
- IPSET_ERR_INVALID_PROTO,
- /* Protocol missing but must be specified */
- IPSET_ERR_MISSING_PROTO,
- /* Range not supported */
- IPSET_ERR_HASH_RANGE_UNSUPPORTED,
- /* Invalid range */
- IPSET_ERR_HASH_RANGE,
-};
-
-
-#endif /* __IP_SET_HASH_H */
diff --git a/linux-headers/include/linux/netfilter/ipset/ip_set_list.h b/linux-headers/include/linux/netfilter/ipset/ip_set_list.h
deleted file mode 100644
index adcdd5f..0000000
--- a/linux-headers/include/linux/netfilter/ipset/ip_set_list.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __IP_SET_LIST_H
-#define __IP_SET_LIST_H
-
-#include <linux/netfilter/ipset/ip_set.h>
-
-/* List type specific error codes */
-enum {
- /* Set name to be added/deleted/tested does not exist. */
- IPSET_ERR_NAME = IPSET_ERR_TYPE_SPECIFIC,
- /* list:set type is not permitted to add */
- IPSET_ERR_LOOP,
- /* Missing reference set */
- IPSET_ERR_BEFORE,
- /* Reference set does not exist */
- IPSET_ERR_NAMEREF,
- /* Set is full */
- IPSET_ERR_LIST_FULL,
- /* Reference set is not added to the set */
- IPSET_ERR_REF_EXIST,
-};
-
-
-#endif /* __IP_SET_LIST_H */
diff --git a/linux-headers/include/linux/netfilter/nf_conntrack_common.h b/linux-headers/include/linux/netfilter/nf_conntrack_common.h
deleted file mode 100644
index 3e6bf21..0000000
--- a/linux-headers/include/linux/netfilter/nf_conntrack_common.h
+++ /dev/null
@@ -1,127 +0,0 @@
-#ifndef _NF_CONNTRACK_COMMON_H
-#define _NF_CONNTRACK_COMMON_H
-/* Connection state tracking for netfilter. This is separated from,
- but required by, the NAT layer; it can also be used by an iptables
- extension. */
-enum ip_conntrack_info {
- /* Part of an established connection (either direction). */
- IP_CT_ESTABLISHED,
-
- /* Like NEW, but related to an existing connection, or ICMP error
- (in either direction). */
- IP_CT_RELATED,
-
- /* Started a new connection to track (only
- IP_CT_DIR_ORIGINAL); may be a retransmission. */
- IP_CT_NEW,
-
- /* >= this indicates reply direction */
- IP_CT_IS_REPLY,
-
- IP_CT_ESTABLISHED_REPLY = IP_CT_ESTABLISHED + IP_CT_IS_REPLY,
- IP_CT_RELATED_REPLY = IP_CT_RELATED + IP_CT_IS_REPLY,
- /* No NEW in reply direction. */
-
- /* Number of distinct IP_CT types. */
- IP_CT_NUMBER,
-
- /* only for userspace compatibility */
- IP_CT_NEW_REPLY = IP_CT_NUMBER,
-};
-
-#define NF_CT_STATE_INVALID_BIT (1 << 0)
-#define NF_CT_STATE_BIT(ctinfo) (1 << ((ctinfo) % IP_CT_IS_REPLY + 1))
-#define NF_CT_STATE_UNTRACKED_BIT (1 << (IP_CT_NUMBER + 1))
-
-/* Bitset representing status of connection. */
-enum ip_conntrack_status {
- /* It's an expected connection: bit 0 set. This bit never changed */
- IPS_EXPECTED_BIT = 0,
- IPS_EXPECTED = (1 << IPS_EXPECTED_BIT),
-
- /* We've seen packets both ways: bit 1 set. Can be set, not unset. */
- IPS_SEEN_REPLY_BIT = 1,
- IPS_SEEN_REPLY = (1 << IPS_SEEN_REPLY_BIT),
-
- /* Conntrack should never be early-expired. */
- IPS_ASSURED_BIT = 2,
- IPS_ASSURED = (1 << IPS_ASSURED_BIT),
-
- /* Connection is confirmed: originating packet has left box */
- IPS_CONFIRMED_BIT = 3,
- IPS_CONFIRMED = (1 << IPS_CONFIRMED_BIT),
-
- /* Connection needs src nat in orig dir. This bit never changed. */
- IPS_SRC_NAT_BIT = 4,
- IPS_SRC_NAT = (1 << IPS_SRC_NAT_BIT),
-
- /* Connection needs dst nat in orig dir. This bit never changed. */
- IPS_DST_NAT_BIT = 5,
- IPS_DST_NAT = (1 << IPS_DST_NAT_BIT),
-
- /* Both together. */
- IPS_NAT_MASK = (IPS_DST_NAT | IPS_SRC_NAT),
-
- /* Connection needs TCP sequence adjusted. */
- IPS_SEQ_ADJUST_BIT = 6,
- IPS_SEQ_ADJUST = (1 << IPS_SEQ_ADJUST_BIT),
-
- /* NAT initialization bits. */
- IPS_SRC_NAT_DONE_BIT = 7,
- IPS_SRC_NAT_DONE = (1 << IPS_SRC_NAT_DONE_BIT),
-
- IPS_DST_NAT_DONE_BIT = 8,
- IPS_DST_NAT_DONE = (1 << IPS_DST_NAT_DONE_BIT),
-
- /* Both together */
- IPS_NAT_DONE_MASK = (IPS_DST_NAT_DONE | IPS_SRC_NAT_DONE),
-
- /* Connection is dying (removed from lists), can not be unset. */
- IPS_DYING_BIT = 9,
- IPS_DYING = (1 << IPS_DYING_BIT),
-
- /* Connection has fixed timeout. */
- IPS_FIXED_TIMEOUT_BIT = 10,
- IPS_FIXED_TIMEOUT = (1 << IPS_FIXED_TIMEOUT_BIT),
-
- /* Conntrack is a template */
- IPS_TEMPLATE_BIT = 11,
- IPS_TEMPLATE = (1 << IPS_TEMPLATE_BIT),
-
- /* Conntrack is a fake untracked entry */
- IPS_UNTRACKED_BIT = 12,
- IPS_UNTRACKED = (1 << IPS_UNTRACKED_BIT),
-
- /* Conntrack got a helper explicitly attached via CT target. */
- IPS_HELPER_BIT = 13,
- IPS_HELPER = (1 << IPS_HELPER_BIT),
-};
-
-/* Connection tracking event types */
-enum ip_conntrack_events {
- IPCT_NEW, /* new conntrack */
- IPCT_RELATED, /* related conntrack */
- IPCT_DESTROY, /* destroyed conntrack */
- IPCT_REPLY, /* connection has seen two-way traffic */
- IPCT_ASSURED, /* connection status has changed to assured */
- IPCT_PROTOINFO, /* protocol information has changed */
- IPCT_HELPER, /* new helper has been set */
- IPCT_MARK, /* new mark has been set */
- IPCT_SEQADJ, /* sequence adjustment has changed */
- IPCT_NATSEQADJ = IPCT_SEQADJ,
- IPCT_SECMARK, /* new security mark has been set */
- IPCT_LABEL, /* new connlabel has been set */
-};
-
-enum ip_conntrack_expect_events {
- IPEXP_NEW, /* new expectation */
- IPEXP_DESTROY, /* destroyed expectation */
-};
-
-/* expectation flags */
-#define NF_CT_EXPECT_PERMANENT 0x1
-#define NF_CT_EXPECT_INACTIVE 0x2
-#define NF_CT_EXPECT_USERSPACE 0x4
-
-
-#endif /* _NF_CONNTRACK_COMMON_H */
diff --git a/linux-headers/include/linux/netfilter/nf_conntrack_ftp.h b/linux-headers/include/linux/netfilter/nf_conntrack_ftp.h
deleted file mode 100644
index a222fac..0000000
--- a/linux-headers/include/linux/netfilter/nf_conntrack_ftp.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _NF_CONNTRACK_FTP_H
-#define _NF_CONNTRACK_FTP_H
-/* FTP tracking. */
-
-/* This enum is exposed to userspace */
-enum nf_ct_ftp_type {
- /* PORT command from client */
- NF_CT_FTP_PORT,
- /* PASV response from server */
- NF_CT_FTP_PASV,
- /* EPRT command from client */
- NF_CT_FTP_EPRT,
- /* EPSV response from server */
- NF_CT_FTP_EPSV,
-};
-
-
-#endif /* _NF_CONNTRACK_FTP_H */
diff --git a/linux-headers/include/linux/netfilter/nf_conntrack_sctp.h b/linux-headers/include/linux/netfilter/nf_conntrack_sctp.h
deleted file mode 100644
index 977a0ed..0000000
--- a/linux-headers/include/linux/netfilter/nf_conntrack_sctp.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _NF_CONNTRACK_SCTP_H
-#define _NF_CONNTRACK_SCTP_H
-/* SCTP tracking. */
-
-#include <linux/netfilter/nf_conntrack_tuple_common.h>
-
-enum sctp_conntrack {
- SCTP_CONNTRACK_NONE,
- SCTP_CONNTRACK_CLOSED,
- SCTP_CONNTRACK_COOKIE_WAIT,
- SCTP_CONNTRACK_COOKIE_ECHOED,
- SCTP_CONNTRACK_ESTABLISHED,
- SCTP_CONNTRACK_SHUTDOWN_SENT,
- SCTP_CONNTRACK_SHUTDOWN_RECD,
- SCTP_CONNTRACK_SHUTDOWN_ACK_SENT,
- SCTP_CONNTRACK_HEARTBEAT_SENT,
- SCTP_CONNTRACK_HEARTBEAT_ACKED,
- SCTP_CONNTRACK_MAX
-};
-
-#endif /* _NF_CONNTRACK_SCTP_H */
diff --git a/linux-headers/include/linux/netfilter/nf_conntrack_tcp.h b/linux-headers/include/linux/netfilter/nf_conntrack_tcp.h
deleted file mode 100644
index c3ffd0c..0000000
--- a/linux-headers/include/linux/netfilter/nf_conntrack_tcp.h
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef _NF_CONNTRACK_TCP_H
-#define _NF_CONNTRACK_TCP_H
-/* TCP tracking. */
-
-#include <linux/types.h>
-
-/* This is exposed to userspace (ctnetlink) */
-enum tcp_conntrack {
- TCP_CONNTRACK_NONE,
- TCP_CONNTRACK_SYN_SENT,
- TCP_CONNTRACK_SYN_RECV,
- TCP_CONNTRACK_ESTABLISHED,
- TCP_CONNTRACK_FIN_WAIT,
- TCP_CONNTRACK_CLOSE_WAIT,
- TCP_CONNTRACK_LAST_ACK,
- TCP_CONNTRACK_TIME_WAIT,
- TCP_CONNTRACK_CLOSE,
- TCP_CONNTRACK_LISTEN, /* obsolete */
-#define TCP_CONNTRACK_SYN_SENT2 TCP_CONNTRACK_LISTEN
- TCP_CONNTRACK_MAX,
- TCP_CONNTRACK_IGNORE,
- TCP_CONNTRACK_RETRANS,
- TCP_CONNTRACK_UNACK,
- TCP_CONNTRACK_TIMEOUT_MAX
-};
-
-/* Window scaling is advertised by the sender */
-#define IP_CT_TCP_FLAG_WINDOW_SCALE 0x01
-
-/* SACK is permitted by the sender */
-#define IP_CT_TCP_FLAG_SACK_PERM 0x02
-
-/* This sender sent FIN first */
-#define IP_CT_TCP_FLAG_CLOSE_INIT 0x04
-
-/* Be liberal in window checking */
-#define IP_CT_TCP_FLAG_BE_LIBERAL 0x08
-
-/* Has unacknowledged data */
-#define IP_CT_TCP_FLAG_DATA_UNACKNOWLEDGED 0x10
-
-/* The field td_maxack has been set */
-#define IP_CT_TCP_FLAG_MAXACK_SET 0x20
-
-/* Marks possibility for expected RFC5961 challenge ACK */
-#define IP_CT_EXP_CHALLENGE_ACK 0x40
-
-struct nf_ct_tcp_flags {
- __u8 flags;
- __u8 mask;
-};
-
-
-#endif /* _NF_CONNTRACK_TCP_H */
diff --git a/linux-headers/include/linux/netfilter/nf_conntrack_tuple_common.h b/linux-headers/include/linux/netfilter/nf_conntrack_tuple_common.h
deleted file mode 100644
index a9c3834..0000000
--- a/linux-headers/include/linux/netfilter/nf_conntrack_tuple_common.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef _NF_CONNTRACK_TUPLE_COMMON_H
-#define _NF_CONNTRACK_TUPLE_COMMON_H
-
-#include <linux/types.h>
-#include <linux/netfilter.h>
-
-enum ip_conntrack_dir {
- IP_CT_DIR_ORIGINAL,
- IP_CT_DIR_REPLY,
- IP_CT_DIR_MAX
-};
-
-/* The protocol-specific manipulable parts of the tuple: always in
- * network order
- */
-union nf_conntrack_man_proto {
- /* Add other protocols here. */
- __be16 all;
-
- struct {
- __be16 port;
- } tcp;
- struct {
- __be16 port;
- } udp;
- struct {
- __be16 id;
- } icmp;
- struct {
- __be16 port;
- } dccp;
- struct {
- __be16 port;
- } sctp;
- struct {
- __be16 key; /* GRE key is 32bit, PPtP only uses 16bit */
- } gre;
-};
-
-#define CTINFO2DIR(ctinfo) ((ctinfo) >= IP_CT_IS_REPLY ? IP_CT_DIR_REPLY : IP_CT_DIR_ORIGINAL)
-
-#endif /* _NF_CONNTRACK_TUPLE_COMMON_H */
diff --git a/linux-headers/include/linux/netfilter/nf_nat.h b/linux-headers/include/linux/netfilter/nf_nat.h
deleted file mode 100644
index 0880781..0000000
--- a/linux-headers/include/linux/netfilter/nf_nat.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef _NETFILTER_NF_NAT_H
-#define _NETFILTER_NF_NAT_H
-
-#include <linux/netfilter.h>
-#include <linux/netfilter/nf_conntrack_tuple_common.h>
-
-#define NF_NAT_RANGE_MAP_IPS (1 << 0)
-#define NF_NAT_RANGE_PROTO_SPECIFIED (1 << 1)
-#define NF_NAT_RANGE_PROTO_RANDOM (1 << 2)
-#define NF_NAT_RANGE_PERSISTENT (1 << 3)
-#define NF_NAT_RANGE_PROTO_RANDOM_FULLY (1 << 4)
-
-#define NF_NAT_RANGE_PROTO_RANDOM_ALL \
- (NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PROTO_RANDOM_FULLY)
-
-#define NF_NAT_RANGE_MASK \
- (NF_NAT_RANGE_MAP_IPS | NF_NAT_RANGE_PROTO_SPECIFIED | \
- NF_NAT_RANGE_PROTO_RANDOM | NF_NAT_RANGE_PERSISTENT | \
- NF_NAT_RANGE_PROTO_RANDOM_FULLY)
-
-struct nf_nat_ipv4_range {
- unsigned int flags;
- __be32 min_ip;
- __be32 max_ip;
- union nf_conntrack_man_proto min;
- union nf_conntrack_man_proto max;
-};
-
-struct nf_nat_ipv4_multi_range_compat {
- unsigned int rangesize;
- struct nf_nat_ipv4_range range[1];
-};
-
-struct nf_nat_range {
- unsigned int flags;
- union nf_inet_addr min_addr;
- union nf_inet_addr max_addr;
- union nf_conntrack_man_proto min_proto;
- union nf_conntrack_man_proto max_proto;
-};
-
-#endif /* _NETFILTER_NF_NAT_H */
diff --git a/linux-headers/include/linux/netfilter/nf_tables.h b/linux-headers/include/linux/netfilter/nf_tables.h
deleted file mode 100644
index eeffde1..0000000
--- a/linux-headers/include/linux/netfilter/nf_tables.h
+++ /dev/null
@@ -1,1070 +0,0 @@
-#ifndef _LINUX_NF_TABLES_H
-#define _LINUX_NF_TABLES_H
-
-#define NFT_TABLE_MAXNAMELEN 32
-#define NFT_CHAIN_MAXNAMELEN 32
-#define NFT_USERDATA_MAXLEN 256
-
-/**
- * enum nft_registers - nf_tables registers
- *
- * nf_tables used to have five registers: a verdict register and four data
- * registers of size 16. The data registers have been changed to 16 registers
- * of size 4. For compatibility reasons, the NFT_REG_[1-4] registers still
- * map to areas of size 16, the 4 byte registers are addressed using
- * NFT_REG32_00 - NFT_REG32_15.
- */
-enum nft_registers {
- NFT_REG_VERDICT,
- NFT_REG_1,
- NFT_REG_2,
- NFT_REG_3,
- NFT_REG_4,
- __NFT_REG_MAX,
-
- NFT_REG32_00 = 8,
- MFT_REG32_01,
- NFT_REG32_02,
- NFT_REG32_03,
- NFT_REG32_04,
- NFT_REG32_05,
- NFT_REG32_06,
- NFT_REG32_07,
- NFT_REG32_08,
- NFT_REG32_09,
- NFT_REG32_10,
- NFT_REG32_11,
- NFT_REG32_12,
- NFT_REG32_13,
- NFT_REG32_14,
- NFT_REG32_15,
-};
-#define NFT_REG_MAX (__NFT_REG_MAX - 1)
-
-#define NFT_REG_SIZE 16
-#define NFT_REG32_SIZE 4
-
-/**
- * enum nft_verdicts - nf_tables internal verdicts
- *
- * @NFT_CONTINUE: continue evaluation of the current rule
- * @NFT_BREAK: terminate evaluation of the current rule
- * @NFT_JUMP: push the current chain on the jump stack and jump to a chain
- * @NFT_GOTO: jump to a chain without pushing the current chain on the jump stack
- * @NFT_RETURN: return to the topmost chain on the jump stack
- *
- * The nf_tables verdicts share their numeric space with the netfilter verdicts.
- */
-enum nft_verdicts {
- NFT_CONTINUE = -1,
- NFT_BREAK = -2,
- NFT_JUMP = -3,
- NFT_GOTO = -4,
- NFT_RETURN = -5,
-};
-
-/**
- * enum nf_tables_msg_types - nf_tables netlink message types
- *
- * @NFT_MSG_NEWTABLE: create a new table (enum nft_table_attributes)
- * @NFT_MSG_GETTABLE: get a table (enum nft_table_attributes)
- * @NFT_MSG_DELTABLE: delete a table (enum nft_table_attributes)
- * @NFT_MSG_NEWCHAIN: create a new chain (enum nft_chain_attributes)
- * @NFT_MSG_GETCHAIN: get a chain (enum nft_chain_attributes)
- * @NFT_MSG_DELCHAIN: delete a chain (enum nft_chain_attributes)
- * @NFT_MSG_NEWRULE: create a new rule (enum nft_rule_attributes)
- * @NFT_MSG_GETRULE: get a rule (enum nft_rule_attributes)
- * @NFT_MSG_DELRULE: delete a rule (enum nft_rule_attributes)
- * @NFT_MSG_NEWSET: create a new set (enum nft_set_attributes)
- * @NFT_MSG_GETSET: get a set (enum nft_set_attributes)
- * @NFT_MSG_DELSET: delete a set (enum nft_set_attributes)
- * @NFT_MSG_NEWSETELEM: create a new set element (enum nft_set_elem_attributes)
- * @NFT_MSG_GETSETELEM: get a set element (enum nft_set_elem_attributes)
- * @NFT_MSG_DELSETELEM: delete a set element (enum nft_set_elem_attributes)
- * @NFT_MSG_NEWGEN: announce a new generation, only for events (enum nft_gen_attributes)
- * @NFT_MSG_GETGEN: get the rule-set generation (enum nft_gen_attributes)
- * @NFT_MSG_TRACE: trace event (enum nft_trace_attributes)
- */
-enum nf_tables_msg_types {
- NFT_MSG_NEWTABLE,
- NFT_MSG_GETTABLE,
- NFT_MSG_DELTABLE,
- NFT_MSG_NEWCHAIN,
- NFT_MSG_GETCHAIN,
- NFT_MSG_DELCHAIN,
- NFT_MSG_NEWRULE,
- NFT_MSG_GETRULE,
- NFT_MSG_DELRULE,
- NFT_MSG_NEWSET,
- NFT_MSG_GETSET,
- NFT_MSG_DELSET,
- NFT_MSG_NEWSETELEM,
- NFT_MSG_GETSETELEM,
- NFT_MSG_DELSETELEM,
- NFT_MSG_NEWGEN,
- NFT_MSG_GETGEN,
- NFT_MSG_TRACE,
- NFT_MSG_MAX,
-};
-
-/**
- * enum nft_list_attributes - nf_tables generic list netlink attributes
- *
- * @NFTA_LIST_ELEM: list element (NLA_NESTED)
- */
-enum nft_list_attributes {
- NFTA_LIST_UNPEC,
- NFTA_LIST_ELEM,
- __NFTA_LIST_MAX
-};
-#define NFTA_LIST_MAX (__NFTA_LIST_MAX - 1)
-
-/**
- * enum nft_hook_attributes - nf_tables netfilter hook netlink attributes
- *
- * @NFTA_HOOK_HOOKNUM: netfilter hook number (NLA_U32)
- * @NFTA_HOOK_PRIORITY: netfilter hook priority (NLA_U32)
- * @NFTA_HOOK_DEV: netdevice name (NLA_STRING)
- */
-enum nft_hook_attributes {
- NFTA_HOOK_UNSPEC,
- NFTA_HOOK_HOOKNUM,
- NFTA_HOOK_PRIORITY,
- NFTA_HOOK_DEV,
- __NFTA_HOOK_MAX
-};
-#define NFTA_HOOK_MAX (__NFTA_HOOK_MAX - 1)
-
-/**
- * enum nft_table_flags - nf_tables table flags
- *
- * @NFT_TABLE_F_DORMANT: this table is not active
- */
-enum nft_table_flags {
- NFT_TABLE_F_DORMANT = 0x1,
-};
-
-/**
- * enum nft_table_attributes - nf_tables table netlink attributes
- *
- * @NFTA_TABLE_NAME: name of the table (NLA_STRING)
- * @NFTA_TABLE_FLAGS: bitmask of enum nft_table_flags (NLA_U32)
- * @NFTA_TABLE_USE: number of chains in this table (NLA_U32)
- */
-enum nft_table_attributes {
- NFTA_TABLE_UNSPEC,
- NFTA_TABLE_NAME,
- NFTA_TABLE_FLAGS,
- NFTA_TABLE_USE,
- __NFTA_TABLE_MAX
-};
-#define NFTA_TABLE_MAX (__NFTA_TABLE_MAX - 1)
-
-/**
- * enum nft_chain_attributes - nf_tables chain netlink attributes
- *
- * @NFTA_CHAIN_TABLE: name of the table containing the chain (NLA_STRING)
- * @NFTA_CHAIN_HANDLE: numeric handle of the chain (NLA_U64)
- * @NFTA_CHAIN_NAME: name of the chain (NLA_STRING)
- * @NFTA_CHAIN_HOOK: hook specification for basechains (NLA_NESTED: nft_hook_attributes)
- * @NFTA_CHAIN_POLICY: numeric policy of the chain (NLA_U32)
- * @NFTA_CHAIN_USE: number of references to this chain (NLA_U32)
- * @NFTA_CHAIN_TYPE: type name of the string (NLA_NUL_STRING)
- * @NFTA_CHAIN_COUNTERS: counter specification of the chain (NLA_NESTED: nft_counter_attributes)
- */
-enum nft_chain_attributes {
- NFTA_CHAIN_UNSPEC,
- NFTA_CHAIN_TABLE,
- NFTA_CHAIN_HANDLE,
- NFTA_CHAIN_NAME,
- NFTA_CHAIN_HOOK,
- NFTA_CHAIN_POLICY,
- NFTA_CHAIN_USE,
- NFTA_CHAIN_TYPE,
- NFTA_CHAIN_COUNTERS,
- __NFTA_CHAIN_MAX
-};
-#define NFTA_CHAIN_MAX (__NFTA_CHAIN_MAX - 1)
-
-/**
- * enum nft_rule_attributes - nf_tables rule netlink attributes
- *
- * @NFTA_RULE_TABLE: name of the table containing the rule (NLA_STRING)
- * @NFTA_RULE_CHAIN: name of the chain containing the rule (NLA_STRING)
- * @NFTA_RULE_HANDLE: numeric handle of the rule (NLA_U64)
- * @NFTA_RULE_EXPRESSIONS: list of expressions (NLA_NESTED: nft_expr_attributes)
- * @NFTA_RULE_COMPAT: compatibility specifications of the rule (NLA_NESTED: nft_rule_compat_attributes)
- * @NFTA_RULE_POSITION: numeric handle of the previous rule (NLA_U64)
- * @NFTA_RULE_USERDATA: user data (NLA_BINARY, NFT_USERDATA_MAXLEN)
- */
-enum nft_rule_attributes {
- NFTA_RULE_UNSPEC,
- NFTA_RULE_TABLE,
- NFTA_RULE_CHAIN,
- NFTA_RULE_HANDLE,
- NFTA_RULE_EXPRESSIONS,
- NFTA_RULE_COMPAT,
- NFTA_RULE_POSITION,
- NFTA_RULE_USERDATA,
- __NFTA_RULE_MAX
-};
-#define NFTA_RULE_MAX (__NFTA_RULE_MAX - 1)
-
-/**
- * enum nft_rule_compat_flags - nf_tables rule compat flags
- *
- * @NFT_RULE_COMPAT_F_INV: invert the check result
- */
-enum nft_rule_compat_flags {
- NFT_RULE_COMPAT_F_INV = (1 << 1),
- NFT_RULE_COMPAT_F_MASK = NFT_RULE_COMPAT_F_INV,
-};
-
-/**
- * enum nft_rule_compat_attributes - nf_tables rule compat attributes
- *
- * @NFTA_RULE_COMPAT_PROTO: numerice value of handled protocol (NLA_U32)
- * @NFTA_RULE_COMPAT_FLAGS: bitmask of enum nft_rule_compat_flags (NLA_U32)
- */
-enum nft_rule_compat_attributes {
- NFTA_RULE_COMPAT_UNSPEC,
- NFTA_RULE_COMPAT_PROTO,
- NFTA_RULE_COMPAT_FLAGS,
- __NFTA_RULE_COMPAT_MAX
-};
-#define NFTA_RULE_COMPAT_MAX (__NFTA_RULE_COMPAT_MAX - 1)
-
-/**
- * enum nft_set_flags - nf_tables set flags
- *
- * @NFT_SET_ANONYMOUS: name allocation, automatic cleanup on unlink
- * @NFT_SET_CONSTANT: set contents may not change while bound
- * @NFT_SET_INTERVAL: set contains intervals
- * @NFT_SET_MAP: set is used as a dictionary
- * @NFT_SET_TIMEOUT: set uses timeouts
- * @NFT_SET_EVAL: set contains expressions for evaluation
- */
-enum nft_set_flags {
- NFT_SET_ANONYMOUS = 0x1,
- NFT_SET_CONSTANT = 0x2,
- NFT_SET_INTERVAL = 0x4,
- NFT_SET_MAP = 0x8,
- NFT_SET_TIMEOUT = 0x10,
- NFT_SET_EVAL = 0x20,
-};
-
-/**
- * enum nft_set_policies - set selection policy
- *
- * @NFT_SET_POL_PERFORMANCE: prefer high performance over low memory use
- * @NFT_SET_POL_MEMORY: prefer low memory use over high performance
- */
-enum nft_set_policies {
- NFT_SET_POL_PERFORMANCE,
- NFT_SET_POL_MEMORY,
-};
-
-/**
- * enum nft_set_desc_attributes - set element description
- *
- * @NFTA_SET_DESC_SIZE: number of elements in set (NLA_U32)
- */
-enum nft_set_desc_attributes {
- NFTA_SET_DESC_UNSPEC,
- NFTA_SET_DESC_SIZE,
- __NFTA_SET_DESC_MAX
-};
-#define NFTA_SET_DESC_MAX (__NFTA_SET_DESC_MAX - 1)
-
-/**
- * enum nft_set_attributes - nf_tables set netlink attributes
- *
- * @NFTA_SET_TABLE: table name (NLA_STRING)
- * @NFTA_SET_NAME: set name (NLA_STRING)
- * @NFTA_SET_FLAGS: bitmask of enum nft_set_flags (NLA_U32)
- * @NFTA_SET_KEY_TYPE: key data type, informational purpose only (NLA_U32)
- * @NFTA_SET_KEY_LEN: key data length (NLA_U32)
- * @NFTA_SET_DATA_TYPE: mapping data type (NLA_U32)
- * @NFTA_SET_DATA_LEN: mapping data length (NLA_U32)
- * @NFTA_SET_POLICY: selection policy (NLA_U32)
- * @NFTA_SET_DESC: set description (NLA_NESTED)
- * @NFTA_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
- * @NFTA_SET_TIMEOUT: default timeout value (NLA_U64)
- * @NFTA_SET_GC_INTERVAL: garbage collection interval (NLA_U32)
- * @NFTA_SET_USERDATA: user data (NLA_BINARY)
- */
-enum nft_set_attributes {
- NFTA_SET_UNSPEC,
- NFTA_SET_TABLE,
- NFTA_SET_NAME,
- NFTA_SET_FLAGS,
- NFTA_SET_KEY_TYPE,
- NFTA_SET_KEY_LEN,
- NFTA_SET_DATA_TYPE,
- NFTA_SET_DATA_LEN,
- NFTA_SET_POLICY,
- NFTA_SET_DESC,
- NFTA_SET_ID,
- NFTA_SET_TIMEOUT,
- NFTA_SET_GC_INTERVAL,
- NFTA_SET_USERDATA,
- __NFTA_SET_MAX
-};
-#define NFTA_SET_MAX (__NFTA_SET_MAX - 1)
-
-/**
- * enum nft_set_elem_flags - nf_tables set element flags
- *
- * @NFT_SET_ELEM_INTERVAL_END: element ends the previous interval
- */
-enum nft_set_elem_flags {
- NFT_SET_ELEM_INTERVAL_END = 0x1,
-};
-
-/**
- * enum nft_set_elem_attributes - nf_tables set element netlink attributes
- *
- * @NFTA_SET_ELEM_KEY: key value (NLA_NESTED: nft_data)
- * @NFTA_SET_ELEM_DATA: data value of mapping (NLA_NESTED: nft_data_attributes)
- * @NFTA_SET_ELEM_FLAGS: bitmask of nft_set_elem_flags (NLA_U32)
- * @NFTA_SET_ELEM_TIMEOUT: timeout value (NLA_U64)
- * @NFTA_SET_ELEM_EXPIRATION: expiration time (NLA_U64)
- * @NFTA_SET_ELEM_USERDATA: user data (NLA_BINARY)
- * @NFTA_SET_ELEM_EXPR: expression (NLA_NESTED: nft_expr_attributes)
- */
-enum nft_set_elem_attributes {
- NFTA_SET_ELEM_UNSPEC,
- NFTA_SET_ELEM_KEY,
- NFTA_SET_ELEM_DATA,
- NFTA_SET_ELEM_FLAGS,
- NFTA_SET_ELEM_TIMEOUT,
- NFTA_SET_ELEM_EXPIRATION,
- NFTA_SET_ELEM_USERDATA,
- NFTA_SET_ELEM_EXPR,
- __NFTA_SET_ELEM_MAX
-};
-#define NFTA_SET_ELEM_MAX (__NFTA_SET_ELEM_MAX - 1)
-
-/**
- * enum nft_set_elem_list_attributes - nf_tables set element list netlink attributes
- *
- * @NFTA_SET_ELEM_LIST_TABLE: table of the set to be changed (NLA_STRING)
- * @NFTA_SET_ELEM_LIST_SET: name of the set to be changed (NLA_STRING)
- * @NFTA_SET_ELEM_LIST_ELEMENTS: list of set elements (NLA_NESTED: nft_set_elem_attributes)
- * @NFTA_SET_ELEM_LIST_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
- */
-enum nft_set_elem_list_attributes {
- NFTA_SET_ELEM_LIST_UNSPEC,
- NFTA_SET_ELEM_LIST_TABLE,
- NFTA_SET_ELEM_LIST_SET,
- NFTA_SET_ELEM_LIST_ELEMENTS,
- NFTA_SET_ELEM_LIST_SET_ID,
- __NFTA_SET_ELEM_LIST_MAX
-};
-#define NFTA_SET_ELEM_LIST_MAX (__NFTA_SET_ELEM_LIST_MAX - 1)
-
-/**
- * enum nft_data_types - nf_tables data types
- *
- * @NFT_DATA_VALUE: generic data
- * @NFT_DATA_VERDICT: netfilter verdict
- *
- * The type of data is usually determined by the kernel directly and is not
- * explicitly specified by userspace. The only difference are sets, where
- * userspace specifies the key and mapping data types.
- *
- * The values 0xffffff00-0xffffffff are reserved for internally used types.
- * The remaining range can be freely used by userspace to encode types, all
- * values are equivalent to NFT_DATA_VALUE.
- */
-enum nft_data_types {
- NFT_DATA_VALUE,
- NFT_DATA_VERDICT = 0xffffff00U,
-};
-
-#define NFT_DATA_RESERVED_MASK 0xffffff00U
-
-/**
- * enum nft_data_attributes - nf_tables data netlink attributes
- *
- * @NFTA_DATA_VALUE: generic data (NLA_BINARY)
- * @NFTA_DATA_VERDICT: nf_tables verdict (NLA_NESTED: nft_verdict_attributes)
- */
-enum nft_data_attributes {
- NFTA_DATA_UNSPEC,
- NFTA_DATA_VALUE,
- NFTA_DATA_VERDICT,
- __NFTA_DATA_MAX
-};
-#define NFTA_DATA_MAX (__NFTA_DATA_MAX - 1)
-
-/* Maximum length of a value */
-#define NFT_DATA_VALUE_MAXLEN 64
-
-/**
- * enum nft_verdict_attributes - nf_tables verdict netlink attributes
- *
- * @NFTA_VERDICT_CODE: nf_tables verdict (NLA_U32: enum nft_verdicts)
- * @NFTA_VERDICT_CHAIN: jump target chain name (NLA_STRING)
- */
-enum nft_verdict_attributes {
- NFTA_VERDICT_UNSPEC,
- NFTA_VERDICT_CODE,
- NFTA_VERDICT_CHAIN,
- __NFTA_VERDICT_MAX
-};
-#define NFTA_VERDICT_MAX (__NFTA_VERDICT_MAX - 1)
-
-/**
- * enum nft_expr_attributes - nf_tables expression netlink attributes
- *
- * @NFTA_EXPR_NAME: name of the expression type (NLA_STRING)
- * @NFTA_EXPR_DATA: type specific data (NLA_NESTED)
- */
-enum nft_expr_attributes {
- NFTA_EXPR_UNSPEC,
- NFTA_EXPR_NAME,
- NFTA_EXPR_DATA,
- __NFTA_EXPR_MAX
-};
-#define NFTA_EXPR_MAX (__NFTA_EXPR_MAX - 1)
-
-/**
- * enum nft_immediate_attributes - nf_tables immediate expression netlink attributes
- *
- * @NFTA_IMMEDIATE_DREG: destination register to load data into (NLA_U32)
- * @NFTA_IMMEDIATE_DATA: data to load (NLA_NESTED: nft_data_attributes)
- */
-enum nft_immediate_attributes {
- NFTA_IMMEDIATE_UNSPEC,
- NFTA_IMMEDIATE_DREG,
- NFTA_IMMEDIATE_DATA,
- __NFTA_IMMEDIATE_MAX
-};
-#define NFTA_IMMEDIATE_MAX (__NFTA_IMMEDIATE_MAX - 1)
-
-/**
- * enum nft_bitwise_attributes - nf_tables bitwise expression netlink attributes
- *
- * @NFTA_BITWISE_SREG: source register (NLA_U32: nft_registers)
- * @NFTA_BITWISE_DREG: destination register (NLA_U32: nft_registers)
- * @NFTA_BITWISE_LEN: length of operands (NLA_U32)
- * @NFTA_BITWISE_MASK: mask value (NLA_NESTED: nft_data_attributes)
- * @NFTA_BITWISE_XOR: xor value (NLA_NESTED: nft_data_attributes)
- *
- * The bitwise expression performs the following operation:
- *
- * dreg = (sreg & mask) ^ xor
- *
- * which allow to express all bitwise operations:
- *
- * mask xor
- * NOT: 1 1
- * OR: 0 x
- * XOR: 1 x
- * AND: x 0
- */
-enum nft_bitwise_attributes {
- NFTA_BITWISE_UNSPEC,
- NFTA_BITWISE_SREG,
- NFTA_BITWISE_DREG,
- NFTA_BITWISE_LEN,
- NFTA_BITWISE_MASK,
- NFTA_BITWISE_XOR,
- __NFTA_BITWISE_MAX
-};
-#define NFTA_BITWISE_MAX (__NFTA_BITWISE_MAX - 1)
-
-/**
- * enum nft_byteorder_ops - nf_tables byteorder operators
- *
- * @NFT_BYTEORDER_NTOH: network to host operator
- * @NFT_BYTEORDER_HTON: host to network opertaor
- */
-enum nft_byteorder_ops {
- NFT_BYTEORDER_NTOH,
- NFT_BYTEORDER_HTON,
-};
-
-/**
- * enum nft_byteorder_attributes - nf_tables byteorder expression netlink attributes
- *
- * @NFTA_BYTEORDER_SREG: source register (NLA_U32: nft_registers)
- * @NFTA_BYTEORDER_DREG: destination register (NLA_U32: nft_registers)
- * @NFTA_BYTEORDER_OP: operator (NLA_U32: enum nft_byteorder_ops)
- * @NFTA_BYTEORDER_LEN: length of the data (NLA_U32)
- * @NFTA_BYTEORDER_SIZE: data size in bytes (NLA_U32: 2 or 4)
- */
-enum nft_byteorder_attributes {
- NFTA_BYTEORDER_UNSPEC,
- NFTA_BYTEORDER_SREG,
- NFTA_BYTEORDER_DREG,
- NFTA_BYTEORDER_OP,
- NFTA_BYTEORDER_LEN,
- NFTA_BYTEORDER_SIZE,
- __NFTA_BYTEORDER_MAX
-};
-#define NFTA_BYTEORDER_MAX (__NFTA_BYTEORDER_MAX - 1)
-
-/**
- * enum nft_cmp_ops - nf_tables relational operator
- *
- * @NFT_CMP_EQ: equal
- * @NFT_CMP_NEQ: not equal
- * @NFT_CMP_LT: less than
- * @NFT_CMP_LTE: less than or equal to
- * @NFT_CMP_GT: greater than
- * @NFT_CMP_GTE: greater than or equal to
- */
-enum nft_cmp_ops {
- NFT_CMP_EQ,
- NFT_CMP_NEQ,
- NFT_CMP_LT,
- NFT_CMP_LTE,
- NFT_CMP_GT,
- NFT_CMP_GTE,
-};
-
-/**
- * enum nft_cmp_attributes - nf_tables cmp expression netlink attributes
- *
- * @NFTA_CMP_SREG: source register of data to compare (NLA_U32: nft_registers)
- * @NFTA_CMP_OP: cmp operation (NLA_U32: nft_cmp_ops)
- * @NFTA_CMP_DATA: data to compare against (NLA_NESTED: nft_data_attributes)
- */
-enum nft_cmp_attributes {
- NFTA_CMP_UNSPEC,
- NFTA_CMP_SREG,
- NFTA_CMP_OP,
- NFTA_CMP_DATA,
- __NFTA_CMP_MAX
-};
-#define NFTA_CMP_MAX (__NFTA_CMP_MAX - 1)
-
-/**
- * enum nft_lookup_attributes - nf_tables set lookup expression netlink attributes
- *
- * @NFTA_LOOKUP_SET: name of the set where to look for (NLA_STRING)
- * @NFTA_LOOKUP_SREG: source register of the data to look for (NLA_U32: nft_registers)
- * @NFTA_LOOKUP_DREG: destination register (NLA_U32: nft_registers)
- * @NFTA_LOOKUP_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
- */
-enum nft_lookup_attributes {
- NFTA_LOOKUP_UNSPEC,
- NFTA_LOOKUP_SET,
- NFTA_LOOKUP_SREG,
- NFTA_LOOKUP_DREG,
- NFTA_LOOKUP_SET_ID,
- __NFTA_LOOKUP_MAX
-};
-#define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1)
-
-enum nft_dynset_ops {
- NFT_DYNSET_OP_ADD,
- NFT_DYNSET_OP_UPDATE,
-};
-
-/**
- * enum nft_dynset_attributes - dynset expression attributes
- *
- * @NFTA_DYNSET_SET_NAME: name of set the to add data to (NLA_STRING)
- * @NFTA_DYNSET_SET_ID: uniquely identifier of the set in the transaction (NLA_U32)
- * @NFTA_DYNSET_OP: operation (NLA_U32)
- * @NFTA_DYNSET_SREG_KEY: source register of the key (NLA_U32)
- * @NFTA_DYNSET_SREG_DATA: source register of the data (NLA_U32)
- * @NFTA_DYNSET_TIMEOUT: timeout value for the new element (NLA_U64)
- * @NFTA_DYNSET_EXPR: expression (NLA_NESTED: nft_expr_attributes)
- */
-enum nft_dynset_attributes {
- NFTA_DYNSET_UNSPEC,
- NFTA_DYNSET_SET_NAME,
- NFTA_DYNSET_SET_ID,
- NFTA_DYNSET_OP,
- NFTA_DYNSET_SREG_KEY,
- NFTA_DYNSET_SREG_DATA,
- NFTA_DYNSET_TIMEOUT,
- NFTA_DYNSET_EXPR,
- __NFTA_DYNSET_MAX,
-};
-#define NFTA_DYNSET_MAX (__NFTA_DYNSET_MAX - 1)
-
-/**
- * enum nft_payload_bases - nf_tables payload expression offset bases
- *
- * @NFT_PAYLOAD_LL_HEADER: link layer header
- * @NFT_PAYLOAD_NETWORK_HEADER: network header
- * @NFT_PAYLOAD_TRANSPORT_HEADER: transport header
- */
-enum nft_payload_bases {
- NFT_PAYLOAD_LL_HEADER,
- NFT_PAYLOAD_NETWORK_HEADER,
- NFT_PAYLOAD_TRANSPORT_HEADER,
-};
-
-/**
- * enum nft_payload_csum_types - nf_tables payload expression checksum types
- *
- * @NFT_PAYLOAD_CSUM_NONE: no checksumming
- * @NFT_PAYLOAD_CSUM_INET: internet checksum (RFC 791)
- */
-enum nft_payload_csum_types {
- NFT_PAYLOAD_CSUM_NONE,
- NFT_PAYLOAD_CSUM_INET,
-};
-
-/**
- * enum nft_payload_attributes - nf_tables payload expression netlink attributes
- *
- * @NFTA_PAYLOAD_DREG: destination register to load data into (NLA_U32: nft_registers)
- * @NFTA_PAYLOAD_BASE: payload base (NLA_U32: nft_payload_bases)
- * @NFTA_PAYLOAD_OFFSET: payload offset relative to base (NLA_U32)
- * @NFTA_PAYLOAD_LEN: payload length (NLA_U32)
- * @NFTA_PAYLOAD_SREG: source register to load data from (NLA_U32: nft_registers)
- * @NFTA_PAYLOAD_CSUM_TYPE: checksum type (NLA_U32)
- * @NFTA_PAYLOAD_CSUM_OFFSET: checksum offset relative to base (NLA_U32)
- */
-enum nft_payload_attributes {
- NFTA_PAYLOAD_UNSPEC,
- NFTA_PAYLOAD_DREG,
- NFTA_PAYLOAD_BASE,
- NFTA_PAYLOAD_OFFSET,
- NFTA_PAYLOAD_LEN,
- NFTA_PAYLOAD_SREG,
- NFTA_PAYLOAD_CSUM_TYPE,
- NFTA_PAYLOAD_CSUM_OFFSET,
- __NFTA_PAYLOAD_MAX
-};
-#define NFTA_PAYLOAD_MAX (__NFTA_PAYLOAD_MAX - 1)
-
-/**
- * enum nft_exthdr_attributes - nf_tables IPv6 extension header expression netlink attributes
- *
- * @NFTA_EXTHDR_DREG: destination register (NLA_U32: nft_registers)
- * @NFTA_EXTHDR_TYPE: extension header type (NLA_U8)
- * @NFTA_EXTHDR_OFFSET: extension header offset (NLA_U32)
- * @NFTA_EXTHDR_LEN: extension header length (NLA_U32)
- */
-enum nft_exthdr_attributes {
- NFTA_EXTHDR_UNSPEC,
- NFTA_EXTHDR_DREG,
- NFTA_EXTHDR_TYPE,
- NFTA_EXTHDR_OFFSET,
- NFTA_EXTHDR_LEN,
- __NFTA_EXTHDR_MAX
-};
-#define NFTA_EXTHDR_MAX (__NFTA_EXTHDR_MAX - 1)
-
-/**
- * enum nft_meta_keys - nf_tables meta expression keys
- *
- * @NFT_META_LEN: packet length (skb->len)
- * @NFT_META_PROTOCOL: packet ethertype protocol (skb->protocol), invalid in OUTPUT
- * @NFT_META_PRIORITY: packet priority (skb->priority)
- * @NFT_META_MARK: packet mark (skb->mark)
- * @NFT_META_IIF: packet input interface index (dev->ifindex)
- * @NFT_META_OIF: packet output interface index (dev->ifindex)
- * @NFT_META_IIFNAME: packet input interface name (dev->name)
- * @NFT_META_OIFNAME: packet output interface name (dev->name)
- * @NFT_META_IIFTYPE: packet input interface type (dev->type)
- * @NFT_META_OIFTYPE: packet output interface type (dev->type)
- * @NFT_META_SKUID: originating socket UID (fsuid)
- * @NFT_META_SKGID: originating socket GID (fsgid)
- * @NFT_META_NFTRACE: packet nftrace bit
- * @NFT_META_RTCLASSID: realm value of packet's route (skb->dst->tclassid)
- * @NFT_META_SECMARK: packet secmark (skb->secmark)
- * @NFT_META_NFPROTO: netfilter protocol
- * @NFT_META_L4PROTO: layer 4 protocol number
- * @NFT_META_BRI_IIFNAME: packet input bridge interface name
- * @NFT_META_BRI_OIFNAME: packet output bridge interface name
- * @NFT_META_PKTTYPE: packet type (skb->pkt_type), special handling for loopback
- * @NFT_META_CPU: cpu id through smp_processor_id()
- * @NFT_META_IIFGROUP: packet input interface group
- * @NFT_META_OIFGROUP: packet output interface group
- * @NFT_META_CGROUP: socket control group (skb->sk->sk_classid)
- * @NFT_META_PRANDOM: a 32bit pseudo-random number
- */
-enum nft_meta_keys {
- NFT_META_LEN,
- NFT_META_PROTOCOL,
- NFT_META_PRIORITY,
- NFT_META_MARK,
- NFT_META_IIF,
- NFT_META_OIF,
- NFT_META_IIFNAME,
- NFT_META_OIFNAME,
- NFT_META_IIFTYPE,
- NFT_META_OIFTYPE,
- NFT_META_SKUID,
- NFT_META_SKGID,
- NFT_META_NFTRACE,
- NFT_META_RTCLASSID,
- NFT_META_SECMARK,
- NFT_META_NFPROTO,
- NFT_META_L4PROTO,
- NFT_META_BRI_IIFNAME,
- NFT_META_BRI_OIFNAME,
- NFT_META_PKTTYPE,
- NFT_META_CPU,
- NFT_META_IIFGROUP,
- NFT_META_OIFGROUP,
- NFT_META_CGROUP,
- NFT_META_PRANDOM,
-};
-
-/**
- * enum nft_meta_attributes - nf_tables meta expression netlink attributes
- *
- * @NFTA_META_DREG: destination register (NLA_U32)
- * @NFTA_META_KEY: meta data item to load (NLA_U32: nft_meta_keys)
- * @NFTA_META_SREG: source register (NLA_U32)
- */
-enum nft_meta_attributes {
- NFTA_META_UNSPEC,
- NFTA_META_DREG,
- NFTA_META_KEY,
- NFTA_META_SREG,
- __NFTA_META_MAX
-};
-#define NFTA_META_MAX (__NFTA_META_MAX - 1)
-
-/**
- * enum nft_ct_keys - nf_tables ct expression keys
- *
- * @NFT_CT_STATE: conntrack state (bitmask of enum ip_conntrack_info)
- * @NFT_CT_DIRECTION: conntrack direction (enum ip_conntrack_dir)
- * @NFT_CT_STATUS: conntrack status (bitmask of enum ip_conntrack_status)
- * @NFT_CT_MARK: conntrack mark value
- * @NFT_CT_SECMARK: conntrack secmark value
- * @NFT_CT_EXPIRATION: relative conntrack expiration time in ms
- * @NFT_CT_HELPER: connection tracking helper assigned to conntrack
- * @NFT_CT_L3PROTOCOL: conntrack layer 3 protocol
- * @NFT_CT_SRC: conntrack layer 3 protocol source (IPv4/IPv6 address)
- * @NFT_CT_DST: conntrack layer 3 protocol destination (IPv4/IPv6 address)
- * @NFT_CT_PROTOCOL: conntrack layer 4 protocol
- * @NFT_CT_PROTO_SRC: conntrack layer 4 protocol source
- * @NFT_CT_PROTO_DST: conntrack layer 4 protocol destination
- */
-enum nft_ct_keys {
- NFT_CT_STATE,
- NFT_CT_DIRECTION,
- NFT_CT_STATUS,
- NFT_CT_MARK,
- NFT_CT_SECMARK,
- NFT_CT_EXPIRATION,
- NFT_CT_HELPER,
- NFT_CT_L3PROTOCOL,
- NFT_CT_SRC,
- NFT_CT_DST,
- NFT_CT_PROTOCOL,
- NFT_CT_PROTO_SRC,
- NFT_CT_PROTO_DST,
- NFT_CT_LABELS,
- NFT_CT_PKTS,
- NFT_CT_BYTES,
-};
-
-/**
- * enum nft_ct_attributes - nf_tables ct expression netlink attributes
- *
- * @NFTA_CT_DREG: destination register (NLA_U32)
- * @NFTA_CT_KEY: conntrack data item to load (NLA_U32: nft_ct_keys)
- * @NFTA_CT_DIRECTION: direction in case of directional keys (NLA_U8)
- * @NFTA_CT_SREG: source register (NLA_U32)
- */
-enum nft_ct_attributes {
- NFTA_CT_UNSPEC,
- NFTA_CT_DREG,
- NFTA_CT_KEY,
- NFTA_CT_DIRECTION,
- NFTA_CT_SREG,
- __NFTA_CT_MAX
-};
-#define NFTA_CT_MAX (__NFTA_CT_MAX - 1)
-
-enum nft_limit_type {
- NFT_LIMIT_PKTS,
- NFT_LIMIT_PKT_BYTES
-};
-
-enum nft_limit_flags {
- NFT_LIMIT_F_INV = (1 << 0),
-};
-
-/**
- * enum nft_limit_attributes - nf_tables limit expression netlink attributes
- *
- * @NFTA_LIMIT_RATE: refill rate (NLA_U64)
- * @NFTA_LIMIT_UNIT: refill unit (NLA_U64)
- * @NFTA_LIMIT_BURST: burst (NLA_U32)
- * @NFTA_LIMIT_TYPE: type of limit (NLA_U32: enum nft_limit_type)
- * @NFTA_LIMIT_FLAGS: flags (NLA_U32: enum nft_limit_flags)
- */
-enum nft_limit_attributes {
- NFTA_LIMIT_UNSPEC,
- NFTA_LIMIT_RATE,
- NFTA_LIMIT_UNIT,
- NFTA_LIMIT_BURST,
- NFTA_LIMIT_TYPE,
- NFTA_LIMIT_FLAGS,
- __NFTA_LIMIT_MAX
-};
-#define NFTA_LIMIT_MAX (__NFTA_LIMIT_MAX - 1)
-
-/**
- * enum nft_counter_attributes - nf_tables counter expression netlink attributes
- *
- * @NFTA_COUNTER_BYTES: number of bytes (NLA_U64)
- * @NFTA_COUNTER_PACKETS: number of packets (NLA_U64)
- */
-enum nft_counter_attributes {
- NFTA_COUNTER_UNSPEC,
- NFTA_COUNTER_BYTES,
- NFTA_COUNTER_PACKETS,
- __NFTA_COUNTER_MAX
-};
-#define NFTA_COUNTER_MAX (__NFTA_COUNTER_MAX - 1)
-
-/**
- * enum nft_log_attributes - nf_tables log expression netlink attributes
- *
- * @NFTA_LOG_GROUP: netlink group to send messages to (NLA_U32)
- * @NFTA_LOG_PREFIX: prefix to prepend to log messages (NLA_STRING)
- * @NFTA_LOG_SNAPLEN: length of payload to include in netlink message (NLA_U32)
- * @NFTA_LOG_QTHRESHOLD: queue threshold (NLA_U32)
- * @NFTA_LOG_LEVEL: log level (NLA_U32)
- * @NFTA_LOG_FLAGS: logging flags (NLA_U32)
- */
-enum nft_log_attributes {
- NFTA_LOG_UNSPEC,
- NFTA_LOG_GROUP,
- NFTA_LOG_PREFIX,
- NFTA_LOG_SNAPLEN,
- NFTA_LOG_QTHRESHOLD,
- NFTA_LOG_LEVEL,
- NFTA_LOG_FLAGS,
- __NFTA_LOG_MAX
-};
-#define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1)
-
-/**
- * enum nft_queue_attributes - nf_tables queue expression netlink attributes
- *
- * @NFTA_QUEUE_NUM: netlink queue to send messages to (NLA_U16)
- * @NFTA_QUEUE_TOTAL: number of queues to load balance packets on (NLA_U16)
- * @NFTA_QUEUE_FLAGS: various flags (NLA_U16)
- */
-enum nft_queue_attributes {
- NFTA_QUEUE_UNSPEC,
- NFTA_QUEUE_NUM,
- NFTA_QUEUE_TOTAL,
- NFTA_QUEUE_FLAGS,
- __NFTA_QUEUE_MAX
-};
-#define NFTA_QUEUE_MAX (__NFTA_QUEUE_MAX - 1)
-
-#define NFT_QUEUE_FLAG_BYPASS 0x01 /* for compatibility with v2 */
-#define NFT_QUEUE_FLAG_CPU_FANOUT 0x02 /* use current CPU (no hashing) */
-#define NFT_QUEUE_FLAG_MASK 0x03
-
-/**
- * enum nft_reject_types - nf_tables reject expression reject types
- *
- * @NFT_REJECT_ICMP_UNREACH: reject using ICMP unreachable
- * @NFT_REJECT_TCP_RST: reject using TCP RST
- * @NFT_REJECT_ICMPX_UNREACH: abstracted ICMP unreachable for bridge and inet
- */
-enum nft_reject_types {
- NFT_REJECT_ICMP_UNREACH,
- NFT_REJECT_TCP_RST,
- NFT_REJECT_ICMPX_UNREACH,
-};
-
-/**
- * enum nft_reject_code - Generic reject codes for IPv4/IPv6
- *
- * @NFT_REJECT_ICMPX_NO_ROUTE: no route to host / network unreachable
- * @NFT_REJECT_ICMPX_PORT_UNREACH: port unreachable
- * @NFT_REJECT_ICMPX_HOST_UNREACH: host unreachable
- * @NFT_REJECT_ICMPX_ADMIN_PROHIBITED: administratively prohibited
- *
- * These codes are mapped to real ICMP and ICMPv6 codes.
- */
-enum nft_reject_inet_code {
- NFT_REJECT_ICMPX_NO_ROUTE = 0,
- NFT_REJECT_ICMPX_PORT_UNREACH,
- NFT_REJECT_ICMPX_HOST_UNREACH,
- NFT_REJECT_ICMPX_ADMIN_PROHIBITED,
- __NFT_REJECT_ICMPX_MAX
-};
-#define NFT_REJECT_ICMPX_MAX (__NFT_REJECT_ICMPX_MAX - 1)
-
-/**
- * enum nft_reject_attributes - nf_tables reject expression netlink attributes
- *
- * @NFTA_REJECT_TYPE: packet type to use (NLA_U32: nft_reject_types)
- * @NFTA_REJECT_ICMP_CODE: ICMP code to use (NLA_U8)
- */
-enum nft_reject_attributes {
- NFTA_REJECT_UNSPEC,
- NFTA_REJECT_TYPE,
- NFTA_REJECT_ICMP_CODE,
- __NFTA_REJECT_MAX
-};
-#define NFTA_REJECT_MAX (__NFTA_REJECT_MAX - 1)
-
-/**
- * enum nft_nat_types - nf_tables nat expression NAT types
- *
- * @NFT_NAT_SNAT: source NAT
- * @NFT_NAT_DNAT: destination NAT
- */
-enum nft_nat_types {
- NFT_NAT_SNAT,
- NFT_NAT_DNAT,
-};
-
-/**
- * enum nft_nat_attributes - nf_tables nat expression netlink attributes
- *
- * @NFTA_NAT_TYPE: NAT type (NLA_U32: nft_nat_types)
- * @NFTA_NAT_FAMILY: NAT family (NLA_U32)
- * @NFTA_NAT_REG_ADDR_MIN: source register of address range start (NLA_U32: nft_registers)
- * @NFTA_NAT_REG_ADDR_MAX: source register of address range end (NLA_U32: nft_registers)
- * @NFTA_NAT_REG_PROTO_MIN: source register of proto range start (NLA_U32: nft_registers)
- * @NFTA_NAT_REG_PROTO_MAX: source register of proto range end (NLA_U32: nft_registers)
- * @NFTA_NAT_FLAGS: NAT flags (see NF_NAT_RANGE_* in linux/netfilter/nf_nat.h) (NLA_U32)
- */
-enum nft_nat_attributes {
- NFTA_NAT_UNSPEC,
- NFTA_NAT_TYPE,
- NFTA_NAT_FAMILY,
- NFTA_NAT_REG_ADDR_MIN,
- NFTA_NAT_REG_ADDR_MAX,
- NFTA_NAT_REG_PROTO_MIN,
- NFTA_NAT_REG_PROTO_MAX,
- NFTA_NAT_FLAGS,
- __NFTA_NAT_MAX
-};
-#define NFTA_NAT_MAX (__NFTA_NAT_MAX - 1)
-
-/**
- * enum nft_masq_attributes - nf_tables masquerade expression attributes
- *
- * @NFTA_MASQ_FLAGS: NAT flags (see NF_NAT_RANGE_* in linux/netfilter/nf_nat.h) (NLA_U32)
- * @NFTA_MASQ_REG_PROTO_MIN: source register of proto range start (NLA_U32: nft_registers)
- * @NFTA_MASQ_REG_PROTO_MAX: source register of proto range end (NLA_U32: nft_registers)
- */
-enum nft_masq_attributes {
- NFTA_MASQ_UNSPEC,
- NFTA_MASQ_FLAGS,
- NFTA_MASQ_REG_PROTO_MIN,
- NFTA_MASQ_REG_PROTO_MAX,
- __NFTA_MASQ_MAX
-};
-#define NFTA_MASQ_MAX (__NFTA_MASQ_MAX - 1)
-
-/**
- * enum nft_redir_attributes - nf_tables redirect expression netlink attributes
- *
- * @NFTA_REDIR_REG_PROTO_MIN: source register of proto range start (NLA_U32: nft_registers)
- * @NFTA_REDIR_REG_PROTO_MAX: source register of proto range end (NLA_U32: nft_registers)
- * @NFTA_REDIR_FLAGS: NAT flags (see NF_NAT_RANGE_* in linux/netfilter/nf_nat.h) (NLA_U32)
- */
-enum nft_redir_attributes {
- NFTA_REDIR_UNSPEC,
- NFTA_REDIR_REG_PROTO_MIN,
- NFTA_REDIR_REG_PROTO_MAX,
- NFTA_REDIR_FLAGS,
- __NFTA_REDIR_MAX
-};
-#define NFTA_REDIR_MAX (__NFTA_REDIR_MAX - 1)
-
-/**
- * enum nft_dup_attributes - nf_tables dup expression netlink attributes
- *
- * @NFTA_DUP_SREG_ADDR: source register of address (NLA_U32: nft_registers)
- * @NFTA_DUP_SREG_DEV: source register of output interface (NLA_U32: nft_register)
- */
-enum nft_dup_attributes {
- NFTA_DUP_UNSPEC,
- NFTA_DUP_SREG_ADDR,
- NFTA_DUP_SREG_DEV,
- __NFTA_DUP_MAX
-};
-#define NFTA_DUP_MAX (__NFTA_DUP_MAX - 1)
-
-/**
- * enum nft_fwd_attributes - nf_tables fwd expression netlink attributes
- *
- * @NFTA_FWD_SREG_DEV: source register of output interface (NLA_U32: nft_register)
- */
-enum nft_fwd_attributes {
- NFTA_FWD_UNSPEC,
- NFTA_FWD_SREG_DEV,
- __NFTA_FWD_MAX
-};
-#define NFTA_FWD_MAX (__NFTA_FWD_MAX - 1)
-
-/**
- * enum nft_gen_attributes - nf_tables ruleset generation attributes
- *
- * @NFTA_GEN_ID: Ruleset generation ID (NLA_U32)
- */
-enum nft_gen_attributes {
- NFTA_GEN_UNSPEC,
- NFTA_GEN_ID,
- __NFTA_GEN_MAX
-};
-#define NFTA_GEN_MAX (__NFTA_GEN_MAX - 1)
-
-/**
- * enum nft_trace_attributes - nf_tables trace netlink attributes
- *
- * @NFTA_TRACE_TABLE: name of the table (NLA_STRING)
- * @NFTA_TRACE_CHAIN: name of the chain (NLA_STRING)
- * @NFTA_TRACE_RULE_HANDLE: numeric handle of the rule (NLA_U64)
- * @NFTA_TRACE_TYPE: type of the event (NLA_U32: nft_trace_types)
- * @NFTA_TRACE_VERDICT: verdict returned by hook (NLA_NESTED: nft_verdicts)
- * @NFTA_TRACE_ID: pseudo-id, same for each skb traced (NLA_U32)
- * @NFTA_TRACE_LL_HEADER: linklayer header (NLA_BINARY)
- * @NFTA_TRACE_NETWORK_HEADER: network header (NLA_BINARY)
- * @NFTA_TRACE_TRANSPORT_HEADER: transport header (NLA_BINARY)
- * @NFTA_TRACE_IIF: indev ifindex (NLA_U32)
- * @NFTA_TRACE_IIFTYPE: netdev->type of indev (NLA_U16)
- * @NFTA_TRACE_OIF: outdev ifindex (NLA_U32)
- * @NFTA_TRACE_OIFTYPE: netdev->type of outdev (NLA_U16)
- * @NFTA_TRACE_MARK: nfmark (NLA_U32)
- * @NFTA_TRACE_NFPROTO: nf protocol processed (NLA_U32)
- * @NFTA_TRACE_POLICY: policy that decided fate of packet (NLA_U32)
- */
-enum nft_trace_attibutes {
- NFTA_TRACE_UNSPEC,
- NFTA_TRACE_TABLE,
- NFTA_TRACE_CHAIN,
- NFTA_TRACE_RULE_HANDLE,
- NFTA_TRACE_TYPE,
- NFTA_TRACE_VERDICT,
- NFTA_TRACE_ID,
- NFTA_TRACE_LL_HEADER,
- NFTA_TRACE_NETWORK_HEADER,
- NFTA_TRACE_TRANSPORT_HEADER,
- NFTA_TRACE_IIF,
- NFTA_TRACE_IIFTYPE,
- NFTA_TRACE_OIF,
- NFTA_TRACE_OIFTYPE,
- NFTA_TRACE_MARK,
- NFTA_TRACE_NFPROTO,
- NFTA_TRACE_POLICY,
- __NFTA_TRACE_MAX
-};
-#define NFTA_TRACE_MAX (__NFTA_TRACE_MAX - 1)
-
-enum nft_trace_types {
- NFT_TRACETYPE_UNSPEC,
- NFT_TRACETYPE_POLICY,
- NFT_TRACETYPE_RETURN,
- NFT_TRACETYPE_RULE,
- __NFT_TRACETYPE_MAX
-};
-#define NFT_TRACETYPE_MAX (__NFT_TRACETYPE_MAX - 1)
-#endif /* _LINUX_NF_TABLES_H */
diff --git a/linux-headers/include/linux/netfilter/nf_tables_compat.h b/linux-headers/include/linux/netfilter/nf_tables_compat.h
deleted file mode 100644
index 8310f5f..0000000
--- a/linux-headers/include/linux/netfilter/nf_tables_compat.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef _NFT_COMPAT_NFNETLINK_H_
-#define _NFT_COMPAT_NFNETLINK_H_
-
-enum nft_target_attributes {
- NFTA_TARGET_UNSPEC,
- NFTA_TARGET_NAME,
- NFTA_TARGET_REV,
- NFTA_TARGET_INFO,
- __NFTA_TARGET_MAX
-};
-#define NFTA_TARGET_MAX (__NFTA_TARGET_MAX - 1)
-
-enum nft_match_attributes {
- NFTA_MATCH_UNSPEC,
- NFTA_MATCH_NAME,
- NFTA_MATCH_REV,
- NFTA_MATCH_INFO,
- __NFTA_MATCH_MAX
-};
-#define NFTA_MATCH_MAX (__NFTA_MATCH_MAX - 1)
-
-#define NFT_COMPAT_NAME_MAX 32
-
-enum {
- NFNL_MSG_COMPAT_GET,
- NFNL_MSG_COMPAT_MAX
-};
-
-enum {
- NFTA_COMPAT_UNSPEC = 0,
- NFTA_COMPAT_NAME,
- NFTA_COMPAT_REV,
- NFTA_COMPAT_TYPE,
- __NFTA_COMPAT_MAX,
-};
-#define NFTA_COMPAT_MAX (__NFTA_COMPAT_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/netfilter/nfnetlink.h b/linux-headers/include/linux/netfilter/nfnetlink.h
deleted file mode 100644
index ab80106..0000000
--- a/linux-headers/include/linux/netfilter/nfnetlink.h
+++ /dev/null
@@ -1,68 +0,0 @@
-#ifndef _NFNETLINK_H
-#define _NFNETLINK_H
-#include <linux/types.h>
-#include <linux/netfilter/nfnetlink_compat.h>
-
-enum nfnetlink_groups {
- NFNLGRP_NONE,
-#define NFNLGRP_NONE NFNLGRP_NONE
- NFNLGRP_CONNTRACK_NEW,
-#define NFNLGRP_CONNTRACK_NEW NFNLGRP_CONNTRACK_NEW
- NFNLGRP_CONNTRACK_UPDATE,
-#define NFNLGRP_CONNTRACK_UPDATE NFNLGRP_CONNTRACK_UPDATE
- NFNLGRP_CONNTRACK_DESTROY,
-#define NFNLGRP_CONNTRACK_DESTROY NFNLGRP_CONNTRACK_DESTROY
- NFNLGRP_CONNTRACK_EXP_NEW,
-#define NFNLGRP_CONNTRACK_EXP_NEW NFNLGRP_CONNTRACK_EXP_NEW
- NFNLGRP_CONNTRACK_EXP_UPDATE,
-#define NFNLGRP_CONNTRACK_EXP_UPDATE NFNLGRP_CONNTRACK_EXP_UPDATE
- NFNLGRP_CONNTRACK_EXP_DESTROY,
-#define NFNLGRP_CONNTRACK_EXP_DESTROY NFNLGRP_CONNTRACK_EXP_DESTROY
- NFNLGRP_NFTABLES,
-#define NFNLGRP_NFTABLES NFNLGRP_NFTABLES
- NFNLGRP_ACCT_QUOTA,
-#define NFNLGRP_ACCT_QUOTA NFNLGRP_ACCT_QUOTA
- NFNLGRP_NFTRACE,
-#define NFNLGRP_NFTRACE NFNLGRP_NFTRACE
- __NFNLGRP_MAX,
-};
-#define NFNLGRP_MAX (__NFNLGRP_MAX - 1)
-
-/* General form of address family dependent message.
- */
-struct nfgenmsg {
- __u8 nfgen_family; /* AF_xxx */
- __u8 version; /* nfnetlink version */
- __be16 res_id; /* resource id */
-};
-
-#define NFNETLINK_V0 0
-
-/* netfilter netlink message types are split in two pieces:
- * 8 bit subsystem, 8bit operation.
- */
-
-#define NFNL_SUBSYS_ID(x) ((x & 0xff00) >> 8)
-#define NFNL_MSG_TYPE(x) (x & 0x00ff)
-
-/* No enum here, otherwise __stringify() trick of MODULE_ALIAS_NFNL_SUBSYS()
- * won't work anymore */
-#define NFNL_SUBSYS_NONE 0
-#define NFNL_SUBSYS_CTNETLINK 1
-#define NFNL_SUBSYS_CTNETLINK_EXP 2
-#define NFNL_SUBSYS_QUEUE 3
-#define NFNL_SUBSYS_ULOG 4
-#define NFNL_SUBSYS_OSF 5
-#define NFNL_SUBSYS_IPSET 6
-#define NFNL_SUBSYS_ACCT 7
-#define NFNL_SUBSYS_CTNETLINK_TIMEOUT 8
-#define NFNL_SUBSYS_CTHELPER 9
-#define NFNL_SUBSYS_NFTABLES 10
-#define NFNL_SUBSYS_NFT_COMPAT 11
-#define NFNL_SUBSYS_COUNT 12
-
-/* Reserved control nfnetlink messages */
-#define NFNL_MSG_BATCH_BEGIN NLMSG_MIN_TYPE
-#define NFNL_MSG_BATCH_END NLMSG_MIN_TYPE+1
-
-#endif /* _NFNETLINK_H */
diff --git a/linux-headers/include/linux/netfilter/nfnetlink_acct.h b/linux-headers/include/linux/netfilter/nfnetlink_acct.h
deleted file mode 100644
index 98b6286..0000000
--- a/linux-headers/include/linux/netfilter/nfnetlink_acct.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _NFNL_ACCT_H_
-#define _NFNL_ACCT_H_
-
-#ifndef NFACCT_NAME_MAX
-#define NFACCT_NAME_MAX 32
-#endif
-
-enum nfnl_acct_msg_types {
- NFNL_MSG_ACCT_NEW,
- NFNL_MSG_ACCT_GET,
- NFNL_MSG_ACCT_GET_CTRZERO,
- NFNL_MSG_ACCT_DEL,
- NFNL_MSG_ACCT_OVERQUOTA,
- NFNL_MSG_ACCT_MAX
-};
-
-enum nfnl_acct_flags {
- NFACCT_F_QUOTA_PKTS = (1 << 0),
- NFACCT_F_QUOTA_BYTES = (1 << 1),
- NFACCT_F_OVERQUOTA = (1 << 2), /* can't be set from userspace */
-};
-
-enum nfnl_acct_type {
- NFACCT_UNSPEC,
- NFACCT_NAME,
- NFACCT_PKTS,
- NFACCT_BYTES,
- NFACCT_USE,
- NFACCT_FLAGS,
- NFACCT_QUOTA,
- NFACCT_FILTER,
- __NFACCT_MAX
-};
-#define NFACCT_MAX (__NFACCT_MAX - 1)
-
-enum nfnl_attr_filter_type {
- NFACCT_FILTER_UNSPEC,
- NFACCT_FILTER_MASK,
- NFACCT_FILTER_VALUE,
- __NFACCT_FILTER_MAX
-};
-#define NFACCT_FILTER_MAX (__NFACCT_FILTER_MAX - 1)
-
-#endif /* _NFNL_ACCT_H_ */
diff --git a/linux-headers/include/linux/netfilter/nfnetlink_compat.h b/linux-headers/include/linux/netfilter/nfnetlink_compat.h
deleted file mode 100644
index 74b9e55..0000000
--- a/linux-headers/include/linux/netfilter/nfnetlink_compat.h
+++ /dev/null
@@ -1,61 +0,0 @@
-#ifndef _NFNETLINK_COMPAT_H
-#define _NFNETLINK_COMPAT_H
-
-#include <linux/types.h>
-
-/* Old nfnetlink macros for userspace */
-
-/* nfnetlink groups: Up to 32 maximum */
-#define NF_NETLINK_CONNTRACK_NEW 0x00000001
-#define NF_NETLINK_CONNTRACK_UPDATE 0x00000002
-#define NF_NETLINK_CONNTRACK_DESTROY 0x00000004
-#define NF_NETLINK_CONNTRACK_EXP_NEW 0x00000008
-#define NF_NETLINK_CONNTRACK_EXP_UPDATE 0x00000010
-#define NF_NETLINK_CONNTRACK_EXP_DESTROY 0x00000020
-
-/* Generic structure for encapsulation optional netfilter information.
- * It is reminiscent of sockaddr, but with sa_family replaced
- * with attribute type.
- * ! This should someday be put somewhere generic as now rtnetlink and
- * ! nfnetlink use the same attributes methods. - J. Schulist.
- */
-
-struct nfattr {
- __u16 nfa_len;
- __u16 nfa_type; /* we use 15 bits for the type, and the highest
- * bit to indicate whether the payload is nested */
-};
-
-/* FIXME: Apart from NFNL_NFA_NESTED shamelessly copy and pasted from
- * rtnetlink.h, it's time to put this in a generic file */
-
-#define NFNL_NFA_NEST 0x8000
-#define NFA_TYPE(attr) ((attr)->nfa_type & 0x7fff)
-
-#define NFA_ALIGNTO 4
-#define NFA_ALIGN(len) (((len) + NFA_ALIGNTO - 1) & ~(NFA_ALIGNTO - 1))
-#define NFA_OK(nfa,len) ((len) > 0 && (nfa)->nfa_len >= sizeof(struct nfattr) \
- && (nfa)->nfa_len <= (len))
-#define NFA_NEXT(nfa,attrlen) ((attrlen) -= NFA_ALIGN((nfa)->nfa_len), \
- (struct nfattr *)(((char *)(nfa)) + NFA_ALIGN((nfa)->nfa_len)))
-#define NFA_LENGTH(len) (NFA_ALIGN(sizeof(struct nfattr)) + (len))
-#define NFA_SPACE(len) NFA_ALIGN(NFA_LENGTH(len))
-#define NFA_DATA(nfa) ((void *)(((char *)(nfa)) + NFA_LENGTH(0)))
-#define NFA_PAYLOAD(nfa) ((int)((nfa)->nfa_len) - NFA_LENGTH(0))
-#define NFA_NEST(skb, type) \
-({ struct nfattr *__start = (struct nfattr *)skb_tail_pointer(skb); \
- NFA_PUT(skb, (NFNL_NFA_NEST | type), 0, NULL); \
- __start; })
-#define NFA_NEST_END(skb, start) \
-({ (start)->nfa_len = skb_tail_pointer(skb) - (unsigned char *)(start); \
- (skb)->len; })
-#define NFA_NEST_CANCEL(skb, start) \
-({ if (start) \
- skb_trim(skb, (unsigned char *) (start) - (skb)->data); \
- -1; })
-
-#define NFM_NFA(n) ((struct nfattr *)(((char *)(n)) \
- + NLMSG_ALIGN(sizeof(struct nfgenmsg))))
-#define NFM_PAYLOAD(n) NLMSG_PAYLOAD(n, sizeof(struct nfgenmsg))
-
-#endif /* _NFNETLINK_COMPAT_H */
diff --git a/linux-headers/include/linux/netfilter/nfnetlink_conntrack.h b/linux-headers/include/linux/netfilter/nfnetlink_conntrack.h
deleted file mode 100644
index c1a4e14..0000000
--- a/linux-headers/include/linux/netfilter/nfnetlink_conntrack.h
+++ /dev/null
@@ -1,264 +0,0 @@
-#ifndef _IPCONNTRACK_NETLINK_H
-#define _IPCONNTRACK_NETLINK_H
-#include <linux/netfilter/nfnetlink.h>
-
-enum cntl_msg_types {
- IPCTNL_MSG_CT_NEW,
- IPCTNL_MSG_CT_GET,
- IPCTNL_MSG_CT_DELETE,
- IPCTNL_MSG_CT_GET_CTRZERO,
- IPCTNL_MSG_CT_GET_STATS_CPU,
- IPCTNL_MSG_CT_GET_STATS,
- IPCTNL_MSG_CT_GET_DYING,
- IPCTNL_MSG_CT_GET_UNCONFIRMED,
-
- IPCTNL_MSG_MAX
-};
-
-enum ctnl_exp_msg_types {
- IPCTNL_MSG_EXP_NEW,
- IPCTNL_MSG_EXP_GET,
- IPCTNL_MSG_EXP_DELETE,
- IPCTNL_MSG_EXP_GET_STATS_CPU,
-
- IPCTNL_MSG_EXP_MAX
-};
-
-
-enum ctattr_type {
- CTA_UNSPEC,
- CTA_TUPLE_ORIG,
- CTA_TUPLE_REPLY,
- CTA_STATUS,
- CTA_PROTOINFO,
- CTA_HELP,
- CTA_NAT_SRC,
-#define CTA_NAT CTA_NAT_SRC /* backwards compatibility */
- CTA_TIMEOUT,
- CTA_MARK,
- CTA_COUNTERS_ORIG,
- CTA_COUNTERS_REPLY,
- CTA_USE,
- CTA_ID,
- CTA_NAT_DST,
- CTA_TUPLE_MASTER,
- CTA_SEQ_ADJ_ORIG,
- CTA_NAT_SEQ_ADJ_ORIG = CTA_SEQ_ADJ_ORIG,
- CTA_SEQ_ADJ_REPLY,
- CTA_NAT_SEQ_ADJ_REPLY = CTA_SEQ_ADJ_REPLY,
- CTA_SECMARK, /* obsolete */
- CTA_ZONE,
- CTA_SECCTX,
- CTA_TIMESTAMP,
- CTA_MARK_MASK,
- CTA_LABELS,
- CTA_LABELS_MASK,
- __CTA_MAX
-};
-#define CTA_MAX (__CTA_MAX - 1)
-
-enum ctattr_tuple {
- CTA_TUPLE_UNSPEC,
- CTA_TUPLE_IP,
- CTA_TUPLE_PROTO,
- CTA_TUPLE_ZONE,
- __CTA_TUPLE_MAX
-};
-#define CTA_TUPLE_MAX (__CTA_TUPLE_MAX - 1)
-
-enum ctattr_ip {
- CTA_IP_UNSPEC,
- CTA_IP_V4_SRC,
- CTA_IP_V4_DST,
- CTA_IP_V6_SRC,
- CTA_IP_V6_DST,
- __CTA_IP_MAX
-};
-#define CTA_IP_MAX (__CTA_IP_MAX - 1)
-
-enum ctattr_l4proto {
- CTA_PROTO_UNSPEC,
- CTA_PROTO_NUM,
- CTA_PROTO_SRC_PORT,
- CTA_PROTO_DST_PORT,
- CTA_PROTO_ICMP_ID,
- CTA_PROTO_ICMP_TYPE,
- CTA_PROTO_ICMP_CODE,
- CTA_PROTO_ICMPV6_ID,
- CTA_PROTO_ICMPV6_TYPE,
- CTA_PROTO_ICMPV6_CODE,
- __CTA_PROTO_MAX
-};
-#define CTA_PROTO_MAX (__CTA_PROTO_MAX - 1)
-
-enum ctattr_protoinfo {
- CTA_PROTOINFO_UNSPEC,
- CTA_PROTOINFO_TCP,
- CTA_PROTOINFO_DCCP,
- CTA_PROTOINFO_SCTP,
- __CTA_PROTOINFO_MAX
-};
-#define CTA_PROTOINFO_MAX (__CTA_PROTOINFO_MAX - 1)
-
-enum ctattr_protoinfo_tcp {
- CTA_PROTOINFO_TCP_UNSPEC,
- CTA_PROTOINFO_TCP_STATE,
- CTA_PROTOINFO_TCP_WSCALE_ORIGINAL,
- CTA_PROTOINFO_TCP_WSCALE_REPLY,
- CTA_PROTOINFO_TCP_FLAGS_ORIGINAL,
- CTA_PROTOINFO_TCP_FLAGS_REPLY,
- __CTA_PROTOINFO_TCP_MAX
-};
-#define CTA_PROTOINFO_TCP_MAX (__CTA_PROTOINFO_TCP_MAX - 1)
-
-enum ctattr_protoinfo_dccp {
- CTA_PROTOINFO_DCCP_UNSPEC,
- CTA_PROTOINFO_DCCP_STATE,
- CTA_PROTOINFO_DCCP_ROLE,
- CTA_PROTOINFO_DCCP_HANDSHAKE_SEQ,
- __CTA_PROTOINFO_DCCP_MAX,
-};
-#define CTA_PROTOINFO_DCCP_MAX (__CTA_PROTOINFO_DCCP_MAX - 1)
-
-enum ctattr_protoinfo_sctp {
- CTA_PROTOINFO_SCTP_UNSPEC,
- CTA_PROTOINFO_SCTP_STATE,
- CTA_PROTOINFO_SCTP_VTAG_ORIGINAL,
- CTA_PROTOINFO_SCTP_VTAG_REPLY,
- __CTA_PROTOINFO_SCTP_MAX
-};
-#define CTA_PROTOINFO_SCTP_MAX (__CTA_PROTOINFO_SCTP_MAX - 1)
-
-enum ctattr_counters {
- CTA_COUNTERS_UNSPEC,
- CTA_COUNTERS_PACKETS, /* 64bit counters */
- CTA_COUNTERS_BYTES, /* 64bit counters */
- CTA_COUNTERS32_PACKETS, /* old 32bit counters, unused */
- CTA_COUNTERS32_BYTES, /* old 32bit counters, unused */
- __CTA_COUNTERS_MAX
-};
-#define CTA_COUNTERS_MAX (__CTA_COUNTERS_MAX - 1)
-
-enum ctattr_tstamp {
- CTA_TIMESTAMP_UNSPEC,
- CTA_TIMESTAMP_START,
- CTA_TIMESTAMP_STOP,
- __CTA_TIMESTAMP_MAX
-};
-#define CTA_TIMESTAMP_MAX (__CTA_TIMESTAMP_MAX - 1)
-
-enum ctattr_nat {
- CTA_NAT_UNSPEC,
- CTA_NAT_V4_MINIP,
-#define CTA_NAT_MINIP CTA_NAT_V4_MINIP
- CTA_NAT_V4_MAXIP,
-#define CTA_NAT_MAXIP CTA_NAT_V4_MAXIP
- CTA_NAT_PROTO,
- CTA_NAT_V6_MINIP,
- CTA_NAT_V6_MAXIP,
- __CTA_NAT_MAX
-};
-#define CTA_NAT_MAX (__CTA_NAT_MAX - 1)
-
-enum ctattr_protonat {
- CTA_PROTONAT_UNSPEC,
- CTA_PROTONAT_PORT_MIN,
- CTA_PROTONAT_PORT_MAX,
- __CTA_PROTONAT_MAX
-};
-#define CTA_PROTONAT_MAX (__CTA_PROTONAT_MAX - 1)
-
-enum ctattr_seqadj {
- CTA_SEQADJ_UNSPEC,
- CTA_SEQADJ_CORRECTION_POS,
- CTA_SEQADJ_OFFSET_BEFORE,
- CTA_SEQADJ_OFFSET_AFTER,
- __CTA_SEQADJ_MAX
-};
-#define CTA_SEQADJ_MAX (__CTA_SEQADJ_MAX - 1)
-
-enum ctattr_natseq {
- CTA_NAT_SEQ_UNSPEC,
- CTA_NAT_SEQ_CORRECTION_POS,
- CTA_NAT_SEQ_OFFSET_BEFORE,
- CTA_NAT_SEQ_OFFSET_AFTER,
- __CTA_NAT_SEQ_MAX
-};
-#define CTA_NAT_SEQ_MAX (__CTA_NAT_SEQ_MAX - 1)
-
-enum ctattr_expect {
- CTA_EXPECT_UNSPEC,
- CTA_EXPECT_MASTER,
- CTA_EXPECT_TUPLE,
- CTA_EXPECT_MASK,
- CTA_EXPECT_TIMEOUT,
- CTA_EXPECT_ID,
- CTA_EXPECT_HELP_NAME,
- CTA_EXPECT_ZONE,
- CTA_EXPECT_FLAGS,
- CTA_EXPECT_CLASS,
- CTA_EXPECT_NAT,
- CTA_EXPECT_FN,
- __CTA_EXPECT_MAX
-};
-#define CTA_EXPECT_MAX (__CTA_EXPECT_MAX - 1)
-
-enum ctattr_expect_nat {
- CTA_EXPECT_NAT_UNSPEC,
- CTA_EXPECT_NAT_DIR,
- CTA_EXPECT_NAT_TUPLE,
- __CTA_EXPECT_NAT_MAX
-};
-#define CTA_EXPECT_NAT_MAX (__CTA_EXPECT_NAT_MAX - 1)
-
-enum ctattr_help {
- CTA_HELP_UNSPEC,
- CTA_HELP_NAME,
- CTA_HELP_INFO,
- __CTA_HELP_MAX
-};
-#define CTA_HELP_MAX (__CTA_HELP_MAX - 1)
-
-enum ctattr_secctx {
- CTA_SECCTX_UNSPEC,
- CTA_SECCTX_NAME,
- __CTA_SECCTX_MAX
-};
-#define CTA_SECCTX_MAX (__CTA_SECCTX_MAX - 1)
-
-enum ctattr_stats_cpu {
- CTA_STATS_UNSPEC,
- CTA_STATS_SEARCHED,
- CTA_STATS_FOUND,
- CTA_STATS_NEW,
- CTA_STATS_INVALID,
- CTA_STATS_IGNORE,
- CTA_STATS_DELETE,
- CTA_STATS_DELETE_LIST,
- CTA_STATS_INSERT,
- CTA_STATS_INSERT_FAILED,
- CTA_STATS_DROP,
- CTA_STATS_EARLY_DROP,
- CTA_STATS_ERROR,
- CTA_STATS_SEARCH_RESTART,
- __CTA_STATS_MAX,
-};
-#define CTA_STATS_MAX (__CTA_STATS_MAX - 1)
-
-enum ctattr_stats_global {
- CTA_STATS_GLOBAL_UNSPEC,
- CTA_STATS_GLOBAL_ENTRIES,
- __CTA_STATS_GLOBAL_MAX,
-};
-#define CTA_STATS_GLOBAL_MAX (__CTA_STATS_GLOBAL_MAX - 1)
-
-enum ctattr_expect_stats {
- CTA_STATS_EXP_UNSPEC,
- CTA_STATS_EXP_NEW,
- CTA_STATS_EXP_CREATE,
- CTA_STATS_EXP_DELETE,
- __CTA_STATS_EXP_MAX,
-};
-#define CTA_STATS_EXP_MAX (__CTA_STATS_EXP_MAX - 1)
-
-#endif /* _IPCONNTRACK_NETLINK_H */
diff --git a/linux-headers/include/linux/netfilter/nfnetlink_cthelper.h b/linux-headers/include/linux/netfilter/nfnetlink_cthelper.h
deleted file mode 100644
index 33659f6..0000000
--- a/linux-headers/include/linux/netfilter/nfnetlink_cthelper.h
+++ /dev/null
@@ -1,55 +0,0 @@
-#ifndef _NFNL_CTHELPER_H_
-#define _NFNL_CTHELPER_H_
-
-#define NFCT_HELPER_STATUS_DISABLED 0
-#define NFCT_HELPER_STATUS_ENABLED 1
-
-enum nfnl_acct_msg_types {
- NFNL_MSG_CTHELPER_NEW,
- NFNL_MSG_CTHELPER_GET,
- NFNL_MSG_CTHELPER_DEL,
- NFNL_MSG_CTHELPER_MAX
-};
-
-enum nfnl_cthelper_type {
- NFCTH_UNSPEC,
- NFCTH_NAME,
- NFCTH_TUPLE,
- NFCTH_QUEUE_NUM,
- NFCTH_POLICY,
- NFCTH_PRIV_DATA_LEN,
- NFCTH_STATUS,
- __NFCTH_MAX
-};
-#define NFCTH_MAX (__NFCTH_MAX - 1)
-
-enum nfnl_cthelper_policy_type {
- NFCTH_POLICY_SET_UNSPEC,
- NFCTH_POLICY_SET_NUM,
- NFCTH_POLICY_SET,
- NFCTH_POLICY_SET1 = NFCTH_POLICY_SET,
- NFCTH_POLICY_SET2,
- NFCTH_POLICY_SET3,
- NFCTH_POLICY_SET4,
- __NFCTH_POLICY_SET_MAX
-};
-#define NFCTH_POLICY_SET_MAX (__NFCTH_POLICY_SET_MAX - 1)
-
-enum nfnl_cthelper_pol_type {
- NFCTH_POLICY_UNSPEC,
- NFCTH_POLICY_NAME,
- NFCTH_POLICY_EXPECT_MAX,
- NFCTH_POLICY_EXPECT_TIMEOUT,
- __NFCTH_POLICY_MAX
-};
-#define NFCTH_POLICY_MAX (__NFCTH_POLICY_MAX - 1)
-
-enum nfnl_cthelper_tuple_type {
- NFCTH_TUPLE_UNSPEC,
- NFCTH_TUPLE_L3PROTONUM,
- NFCTH_TUPLE_L4PROTONUM,
- __NFCTH_TUPLE_MAX,
-};
-#define NFCTH_TUPLE_MAX (__NFCTH_TUPLE_MAX - 1)
-
-#endif /* _NFNL_CTHELPER_H */
diff --git a/linux-headers/include/linux/netfilter/nfnetlink_cttimeout.h b/linux-headers/include/linux/netfilter/nfnetlink_cttimeout.h
deleted file mode 100644
index f2c10dc..0000000
--- a/linux-headers/include/linux/netfilter/nfnetlink_cttimeout.h
+++ /dev/null
@@ -1,118 +0,0 @@
-#ifndef _CTTIMEOUT_NETLINK_H
-#define _CTTIMEOUT_NETLINK_H
-#include <linux/netfilter/nfnetlink.h>
-
-enum ctnl_timeout_msg_types {
- IPCTNL_MSG_TIMEOUT_NEW,
- IPCTNL_MSG_TIMEOUT_GET,
- IPCTNL_MSG_TIMEOUT_DELETE,
- IPCTNL_MSG_TIMEOUT_DEFAULT_SET,
- IPCTNL_MSG_TIMEOUT_DEFAULT_GET,
-
- IPCTNL_MSG_TIMEOUT_MAX
-};
-
-enum ctattr_timeout {
- CTA_TIMEOUT_UNSPEC,
- CTA_TIMEOUT_NAME,
- CTA_TIMEOUT_L3PROTO,
- CTA_TIMEOUT_L4PROTO,
- CTA_TIMEOUT_DATA,
- CTA_TIMEOUT_USE,
- __CTA_TIMEOUT_MAX
-};
-#define CTA_TIMEOUT_MAX (__CTA_TIMEOUT_MAX - 1)
-
-enum ctattr_timeout_generic {
- CTA_TIMEOUT_GENERIC_UNSPEC,
- CTA_TIMEOUT_GENERIC_TIMEOUT,
- __CTA_TIMEOUT_GENERIC_MAX
-};
-#define CTA_TIMEOUT_GENERIC_MAX (__CTA_TIMEOUT_GENERIC_MAX - 1)
-
-enum ctattr_timeout_tcp {
- CTA_TIMEOUT_TCP_UNSPEC,
- CTA_TIMEOUT_TCP_SYN_SENT,
- CTA_TIMEOUT_TCP_SYN_RECV,
- CTA_TIMEOUT_TCP_ESTABLISHED,
- CTA_TIMEOUT_TCP_FIN_WAIT,
- CTA_TIMEOUT_TCP_CLOSE_WAIT,
- CTA_TIMEOUT_TCP_LAST_ACK,
- CTA_TIMEOUT_TCP_TIME_WAIT,
- CTA_TIMEOUT_TCP_CLOSE,
- CTA_TIMEOUT_TCP_SYN_SENT2,
- CTA_TIMEOUT_TCP_RETRANS,
- CTA_TIMEOUT_TCP_UNACK,
- __CTA_TIMEOUT_TCP_MAX
-};
-#define CTA_TIMEOUT_TCP_MAX (__CTA_TIMEOUT_TCP_MAX - 1)
-
-enum ctattr_timeout_udp {
- CTA_TIMEOUT_UDP_UNSPEC,
- CTA_TIMEOUT_UDP_UNREPLIED,
- CTA_TIMEOUT_UDP_REPLIED,
- __CTA_TIMEOUT_UDP_MAX
-};
-#define CTA_TIMEOUT_UDP_MAX (__CTA_TIMEOUT_UDP_MAX - 1)
-
-enum ctattr_timeout_udplite {
- CTA_TIMEOUT_UDPLITE_UNSPEC,
- CTA_TIMEOUT_UDPLITE_UNREPLIED,
- CTA_TIMEOUT_UDPLITE_REPLIED,
- __CTA_TIMEOUT_UDPLITE_MAX
-};
-#define CTA_TIMEOUT_UDPLITE_MAX (__CTA_TIMEOUT_UDPLITE_MAX - 1)
-
-enum ctattr_timeout_icmp {
- CTA_TIMEOUT_ICMP_UNSPEC,
- CTA_TIMEOUT_ICMP_TIMEOUT,
- __CTA_TIMEOUT_ICMP_MAX
-};
-#define CTA_TIMEOUT_ICMP_MAX (__CTA_TIMEOUT_ICMP_MAX - 1)
-
-enum ctattr_timeout_dccp {
- CTA_TIMEOUT_DCCP_UNSPEC,
- CTA_TIMEOUT_DCCP_REQUEST,
- CTA_TIMEOUT_DCCP_RESPOND,
- CTA_TIMEOUT_DCCP_PARTOPEN,
- CTA_TIMEOUT_DCCP_OPEN,
- CTA_TIMEOUT_DCCP_CLOSEREQ,
- CTA_TIMEOUT_DCCP_CLOSING,
- CTA_TIMEOUT_DCCP_TIMEWAIT,
- __CTA_TIMEOUT_DCCP_MAX
-};
-#define CTA_TIMEOUT_DCCP_MAX (__CTA_TIMEOUT_DCCP_MAX - 1)
-
-enum ctattr_timeout_sctp {
- CTA_TIMEOUT_SCTP_UNSPEC,
- CTA_TIMEOUT_SCTP_CLOSED,
- CTA_TIMEOUT_SCTP_COOKIE_WAIT,
- CTA_TIMEOUT_SCTP_COOKIE_ECHOED,
- CTA_TIMEOUT_SCTP_ESTABLISHED,
- CTA_TIMEOUT_SCTP_SHUTDOWN_SENT,
- CTA_TIMEOUT_SCTP_SHUTDOWN_RECD,
- CTA_TIMEOUT_SCTP_SHUTDOWN_ACK_SENT,
- CTA_TIMEOUT_SCTP_HEARTBEAT_SENT,
- CTA_TIMEOUT_SCTP_HEARTBEAT_ACKED,
- __CTA_TIMEOUT_SCTP_MAX
-};
-#define CTA_TIMEOUT_SCTP_MAX (__CTA_TIMEOUT_SCTP_MAX - 1)
-
-enum ctattr_timeout_icmpv6 {
- CTA_TIMEOUT_ICMPV6_UNSPEC,
- CTA_TIMEOUT_ICMPV6_TIMEOUT,
- __CTA_TIMEOUT_ICMPV6_MAX
-};
-#define CTA_TIMEOUT_ICMPV6_MAX (__CTA_TIMEOUT_ICMPV6_MAX - 1)
-
-enum ctattr_timeout_gre {
- CTA_TIMEOUT_GRE_UNSPEC,
- CTA_TIMEOUT_GRE_UNREPLIED,
- CTA_TIMEOUT_GRE_REPLIED,
- __CTA_TIMEOUT_GRE_MAX
-};
-#define CTA_TIMEOUT_GRE_MAX (__CTA_TIMEOUT_GRE_MAX - 1)
-
-#define CTNL_TIMEOUT_NAME_MAX 32
-
-#endif
diff --git a/linux-headers/include/linux/netfilter/nfnetlink_log.h b/linux-headers/include/linux/netfilter/nfnetlink_log.h
deleted file mode 100644
index fb21f0c..0000000
--- a/linux-headers/include/linux/netfilter/nfnetlink_log.h
+++ /dev/null
@@ -1,100 +0,0 @@
-#ifndef _NFNETLINK_LOG_H
-#define _NFNETLINK_LOG_H
-
-/* This file describes the netlink messages (i.e. 'protocol packets'),
- * and not any kind of function definitions. It is shared between kernel and
- * userspace. Don't put kernel specific stuff in here */
-
-#include <linux/types.h>
-#include <linux/netfilter/nfnetlink.h>
-
-enum nfulnl_msg_types {
- NFULNL_MSG_PACKET, /* packet from kernel to userspace */
- NFULNL_MSG_CONFIG, /* connect to a particular queue */
-
- NFULNL_MSG_MAX
-};
-
-struct nfulnl_msg_packet_hdr {
- __be16 hw_protocol; /* hw protocol (network order) */
- __u8 hook; /* netfilter hook */
- __u8 _pad;
-};
-
-struct nfulnl_msg_packet_hw {
- __be16 hw_addrlen;
- __u16 _pad;
- __u8 hw_addr[8];
-};
-
-struct nfulnl_msg_packet_timestamp {
- __aligned_be64 sec;
- __aligned_be64 usec;
-};
-
-enum nfulnl_attr_type {
- NFULA_UNSPEC,
- NFULA_PACKET_HDR,
- NFULA_MARK, /* __u32 nfmark */
- NFULA_TIMESTAMP, /* nfulnl_msg_packet_timestamp */
- NFULA_IFINDEX_INDEV, /* __u32 ifindex */
- NFULA_IFINDEX_OUTDEV, /* __u32 ifindex */
- NFULA_IFINDEX_PHYSINDEV, /* __u32 ifindex */
- NFULA_IFINDEX_PHYSOUTDEV, /* __u32 ifindex */
- NFULA_HWADDR, /* nfulnl_msg_packet_hw */
- NFULA_PAYLOAD, /* opaque data payload */
- NFULA_PREFIX, /* string prefix */
- NFULA_UID, /* user id of socket */
- NFULA_SEQ, /* instance-local sequence number */
- NFULA_SEQ_GLOBAL, /* global sequence number */
- NFULA_GID, /* group id of socket */
- NFULA_HWTYPE, /* hardware type */
- NFULA_HWHEADER, /* hardware header */
- NFULA_HWLEN, /* hardware header length */
- NFULA_CT, /* nf_conntrack_netlink.h */
- NFULA_CT_INFO, /* enum ip_conntrack_info */
-
- __NFULA_MAX
-};
-#define NFULA_MAX (__NFULA_MAX - 1)
-
-enum nfulnl_msg_config_cmds {
- NFULNL_CFG_CMD_NONE,
- NFULNL_CFG_CMD_BIND,
- NFULNL_CFG_CMD_UNBIND,
- NFULNL_CFG_CMD_PF_BIND,
- NFULNL_CFG_CMD_PF_UNBIND,
-};
-
-struct nfulnl_msg_config_cmd {
- __u8 command; /* nfulnl_msg_config_cmds */
-} __attribute__ ((packed));
-
-struct nfulnl_msg_config_mode {
- __be32 copy_range;
- __u8 copy_mode;
- __u8 _pad;
-} __attribute__ ((packed));
-
-enum nfulnl_attr_config {
- NFULA_CFG_UNSPEC,
- NFULA_CFG_CMD, /* nfulnl_msg_config_cmd */
- NFULA_CFG_MODE, /* nfulnl_msg_config_mode */
- NFULA_CFG_NLBUFSIZ, /* __u32 buffer size */
- NFULA_CFG_TIMEOUT, /* __u32 in 1/100 s */
- NFULA_CFG_QTHRESH, /* __u32 */
- NFULA_CFG_FLAGS, /* __u16 */
- __NFULA_CFG_MAX
-};
-#define NFULA_CFG_MAX (__NFULA_CFG_MAX -1)
-
-#define NFULNL_COPY_NONE 0x00
-#define NFULNL_COPY_META 0x01
-#define NFULNL_COPY_PACKET 0x02
-/* 0xff is reserved, don't use it for new copy modes. */
-
-#define NFULNL_CFG_F_SEQ 0x0001
-#define NFULNL_CFG_F_SEQ_GLOBAL 0x0002
-#define NFULNL_CFG_F_CONNTRACK 0x0004
-
-#endif /* _NFNETLINK_LOG_H */
diff --git a/linux-headers/include/linux/netfilter/nfnetlink_queue.h b/linux-headers/include/linux/netfilter/nfnetlink_queue.h
deleted file mode 100644
index b67a853..0000000
--- a/linux-headers/include/linux/netfilter/nfnetlink_queue.h
+++ /dev/null
@@ -1,117 +0,0 @@
-#ifndef _NFNETLINK_QUEUE_H
-#define _NFNETLINK_QUEUE_H
-
-#include <linux/types.h>
-#include <linux/netfilter/nfnetlink.h>
-
-enum nfqnl_msg_types {
- NFQNL_MSG_PACKET, /* packet from kernel to userspace */
- NFQNL_MSG_VERDICT, /* verdict from userspace to kernel */
- NFQNL_MSG_CONFIG, /* connect to a particular queue */
- NFQNL_MSG_VERDICT_BATCH, /* batchv from userspace to kernel */
-
- NFQNL_MSG_MAX
-};
-
-struct nfqnl_msg_packet_hdr {
- __be32 packet_id; /* unique ID of packet in queue */
- __be16 hw_protocol; /* hw protocol (network order) */
- __u8 hook; /* netfilter hook */
-} __attribute__ ((packed));
-
-struct nfqnl_msg_packet_hw {
- __be16 hw_addrlen;
- __u16 _pad;
- __u8 hw_addr[8];
-};
-
-struct nfqnl_msg_packet_timestamp {
- __aligned_be64 sec;
- __aligned_be64 usec;
-};
-
-enum nfqnl_attr_type {
- NFQA_UNSPEC,
- NFQA_PACKET_HDR,
- NFQA_VERDICT_HDR, /* nfqnl_msg_verdict_hrd */
- NFQA_MARK, /* __u32 nfmark */
- NFQA_TIMESTAMP, /* nfqnl_msg_packet_timestamp */
- NFQA_IFINDEX_INDEV, /* __u32 ifindex */
- NFQA_IFINDEX_OUTDEV, /* __u32 ifindex */
- NFQA_IFINDEX_PHYSINDEV, /* __u32 ifindex */
- NFQA_IFINDEX_PHYSOUTDEV, /* __u32 ifindex */
- NFQA_HWADDR, /* nfqnl_msg_packet_hw */
- NFQA_PAYLOAD, /* opaque data payload */
- NFQA_CT, /* nf_conntrack_netlink.h */
- NFQA_CT_INFO, /* enum ip_conntrack_info */
- NFQA_CAP_LEN, /* __u32 length of captured packet */
- NFQA_SKB_INFO, /* __u32 skb meta information */
- NFQA_EXP, /* nf_conntrack_netlink.h */
- NFQA_UID, /* __u32 sk uid */
- NFQA_GID, /* __u32 sk gid */
- NFQA_SECCTX, /* security context string */
-
- __NFQA_MAX
-};
-#define NFQA_MAX (__NFQA_MAX - 1)
-
-struct nfqnl_msg_verdict_hdr {
- __be32 verdict;
- __be32 id;
-};
-
-
-enum nfqnl_msg_config_cmds {
- NFQNL_CFG_CMD_NONE,
- NFQNL_CFG_CMD_BIND,
- NFQNL_CFG_CMD_UNBIND,
- NFQNL_CFG_CMD_PF_BIND,
- NFQNL_CFG_CMD_PF_UNBIND,
-};
-
-struct nfqnl_msg_config_cmd {
- __u8 command; /* nfqnl_msg_config_cmds */
- __u8 _pad;
- __be16 pf; /* AF_xxx for PF_[UN]BIND */
-};
-
-enum nfqnl_config_mode {
- NFQNL_COPY_NONE,
- NFQNL_COPY_META,
- NFQNL_COPY_PACKET,
-};
-
-struct nfqnl_msg_config_params {
- __be32 copy_range;
- __u8 copy_mode; /* enum nfqnl_config_mode */
-} __attribute__ ((packed));
-
-
-enum nfqnl_attr_config {
- NFQA_CFG_UNSPEC,
- NFQA_CFG_CMD, /* nfqnl_msg_config_cmd */
- NFQA_CFG_PARAMS, /* nfqnl_msg_config_params */
- NFQA_CFG_QUEUE_MAXLEN, /* __u32 */
- NFQA_CFG_MASK, /* identify which flags to change */
- NFQA_CFG_FLAGS, /* value of these flags (__u32) */
- __NFQA_CFG_MAX
-};
-#define NFQA_CFG_MAX (__NFQA_CFG_MAX-1)
-
-/* Flags for NFQA_CFG_FLAGS */
-#define NFQA_CFG_F_FAIL_OPEN (1 << 0)
-#define NFQA_CFG_F_CONNTRACK (1 << 1)
-#define NFQA_CFG_F_GSO (1 << 2)
-#define NFQA_CFG_F_UID_GID (1 << 3)
-#define NFQA_CFG_F_SECCTX (1 << 4)
-#define NFQA_CFG_F_MAX (1 << 5)
-
-/* flags for NFQA_SKB_INFO */
-/* packet appears to have wrong checksums, but they are ok */
-#define NFQA_SKB_CSUMNOTREADY (1 << 0)
-/* packet is GSO (i.e., exceeds device mtu) */
-#define NFQA_SKB_GSO (1 << 1)
-/* csum not validated (incoming device doesn't support hw checksum, etc.) */
-#define NFQA_SKB_CSUM_NOTVERIFIED (1 << 2)
-
-#endif /* _NFNETLINK_QUEUE_H */
diff --git a/linux-headers/include/linux/netfilter/x_tables.h b/linux-headers/include/linux/netfilter/x_tables.h
deleted file mode 100644
index 4120970..0000000
--- a/linux-headers/include/linux/netfilter/x_tables.h
+++ /dev/null
@@ -1,185 +0,0 @@
-#ifndef _X_TABLES_H
-#define _X_TABLES_H
-#include <linux/kernel.h>
-#include <linux/types.h>
-
-#define XT_FUNCTION_MAXNAMELEN 30
-#define XT_EXTENSION_MAXNAMELEN 29
-#define XT_TABLE_MAXNAMELEN 32
-
-struct xt_entry_match {
- union {
- struct {
- __u16 match_size;
-
- /* Used by userspace */
- char name[XT_EXTENSION_MAXNAMELEN];
- __u8 revision;
- } user;
- struct {
- __u16 match_size;
-
- /* Used inside the kernel */
- struct xt_match *match;
- } kernel;
-
- /* Total length */
- __u16 match_size;
- } u;
-
- unsigned char data[0];
-};
-
-struct xt_entry_target {
- union {
- struct {
- __u16 target_size;
-
- /* Used by userspace */
- char name[XT_EXTENSION_MAXNAMELEN];
- __u8 revision;
- } user;
- struct {
- __u16 target_size;
-
- /* Used inside the kernel */
- struct xt_target *target;
- } kernel;
-
- /* Total length */
- __u16 target_size;
- } u;
-
- unsigned char data[0];
-};
-
-#define XT_TARGET_INIT(__name, __size) \
-{ \
- .target.u.user = { \
- .target_size = XT_ALIGN(__size), \
- .name = __name, \
- }, \
-}
-
-struct xt_standard_target {
- struct xt_entry_target target;
- int verdict;
-};
-
-struct xt_error_target {
- struct xt_entry_target target;
- char errorname[XT_FUNCTION_MAXNAMELEN];
-};
-
-/* The argument to IPT_SO_GET_REVISION_*. Returns highest revision
- * kernel supports, if >= revision. */
-struct xt_get_revision {
- char name[XT_EXTENSION_MAXNAMELEN];
- __u8 revision;
-};
-
-/* CONTINUE verdict for targets */
-#define XT_CONTINUE 0xFFFFFFFF
-
-/* For standard target */
-#define XT_RETURN (-NF_REPEAT - 1)
-
-/* this is a dummy structure to find out the alignment requirement for a struct
- * containing all the fundamental data types that are used in ipt_entry,
- * ip6t_entry and arpt_entry. This sucks, and it is a hack. It will be my
- * personal pleasure to remove it -HW
- */
-struct _xt_align {
- __u8 u8;
- __u16 u16;
- __u32 u32;
- __u64 u64;
-};
-
-#define XT_ALIGN(s) __ALIGN_KERNEL((s), __alignof__(struct _xt_align))
-
-/* Standard return verdict, or do jump. */
-#define XT_STANDARD_TARGET ""
-/* Error verdict. */
-#define XT_ERROR_TARGET "ERROR"
-
-#define SET_COUNTER(c,b,p) do { (c).bcnt = (b); (c).pcnt = (p); } while(0)
-#define ADD_COUNTER(c,b,p) do { (c).bcnt += (b); (c).pcnt += (p); } while(0)
-
-struct xt_counters {
- __u64 pcnt, bcnt; /* Packet and byte counters */
-};
-
-/* The argument to IPT_SO_ADD_COUNTERS. */
-struct xt_counters_info {
- /* Which table. */
- char name[XT_TABLE_MAXNAMELEN];
-
- unsigned int num_counters;
-
- /* The counters (actually `number' of these). */
- struct xt_counters counters[0];
-};
-
-#define XT_INV_PROTO 0x40 /* Invert the sense of PROTO. */
-
-/* fn returns 0 to continue iteration */
-#define XT_MATCH_ITERATE(type, e, fn, args...) \
-({ \
- unsigned int __i; \
- int __ret = 0; \
- struct xt_entry_match *__m; \
- \
- for (__i = sizeof(type); \
- __i < (e)->target_offset; \
- __i += __m->u.match_size) { \
- __m = (void *)e + __i; \
- \
- __ret = fn(__m , ## args); \
- if (__ret != 0) \
- break; \
- } \
- __ret; \
-})
-
-/* fn returns 0 to continue iteration */
-#define XT_ENTRY_ITERATE_CONTINUE(type, entries, size, n, fn, args...) \
-({ \
- unsigned int __i, __n; \
- int __ret = 0; \
- type *__entry; \
- \
- for (__i = 0, __n = 0; __i < (size); \
- __i += __entry->next_offset, __n++) { \
- __entry = (void *)(entries) + __i; \
- if (__n < n) \
- continue; \
- \
- __ret = fn(__entry , ## args); \
- if (__ret != 0) \
- break; \
- } \
- __ret; \
-})
-
-/* fn returns 0 to continue iteration */
-#define XT_ENTRY_ITERATE(type, entries, size, fn, args...) \
- XT_ENTRY_ITERATE_CONTINUE(type, entries, size, 0, fn, args)
-
-
-/* pos is normally a struct ipt_entry/ip6t_entry/etc. */
-#define xt_entry_foreach(pos, ehead, esize) \
- for ((pos) = (typeof(pos))(ehead); \
- (pos) < (typeof(pos))((char *)(ehead) + (esize)); \
- (pos) = (typeof(pos))((char *)(pos) + (pos)->next_offset))
-
-/* can only be xt_entry_match, so no use of typeof here */
-#define xt_ematch_foreach(pos, entry) \
- for ((pos) = (struct xt_entry_match *)entry->elems; \
- (pos) < (struct xt_entry_match *)((char *)(entry) + \
- (entry)->target_offset); \
- (pos) = (struct xt_entry_match *)((char *)(pos) + \
- (pos)->u.match_size))
-
-
-#endif /* _X_TABLES_H */
diff --git a/linux-headers/include/linux/netfilter/xt_AUDIT.h b/linux-headers/include/linux/netfilter/xt_AUDIT.h
deleted file mode 100644
index 38751d2..0000000
--- a/linux-headers/include/linux/netfilter/xt_AUDIT.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Header file for iptables xt_AUDIT target
- *
- * (C) 2010-2011 Thomas Graf <tgraf@redhat.com>
- * (C) 2010-2011 Red Hat, Inc.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#ifndef _XT_AUDIT_TARGET_H
-#define _XT_AUDIT_TARGET_H
-
-#include <linux/types.h>
-
-enum {
- XT_AUDIT_TYPE_ACCEPT = 0,
- XT_AUDIT_TYPE_DROP,
- XT_AUDIT_TYPE_REJECT,
- __XT_AUDIT_TYPE_MAX,
-};
-
-#define XT_AUDIT_TYPE_MAX (__XT_AUDIT_TYPE_MAX - 1)
-
-struct xt_audit_info {
- __u8 type; /* XT_AUDIT_TYPE_* */
-};
-
-#endif /* _XT_AUDIT_TARGET_H */
diff --git a/linux-headers/include/linux/netfilter/xt_CHECKSUM.h b/linux-headers/include/linux/netfilter/xt_CHECKSUM.h
deleted file mode 100644
index 9a2e466..0000000
--- a/linux-headers/include/linux/netfilter/xt_CHECKSUM.h
+++ /dev/null
@@ -1,20 +0,0 @@
-/* Header file for iptables ipt_CHECKSUM target
- *
- * (C) 2002 by Harald Welte <laforge@gnumonks.org>
- * (C) 2010 Red Hat Inc
- * Author: Michael S. Tsirkin <mst@redhat.com>
- *
- * This software is distributed under GNU GPL v2, 1991
-*/
-#ifndef _XT_CHECKSUM_TARGET_H
-#define _XT_CHECKSUM_TARGET_H
-
-#include <linux/types.h>
-
-#define XT_CHECKSUM_OP_FILL 0x01 /* fill in checksum in IP header */
-
-struct xt_CHECKSUM_info {
- __u8 operation; /* bitset of operations */
-};
-
-#endif /* _XT_CHECKSUM_TARGET_H */
diff --git a/linux-headers/include/linux/netfilter/xt_CLASSIFY.h b/linux-headers/include/linux/netfilter/xt_CLASSIFY.h
deleted file mode 100644
index a813bf1..0000000
--- a/linux-headers/include/linux/netfilter/xt_CLASSIFY.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _XT_CLASSIFY_H
-#define _XT_CLASSIFY_H
-
-#include <linux/types.h>
-
-struct xt_classify_target_info {
- __u32 priority;
-};
-
-#endif /*_XT_CLASSIFY_H */
diff --git a/linux-headers/include/linux/netfilter/xt_CONNMARK.h b/linux-headers/include/linux/netfilter/xt_CONNMARK.h
deleted file mode 100644
index 2f2e48e..0000000
--- a/linux-headers/include/linux/netfilter/xt_CONNMARK.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _XT_CONNMARK_H_target
-#define _XT_CONNMARK_H_target
-
-#include <linux/netfilter/xt_connmark.h>
-
-#endif /*_XT_CONNMARK_H_target*/
diff --git a/linux-headers/include/linux/netfilter/xt_CONNSECMARK.h b/linux-headers/include/linux/netfilter/xt_CONNSECMARK.h
deleted file mode 100644
index b973ff8..0000000
--- a/linux-headers/include/linux/netfilter/xt_CONNSECMARK.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _XT_CONNSECMARK_H_target
-#define _XT_CONNSECMARK_H_target
-
-#include <linux/types.h>
-
-enum {
- CONNSECMARK_SAVE = 1,
- CONNSECMARK_RESTORE,
-};
-
-struct xt_connsecmark_target_info {
- __u8 mode;
-};
-
-#endif /*_XT_CONNSECMARK_H_target */
diff --git a/linux-headers/include/linux/netfilter/xt_CT.h b/linux-headers/include/linux/netfilter/xt_CT.h
deleted file mode 100644
index 9e52041..0000000
--- a/linux-headers/include/linux/netfilter/xt_CT.h
+++ /dev/null
@@ -1,41 +0,0 @@
-#ifndef _XT_CT_H
-#define _XT_CT_H
-
-#include <linux/types.h>
-
-enum {
- XT_CT_NOTRACK = 1 << 0,
- XT_CT_NOTRACK_ALIAS = 1 << 1,
- XT_CT_ZONE_DIR_ORIG = 1 << 2,
- XT_CT_ZONE_DIR_REPL = 1 << 3,
- XT_CT_ZONE_MARK = 1 << 4,
-
- XT_CT_MASK = XT_CT_NOTRACK | XT_CT_NOTRACK_ALIAS |
- XT_CT_ZONE_DIR_ORIG | XT_CT_ZONE_DIR_REPL |
- XT_CT_ZONE_MARK,
-};
-
-struct xt_ct_target_info {
- __u16 flags;
- __u16 zone;
- __u32 ct_events;
- __u32 exp_events;
- char helper[16];
-
- /* Used internally by the kernel */
- struct nf_conn *ct __attribute__((aligned(8)));
-};
-
-struct xt_ct_target_info_v1 {
- __u16 flags;
- __u16 zone;
- __u32 ct_events;
- __u32 exp_events;
- char helper[16];
- char timeout[32];
-
- /* Used internally by the kernel */
- struct nf_conn *ct __attribute__((aligned(8)));
-};
-
-#endif /* _XT_CT_H */
diff --git a/linux-headers/include/linux/netfilter/xt_DSCP.h b/linux-headers/include/linux/netfilter/xt_DSCP.h
deleted file mode 100644
index 648e0b3..0000000
--- a/linux-headers/include/linux/netfilter/xt_DSCP.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/* x_tables module for setting the IPv4/IPv6 DSCP field
- *
- * (C) 2002 Harald Welte <laforge@gnumonks.org>
- * based on ipt_FTOS.c (C) 2000 by Matthew G. Marsh <mgm@paktronix.com>
- * This software is distributed under GNU GPL v2, 1991
- *
- * See RFC2474 for a description of the DSCP field within the IP Header.
- *
- * xt_DSCP.h,v 1.7 2002/03/14 12:03:13 laforge Exp
-*/
-#ifndef _XT_DSCP_TARGET_H
-#define _XT_DSCP_TARGET_H
-#include <linux/netfilter/xt_dscp.h>
-#include <linux/types.h>
-
-/* target info */
-struct xt_DSCP_info {
- __u8 dscp;
-};
-
-struct xt_tos_target_info {
- __u8 tos_value;
- __u8 tos_mask;
-};
-
-#endif /* _XT_DSCP_TARGET_H */
diff --git a/linux-headers/include/linux/netfilter/xt_HMARK.h b/linux-headers/include/linux/netfilter/xt_HMARK.h
deleted file mode 100644
index 3fb48c8..0000000
--- a/linux-headers/include/linux/netfilter/xt_HMARK.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef XT_HMARK_H_
-#define XT_HMARK_H_
-
-#include <linux/types.h>
-#include <linux/netfilter.h>
-
-enum {
- XT_HMARK_SADDR_MASK,
- XT_HMARK_DADDR_MASK,
- XT_HMARK_SPI,
- XT_HMARK_SPI_MASK,
- XT_HMARK_SPORT,
- XT_HMARK_DPORT,
- XT_HMARK_SPORT_MASK,
- XT_HMARK_DPORT_MASK,
- XT_HMARK_PROTO_MASK,
- XT_HMARK_RND,
- XT_HMARK_MODULUS,
- XT_HMARK_OFFSET,
- XT_HMARK_CT,
- XT_HMARK_METHOD_L3,
- XT_HMARK_METHOD_L3_4,
-};
-#define XT_HMARK_FLAG(flag) (1 << flag)
-
-union hmark_ports {
- struct {
- __u16 src;
- __u16 dst;
- } p16;
- struct {
- __be16 src;
- __be16 dst;
- } b16;
- __u32 v32;
- __be32 b32;
-};
-
-struct xt_hmark_info {
- union nf_inet_addr src_mask;
- union nf_inet_addr dst_mask;
- union hmark_ports port_mask;
- union hmark_ports port_set;
- __u32 flags;
- __u16 proto_mask;
- __u32 hashrnd;
- __u32 hmodulus;
- __u32 hoffset; /* Mark offset to start from */
-};
-
-#endif /* XT_HMARK_H_ */
diff --git a/linux-headers/include/linux/netfilter/xt_IDLETIMER.h b/linux-headers/include/linux/netfilter/xt_IDLETIMER.h
deleted file mode 100644
index 208ae93..0000000
--- a/linux-headers/include/linux/netfilter/xt_IDLETIMER.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * linux/include/linux/netfilter/xt_IDLETIMER.h
- *
- * Header file for Xtables timer target module.
- *
- * Copyright (C) 2004, 2010 Nokia Corporation
- * Written by Timo Teras <ext-timo.teras@nokia.com>
- *
- * Converted to x_tables and forward-ported to 2.6.34
- * by Luciano Coelho <luciano.coelho@nokia.com>
- *
- * Contact: Luciano Coelho <luciano.coelho@nokia.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-#ifndef _XT_IDLETIMER_H
-#define _XT_IDLETIMER_H
-
-#include <linux/types.h>
-
-#define MAX_IDLETIMER_LABEL_SIZE 28
-
-struct idletimer_tg_info {
- __u32 timeout;
-
- char label[MAX_IDLETIMER_LABEL_SIZE];
-
- /* for kernel module internal use only */
- struct idletimer_tg *timer __attribute__((aligned(8)));
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter/xt_LED.h b/linux-headers/include/linux/netfilter/xt_LED.h
deleted file mode 100644
index f5509e7..0000000
--- a/linux-headers/include/linux/netfilter/xt_LED.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _XT_LED_H
-#define _XT_LED_H
-
-#include <linux/types.h>
-
-struct xt_led_info {
- char id[27]; /* Unique ID for this trigger in the LED class */
- __u8 always_blink; /* Blink even if the LED is already on */
- __u32 delay; /* Delay until LED is switched off after trigger */
-
- /* Kernel data used in the module */
- void *internal_data __attribute__((aligned(8)));
-};
-
-#endif /* _XT_LED_H */
diff --git a/linux-headers/include/linux/netfilter/xt_LOG.h b/linux-headers/include/linux/netfilter/xt_LOG.h
deleted file mode 100644
index cac0790..0000000
--- a/linux-headers/include/linux/netfilter/xt_LOG.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _XT_LOG_H
-#define _XT_LOG_H
-
-/* make sure not to change this without changing nf_log.h:NF_LOG_* (!) */
-#define XT_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */
-#define XT_LOG_TCPOPT 0x02 /* Log TCP options */
-#define XT_LOG_IPOPT 0x04 /* Log IP options */
-#define XT_LOG_UID 0x08 /* Log UID owning local socket */
-#define XT_LOG_NFLOG 0x10 /* Unsupported, don't reuse */
-#define XT_LOG_MACDECODE 0x20 /* Decode MAC header */
-#define XT_LOG_MASK 0x2f
-
-struct xt_log_info {
- unsigned char level;
- unsigned char logflags;
- char prefix[30];
-};
-
-#endif /* _XT_LOG_H */
diff --git a/linux-headers/include/linux/netfilter/xt_MARK.h b/linux-headers/include/linux/netfilter/xt_MARK.h
deleted file mode 100644
index 41c456d..0000000
--- a/linux-headers/include/linux/netfilter/xt_MARK.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _XT_MARK_H_target
-#define _XT_MARK_H_target
-
-#include <linux/netfilter/xt_mark.h>
-
-#endif /*_XT_MARK_H_target */
diff --git a/linux-headers/include/linux/netfilter/xt_NFLOG.h b/linux-headers/include/linux/netfilter/xt_NFLOG.h
deleted file mode 100644
index 87b5831..0000000
--- a/linux-headers/include/linux/netfilter/xt_NFLOG.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _XT_NFLOG_TARGET
-#define _XT_NFLOG_TARGET
-
-#include <linux/types.h>
-
-#define XT_NFLOG_DEFAULT_GROUP 0x1
-#define XT_NFLOG_DEFAULT_THRESHOLD 0
-
-#define XT_NFLOG_MASK 0x0
-
-struct xt_nflog_info {
- __u32 len;
- __u16 group;
- __u16 threshold;
- __u16 flags;
- __u16 pad;
- char prefix[64];
-};
-
-#endif /* _XT_NFLOG_TARGET */
diff --git a/linux-headers/include/linux/netfilter/xt_NFQUEUE.h b/linux-headers/include/linux/netfilter/xt_NFQUEUE.h
deleted file mode 100644
index 8bb5fe6..0000000
--- a/linux-headers/include/linux/netfilter/xt_NFQUEUE.h
+++ /dev/null
@@ -1,38 +0,0 @@
-/* iptables module for using NFQUEUE mechanism
- *
- * (C) 2005 Harald Welte <laforge@netfilter.org>
- *
- * This software is distributed under GNU GPL v2, 1991
- *
-*/
-#ifndef _XT_NFQ_TARGET_H
-#define _XT_NFQ_TARGET_H
-
-#include <linux/types.h>
-
-/* target info */
-struct xt_NFQ_info {
- __u16 queuenum;
-};
-
-struct xt_NFQ_info_v1 {
- __u16 queuenum;
- __u16 queues_total;
-};
-
-struct xt_NFQ_info_v2 {
- __u16 queuenum;
- __u16 queues_total;
- __u16 bypass;
-};
-
-struct xt_NFQ_info_v3 {
- __u16 queuenum;
- __u16 queues_total;
- __u16 flags;
-#define NFQ_FLAG_BYPASS 0x01 /* for compatibility with v2 */
-#define NFQ_FLAG_CPU_FANOUT 0x02 /* use current CPU (no hashing) */
-#define NFQ_FLAG_MASK 0x03
-};
-
-#endif /* _XT_NFQ_TARGET_H */
diff --git a/linux-headers/include/linux/netfilter/xt_RATEEST.h b/linux-headers/include/linux/netfilter/xt_RATEEST.h
deleted file mode 100644
index ec1b570..0000000
--- a/linux-headers/include/linux/netfilter/xt_RATEEST.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _XT_RATEEST_TARGET_H
-#define _XT_RATEEST_TARGET_H
-
-#include <linux/types.h>
-#include <linux/if.h>
-
-struct xt_rateest_target_info {
- char name[IFNAMSIZ];
- __s8 interval;
- __u8 ewma_log;
-
- /* Used internally by the kernel */
- struct xt_rateest *est __attribute__((aligned(8)));
-};
-
-#endif /* _XT_RATEEST_TARGET_H */
diff --git a/linux-headers/include/linux/netfilter/xt_SECMARK.h b/linux-headers/include/linux/netfilter/xt_SECMARK.h
deleted file mode 100644
index 989092b..0000000
--- a/linux-headers/include/linux/netfilter/xt_SECMARK.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _XT_SECMARK_H_target
-#define _XT_SECMARK_H_target
-
-#include <linux/types.h>
-
-/*
- * This is intended for use by various security subsystems (but not
- * at the same time).
- *
- * 'mode' refers to the specific security subsystem which the
- * packets are being marked for.
- */
-#define SECMARK_MODE_SEL 0x01 /* SELinux */
-#define SECMARK_SECCTX_MAX 256
-
-struct xt_secmark_target_info {
- __u8 mode;
- __u32 secid;
- char secctx[SECMARK_SECCTX_MAX];
-};
-
-#endif /*_XT_SECMARK_H_target */
diff --git a/linux-headers/include/linux/netfilter/xt_TCPMSS.h b/linux-headers/include/linux/netfilter/xt_TCPMSS.h
deleted file mode 100644
index 9a6960a..0000000
--- a/linux-headers/include/linux/netfilter/xt_TCPMSS.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef _XT_TCPMSS_H
-#define _XT_TCPMSS_H
-
-#include <linux/types.h>
-
-struct xt_tcpmss_info {
- __u16 mss;
-};
-
-#define XT_TCPMSS_CLAMP_PMTU 0xffff
-
-#endif /* _XT_TCPMSS_H */
diff --git a/linux-headers/include/linux/netfilter/xt_TCPOPTSTRIP.h b/linux-headers/include/linux/netfilter/xt_TCPOPTSTRIP.h
deleted file mode 100644
index 7157318..0000000
--- a/linux-headers/include/linux/netfilter/xt_TCPOPTSTRIP.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _XT_TCPOPTSTRIP_H
-#define _XT_TCPOPTSTRIP_H
-
-#include <linux/types.h>
-
-#define tcpoptstrip_set_bit(bmap, idx) \
- (bmap[(idx) >> 5] |= 1U << (idx & 31))
-#define tcpoptstrip_test_bit(bmap, idx) \
- (((1U << (idx & 31)) & bmap[(idx) >> 5]) != 0)
-
-struct xt_tcpoptstrip_target_info {
- __u32 strip_bmap[8];
-};
-
-#endif /* _XT_TCPOPTSTRIP_H */
diff --git a/linux-headers/include/linux/netfilter/xt_TEE.h b/linux-headers/include/linux/netfilter/xt_TEE.h
deleted file mode 100644
index 0109202..0000000
--- a/linux-headers/include/linux/netfilter/xt_TEE.h
+++ /dev/null
@@ -1,14 +0,0 @@
-#ifndef _XT_TEE_TARGET_H
-#define _XT_TEE_TARGET_H
-
-#include <linux/netfilter.h>
-
-struct xt_tee_tginfo {
- union nf_inet_addr gw;
- char oif[16];
-
- /* used internally by the kernel */
- struct xt_tee_priv *priv __attribute__((aligned(8)));
-};
-
-#endif /* _XT_TEE_TARGET_H */
diff --git a/linux-headers/include/linux/netfilter/xt_TPROXY.h b/linux-headers/include/linux/netfilter/xt_TPROXY.h
deleted file mode 100644
index 8d693ee..0000000
--- a/linux-headers/include/linux/netfilter/xt_TPROXY.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _XT_TPROXY_H
-#define _XT_TPROXY_H
-
-#include <linux/types.h>
-#include <linux/netfilter.h>
-
-/* TPROXY target is capable of marking the packet to perform
- * redirection. We can get rid of that whenever we get support for
- * mutliple targets in the same rule. */
-struct xt_tproxy_target_info {
- __u32 mark_mask;
- __u32 mark_value;
- __be32 laddr;
- __be16 lport;
-};
-
-struct xt_tproxy_target_info_v1 {
- __u32 mark_mask;
- __u32 mark_value;
- union nf_inet_addr laddr;
- __be16 lport;
-};
-
-#endif /* _XT_TPROXY_H */
diff --git a/linux-headers/include/linux/netfilter/xt_addrtype.h b/linux-headers/include/linux/netfilter/xt_addrtype.h
deleted file mode 100644
index b156baa..0000000
--- a/linux-headers/include/linux/netfilter/xt_addrtype.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _XT_ADDRTYPE_H
-#define _XT_ADDRTYPE_H
-
-#include <linux/types.h>
-
-enum {
- XT_ADDRTYPE_INVERT_SOURCE = 0x0001,
- XT_ADDRTYPE_INVERT_DEST = 0x0002,
- XT_ADDRTYPE_LIMIT_IFACE_IN = 0x0004,
- XT_ADDRTYPE_LIMIT_IFACE_OUT = 0x0008,
-};
-
-
-/* rtn_type enum values from rtnetlink.h, but shifted */
-enum {
- XT_ADDRTYPE_UNSPEC = 1 << 0,
- XT_ADDRTYPE_UNICAST = 1 << 1, /* 1 << RTN_UNICAST */
- XT_ADDRTYPE_LOCAL = 1 << 2, /* 1 << RTN_LOCAL, etc */
- XT_ADDRTYPE_BROADCAST = 1 << 3,
- XT_ADDRTYPE_ANYCAST = 1 << 4,
- XT_ADDRTYPE_MULTICAST = 1 << 5,
- XT_ADDRTYPE_BLACKHOLE = 1 << 6,
- XT_ADDRTYPE_UNREACHABLE = 1 << 7,
- XT_ADDRTYPE_PROHIBIT = 1 << 8,
- XT_ADDRTYPE_THROW = 1 << 9,
- XT_ADDRTYPE_NAT = 1 << 10,
- XT_ADDRTYPE_XRESOLVE = 1 << 11,
-};
-
-struct xt_addrtype_info_v1 {
- __u16 source; /* source-type mask */
- __u16 dest; /* dest-type mask */
- __u32 flags;
-};
-
-/* revision 0 */
-struct xt_addrtype_info {
- __u16 source; /* source-type mask */
- __u16 dest; /* dest-type mask */
- __u32 invert_source;
- __u32 invert_dest;
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter/xt_bpf.h b/linux-headers/include/linux/netfilter/xt_bpf.h
deleted file mode 100644
index 1fad2c2..0000000
--- a/linux-headers/include/linux/netfilter/xt_bpf.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _XT_BPF_H
-#define _XT_BPF_H
-
-#include <linux/filter.h>
-#include <linux/types.h>
-
-#define XT_BPF_MAX_NUM_INSTR 64
-
-struct bpf_prog;
-
-struct xt_bpf_info {
- __u16 bpf_program_num_elem;
- struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR];
-
- /* only used in the kernel */
- struct bpf_prog *filter __attribute__((aligned(8)));
-};
-
-#endif /*_XT_BPF_H */
diff --git a/linux-headers/include/linux/netfilter/xt_cgroup.h b/linux-headers/include/linux/netfilter/xt_cgroup.h
deleted file mode 100644
index 7fe61ed..0000000
--- a/linux-headers/include/linux/netfilter/xt_cgroup.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _XT_CGROUP_H
-#define _XT_CGROUP_H
-
-#include <linux/types.h>
-#include <linux/limits.h>
-
-struct xt_cgroup_info_v0 {
- __u32 id;
- __u32 invert;
-};
-
-struct xt_cgroup_info_v1 {
- __u8 has_path;
- __u8 has_classid;
- __u8 invert_path;
- __u8 invert_classid;
- char path[PATH_MAX];
- __u32 classid;
-
- /* kernel internal data */
- void *priv __attribute__((aligned(8)));
-};
-
-#endif /* _XT_CGROUP_H */
diff --git a/linux-headers/include/linux/netfilter/xt_cluster.h b/linux-headers/include/linux/netfilter/xt_cluster.h
deleted file mode 100644
index 9b883c8..0000000
--- a/linux-headers/include/linux/netfilter/xt_cluster.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _XT_CLUSTER_MATCH_H
-#define _XT_CLUSTER_MATCH_H
-
-#include <linux/types.h>
-
-enum xt_cluster_flags {
- XT_CLUSTER_F_INV = (1 << 0)
-};
-
-struct xt_cluster_match_info {
- __u32 total_nodes;
- __u32 node_mask;
- __u32 hash_seed;
- __u32 flags;
-};
-
-#define XT_CLUSTER_NODES_MAX 32
-
-#endif /* _XT_CLUSTER_MATCH_H */
diff --git a/linux-headers/include/linux/netfilter/xt_comment.h b/linux-headers/include/linux/netfilter/xt_comment.h
deleted file mode 100644
index 0ea5e79..0000000
--- a/linux-headers/include/linux/netfilter/xt_comment.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _XT_COMMENT_H
-#define _XT_COMMENT_H
-
-#define XT_MAX_COMMENT_LEN 256
-
-struct xt_comment_info {
- char comment[XT_MAX_COMMENT_LEN];
-};
-
-#endif /* XT_COMMENT_H */
diff --git a/linux-headers/include/linux/netfilter/xt_connbytes.h b/linux-headers/include/linux/netfilter/xt_connbytes.h
deleted file mode 100644
index f1d6c15..0000000
--- a/linux-headers/include/linux/netfilter/xt_connbytes.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _XT_CONNBYTES_H
-#define _XT_CONNBYTES_H
-
-#include <linux/types.h>
-
-enum xt_connbytes_what {
- XT_CONNBYTES_PKTS,
- XT_CONNBYTES_BYTES,
- XT_CONNBYTES_AVGPKT,
-};
-
-enum xt_connbytes_direction {
- XT_CONNBYTES_DIR_ORIGINAL,
- XT_CONNBYTES_DIR_REPLY,
- XT_CONNBYTES_DIR_BOTH,
-};
-
-struct xt_connbytes_info {
- struct {
- __aligned_u64 from; /* count to be matched */
- __aligned_u64 to; /* count to be matched */
- } count;
- __u8 what; /* ipt_connbytes_what */
- __u8 direction; /* ipt_connbytes_direction */
-};
-#endif
diff --git a/linux-headers/include/linux/netfilter/xt_connlabel.h b/linux-headers/include/linux/netfilter/xt_connlabel.h
deleted file mode 100644
index c4bc9ee..0000000
--- a/linux-headers/include/linux/netfilter/xt_connlabel.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#include <linux/types.h>
-
-#define XT_CONNLABEL_MAXBIT 127
-enum xt_connlabel_mtopts {
- XT_CONNLABEL_OP_INVERT = 1 << 0,
- XT_CONNLABEL_OP_SET = 1 << 1,
-};
-
-struct xt_connlabel_mtinfo {
- __u16 bit;
- __u16 options;
-};
diff --git a/linux-headers/include/linux/netfilter/xt_connlimit.h b/linux-headers/include/linux/netfilter/xt_connlimit.h
deleted file mode 100644
index cdcc117..0000000
--- a/linux-headers/include/linux/netfilter/xt_connlimit.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _XT_CONNLIMIT_H
-#define _XT_CONNLIMIT_H
-
-#include <linux/types.h>
-#include <linux/netfilter.h>
-
-struct xt_connlimit_data;
-
-enum {
- XT_CONNLIMIT_INVERT = 1 << 0,
- XT_CONNLIMIT_DADDR = 1 << 1,
-};
-
-struct xt_connlimit_info {
- union {
- union nf_inet_addr mask;
- union {
- __be32 v4_mask;
- __be32 v6_mask[4];
- };
- };
- unsigned int limit;
- /* revision 1 */
- __u32 flags;
-
- /* Used internally by the kernel */
- struct xt_connlimit_data *data __attribute__((aligned(8)));
-};
-
-#endif /* _XT_CONNLIMIT_H */
diff --git a/linux-headers/include/linux/netfilter/xt_connmark.h b/linux-headers/include/linux/netfilter/xt_connmark.h
deleted file mode 100644
index efc17a8..0000000
--- a/linux-headers/include/linux/netfilter/xt_connmark.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _XT_CONNMARK_H
-#define _XT_CONNMARK_H
-
-#include <linux/types.h>
-
-/* Copyright (C) 2002,2004 MARA Systems AB <http://www.marasystems.com>
- * by Henrik Nordstrom <hno@marasystems.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-enum {
- XT_CONNMARK_SET = 0,
- XT_CONNMARK_SAVE,
- XT_CONNMARK_RESTORE
-};
-
-struct xt_connmark_tginfo1 {
- __u32 ctmark, ctmask, nfmask;
- __u8 mode;
-};
-
-struct xt_connmark_mtinfo1 {
- __u32 mark, mask;
- __u8 invert;
-};
-
-#endif /*_XT_CONNMARK_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_conntrack.h b/linux-headers/include/linux/netfilter/xt_conntrack.h
deleted file mode 100644
index e5bd308..0000000
--- a/linux-headers/include/linux/netfilter/xt_conntrack.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/* Header file for kernel module to match connection tracking information.
- * GPL (C) 2001 Marc Boucher (marc@mbsi.ca).
- */
-
-#ifndef _XT_CONNTRACK_H
-#define _XT_CONNTRACK_H
-
-#include <linux/types.h>
-#include <linux/netfilter.h>
-#include <linux/netfilter/nf_conntrack_tuple_common.h>
-
-#define XT_CONNTRACK_STATE_BIT(ctinfo) (1 << ((ctinfo)%IP_CT_IS_REPLY+1))
-#define XT_CONNTRACK_STATE_INVALID (1 << 0)
-
-#define XT_CONNTRACK_STATE_SNAT (1 << (IP_CT_NUMBER + 1))
-#define XT_CONNTRACK_STATE_DNAT (1 << (IP_CT_NUMBER + 2))
-#define XT_CONNTRACK_STATE_UNTRACKED (1 << (IP_CT_NUMBER + 3))
-
-/* flags, invflags: */
-enum {
- XT_CONNTRACK_STATE = 1 << 0,
- XT_CONNTRACK_PROTO = 1 << 1,
- XT_CONNTRACK_ORIGSRC = 1 << 2,
- XT_CONNTRACK_ORIGDST = 1 << 3,
- XT_CONNTRACK_REPLSRC = 1 << 4,
- XT_CONNTRACK_REPLDST = 1 << 5,
- XT_CONNTRACK_STATUS = 1 << 6,
- XT_CONNTRACK_EXPIRES = 1 << 7,
- XT_CONNTRACK_ORIGSRC_PORT = 1 << 8,
- XT_CONNTRACK_ORIGDST_PORT = 1 << 9,
- XT_CONNTRACK_REPLSRC_PORT = 1 << 10,
- XT_CONNTRACK_REPLDST_PORT = 1 << 11,
- XT_CONNTRACK_DIRECTION = 1 << 12,
- XT_CONNTRACK_STATE_ALIAS = 1 << 13,
-};
-
-struct xt_conntrack_mtinfo1 {
- union nf_inet_addr origsrc_addr, origsrc_mask;
- union nf_inet_addr origdst_addr, origdst_mask;
- union nf_inet_addr replsrc_addr, replsrc_mask;
- union nf_inet_addr repldst_addr, repldst_mask;
- __u32 expires_min, expires_max;
- __u16 l4proto;
- __be16 origsrc_port, origdst_port;
- __be16 replsrc_port, repldst_port;
- __u16 match_flags, invert_flags;
- __u8 state_mask, status_mask;
-};
-
-struct xt_conntrack_mtinfo2 {
- union nf_inet_addr origsrc_addr, origsrc_mask;
- union nf_inet_addr origdst_addr, origdst_mask;
- union nf_inet_addr replsrc_addr, replsrc_mask;
- union nf_inet_addr repldst_addr, repldst_mask;
- __u32 expires_min, expires_max;
- __u16 l4proto;
- __be16 origsrc_port, origdst_port;
- __be16 replsrc_port, repldst_port;
- __u16 match_flags, invert_flags;
- __u16 state_mask, status_mask;
-};
-
-struct xt_conntrack_mtinfo3 {
- union nf_inet_addr origsrc_addr, origsrc_mask;
- union nf_inet_addr origdst_addr, origdst_mask;
- union nf_inet_addr replsrc_addr, replsrc_mask;
- union nf_inet_addr repldst_addr, repldst_mask;
- __u32 expires_min, expires_max;
- __u16 l4proto;
- __u16 origsrc_port, origdst_port;
- __u16 replsrc_port, repldst_port;
- __u16 match_flags, invert_flags;
- __u16 state_mask, status_mask;
- __u16 origsrc_port_high, origdst_port_high;
- __u16 replsrc_port_high, repldst_port_high;
-};
-
-#endif /*_XT_CONNTRACK_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_cpu.h b/linux-headers/include/linux/netfilter/xt_cpu.h
deleted file mode 100644
index 93c7f11..0000000
--- a/linux-headers/include/linux/netfilter/xt_cpu.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _XT_CPU_H
-#define _XT_CPU_H
-
-#include <linux/types.h>
-
-struct xt_cpu_info {
- __u32 cpu;
- __u32 invert;
-};
-
-#endif /*_XT_CPU_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_dccp.h b/linux-headers/include/linux/netfilter/xt_dccp.h
deleted file mode 100644
index a579e1b..0000000
--- a/linux-headers/include/linux/netfilter/xt_dccp.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _XT_DCCP_H_
-#define _XT_DCCP_H_
-
-#include <linux/types.h>
-
-#define XT_DCCP_SRC_PORTS 0x01
-#define XT_DCCP_DEST_PORTS 0x02
-#define XT_DCCP_TYPE 0x04
-#define XT_DCCP_OPTION 0x08
-
-#define XT_DCCP_VALID_FLAGS 0x0f
-
-struct xt_dccp_info {
- __u16 dpts[2]; /* Min, Max */
- __u16 spts[2]; /* Min, Max */
-
- __u16 flags;
- __u16 invflags;
-
- __u16 typemask;
- __u8 option;
-};
-
-#endif /* _XT_DCCP_H_ */
-
diff --git a/linux-headers/include/linux/netfilter/xt_devgroup.h b/linux-headers/include/linux/netfilter/xt_devgroup.h
deleted file mode 100644
index 1babde0..0000000
--- a/linux-headers/include/linux/netfilter/xt_devgroup.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _XT_DEVGROUP_H
-#define _XT_DEVGROUP_H
-
-#include <linux/types.h>
-
-enum xt_devgroup_flags {
- XT_DEVGROUP_MATCH_SRC = 0x1,
- XT_DEVGROUP_INVERT_SRC = 0x2,
- XT_DEVGROUP_MATCH_DST = 0x4,
- XT_DEVGROUP_INVERT_DST = 0x8,
-};
-
-struct xt_devgroup_info {
- __u32 flags;
- __u32 src_group;
- __u32 src_mask;
- __u32 dst_group;
- __u32 dst_mask;
-};
-
-#endif /* _XT_DEVGROUP_H */
diff --git a/linux-headers/include/linux/netfilter/xt_dscp.h b/linux-headers/include/linux/netfilter/xt_dscp.h
deleted file mode 100644
index 15f8932..0000000
--- a/linux-headers/include/linux/netfilter/xt_dscp.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* x_tables module for matching the IPv4/IPv6 DSCP field
- *
- * (C) 2002 Harald Welte <laforge@gnumonks.org>
- * This software is distributed under GNU GPL v2, 1991
- *
- * See RFC2474 for a description of the DSCP field within the IP Header.
- *
- * xt_dscp.h,v 1.3 2002/08/05 19:00:21 laforge Exp
-*/
-#ifndef _XT_DSCP_H
-#define _XT_DSCP_H
-
-#include <linux/types.h>
-
-#define XT_DSCP_MASK 0xfc /* 11111100 */
-#define XT_DSCP_SHIFT 2
-#define XT_DSCP_MAX 0x3f /* 00111111 */
-
-/* match info */
-struct xt_dscp_info {
- __u8 dscp;
- __u8 invert;
-};
-
-struct xt_tos_match_info {
- __u8 tos_mask;
- __u8 tos_value;
- __u8 invert;
-};
-
-#endif /* _XT_DSCP_H */
diff --git a/linux-headers/include/linux/netfilter/xt_ecn.h b/linux-headers/include/linux/netfilter/xt_ecn.h
deleted file mode 100644
index 7158fca..0000000
--- a/linux-headers/include/linux/netfilter/xt_ecn.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/* iptables module for matching the ECN header in IPv4 and TCP header
- *
- * (C) 2002 Harald Welte <laforge@gnumonks.org>
- *
- * This software is distributed under GNU GPL v2, 1991
- *
- * ipt_ecn.h,v 1.4 2002/08/05 19:39:00 laforge Exp
-*/
-#ifndef _XT_ECN_H
-#define _XT_ECN_H
-
-#include <linux/types.h>
-#include <linux/netfilter/xt_dscp.h>
-
-#define XT_ECN_IP_MASK (~XT_DSCP_MASK)
-
-#define XT_ECN_OP_MATCH_IP 0x01
-#define XT_ECN_OP_MATCH_ECE 0x10
-#define XT_ECN_OP_MATCH_CWR 0x20
-
-#define XT_ECN_OP_MATCH_MASK 0xce
-
-/* match info */
-struct xt_ecn_info {
- __u8 operation;
- __u8 invert;
- __u8 ip_ect;
- union {
- struct {
- __u8 ect;
- } tcp;
- } proto;
-};
-
-#endif /* _XT_ECN_H */
diff --git a/linux-headers/include/linux/netfilter/xt_esp.h b/linux-headers/include/linux/netfilter/xt_esp.h
deleted file mode 100644
index ee68824..0000000
--- a/linux-headers/include/linux/netfilter/xt_esp.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _XT_ESP_H
-#define _XT_ESP_H
-
-#include <linux/types.h>
-
-struct xt_esp {
- __u32 spis[2]; /* Security Parameter Index */
- __u8 invflags; /* Inverse flags */
-};
-
-/* Values for "invflags" field in struct xt_esp. */
-#define XT_ESP_INV_SPI 0x01 /* Invert the sense of spi. */
-#define XT_ESP_INV_MASK 0x01 /* All possible flags. */
-
-#endif /*_XT_ESP_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_hashlimit.h b/linux-headers/include/linux/netfilter/xt_hashlimit.h
deleted file mode 100644
index 3f2b66e..0000000
--- a/linux-headers/include/linux/netfilter/xt_hashlimit.h
+++ /dev/null
@@ -1,74 +0,0 @@
-#ifndef _XT_HASHLIMIT_H
-#define _XT_HASHLIMIT_H
-
-#include <linux/types.h>
-#include <linux/if.h>
-
-/* timings are in milliseconds. */
-#define XT_HASHLIMIT_SCALE 10000
-/* 1/10,000 sec period => max of 10,000/sec. Min rate is then 429490
- * seconds, or one packet every 59 hours.
- */
-
-/* packet length accounting is done in 16-byte steps */
-#define XT_HASHLIMIT_BYTE_SHIFT 4
-
-/* details of this structure hidden by the implementation */
-struct xt_hashlimit_htable;
-
-enum {
- XT_HASHLIMIT_HASH_DIP = 1 << 0,
- XT_HASHLIMIT_HASH_DPT = 1 << 1,
- XT_HASHLIMIT_HASH_SIP = 1 << 2,
- XT_HASHLIMIT_HASH_SPT = 1 << 3,
- XT_HASHLIMIT_INVERT = 1 << 4,
- XT_HASHLIMIT_BYTES = 1 << 5,
-};
-
-struct hashlimit_cfg {
- __u32 mode; /* bitmask of XT_HASHLIMIT_HASH_* */
- __u32 avg; /* Average secs between packets * scale */
- __u32 burst; /* Period multiplier for upper limit. */
-
- /* user specified */
- __u32 size; /* how many buckets */
- __u32 max; /* max number of entries */
- __u32 gc_interval; /* gc interval */
- __u32 expire; /* when do entries expire? */
-};
-
-struct xt_hashlimit_info {
- char name [IFNAMSIZ]; /* name */
- struct hashlimit_cfg cfg;
-
- /* Used internally by the kernel */
- struct xt_hashlimit_htable *hinfo;
- union {
- void *ptr;
- struct xt_hashlimit_info *master;
- } u;
-};
-
-struct hashlimit_cfg1 {
- __u32 mode; /* bitmask of XT_HASHLIMIT_HASH_* */
- __u32 avg; /* Average secs between packets * scale */
- __u32 burst; /* Period multiplier for upper limit. */
-
- /* user specified */
- __u32 size; /* how many buckets */
- __u32 max; /* max number of entries */
- __u32 gc_interval; /* gc interval */
- __u32 expire; /* when do entries expire? */
-
- __u8 srcmask, dstmask;
-};
-
-struct xt_hashlimit_mtinfo1 {
- char name[IFNAMSIZ];
- struct hashlimit_cfg1 cfg;
-
- /* Used internally by the kernel */
- struct xt_hashlimit_htable *hinfo __attribute__((aligned(8)));
-};
-
-#endif /* _XT_HASHLIMIT_H */
diff --git a/linux-headers/include/linux/netfilter/xt_helper.h b/linux-headers/include/linux/netfilter/xt_helper.h
deleted file mode 100644
index 6b42763..0000000
--- a/linux-headers/include/linux/netfilter/xt_helper.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _XT_HELPER_H
-#define _XT_HELPER_H
-
-struct xt_helper_info {
- int invert;
- char name[30];
-};
-#endif /* _XT_HELPER_H */
diff --git a/linux-headers/include/linux/netfilter/xt_ipcomp.h b/linux-headers/include/linux/netfilter/xt_ipcomp.h
deleted file mode 100644
index 45c7e40..0000000
--- a/linux-headers/include/linux/netfilter/xt_ipcomp.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _XT_IPCOMP_H
-#define _XT_IPCOMP_H
-
-#include <linux/types.h>
-
-struct xt_ipcomp {
- __u32 spis[2]; /* Security Parameter Index */
- __u8 invflags; /* Inverse flags */
- __u8 hdrres; /* Test of the Reserved Filed */
-};
-
-/* Values for "invflags" field in struct xt_ipcomp. */
-#define XT_IPCOMP_INV_SPI 0x01 /* Invert the sense of spi. */
-#define XT_IPCOMP_INV_MASK 0x01 /* All possible flags. */
-
-#endif /*_XT_IPCOMP_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_iprange.h b/linux-headers/include/linux/netfilter/xt_iprange.h
deleted file mode 100644
index 25fd7cf..0000000
--- a/linux-headers/include/linux/netfilter/xt_iprange.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _LINUX_NETFILTER_XT_IPRANGE_H
-#define _LINUX_NETFILTER_XT_IPRANGE_H 1
-
-#include <linux/types.h>
-#include <linux/netfilter.h>
-
-enum {
- IPRANGE_SRC = 1 << 0, /* match source IP address */
- IPRANGE_DST = 1 << 1, /* match destination IP address */
- IPRANGE_SRC_INV = 1 << 4, /* negate the condition */
- IPRANGE_DST_INV = 1 << 5, /* -"- */
-};
-
-struct xt_iprange_mtinfo {
- union nf_inet_addr src_min, src_max;
- union nf_inet_addr dst_min, dst_max;
- __u8 flags;
-};
-
-#endif /* _LINUX_NETFILTER_XT_IPRANGE_H */
diff --git a/linux-headers/include/linux/netfilter/xt_ipvs.h b/linux-headers/include/linux/netfilter/xt_ipvs.h
deleted file mode 100644
index e03b9c3..0000000
--- a/linux-headers/include/linux/netfilter/xt_ipvs.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef _XT_IPVS_H
-#define _XT_IPVS_H
-
-#include <linux/types.h>
-#include <linux/netfilter.h>
-
-enum {
- XT_IPVS_IPVS_PROPERTY = 1 << 0, /* all other options imply this one */
- XT_IPVS_PROTO = 1 << 1,
- XT_IPVS_VADDR = 1 << 2,
- XT_IPVS_VPORT = 1 << 3,
- XT_IPVS_DIR = 1 << 4,
- XT_IPVS_METHOD = 1 << 5,
- XT_IPVS_VPORTCTL = 1 << 6,
- XT_IPVS_MASK = (1 << 7) - 1,
- XT_IPVS_ONCE_MASK = XT_IPVS_MASK & ~XT_IPVS_IPVS_PROPERTY
-};
-
-struct xt_ipvs_mtinfo {
- union nf_inet_addr vaddr, vmask;
- __be16 vport;
- __u8 l4proto;
- __u8 fwd_method;
- __be16 vportctl;
-
- __u8 invert;
- __u8 bitmask;
-};
-
-#endif /* _XT_IPVS_H */
diff --git a/linux-headers/include/linux/netfilter/xt_l2tp.h b/linux-headers/include/linux/netfilter/xt_l2tp.h
deleted file mode 100644
index 7dccfa0..0000000
--- a/linux-headers/include/linux/netfilter/xt_l2tp.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef _LINUX_NETFILTER_XT_L2TP_H
-#define _LINUX_NETFILTER_XT_L2TP_H
-
-#include <linux/types.h>
-
-enum xt_l2tp_type {
- XT_L2TP_TYPE_CONTROL,
- XT_L2TP_TYPE_DATA,
-};
-
-/* L2TP matching stuff */
-struct xt_l2tp_info {
- __u32 tid; /* tunnel id */
- __u32 sid; /* session id */
- __u8 version; /* L2TP protocol version */
- __u8 type; /* L2TP packet type */
- __u8 flags; /* which fields to match */
-};
-
-enum {
- XT_L2TP_TID = (1 << 0), /* match L2TP tunnel id */
- XT_L2TP_SID = (1 << 1), /* match L2TP session id */
- XT_L2TP_VERSION = (1 << 2), /* match L2TP protocol version */
- XT_L2TP_TYPE = (1 << 3), /* match L2TP packet type */
-};
-
-#endif /* _LINUX_NETFILTER_XT_L2TP_H */
diff --git a/linux-headers/include/linux/netfilter/xt_length.h b/linux-headers/include/linux/netfilter/xt_length.h
deleted file mode 100644
index b82ed7c..0000000
--- a/linux-headers/include/linux/netfilter/xt_length.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _XT_LENGTH_H
-#define _XT_LENGTH_H
-
-#include <linux/types.h>
-
-struct xt_length_info {
- __u16 min, max;
- __u8 invert;
-};
-
-#endif /*_XT_LENGTH_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_limit.h b/linux-headers/include/linux/netfilter/xt_limit.h
deleted file mode 100644
index bb47fc4..0000000
--- a/linux-headers/include/linux/netfilter/xt_limit.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _XT_RATE_H
-#define _XT_RATE_H
-
-#include <linux/types.h>
-
-/* timings are in milliseconds. */
-#define XT_LIMIT_SCALE 10000
-
-struct xt_limit_priv;
-
-/* 1/10,000 sec period => max of 10,000/sec. Min rate is then 429490
- seconds, or one every 59 hours. */
-struct xt_rateinfo {
- __u32 avg; /* Average secs between packets * scale */
- __u32 burst; /* Period multiplier for upper limit. */
-
- /* Used internally by the kernel */
- unsigned long prev; /* moved to xt_limit_priv */
- __u32 credit; /* moved to xt_limit_priv */
- __u32 credit_cap, cost;
-
- struct xt_limit_priv *master;
-};
-#endif /*_XT_RATE_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_mac.h b/linux-headers/include/linux/netfilter/xt_mac.h
deleted file mode 100644
index 9a19a08..0000000
--- a/linux-headers/include/linux/netfilter/xt_mac.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _XT_MAC_H
-#define _XT_MAC_H
-
-#include <linux/if_ether.h>
-
-struct xt_mac_info {
- unsigned char srcaddr[ETH_ALEN];
- int invert;
-};
-#endif /*_XT_MAC_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_mark.h b/linux-headers/include/linux/netfilter/xt_mark.h
deleted file mode 100644
index ecadc40..0000000
--- a/linux-headers/include/linux/netfilter/xt_mark.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _XT_MARK_H
-#define _XT_MARK_H
-
-#include <linux/types.h>
-
-struct xt_mark_tginfo2 {
- __u32 mark, mask;
-};
-
-struct xt_mark_mtinfo1 {
- __u32 mark, mask;
- __u8 invert;
-};
-
-#endif /*_XT_MARK_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_multiport.h b/linux-headers/include/linux/netfilter/xt_multiport.h
deleted file mode 100644
index 5b7e72d..0000000
--- a/linux-headers/include/linux/netfilter/xt_multiport.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef _XT_MULTIPORT_H
-#define _XT_MULTIPORT_H
-
-#include <linux/types.h>
-
-enum xt_multiport_flags {
- XT_MULTIPORT_SOURCE,
- XT_MULTIPORT_DESTINATION,
- XT_MULTIPORT_EITHER
-};
-
-#define XT_MULTI_PORTS 15
-
-/* Must fit inside union xt_matchinfo: 16 bytes */
-struct xt_multiport {
- __u8 flags; /* Type of comparison */
- __u8 count; /* Number of ports */
- __u16 ports[XT_MULTI_PORTS]; /* Ports */
-};
-
-struct xt_multiport_v1 {
- __u8 flags; /* Type of comparison */
- __u8 count; /* Number of ports */
- __u16 ports[XT_MULTI_PORTS]; /* Ports */
- __u8 pflags[XT_MULTI_PORTS]; /* Port flags */
- __u8 invert; /* Invert flag */
-};
-
-#endif /*_XT_MULTIPORT_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_nfacct.h b/linux-headers/include/linux/netfilter/xt_nfacct.h
deleted file mode 100644
index 3e19c8a..0000000
--- a/linux-headers/include/linux/netfilter/xt_nfacct.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _XT_NFACCT_MATCH_H
-#define _XT_NFACCT_MATCH_H
-
-#include <linux/netfilter/nfnetlink_acct.h>
-
-struct nf_acct;
-
-struct xt_nfacct_match_info {
- char name[NFACCT_NAME_MAX];
- struct nf_acct *nfacct;
-};
-
-#endif /* _XT_NFACCT_MATCH_H */
diff --git a/linux-headers/include/linux/netfilter/xt_osf.h b/linux-headers/include/linux/netfilter/xt_osf.h
deleted file mode 100644
index e615995..0000000
--- a/linux-headers/include/linux/netfilter/xt_osf.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 2003+ Evgeniy Polyakov <johnpol@2ka.mxt.ru>
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef _XT_OSF_H
-#define _XT_OSF_H
-
-#include <linux/types.h>
-#include <linux/ip.h>
-#include <linux/tcp.h>
-
-#define MAXGENRELEN 32
-
-#define XT_OSF_GENRE (1<<0)
-#define XT_OSF_TTL (1<<1)
-#define XT_OSF_LOG (1<<2)
-#define XT_OSF_INVERT (1<<3)
-
-#define XT_OSF_LOGLEVEL_ALL 0 /* log all matched fingerprints */
-#define XT_OSF_LOGLEVEL_FIRST 1 /* log only the first matced fingerprint */
-#define XT_OSF_LOGLEVEL_ALL_KNOWN 2 /* do not log unknown packets */
-
-#define XT_OSF_TTL_TRUE 0 /* True ip and fingerprint TTL comparison */
-#define XT_OSF_TTL_LESS 1 /* Check if ip TTL is less than fingerprint one */
-#define XT_OSF_TTL_NOCHECK 2 /* Do not compare ip and fingerprint TTL at all */
-
-struct xt_osf_info {
- char genre[MAXGENRELEN];
- __u32 len;
- __u32 flags;
- __u32 loglevel;
- __u32 ttl;
-};
-
-/*
- * Wildcard MSS (kind of).
- * It is used to implement a state machine for the different wildcard values
- * of the MSS and window sizes.
- */
-struct xt_osf_wc {
- __u32 wc;
- __u32 val;
-};
-
-/*
- * This struct represents IANA options
- * http://www.iana.org/assignments/tcp-parameters
- */
-struct xt_osf_opt {
- __u16 kind, length;
- struct xt_osf_wc wc;
-};
-
-struct xt_osf_user_finger {
- struct xt_osf_wc wss;
-
- __u8 ttl, df;
- __u16 ss, mss;
- __u16 opt_num;
-
- char genre[MAXGENRELEN];
- char version[MAXGENRELEN];
- char subtype[MAXGENRELEN];
-
- /* MAX_IPOPTLEN is maximum if all options are NOPs or EOLs */
- struct xt_osf_opt opt[MAX_IPOPTLEN];
-};
-
-struct xt_osf_nlmsg {
- struct xt_osf_user_finger f;
- struct iphdr ip;
- struct tcphdr tcp;
-};
-
-/* Defines for IANA option kinds */
-
-enum iana_options {
- OSFOPT_EOL = 0, /* End of options */
- OSFOPT_NOP, /* NOP */
- OSFOPT_MSS, /* Maximum segment size */
- OSFOPT_WSO, /* Window scale option */
- OSFOPT_SACKP, /* SACK permitted */
- OSFOPT_SACK, /* SACK */
- OSFOPT_ECHO,
- OSFOPT_ECHOREPLY,
- OSFOPT_TS, /* Timestamp option */
- OSFOPT_POCP, /* Partial Order Connection Permitted */
- OSFOPT_POSP, /* Partial Order Service Profile */
-
- /* Others are not used in the current OSF */
- OSFOPT_EMPTY = 255,
-};
-
-/*
- * Initial window size option state machine: multiple of mss, mtu or
- * plain numeric value. Can also be made as plain numeric value which
- * is not a multiple of specified value.
- */
-enum xt_osf_window_size_options {
- OSF_WSS_PLAIN = 0,
- OSF_WSS_MSS,
- OSF_WSS_MTU,
- OSF_WSS_MODULO,
- OSF_WSS_MAX,
-};
-
-/*
- * Add/remove fingerprint from the kernel.
- */
-enum xt_osf_msg_types {
- OSF_MSG_ADD,
- OSF_MSG_REMOVE,
- OSF_MSG_MAX,
-};
-
-enum xt_osf_attr_type {
- OSF_ATTR_UNSPEC,
- OSF_ATTR_FINGER,
- OSF_ATTR_MAX,
-};
-
-#endif /* _XT_OSF_H */
diff --git a/linux-headers/include/linux/netfilter/xt_owner.h b/linux-headers/include/linux/netfilter/xt_owner.h
deleted file mode 100644
index 2081761..0000000
--- a/linux-headers/include/linux/netfilter/xt_owner.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef _XT_OWNER_MATCH_H
-#define _XT_OWNER_MATCH_H
-
-#include <linux/types.h>
-
-enum {
- XT_OWNER_UID = 1 << 0,
- XT_OWNER_GID = 1 << 1,
- XT_OWNER_SOCKET = 1 << 2,
-};
-
-struct xt_owner_match_info {
- __u32 uid_min, uid_max;
- __u32 gid_min, gid_max;
- __u8 match, invert;
-};
-
-#endif /* _XT_OWNER_MATCH_H */
diff --git a/linux-headers/include/linux/netfilter/xt_physdev.h b/linux-headers/include/linux/netfilter/xt_physdev.h
deleted file mode 100644
index c45e389..0000000
--- a/linux-headers/include/linux/netfilter/xt_physdev.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef _XT_PHYSDEV_H
-#define _XT_PHYSDEV_H
-
-#include <linux/types.h>
-#include <linux/if.h>
-
-#define XT_PHYSDEV_OP_IN 0x01
-#define XT_PHYSDEV_OP_OUT 0x02
-#define XT_PHYSDEV_OP_BRIDGED 0x04
-#define XT_PHYSDEV_OP_ISIN 0x08
-#define XT_PHYSDEV_OP_ISOUT 0x10
-#define XT_PHYSDEV_OP_MASK (0x20 - 1)
-
-struct xt_physdev_info {
- char physindev[IFNAMSIZ];
- char in_mask[IFNAMSIZ];
- char physoutdev[IFNAMSIZ];
- char out_mask[IFNAMSIZ];
- __u8 invert;
- __u8 bitmask;
-};
-
-#endif /* _XT_PHYSDEV_H */
diff --git a/linux-headers/include/linux/netfilter/xt_pkttype.h b/linux-headers/include/linux/netfilter/xt_pkttype.h
deleted file mode 100644
index f265cf5..0000000
--- a/linux-headers/include/linux/netfilter/xt_pkttype.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _XT_PKTTYPE_H
-#define _XT_PKTTYPE_H
-
-struct xt_pkttype_info {
- int pkttype;
- int invert;
-};
-#endif /*_XT_PKTTYPE_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_policy.h b/linux-headers/include/linux/netfilter/xt_policy.h
deleted file mode 100644
index 54f9fad..0000000
--- a/linux-headers/include/linux/netfilter/xt_policy.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _XT_POLICY_H
-#define _XT_POLICY_H
-
-#include <linux/types.h>
-#include <linux/in.h>
-#include <linux/in6.h>
-
-#define XT_POLICY_MAX_ELEM 4
-
-enum xt_policy_flags {
- XT_POLICY_MATCH_IN = 0x1,
- XT_POLICY_MATCH_OUT = 0x2,
- XT_POLICY_MATCH_NONE = 0x4,
- XT_POLICY_MATCH_STRICT = 0x8,
-};
-
-enum xt_policy_modes {
- XT_POLICY_MODE_TRANSPORT,
- XT_POLICY_MODE_TUNNEL
-};
-
-struct xt_policy_spec {
- __u8 saddr:1,
- daddr:1,
- proto:1,
- mode:1,
- spi:1,
- reqid:1;
-};
-
-union xt_policy_addr {
- struct in_addr a4;
- struct in6_addr a6;
-};
-
-struct xt_policy_elem {
- union {
- struct {
- union xt_policy_addr saddr;
- union xt_policy_addr smask;
- union xt_policy_addr daddr;
- union xt_policy_addr dmask;
- };
- };
- __be32 spi;
- __u32 reqid;
- __u8 proto;
- __u8 mode;
-
- struct xt_policy_spec match;
- struct xt_policy_spec invert;
-};
-
-struct xt_policy_info {
- struct xt_policy_elem pol[XT_POLICY_MAX_ELEM];
- __u16 flags;
- __u16 len;
-};
-
-#endif /* _XT_POLICY_H */
diff --git a/linux-headers/include/linux/netfilter/xt_quota.h b/linux-headers/include/linux/netfilter/xt_quota.h
deleted file mode 100644
index 9314723..0000000
--- a/linux-headers/include/linux/netfilter/xt_quota.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _XT_QUOTA_H
-#define _XT_QUOTA_H
-
-#include <linux/types.h>
-
-enum xt_quota_flags {
- XT_QUOTA_INVERT = 0x1,
-};
-#define XT_QUOTA_MASK 0x1
-
-struct xt_quota_priv;
-
-struct xt_quota_info {
- __u32 flags;
- __u32 pad;
- __aligned_u64 quota;
-
- /* Used internally by the kernel */
- struct xt_quota_priv *master;
-};
-
-#endif /* _XT_QUOTA_H */
diff --git a/linux-headers/include/linux/netfilter/xt_rateest.h b/linux-headers/include/linux/netfilter/xt_rateest.h
deleted file mode 100644
index 13fe50d..0000000
--- a/linux-headers/include/linux/netfilter/xt_rateest.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef _XT_RATEEST_MATCH_H
-#define _XT_RATEEST_MATCH_H
-
-#include <linux/types.h>
-#include <linux/if.h>
-
-enum xt_rateest_match_flags {
- XT_RATEEST_MATCH_INVERT = 1<<0,
- XT_RATEEST_MATCH_ABS = 1<<1,
- XT_RATEEST_MATCH_REL = 1<<2,
- XT_RATEEST_MATCH_DELTA = 1<<3,
- XT_RATEEST_MATCH_BPS = 1<<4,
- XT_RATEEST_MATCH_PPS = 1<<5,
-};
-
-enum xt_rateest_match_mode {
- XT_RATEEST_MATCH_NONE,
- XT_RATEEST_MATCH_EQ,
- XT_RATEEST_MATCH_LT,
- XT_RATEEST_MATCH_GT,
-};
-
-struct xt_rateest_match_info {
- char name1[IFNAMSIZ];
- char name2[IFNAMSIZ];
- __u16 flags;
- __u16 mode;
- __u32 bps1;
- __u32 pps1;
- __u32 bps2;
- __u32 pps2;
-
- /* Used internally by the kernel */
- struct xt_rateest *est1 __attribute__((aligned(8)));
- struct xt_rateest *est2 __attribute__((aligned(8)));
-};
-
-#endif /* _XT_RATEEST_MATCH_H */
diff --git a/linux-headers/include/linux/netfilter/xt_realm.h b/linux-headers/include/linux/netfilter/xt_realm.h
deleted file mode 100644
index d4a82ee..0000000
--- a/linux-headers/include/linux/netfilter/xt_realm.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef _XT_REALM_H
-#define _XT_REALM_H
-
-#include <linux/types.h>
-
-struct xt_realm_info {
- __u32 id;
- __u32 mask;
- __u8 invert;
-};
-
-#endif /* _XT_REALM_H */
diff --git a/linux-headers/include/linux/netfilter/xt_recent.h b/linux-headers/include/linux/netfilter/xt_recent.h
deleted file mode 100644
index 955d562..0000000
--- a/linux-headers/include/linux/netfilter/xt_recent.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _LINUX_NETFILTER_XT_RECENT_H
-#define _LINUX_NETFILTER_XT_RECENT_H 1
-
-#include <linux/types.h>
-#include <linux/netfilter.h>
-
-enum {
- XT_RECENT_CHECK = 1 << 0,
- XT_RECENT_SET = 1 << 1,
- XT_RECENT_UPDATE = 1 << 2,
- XT_RECENT_REMOVE = 1 << 3,
- XT_RECENT_TTL = 1 << 4,
- XT_RECENT_REAP = 1 << 5,
-
- XT_RECENT_SOURCE = 0,
- XT_RECENT_DEST = 1,
-
- XT_RECENT_NAME_LEN = 200,
-};
-
-/* Only allowed with --rcheck and --update */
-#define XT_RECENT_MODIFIERS (XT_RECENT_TTL|XT_RECENT_REAP)
-
-#define XT_RECENT_VALID_FLAGS (XT_RECENT_CHECK|XT_RECENT_SET|XT_RECENT_UPDATE|\
- XT_RECENT_REMOVE|XT_RECENT_TTL|XT_RECENT_REAP)
-
-struct xt_recent_mtinfo {
- __u32 seconds;
- __u32 hit_count;
- __u8 check_set;
- __u8 invert;
- char name[XT_RECENT_NAME_LEN];
- __u8 side;
-};
-
-struct xt_recent_mtinfo_v1 {
- __u32 seconds;
- __u32 hit_count;
- __u8 check_set;
- __u8 invert;
- char name[XT_RECENT_NAME_LEN];
- __u8 side;
- union nf_inet_addr mask;
-};
-
-#endif /* _LINUX_NETFILTER_XT_RECENT_H */
diff --git a/linux-headers/include/linux/netfilter/xt_rpfilter.h b/linux-headers/include/linux/netfilter/xt_rpfilter.h
deleted file mode 100644
index 672b605..0000000
--- a/linux-headers/include/linux/netfilter/xt_rpfilter.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _XT_RPATH_H
-#define _XT_RPATH_H
-
-#include <linux/types.h>
-
-enum {
- XT_RPFILTER_LOOSE = 1 << 0,
- XT_RPFILTER_VALID_MARK = 1 << 1,
- XT_RPFILTER_ACCEPT_LOCAL = 1 << 2,
- XT_RPFILTER_INVERT = 1 << 3,
-};
-
-struct xt_rpfilter_info {
- __u8 flags;
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter/xt_sctp.h b/linux-headers/include/linux/netfilter/xt_sctp.h
deleted file mode 100644
index 4694d84..0000000
--- a/linux-headers/include/linux/netfilter/xt_sctp.h
+++ /dev/null
@@ -1,92 +0,0 @@
-#ifndef _XT_SCTP_H_
-#define _XT_SCTP_H_
-
-#include <linux/types.h>
-
-#define XT_SCTP_SRC_PORTS 0x01
-#define XT_SCTP_DEST_PORTS 0x02
-#define XT_SCTP_CHUNK_TYPES 0x04
-
-#define XT_SCTP_VALID_FLAGS 0x07
-
-struct xt_sctp_flag_info {
- __u8 chunktype;
- __u8 flag;
- __u8 flag_mask;
-};
-
-#define XT_NUM_SCTP_FLAGS 4
-
-struct xt_sctp_info {
- __u16 dpts[2]; /* Min, Max */
- __u16 spts[2]; /* Min, Max */
-
- __u32 chunkmap[256 / sizeof (__u32)]; /* Bit mask of chunks to be matched according to RFC 2960 */
-
-#define SCTP_CHUNK_MATCH_ANY 0x01 /* Match if any of the chunk types are present */
-#define SCTP_CHUNK_MATCH_ALL 0x02 /* Match if all of the chunk types are present */
-#define SCTP_CHUNK_MATCH_ONLY 0x04 /* Match if these are the only chunk types present */
-
- __u32 chunk_match_type;
- struct xt_sctp_flag_info flag_info[XT_NUM_SCTP_FLAGS];
- int flag_count;
-
- __u32 flags;
- __u32 invflags;
-};
-
-#define bytes(type) (sizeof(type) * 8)
-
-#define SCTP_CHUNKMAP_SET(chunkmap, type) \
- do { \
- (chunkmap)[type / bytes(__u32)] |= \
- 1 << (type % bytes(__u32)); \
- } while (0)
-
-#define SCTP_CHUNKMAP_CLEAR(chunkmap, type) \
- do { \
- (chunkmap)[type / bytes(__u32)] &= \
- ~(1 << (type % bytes(__u32))); \
- } while (0)
-
-#define SCTP_CHUNKMAP_IS_SET(chunkmap, type) \
-({ \
- ((chunkmap)[type / bytes (__u32)] & \
- (1 << (type % bytes (__u32)))) ? 1: 0; \
-})
-
-#define SCTP_CHUNKMAP_RESET(chunkmap) \
- memset((chunkmap), 0, sizeof(chunkmap))
-
-#define SCTP_CHUNKMAP_SET_ALL(chunkmap) \
- memset((chunkmap), ~0U, sizeof(chunkmap))
-
-#define SCTP_CHUNKMAP_COPY(destmap, srcmap) \
- memcpy((destmap), (srcmap), sizeof(srcmap))
-
-#define SCTP_CHUNKMAP_IS_CLEAR(chunkmap) \
- __sctp_chunkmap_is_clear((chunkmap), ARRAY_SIZE(chunkmap))
-static __inline__ _Bool
-__sctp_chunkmap_is_clear(const __u32 *chunkmap, unsigned int n)
-{
- unsigned int i;
- for (i = 0; i < n; ++i)
- if (chunkmap[i])
- return 0;
- return 1;
-}
-
-#define SCTP_CHUNKMAP_IS_ALL_SET(chunkmap) \
- __sctp_chunkmap_is_all_set((chunkmap), ARRAY_SIZE(chunkmap))
-static __inline__ _Bool
-__sctp_chunkmap_is_all_set(const __u32 *chunkmap, unsigned int n)
-{
- unsigned int i;
- for (i = 0; i < n; ++i)
- if (chunkmap[i] != ~0U)
- return 0;
- return 1;
-}
-
-#endif /* _XT_SCTP_H_ */
-
diff --git a/linux-headers/include/linux/netfilter/xt_set.h b/linux-headers/include/linux/netfilter/xt_set.h
deleted file mode 100644
index d4e0234..0000000
--- a/linux-headers/include/linux/netfilter/xt_set.h
+++ /dev/null
@@ -1,93 +0,0 @@
-#ifndef _XT_SET_H
-#define _XT_SET_H
-
-#include <linux/types.h>
-#include <linux/netfilter/ipset/ip_set.h>
-
-/* Revision 0 interface: backward compatible with netfilter/iptables */
-
-/*
- * Option flags for kernel operations (xt_set_info_v0)
- */
-#define IPSET_SRC 0x01 /* Source match/add */
-#define IPSET_DST 0x02 /* Destination match/add */
-#define IPSET_MATCH_INV 0x04 /* Inverse matching */
-
-struct xt_set_info_v0 {
- ip_set_id_t index;
- union {
- __u32 flags[IPSET_DIM_MAX + 1];
- struct {
- __u32 __flags[IPSET_DIM_MAX];
- __u8 dim;
- __u8 flags;
- } compat;
- } u;
-};
-
-/* match and target infos */
-struct xt_set_info_match_v0 {
- struct xt_set_info_v0 match_set;
-};
-
-struct xt_set_info_target_v0 {
- struct xt_set_info_v0 add_set;
- struct xt_set_info_v0 del_set;
-};
-
-/* Revision 1 match and target */
-
-struct xt_set_info {
- ip_set_id_t index;
- __u8 dim;
- __u8 flags;
-};
-
-/* match and target infos */
-struct xt_set_info_match_v1 {
- struct xt_set_info match_set;
-};
-
-struct xt_set_info_target_v1 {
- struct xt_set_info add_set;
- struct xt_set_info del_set;
-};
-
-/* Revision 2 target */
-
-struct xt_set_info_target_v2 {
- struct xt_set_info add_set;
- struct xt_set_info del_set;
- __u32 flags;
- __u32 timeout;
-};
-
-/* Revision 3 match */
-
-struct xt_set_info_match_v3 {
- struct xt_set_info match_set;
- struct ip_set_counter_match0 packets;
- struct ip_set_counter_match0 bytes;
- __u32 flags;
-};
-
-/* Revision 3 target */
-
-struct xt_set_info_target_v3 {
- struct xt_set_info add_set;
- struct xt_set_info del_set;
- struct xt_set_info map_set;
- __u32 flags;
- __u32 timeout;
-};
-
-/* Revision 4 match */
-
-struct xt_set_info_match_v4 {
- struct xt_set_info match_set;
- struct ip_set_counter_match packets;
- struct ip_set_counter_match bytes;
- __u32 flags;
-};
-
-#endif /*_XT_SET_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_socket.h b/linux-headers/include/linux/netfilter/xt_socket.h
deleted file mode 100644
index 87644f8..0000000
--- a/linux-headers/include/linux/netfilter/xt_socket.h
+++ /dev/null
@@ -1,29 +0,0 @@
-#ifndef _XT_SOCKET_H
-#define _XT_SOCKET_H
-
-#include <linux/types.h>
-
-enum {
- XT_SOCKET_TRANSPARENT = 1 << 0,
- XT_SOCKET_NOWILDCARD = 1 << 1,
- XT_SOCKET_RESTORESKMARK = 1 << 2,
-};
-
-struct xt_socket_mtinfo1 {
- __u8 flags;
-};
-#define XT_SOCKET_FLAGS_V1 XT_SOCKET_TRANSPARENT
-
-struct xt_socket_mtinfo2 {
- __u8 flags;
-};
-#define XT_SOCKET_FLAGS_V2 (XT_SOCKET_TRANSPARENT | XT_SOCKET_NOWILDCARD)
-
-struct xt_socket_mtinfo3 {
- __u8 flags;
-};
-#define XT_SOCKET_FLAGS_V3 (XT_SOCKET_TRANSPARENT \
- | XT_SOCKET_NOWILDCARD \
- | XT_SOCKET_RESTORESKMARK)
-
-#endif /* _XT_SOCKET_H */
diff --git a/linux-headers/include/linux/netfilter/xt_state.h b/linux-headers/include/linux/netfilter/xt_state.h
deleted file mode 100644
index 7b32de8..0000000
--- a/linux-headers/include/linux/netfilter/xt_state.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef _XT_STATE_H
-#define _XT_STATE_H
-
-#define XT_STATE_BIT(ctinfo) (1 << ((ctinfo)%IP_CT_IS_REPLY+1))
-#define XT_STATE_INVALID (1 << 0)
-
-#define XT_STATE_UNTRACKED (1 << (IP_CT_NUMBER + 1))
-
-struct xt_state_info {
- unsigned int statemask;
-};
-#endif /*_XT_STATE_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_statistic.h b/linux-headers/include/linux/netfilter/xt_statistic.h
deleted file mode 100644
index 4e983ef..0000000
--- a/linux-headers/include/linux/netfilter/xt_statistic.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _XT_STATISTIC_H
-#define _XT_STATISTIC_H
-
-#include <linux/types.h>
-
-enum xt_statistic_mode {
- XT_STATISTIC_MODE_RANDOM,
- XT_STATISTIC_MODE_NTH,
- __XT_STATISTIC_MODE_MAX
-};
-#define XT_STATISTIC_MODE_MAX (__XT_STATISTIC_MODE_MAX - 1)
-
-enum xt_statistic_flags {
- XT_STATISTIC_INVERT = 0x1,
-};
-#define XT_STATISTIC_MASK 0x1
-
-struct xt_statistic_priv;
-
-struct xt_statistic_info {
- __u16 mode;
- __u16 flags;
- union {
- struct {
- __u32 probability;
- } random;
- struct {
- __u32 every;
- __u32 packet;
- __u32 count; /* unused */
- } nth;
- } u;
- struct xt_statistic_priv *master __attribute__((aligned(8)));
-};
-
-#endif /* _XT_STATISTIC_H */
diff --git a/linux-headers/include/linux/netfilter/xt_string.h b/linux-headers/include/linux/netfilter/xt_string.h
deleted file mode 100644
index 235347c..0000000
--- a/linux-headers/include/linux/netfilter/xt_string.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef _XT_STRING_H
-#define _XT_STRING_H
-
-#include <linux/types.h>
-
-#define XT_STRING_MAX_PATTERN_SIZE 128
-#define XT_STRING_MAX_ALGO_NAME_SIZE 16
-
-enum {
- XT_STRING_FLAG_INVERT = 0x01,
- XT_STRING_FLAG_IGNORECASE = 0x02
-};
-
-struct xt_string_info {
- __u16 from_offset;
- __u16 to_offset;
- char algo[XT_STRING_MAX_ALGO_NAME_SIZE];
- char pattern[XT_STRING_MAX_PATTERN_SIZE];
- __u8 patlen;
- union {
- struct {
- __u8 invert;
- } v0;
-
- struct {
- __u8 flags;
- } v1;
- } u;
-
- /* Used internally by the kernel */
- struct ts_config __attribute__((aligned(8))) *config;
-};
-
-#endif /*_XT_STRING_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_tcpmss.h b/linux-headers/include/linux/netfilter/xt_tcpmss.h
deleted file mode 100644
index fbac56b..0000000
--- a/linux-headers/include/linux/netfilter/xt_tcpmss.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _XT_TCPMSS_MATCH_H
-#define _XT_TCPMSS_MATCH_H
-
-#include <linux/types.h>
-
-struct xt_tcpmss_match_info {
- __u16 mss_min, mss_max;
- __u8 invert;
-};
-
-#endif /*_XT_TCPMSS_MATCH_H*/
diff --git a/linux-headers/include/linux/netfilter/xt_tcpudp.h b/linux-headers/include/linux/netfilter/xt_tcpudp.h
deleted file mode 100644
index 38aa7b3..0000000
--- a/linux-headers/include/linux/netfilter/xt_tcpudp.h
+++ /dev/null
@@ -1,36 +0,0 @@
-#ifndef _XT_TCPUDP_H
-#define _XT_TCPUDP_H
-
-#include <linux/types.h>
-
-/* TCP matching stuff */
-struct xt_tcp {
- __u16 spts[2]; /* Source port range. */
- __u16 dpts[2]; /* Destination port range. */
- __u8 option; /* TCP Option iff non-zero*/
- __u8 flg_mask; /* TCP flags mask byte */
- __u8 flg_cmp; /* TCP flags compare byte */
- __u8 invflags; /* Inverse flags */
-};
-
-/* Values for "inv" field in struct ipt_tcp. */
-#define XT_TCP_INV_SRCPT 0x01 /* Invert the sense of source ports. */
-#define XT_TCP_INV_DSTPT 0x02 /* Invert the sense of dest ports. */
-#define XT_TCP_INV_FLAGS 0x04 /* Invert the sense of TCP flags. */
-#define XT_TCP_INV_OPTION 0x08 /* Invert the sense of option test. */
-#define XT_TCP_INV_MASK 0x0F /* All possible flags. */
-
-/* UDP matching stuff */
-struct xt_udp {
- __u16 spts[2]; /* Source port range. */
- __u16 dpts[2]; /* Destination port range. */
- __u8 invflags; /* Inverse flags */
-};
-
-/* Values for "invflags" field in struct ipt_udp. */
-#define XT_UDP_INV_SRCPT 0x01 /* Invert the sense of source ports. */
-#define XT_UDP_INV_DSTPT 0x02 /* Invert the sense of dest ports. */
-#define XT_UDP_INV_MASK 0x03 /* All possible flags. */
-
-
-#endif
diff --git a/linux-headers/include/linux/netfilter/xt_time.h b/linux-headers/include/linux/netfilter/xt_time.h
deleted file mode 100644
index 0958860..0000000
--- a/linux-headers/include/linux/netfilter/xt_time.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef _XT_TIME_H
-#define _XT_TIME_H 1
-
-#include <linux/types.h>
-
-struct xt_time_info {
- __u32 date_start;
- __u32 date_stop;
- __u32 daytime_start;
- __u32 daytime_stop;
- __u32 monthdays_match;
- __u8 weekdays_match;
- __u8 flags;
-};
-
-enum {
- /* Match against local time (instead of UTC) */
- XT_TIME_LOCAL_TZ = 1 << 0,
-
- /* treat timestart > timestop (e.g. 23:00-01:00) as single period */
- XT_TIME_CONTIGUOUS = 1 << 1,
-
- /* Shortcuts */
- XT_TIME_ALL_MONTHDAYS = 0xFFFFFFFE,
- XT_TIME_ALL_WEEKDAYS = 0xFE,
- XT_TIME_MIN_DAYTIME = 0,
- XT_TIME_MAX_DAYTIME = 24 * 60 * 60 - 1,
-};
-
-#define XT_TIME_ALL_FLAGS (XT_TIME_LOCAL_TZ|XT_TIME_CONTIGUOUS)
-
-#endif /* _XT_TIME_H */
diff --git a/linux-headers/include/linux/netfilter/xt_u32.h b/linux-headers/include/linux/netfilter/xt_u32.h
deleted file mode 100644
index 04d1bfe..0000000
--- a/linux-headers/include/linux/netfilter/xt_u32.h
+++ /dev/null
@@ -1,42 +0,0 @@
-#ifndef _XT_U32_H
-#define _XT_U32_H 1
-
-#include <linux/types.h>
-
-enum xt_u32_ops {
- XT_U32_AND,
- XT_U32_LEFTSH,
- XT_U32_RIGHTSH,
- XT_U32_AT,
-};
-
-struct xt_u32_location_element {
- __u32 number;
- __u8 nextop;
-};
-
-struct xt_u32_value_element {
- __u32 min;
- __u32 max;
-};
-
-/*
- * Any way to allow for an arbitrary number of elements?
- * For now, I settle with a limit of 10 each.
- */
-#define XT_U32_MAXSIZE 10
-
-struct xt_u32_test {
- struct xt_u32_location_element location[XT_U32_MAXSIZE+1];
- struct xt_u32_value_element value[XT_U32_MAXSIZE+1];
- __u8 nnums;
- __u8 nvalues;
-};
-
-struct xt_u32 {
- struct xt_u32_test tests[XT_U32_MAXSIZE+1];
- __u8 ntests;
- __u8 invert;
-};
-
-#endif /* _XT_U32_H */
diff --git a/linux-headers/include/linux/netfilter_arp.h b/linux-headers/include/linux/netfilter_arp.h
deleted file mode 100644
index 92bc6dd..0000000
--- a/linux-headers/include/linux/netfilter_arp.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __LINUX_ARP_NETFILTER_H
-#define __LINUX_ARP_NETFILTER_H
-
-/* ARP-specific defines for netfilter.
- * (C)2002 Rusty Russell IBM -- This code is GPL.
- */
-
-#include <linux/netfilter.h>
-
-/* There is no PF_ARP. */
-#define NF_ARP 0
-
-/* ARP Hooks */
-#define NF_ARP_IN 0
-#define NF_ARP_OUT 1
-#define NF_ARP_FORWARD 2
-#define NF_ARP_NUMHOOKS 3
-
-#endif /* __LINUX_ARP_NETFILTER_H */
diff --git a/linux-headers/include/linux/netfilter_arp/arp_tables.h b/linux-headers/include/linux/netfilter_arp/arp_tables.h
deleted file mode 100644
index 00dc964..0000000
--- a/linux-headers/include/linux/netfilter_arp/arp_tables.h
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Format of an ARP firewall descriptor
- *
- * src, tgt, src_mask, tgt_mask, arpop, arpop_mask are always stored in
- * network byte order.
- * flags are stored in host byte order (of course).
- */
-
-#ifndef _ARPTABLES_H
-#define _ARPTABLES_H
-
-#include <linux/types.h>
-
-#include <linux/if.h>
-#include <linux/netfilter_arp.h>
-
-#include <linux/netfilter/x_tables.h>
-
-#define ARPT_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
-#define ARPT_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
-#define arpt_entry_target xt_entry_target
-#define arpt_standard_target xt_standard_target
-#define arpt_error_target xt_error_target
-#define ARPT_CONTINUE XT_CONTINUE
-#define ARPT_RETURN XT_RETURN
-#define arpt_counters_info xt_counters_info
-#define arpt_counters xt_counters
-#define ARPT_STANDARD_TARGET XT_STANDARD_TARGET
-#define ARPT_ERROR_TARGET XT_ERROR_TARGET
-#define ARPT_ENTRY_ITERATE(entries, size, fn, args...) \
- XT_ENTRY_ITERATE(struct arpt_entry, entries, size, fn, ## args)
-
-#define ARPT_DEV_ADDR_LEN_MAX 16
-
-struct arpt_devaddr_info {
- char addr[ARPT_DEV_ADDR_LEN_MAX];
- char mask[ARPT_DEV_ADDR_LEN_MAX];
-};
-
-/* Yes, Virginia, you have to zero the padding. */
-struct arpt_arp {
- /* Source and target IP addr */
- struct in_addr src, tgt;
- /* Mask for src and target IP addr */
- struct in_addr smsk, tmsk;
-
- /* Device hw address length, src+target device addresses */
- __u8 arhln, arhln_mask;
- struct arpt_devaddr_info src_devaddr;
- struct arpt_devaddr_info tgt_devaddr;
-
- /* ARP operation code. */
- __be16 arpop, arpop_mask;
-
- /* ARP hardware address and protocol address format. */
- __be16 arhrd, arhrd_mask;
- __be16 arpro, arpro_mask;
-
- /* The protocol address length is only accepted if it is 4
- * so there is no use in offering a way to do filtering on it.
- */
-
- char iniface[IFNAMSIZ], outiface[IFNAMSIZ];
- unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ];
-
- /* Flags word */
- __u8 flags;
- /* Inverse flags */
- __u16 invflags;
-};
-
-/* Values for "flag" field in struct arpt_ip (general arp structure).
- * No flags defined yet.
- */
-#define ARPT_F_MASK 0x00 /* All possible flag bits mask. */
-
-/* Values for "inv" field in struct arpt_arp. */
-#define ARPT_INV_VIA_IN 0x0001 /* Invert the sense of IN IFACE. */
-#define ARPT_INV_VIA_OUT 0x0002 /* Invert the sense of OUT IFACE */
-#define ARPT_INV_SRCIP 0x0004 /* Invert the sense of SRC IP. */
-#define ARPT_INV_TGTIP 0x0008 /* Invert the sense of TGT IP. */
-#define ARPT_INV_SRCDEVADDR 0x0010 /* Invert the sense of SRC DEV ADDR. */
-#define ARPT_INV_TGTDEVADDR 0x0020 /* Invert the sense of TGT DEV ADDR. */
-#define ARPT_INV_ARPOP 0x0040 /* Invert the sense of ARP OP. */
-#define ARPT_INV_ARPHRD 0x0080 /* Invert the sense of ARP HRD. */
-#define ARPT_INV_ARPPRO 0x0100 /* Invert the sense of ARP PRO. */
-#define ARPT_INV_ARPHLN 0x0200 /* Invert the sense of ARP HLN. */
-#define ARPT_INV_MASK 0x03FF /* All possible flag bits mask. */
-
-/* This structure defines each of the firewall rules. Consists of 3
- parts which are 1) general ARP header stuff 2) match specific
- stuff 3) the target to perform if the rule matches */
-struct arpt_entry
-{
- struct arpt_arp arp;
-
- /* Size of arpt_entry + matches */
- __u16 target_offset;
- /* Size of arpt_entry + matches + target */
- __u16 next_offset;
-
- /* Back pointer */
- unsigned int comefrom;
-
- /* Packet and byte counters. */
- struct xt_counters counters;
-
- /* The matches (if any), then the target. */
- unsigned char elems[0];
-};
-
-/*
- * New IP firewall options for [gs]etsockopt at the RAW IP level.
- * Unlike BSD Linux inherits IP options so you don't have to use a raw
- * socket for this. Instead we check rights in the calls.
- *
- * ATTENTION: check linux/in.h before adding new number here.
- */
-#define ARPT_BASE_CTL 96
-
-#define ARPT_SO_SET_REPLACE (ARPT_BASE_CTL)
-#define ARPT_SO_SET_ADD_COUNTERS (ARPT_BASE_CTL + 1)
-#define ARPT_SO_SET_MAX ARPT_SO_SET_ADD_COUNTERS
-
-#define ARPT_SO_GET_INFO (ARPT_BASE_CTL)
-#define ARPT_SO_GET_ENTRIES (ARPT_BASE_CTL + 1)
-/* #define ARPT_SO_GET_REVISION_MATCH (APRT_BASE_CTL + 2) */
-#define ARPT_SO_GET_REVISION_TARGET (ARPT_BASE_CTL + 3)
-#define ARPT_SO_GET_MAX (ARPT_SO_GET_REVISION_TARGET)
-
-/* The argument to ARPT_SO_GET_INFO */
-struct arpt_getinfo {
- /* Which table: caller fills this in. */
- char name[XT_TABLE_MAXNAMELEN];
-
- /* Kernel fills these in. */
- /* Which hook entry points are valid: bitmask */
- unsigned int valid_hooks;
-
- /* Hook entry points: one per netfilter hook. */
- unsigned int hook_entry[NF_ARP_NUMHOOKS];
-
- /* Underflow points. */
- unsigned int underflow[NF_ARP_NUMHOOKS];
-
- /* Number of entries */
- unsigned int num_entries;
-
- /* Size of entries. */
- unsigned int size;
-};
-
-/* The argument to ARPT_SO_SET_REPLACE. */
-struct arpt_replace {
- /* Which table. */
- char name[XT_TABLE_MAXNAMELEN];
-
- /* Which hook entry points are valid: bitmask. You can't
- change this. */
- unsigned int valid_hooks;
-
- /* Number of entries */
- unsigned int num_entries;
-
- /* Total size of new entries */
- unsigned int size;
-
- /* Hook entry points. */
- unsigned int hook_entry[NF_ARP_NUMHOOKS];
-
- /* Underflow points. */
- unsigned int underflow[NF_ARP_NUMHOOKS];
-
- /* Information about old entries: */
- /* Number of counters (must be equal to current number of entries). */
- unsigned int num_counters;
- /* The old entries' counters. */
- struct xt_counters *counters;
-
- /* The entries (hang off end: not really an array). */
- struct arpt_entry entries[0];
-};
-
-/* The argument to ARPT_SO_GET_ENTRIES. */
-struct arpt_get_entries {
- /* Which table: user fills this in. */
- char name[XT_TABLE_MAXNAMELEN];
-
- /* User fills this in: total entry size. */
- unsigned int size;
-
- /* The entries. */
- struct arpt_entry entrytable[0];
-};
-
-/* Helper functions */
-static __inline__ struct xt_entry_target *arpt_get_target(struct arpt_entry *e)
-{
- return (void *)e + e->target_offset;
-}
-
-/*
- * Main firewall chains definitions and global var's definitions.
- */
-#endif /* _ARPTABLES_H */
diff --git a/linux-headers/include/linux/netfilter_arp/arpt_mangle.h b/linux-headers/include/linux/netfilter_arp/arpt_mangle.h
deleted file mode 100644
index 8c2b16a..0000000
--- a/linux-headers/include/linux/netfilter_arp/arpt_mangle.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _ARPT_MANGLE_H
-#define _ARPT_MANGLE_H
-#include <linux/netfilter_arp/arp_tables.h>
-
-#define ARPT_MANGLE_ADDR_LEN_MAX sizeof(struct in_addr)
-struct arpt_mangle
-{
- char src_devaddr[ARPT_DEV_ADDR_LEN_MAX];
- char tgt_devaddr[ARPT_DEV_ADDR_LEN_MAX];
- union {
- struct in_addr src_ip;
- } u_s;
- union {
- struct in_addr tgt_ip;
- } u_t;
- __u8 flags;
- int target;
-};
-
-#define ARPT_MANGLE_SDEV 0x01
-#define ARPT_MANGLE_TDEV 0x02
-#define ARPT_MANGLE_SIP 0x04
-#define ARPT_MANGLE_TIP 0x08
-#define ARPT_MANGLE_MASK 0x0f
-
-#endif /* _ARPT_MANGLE_H */
diff --git a/linux-headers/include/linux/netfilter_bridge.h b/linux-headers/include/linux/netfilter_bridge.h
deleted file mode 100644
index 231e5f2..0000000
--- a/linux-headers/include/linux/netfilter_bridge.h
+++ /dev/null
@@ -1,28 +0,0 @@
-#ifndef __LINUX_BRIDGE_NETFILTER_H
-#define __LINUX_BRIDGE_NETFILTER_H
-
-/* bridge-specific defines for netfilter.
- */
-
-#include <linux/in.h>
-#include <linux/netfilter.h>
-#include <linux/if_ether.h>
-#include <linux/if_vlan.h>
-#include <linux/if_pppox.h>
-
-/* Bridge Hooks */
-/* After promisc drops, checksum checks. */
-#define NF_BR_PRE_ROUTING 0
-/* If the packet is destined for this box. */
-#define NF_BR_LOCAL_IN 1
-/* If the packet is destined for another interface. */
-#define NF_BR_FORWARD 2
-/* Packets coming from a local process. */
-#define NF_BR_LOCAL_OUT 3
-/* Packets about to hit the wire. */
-#define NF_BR_POST_ROUTING 4
-/* Not really a hook, but used for the ebtables broute table */
-#define NF_BR_BROUTING 5
-#define NF_BR_NUMHOOKS 6
-
-#endif /* __LINUX_BRIDGE_NETFILTER_H */
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_802_3.h b/linux-headers/include/linux/netfilter_bridge/ebt_802_3.h
deleted file mode 100644
index 70028c1..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_802_3.h
+++ /dev/null
@@ -1,63 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_802_3_H
-#define __LINUX_BRIDGE_EBT_802_3_H
-
-#include <linux/types.h>
-#include <linux/if_ether.h>
-
-#define EBT_802_3_SAP 0x01
-#define EBT_802_3_TYPE 0x02
-
-#define EBT_802_3_MATCH "802_3"
-
-/*
- * If frame has DSAP/SSAP value 0xaa you must check the SNAP type
- * to discover what kind of packet we're carrying.
- */
-#define CHECK_TYPE 0xaa
-
-/*
- * Control field may be one or two bytes. If the first byte has
- * the value 0x03 then the entire length is one byte, otherwise it is two.
- * One byte controls are used in Unnumbered Information frames.
- * Two byte controls are used in Numbered Information frames.
- */
-#define IS_UI 0x03
-
-#define EBT_802_3_MASK (EBT_802_3_SAP | EBT_802_3_TYPE | EBT_802_3)
-
-/* ui has one byte ctrl, ni has two */
-struct hdr_ui {
- __u8 dsap;
- __u8 ssap;
- __u8 ctrl;
- __u8 orig[3];
- __be16 type;
-};
-
-struct hdr_ni {
- __u8 dsap;
- __u8 ssap;
- __be16 ctrl;
- __u8 orig[3];
- __be16 type;
-};
-
-struct ebt_802_3_hdr {
- __u8 daddr[ETH_ALEN];
- __u8 saddr[ETH_ALEN];
- __be16 len;
- union {
- struct hdr_ui ui;
- struct hdr_ni ni;
- } llc;
-};
-
-
-struct ebt_802_3_info {
- __u8 sap;
- __be16 type;
- __u8 bitmask;
- __u8 invflags;
-};
-
-#endif /* __LINUX_BRIDGE_EBT_802_3_H */
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_among.h b/linux-headers/include/linux/netfilter_bridge/ebt_among.h
deleted file mode 100644
index bd4e3ad..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_among.h
+++ /dev/null
@@ -1,64 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_AMONG_H
-#define __LINUX_BRIDGE_EBT_AMONG_H
-
-#include <linux/types.h>
-
-#define EBT_AMONG_DST 0x01
-#define EBT_AMONG_SRC 0x02
-
-/* Grzegorz Borowiak <grzes@gnu.univ.gda.pl> 2003
- *
- * Write-once-read-many hash table, used for checking if a given
- * MAC address belongs to a set or not and possibly for checking
- * if it is related with a given IPv4 address.
- *
- * The hash value of an address is its last byte.
- *
- * In real-world ethernet addresses, values of the last byte are
- * evenly distributed and there is no need to consider other bytes.
- * It would only slow the routines down.
- *
- * For MAC address comparison speedup reasons, we introduce a trick.
- * MAC address is mapped onto an array of two 32-bit integers.
- * This pair of integers is compared with MAC addresses in the
- * hash table, which are stored also in form of pairs of integers
- * (in `cmp' array). This is quick as it requires only two elementary
- * number comparisons in worst case. Further, we take advantage of
- * fact that entropy of 3 last bytes of address is larger than entropy
- * of 3 first bytes. So first we compare 4 last bytes of addresses and
- * if they are the same we compare 2 first.
- *
- * Yes, it is a memory overhead, but in 2003 AD, who cares?
- */
-
-struct ebt_mac_wormhash_tuple {
- __u32 cmp[2];
- __be32 ip;
-};
-
-struct ebt_mac_wormhash {
- int table[257];
- int poolsize;
- struct ebt_mac_wormhash_tuple pool[0];
-};
-
-#define ebt_mac_wormhash_size(x) ((x) ? sizeof(struct ebt_mac_wormhash) \
- + (x)->poolsize * sizeof(struct ebt_mac_wormhash_tuple) : 0)
-
-struct ebt_among_info {
- int wh_dst_ofs;
- int wh_src_ofs;
- int bitmask;
-};
-
-#define EBT_AMONG_DST_NEG 0x1
-#define EBT_AMONG_SRC_NEG 0x2
-
-#define ebt_among_wh_dst(x) ((x)->wh_dst_ofs ? \
- (struct ebt_mac_wormhash*)((char*)(x) + (x)->wh_dst_ofs) : NULL)
-#define ebt_among_wh_src(x) ((x)->wh_src_ofs ? \
- (struct ebt_mac_wormhash*)((char*)(x) + (x)->wh_src_ofs) : NULL)
-
-#define EBT_AMONG_MATCH "among"
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_arp.h b/linux-headers/include/linux/netfilter_bridge/ebt_arp.h
deleted file mode 100644
index dd4df25..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_arp.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_ARP_H
-#define __LINUX_BRIDGE_EBT_ARP_H
-
-#include <linux/types.h>
-#include <linux/if_ether.h>
-
-#define EBT_ARP_OPCODE 0x01
-#define EBT_ARP_HTYPE 0x02
-#define EBT_ARP_PTYPE 0x04
-#define EBT_ARP_SRC_IP 0x08
-#define EBT_ARP_DST_IP 0x10
-#define EBT_ARP_SRC_MAC 0x20
-#define EBT_ARP_DST_MAC 0x40
-#define EBT_ARP_GRAT 0x80
-#define EBT_ARP_MASK (EBT_ARP_OPCODE | EBT_ARP_HTYPE | EBT_ARP_PTYPE | \
- EBT_ARP_SRC_IP | EBT_ARP_DST_IP | EBT_ARP_SRC_MAC | EBT_ARP_DST_MAC | \
- EBT_ARP_GRAT)
-#define EBT_ARP_MATCH "arp"
-
-struct ebt_arp_info
-{
- __be16 htype;
- __be16 ptype;
- __be16 opcode;
- __be32 saddr;
- __be32 smsk;
- __be32 daddr;
- __be32 dmsk;
- unsigned char smaddr[ETH_ALEN];
- unsigned char smmsk[ETH_ALEN];
- unsigned char dmaddr[ETH_ALEN];
- unsigned char dmmsk[ETH_ALEN];
- __u8 bitmask;
- __u8 invflags;
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_arpreply.h b/linux-headers/include/linux/netfilter_bridge/ebt_arpreply.h
deleted file mode 100644
index 6fee340..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_arpreply.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_ARPREPLY_H
-#define __LINUX_BRIDGE_EBT_ARPREPLY_H
-
-#include <linux/if_ether.h>
-
-struct ebt_arpreply_info {
- unsigned char mac[ETH_ALEN];
- int target;
-};
-#define EBT_ARPREPLY_TARGET "arpreply"
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_ip.h b/linux-headers/include/linux/netfilter_bridge/ebt_ip.h
deleted file mode 100644
index c4bbc41..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_ip.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * ebt_ip
- *
- * Authors:
- * Bart De Schuymer <bart.de.schuymer@pandora.be>
- *
- * April, 2002
- *
- * Changes:
- * added ip-sport and ip-dport
- * Innominate Security Technologies AG <mhopf@innominate.com>
- * September, 2002
- */
-
-#ifndef __LINUX_BRIDGE_EBT_IP_H
-#define __LINUX_BRIDGE_EBT_IP_H
-
-#include <linux/types.h>
-
-#define EBT_IP_SOURCE 0x01
-#define EBT_IP_DEST 0x02
-#define EBT_IP_TOS 0x04
-#define EBT_IP_PROTO 0x08
-#define EBT_IP_SPORT 0x10
-#define EBT_IP_DPORT 0x20
-#define EBT_IP_MASK (EBT_IP_SOURCE | EBT_IP_DEST | EBT_IP_TOS | EBT_IP_PROTO |\
- EBT_IP_SPORT | EBT_IP_DPORT )
-#define EBT_IP_MATCH "ip"
-
-/* the same values are used for the invflags */
-struct ebt_ip_info {
- __be32 saddr;
- __be32 daddr;
- __be32 smsk;
- __be32 dmsk;
- __u8 tos;
- __u8 protocol;
- __u8 bitmask;
- __u8 invflags;
- __u16 sport[2];
- __u16 dport[2];
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_ip6.h b/linux-headers/include/linux/netfilter_bridge/ebt_ip6.h
deleted file mode 100644
index a062f0c..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_ip6.h
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * ebt_ip6
- *
- * Authors:
- * Kuo-Lang Tseng <kuo-lang.tseng@intel.com>
- * Manohar Castelino <manohar.r.castelino@intel.com>
- *
- * Jan 11, 2008
- *
- */
-
-#ifndef __LINUX_BRIDGE_EBT_IP6_H
-#define __LINUX_BRIDGE_EBT_IP6_H
-
-#include <linux/types.h>
-#include <linux/in6.h>
-
-#define EBT_IP6_SOURCE 0x01
-#define EBT_IP6_DEST 0x02
-#define EBT_IP6_TCLASS 0x04
-#define EBT_IP6_PROTO 0x08
-#define EBT_IP6_SPORT 0x10
-#define EBT_IP6_DPORT 0x20
-#define EBT_IP6_ICMP6 0x40
-
-#define EBT_IP6_MASK (EBT_IP6_SOURCE | EBT_IP6_DEST | EBT_IP6_TCLASS |\
- EBT_IP6_PROTO | EBT_IP6_SPORT | EBT_IP6_DPORT | \
- EBT_IP6_ICMP6)
-#define EBT_IP6_MATCH "ip6"
-
-/* the same values are used for the invflags */
-struct ebt_ip6_info {
- struct in6_addr saddr;
- struct in6_addr daddr;
- struct in6_addr smsk;
- struct in6_addr dmsk;
- __u8 tclass;
- __u8 protocol;
- __u8 bitmask;
- __u8 invflags;
- union {
- __u16 sport[2];
- __u8 icmpv6_type[2];
- };
- union {
- __u16 dport[2];
- __u8 icmpv6_code[2];
- };
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_limit.h b/linux-headers/include/linux/netfilter_bridge/ebt_limit.h
deleted file mode 100644
index 66d80b3..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_limit.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_LIMIT_H
-#define __LINUX_BRIDGE_EBT_LIMIT_H
-
-#include <linux/types.h>
-
-#define EBT_LIMIT_MATCH "limit"
-
-/* timings are in milliseconds. */
-#define EBT_LIMIT_SCALE 10000
-
-/* 1/10,000 sec period => max of 10,000/sec. Min rate is then 429490
- seconds, or one every 59 hours. */
-
-struct ebt_limit_info {
- __u32 avg; /* Average secs between packets * scale */
- __u32 burst; /* Period multiplier for upper limit. */
-
- /* Used internally by the kernel */
- unsigned long prev;
- __u32 credit;
- __u32 credit_cap, cost;
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_log.h b/linux-headers/include/linux/netfilter_bridge/ebt_log.h
deleted file mode 100644
index 7e7f1d1..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_log.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_LOG_H
-#define __LINUX_BRIDGE_EBT_LOG_H
-
-#include <linux/types.h>
-
-#define EBT_LOG_IP 0x01 /* if the frame is made by ip, log the ip information */
-#define EBT_LOG_ARP 0x02
-#define EBT_LOG_NFLOG 0x04
-#define EBT_LOG_IP6 0x08
-#define EBT_LOG_MASK (EBT_LOG_IP | EBT_LOG_ARP | EBT_LOG_IP6)
-#define EBT_LOG_PREFIX_SIZE 30
-#define EBT_LOG_WATCHER "log"
-
-struct ebt_log_info {
- __u8 loglevel;
- __u8 prefix[EBT_LOG_PREFIX_SIZE];
- __u32 bitmask;
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_mark_m.h b/linux-headers/include/linux/netfilter_bridge/ebt_mark_m.h
deleted file mode 100644
index 410f9e5..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_mark_m.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_MARK_M_H
-#define __LINUX_BRIDGE_EBT_MARK_M_H
-
-#include <linux/types.h>
-
-#define EBT_MARK_AND 0x01
-#define EBT_MARK_OR 0x02
-#define EBT_MARK_MASK (EBT_MARK_AND | EBT_MARK_OR)
-struct ebt_mark_m_info {
- unsigned long mark, mask;
- __u8 invert;
- __u8 bitmask;
-};
-#define EBT_MARK_MATCH "mark_m"
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_mark_t.h b/linux-headers/include/linux/netfilter_bridge/ebt_mark_t.h
deleted file mode 100644
index 7d5a268..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_mark_t.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_MARK_T_H
-#define __LINUX_BRIDGE_EBT_MARK_T_H
-
-/* The target member is reused for adding new actions, the
- * value of the real target is -1 to -NUM_STANDARD_TARGETS.
- * For backward compatibility, the 4 lsb (2 would be enough,
- * but let's play it safe) are kept to designate this target.
- * The remaining bits designate the action. By making the set
- * action 0xfffffff0, the result will look ok for older
- * versions. [September 2006] */
-#define MARK_SET_VALUE (0xfffffff0)
-#define MARK_OR_VALUE (0xffffffe0)
-#define MARK_AND_VALUE (0xffffffd0)
-#define MARK_XOR_VALUE (0xffffffc0)
-
-struct ebt_mark_t_info {
- unsigned long mark;
- /* EBT_ACCEPT, EBT_DROP, EBT_CONTINUE or EBT_RETURN */
- int target;
-};
-#define EBT_MARK_TARGET "mark"
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_nat.h b/linux-headers/include/linux/netfilter_bridge/ebt_nat.h
deleted file mode 100644
index c990d74..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_nat.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_NAT_H
-#define __LINUX_BRIDGE_EBT_NAT_H
-
-#include <linux/if_ether.h>
-
-#define NAT_ARP_BIT (0x00000010)
-struct ebt_nat_info {
- unsigned char mac[ETH_ALEN];
- /* EBT_ACCEPT, EBT_DROP, EBT_CONTINUE or EBT_RETURN */
- int target;
-};
-#define EBT_SNAT_TARGET "snat"
-#define EBT_DNAT_TARGET "dnat"
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_nflog.h b/linux-headers/include/linux/netfilter_bridge/ebt_nflog.h
deleted file mode 100644
index df829fc..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_nflog.h
+++ /dev/null
@@ -1,23 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_NFLOG_H
-#define __LINUX_BRIDGE_EBT_NFLOG_H
-
-#include <linux/types.h>
-
-#define EBT_NFLOG_MASK 0x0
-
-#define EBT_NFLOG_PREFIX_SIZE 64
-#define EBT_NFLOG_WATCHER "nflog"
-
-#define EBT_NFLOG_DEFAULT_GROUP 0x1
-#define EBT_NFLOG_DEFAULT_THRESHOLD 1
-
-struct ebt_nflog_info {
- __u32 len;
- __u16 group;
- __u16 threshold;
- __u16 flags;
- __u16 pad;
- char prefix[EBT_NFLOG_PREFIX_SIZE];
-};
-
-#endif /* __LINUX_BRIDGE_EBT_NFLOG_H */
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_pkttype.h b/linux-headers/include/linux/netfilter_bridge/ebt_pkttype.h
deleted file mode 100644
index c241bad..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_pkttype.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_PKTTYPE_H
-#define __LINUX_BRIDGE_EBT_PKTTYPE_H
-
-#include <linux/types.h>
-
-struct ebt_pkttype_info {
- __u8 pkt_type;
- __u8 invert;
-};
-#define EBT_PKTTYPE_MATCH "pkttype"
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_redirect.h b/linux-headers/include/linux/netfilter_bridge/ebt_redirect.h
deleted file mode 100644
index dd9622c..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_redirect.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_REDIRECT_H
-#define __LINUX_BRIDGE_EBT_REDIRECT_H
-
-struct ebt_redirect_info {
- /* EBT_ACCEPT, EBT_DROP, EBT_CONTINUE or EBT_RETURN */
- int target;
-};
-#define EBT_REDIRECT_TARGET "redirect"
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_stp.h b/linux-headers/include/linux/netfilter_bridge/ebt_stp.h
deleted file mode 100644
index 1025b9f..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_stp.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_STP_H
-#define __LINUX_BRIDGE_EBT_STP_H
-
-#include <linux/types.h>
-
-#define EBT_STP_TYPE 0x0001
-
-#define EBT_STP_FLAGS 0x0002
-#define EBT_STP_ROOTPRIO 0x0004
-#define EBT_STP_ROOTADDR 0x0008
-#define EBT_STP_ROOTCOST 0x0010
-#define EBT_STP_SENDERPRIO 0x0020
-#define EBT_STP_SENDERADDR 0x0040
-#define EBT_STP_PORT 0x0080
-#define EBT_STP_MSGAGE 0x0100
-#define EBT_STP_MAXAGE 0x0200
-#define EBT_STP_HELLOTIME 0x0400
-#define EBT_STP_FWDD 0x0800
-
-#define EBT_STP_MASK 0x0fff
-#define EBT_STP_CONFIG_MASK 0x0ffe
-
-#define EBT_STP_MATCH "stp"
-
-struct ebt_stp_config_info {
- __u8 flags;
- __u16 root_priol, root_priou;
- char root_addr[6], root_addrmsk[6];
- __u32 root_costl, root_costu;
- __u16 sender_priol, sender_priou;
- char sender_addr[6], sender_addrmsk[6];
- __u16 portl, portu;
- __u16 msg_agel, msg_ageu;
- __u16 max_agel, max_ageu;
- __u16 hello_timel, hello_timeu;
- __u16 forward_delayl, forward_delayu;
-};
-
-struct ebt_stp_info {
- __u8 type;
- struct ebt_stp_config_info config;
- __u16 bitmask;
- __u16 invflags;
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebt_vlan.h b/linux-headers/include/linux/netfilter_bridge/ebt_vlan.h
deleted file mode 100644
index 967d1d5..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebt_vlan.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef __LINUX_BRIDGE_EBT_VLAN_H
-#define __LINUX_BRIDGE_EBT_VLAN_H
-
-#include <linux/types.h>
-
-#define EBT_VLAN_ID 0x01
-#define EBT_VLAN_PRIO 0x02
-#define EBT_VLAN_ENCAP 0x04
-#define EBT_VLAN_MASK (EBT_VLAN_ID | EBT_VLAN_PRIO | EBT_VLAN_ENCAP)
-#define EBT_VLAN_MATCH "vlan"
-
-struct ebt_vlan_info {
- __u16 id; /* VLAN ID {1-4095} */
- __u8 prio; /* VLAN User Priority {0-7} */
- __be16 encap; /* VLAN Encapsulated frame code {0-65535} */
- __u8 bitmask; /* Args bitmask bit 1=1 - ID arg,
- bit 2=1 User-Priority arg, bit 3=1 encap*/
- __u8 invflags; /* Inverse bitmask bit 1=1 - inversed ID arg,
- bit 2=1 - inversed Pirority arg */
-};
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_bridge/ebtables.h b/linux-headers/include/linux/netfilter_bridge/ebtables.h
deleted file mode 100644
index 7086187..0000000
--- a/linux-headers/include/linux/netfilter_bridge/ebtables.h
+++ /dev/null
@@ -1,268 +0,0 @@
-/*
- * ebtables
- *
- * Authors:
- * Bart De Schuymer <bdschuym@pandora.be>
- *
- * ebtables.c,v 2.0, April, 2002
- *
- * This code is strongly inspired by the iptables code which is
- * Copyright (C) 1999 Paul `Rusty' Russell & Michael J. Neuling
- */
-
-#ifndef __LINUX_BRIDGE_EFF_H
-#define __LINUX_BRIDGE_EFF_H
-#include <linux/types.h>
-#include <linux/if.h>
-#include <linux/netfilter_bridge.h>
-
-#define EBT_TABLE_MAXNAMELEN 32
-#define EBT_CHAIN_MAXNAMELEN EBT_TABLE_MAXNAMELEN
-#define EBT_FUNCTION_MAXNAMELEN EBT_TABLE_MAXNAMELEN
-
-/* verdicts >0 are "branches" */
-#define EBT_ACCEPT -1
-#define EBT_DROP -2
-#define EBT_CONTINUE -3
-#define EBT_RETURN -4
-#define NUM_STANDARD_TARGETS 4
-/* ebtables target modules store the verdict inside an int. We can
- * reclaim a part of this int for backwards compatible extensions.
- * The 4 lsb are more than enough to store the verdict. */
-#define EBT_VERDICT_BITS 0x0000000F
-
-struct xt_match;
-struct xt_target;
-
-struct ebt_counter {
- __u64 pcnt;
- __u64 bcnt;
-};
-
-struct ebt_replace {
- char name[EBT_TABLE_MAXNAMELEN];
- unsigned int valid_hooks;
- /* nr of rules in the table */
- unsigned int nentries;
- /* total size of the entries */
- unsigned int entries_size;
- /* start of the chains */
- struct ebt_entries *hook_entry[NF_BR_NUMHOOKS];
- /* nr of counters userspace expects back */
- unsigned int num_counters;
- /* where the kernel will put the old counters */
- struct ebt_counter *counters;
- char *entries;
-};
-
-struct ebt_replace_kernel {
- char name[EBT_TABLE_MAXNAMELEN];
- unsigned int valid_hooks;
- /* nr of rules in the table */
- unsigned int nentries;
- /* total size of the entries */
- unsigned int entries_size;
- /* start of the chains */
- struct ebt_entries *hook_entry[NF_BR_NUMHOOKS];
- /* nr of counters userspace expects back */
- unsigned int num_counters;
- /* where the kernel will put the old counters */
- struct ebt_counter *counters;
- char *entries;
-};
-
-struct ebt_entries {
- /* this field is always set to zero
- * See EBT_ENTRY_OR_ENTRIES.
- * Must be same size as ebt_entry.bitmask */
- unsigned int distinguisher;
- /* the chain name */
- char name[EBT_CHAIN_MAXNAMELEN];
- /* counter offset for this chain */
- unsigned int counter_offset;
- /* one standard (accept, drop, return) per hook */
- int policy;
- /* nr. of entries */
- unsigned int nentries;
- /* entry list */
- char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace))));
-};
-
-/* used for the bitmask of struct ebt_entry */
-
-/* This is a hack to make a difference between an ebt_entry struct and an
- * ebt_entries struct when traversing the entries from start to end.
- * Using this simplifies the code a lot, while still being able to use
- * ebt_entries.
- * Contrary, iptables doesn't use something like ebt_entries and therefore uses
- * different techniques for naming the policy and such. So, iptables doesn't
- * need a hack like this.
- */
-#define EBT_ENTRY_OR_ENTRIES 0x01
-/* these are the normal masks */
-#define EBT_NOPROTO 0x02
-#define EBT_802_3 0x04
-#define EBT_SOURCEMAC 0x08
-#define EBT_DESTMAC 0x10
-#define EBT_F_MASK (EBT_NOPROTO | EBT_802_3 | EBT_SOURCEMAC | EBT_DESTMAC \
- | EBT_ENTRY_OR_ENTRIES)
-
-#define EBT_IPROTO 0x01
-#define EBT_IIN 0x02
-#define EBT_IOUT 0x04
-#define EBT_ISOURCE 0x8
-#define EBT_IDEST 0x10
-#define EBT_ILOGICALIN 0x20
-#define EBT_ILOGICALOUT 0x40
-#define EBT_INV_MASK (EBT_IPROTO | EBT_IIN | EBT_IOUT | EBT_ILOGICALIN \
- | EBT_ILOGICALOUT | EBT_ISOURCE | EBT_IDEST)
-
-struct ebt_entry_match {
- union {
- char name[EBT_FUNCTION_MAXNAMELEN];
- struct xt_match *match;
- } u;
- /* size of data */
- unsigned int match_size;
- unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace))));
-};
-
-struct ebt_entry_watcher {
- union {
- char name[EBT_FUNCTION_MAXNAMELEN];
- struct xt_target *watcher;
- } u;
- /* size of data */
- unsigned int watcher_size;
- unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace))));
-};
-
-struct ebt_entry_target {
- union {
- char name[EBT_FUNCTION_MAXNAMELEN];
- struct xt_target *target;
- } u;
- /* size of data */
- unsigned int target_size;
- unsigned char data[0] __attribute__ ((aligned (__alignof__(struct ebt_replace))));
-};
-
-#define EBT_STANDARD_TARGET "standard"
-struct ebt_standard_target {
- struct ebt_entry_target target;
- int verdict;
-};
-
-/* one entry */
-struct ebt_entry {
- /* this needs to be the first field */
- unsigned int bitmask;
- unsigned int invflags;
- __be16 ethproto;
- /* the physical in-dev */
- char in[IFNAMSIZ];
- /* the logical in-dev */
- char logical_in[IFNAMSIZ];
- /* the physical out-dev */
- char out[IFNAMSIZ];
- /* the logical out-dev */
- char logical_out[IFNAMSIZ];
- unsigned char sourcemac[ETH_ALEN];
- unsigned char sourcemsk[ETH_ALEN];
- unsigned char destmac[ETH_ALEN];
- unsigned char destmsk[ETH_ALEN];
- /* sizeof ebt_entry + matches */
- unsigned int watchers_offset;
- /* sizeof ebt_entry + matches + watchers */
- unsigned int target_offset;
- /* sizeof ebt_entry + matches + watchers + target */
- unsigned int next_offset;
- unsigned char elems[0] __attribute__ ((aligned (__alignof__(struct ebt_replace))));
-};
-
-/* {g,s}etsockopt numbers */
-#define EBT_BASE_CTL 128
-
-#define EBT_SO_SET_ENTRIES (EBT_BASE_CTL)
-#define EBT_SO_SET_COUNTERS (EBT_SO_SET_ENTRIES+1)
-#define EBT_SO_SET_MAX (EBT_SO_SET_COUNTERS+1)
-
-#define EBT_SO_GET_INFO (EBT_BASE_CTL)
-#define EBT_SO_GET_ENTRIES (EBT_SO_GET_INFO+1)
-#define EBT_SO_GET_INIT_INFO (EBT_SO_GET_ENTRIES+1)
-#define EBT_SO_GET_INIT_ENTRIES (EBT_SO_GET_INIT_INFO+1)
-#define EBT_SO_GET_MAX (EBT_SO_GET_INIT_ENTRIES+1)
-
-
-/* blatently stolen from ip_tables.h
- * fn returns 0 to continue iteration */
-#define EBT_MATCH_ITERATE(e, fn, args...) \
-({ \
- unsigned int __i; \
- int __ret = 0; \
- struct ebt_entry_match *__match; \
- \
- for (__i = sizeof(struct ebt_entry); \
- __i < (e)->watchers_offset; \
- __i += __match->match_size + \
- sizeof(struct ebt_entry_match)) { \
- __match = (void *)(e) + __i; \
- \
- __ret = fn(__match , ## args); \
- if (__ret != 0) \
- break; \
- } \
- if (__ret == 0) { \
- if (__i != (e)->watchers_offset) \
- __ret = -EINVAL; \
- } \
- __ret; \
-})
-
-#define EBT_WATCHER_ITERATE(e, fn, args...) \
-({ \
- unsigned int __i; \
- int __ret = 0; \
- struct ebt_entry_watcher *__watcher; \
- \
- for (__i = e->watchers_offset; \
- __i < (e)->target_offset; \
- __i += __watcher->watcher_size + \
- sizeof(struct ebt_entry_watcher)) { \
- __watcher = (void *)(e) + __i; \
- \
- __ret = fn(__watcher , ## args); \
- if (__ret != 0) \
- break; \
- } \
- if (__ret == 0) { \
- if (__i != (e)->target_offset) \
- __ret = -EINVAL; \
- } \
- __ret; \
-})
-
-#define EBT_ENTRY_ITERATE(entries, size, fn, args...) \
-({ \
- unsigned int __i; \
- int __ret = 0; \
- struct ebt_entry *__entry; \
- \
- for (__i = 0; __i < (size);) { \
- __entry = (void *)(entries) + __i; \
- __ret = fn(__entry , ## args); \
- if (__ret != 0) \
- break; \
- if (__entry->bitmask != 0) \
- __i += __entry->next_offset; \
- else \
- __i += sizeof(struct ebt_entries); \
- } \
- if (__ret == 0) { \
- if (__i != (size)) \
- __ret = -EINVAL; \
- } \
- __ret; \
-})
-
-#endif /* __LINUX_BRIDGE_EFF_H */
diff --git a/linux-headers/include/linux/netfilter_decnet.h b/linux-headers/include/linux/netfilter_decnet.h
deleted file mode 100644
index f1e80a9..0000000
--- a/linux-headers/include/linux/netfilter_decnet.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef __LINUX_DECNET_NETFILTER_H
-#define __LINUX_DECNET_NETFILTER_H
-
-/* DECnet-specific defines for netfilter.
- * This file (C) Steve Whitehouse 1999 derived from the
- * ipv4 netfilter header file which is
- * (C)1998 Rusty Russell -- This code is GPL.
- */
-
-#include <linux/netfilter.h>
-
-/* only for userspace compatibility */
-
-#include <limits.h> /* for INT_MIN, INT_MAX */
-
-/* IP Cache bits. */
-/* Src IP address. */
-#define NFC_DN_SRC 0x0001
-/* Dest IP address. */
-#define NFC_DN_DST 0x0002
-/* Input device. */
-#define NFC_DN_IF_IN 0x0004
-/* Output device. */
-#define NFC_DN_IF_OUT 0x0008
-
-/* DECnet Hooks */
-/* After promisc drops, checksum checks. */
-#define NF_DN_PRE_ROUTING 0
-/* If the packet is destined for this box. */
-#define NF_DN_LOCAL_IN 1
-/* If the packet is destined for another interface. */
-#define NF_DN_FORWARD 2
-/* Packets coming from a local process. */
-#define NF_DN_LOCAL_OUT 3
-/* Packets about to hit the wire. */
-#define NF_DN_POST_ROUTING 4
-/* Input Hello Packets */
-#define NF_DN_HELLO 5
-/* Input Routing Packets */
-#define NF_DN_ROUTE 6
-#define NF_DN_NUMHOOKS 7
-
-enum nf_dn_hook_priorities {
- NF_DN_PRI_FIRST = INT_MIN,
- NF_DN_PRI_CONNTRACK = -200,
- NF_DN_PRI_MANGLE = -150,
- NF_DN_PRI_NAT_DST = -100,
- NF_DN_PRI_FILTER = 0,
- NF_DN_PRI_NAT_SRC = 100,
- NF_DN_PRI_DNRTMSG = 200,
- NF_DN_PRI_LAST = INT_MAX,
-};
-
-struct nf_dn_rtmsg {
- int nfdn_ifindex;
-};
-
-#define NFDN_RTMSG(r) ((unsigned char *)(r) + NLMSG_ALIGN(sizeof(struct nf_dn_rtmsg)))
-
-/* backwards compatibility for userspace */
-#define DNRMG_L1_GROUP 0x01
-#define DNRMG_L2_GROUP 0x02
-
-enum {
- DNRNG_NLGRP_NONE,
-#define DNRNG_NLGRP_NONE DNRNG_NLGRP_NONE
- DNRNG_NLGRP_L1,
-#define DNRNG_NLGRP_L1 DNRNG_NLGRP_L1
- DNRNG_NLGRP_L2,
-#define DNRNG_NLGRP_L2 DNRNG_NLGRP_L2
- __DNRNG_NLGRP_MAX
-};
-#define DNRNG_NLGRP_MAX (__DNRNG_NLGRP_MAX - 1)
-
-#endif /*__LINUX_DECNET_NETFILTER_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv4.h b/linux-headers/include/linux/netfilter_ipv4.h
deleted file mode 100644
index a5f4dc7..0000000
--- a/linux-headers/include/linux/netfilter_ipv4.h
+++ /dev/null
@@ -1,79 +0,0 @@
-/* IPv4-specific defines for netfilter.
- * (C)1998 Rusty Russell -- This code is GPL.
- */
-#ifndef __LINUX_IP_NETFILTER_H
-#define __LINUX_IP_NETFILTER_H
-
-
-#include <linux/netfilter.h>
-
-/* only for userspace compatibility */
-
-#include <limits.h> /* for INT_MIN, INT_MAX */
-
-/* IP Cache bits. */
-/* Src IP address. */
-#define NFC_IP_SRC 0x0001
-/* Dest IP address. */
-#define NFC_IP_DST 0x0002
-/* Input device. */
-#define NFC_IP_IF_IN 0x0004
-/* Output device. */
-#define NFC_IP_IF_OUT 0x0008
-/* TOS. */
-#define NFC_IP_TOS 0x0010
-/* Protocol. */
-#define NFC_IP_PROTO 0x0020
-/* IP options. */
-#define NFC_IP_OPTIONS 0x0040
-/* Frag & flags. */
-#define NFC_IP_FRAG 0x0080
-
-/* Per-protocol information: only matters if proto match. */
-/* TCP flags. */
-#define NFC_IP_TCPFLAGS 0x0100
-/* Source port. */
-#define NFC_IP_SRC_PT 0x0200
-/* Dest port. */
-#define NFC_IP_DST_PT 0x0400
-/* Something else about the proto */
-#define NFC_IP_PROTO_UNKNOWN 0x2000
-
-/* IP Hooks */
-/* After promisc drops, checksum checks. */
-#define NF_IP_PRE_ROUTING 0
-/* If the packet is destined for this box. */
-#define NF_IP_LOCAL_IN 1
-/* If the packet is destined for another interface. */
-#define NF_IP_FORWARD 2
-/* Packets coming from a local process. */
-#define NF_IP_LOCAL_OUT 3
-/* Packets about to hit the wire. */
-#define NF_IP_POST_ROUTING 4
-#define NF_IP_NUMHOOKS 5
-
-enum nf_ip_hook_priorities {
- NF_IP_PRI_FIRST = INT_MIN,
- NF_IP_PRI_CONNTRACK_DEFRAG = -400,
- NF_IP_PRI_RAW = -300,
- NF_IP_PRI_SELINUX_FIRST = -225,
- NF_IP_PRI_CONNTRACK = -200,
- NF_IP_PRI_MANGLE = -150,
- NF_IP_PRI_NAT_DST = -100,
- NF_IP_PRI_FILTER = 0,
- NF_IP_PRI_SECURITY = 50,
- NF_IP_PRI_NAT_SRC = 100,
- NF_IP_PRI_SELINUX_LAST = 225,
- NF_IP_PRI_CONNTRACK_HELPER = 300,
- NF_IP_PRI_CONNTRACK_CONFIRM = INT_MAX,
- NF_IP_PRI_LAST = INT_MAX,
-};
-
-/* Arguments for setsockopt SOL_IP: */
-/* 2.0 firewalling went from 64 through 71 (and +256, +512, etc). */
-/* 2.2 firewalling (+ masq) went from 64 through 76 */
-/* 2.4 firewalling went 64 through 67. */
-#define SO_ORIGINAL_DST 80
-
-
-#endif /* __LINUX_IP_NETFILTER_H */
diff --git a/linux-headers/include/linux/netfilter_ipv4/ip_tables.h b/linux-headers/include/linux/netfilter_ipv4/ip_tables.h
deleted file mode 100644
index 456fb86..0000000
--- a/linux-headers/include/linux/netfilter_ipv4/ip_tables.h
+++ /dev/null
@@ -1,228 +0,0 @@
-/*
- * 25-Jul-1998 Major changes to allow for ip chain table
- *
- * 3-Jan-2000 Named tables to allow packet selection for different uses.
- */
-
-/*
- * Format of an IP firewall descriptor
- *
- * src, dst, src_mask, dst_mask are always stored in network byte order.
- * flags are stored in host byte order (of course).
- * Port numbers are stored in HOST byte order.
- */
-
-#ifndef _IPTABLES_H
-#define _IPTABLES_H
-
-#include <linux/types.h>
-
-#include <linux/if.h>
-#include <linux/netfilter_ipv4.h>
-
-#include <linux/netfilter/x_tables.h>
-
-#define IPT_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
-#define IPT_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
-#define ipt_match xt_match
-#define ipt_target xt_target
-#define ipt_table xt_table
-#define ipt_get_revision xt_get_revision
-#define ipt_entry_match xt_entry_match
-#define ipt_entry_target xt_entry_target
-#define ipt_standard_target xt_standard_target
-#define ipt_error_target xt_error_target
-#define ipt_counters xt_counters
-#define IPT_CONTINUE XT_CONTINUE
-#define IPT_RETURN XT_RETURN
-
-/* This group is older than old (iptables < v1.4.0-rc1~89) */
-#include <linux/netfilter/xt_tcpudp.h>
-#define ipt_udp xt_udp
-#define ipt_tcp xt_tcp
-#define IPT_TCP_INV_SRCPT XT_TCP_INV_SRCPT
-#define IPT_TCP_INV_DSTPT XT_TCP_INV_DSTPT
-#define IPT_TCP_INV_FLAGS XT_TCP_INV_FLAGS
-#define IPT_TCP_INV_OPTION XT_TCP_INV_OPTION
-#define IPT_TCP_INV_MASK XT_TCP_INV_MASK
-#define IPT_UDP_INV_SRCPT XT_UDP_INV_SRCPT
-#define IPT_UDP_INV_DSTPT XT_UDP_INV_DSTPT
-#define IPT_UDP_INV_MASK XT_UDP_INV_MASK
-
-/* The argument to IPT_SO_ADD_COUNTERS. */
-#define ipt_counters_info xt_counters_info
-/* Standard return verdict, or do jump. */
-#define IPT_STANDARD_TARGET XT_STANDARD_TARGET
-/* Error verdict. */
-#define IPT_ERROR_TARGET XT_ERROR_TARGET
-
-/* fn returns 0 to continue iteration */
-#define IPT_MATCH_ITERATE(e, fn, args...) \
- XT_MATCH_ITERATE(struct ipt_entry, e, fn, ## args)
-
-/* fn returns 0 to continue iteration */
-#define IPT_ENTRY_ITERATE(entries, size, fn, args...) \
- XT_ENTRY_ITERATE(struct ipt_entry, entries, size, fn, ## args)
-
-/* Yes, Virginia, you have to zero the padding. */
-struct ipt_ip {
- /* Source and destination IP addr */
- struct in_addr src, dst;
- /* Mask for src and dest IP addr */
- struct in_addr smsk, dmsk;
- char iniface[IFNAMSIZ], outiface[IFNAMSIZ];
- unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ];
-
- /* Protocol, 0 = ANY */
- __u16 proto;
-
- /* Flags word */
- __u8 flags;
- /* Inverse flags */
- __u8 invflags;
-};
-
-/* Values for "flag" field in struct ipt_ip (general ip structure). */
-#define IPT_F_FRAG 0x01 /* Set if rule is a fragment rule */
-#define IPT_F_GOTO 0x02 /* Set if jump is a goto */
-#define IPT_F_MASK 0x03 /* All possible flag bits mask. */
-
-/* Values for "inv" field in struct ipt_ip. */
-#define IPT_INV_VIA_IN 0x01 /* Invert the sense of IN IFACE. */
-#define IPT_INV_VIA_OUT 0x02 /* Invert the sense of OUT IFACE */
-#define IPT_INV_TOS 0x04 /* Invert the sense of TOS. */
-#define IPT_INV_SRCIP 0x08 /* Invert the sense of SRC IP. */
-#define IPT_INV_DSTIP 0x10 /* Invert the sense of DST OP. */
-#define IPT_INV_FRAG 0x20 /* Invert the sense of FRAG. */
-#define IPT_INV_PROTO XT_INV_PROTO
-#define IPT_INV_MASK 0x7F /* All possible flag bits mask. */
-
-/* This structure defines each of the firewall rules. Consists of 3
- parts which are 1) general IP header stuff 2) match specific
- stuff 3) the target to perform if the rule matches */
-struct ipt_entry {
- struct ipt_ip ip;
-
- /* Mark with fields that we care about. */
- unsigned int nfcache;
-
- /* Size of ipt_entry + matches */
- __u16 target_offset;
- /* Size of ipt_entry + matches + target */
- __u16 next_offset;
-
- /* Back pointer */
- unsigned int comefrom;
-
- /* Packet and byte counters. */
- struct xt_counters counters;
-
- /* The matches (if any), then the target. */
- unsigned char elems[0];
-};
-
-/*
- * New IP firewall options for [gs]etsockopt at the RAW IP level.
- * Unlike BSD Linux inherits IP options so you don't have to use a raw
- * socket for this. Instead we check rights in the calls.
- *
- * ATTENTION: check linux/in.h before adding new number here.
- */
-#define IPT_BASE_CTL 64
-
-#define IPT_SO_SET_REPLACE (IPT_BASE_CTL)
-#define IPT_SO_SET_ADD_COUNTERS (IPT_BASE_CTL + 1)
-#define IPT_SO_SET_MAX IPT_SO_SET_ADD_COUNTERS
-
-#define IPT_SO_GET_INFO (IPT_BASE_CTL)
-#define IPT_SO_GET_ENTRIES (IPT_BASE_CTL + 1)
-#define IPT_SO_GET_REVISION_MATCH (IPT_BASE_CTL + 2)
-#define IPT_SO_GET_REVISION_TARGET (IPT_BASE_CTL + 3)
-#define IPT_SO_GET_MAX IPT_SO_GET_REVISION_TARGET
-
-/* ICMP matching stuff */
-struct ipt_icmp {
- __u8 type; /* type to match */
- __u8 code[2]; /* range of code */
- __u8 invflags; /* Inverse flags */
-};
-
-/* Values for "inv" field for struct ipt_icmp. */
-#define IPT_ICMP_INV 0x01 /* Invert the sense of type/code test */
-
-/* The argument to IPT_SO_GET_INFO */
-struct ipt_getinfo {
- /* Which table: caller fills this in. */
- char name[XT_TABLE_MAXNAMELEN];
-
- /* Kernel fills these in. */
- /* Which hook entry points are valid: bitmask */
- unsigned int valid_hooks;
-
- /* Hook entry points: one per netfilter hook. */
- unsigned int hook_entry[NF_INET_NUMHOOKS];
-
- /* Underflow points. */
- unsigned int underflow[NF_INET_NUMHOOKS];
-
- /* Number of entries */
- unsigned int num_entries;
-
- /* Size of entries. */
- unsigned int size;
-};
-
-/* The argument to IPT_SO_SET_REPLACE. */
-struct ipt_replace {
- /* Which table. */
- char name[XT_TABLE_MAXNAMELEN];
-
- /* Which hook entry points are valid: bitmask. You can't
- change this. */
- unsigned int valid_hooks;
-
- /* Number of entries */
- unsigned int num_entries;
-
- /* Total size of new entries */
- unsigned int size;
-
- /* Hook entry points. */
- unsigned int hook_entry[NF_INET_NUMHOOKS];
-
- /* Underflow points. */
- unsigned int underflow[NF_INET_NUMHOOKS];
-
- /* Information about old entries: */
- /* Number of counters (must be equal to current number of entries). */
- unsigned int num_counters;
- /* The old entries' counters. */
- struct xt_counters *counters;
-
- /* The entries (hang off end: not really an array). */
- struct ipt_entry entries[0];
-};
-
-/* The argument to IPT_SO_GET_ENTRIES. */
-struct ipt_get_entries {
- /* Which table: user fills this in. */
- char name[XT_TABLE_MAXNAMELEN];
-
- /* User fills this in: total entry size. */
- unsigned int size;
-
- /* The entries. */
- struct ipt_entry entrytable[0];
-};
-
-/* Helper functions */
-static __inline__ struct xt_entry_target *
-ipt_get_target(struct ipt_entry *e)
-{
- return (void *)e + e->target_offset;
-}
-
-/*
- * Main firewall chains definitions and global var's definitions.
- */
-#endif /* _IPTABLES_H */
diff --git a/linux-headers/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h b/linux-headers/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h
deleted file mode 100644
index eac0f65..0000000
--- a/linux-headers/include/linux/netfilter_ipv4/ipt_CLUSTERIP.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _IPT_CLUSTERIP_H_target
-#define _IPT_CLUSTERIP_H_target
-
-#include <linux/types.h>
-#include <linux/if_ether.h>
-
-enum clusterip_hashmode {
- CLUSTERIP_HASHMODE_SIP = 0,
- CLUSTERIP_HASHMODE_SIP_SPT,
- CLUSTERIP_HASHMODE_SIP_SPT_DPT,
-};
-
-#define CLUSTERIP_HASHMODE_MAX CLUSTERIP_HASHMODE_SIP_SPT_DPT
-
-#define CLUSTERIP_MAX_NODES 16
-
-#define CLUSTERIP_FLAG_NEW 0x00000001
-
-struct clusterip_config;
-
-struct ipt_clusterip_tgt_info {
-
- __u32 flags;
-
- /* only relevant for new ones */
- __u8 clustermac[ETH_ALEN];
- __u16 num_total_nodes;
- __u16 num_local_nodes;
- __u16 local_nodes[CLUSTERIP_MAX_NODES];
- __u32 hash_mode;
- __u32 hash_initval;
-
- /* Used internally by the kernel */
- struct clusterip_config *config;
-};
-
-#endif /*_IPT_CLUSTERIP_H_target*/
diff --git a/linux-headers/include/linux/netfilter_ipv4/ipt_ECN.h b/linux-headers/include/linux/netfilter_ipv4/ipt_ECN.h
deleted file mode 100644
index bb88d53..0000000
--- a/linux-headers/include/linux/netfilter_ipv4/ipt_ECN.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/* Header file for iptables ipt_ECN target
- *
- * (C) 2002 by Harald Welte <laforge@gnumonks.org>
- *
- * This software is distributed under GNU GPL v2, 1991
- *
- * ipt_ECN.h,v 1.3 2002/05/29 12:17:40 laforge Exp
-*/
-#ifndef _IPT_ECN_TARGET_H
-#define _IPT_ECN_TARGET_H
-
-#include <linux/types.h>
-#include <linux/netfilter/xt_DSCP.h>
-
-#define IPT_ECN_IP_MASK (~XT_DSCP_MASK)
-
-#define IPT_ECN_OP_SET_IP 0x01 /* set ECN bits of IPv4 header */
-#define IPT_ECN_OP_SET_ECE 0x10 /* set ECE bit of TCP header */
-#define IPT_ECN_OP_SET_CWR 0x20 /* set CWR bit of TCP header */
-
-#define IPT_ECN_OP_MASK 0xce
-
-struct ipt_ECN_info {
- __u8 operation; /* bitset of operations */
- __u8 ip_ect; /* ECT codepoint of IPv4 header, pre-shifted */
- union {
- struct {
- __u8 ece:1, cwr:1; /* TCP ECT bits */
- } tcp;
- } proto;
-};
-
-#endif /* _IPT_ECN_TARGET_H */
diff --git a/linux-headers/include/linux/netfilter_ipv4/ipt_LOG.h b/linux-headers/include/linux/netfilter_ipv4/ipt_LOG.h
deleted file mode 100644
index 5d81520..0000000
--- a/linux-headers/include/linux/netfilter_ipv4/ipt_LOG.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _IPT_LOG_H
-#define _IPT_LOG_H
-
-#warning "Please update iptables, this file will be removed soon!"
-
-/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
-#define IPT_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */
-#define IPT_LOG_TCPOPT 0x02 /* Log TCP options */
-#define IPT_LOG_IPOPT 0x04 /* Log IP options */
-#define IPT_LOG_UID 0x08 /* Log UID owning local socket */
-#define IPT_LOG_NFLOG 0x10 /* Unsupported, don't reuse */
-#define IPT_LOG_MACDECODE 0x20 /* Decode MAC header */
-#define IPT_LOG_MASK 0x2f
-
-struct ipt_log_info {
- unsigned char level;
- unsigned char logflags;
- char prefix[30];
-};
-
-#endif /*_IPT_LOG_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv4/ipt_REJECT.h b/linux-headers/include/linux/netfilter_ipv4/ipt_REJECT.h
deleted file mode 100644
index 4293a1a..0000000
--- a/linux-headers/include/linux/netfilter_ipv4/ipt_REJECT.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef _IPT_REJECT_H
-#define _IPT_REJECT_H
-
-enum ipt_reject_with {
- IPT_ICMP_NET_UNREACHABLE,
- IPT_ICMP_HOST_UNREACHABLE,
- IPT_ICMP_PROT_UNREACHABLE,
- IPT_ICMP_PORT_UNREACHABLE,
- IPT_ICMP_ECHOREPLY,
- IPT_ICMP_NET_PROHIBITED,
- IPT_ICMP_HOST_PROHIBITED,
- IPT_TCP_RESET,
- IPT_ICMP_ADMIN_PROHIBITED
-};
-
-struct ipt_reject_info {
- enum ipt_reject_with with; /* reject type */
-};
-
-#endif /*_IPT_REJECT_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv4/ipt_TTL.h b/linux-headers/include/linux/netfilter_ipv4/ipt_TTL.h
deleted file mode 100644
index f6ac169..0000000
--- a/linux-headers/include/linux/netfilter_ipv4/ipt_TTL.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* TTL modification module for IP tables
- * (C) 2000 by Harald Welte <laforge@netfilter.org> */
-
-#ifndef _IPT_TTL_H
-#define _IPT_TTL_H
-
-#include <linux/types.h>
-
-enum {
- IPT_TTL_SET = 0,
- IPT_TTL_INC,
- IPT_TTL_DEC
-};
-
-#define IPT_TTL_MAXMODE IPT_TTL_DEC
-
-struct ipt_TTL_info {
- __u8 mode;
- __u8 ttl;
-};
-
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_ipv4/ipt_ah.h b/linux-headers/include/linux/netfilter_ipv4/ipt_ah.h
deleted file mode 100644
index 4e02bb0..0000000
--- a/linux-headers/include/linux/netfilter_ipv4/ipt_ah.h
+++ /dev/null
@@ -1,17 +0,0 @@
-#ifndef _IPT_AH_H
-#define _IPT_AH_H
-
-#include <linux/types.h>
-
-struct ipt_ah {
- __u32 spis[2]; /* Security Parameter Index */
- __u8 invflags; /* Inverse flags */
-};
-
-
-
-/* Values for "invflags" field in struct ipt_ah. */
-#define IPT_AH_INV_SPI 0x01 /* Invert the sense of spi. */
-#define IPT_AH_INV_MASK 0x01 /* All possible flags. */
-
-#endif /*_IPT_AH_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv4/ipt_ecn.h b/linux-headers/include/linux/netfilter_ipv4/ipt_ecn.h
deleted file mode 100644
index 0e0c063..0000000
--- a/linux-headers/include/linux/netfilter_ipv4/ipt_ecn.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef _IPT_ECN_H
-#define _IPT_ECN_H
-
-#include <linux/netfilter/xt_ecn.h>
-#define ipt_ecn_info xt_ecn_info
-
-enum {
- IPT_ECN_IP_MASK = XT_ECN_IP_MASK,
- IPT_ECN_OP_MATCH_IP = XT_ECN_OP_MATCH_IP,
- IPT_ECN_OP_MATCH_ECE = XT_ECN_OP_MATCH_ECE,
- IPT_ECN_OP_MATCH_CWR = XT_ECN_OP_MATCH_CWR,
- IPT_ECN_OP_MATCH_MASK = XT_ECN_OP_MATCH_MASK,
-};
-
-#endif /* IPT_ECN_H */
diff --git a/linux-headers/include/linux/netfilter_ipv4/ipt_ttl.h b/linux-headers/include/linux/netfilter_ipv4/ipt_ttl.h
deleted file mode 100644
index 37bee44..0000000
--- a/linux-headers/include/linux/netfilter_ipv4/ipt_ttl.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/* IP tables module for matching the value of the TTL
- * (C) 2000 by Harald Welte <laforge@gnumonks.org> */
-
-#ifndef _IPT_TTL_H
-#define _IPT_TTL_H
-
-#include <linux/types.h>
-
-enum {
- IPT_TTL_EQ = 0, /* equals */
- IPT_TTL_NE, /* not equals */
- IPT_TTL_LT, /* less than */
- IPT_TTL_GT, /* greater than */
-};
-
-
-struct ipt_ttl_info {
- __u8 mode;
- __u8 ttl;
-};
-
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_ipv6.h b/linux-headers/include/linux/netfilter_ipv6.h
deleted file mode 100644
index 8483d1d..0000000
--- a/linux-headers/include/linux/netfilter_ipv6.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/* IPv6-specific defines for netfilter.
- * (C)1998 Rusty Russell -- This code is GPL.
- * (C)1999 David Jeffery
- * this header was blatantly ripped from netfilter_ipv4.h
- * it's amazing what adding a bunch of 6s can do =8^)
- */
-#ifndef __LINUX_IP6_NETFILTER_H
-#define __LINUX_IP6_NETFILTER_H
-
-
-#include <linux/netfilter.h>
-
-/* only for userspace compatibility */
-
-#include <limits.h> /* for INT_MIN, INT_MAX */
-
-/* IP Cache bits. */
-/* Src IP address. */
-#define NFC_IP6_SRC 0x0001
-/* Dest IP address. */
-#define NFC_IP6_DST 0x0002
-/* Input device. */
-#define NFC_IP6_IF_IN 0x0004
-/* Output device. */
-#define NFC_IP6_IF_OUT 0x0008
-/* TOS. */
-#define NFC_IP6_TOS 0x0010
-/* Protocol. */
-#define NFC_IP6_PROTO 0x0020
-/* IP options. */
-#define NFC_IP6_OPTIONS 0x0040
-/* Frag & flags. */
-#define NFC_IP6_FRAG 0x0080
-
-
-/* Per-protocol information: only matters if proto match. */
-/* TCP flags. */
-#define NFC_IP6_TCPFLAGS 0x0100
-/* Source port. */
-#define NFC_IP6_SRC_PT 0x0200
-/* Dest port. */
-#define NFC_IP6_DST_PT 0x0400
-/* Something else about the proto */
-#define NFC_IP6_PROTO_UNKNOWN 0x2000
-
-/* IP6 Hooks */
-/* After promisc drops, checksum checks. */
-#define NF_IP6_PRE_ROUTING 0
-/* If the packet is destined for this box. */
-#define NF_IP6_LOCAL_IN 1
-/* If the packet is destined for another interface. */
-#define NF_IP6_FORWARD 2
-/* Packets coming from a local process. */
-#define NF_IP6_LOCAL_OUT 3
-/* Packets about to hit the wire. */
-#define NF_IP6_POST_ROUTING 4
-#define NF_IP6_NUMHOOKS 5
-
-
-enum nf_ip6_hook_priorities {
- NF_IP6_PRI_FIRST = INT_MIN,
- NF_IP6_PRI_CONNTRACK_DEFRAG = -400,
- NF_IP6_PRI_RAW = -300,
- NF_IP6_PRI_SELINUX_FIRST = -225,
- NF_IP6_PRI_CONNTRACK = -200,
- NF_IP6_PRI_MANGLE = -150,
- NF_IP6_PRI_NAT_DST = -100,
- NF_IP6_PRI_FILTER = 0,
- NF_IP6_PRI_SECURITY = 50,
- NF_IP6_PRI_NAT_SRC = 100,
- NF_IP6_PRI_SELINUX_LAST = 225,
- NF_IP6_PRI_CONNTRACK_HELPER = 300,
- NF_IP6_PRI_LAST = INT_MAX,
-};
-
-
-#endif /* __LINUX_IP6_NETFILTER_H */
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6_tables.h b/linux-headers/include/linux/netfilter_ipv6/ip6_tables.h
deleted file mode 100644
index fcc8cca..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6_tables.h
+++ /dev/null
@@ -1,269 +0,0 @@
-/*
- * 25-Jul-1998 Major changes to allow for ip chain table
- *
- * 3-Jan-2000 Named tables to allow packet selection for different uses.
- */
-
-/*
- * Format of an IP6 firewall descriptor
- *
- * src, dst, src_mask, dst_mask are always stored in network byte order.
- * flags are stored in host byte order (of course).
- * Port numbers are stored in HOST byte order.
- */
-
-#ifndef _IP6_TABLES_H
-#define _IP6_TABLES_H
-
-#include <linux/types.h>
-
-#include <linux/if.h>
-#include <linux/netfilter_ipv6.h>
-
-#include <linux/netfilter/x_tables.h>
-
-#define IP6T_FUNCTION_MAXNAMELEN XT_FUNCTION_MAXNAMELEN
-#define IP6T_TABLE_MAXNAMELEN XT_TABLE_MAXNAMELEN
-#define ip6t_match xt_match
-#define ip6t_target xt_target
-#define ip6t_table xt_table
-#define ip6t_get_revision xt_get_revision
-#define ip6t_entry_match xt_entry_match
-#define ip6t_entry_target xt_entry_target
-#define ip6t_standard_target xt_standard_target
-#define ip6t_error_target xt_error_target
-#define ip6t_counters xt_counters
-#define IP6T_CONTINUE XT_CONTINUE
-#define IP6T_RETURN XT_RETURN
-
-/* Pre-iptables-1.4.0 */
-#include <linux/netfilter/xt_tcpudp.h>
-#define ip6t_tcp xt_tcp
-#define ip6t_udp xt_udp
-#define IP6T_TCP_INV_SRCPT XT_TCP_INV_SRCPT
-#define IP6T_TCP_INV_DSTPT XT_TCP_INV_DSTPT
-#define IP6T_TCP_INV_FLAGS XT_TCP_INV_FLAGS
-#define IP6T_TCP_INV_OPTION XT_TCP_INV_OPTION
-#define IP6T_TCP_INV_MASK XT_TCP_INV_MASK
-#define IP6T_UDP_INV_SRCPT XT_UDP_INV_SRCPT
-#define IP6T_UDP_INV_DSTPT XT_UDP_INV_DSTPT
-#define IP6T_UDP_INV_MASK XT_UDP_INV_MASK
-
-#define ip6t_counters_info xt_counters_info
-#define IP6T_STANDARD_TARGET XT_STANDARD_TARGET
-#define IP6T_ERROR_TARGET XT_ERROR_TARGET
-#define IP6T_MATCH_ITERATE(e, fn, args...) \
- XT_MATCH_ITERATE(struct ip6t_entry, e, fn, ## args)
-#define IP6T_ENTRY_ITERATE(entries, size, fn, args...) \
- XT_ENTRY_ITERATE(struct ip6t_entry, entries, size, fn, ## args)
-
-/* Yes, Virginia, you have to zero the padding. */
-struct ip6t_ip6 {
- /* Source and destination IP6 addr */
- struct in6_addr src, dst;
- /* Mask for src and dest IP6 addr */
- struct in6_addr smsk, dmsk;
- char iniface[IFNAMSIZ], outiface[IFNAMSIZ];
- unsigned char iniface_mask[IFNAMSIZ], outiface_mask[IFNAMSIZ];
-
- /* Upper protocol number
- * - The allowed value is 0 (any) or protocol number of last parsable
- * header, which is 50 (ESP), 59 (No Next Header), 135 (MH), or
- * the non IPv6 extension headers.
- * - The protocol numbers of IPv6 extension headers except of ESP and
- * MH do not match any packets.
- * - You also need to set IP6T_FLAGS_PROTO to "flags" to check protocol.
- */
- __u16 proto;
- /* TOS to match iff flags & IP6T_F_TOS */
- __u8 tos;
-
- /* Flags word */
- __u8 flags;
- /* Inverse flags */
- __u8 invflags;
-};
-
-/* Values for "flag" field in struct ip6t_ip6 (general ip6 structure). */
-#define IP6T_F_PROTO 0x01 /* Set if rule cares about upper
- protocols */
-#define IP6T_F_TOS 0x02 /* Match the TOS. */
-#define IP6T_F_GOTO 0x04 /* Set if jump is a goto */
-#define IP6T_F_MASK 0x07 /* All possible flag bits mask. */
-
-/* Values for "inv" field in struct ip6t_ip6. */
-#define IP6T_INV_VIA_IN 0x01 /* Invert the sense of IN IFACE. */
-#define IP6T_INV_VIA_OUT 0x02 /* Invert the sense of OUT IFACE */
-#define IP6T_INV_TOS 0x04 /* Invert the sense of TOS. */
-#define IP6T_INV_SRCIP 0x08 /* Invert the sense of SRC IP. */
-#define IP6T_INV_DSTIP 0x10 /* Invert the sense of DST OP. */
-#define IP6T_INV_FRAG 0x20 /* Invert the sense of FRAG. */
-#define IP6T_INV_PROTO XT_INV_PROTO
-#define IP6T_INV_MASK 0x7F /* All possible flag bits mask. */
-
-/* This structure defines each of the firewall rules. Consists of 3
- parts which are 1) general IP header stuff 2) match specific
- stuff 3) the target to perform if the rule matches */
-struct ip6t_entry {
- struct ip6t_ip6 ipv6;
-
- /* Mark with fields that we care about. */
- unsigned int nfcache;
-
- /* Size of ipt_entry + matches */
- __u16 target_offset;
- /* Size of ipt_entry + matches + target */
- __u16 next_offset;
-
- /* Back pointer */
- unsigned int comefrom;
-
- /* Packet and byte counters. */
- struct xt_counters counters;
-
- /* The matches (if any), then the target. */
- unsigned char elems[0];
-};
-
-/* Standard entry */
-struct ip6t_standard {
- struct ip6t_entry entry;
- struct xt_standard_target target;
-};
-
-struct ip6t_error {
- struct ip6t_entry entry;
- struct xt_error_target target;
-};
-
-#define IP6T_ENTRY_INIT(__size) \
-{ \
- .target_offset = sizeof(struct ip6t_entry), \
- .next_offset = (__size), \
-}
-
-#define IP6T_STANDARD_INIT(__verdict) \
-{ \
- .entry = IP6T_ENTRY_INIT(sizeof(struct ip6t_standard)), \
- .target = XT_TARGET_INIT(XT_STANDARD_TARGET, \
- sizeof(struct xt_standard_target)), \
- .target.verdict = -(__verdict) - 1, \
-}
-
-#define IP6T_ERROR_INIT \
-{ \
- .entry = IP6T_ENTRY_INIT(sizeof(struct ip6t_error)), \
- .target = XT_TARGET_INIT(XT_ERROR_TARGET, \
- sizeof(struct xt_error_target)), \
- .target.errorname = "ERROR", \
-}
-
-/*
- * New IP firewall options for [gs]etsockopt at the RAW IP level.
- * Unlike BSD Linux inherits IP options so you don't have to use
- * a raw socket for this. Instead we check rights in the calls.
- *
- * ATTENTION: check linux/in6.h before adding new number here.
- */
-#define IP6T_BASE_CTL 64
-
-#define IP6T_SO_SET_REPLACE (IP6T_BASE_CTL)
-#define IP6T_SO_SET_ADD_COUNTERS (IP6T_BASE_CTL + 1)
-#define IP6T_SO_SET_MAX IP6T_SO_SET_ADD_COUNTERS
-
-#define IP6T_SO_GET_INFO (IP6T_BASE_CTL)
-#define IP6T_SO_GET_ENTRIES (IP6T_BASE_CTL + 1)
-#define IP6T_SO_GET_REVISION_MATCH (IP6T_BASE_CTL + 4)
-#define IP6T_SO_GET_REVISION_TARGET (IP6T_BASE_CTL + 5)
-#define IP6T_SO_GET_MAX IP6T_SO_GET_REVISION_TARGET
-
-/* obtain original address if REDIRECT'd connection */
-#define IP6T_SO_ORIGINAL_DST 80
-
-/* ICMP matching stuff */
-struct ip6t_icmp {
- __u8 type; /* type to match */
- __u8 code[2]; /* range of code */
- __u8 invflags; /* Inverse flags */
-};
-
-/* Values for "inv" field for struct ipt_icmp. */
-#define IP6T_ICMP_INV 0x01 /* Invert the sense of type/code test */
-
-/* The argument to IP6T_SO_GET_INFO */
-struct ip6t_getinfo {
- /* Which table: caller fills this in. */
- char name[XT_TABLE_MAXNAMELEN];
-
- /* Kernel fills these in. */
- /* Which hook entry points are valid: bitmask */
- unsigned int valid_hooks;
-
- /* Hook entry points: one per netfilter hook. */
- unsigned int hook_entry[NF_INET_NUMHOOKS];
-
- /* Underflow points. */
- unsigned int underflow[NF_INET_NUMHOOKS];
-
- /* Number of entries */
- unsigned int num_entries;
-
- /* Size of entries. */
- unsigned int size;
-};
-
-/* The argument to IP6T_SO_SET_REPLACE. */
-struct ip6t_replace {
- /* Which table. */
- char name[XT_TABLE_MAXNAMELEN];
-
- /* Which hook entry points are valid: bitmask. You can't
- change this. */
- unsigned int valid_hooks;
-
- /* Number of entries */
- unsigned int num_entries;
-
- /* Total size of new entries */
- unsigned int size;
-
- /* Hook entry points. */
- unsigned int hook_entry[NF_INET_NUMHOOKS];
-
- /* Underflow points. */
- unsigned int underflow[NF_INET_NUMHOOKS];
-
- /* Information about old entries: */
- /* Number of counters (must be equal to current number of entries). */
- unsigned int num_counters;
- /* The old entries' counters. */
- struct xt_counters *counters;
-
- /* The entries (hang off end: not really an array). */
- struct ip6t_entry entries[0];
-};
-
-/* The argument to IP6T_SO_GET_ENTRIES. */
-struct ip6t_get_entries {
- /* Which table: user fills this in. */
- char name[XT_TABLE_MAXNAMELEN];
-
- /* User fills this in: total entry size. */
- unsigned int size;
-
- /* The entries. */
- struct ip6t_entry entrytable[0];
-};
-
-/* Helper functions */
-static __inline__ struct xt_entry_target *
-ip6t_get_target(struct ip6t_entry *e)
-{
- return (void *)e + e->target_offset;
-}
-
-/*
- * Main firewall chains definitions and global var's definitions.
- */
-
-#endif /* _IP6_TABLES_H */
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_HL.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_HL.h
deleted file mode 100644
index ebd8ead..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_HL.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Hop Limit modification module for ip6tables
- * Maciej Soltysiak <solt@dns.toxicfilms.tv>
- * Based on HW's TTL module */
-
-#ifndef _IP6T_HL_H
-#define _IP6T_HL_H
-
-#include <linux/types.h>
-
-enum {
- IP6T_HL_SET = 0,
- IP6T_HL_INC,
- IP6T_HL_DEC
-};
-
-#define IP6T_HL_MAXMODE IP6T_HL_DEC
-
-struct ip6t_HL_info {
- __u8 mode;
- __u8 hop_limit;
-};
-
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_LOG.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_LOG.h
deleted file mode 100644
index 3dd0bc4..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_LOG.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _IP6T_LOG_H
-#define _IP6T_LOG_H
-
-#warning "Please update iptables, this file will be removed soon!"
-
-/* make sure not to change this without changing netfilter.h:NF_LOG_* (!) */
-#define IP6T_LOG_TCPSEQ 0x01 /* Log TCP sequence numbers */
-#define IP6T_LOG_TCPOPT 0x02 /* Log TCP options */
-#define IP6T_LOG_IPOPT 0x04 /* Log IP options */
-#define IP6T_LOG_UID 0x08 /* Log UID owning local socket */
-#define IP6T_LOG_NFLOG 0x10 /* Unsupported, don't use */
-#define IP6T_LOG_MACDECODE 0x20 /* Decode MAC header */
-#define IP6T_LOG_MASK 0x2f
-
-struct ip6t_log_info {
- unsigned char level;
- unsigned char logflags;
- char prefix[30];
-};
-
-#endif /*_IPT_LOG_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_NPT.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_NPT.h
deleted file mode 100644
index f763355..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_NPT.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef __NETFILTER_IP6T_NPT
-#define __NETFILTER_IP6T_NPT
-
-#include <linux/types.h>
-#include <linux/netfilter.h>
-
-struct ip6t_npt_tginfo {
- union nf_inet_addr src_pfx;
- union nf_inet_addr dst_pfx;
- __u8 src_pfx_len;
- __u8 dst_pfx_len;
- /* Used internally by the kernel */
- __sum16 adjustment;
-};
-
-#endif /* __NETFILTER_IP6T_NPT */
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_REJECT.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_REJECT.h
deleted file mode 100644
index cd2e940..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_REJECT.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _IP6T_REJECT_H
-#define _IP6T_REJECT_H
-
-#include <linux/types.h>
-
-enum ip6t_reject_with {
- IP6T_ICMP6_NO_ROUTE,
- IP6T_ICMP6_ADM_PROHIBITED,
- IP6T_ICMP6_NOT_NEIGHBOUR,
- IP6T_ICMP6_ADDR_UNREACH,
- IP6T_ICMP6_PORT_UNREACH,
- IP6T_ICMP6_ECHOREPLY,
- IP6T_TCP_RESET,
- IP6T_ICMP6_POLICY_FAIL,
- IP6T_ICMP6_REJECT_ROUTE
-};
-
-struct ip6t_reject_info {
- __u32 with; /* reject type */
-};
-
-#endif /*_IP6T_REJECT_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_ah.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_ah.h
deleted file mode 100644
index 5da2b65..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_ah.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _IP6T_AH_H
-#define _IP6T_AH_H
-
-#include <linux/types.h>
-
-struct ip6t_ah {
- __u32 spis[2]; /* Security Parameter Index */
- __u32 hdrlen; /* Header Length */
- __u8 hdrres; /* Test of the Reserved Filed */
- __u8 invflags; /* Inverse flags */
-};
-
-#define IP6T_AH_SPI 0x01
-#define IP6T_AH_LEN 0x02
-#define IP6T_AH_RES 0x04
-
-/* Values for "invflags" field in struct ip6t_ah. */
-#define IP6T_AH_INV_SPI 0x01 /* Invert the sense of spi. */
-#define IP6T_AH_INV_LEN 0x02 /* Invert the sense of length. */
-#define IP6T_AH_INV_MASK 0x03 /* All possible flags. */
-
-#endif /*_IP6T_AH_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_frag.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_frag.h
deleted file mode 100644
index dfd8bc2..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_frag.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef _IP6T_FRAG_H
-#define _IP6T_FRAG_H
-
-#include <linux/types.h>
-
-struct ip6t_frag {
- __u32 ids[2]; /* Identification range */
- __u32 hdrlen; /* Header Length */
- __u8 flags; /* Flags */
- __u8 invflags; /* Inverse flags */
-};
-
-#define IP6T_FRAG_IDS 0x01
-#define IP6T_FRAG_LEN 0x02
-#define IP6T_FRAG_RES 0x04
-#define IP6T_FRAG_FST 0x08
-#define IP6T_FRAG_MF 0x10
-#define IP6T_FRAG_NMF 0x20
-
-/* Values for "invflags" field in struct ip6t_frag. */
-#define IP6T_FRAG_INV_IDS 0x01 /* Invert the sense of ids. */
-#define IP6T_FRAG_INV_LEN 0x02 /* Invert the sense of length. */
-#define IP6T_FRAG_INV_MASK 0x03 /* All possible flags. */
-
-#endif /*_IP6T_FRAG_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_hl.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_hl.h
deleted file mode 100644
index 6e76dbc..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_hl.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* ip6tables module for matching the Hop Limit value
- * Maciej Soltysiak <solt@dns.toxicfilms.tv>
- * Based on HW's ttl module */
-
-#ifndef _IP6T_HL_H
-#define _IP6T_HL_H
-
-#include <linux/types.h>
-
-enum {
- IP6T_HL_EQ = 0, /* equals */
- IP6T_HL_NE, /* not equals */
- IP6T_HL_LT, /* less than */
- IP6T_HL_GT, /* greater than */
-};
-
-
-struct ip6t_hl_info {
- __u8 mode;
- __u8 hop_limit;
-};
-
-
-#endif
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_ipv6header.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_ipv6header.h
deleted file mode 100644
index efae3a2..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_ipv6header.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* ipv6header match - matches IPv6 packets based
-on whether they contain certain headers */
-
-/* Original idea: Brad Chapman
- * Rewritten by: Andras Kis-Szabo <kisza@sch.bme.hu> */
-
-
-#ifndef __IPV6HEADER_H
-#define __IPV6HEADER_H
-
-#include <linux/types.h>
-
-struct ip6t_ipv6header_info {
- __u8 matchflags;
- __u8 invflags;
- __u8 modeflag;
-};
-
-#define MASK_HOPOPTS 128
-#define MASK_DSTOPTS 64
-#define MASK_ROUTING 32
-#define MASK_FRAGMENT 16
-#define MASK_AH 8
-#define MASK_ESP 4
-#define MASK_NONE 2
-#define MASK_PROTO 1
-
-#endif /* __IPV6HEADER_H */
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_mh.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_mh.h
deleted file mode 100644
index a7729a5..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_mh.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _IP6T_MH_H
-#define _IP6T_MH_H
-
-#include <linux/types.h>
-
-/* MH matching stuff */
-struct ip6t_mh {
- __u8 types[2]; /* MH type range */
- __u8 invflags; /* Inverse flags */
-};
-
-/* Values for "invflags" field in struct ip6t_mh. */
-#define IP6T_MH_INV_TYPE 0x01 /* Invert the sense of type. */
-#define IP6T_MH_INV_MASK 0x01 /* All possible flags. */
-
-#endif /*_IP6T_MH_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_opts.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_opts.h
deleted file mode 100644
index 17d419a..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_opts.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _IP6T_OPTS_H
-#define _IP6T_OPTS_H
-
-#include <linux/types.h>
-
-#define IP6T_OPTS_OPTSNR 16
-
-struct ip6t_opts {
- __u32 hdrlen; /* Header Length */
- __u8 flags; /* */
- __u8 invflags; /* Inverse flags */
- __u16 opts[IP6T_OPTS_OPTSNR]; /* opts */
- __u8 optsnr; /* Nr of OPts */
-};
-
-#define IP6T_OPTS_LEN 0x01
-#define IP6T_OPTS_OPTS 0x02
-#define IP6T_OPTS_NSTRICT 0x04
-
-/* Values for "invflags" field in struct ip6t_rt. */
-#define IP6T_OPTS_INV_LEN 0x01 /* Invert the sense of length. */
-#define IP6T_OPTS_INV_MASK 0x01 /* All possible flags. */
-
-#endif /*_IP6T_OPTS_H*/
diff --git a/linux-headers/include/linux/netfilter_ipv6/ip6t_rt.h b/linux-headers/include/linux/netfilter_ipv6/ip6t_rt.h
deleted file mode 100644
index 558f81e..0000000
--- a/linux-headers/include/linux/netfilter_ipv6/ip6t_rt.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _IP6T_RT_H
-#define _IP6T_RT_H
-
-#include <linux/types.h>
-#include <linux/in6.h>
-
-#define IP6T_RT_HOPS 16
-
-struct ip6t_rt {
- __u32 rt_type; /* Routing Type */
- __u32 segsleft[2]; /* Segments Left */
- __u32 hdrlen; /* Header Length */
- __u8 flags; /* */
- __u8 invflags; /* Inverse flags */
- struct in6_addr addrs[IP6T_RT_HOPS]; /* Hops */
- __u8 addrnr; /* Nr of Addresses */
-};
-
-#define IP6T_RT_TYP 0x01
-#define IP6T_RT_SGS 0x02
-#define IP6T_RT_LEN 0x04
-#define IP6T_RT_RES 0x08
-#define IP6T_RT_FST_MASK 0x30
-#define IP6T_RT_FST 0x10
-#define IP6T_RT_FST_NSTRICT 0x20
-
-/* Values for "invflags" field in struct ip6t_rt. */
-#define IP6T_RT_INV_TYP 0x01 /* Invert the sense of type. */
-#define IP6T_RT_INV_SGS 0x02 /* Invert the sense of Segments. */
-#define IP6T_RT_INV_LEN 0x04 /* Invert the sense of length. */
-#define IP6T_RT_INV_MASK 0x07 /* All possible flags. */
-
-#endif /*_IP6T_RT_H*/
diff --git a/linux-headers/include/linux/netlink.h b/linux-headers/include/linux/netlink.h
deleted file mode 100644
index 8a7ca5c..0000000
--- a/linux-headers/include/linux/netlink.h
+++ /dev/null
@@ -1,189 +0,0 @@
-#ifndef __LINUX_NETLINK_H
-#define __LINUX_NETLINK_H
-
-#include <linux/kernel.h>
-#include <linux/socket.h> /* for __kernel_sa_family_t */
-#include <linux/types.h>
-
-#define NETLINK_ROUTE 0 /* Routing/device hook */
-#define NETLINK_UNUSED 1 /* Unused number */
-#define NETLINK_USERSOCK 2 /* Reserved for user mode socket protocols */
-#define NETLINK_FIREWALL 3 /* Unused number, formerly ip_queue */
-#define NETLINK_SOCK_DIAG 4 /* socket monitoring */
-#define NETLINK_NFLOG 5 /* netfilter/iptables ULOG */
-#define NETLINK_XFRM 6 /* ipsec */
-#define NETLINK_SELINUX 7 /* SELinux event notifications */
-#define NETLINK_ISCSI 8 /* Open-iSCSI */
-#define NETLINK_AUDIT 9 /* auditing */
-#define NETLINK_FIB_LOOKUP 10
-#define NETLINK_CONNECTOR 11
-#define NETLINK_NETFILTER 12 /* netfilter subsystem */
-#define NETLINK_IP6_FW 13
-#define NETLINK_DNRTMSG 14 /* DECnet routing messages */
-#define NETLINK_KOBJECT_UEVENT 15 /* Kernel messages to userspace */
-#define NETLINK_GENERIC 16
-/* leave room for NETLINK_DM (DM Events) */
-#define NETLINK_SCSITRANSPORT 18 /* SCSI Transports */
-#define NETLINK_ECRYPTFS 19
-#define NETLINK_RDMA 20
-#define NETLINK_CRYPTO 21 /* Crypto layer */
-
-#define NETLINK_INET_DIAG NETLINK_SOCK_DIAG
-
-#define MAX_LINKS 32
-
-struct sockaddr_nl {
- __kernel_sa_family_t nl_family; /* AF_NETLINK */
- unsigned short nl_pad; /* zero */
- __u32 nl_pid; /* port ID */
- __u32 nl_groups; /* multicast groups mask */
-};
-
-struct nlmsghdr {
- __u32 nlmsg_len; /* Length of message including header */
- __u16 nlmsg_type; /* Message content */
- __u16 nlmsg_flags; /* Additional flags */
- __u32 nlmsg_seq; /* Sequence number */
- __u32 nlmsg_pid; /* Sending process port ID */
-};
-
-/* Flags values */
-
-#define NLM_F_REQUEST 1 /* It is request message. */
-#define NLM_F_MULTI 2 /* Multipart message, terminated by NLMSG_DONE */
-#define NLM_F_ACK 4 /* Reply with ack, with zero or error code */
-#define NLM_F_ECHO 8 /* Echo this request */
-#define NLM_F_DUMP_INTR 16 /* Dump was inconsistent due to sequence change */
-#define NLM_F_DUMP_FILTERED 32 /* Dump was filtered as requested */
-
-/* Modifiers to GET request */
-#define NLM_F_ROOT 0x100 /* specify tree root */
-#define NLM_F_MATCH 0x200 /* return all matching */
-#define NLM_F_ATOMIC 0x400 /* atomic GET */
-#define NLM_F_DUMP (NLM_F_ROOT|NLM_F_MATCH)
-
-/* Modifiers to NEW request */
-#define NLM_F_REPLACE 0x100 /* Override existing */
-#define NLM_F_EXCL 0x200 /* Do not touch, if it exists */
-#define NLM_F_CREATE 0x400 /* Create, if it does not exist */
-#define NLM_F_APPEND 0x800 /* Add to end of list */
-
-/*
- 4.4BSD ADD NLM_F_CREATE|NLM_F_EXCL
- 4.4BSD CHANGE NLM_F_REPLACE
-
- True CHANGE NLM_F_CREATE|NLM_F_REPLACE
- Append NLM_F_CREATE
- Check NLM_F_EXCL
- */
-
-#define NLMSG_ALIGNTO 4U
-#define NLMSG_ALIGN(len) ( ((len)+NLMSG_ALIGNTO-1) & ~(NLMSG_ALIGNTO-1) )
-#define NLMSG_HDRLEN ((int) NLMSG_ALIGN(sizeof(struct nlmsghdr)))
-#define NLMSG_LENGTH(len) ((len) + NLMSG_HDRLEN)
-#define NLMSG_SPACE(len) NLMSG_ALIGN(NLMSG_LENGTH(len))
-#define NLMSG_DATA(nlh) ((void*)(((char*)nlh) + NLMSG_LENGTH(0)))
-#define NLMSG_NEXT(nlh,len) ((len) -= NLMSG_ALIGN((nlh)->nlmsg_len), \
- (struct nlmsghdr*)(((char*)(nlh)) + NLMSG_ALIGN((nlh)->nlmsg_len)))
-#define NLMSG_OK(nlh,len) ((len) >= (int)sizeof(struct nlmsghdr) && \
- (nlh)->nlmsg_len >= sizeof(struct nlmsghdr) && \
- (nlh)->nlmsg_len <= (len))
-#define NLMSG_PAYLOAD(nlh,len) ((nlh)->nlmsg_len - NLMSG_SPACE((len)))
-
-#define NLMSG_NOOP 0x1 /* Nothing. */
-#define NLMSG_ERROR 0x2 /* Error */
-#define NLMSG_DONE 0x3 /* End of a dump */
-#define NLMSG_OVERRUN 0x4 /* Data lost */
-
-#define NLMSG_MIN_TYPE 0x10 /* < 0x10: reserved control messages */
-
-struct nlmsgerr {
- int error;
- struct nlmsghdr msg;
-};
-
-#define NETLINK_ADD_MEMBERSHIP 1
-#define NETLINK_DROP_MEMBERSHIP 2
-#define NETLINK_PKTINFO 3
-#define NETLINK_BROADCAST_ERROR 4
-#define NETLINK_NO_ENOBUFS 5
-#define NETLINK_RX_RING 6
-#define NETLINK_TX_RING 7
-#define NETLINK_LISTEN_ALL_NSID 8
-#define NETLINK_LIST_MEMBERSHIPS 9
-#define NETLINK_CAP_ACK 10
-
-struct nl_pktinfo {
- __u32 group;
-};
-
-struct nl_mmap_req {
- unsigned int nm_block_size;
- unsigned int nm_block_nr;
- unsigned int nm_frame_size;
- unsigned int nm_frame_nr;
-};
-
-struct nl_mmap_hdr {
- unsigned int nm_status;
- unsigned int nm_len;
- __u32 nm_group;
- /* credentials */
- __u32 nm_pid;
- __u32 nm_uid;
- __u32 nm_gid;
-};
-
-enum nl_mmap_status {
- NL_MMAP_STATUS_UNUSED,
- NL_MMAP_STATUS_RESERVED,
- NL_MMAP_STATUS_VALID,
- NL_MMAP_STATUS_COPY,
- NL_MMAP_STATUS_SKIP,
-};
-
-#define NL_MMAP_MSG_ALIGNMENT NLMSG_ALIGNTO
-#define NL_MMAP_MSG_ALIGN(sz) __ALIGN_KERNEL(sz, NL_MMAP_MSG_ALIGNMENT)
-#define NL_MMAP_HDRLEN NL_MMAP_MSG_ALIGN(sizeof(struct nl_mmap_hdr))
-
-#define NET_MAJOR 36 /* Major 36 is reserved for networking */
-
-enum {
- NETLINK_UNCONNECTED = 0,
- NETLINK_CONNECTED,
-};
-
-/*
- * <------- NLA_HDRLEN ------> <-- NLA_ALIGN(payload)-->
- * +---------------------+- - -+- - - - - - - - - -+- - -+
- * | Header | Pad | Payload | Pad |
- * | (struct nlattr) | ing | | ing |
- * +---------------------+- - -+- - - - - - - - - -+- - -+
- * <-------------- nlattr->nla_len -------------->
- */
-
-struct nlattr {
- __u16 nla_len;
- __u16 nla_type;
-};
-
-/*
- * nla_type (16 bits)
- * +---+---+-------------------------------+
- * | N | O | Attribute Type |
- * +---+---+-------------------------------+
- * N := Carries nested attributes
- * O := Payload stored in network byte order
- *
- * Note: The N and O flag are mutually exclusive.
- */
-#define NLA_F_NESTED (1 << 15)
-#define NLA_F_NET_BYTEORDER (1 << 14)
-#define NLA_TYPE_MASK ~(NLA_F_NESTED | NLA_F_NET_BYTEORDER)
-
-#define NLA_ALIGNTO 4
-#define NLA_ALIGN(len) (((len) + NLA_ALIGNTO - 1) & ~(NLA_ALIGNTO - 1))
-#define NLA_HDRLEN ((int) NLA_ALIGN(sizeof(struct nlattr)))
-
-
-#endif /* __LINUX_NETLINK_H */
diff --git a/linux-headers/include/linux/netlink_diag.h b/linux-headers/include/linux/netlink_diag.h
deleted file mode 100644
index f2159d3..0000000
--- a/linux-headers/include/linux/netlink_diag.h
+++ /dev/null
@@ -1,53 +0,0 @@
-#ifndef __NETLINK_DIAG_H__
-#define __NETLINK_DIAG_H__
-
-#include <linux/types.h>
-
-struct netlink_diag_req {
- __u8 sdiag_family;
- __u8 sdiag_protocol;
- __u16 pad;
- __u32 ndiag_ino;
- __u32 ndiag_show;
- __u32 ndiag_cookie[2];
-};
-
-struct netlink_diag_msg {
- __u8 ndiag_family;
- __u8 ndiag_type;
- __u8 ndiag_protocol;
- __u8 ndiag_state;
-
- __u32 ndiag_portid;
- __u32 ndiag_dst_portid;
- __u32 ndiag_dst_group;
- __u32 ndiag_ino;
- __u32 ndiag_cookie[2];
-};
-
-struct netlink_diag_ring {
- __u32 ndr_block_size;
- __u32 ndr_block_nr;
- __u32 ndr_frame_size;
- __u32 ndr_frame_nr;
-};
-
-enum {
- /* NETLINK_DIAG_NONE, standard nl API requires this attribute! */
- NETLINK_DIAG_MEMINFO,
- NETLINK_DIAG_GROUPS,
- NETLINK_DIAG_RX_RING,
- NETLINK_DIAG_TX_RING,
-
- __NETLINK_DIAG_MAX,
-};
-
-#define NETLINK_DIAG_MAX (__NETLINK_DIAG_MAX - 1)
-
-#define NDIAG_PROTO_ALL ((__u8) ~0)
-
-#define NDIAG_SHOW_MEMINFO 0x00000001 /* show memory info of a socket */
-#define NDIAG_SHOW_GROUPS 0x00000002 /* show groups of a netlink socket */
-#define NDIAG_SHOW_RING_CFG 0x00000004 /* show ring configuration */
-
-#endif
diff --git a/linux-headers/include/linux/netrom.h b/linux-headers/include/linux/netrom.h
deleted file mode 100644
index af7313c..0000000
--- a/linux-headers/include/linux/netrom.h
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * These are the public elements of the Linux kernel NET/ROM implementation.
- * For kernel AX.25 see the file ax25.h. This file requires ax25.h for the
- * definition of the ax25_address structure.
- */
-
-#ifndef NETROM_KERNEL_H
-#define NETROM_KERNEL_H
-
-#include <linux/ax25.h>
-
-#define NETROM_MTU 236
-
-#define NETROM_T1 1
-#define NETROM_T2 2
-#define NETROM_N2 3
-#define NETROM_T4 6
-#define NETROM_IDLE 7
-
-#define SIOCNRDECOBS (SIOCPROTOPRIVATE+2)
-
-struct nr_route_struct {
-#define NETROM_NEIGH 0
-#define NETROM_NODE 1
- int type;
- ax25_address callsign;
- char device[16];
- unsigned int quality;
- char mnemonic[7];
- ax25_address neighbour;
- unsigned int obs_count;
- unsigned int ndigis;
- ax25_address digipeaters[AX25_MAX_DIGIS];
-};
-
-#endif
diff --git a/linux-headers/include/linux/nfc.h b/linux-headers/include/linux/nfc.h
deleted file mode 100644
index 399f39f..0000000
--- a/linux-headers/include/linux/nfc.h
+++ /dev/null
@@ -1,315 +0,0 @@
-/*
- * Copyright (C) 2011 Instituto Nokia de Tecnologia
- *
- * Authors:
- * Lauro Ramos Venancio <lauro.venancio@openbossa.org>
- * Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-
-#ifndef __LINUX_NFC_H
-#define __LINUX_NFC_H
-
-#include <linux/types.h>
-#include <linux/socket.h>
-
-#define NFC_GENL_NAME "nfc"
-#define NFC_GENL_VERSION 1
-
-#define NFC_GENL_MCAST_EVENT_NAME "events"
-
-/**
- * enum nfc_commands - supported nfc commands
- *
- * @NFC_CMD_UNSPEC: unspecified command
- *
- * @NFC_CMD_GET_DEVICE: request information about a device (requires
- * %NFC_ATTR_DEVICE_INDEX) or dump request to get a list of all nfc devices
- * @NFC_CMD_DEV_UP: turn on the nfc device
- * (requires %NFC_ATTR_DEVICE_INDEX)
- * @NFC_CMD_DEV_DOWN: turn off the nfc device
- * (requires %NFC_ATTR_DEVICE_INDEX)
- * @NFC_CMD_START_POLL: start polling for targets using the given protocols
- * (requires %NFC_ATTR_DEVICE_INDEX and %NFC_ATTR_PROTOCOLS)
- * @NFC_CMD_STOP_POLL: stop polling for targets (requires
- * %NFC_ATTR_DEVICE_INDEX)
- * @NFC_CMD_GET_TARGET: dump all targets found by the previous poll (requires
- * %NFC_ATTR_DEVICE_INDEX)
- * @NFC_EVENT_TARGETS_FOUND: event emitted when a new target is found
- * (it sends %NFC_ATTR_DEVICE_INDEX)
- * @NFC_EVENT_DEVICE_ADDED: event emitted when a new device is registred
- * (it sends %NFC_ATTR_DEVICE_NAME, %NFC_ATTR_DEVICE_INDEX and
- * %NFC_ATTR_PROTOCOLS)
- * @NFC_EVENT_DEVICE_REMOVED: event emitted when a device is removed
- * (it sends %NFC_ATTR_DEVICE_INDEX)
- * @NFC_EVENT_TM_ACTIVATED: event emitted when the adapter is activated in
- * target mode.
- * @NFC_EVENT_DEVICE_DEACTIVATED: event emitted when the adapter is deactivated
- * from target mode.
- * @NFC_CMD_LLC_GET_PARAMS: request LTO, RW, and MIUX parameters for a device
- * @NFC_CMD_LLC_SET_PARAMS: set one or more of LTO, RW, and MIUX parameters for
- * a device. LTO must be set before the link is up otherwise -EINPROGRESS
- * is returned. RW and MIUX can be set at anytime and will be passed in
- * subsequent CONNECT and CC messages.
- * If one of the passed parameters is wrong none is set and -EINVAL is
- * returned.
- * @NFC_CMD_ENABLE_SE: Enable the physical link to a specific secure element.
- * Once enabled a secure element will handle card emulation mode, i.e.
- * starting a poll from a device which has a secure element enabled means
- * we want to do SE based card emulation.
- * @NFC_CMD_DISABLE_SE: Disable the physical link to a specific secure element.
- * @NFC_CMD_FW_DOWNLOAD: Request to Load/flash firmware, or event to inform
- * that some firmware was loaded
- * @NFC_EVENT_SE_ADDED: Event emitted when a new secure element is discovered.
- * This typically will be sent whenever a new NFC controller with either
- * an embedded SE or an UICC one connected to it through SWP.
- * @NFC_EVENT_SE_REMOVED: Event emitted when a secure element is removed from
- * the system, as a consequence of e.g. an NFC controller being unplugged.
- * @NFC_EVENT_SE_CONNECTIVITY: This event is emitted whenever a secure element
- * is requesting connectivity access. For example a UICC SE may need to
- * talk with a sleeping modem and will notify this need by sending this
- * event. It is then up to userspace to decide if it will wake the modem
- * up or not.
- * @NFC_EVENT_SE_TRANSACTION: This event is sent when an application running on
- * a specific SE notifies us about the end of a transaction. The parameter
- * for this event is the application ID (AID).
- * @NFC_CMD_GET_SE: Dump all discovered secure elements from an NFC controller.
- * @NFC_CMD_SE_IO: Send/Receive APDUs to/from the selected secure element.
- * @NFC_CMD_ACTIVATE_TARGET: Request NFC controller to reactivate target.
- * @NFC_CMD_VENDOR: Vendor specific command, to be implemented directly
- * from the driver in order to support hardware specific operations.
- */
-enum nfc_commands {
- NFC_CMD_UNSPEC,
- NFC_CMD_GET_DEVICE,
- NFC_CMD_DEV_UP,
- NFC_CMD_DEV_DOWN,
- NFC_CMD_DEP_LINK_UP,
- NFC_CMD_DEP_LINK_DOWN,
- NFC_CMD_START_POLL,
- NFC_CMD_STOP_POLL,
- NFC_CMD_GET_TARGET,
- NFC_EVENT_TARGETS_FOUND,
- NFC_EVENT_DEVICE_ADDED,
- NFC_EVENT_DEVICE_REMOVED,
- NFC_EVENT_TARGET_LOST,
- NFC_EVENT_TM_ACTIVATED,
- NFC_EVENT_TM_DEACTIVATED,
- NFC_CMD_LLC_GET_PARAMS,
- NFC_CMD_LLC_SET_PARAMS,
- NFC_CMD_ENABLE_SE,
- NFC_CMD_DISABLE_SE,
- NFC_CMD_LLC_SDREQ,
- NFC_EVENT_LLC_SDRES,
- NFC_CMD_FW_DOWNLOAD,
- NFC_EVENT_SE_ADDED,
- NFC_EVENT_SE_REMOVED,
- NFC_EVENT_SE_CONNECTIVITY,
- NFC_EVENT_SE_TRANSACTION,
- NFC_CMD_GET_SE,
- NFC_CMD_SE_IO,
- NFC_CMD_ACTIVATE_TARGET,
- NFC_CMD_VENDOR,
-/* private: internal use only */
- __NFC_CMD_AFTER_LAST
-};
-#define NFC_CMD_MAX (__NFC_CMD_AFTER_LAST - 1)
-
-/**
- * enum nfc_attrs - supported nfc attributes
- *
- * @NFC_ATTR_UNSPEC: unspecified attribute
- *
- * @NFC_ATTR_DEVICE_INDEX: index of nfc device
- * @NFC_ATTR_DEVICE_NAME: device name, max 8 chars
- * @NFC_ATTR_PROTOCOLS: nfc protocols - bitwise or-ed combination from
- * NFC_PROTO_*_MASK constants
- * @NFC_ATTR_TARGET_INDEX: index of the nfc target
- * @NFC_ATTR_TARGET_SENS_RES: NFC-A targets extra information such as NFCID
- * @NFC_ATTR_TARGET_SEL_RES: NFC-A targets extra information (useful if the
- * target is not NFC-Forum compliant)
- * @NFC_ATTR_TARGET_NFCID1: NFC-A targets identifier, max 10 bytes
- * @NFC_ATTR_TARGET_SENSB_RES: NFC-B targets extra information, max 12 bytes
- * @NFC_ATTR_TARGET_SENSF_RES: NFC-F targets extra information, max 18 bytes
- * @NFC_ATTR_COMM_MODE: Passive or active mode
- * @NFC_ATTR_RF_MODE: Initiator or target
- * @NFC_ATTR_IM_PROTOCOLS: Initiator mode protocols to poll for
- * @NFC_ATTR_TM_PROTOCOLS: Target mode protocols to listen for
- * @NFC_ATTR_LLC_PARAM_LTO: Link TimeOut parameter
- * @NFC_ATTR_LLC_PARAM_RW: Receive Window size parameter
- * @NFC_ATTR_LLC_PARAM_MIUX: MIU eXtension parameter
- * @NFC_ATTR_SE: Available Secure Elements
- * @NFC_ATTR_FIRMWARE_NAME: Free format firmware version
- * @NFC_ATTR_SE_INDEX: Secure element index
- * @NFC_ATTR_SE_TYPE: Secure element type (UICC or EMBEDDED)
- * @NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS: Firmware download operation status
- * @NFC_ATTR_APDU: Secure element APDU
- * @NFC_ATTR_TARGET_ISO15693_DSFID: ISO 15693 Data Storage Format Identifier
- * @NFC_ATTR_TARGET_ISO15693_UID: ISO 15693 Unique Identifier
- * @NFC_ATTR_SE_PARAMS: Parameters data from an evt_transaction
- * @NFC_ATTR_VENDOR_ID: NFC manufacturer unique ID, typically an OUI
- * @NFC_ATTR_VENDOR_SUBCMD: Vendor specific sub command
- * @NFC_ATTR_VENDOR_DATA: Vendor specific data, to be optionally passed
- * to a vendor specific command implementation
- */
-enum nfc_attrs {
- NFC_ATTR_UNSPEC,
- NFC_ATTR_DEVICE_INDEX,
- NFC_ATTR_DEVICE_NAME,
- NFC_ATTR_PROTOCOLS,
- NFC_ATTR_TARGET_INDEX,
- NFC_ATTR_TARGET_SENS_RES,
- NFC_ATTR_TARGET_SEL_RES,
- NFC_ATTR_TARGET_NFCID1,
- NFC_ATTR_TARGET_SENSB_RES,
- NFC_ATTR_TARGET_SENSF_RES,
- NFC_ATTR_COMM_MODE,
- NFC_ATTR_RF_MODE,
- NFC_ATTR_DEVICE_POWERED,
- NFC_ATTR_IM_PROTOCOLS,
- NFC_ATTR_TM_PROTOCOLS,
- NFC_ATTR_LLC_PARAM_LTO,
- NFC_ATTR_LLC_PARAM_RW,
- NFC_ATTR_LLC_PARAM_MIUX,
- NFC_ATTR_SE,
- NFC_ATTR_LLC_SDP,
- NFC_ATTR_FIRMWARE_NAME,
- NFC_ATTR_SE_INDEX,
- NFC_ATTR_SE_TYPE,
- NFC_ATTR_SE_AID,
- NFC_ATTR_FIRMWARE_DOWNLOAD_STATUS,
- NFC_ATTR_SE_APDU,
- NFC_ATTR_TARGET_ISO15693_DSFID,
- NFC_ATTR_TARGET_ISO15693_UID,
- NFC_ATTR_SE_PARAMS,
- NFC_ATTR_VENDOR_ID,
- NFC_ATTR_VENDOR_SUBCMD,
- NFC_ATTR_VENDOR_DATA,
-/* private: internal use only */
- __NFC_ATTR_AFTER_LAST
-};
-#define NFC_ATTR_MAX (__NFC_ATTR_AFTER_LAST - 1)
-
-enum nfc_sdp_attr {
- NFC_SDP_ATTR_UNSPEC,
- NFC_SDP_ATTR_URI,
- NFC_SDP_ATTR_SAP,
-/* private: internal use only */
- __NFC_SDP_ATTR_AFTER_LAST
-};
-#define NFC_SDP_ATTR_MAX (__NFC_SDP_ATTR_AFTER_LAST - 1)
-
-#define NFC_DEVICE_NAME_MAXSIZE 8
-#define NFC_NFCID1_MAXSIZE 10
-#define NFC_NFCID2_MAXSIZE 8
-#define NFC_NFCID3_MAXSIZE 10
-#define NFC_SENSB_RES_MAXSIZE 12
-#define NFC_SENSF_RES_MAXSIZE 18
-#define NFC_ATR_REQ_MAXSIZE 64
-#define NFC_ATR_RES_MAXSIZE 64
-#define NFC_ATR_REQ_GB_MAXSIZE 48
-#define NFC_ATR_RES_GB_MAXSIZE 47
-#define NFC_GB_MAXSIZE 48
-#define NFC_FIRMWARE_NAME_MAXSIZE 32
-#define NFC_ISO15693_UID_MAXSIZE 8
-
-/* NFC protocols */
-#define NFC_PROTO_JEWEL 1
-#define NFC_PROTO_MIFARE 2
-#define NFC_PROTO_FELICA 3
-#define NFC_PROTO_ISO14443 4
-#define NFC_PROTO_NFC_DEP 5
-#define NFC_PROTO_ISO14443_B 6
-#define NFC_PROTO_ISO15693 7
-
-#define NFC_PROTO_MAX 8
-
-/* NFC communication modes */
-#define NFC_COMM_ACTIVE 0
-#define NFC_COMM_PASSIVE 1
-
-/* NFC RF modes */
-#define NFC_RF_INITIATOR 0
-#define NFC_RF_TARGET 1
-#define NFC_RF_NONE 2
-
-/* NFC protocols masks used in bitsets */
-#define NFC_PROTO_JEWEL_MASK (1 << NFC_PROTO_JEWEL)
-#define NFC_PROTO_MIFARE_MASK (1 << NFC_PROTO_MIFARE)
-#define NFC_PROTO_FELICA_MASK (1 << NFC_PROTO_FELICA)
-#define NFC_PROTO_ISO14443_MASK (1 << NFC_PROTO_ISO14443)
-#define NFC_PROTO_NFC_DEP_MASK (1 << NFC_PROTO_NFC_DEP)
-#define NFC_PROTO_ISO14443_B_MASK (1 << NFC_PROTO_ISO14443_B)
-#define NFC_PROTO_ISO15693_MASK (1 << NFC_PROTO_ISO15693)
-
-/* NFC Secure Elements */
-#define NFC_SE_UICC 0x1
-#define NFC_SE_EMBEDDED 0x2
-
-#define NFC_SE_DISABLED 0x0
-#define NFC_SE_ENABLED 0x1
-
-struct sockaddr_nfc {
- sa_family_t sa_family;
- __u32 dev_idx;
- __u32 target_idx;
- __u32 nfc_protocol;
-};
-
-#define NFC_LLCP_MAX_SERVICE_NAME 63
-struct sockaddr_nfc_llcp {
- sa_family_t sa_family;
- __u32 dev_idx;
- __u32 target_idx;
- __u32 nfc_protocol;
- __u8 dsap; /* Destination SAP, if known */
- __u8 ssap; /* Source SAP to be bound to */
- char service_name[NFC_LLCP_MAX_SERVICE_NAME]; /* Service name URI */;
- size_t service_name_len;
-};
-
-/* NFC socket protocols */
-#define NFC_SOCKPROTO_RAW 0
-#define NFC_SOCKPROTO_LLCP 1
-#define NFC_SOCKPROTO_MAX 2
-
-#define NFC_HEADER_SIZE 1
-
-/**
- * Pseudo-header info for raw socket packets
- * First byte is the adapter index
- * Second byte contains flags
- * - 0x01 - Direction (0=RX, 1=TX)
- * - 0x02-0x04 - Payload type (000=LLCP, 001=NCI, 010=HCI, 011=Digital,
- * 100=Proprietary)
- * - 0x05-0x80 - Reserved
- **/
-#define NFC_RAW_HEADER_SIZE 2
-#define NFC_DIRECTION_RX 0x00
-#define NFC_DIRECTION_TX 0x01
-
-#define RAW_PAYLOAD_LLCP 0
-#define RAW_PAYLOAD_NCI 1
-#define RAW_PAYLOAD_HCI 2
-#define RAW_PAYLOAD_DIGITAL 3
-#define RAW_PAYLOAD_PROPRIETARY 4
-
-/* socket option names */
-#define NFC_LLCP_RW 0
-#define NFC_LLCP_MIUX 1
-#define NFC_LLCP_REMOTE_MIU 2
-#define NFC_LLCP_REMOTE_LTO 3
-#define NFC_LLCP_REMOTE_RW 4
-
-#endif /*__LINUX_NFC_H */
diff --git a/linux-headers/include/linux/nfs.h b/linux-headers/include/linux/nfs.h
deleted file mode 100644
index 85a16dd..0000000
--- a/linux-headers/include/linux/nfs.h
+++ /dev/null
@@ -1,133 +0,0 @@
-/*
- * NFS protocol definitions
- *
- * This file contains constants mostly for Version 2 of the protocol,
- * but also has a couple of NFSv3 bits in (notably the error codes).
- */
-#ifndef _LINUX_NFS_H
-#define _LINUX_NFS_H
-
-#include <linux/types.h>
-
-#define NFS_PROGRAM 100003
-#define NFS_PORT 2049
-#define NFS_MAXDATA 8192
-#define NFS_MAXPATHLEN 1024
-#define NFS_MAXNAMLEN 255
-#define NFS_MAXGROUPS 16
-#define NFS_FHSIZE 32
-#define NFS_COOKIESIZE 4
-#define NFS_FIFO_DEV (-1)
-#define NFSMODE_FMT 0170000
-#define NFSMODE_DIR 0040000
-#define NFSMODE_CHR 0020000
-#define NFSMODE_BLK 0060000
-#define NFSMODE_REG 0100000
-#define NFSMODE_LNK 0120000
-#define NFSMODE_SOCK 0140000
-#define NFSMODE_FIFO 0010000
-
-#define NFS_MNT_PROGRAM 100005
-#define NFS_MNT_VERSION 1
-#define NFS_MNT3_VERSION 3
-
-#define NFS_PIPE_DIRNAME "nfs"
-
-/*
- * NFS stats. The good thing with these values is that NFSv3 errors are
- * a superset of NFSv2 errors (with the exception of NFSERR_WFLUSH which
- * no-one uses anyway), so we can happily mix code as long as we make sure
- * no NFSv3 errors are returned to NFSv2 clients.
- * Error codes that have a `--' in the v2 column are not part of the
- * standard, but seem to be widely used nevertheless.
- */
- enum nfs_stat {
- NFS_OK = 0, /* v2 v3 v4 */
- NFSERR_PERM = 1, /* v2 v3 v4 */
- NFSERR_NOENT = 2, /* v2 v3 v4 */
- NFSERR_IO = 5, /* v2 v3 v4 */
- NFSERR_NXIO = 6, /* v2 v3 v4 */
- NFSERR_EAGAIN = 11, /* v2 v3 */
- NFSERR_ACCES = 13, /* v2 v3 v4 */
- NFSERR_EXIST = 17, /* v2 v3 v4 */
- NFSERR_XDEV = 18, /* v3 v4 */
- NFSERR_NODEV = 19, /* v2 v3 v4 */
- NFSERR_NOTDIR = 20, /* v2 v3 v4 */
- NFSERR_ISDIR = 21, /* v2 v3 v4 */
- NFSERR_INVAL = 22, /* v2 v3 v4 */
- NFSERR_FBIG = 27, /* v2 v3 v4 */
- NFSERR_NOSPC = 28, /* v2 v3 v4 */
- NFSERR_ROFS = 30, /* v2 v3 v4 */
- NFSERR_MLINK = 31, /* v3 v4 */
- NFSERR_OPNOTSUPP = 45, /* v2 v3 */
- NFSERR_NAMETOOLONG = 63, /* v2 v3 v4 */
- NFSERR_NOTEMPTY = 66, /* v2 v3 v4 */
- NFSERR_DQUOT = 69, /* v2 v3 v4 */
- NFSERR_STALE = 70, /* v2 v3 v4 */
- NFSERR_REMOTE = 71, /* v2 v3 */
- NFSERR_WFLUSH = 99, /* v2 */
- NFSERR_BADHANDLE = 10001, /* v3 v4 */
- NFSERR_NOT_SYNC = 10002, /* v3 */
- NFSERR_BAD_COOKIE = 10003, /* v3 v4 */
- NFSERR_NOTSUPP = 10004, /* v3 v4 */
- NFSERR_TOOSMALL = 10005, /* v3 v4 */
- NFSERR_SERVERFAULT = 10006, /* v3 v4 */
- NFSERR_BADTYPE = 10007, /* v3 v4 */
- NFSERR_JUKEBOX = 10008, /* v3 v4 */
- NFSERR_SAME = 10009, /* v4 */
- NFSERR_DENIED = 10010, /* v4 */
- NFSERR_EXPIRED = 10011, /* v4 */
- NFSERR_LOCKED = 10012, /* v4 */
- NFSERR_GRACE = 10013, /* v4 */
- NFSERR_FHEXPIRED = 10014, /* v4 */
- NFSERR_SHARE_DENIED = 10015, /* v4 */
- NFSERR_WRONGSEC = 10016, /* v4 */
- NFSERR_CLID_INUSE = 10017, /* v4 */
- NFSERR_RESOURCE = 10018, /* v4 */
- NFSERR_MOVED = 10019, /* v4 */
- NFSERR_NOFILEHANDLE = 10020, /* v4 */
- NFSERR_MINOR_VERS_MISMATCH = 10021, /* v4 */
- NFSERR_STALE_CLIENTID = 10022, /* v4 */
- NFSERR_STALE_STATEID = 10023, /* v4 */
- NFSERR_OLD_STATEID = 10024, /* v4 */
- NFSERR_BAD_STATEID = 10025, /* v4 */
- NFSERR_BAD_SEQID = 10026, /* v4 */
- NFSERR_NOT_SAME = 10027, /* v4 */
- NFSERR_LOCK_RANGE = 10028, /* v4 */
- NFSERR_SYMLINK = 10029, /* v4 */
- NFSERR_RESTOREFH = 10030, /* v4 */
- NFSERR_LEASE_MOVED = 10031, /* v4 */
- NFSERR_ATTRNOTSUPP = 10032, /* v4 */
- NFSERR_NO_GRACE = 10033, /* v4 */
- NFSERR_RECLAIM_BAD = 10034, /* v4 */
- NFSERR_RECLAIM_CONFLICT = 10035,/* v4 */
- NFSERR_BAD_XDR = 10036, /* v4 */
- NFSERR_LOCKS_HELD = 10037, /* v4 */
- NFSERR_OPENMODE = 10038, /* v4 */
- NFSERR_BADOWNER = 10039, /* v4 */
- NFSERR_BADCHAR = 10040, /* v4 */
- NFSERR_BADNAME = 10041, /* v4 */
- NFSERR_BAD_RANGE = 10042, /* v4 */
- NFSERR_LOCK_NOTSUPP = 10043, /* v4 */
- NFSERR_OP_ILLEGAL = 10044, /* v4 */
- NFSERR_DEADLOCK = 10045, /* v4 */
- NFSERR_FILE_OPEN = 10046, /* v4 */
- NFSERR_ADMIN_REVOKED = 10047, /* v4 */
- NFSERR_CB_PATH_DOWN = 10048, /* v4 */
-};
-
-/* NFSv2 file types - beware, these are not the same in NFSv3 */
-
-enum nfs_ftype {
- NFNON = 0,
- NFREG = 1,
- NFDIR = 2,
- NFBLK = 3,
- NFCHR = 4,
- NFLNK = 5,
- NFSOCK = 6,
- NFBAD = 7,
- NFFIFO = 8
-};
-
-#endif /* _LINUX_NFS_H */
diff --git a/linux-headers/include/linux/nfs2.h b/linux-headers/include/linux/nfs2.h
deleted file mode 100644
index fde24b3..0000000
--- a/linux-headers/include/linux/nfs2.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * NFS protocol definitions
- *
- * This file contains constants for Version 2 of the protocol.
- */
-#ifndef _LINUX_NFS2_H
-#define _LINUX_NFS2_H
-
-#define NFS2_PORT 2049
-#define NFS2_MAXDATA 8192
-#define NFS2_MAXPATHLEN 1024
-#define NFS2_MAXNAMLEN 255
-#define NFS2_MAXGROUPS 16
-#define NFS2_FHSIZE 32
-#define NFS2_COOKIESIZE 4
-#define NFS2_FIFO_DEV (-1)
-#define NFS2MODE_FMT 0170000
-#define NFS2MODE_DIR 0040000
-#define NFS2MODE_CHR 0020000
-#define NFS2MODE_BLK 0060000
-#define NFS2MODE_REG 0100000
-#define NFS2MODE_LNK 0120000
-#define NFS2MODE_SOCK 0140000
-#define NFS2MODE_FIFO 0010000
-
-
-/* NFSv2 file types - beware, these are not the same in NFSv3 */
-enum nfs2_ftype {
- NF2NON = 0,
- NF2REG = 1,
- NF2DIR = 2,
- NF2BLK = 3,
- NF2CHR = 4,
- NF2LNK = 5,
- NF2SOCK = 6,
- NF2BAD = 7,
- NF2FIFO = 8
-};
-
-struct nfs2_fh {
- char data[NFS2_FHSIZE];
-};
-
-/*
- * Procedure numbers for NFSv2
- */
-#define NFS2_VERSION 2
-#define NFSPROC_NULL 0
-#define NFSPROC_GETATTR 1
-#define NFSPROC_SETATTR 2
-#define NFSPROC_ROOT 3
-#define NFSPROC_LOOKUP 4
-#define NFSPROC_READLINK 5
-#define NFSPROC_READ 6
-#define NFSPROC_WRITECACHE 7
-#define NFSPROC_WRITE 8
-#define NFSPROC_CREATE 9
-#define NFSPROC_REMOVE 10
-#define NFSPROC_RENAME 11
-#define NFSPROC_LINK 12
-#define NFSPROC_SYMLINK 13
-#define NFSPROC_MKDIR 14
-#define NFSPROC_RMDIR 15
-#define NFSPROC_READDIR 16
-#define NFSPROC_STATFS 17
-
-#endif /* _LINUX_NFS2_H */
diff --git a/linux-headers/include/linux/nfs3.h b/linux-headers/include/linux/nfs3.h
deleted file mode 100644
index bacfe41..0000000
--- a/linux-headers/include/linux/nfs3.h
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * NFSv3 protocol definitions
- */
-#ifndef _LINUX_NFS3_H
-#define _LINUX_NFS3_H
-
-#define NFS3_PORT 2049
-#define NFS3_MAXDATA 32768
-#define NFS3_MAXPATHLEN PATH_MAX
-#define NFS3_MAXNAMLEN NAME_MAX
-#define NFS3_MAXGROUPS 16
-#define NFS3_FHSIZE 64
-#define NFS3_COOKIESIZE 4
-#define NFS3_CREATEVERFSIZE 8
-#define NFS3_COOKIEVERFSIZE 8
-#define NFS3_WRITEVERFSIZE 8
-#define NFS3_FIFO_DEV (-1)
-#define NFS3MODE_FMT 0170000
-#define NFS3MODE_DIR 0040000
-#define NFS3MODE_CHR 0020000
-#define NFS3MODE_BLK 0060000
-#define NFS3MODE_REG 0100000
-#define NFS3MODE_LNK 0120000
-#define NFS3MODE_SOCK 0140000
-#define NFS3MODE_FIFO 0010000
-
-/* Flags for access() call */
-#define NFS3_ACCESS_READ 0x0001
-#define NFS3_ACCESS_LOOKUP 0x0002
-#define NFS3_ACCESS_MODIFY 0x0004
-#define NFS3_ACCESS_EXTEND 0x0008
-#define NFS3_ACCESS_DELETE 0x0010
-#define NFS3_ACCESS_EXECUTE 0x0020
-#define NFS3_ACCESS_FULL 0x003f
-
-/* Flags for create mode */
-enum nfs3_createmode {
- NFS3_CREATE_UNCHECKED = 0,
- NFS3_CREATE_GUARDED = 1,
- NFS3_CREATE_EXCLUSIVE = 2
-};
-
-/* NFSv3 file system properties */
-#define NFS3_FSF_LINK 0x0001
-#define NFS3_FSF_SYMLINK 0x0002
-#define NFS3_FSF_HOMOGENEOUS 0x0008
-#define NFS3_FSF_CANSETTIME 0x0010
-/* Some shorthands. See fs/nfsd/nfs3proc.c */
-#define NFS3_FSF_DEFAULT 0x001B
-#define NFS3_FSF_BILLYBOY 0x0018
-#define NFS3_FSF_READONLY 0x0008
-
-enum nfs3_ftype {
- NF3NON = 0,
- NF3REG = 1,
- NF3DIR = 2,
- NF3BLK = 3,
- NF3CHR = 4,
- NF3LNK = 5,
- NF3SOCK = 6,
- NF3FIFO = 7, /* changed from NFSv2 (was 8) */
- NF3BAD = 8
-};
-
-struct nfs3_fh {
- unsigned short size;
- unsigned char data[NFS3_FHSIZE];
-};
-
-#define NFS3_VERSION 3
-#define NFS3PROC_NULL 0
-#define NFS3PROC_GETATTR 1
-#define NFS3PROC_SETATTR 2
-#define NFS3PROC_LOOKUP 3
-#define NFS3PROC_ACCESS 4
-#define NFS3PROC_READLINK 5
-#define NFS3PROC_READ 6
-#define NFS3PROC_WRITE 7
-#define NFS3PROC_CREATE 8
-#define NFS3PROC_MKDIR 9
-#define NFS3PROC_SYMLINK 10
-#define NFS3PROC_MKNOD 11
-#define NFS3PROC_REMOVE 12
-#define NFS3PROC_RMDIR 13
-#define NFS3PROC_RENAME 14
-#define NFS3PROC_LINK 15
-#define NFS3PROC_READDIR 16
-#define NFS3PROC_READDIRPLUS 17
-#define NFS3PROC_FSSTAT 18
-#define NFS3PROC_FSINFO 19
-#define NFS3PROC_PATHCONF 20
-#define NFS3PROC_COMMIT 21
-
-#define NFS_MNT3_VERSION 3
-
-
-#endif /* _LINUX_NFS3_H */
diff --git a/linux-headers/include/linux/nfs4.h b/linux-headers/include/linux/nfs4.h
deleted file mode 100644
index 5ab38ab..0000000
--- a/linux-headers/include/linux/nfs4.h
+++ /dev/null
@@ -1,178 +0,0 @@
-/*
- * include/linux/nfs4.h
- *
- * NFSv4 protocol definitions.
- *
- * Copyright (c) 2002 The Regents of the University of Michigan.
- * All rights reserved.
- *
- * Kendrick Smith <kmsmith@umich.edu>
- * Andy Adamson <andros@umich.edu>
- */
-
-#ifndef _LINUX_NFS4_H
-#define _LINUX_NFS4_H
-
-#include <linux/types.h>
-
-#define NFS4_BITMAP_SIZE 3
-#define NFS4_VERIFIER_SIZE 8
-#define NFS4_STATEID_SEQID_SIZE 4
-#define NFS4_STATEID_OTHER_SIZE 12
-#define NFS4_STATEID_SIZE (NFS4_STATEID_SEQID_SIZE + NFS4_STATEID_OTHER_SIZE)
-#define NFS4_FHSIZE 128
-#define NFS4_MAXPATHLEN PATH_MAX
-#define NFS4_MAXNAMLEN NAME_MAX
-#define NFS4_OPAQUE_LIMIT 1024
-#define NFS4_MAX_SESSIONID_LEN 16
-
-#define NFS4_ACCESS_READ 0x0001
-#define NFS4_ACCESS_LOOKUP 0x0002
-#define NFS4_ACCESS_MODIFY 0x0004
-#define NFS4_ACCESS_EXTEND 0x0008
-#define NFS4_ACCESS_DELETE 0x0010
-#define NFS4_ACCESS_EXECUTE 0x0020
-
-#define NFS4_FH_PERSISTENT 0x0000
-#define NFS4_FH_NOEXPIRE_WITH_OPEN 0x0001
-#define NFS4_FH_VOLATILE_ANY 0x0002
-#define NFS4_FH_VOL_MIGRATION 0x0004
-#define NFS4_FH_VOL_RENAME 0x0008
-
-#define NFS4_OPEN_RESULT_CONFIRM 0x0002
-#define NFS4_OPEN_RESULT_LOCKTYPE_POSIX 0x0004
-
-#define NFS4_SHARE_ACCESS_MASK 0x000F
-#define NFS4_SHARE_ACCESS_READ 0x0001
-#define NFS4_SHARE_ACCESS_WRITE 0x0002
-#define NFS4_SHARE_ACCESS_BOTH 0x0003
-#define NFS4_SHARE_DENY_READ 0x0001
-#define NFS4_SHARE_DENY_WRITE 0x0002
-#define NFS4_SHARE_DENY_BOTH 0x0003
-
-/* nfs41 */
-#define NFS4_SHARE_WANT_MASK 0xFF00
-#define NFS4_SHARE_WANT_NO_PREFERENCE 0x0000
-#define NFS4_SHARE_WANT_READ_DELEG 0x0100
-#define NFS4_SHARE_WANT_WRITE_DELEG 0x0200
-#define NFS4_SHARE_WANT_ANY_DELEG 0x0300
-#define NFS4_SHARE_WANT_NO_DELEG 0x0400
-#define NFS4_SHARE_WANT_CANCEL 0x0500
-
-#define NFS4_SHARE_WHEN_MASK 0xF0000
-#define NFS4_SHARE_SIGNAL_DELEG_WHEN_RESRC_AVAIL 0x10000
-#define NFS4_SHARE_PUSH_DELEG_WHEN_UNCONTENDED 0x20000
-
-#define NFS4_CDFC4_FORE 0x1
-#define NFS4_CDFC4_BACK 0x2
-#define NFS4_CDFC4_BOTH 0x3
-#define NFS4_CDFC4_FORE_OR_BOTH 0x3
-#define NFS4_CDFC4_BACK_OR_BOTH 0x7
-
-#define NFS4_CDFS4_FORE 0x1
-#define NFS4_CDFS4_BACK 0x2
-#define NFS4_CDFS4_BOTH 0x3
-
-#define NFS4_SET_TO_SERVER_TIME 0
-#define NFS4_SET_TO_CLIENT_TIME 1
-
-#define NFS4_ACE_ACCESS_ALLOWED_ACE_TYPE 0
-#define NFS4_ACE_ACCESS_DENIED_ACE_TYPE 1
-#define NFS4_ACE_SYSTEM_AUDIT_ACE_TYPE 2
-#define NFS4_ACE_SYSTEM_ALARM_ACE_TYPE 3
-
-#define ACL4_SUPPORT_ALLOW_ACL 0x01
-#define ACL4_SUPPORT_DENY_ACL 0x02
-#define ACL4_SUPPORT_AUDIT_ACL 0x04
-#define ACL4_SUPPORT_ALARM_ACL 0x08
-
-#define NFS4_ACL_AUTO_INHERIT 0x00000001
-#define NFS4_ACL_PROTECTED 0x00000002
-#define NFS4_ACL_DEFAULTED 0x00000004
-
-#define NFS4_ACE_FILE_INHERIT_ACE 0x00000001
-#define NFS4_ACE_DIRECTORY_INHERIT_ACE 0x00000002
-#define NFS4_ACE_NO_PROPAGATE_INHERIT_ACE 0x00000004
-#define NFS4_ACE_INHERIT_ONLY_ACE 0x00000008
-#define NFS4_ACE_SUCCESSFUL_ACCESS_ACE_FLAG 0x00000010
-#define NFS4_ACE_FAILED_ACCESS_ACE_FLAG 0x00000020
-#define NFS4_ACE_IDENTIFIER_GROUP 0x00000040
-#define NFS4_ACE_INHERITED_ACE 0x00000080
-
-#define NFS4_ACE_READ_DATA 0x00000001
-#define NFS4_ACE_LIST_DIRECTORY 0x00000001
-#define NFS4_ACE_WRITE_DATA 0x00000002
-#define NFS4_ACE_ADD_FILE 0x00000002
-#define NFS4_ACE_APPEND_DATA 0x00000004
-#define NFS4_ACE_ADD_SUBDIRECTORY 0x00000004
-#define NFS4_ACE_READ_NAMED_ATTRS 0x00000008
-#define NFS4_ACE_WRITE_NAMED_ATTRS 0x00000010
-#define NFS4_ACE_EXECUTE 0x00000020
-#define NFS4_ACE_DELETE_CHILD 0x00000040
-#define NFS4_ACE_READ_ATTRIBUTES 0x00000080
-#define NFS4_ACE_WRITE_ATTRIBUTES 0x00000100
-#define NFS4_ACE_WRITE_RETENTION 0x00000200
-#define NFS4_ACE_WRITE_RETENTION_HOLD 0x00000400
-#define NFS4_ACE_DELETE 0x00010000
-#define NFS4_ACE_READ_ACL 0x00020000
-#define NFS4_ACE_WRITE_ACL 0x00040000
-#define NFS4_ACE_WRITE_OWNER 0x00080000
-#define NFS4_ACE_SYNCHRONIZE 0x00100000
-#define NFS4_ACE_GENERIC_READ 0x00120081
-#define NFS4_ACE_GENERIC_WRITE 0x00160106
-#define NFS4_ACE_GENERIC_EXECUTE 0x001200A0
-#define NFS4_ACE_MASK_ALL 0x001F01FF
-
-#define EXCHGID4_FLAG_SUPP_MOVED_REFER 0x00000001
-#define EXCHGID4_FLAG_SUPP_MOVED_MIGR 0x00000002
-#define EXCHGID4_FLAG_BIND_PRINC_STATEID 0x00000100
-
-#define EXCHGID4_FLAG_USE_NON_PNFS 0x00010000
-#define EXCHGID4_FLAG_USE_PNFS_MDS 0x00020000
-#define EXCHGID4_FLAG_USE_PNFS_DS 0x00040000
-#define EXCHGID4_FLAG_MASK_PNFS 0x00070000
-
-#define EXCHGID4_FLAG_UPD_CONFIRMED_REC_A 0x40000000
-#define EXCHGID4_FLAG_CONFIRMED_R 0x80000000
-/*
- * Since the validity of these bits depends on whether
- * they're set in the argument or response, have separate
- * invalid flag masks for arg (_A) and resp (_R).
- */
-#define EXCHGID4_FLAG_MASK_A 0x40070103
-#define EXCHGID4_FLAG_MASK_R 0x80070103
-
-#define SEQ4_STATUS_CB_PATH_DOWN 0x00000001
-#define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRING 0x00000002
-#define SEQ4_STATUS_CB_GSS_CONTEXTS_EXPIRED 0x00000004
-#define SEQ4_STATUS_EXPIRED_ALL_STATE_REVOKED 0x00000008
-#define SEQ4_STATUS_EXPIRED_SOME_STATE_REVOKED 0x00000010
-#define SEQ4_STATUS_ADMIN_STATE_REVOKED 0x00000020
-#define SEQ4_STATUS_RECALLABLE_STATE_REVOKED 0x00000040
-#define SEQ4_STATUS_LEASE_MOVED 0x00000080
-#define SEQ4_STATUS_RESTART_RECLAIM_NEEDED 0x00000100
-#define SEQ4_STATUS_CB_PATH_DOWN_SESSION 0x00000200
-#define SEQ4_STATUS_BACKCHANNEL_FAULT 0x00000400
-
-#define NFS4_SECINFO_STYLE4_CURRENT_FH 0
-#define NFS4_SECINFO_STYLE4_PARENT 1
-
-#define NFS4_MAX_UINT64 (~(__u64)0)
-
-/* An NFS4 sessions server must support at least NFS4_MAX_OPS operations.
- * If a compound requires more operations, adjust NFS4_MAX_OPS accordingly.
- */
-#define NFS4_MAX_OPS 8
-
-/* Our NFS4 client back channel server only wants the cb_sequene and the
- * actual operation per compound
- */
-#define NFS4_MAX_BACK_CHANNEL_OPS 2
-
-#endif /* _LINUX_NFS4_H */
-
-/*
- * Local variables:
- * c-basic-offset: 8
- * End:
- */
diff --git a/linux-headers/include/linux/nfs4_mount.h b/linux-headers/include/linux/nfs4_mount.h
deleted file mode 100644
index f4ff32d..0000000
--- a/linux-headers/include/linux/nfs4_mount.h
+++ /dev/null
@@ -1,71 +0,0 @@
-#ifndef _LINUX_NFS4_MOUNT_H
-#define _LINUX_NFS4_MOUNT_H
-
-/*
- * linux/include/linux/nfs4_mount.h
- *
- * Copyright (C) 2002 Trond Myklebust
- *
- * structure passed from user-space to kernel-space during an nfsv4 mount
- */
-
-/*
- * WARNING! Do not delete or change the order of these fields. If
- * a new field is required then add it to the end. The version field
- * tracks which fields are present. This will ensure some measure of
- * mount-to-kernel version compatibility. Some of these aren't used yet
- * but here they are anyway.
- */
-#define NFS4_MOUNT_VERSION 1
-
-struct nfs_string {
- unsigned int len;
- const char * data;
-};
-
-struct nfs4_mount_data {
- int version; /* 1 */
- int flags; /* 1 */
- int rsize; /* 1 */
- int wsize; /* 1 */
- int timeo; /* 1 */
- int retrans; /* 1 */
- int acregmin; /* 1 */
- int acregmax; /* 1 */
- int acdirmin; /* 1 */
- int acdirmax; /* 1 */
-
- /* see the definition of 'struct clientaddr4' in RFC3010 */
- struct nfs_string client_addr; /* 1 */
-
- /* Mount path */
- struct nfs_string mnt_path; /* 1 */
-
- /* Server details */
- struct nfs_string hostname; /* 1 */
- /* Server IP address */
- unsigned int host_addrlen; /* 1 */
- struct sockaddr * host_addr; /* 1 */
-
- /* Transport protocol to use */
- int proto; /* 1 */
-
- /* Pseudo-flavours to use for authentication. See RFC2623 */
- int auth_flavourlen; /* 1 */
- int *auth_flavours; /* 1 */
-};
-
-/* bits in the flags field */
-/* Note: the fields that correspond to existing NFSv2/v3 mount options
- * should mirror the values from include/linux/nfs_mount.h
- */
-
-#define NFS4_MOUNT_SOFT 0x0001 /* 1 */
-#define NFS4_MOUNT_INTR 0x0002 /* 1 */
-#define NFS4_MOUNT_NOCTO 0x0010 /* 1 */
-#define NFS4_MOUNT_NOAC 0x0020 /* 1 */
-#define NFS4_MOUNT_STRICTLOCK 0x1000 /* 1 */
-#define NFS4_MOUNT_UNSHARED 0x8000 /* 1 */
-#define NFS4_MOUNT_FLAGMASK 0x9033
-
-#endif
diff --git a/linux-headers/include/linux/nfs_fs.h b/linux-headers/include/linux/nfs_fs.h
deleted file mode 100644
index 99e509a..0000000
--- a/linux-headers/include/linux/nfs_fs.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * linux/include/linux/nfs_fs.h
- *
- * Copyright (C) 1992 Rick Sladkey
- *
- * OS-specific nfs filesystem definitions and declarations
- */
-
-#ifndef _LINUX_NFS_FS_H
-#define _LINUX_NFS_FS_H
-
-#include <linux/magic.h>
-
-/* Default timeout values */
-#define NFS_DEF_UDP_TIMEO (11)
-#define NFS_DEF_UDP_RETRANS (3)
-#define NFS_DEF_TCP_TIMEO (600)
-#define NFS_DEF_TCP_RETRANS (2)
-
-#define NFS_MAX_UDP_TIMEOUT (60*HZ)
-#define NFS_MAX_TCP_TIMEOUT (600*HZ)
-
-#define NFS_DEF_ACREGMIN (3)
-#define NFS_DEF_ACREGMAX (60)
-#define NFS_DEF_ACDIRMIN (30)
-#define NFS_DEF_ACDIRMAX (60)
-
-/*
- * When flushing a cluster of dirty pages, there can be different
- * strategies:
- */
-#define FLUSH_SYNC 1 /* file being synced, or contention */
-#define FLUSH_STABLE 4 /* commit to stable storage */
-#define FLUSH_LOWPRI 8 /* low priority background flush */
-#define FLUSH_HIGHPRI 16 /* high priority memory reclaim flush */
-#define FLUSH_COND_STABLE 32 /* conditional stable write - only stable
- * if everything fits in one RPC */
-
-
-/*
- * NFS debug flags
- */
-#define NFSDBG_VFS 0x0001
-#define NFSDBG_DIRCACHE 0x0002
-#define NFSDBG_LOOKUPCACHE 0x0004
-#define NFSDBG_PAGECACHE 0x0008
-#define NFSDBG_PROC 0x0010
-#define NFSDBG_XDR 0x0020
-#define NFSDBG_FILE 0x0040
-#define NFSDBG_ROOT 0x0080
-#define NFSDBG_CALLBACK 0x0100
-#define NFSDBG_CLIENT 0x0200
-#define NFSDBG_MOUNT 0x0400
-#define NFSDBG_FSCACHE 0x0800
-#define NFSDBG_PNFS 0x1000
-#define NFSDBG_PNFS_LD 0x2000
-#define NFSDBG_STATE 0x4000
-#define NFSDBG_ALL 0xFFFF
-
-
-#endif /* _LINUX_NFS_FS_H */
diff --git a/linux-headers/include/linux/nfs_idmap.h b/linux-headers/include/linux/nfs_idmap.h
deleted file mode 100644
index 1296067..0000000
--- a/linux-headers/include/linux/nfs_idmap.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * include/uapi/linux/nfs_idmap.h
- *
- * UID and GID to name mapping for clients.
- *
- * Copyright (c) 2002 The Regents of the University of Michigan.
- * All rights reserved.
- *
- * Marius Aamodt Eriksen <marius@umich.edu>
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
- * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef NFS_IDMAP_H
-#define NFS_IDMAP_H
-
-#include <linux/types.h>
-
-/* XXX from bits/utmp.h */
-#define IDMAP_NAMESZ 128
-
-#define IDMAP_TYPE_USER 0
-#define IDMAP_TYPE_GROUP 1
-
-#define IDMAP_CONV_IDTONAME 0
-#define IDMAP_CONV_NAMETOID 1
-
-#define IDMAP_STATUS_INVALIDMSG 0x01
-#define IDMAP_STATUS_AGAIN 0x02
-#define IDMAP_STATUS_LOOKUPFAIL 0x04
-#define IDMAP_STATUS_SUCCESS 0x08
-
-struct idmap_msg {
- __u8 im_type;
- __u8 im_conv;
- char im_name[IDMAP_NAMESZ];
- __u32 im_id;
- __u8 im_status;
-};
-
-
-#endif /* NFS_IDMAP_H */
diff --git a/linux-headers/include/linux/nfs_mount.h b/linux-headers/include/linux/nfs_mount.h
deleted file mode 100644
index 64b0f22..0000000
--- a/linux-headers/include/linux/nfs_mount.h
+++ /dev/null
@@ -1,77 +0,0 @@
-#ifndef _LINUX_NFS_MOUNT_H
-#define _LINUX_NFS_MOUNT_H
-
-/*
- * linux/include/linux/nfs_mount.h
- *
- * Copyright (C) 1992 Rick Sladkey
- *
- * structure passed from user-space to kernel-space during an nfs mount
- */
-#include <linux/in.h>
-#include <linux/nfs.h>
-#include <linux/nfs2.h>
-#include <linux/nfs3.h>
-
-/*
- * WARNING! Do not delete or change the order of these fields. If
- * a new field is required then add it to the end. The version field
- * tracks which fields are present. This will ensure some measure of
- * mount-to-kernel version compatibility. Some of these aren't used yet
- * but here they are anyway.
- */
-#define NFS_MOUNT_VERSION 6
-#define NFS_MAX_CONTEXT_LEN 256
-
-struct nfs_mount_data {
- int version; /* 1 */
- int fd; /* 1 */
- struct nfs2_fh old_root; /* 1 */
- int flags; /* 1 */
- int rsize; /* 1 */
- int wsize; /* 1 */
- int timeo; /* 1 */
- int retrans; /* 1 */
- int acregmin; /* 1 */
- int acregmax; /* 1 */
- int acdirmin; /* 1 */
- int acdirmax; /* 1 */
- struct sockaddr_in addr; /* 1 */
- char hostname[NFS_MAXNAMLEN + 1]; /* 1 */
- int namlen; /* 2 */
- unsigned int bsize; /* 3 */
- struct nfs3_fh root; /* 4 */
- int pseudoflavor; /* 5 */
- char context[NFS_MAX_CONTEXT_LEN + 1]; /* 6 */
-};
-
-/* bits in the flags field visible to user space */
-
-#define NFS_MOUNT_SOFT 0x0001 /* 1 */
-#define NFS_MOUNT_INTR 0x0002 /* 1 */ /* now unused, but ABI */
-#define NFS_MOUNT_SECURE 0x0004 /* 1 */
-#define NFS_MOUNT_POSIX 0x0008 /* 1 */
-#define NFS_MOUNT_NOCTO 0x0010 /* 1 */
-#define NFS_MOUNT_NOAC 0x0020 /* 1 */
-#define NFS_MOUNT_TCP 0x0040 /* 2 */
-#define NFS_MOUNT_VER3 0x0080 /* 3 */
-#define NFS_MOUNT_KERBEROS 0x0100 /* 3 */
-#define NFS_MOUNT_NONLM 0x0200 /* 3 */
-#define NFS_MOUNT_BROKEN_SUID 0x0400 /* 4 */
-#define NFS_MOUNT_NOACL 0x0800 /* 4 */
-#define NFS_MOUNT_STRICTLOCK 0x1000 /* reserved for NFSv4 */
-#define NFS_MOUNT_SECFLAVOUR 0x2000 /* 5 non-text parsed mount data only */
-#define NFS_MOUNT_NORDIRPLUS 0x4000 /* 5 */
-#define NFS_MOUNT_UNSHARED 0x8000 /* 5 */
-#define NFS_MOUNT_FLAGMASK 0xFFFF
-
-/* The following are for internal use only */
-#define NFS_MOUNT_LOOKUP_CACHE_NONEG 0x10000
-#define NFS_MOUNT_LOOKUP_CACHE_NONE 0x20000
-#define NFS_MOUNT_NORESVPORT 0x40000
-#define NFS_MOUNT_LEGACY_INTERFACE 0x80000
-
-#define NFS_MOUNT_LOCAL_FLOCK 0x100000
-#define NFS_MOUNT_LOCAL_FCNTL 0x200000
-
-#endif
diff --git a/linux-headers/include/linux/nfsacl.h b/linux-headers/include/linux/nfsacl.h
deleted file mode 100644
index 67b3763..0000000
--- a/linux-headers/include/linux/nfsacl.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * File: linux/nfsacl.h
- *
- * (C) 2003 Andreas Gruenbacher <agruen@suse.de>
- */
-#ifndef __LINUX_NFSACL_H
-#define __LINUX_NFSACL_H
-
-#define NFS_ACL_PROGRAM 100227
-
-#define ACLPROC2_GETACL 1
-#define ACLPROC2_SETACL 2
-#define ACLPROC2_GETATTR 3
-#define ACLPROC2_ACCESS 4
-
-#define ACLPROC3_GETACL 1
-#define ACLPROC3_SETACL 2
-
-
-/* Flags for the getacl/setacl mode */
-#define NFS_ACL 0x0001
-#define NFS_ACLCNT 0x0002
-#define NFS_DFACL 0x0004
-#define NFS_DFACLCNT 0x0008
-#define NFS_ACL_MASK 0x000f
-
-/* Flag for Default ACL entries */
-#define NFS_ACL_DEFAULT 0x1000
-
-#endif /* __LINUX_NFSACL_H */
diff --git a/linux-headers/include/linux/nfsd/cld.h b/linux-headers/include/linux/nfsd/cld.h
deleted file mode 100644
index f14a9ab..0000000
--- a/linux-headers/include/linux/nfsd/cld.h
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Upcall description for nfsdcld communication
- *
- * Copyright (c) 2012 Red Hat, Inc.
- * Author(s): Jeff Layton <jlayton@redhat.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef _NFSD_CLD_H
-#define _NFSD_CLD_H
-
-/* latest upcall version available */
-#define CLD_UPCALL_VERSION 1
-
-/* defined by RFC3530 */
-#define NFS4_OPAQUE_LIMIT 1024
-
-enum cld_command {
- Cld_Create, /* create a record for this cm_id */
- Cld_Remove, /* remove record of this cm_id */
- Cld_Check, /* is this cm_id allowed? */
- Cld_GraceDone, /* grace period is complete */
-};
-
-/* representation of long-form NFSv4 client ID */
-struct cld_name {
- uint16_t cn_len; /* length of cm_id */
- unsigned char cn_id[NFS4_OPAQUE_LIMIT]; /* client-provided */
-} __attribute__((packed));
-
-/* message struct for communication with userspace */
-struct cld_msg {
- uint8_t cm_vers; /* upcall version */
- uint8_t cm_cmd; /* upcall command */
- int16_t cm_status; /* return code */
- uint32_t cm_xid; /* transaction id */
- union {
- int64_t cm_gracetime; /* grace period start time */
- struct cld_name cm_name;
- } __attribute__((packed)) cm_u;
-} __attribute__((packed));
-
-#endif /* !_NFSD_CLD_H */
diff --git a/linux-headers/include/linux/nfsd/debug.h b/linux-headers/include/linux/nfsd/debug.h
deleted file mode 100644
index 6b1f912..0000000
--- a/linux-headers/include/linux/nfsd/debug.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * linux/include/linux/nfsd/debug.h
- *
- * Debugging-related stuff for nfsd
- *
- * Copyright (C) 1995 Olaf Kirch <okir@monad.swb.de>
- */
-
-#ifndef LINUX_NFSD_DEBUG_H
-#define LINUX_NFSD_DEBUG_H
-
-#include <linux/sunrpc/debug.h>
-
-/*
- * knfsd debug flags
- */
-#define NFSDDBG_SOCK 0x0001
-#define NFSDDBG_FH 0x0002
-#define NFSDDBG_EXPORT 0x0004
-#define NFSDDBG_SVC 0x0008
-#define NFSDDBG_PROC 0x0010
-#define NFSDDBG_FILEOP 0x0020
-#define NFSDDBG_AUTH 0x0040
-#define NFSDDBG_REPCACHE 0x0080
-#define NFSDDBG_XDR 0x0100
-#define NFSDDBG_LOCKD 0x0200
-#define NFSDDBG_PNFS 0x0400
-#define NFSDDBG_ALL 0x7FFF
-#define NFSDDBG_NOCHANGE 0xFFFF
-
-
-
-#endif /* LINUX_NFSD_DEBUG_H */
diff --git a/linux-headers/include/linux/nfsd/export.h b/linux-headers/include/linux/nfsd/export.h
deleted file mode 100644
index 407d25c..0000000
--- a/linux-headers/include/linux/nfsd/export.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * include/linux/nfsd/export.h
- *
- * Public declarations for NFS exports. The definitions for the
- * syscall interface are in nfsctl.h
- *
- * Copyright (C) 1995-1997 Olaf Kirch <okir@monad.swb.de>
- */
-
-#ifndef NFSD_EXPORT_H
-#define NFSD_EXPORT_H
-
-# include <linux/types.h>
-
-/*
- * Important limits for the exports stuff.
- */
-#define NFSCLNT_IDMAX 1024
-#define NFSCLNT_ADDRMAX 16
-#define NFSCLNT_KEYMAX 32
-
-/*
- * Export flags.
- *
- * Please update the expflags[] array in fs/nfsd/export.c when adding
- * a new flag.
- */
-#define NFSEXP_READONLY 0x0001
-#define NFSEXP_INSECURE_PORT 0x0002
-#define NFSEXP_ROOTSQUASH 0x0004
-#define NFSEXP_ALLSQUASH 0x0008
-#define NFSEXP_ASYNC 0x0010
-#define NFSEXP_GATHERED_WRITES 0x0020
-#define NFSEXP_NOREADDIRPLUS 0x0040
-/* 80 100 currently unused */
-#define NFSEXP_NOHIDE 0x0200
-#define NFSEXP_NOSUBTREECHECK 0x0400
-#define NFSEXP_NOAUTHNLM 0x0800 /* Don't authenticate NLM requests - just trust */
-#define NFSEXP_MSNFS 0x1000 /* do silly things that MS clients expect; no longer supported */
-#define NFSEXP_FSID 0x2000
-#define NFSEXP_CROSSMOUNT 0x4000
-#define NFSEXP_NOACL 0x8000 /* reserved for possible ACL related use */
-/*
- * The NFSEXP_V4ROOT flag causes the kernel to give access only to NFSv4
- * clients, and only to the single directory that is the root of the
- * export; further lookup and readdir operations are treated as if every
- * subdirectory was a mountpoint, and ignored if they are not themselves
- * exported. This is used by nfsd and mountd to construct the NFSv4
- * pseudofilesystem, which provides access only to paths leading to each
- * exported filesystem.
- */
-#define NFSEXP_V4ROOT 0x10000
-#define NFSEXP_PNFS 0x20000
-
-/* All flags that we claim to support. (Note we don't support NOACL.) */
-#define NFSEXP_ALLFLAGS 0x3FE7F
-
-/* The flags that may vary depending on security flavor: */
-#define NFSEXP_SECINFO_FLAGS (NFSEXP_READONLY | NFSEXP_ROOTSQUASH \
- | NFSEXP_ALLSQUASH \
- | NFSEXP_INSECURE_PORT)
-
-
-#endif /* NFSD_EXPORT_H */
diff --git a/linux-headers/include/linux/nfsd/nfsfh.h b/linux-headers/include/linux/nfsd/nfsfh.h
deleted file mode 100644
index beb05e9..0000000
--- a/linux-headers/include/linux/nfsd/nfsfh.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * This file describes the layout of the file handles as passed
- * over the wire.
- *
- * Copyright (C) 1995, 1996, 1997 Olaf Kirch <okir@monad.swb.de>
- */
-
-#ifndef _LINUX_NFSD_FH_H
-#define _LINUX_NFSD_FH_H
-
-#include <linux/types.h>
-#include <linux/nfs.h>
-#include <linux/nfs2.h>
-#include <linux/nfs3.h>
-#include <linux/nfs4.h>
-
-/*
- * This is the old "dentry style" Linux NFSv2 file handle.
- *
- * The xino and xdev fields are currently used to transport the
- * ino/dev of the exported inode.
- */
-struct nfs_fhbase_old {
- __u32 fb_dcookie; /* dentry cookie - always 0xfeebbaca */
- __u32 fb_ino; /* our inode number */
- __u32 fb_dirino; /* dir inode number, 0 for directories */
- __u32 fb_dev; /* our device */
- __u32 fb_xdev;
- __u32 fb_xino;
- __u32 fb_generation;
-};
-
-/*
- * This is the new flexible, extensible style NFSv2/v3/v4 file handle.
- * by Neil Brown <neilb@cse.unsw.edu.au> - March 2000
- *
- * The file handle starts with a sequence of four-byte words.
- * The first word contains a version number (1) and three descriptor bytes
- * that tell how the remaining 3 variable length fields should be handled.
- * These three bytes are auth_type, fsid_type and fileid_type.
- *
- * All four-byte values are in host-byte-order.
- *
- * The auth_type field is deprecated and must be set to 0.
- *
- * The fsid_type identifies how the filesystem (or export point) is
- * encoded.
- * Current values:
- * 0 - 4 byte device id (ms-2-bytes major, ls-2-bytes minor), 4byte inode number
- * NOTE: we cannot use the kdev_t device id value, because kdev_t.h
- * says we mustn't. We must break it up and reassemble.
- * 1 - 4 byte user specified identifier
- * 2 - 4 byte major, 4 byte minor, 4 byte inode number - DEPRECATED
- * 3 - 4 byte device id, encoded for user-space, 4 byte inode number
- * 4 - 4 byte inode number and 4 byte uuid
- * 5 - 8 byte uuid
- * 6 - 16 byte uuid
- * 7 - 8 byte inode number and 16 byte uuid
- *
- * The fileid_type identified how the file within the filesystem is encoded.
- * The values for this field are filesystem specific, exccept that
- * filesystems must not use the values '0' or '0xff'. 'See enum fid_type'
- * in include/linux/exportfs.h for currently registered values.
- */
-struct nfs_fhbase_new {
- __u8 fb_version; /* == 1, even => nfs_fhbase_old */
- __u8 fb_auth_type;
- __u8 fb_fsid_type;
- __u8 fb_fileid_type;
- __u32 fb_auth[1];
-/* __u32 fb_fsid[0]; floating */
-/* __u32 fb_fileid[0]; floating */
-};
-
-struct knfsd_fh {
- unsigned int fh_size; /* significant for NFSv3.
- * Points to the current size while building
- * a new file handle
- */
- union {
- struct nfs_fhbase_old fh_old;
- __u32 fh_pad[NFS4_FHSIZE/4];
- struct nfs_fhbase_new fh_new;
- } fh_base;
-};
-
-#define ofh_dcookie fh_base.fh_old.fb_dcookie
-#define ofh_ino fh_base.fh_old.fb_ino
-#define ofh_dirino fh_base.fh_old.fb_dirino
-#define ofh_dev fh_base.fh_old.fb_dev
-#define ofh_xdev fh_base.fh_old.fb_xdev
-#define ofh_xino fh_base.fh_old.fb_xino
-#define ofh_generation fh_base.fh_old.fb_generation
-
-#define fh_version fh_base.fh_new.fb_version
-#define fh_fsid_type fh_base.fh_new.fb_fsid_type
-#define fh_auth_type fh_base.fh_new.fb_auth_type
-#define fh_fileid_type fh_base.fh_new.fb_fileid_type
-#define fh_fsid fh_base.fh_new.fb_auth
-
-/* Do not use, provided for userspace compatiblity. */
-#define fh_auth fh_base.fh_new.fb_auth
-
-#endif /* _LINUX_NFSD_FH_H */
diff --git a/linux-headers/include/linux/nfsd/stats.h b/linux-headers/include/linux/nfsd/stats.h
deleted file mode 100644
index b7024e8..0000000
--- a/linux-headers/include/linux/nfsd/stats.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * linux/include/linux/nfsd/stats.h
- *
- * Statistics for NFS server.
- *
- * Copyright (C) 1995, 1996 Olaf Kirch <okir@monad.swb.de>
- */
-
-#ifndef LINUX_NFSD_STATS_H
-#define LINUX_NFSD_STATS_H
-
-#include <linux/nfs4.h>
-
-/* thread usage wraps very million seconds (approx one fortnight) */
-#define NFSD_USAGE_WRAP (HZ*1000000)
-
-#endif /* LINUX_NFSD_STATS_H */
diff --git a/linux-headers/include/linux/nl80211.h b/linux-headers/include/linux/nl80211.h
deleted file mode 100644
index 5a30a75..0000000
--- a/linux-headers/include/linux/nl80211.h
+++ /dev/null
@@ -1,4668 +0,0 @@
-#ifndef __LINUX_NL80211_H
-#define __LINUX_NL80211_H
-/*
- * 802.11 netlink interface public header
- *
- * Copyright 2006-2010 Johannes Berg <johannes@sipsolutions.net>
- * Copyright 2008 Michael Wu <flamingice@sourmilk.net>
- * Copyright 2008 Luis Carlos Cobo <luisca@cozybit.com>
- * Copyright 2008 Michael Buesch <m@bues.ch>
- * Copyright 2008, 2009 Luis R. Rodriguez <lrodriguez@atheros.com>
- * Copyright 2008 Jouni Malinen <jouni.malinen@atheros.com>
- * Copyright 2008 Colin McCabe <colin@cozybit.com>
- * Copyright 2015 Intel Deutschland GmbH
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- *
- */
-
-/*
- * This header file defines the userspace API to the wireless stack. Please
- * be careful not to break things - i.e. don't move anything around or so
- * unless you can demonstrate that it breaks neither API nor ABI.
- *
- * Additions to the API should be accompanied by actual implementations in
- * an upstream driver, so that example implementations exist in case there
- * are ever concerns about the precise semantics of the API or changes are
- * needed, and to ensure that code for dead (no longer implemented) API
- * can actually be identified and removed.
- * Nonetheless, semantics should also be documented carefully in this file.
- */
-
-#include <linux/types.h>
-
-#define NL80211_GENL_NAME "nl80211"
-
-#define NL80211_MULTICAST_GROUP_CONFIG "config"
-#define NL80211_MULTICAST_GROUP_SCAN "scan"
-#define NL80211_MULTICAST_GROUP_REG "regulatory"
-#define NL80211_MULTICAST_GROUP_MLME "mlme"
-#define NL80211_MULTICAST_GROUP_VENDOR "vendor"
-#define NL80211_MULTICAST_GROUP_TESTMODE "testmode"
-
-/**
- * DOC: Station handling
- *
- * Stations are added per interface, but a special case exists with VLAN
- * interfaces. When a station is bound to an AP interface, it may be moved
- * into a VLAN identified by a VLAN interface index (%NL80211_ATTR_STA_VLAN).
- * The station is still assumed to belong to the AP interface it was added
- * to.
- *
- * Station handling varies per interface type and depending on the driver's
- * capabilities.
- *
- * For drivers supporting TDLS with external setup (WIPHY_FLAG_SUPPORTS_TDLS
- * and WIPHY_FLAG_TDLS_EXTERNAL_SETUP), the station lifetime is as follows:
- * - a setup station entry is added, not yet authorized, without any rate
- * or capability information, this just exists to avoid race conditions
- * - when the TDLS setup is done, a single NL80211_CMD_SET_STATION is valid
- * to add rate and capability information to the station and at the same
- * time mark it authorized.
- * - %NL80211_TDLS_ENABLE_LINK is then used
- * - after this, the only valid operation is to remove it by tearing down
- * the TDLS link (%NL80211_TDLS_DISABLE_LINK)
- *
- * TODO: need more info for other interface types
- */
-
-/**
- * DOC: Frame transmission/registration support
- *
- * Frame transmission and registration support exists to allow userspace
- * management entities such as wpa_supplicant react to management frames
- * that are not being handled by the kernel. This includes, for example,
- * certain classes of action frames that cannot be handled in the kernel
- * for various reasons.
- *
- * Frame registration is done on a per-interface basis and registrations
- * cannot be removed other than by closing the socket. It is possible to
- * specify a registration filter to register, for example, only for a
- * certain type of action frame. In particular with action frames, those
- * that userspace registers for will not be returned as unhandled by the
- * driver, so that the registered application has to take responsibility
- * for doing that.
- *
- * The type of frame that can be registered for is also dependent on the
- * driver and interface type. The frame types are advertised in wiphy
- * attributes so applications know what to expect.
- *
- * NOTE: When an interface changes type while registrations are active,
- * these registrations are ignored until the interface type is
- * changed again. This means that changing the interface type can
- * lead to a situation that couldn't otherwise be produced, but
- * any such registrations will be dormant in the sense that they
- * will not be serviced, i.e. they will not receive any frames.
- *
- * Frame transmission allows userspace to send for example the required
- * responses to action frames. It is subject to some sanity checking,
- * but many frames can be transmitted. When a frame was transmitted, its
- * status is indicated to the sending socket.
- *
- * For more technical details, see the corresponding command descriptions
- * below.
- */
-
-/**
- * DOC: Virtual interface / concurrency capabilities
- *
- * Some devices are able to operate with virtual MACs, they can have
- * more than one virtual interface. The capability handling for this
- * is a bit complex though, as there may be a number of restrictions
- * on the types of concurrency that are supported.
- *
- * To start with, each device supports the interface types listed in
- * the %NL80211_ATTR_SUPPORTED_IFTYPES attribute, but by listing the
- * types there no concurrency is implied.
- *
- * Once concurrency is desired, more attributes must be observed:
- * To start with, since some interface types are purely managed in
- * software, like the AP-VLAN type in mac80211 for example, there's
- * an additional list of these, they can be added at any time and
- * are only restricted by some semantic restrictions (e.g. AP-VLAN
- * cannot be added without a corresponding AP interface). This list
- * is exported in the %NL80211_ATTR_SOFTWARE_IFTYPES attribute.
- *
- * Further, the list of supported combinations is exported. This is
- * in the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute. Basically,
- * it exports a list of "groups", and at any point in time the
- * interfaces that are currently active must fall into any one of
- * the advertised groups. Within each group, there are restrictions
- * on the number of interfaces of different types that are supported
- * and also the number of different channels, along with potentially
- * some other restrictions. See &enum nl80211_if_combination_attrs.
- *
- * All together, these attributes define the concurrency of virtual
- * interfaces that a given device supports.
- */
-
-/**
- * DOC: packet coalesce support
- *
- * In most cases, host that receives IPv4 and IPv6 multicast/broadcast
- * packets does not do anything with these packets. Therefore the
- * reception of these unwanted packets causes unnecessary processing
- * and power consumption.
- *
- * Packet coalesce feature helps to reduce number of received interrupts
- * to host by buffering these packets in firmware/hardware for some
- * predefined time. Received interrupt will be generated when one of the
- * following events occur.
- * a) Expiration of hardware timer whose expiration time is set to maximum
- * coalescing delay of matching coalesce rule.
- * b) Coalescing buffer in hardware reaches it's limit.
- * c) Packet doesn't match any of the configured coalesce rules.
- *
- * User needs to configure following parameters for creating a coalesce
- * rule.
- * a) Maximum coalescing delay
- * b) List of packet patterns which needs to be matched
- * c) Condition for coalescence. pattern 'match' or 'no match'
- * Multiple such rules can be created.
- */
-
-/**
- * enum nl80211_commands - supported nl80211 commands
- *
- * @NL80211_CMD_UNSPEC: unspecified command to catch errors
- *
- * @NL80211_CMD_GET_WIPHY: request information about a wiphy or dump request
- * to get a list of all present wiphys.
- * @NL80211_CMD_SET_WIPHY: set wiphy parameters, needs %NL80211_ATTR_WIPHY or
- * %NL80211_ATTR_IFINDEX; can be used to set %NL80211_ATTR_WIPHY_NAME,
- * %NL80211_ATTR_WIPHY_TXQ_PARAMS, %NL80211_ATTR_WIPHY_FREQ (and the
- * attributes determining the channel width; this is used for setting
- * monitor mode channel), %NL80211_ATTR_WIPHY_RETRY_SHORT,
- * %NL80211_ATTR_WIPHY_RETRY_LONG, %NL80211_ATTR_WIPHY_FRAG_THRESHOLD,
- * and/or %NL80211_ATTR_WIPHY_RTS_THRESHOLD.
- * However, for setting the channel, see %NL80211_CMD_SET_CHANNEL
- * instead, the support here is for backward compatibility only.
- * @NL80211_CMD_NEW_WIPHY: Newly created wiphy, response to get request
- * or rename notification. Has attributes %NL80211_ATTR_WIPHY and
- * %NL80211_ATTR_WIPHY_NAME.
- * @NL80211_CMD_DEL_WIPHY: Wiphy deleted. Has attributes
- * %NL80211_ATTR_WIPHY and %NL80211_ATTR_WIPHY_NAME.
- *
- * @NL80211_CMD_GET_INTERFACE: Request an interface's configuration;
- * either a dump request for all interfaces or a specific get with a
- * single %NL80211_ATTR_IFINDEX is supported.
- * @NL80211_CMD_SET_INTERFACE: Set type of a virtual interface, requires
- * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_IFTYPE.
- * @NL80211_CMD_NEW_INTERFACE: Newly created virtual interface or response
- * to %NL80211_CMD_GET_INTERFACE. Has %NL80211_ATTR_IFINDEX,
- * %NL80211_ATTR_WIPHY and %NL80211_ATTR_IFTYPE attributes. Can also
- * be sent from userspace to request creation of a new virtual interface,
- * then requires attributes %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFTYPE and
- * %NL80211_ATTR_IFNAME.
- * @NL80211_CMD_DEL_INTERFACE: Virtual interface was deleted, has attributes
- * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_WIPHY. Can also be sent from
- * userspace to request deletion of a virtual interface, then requires
- * attribute %NL80211_ATTR_IFINDEX.
- *
- * @NL80211_CMD_GET_KEY: Get sequence counter information for a key specified
- * by %NL80211_ATTR_KEY_IDX and/or %NL80211_ATTR_MAC.
- * @NL80211_CMD_SET_KEY: Set key attributes %NL80211_ATTR_KEY_DEFAULT,
- * %NL80211_ATTR_KEY_DEFAULT_MGMT, or %NL80211_ATTR_KEY_THRESHOLD.
- * @NL80211_CMD_NEW_KEY: add a key with given %NL80211_ATTR_KEY_DATA,
- * %NL80211_ATTR_KEY_IDX, %NL80211_ATTR_MAC, %NL80211_ATTR_KEY_CIPHER,
- * and %NL80211_ATTR_KEY_SEQ attributes.
- * @NL80211_CMD_DEL_KEY: delete a key identified by %NL80211_ATTR_KEY_IDX
- * or %NL80211_ATTR_MAC.
- *
- * @NL80211_CMD_GET_BEACON: (not used)
- * @NL80211_CMD_SET_BEACON: change the beacon on an access point interface
- * using the %NL80211_ATTR_BEACON_HEAD and %NL80211_ATTR_BEACON_TAIL
- * attributes. For drivers that generate the beacon and probe responses
- * internally, the following attributes must be provided: %NL80211_ATTR_IE,
- * %NL80211_ATTR_IE_PROBE_RESP and %NL80211_ATTR_IE_ASSOC_RESP.
- * @NL80211_CMD_START_AP: Start AP operation on an AP interface, parameters
- * are like for %NL80211_CMD_SET_BEACON, and additionally parameters that
- * do not change are used, these include %NL80211_ATTR_BEACON_INTERVAL,
- * %NL80211_ATTR_DTIM_PERIOD, %NL80211_ATTR_SSID,
- * %NL80211_ATTR_HIDDEN_SSID, %NL80211_ATTR_CIPHERS_PAIRWISE,
- * %NL80211_ATTR_CIPHER_GROUP, %NL80211_ATTR_WPA_VERSIONS,
- * %NL80211_ATTR_AKM_SUITES, %NL80211_ATTR_PRIVACY,
- * %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_INACTIVITY_TIMEOUT,
- * %NL80211_ATTR_ACL_POLICY and %NL80211_ATTR_MAC_ADDRS.
- * The channel to use can be set on the interface or be given using the
- * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel width.
- * @NL80211_CMD_NEW_BEACON: old alias for %NL80211_CMD_START_AP
- * @NL80211_CMD_STOP_AP: Stop AP operation on the given interface
- * @NL80211_CMD_DEL_BEACON: old alias for %NL80211_CMD_STOP_AP
- *
- * @NL80211_CMD_GET_STATION: Get station attributes for station identified by
- * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX.
- * @NL80211_CMD_SET_STATION: Set station attributes for station identified by
- * %NL80211_ATTR_MAC on the interface identified by %NL80211_ATTR_IFINDEX.
- * @NL80211_CMD_NEW_STATION: Add a station with given attributes to the
- * the interface identified by %NL80211_ATTR_IFINDEX.
- * @NL80211_CMD_DEL_STATION: Remove a station identified by %NL80211_ATTR_MAC
- * or, if no MAC address given, all stations, on the interface identified
- * by %NL80211_ATTR_IFINDEX. %NL80211_ATTR_MGMT_SUBTYPE and
- * %NL80211_ATTR_REASON_CODE can optionally be used to specify which type
- * of disconnection indication should be sent to the station
- * (Deauthentication or Disassociation frame and reason code for that
- * frame).
- *
- * @NL80211_CMD_GET_MPATH: Get mesh path attributes for mesh path to
- * destination %NL80211_ATTR_MAC on the interface identified by
- * %NL80211_ATTR_IFINDEX.
- * @NL80211_CMD_SET_MPATH: Set mesh path attributes for mesh path to
- * destination %NL80211_ATTR_MAC on the interface identified by
- * %NL80211_ATTR_IFINDEX.
- * @NL80211_CMD_NEW_MPATH: Create a new mesh path for the destination given by
- * %NL80211_ATTR_MAC via %NL80211_ATTR_MPATH_NEXT_HOP.
- * @NL80211_CMD_DEL_MPATH: Delete a mesh path to the destination given by
- * %NL80211_ATTR_MAC.
- * @NL80211_CMD_NEW_PATH: Add a mesh path with given attributes to the
- * the interface identified by %NL80211_ATTR_IFINDEX.
- * @NL80211_CMD_DEL_PATH: Remove a mesh path identified by %NL80211_ATTR_MAC
- * or, if no MAC address given, all mesh paths, on the interface identified
- * by %NL80211_ATTR_IFINDEX.
- * @NL80211_CMD_SET_BSS: Set BSS attributes for BSS identified by
- * %NL80211_ATTR_IFINDEX.
- *
- * @NL80211_CMD_GET_REG: ask the wireless core to send us its currently set
- * regulatory domain. If %NL80211_ATTR_WIPHY is specified and the device
- * has a private regulatory domain, it will be returned. Otherwise, the
- * global regdomain will be returned.
- * A device will have a private regulatory domain if it uses the
- * regulatory_hint() API. Even when a private regdomain is used the channel
- * information will still be mended according to further hints from
- * the regulatory core to help with compliance. A dump version of this API
- * is now available which will returns the global regdomain as well as
- * all private regdomains of present wiphys (for those that have it).
- * If a wiphy is self-managed (%NL80211_ATTR_WIPHY_SELF_MANAGED_REG), then
- * its private regdomain is the only valid one for it. The regulatory
- * core is not used to help with compliance in this case.
- * @NL80211_CMD_SET_REG: Set current regulatory domain. CRDA sends this command
- * after being queried by the kernel. CRDA replies by sending a regulatory
- * domain structure which consists of %NL80211_ATTR_REG_ALPHA set to our
- * current alpha2 if it found a match. It also provides
- * NL80211_ATTR_REG_RULE_FLAGS, and a set of regulatory rules. Each
- * regulatory rule is a nested set of attributes given by
- * %NL80211_ATTR_REG_RULE_FREQ_[START|END] and
- * %NL80211_ATTR_FREQ_RANGE_MAX_BW with an attached power rule given by
- * %NL80211_ATTR_REG_RULE_POWER_MAX_ANT_GAIN and
- * %NL80211_ATTR_REG_RULE_POWER_MAX_EIRP.
- * @NL80211_CMD_REQ_SET_REG: ask the wireless core to set the regulatory domain
- * to the specified ISO/IEC 3166-1 alpha2 country code. The core will
- * store this as a valid request and then query userspace for it.
- *
- * @NL80211_CMD_GET_MESH_CONFIG: Get mesh networking properties for the
- * interface identified by %NL80211_ATTR_IFINDEX
- *
- * @NL80211_CMD_SET_MESH_CONFIG: Set mesh networking properties for the
- * interface identified by %NL80211_ATTR_IFINDEX
- *
- * @NL80211_CMD_SET_MGMT_EXTRA_IE: Set extra IEs for management frames. The
- * interface is identified with %NL80211_ATTR_IFINDEX and the management
- * frame subtype with %NL80211_ATTR_MGMT_SUBTYPE. The extra IE data to be
- * added to the end of the specified management frame is specified with
- * %NL80211_ATTR_IE. If the command succeeds, the requested data will be
- * added to all specified management frames generated by
- * kernel/firmware/driver.
- * Note: This command has been removed and it is only reserved at this
- * point to avoid re-using existing command number. The functionality this
- * command was planned for has been provided with cleaner design with the
- * option to specify additional IEs in NL80211_CMD_TRIGGER_SCAN,
- * NL80211_CMD_AUTHENTICATE, NL80211_CMD_ASSOCIATE,
- * NL80211_CMD_DEAUTHENTICATE, and NL80211_CMD_DISASSOCIATE.
- *
- * @NL80211_CMD_GET_SCAN: get scan results
- * @NL80211_CMD_TRIGGER_SCAN: trigger a new scan with the given parameters
- * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the
- * probe requests at CCK rate or not.
- * @NL80211_CMD_NEW_SCAN_RESULTS: scan notification (as a reply to
- * NL80211_CMD_GET_SCAN and on the "scan" multicast group)
- * @NL80211_CMD_SCAN_ABORTED: scan was aborted, for unspecified reasons,
- * partial scan results may be available
- *
- * @NL80211_CMD_START_SCHED_SCAN: start a scheduled scan at certain
- * intervals and certain number of cycles, as specified by
- * %NL80211_ATTR_SCHED_SCAN_PLANS. If %NL80211_ATTR_SCHED_SCAN_PLANS is
- * not specified and only %NL80211_ATTR_SCHED_SCAN_INTERVAL is specified,
- * scheduled scan will run in an infinite loop with the specified interval.
- * These attributes are mutually exculsive,
- * i.e. NL80211_ATTR_SCHED_SCAN_INTERVAL must not be passed if
- * NL80211_ATTR_SCHED_SCAN_PLANS is defined.
- * If for some reason scheduled scan is aborted by the driver, all scan
- * plans are canceled (including scan plans that did not start yet).
- * Like with normal scans, if SSIDs (%NL80211_ATTR_SCAN_SSIDS)
- * are passed, they are used in the probe requests. For
- * broadcast, a broadcast SSID must be passed (ie. an empty
- * string). If no SSID is passed, no probe requests are sent and
- * a passive scan is performed. %NL80211_ATTR_SCAN_FREQUENCIES,
- * if passed, define which channels should be scanned; if not
- * passed, all channels allowed for the current regulatory domain
- * are used. Extra IEs can also be passed from the userspace by
- * using the %NL80211_ATTR_IE attribute. The first cycle of the
- * scheduled scan can be delayed by %NL80211_ATTR_SCHED_SCAN_DELAY
- * is supplied.
- * @NL80211_CMD_STOP_SCHED_SCAN: stop a scheduled scan. Returns -ENOENT if
- * scheduled scan is not running. The caller may assume that as soon
- * as the call returns, it is safe to start a new scheduled scan again.
- * @NL80211_CMD_SCHED_SCAN_RESULTS: indicates that there are scheduled scan
- * results available.
- * @NL80211_CMD_SCHED_SCAN_STOPPED: indicates that the scheduled scan has
- * stopped. The driver may issue this event at any time during a
- * scheduled scan. One reason for stopping the scan is if the hardware
- * does not support starting an association or a normal scan while running
- * a scheduled scan. This event is also sent when the
- * %NL80211_CMD_STOP_SCHED_SCAN command is received or when the interface
- * is brought down while a scheduled scan was running.
- *
- * @NL80211_CMD_GET_SURVEY: get survey resuls, e.g. channel occupation
- * or noise level
- * @NL80211_CMD_NEW_SURVEY_RESULTS: survey data notification (as a reply to
- * NL80211_CMD_GET_SURVEY and on the "scan" multicast group)
- *
- * @NL80211_CMD_SET_PMKSA: Add a PMKSA cache entry, using %NL80211_ATTR_MAC
- * (for the BSSID) and %NL80211_ATTR_PMKID.
- * @NL80211_CMD_DEL_PMKSA: Delete a PMKSA cache entry, using %NL80211_ATTR_MAC
- * (for the BSSID) and %NL80211_ATTR_PMKID.
- * @NL80211_CMD_FLUSH_PMKSA: Flush all PMKSA cache entries.
- *
- * @NL80211_CMD_REG_CHANGE: indicates to userspace the regulatory domain
- * has been changed and provides details of the request information
- * that caused the change such as who initiated the regulatory request
- * (%NL80211_ATTR_REG_INITIATOR), the wiphy_idx
- * (%NL80211_ATTR_REG_ALPHA2) on which the request was made from if
- * the initiator was %NL80211_REGDOM_SET_BY_COUNTRY_IE or
- * %NL80211_REGDOM_SET_BY_DRIVER, the type of regulatory domain
- * set (%NL80211_ATTR_REG_TYPE), if the type of regulatory domain is
- * %NL80211_REG_TYPE_COUNTRY the alpha2 to which we have moved on
- * to (%NL80211_ATTR_REG_ALPHA2).
- * @NL80211_CMD_REG_BEACON_HINT: indicates to userspace that an AP beacon
- * has been found while world roaming thus enabling active scan or
- * any mode of operation that initiates TX (beacons) on a channel
- * where we would not have been able to do either before. As an example
- * if you are world roaming (regulatory domain set to world or if your
- * driver is using a custom world roaming regulatory domain) and while
- * doing a passive scan on the 5 GHz band you find an AP there (if not
- * on a DFS channel) you will now be able to actively scan for that AP
- * or use AP mode on your card on that same channel. Note that this will
- * never be used for channels 1-11 on the 2 GHz band as they are always
- * enabled world wide. This beacon hint is only sent if your device had
- * either disabled active scanning or beaconing on a channel. We send to
- * userspace the wiphy on which we removed a restriction from
- * (%NL80211_ATTR_WIPHY) and the channel on which this occurred
- * before (%NL80211_ATTR_FREQ_BEFORE) and after (%NL80211_ATTR_FREQ_AFTER)
- * the beacon hint was processed.
- *
- * @NL80211_CMD_AUTHENTICATE: authentication request and notification.
- * This command is used both as a command (request to authenticate) and
- * as an event on the "mlme" multicast group indicating completion of the
- * authentication process.
- * When used as a command, %NL80211_ATTR_IFINDEX is used to identify the
- * interface. %NL80211_ATTR_MAC is used to specify PeerSTAAddress (and
- * BSSID in case of station mode). %NL80211_ATTR_SSID is used to specify
- * the SSID (mainly for association, but is included in authentication
- * request, too, to help BSS selection. %NL80211_ATTR_WIPHY_FREQ is used
- * to specify the frequence of the channel in MHz. %NL80211_ATTR_AUTH_TYPE
- * is used to specify the authentication type. %NL80211_ATTR_IE is used to
- * define IEs (VendorSpecificInfo, but also including RSN IE and FT IEs)
- * to be added to the frame.
- * When used as an event, this reports reception of an Authentication
- * frame in station and IBSS modes when the local MLME processed the
- * frame, i.e., it was for the local STA and was received in correct
- * state. This is similar to MLME-AUTHENTICATE.confirm primitive in the
- * MLME SAP interface (kernel providing MLME, userspace SME). The
- * included %NL80211_ATTR_FRAME attribute contains the management frame
- * (including both the header and frame body, but not FCS). This event is
- * also used to indicate if the authentication attempt timed out. In that
- * case the %NL80211_ATTR_FRAME attribute is replaced with a
- * %NL80211_ATTR_TIMED_OUT flag (and %NL80211_ATTR_MAC to indicate which
- * pending authentication timed out).
- * @NL80211_CMD_ASSOCIATE: association request and notification; like
- * NL80211_CMD_AUTHENTICATE but for Association and Reassociation
- * (similar to MLME-ASSOCIATE.request, MLME-REASSOCIATE.request,
- * MLME-ASSOCIATE.confirm or MLME-REASSOCIATE.confirm primitives).
- * @NL80211_CMD_DEAUTHENTICATE: deauthentication request and notification; like
- * NL80211_CMD_AUTHENTICATE but for Deauthentication frames (similar to
- * MLME-DEAUTHENTICATION.request and MLME-DEAUTHENTICATE.indication
- * primitives).
- * @NL80211_CMD_DISASSOCIATE: disassociation request and notification; like
- * NL80211_CMD_AUTHENTICATE but for Disassociation frames (similar to
- * MLME-DISASSOCIATE.request and MLME-DISASSOCIATE.indication primitives).
- *
- * @NL80211_CMD_MICHAEL_MIC_FAILURE: notification of a locally detected Michael
- * MIC (part of TKIP) failure; sent on the "mlme" multicast group; the
- * event includes %NL80211_ATTR_MAC to describe the source MAC address of
- * the frame with invalid MIC, %NL80211_ATTR_KEY_TYPE to show the key
- * type, %NL80211_ATTR_KEY_IDX to indicate the key identifier, and
- * %NL80211_ATTR_KEY_SEQ to indicate the TSC value of the frame; this
- * event matches with MLME-MICHAELMICFAILURE.indication() primitive
- *
- * @NL80211_CMD_JOIN_IBSS: Join a new IBSS -- given at least an SSID and a
- * FREQ attribute (for the initial frequency if no peer can be found)
- * and optionally a MAC (as BSSID) and FREQ_FIXED attribute if those
- * should be fixed rather than automatically determined. Can only be
- * executed on a network interface that is UP, and fixed BSSID/FREQ
- * may be rejected. Another optional parameter is the beacon interval,
- * given in the %NL80211_ATTR_BEACON_INTERVAL attribute, which if not
- * given defaults to 100 TU (102.4ms).
- * @NL80211_CMD_LEAVE_IBSS: Leave the IBSS -- no special arguments, the IBSS is
- * determined by the network interface.
- *
- * @NL80211_CMD_TESTMODE: testmode command, takes a wiphy (or ifindex) attribute
- * to identify the device, and the TESTDATA blob attribute to pass through
- * to the driver.
- *
- * @NL80211_CMD_CONNECT: connection request and notification; this command
- * requests to connect to a specified network but without separating
- * auth and assoc steps. For this, you need to specify the SSID in a
- * %NL80211_ATTR_SSID attribute, and can optionally specify the association
- * IEs in %NL80211_ATTR_IE, %NL80211_ATTR_AUTH_TYPE, %NL80211_ATTR_USE_MFP,
- * %NL80211_ATTR_MAC, %NL80211_ATTR_WIPHY_FREQ, %NL80211_ATTR_CONTROL_PORT,
- * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
- * %NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT, %NL80211_ATTR_MAC_HINT, and
- * %NL80211_ATTR_WIPHY_FREQ_HINT.
- * If included, %NL80211_ATTR_MAC and %NL80211_ATTR_WIPHY_FREQ are
- * restrictions on BSS selection, i.e., they effectively prevent roaming
- * within the ESS. %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT
- * can be included to provide a recommendation of the initial BSS while
- * allowing the driver to roam to other BSSes within the ESS and also to
- * ignore this recommendation if the indicated BSS is not ideal. Only one
- * set of BSSID,frequency parameters is used (i.e., either the enforcing
- * %NL80211_ATTR_MAC,%NL80211_ATTR_WIPHY_FREQ or the less strict
- * %NL80211_ATTR_MAC_HINT and %NL80211_ATTR_WIPHY_FREQ_HINT).
- * Background scan period can optionally be
- * specified in %NL80211_ATTR_BG_SCAN_PERIOD,
- * if not specified default background scan configuration
- * in driver is used and if period value is 0, bg scan will be disabled.
- * This attribute is ignored if driver does not support roam scan.
- * It is also sent as an event, with the BSSID and response IEs when the
- * connection is established or failed to be established. This can be
- * determined by the STATUS_CODE attribute.
- * @NL80211_CMD_ROAM: request that the card roam (currently not implemented),
- * sent as an event when the card/driver roamed by itself.
- * @NL80211_CMD_DISCONNECT: drop a given connection; also used to notify
- * userspace that a connection was dropped by the AP or due to other
- * reasons, for this the %NL80211_ATTR_DISCONNECTED_BY_AP and
- * %NL80211_ATTR_REASON_CODE attributes are used.
- *
- * @NL80211_CMD_SET_WIPHY_NETNS: Set a wiphy's netns. Note that all devices
- * associated with this wiphy must be down and will follow.
- *
- * @NL80211_CMD_REMAIN_ON_CHANNEL: Request to remain awake on the specified
- * channel for the specified amount of time. This can be used to do
- * off-channel operations like transmit a Public Action frame and wait for
- * a response while being associated to an AP on another channel.
- * %NL80211_ATTR_IFINDEX is used to specify which interface (and thus
- * radio) is used. %NL80211_ATTR_WIPHY_FREQ is used to specify the
- * frequency for the operation.
- * %NL80211_ATTR_DURATION is used to specify the duration in milliseconds
- * to remain on the channel. This command is also used as an event to
- * notify when the requested duration starts (it may take a while for the
- * driver to schedule this time due to other concurrent needs for the
- * radio).
- * When called, this operation returns a cookie (%NL80211_ATTR_COOKIE)
- * that will be included with any events pertaining to this request;
- * the cookie is also used to cancel the request.
- * @NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL: This command can be used to cancel a
- * pending remain-on-channel duration if the desired operation has been
- * completed prior to expiration of the originally requested duration.
- * %NL80211_ATTR_WIPHY or %NL80211_ATTR_IFINDEX is used to specify the
- * radio. The %NL80211_ATTR_COOKIE attribute must be given as well to
- * uniquely identify the request.
- * This command is also used as an event to notify when a requested
- * remain-on-channel duration has expired.
- *
- * @NL80211_CMD_SET_TX_BITRATE_MASK: Set the mask of rates to be used in TX
- * rate selection. %NL80211_ATTR_IFINDEX is used to specify the interface
- * and @NL80211_ATTR_TX_RATES the set of allowed rates.
- *
- * @NL80211_CMD_REGISTER_FRAME: Register for receiving certain mgmt frames
- * (via @NL80211_CMD_FRAME) for processing in userspace. This command
- * requires an interface index, a frame type attribute (optional for
- * backward compatibility reasons, if not given assumes action frames)
- * and a match attribute containing the first few bytes of the frame
- * that should match, e.g. a single byte for only a category match or
- * four bytes for vendor frames including the OUI. The registration
- * cannot be dropped, but is removed automatically when the netlink
- * socket is closed. Multiple registrations can be made.
- * @NL80211_CMD_REGISTER_ACTION: Alias for @NL80211_CMD_REGISTER_FRAME for
- * backward compatibility
- * @NL80211_CMD_FRAME: Management frame TX request and RX notification. This
- * command is used both as a request to transmit a management frame and
- * as an event indicating reception of a frame that was not processed in
- * kernel code, but is for us (i.e., which may need to be processed in a
- * user space application). %NL80211_ATTR_FRAME is used to specify the
- * frame contents (including header). %NL80211_ATTR_WIPHY_FREQ is used
- * to indicate on which channel the frame is to be transmitted or was
- * received. If this channel is not the current channel (remain-on-channel
- * or the operational channel) the device will switch to the given channel
- * and transmit the frame, optionally waiting for a response for the time
- * specified using %NL80211_ATTR_DURATION. When called, this operation
- * returns a cookie (%NL80211_ATTR_COOKIE) that will be included with the
- * TX status event pertaining to the TX request.
- * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the
- * management frames at CCK rate or not in 2GHz band.
- * %NL80211_ATTR_CSA_C_OFFSETS_TX is an array of offsets to CSA
- * counters which will be updated to the current value. This attribute
- * is used during CSA period.
- * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
- * command may be used with the corresponding cookie to cancel the wait
- * time if it is known that it is no longer necessary.
- * @NL80211_CMD_ACTION: Alias for @NL80211_CMD_FRAME for backward compatibility.
- * @NL80211_CMD_FRAME_TX_STATUS: Report TX status of a management frame
- * transmitted with %NL80211_CMD_FRAME. %NL80211_ATTR_COOKIE identifies
- * the TX command and %NL80211_ATTR_FRAME includes the contents of the
- * frame. %NL80211_ATTR_ACK flag is included if the recipient acknowledged
- * the frame.
- * @NL80211_CMD_ACTION_TX_STATUS: Alias for @NL80211_CMD_FRAME_TX_STATUS for
- * backward compatibility.
- *
- * @NL80211_CMD_SET_POWER_SAVE: Set powersave, using %NL80211_ATTR_PS_STATE
- * @NL80211_CMD_GET_POWER_SAVE: Get powersave status in %NL80211_ATTR_PS_STATE
- *
- * @NL80211_CMD_SET_CQM: Connection quality monitor configuration. This command
- * is used to configure connection quality monitoring notification trigger
- * levels.
- * @NL80211_CMD_NOTIFY_CQM: Connection quality monitor notification. This
- * command is used as an event to indicate the that a trigger level was
- * reached.
- * @NL80211_CMD_SET_CHANNEL: Set the channel (using %NL80211_ATTR_WIPHY_FREQ
- * and the attributes determining channel width) the given interface
- * (identifed by %NL80211_ATTR_IFINDEX) shall operate on.
- * In case multiple channels are supported by the device, the mechanism
- * with which it switches channels is implementation-defined.
- * When a monitor interface is given, it can only switch channel while
- * no other interfaces are operating to avoid disturbing the operation
- * of any other interfaces, and other interfaces will again take
- * precedence when they are used.
- *
- * @NL80211_CMD_SET_WDS_PEER: Set the MAC address of the peer on a WDS interface.
- *
- * @NL80211_CMD_JOIN_MESH: Join a mesh. The mesh ID must be given, and initial
- * mesh config parameters may be given.
- * @NL80211_CMD_LEAVE_MESH: Leave the mesh network -- no special arguments, the
- * network is determined by the network interface.
- *
- * @NL80211_CMD_UNPROT_DEAUTHENTICATE: Unprotected deauthentication frame
- * notification. This event is used to indicate that an unprotected
- * deauthentication frame was dropped when MFP is in use.
- * @NL80211_CMD_UNPROT_DISASSOCIATE: Unprotected disassociation frame
- * notification. This event is used to indicate that an unprotected
- * disassociation frame was dropped when MFP is in use.
- *
- * @NL80211_CMD_NEW_PEER_CANDIDATE: Notification on the reception of a
- * beacon or probe response from a compatible mesh peer. This is only
- * sent while no station information (sta_info) exists for the new peer
- * candidate and when @NL80211_MESH_SETUP_USERSPACE_AUTH,
- * @NL80211_MESH_SETUP_USERSPACE_AMPE, or
- * @NL80211_MESH_SETUP_USERSPACE_MPM is set. On reception of this
- * notification, userspace may decide to create a new station
- * (@NL80211_CMD_NEW_STATION). To stop this notification from
- * reoccurring, the userspace authentication daemon may want to create the
- * new station with the AUTHENTICATED flag unset and maybe change it later
- * depending on the authentication result.
- *
- * @NL80211_CMD_GET_WOWLAN: get Wake-on-Wireless-LAN (WoWLAN) settings.
- * @NL80211_CMD_SET_WOWLAN: set Wake-on-Wireless-LAN (WoWLAN) settings.
- * Since wireless is more complex than wired ethernet, it supports
- * various triggers. These triggers can be configured through this
- * command with the %NL80211_ATTR_WOWLAN_TRIGGERS attribute. For
- * more background information, see
- * http://wireless.kernel.org/en/users/Documentation/WoWLAN.
- * The @NL80211_CMD_SET_WOWLAN command can also be used as a notification
- * from the driver reporting the wakeup reason. In this case, the
- * @NL80211_ATTR_WOWLAN_TRIGGERS attribute will contain the reason
- * for the wakeup, if it was caused by wireless. If it is not present
- * in the wakeup notification, the wireless device didn't cause the
- * wakeup but reports that it was woken up.
- *
- * @NL80211_CMD_SET_REKEY_OFFLOAD: This command is used give the driver
- * the necessary information for supporting GTK rekey offload. This
- * feature is typically used during WoWLAN. The configuration data
- * is contained in %NL80211_ATTR_REKEY_DATA (which is nested and
- * contains the data in sub-attributes). After rekeying happened,
- * this command may also be sent by the driver as an MLME event to
- * inform userspace of the new replay counter.
- *
- * @NL80211_CMD_PMKSA_CANDIDATE: This is used as an event to inform userspace
- * of PMKSA caching dandidates.
- *
- * @NL80211_CMD_TDLS_OPER: Perform a high-level TDLS command (e.g. link setup).
- * In addition, this can be used as an event to request userspace to take
- * actions on TDLS links (set up a new link or tear down an existing one).
- * In such events, %NL80211_ATTR_TDLS_OPERATION indicates the requested
- * operation, %NL80211_ATTR_MAC contains the peer MAC address, and
- * %NL80211_ATTR_REASON_CODE the reason code to be used (only with
- * %NL80211_TDLS_TEARDOWN).
- * @NL80211_CMD_TDLS_MGMT: Send a TDLS management frame. The
- * %NL80211_ATTR_TDLS_ACTION attribute determines the type of frame to be
- * sent. Public Action codes (802.11-2012 8.1.5.1) will be sent as
- * 802.11 management frames, while TDLS action codes (802.11-2012
- * 8.5.13.1) will be encapsulated and sent as data frames. The currently
- * supported Public Action code is %WLAN_PUB_ACTION_TDLS_DISCOVER_RES
- * and the currently supported TDLS actions codes are given in
- * &enum ieee80211_tdls_actioncode.
- *
- * @NL80211_CMD_UNEXPECTED_FRAME: Used by an application controlling an AP
- * (or GO) interface (i.e. hostapd) to ask for unexpected frames to
- * implement sending deauth to stations that send unexpected class 3
- * frames. Also used as the event sent by the kernel when such a frame
- * is received.
- * For the event, the %NL80211_ATTR_MAC attribute carries the TA and
- * other attributes like the interface index are present.
- * If used as the command it must have an interface index and you can
- * only unsubscribe from the event by closing the socket. Subscription
- * is also for %NL80211_CMD_UNEXPECTED_4ADDR_FRAME events.
- *
- * @NL80211_CMD_UNEXPECTED_4ADDR_FRAME: Sent as an event indicating that the
- * associated station identified by %NL80211_ATTR_MAC sent a 4addr frame
- * and wasn't already in a 4-addr VLAN. The event will be sent similarly
- * to the %NL80211_CMD_UNEXPECTED_FRAME event, to the same listener.
- *
- * @NL80211_CMD_PROBE_CLIENT: Probe an associated station on an AP interface
- * by sending a null data frame to it and reporting when the frame is
- * acknowleged. This is used to allow timing out inactive clients. Uses
- * %NL80211_ATTR_IFINDEX and %NL80211_ATTR_MAC. The command returns a
- * direct reply with an %NL80211_ATTR_COOKIE that is later used to match
- * up the event with the request. The event includes the same data and
- * has %NL80211_ATTR_ACK set if the frame was ACKed.
- *
- * @NL80211_CMD_REGISTER_BEACONS: Register this socket to receive beacons from
- * other BSSes when any interfaces are in AP mode. This helps implement
- * OLBC handling in hostapd. Beacons are reported in %NL80211_CMD_FRAME
- * messages. Note that per PHY only one application may register.
- *
- * @NL80211_CMD_SET_NOACK_MAP: sets a bitmap for the individual TIDs whether
- * No Acknowledgement Policy should be applied.
- *
- * @NL80211_CMD_CH_SWITCH_NOTIFY: An AP or GO may decide to switch channels
- * independently of the userspace SME, send this event indicating
- * %NL80211_ATTR_IFINDEX is now on %NL80211_ATTR_WIPHY_FREQ and the
- * attributes determining channel width. This indication may also be
- * sent when a remotely-initiated switch (e.g., when a STA receives a CSA
- * from the remote AP) is completed;
- *
- * @NL80211_CMD_CH_SWITCH_STARTED_NOTIFY: Notify that a channel switch
- * has been started on an interface, regardless of the initiator
- * (ie. whether it was requested from a remote device or
- * initiated on our own). It indicates that
- * %NL80211_ATTR_IFINDEX will be on %NL80211_ATTR_WIPHY_FREQ
- * after %NL80211_ATTR_CH_SWITCH_COUNT TBTT's. The userspace may
- * decide to react to this indication by requesting other
- * interfaces to change channel as well.
- *
- * @NL80211_CMD_START_P2P_DEVICE: Start the given P2P Device, identified by
- * its %NL80211_ATTR_WDEV identifier. It must have been created with
- * %NL80211_CMD_NEW_INTERFACE previously. After it has been started, the
- * P2P Device can be used for P2P operations, e.g. remain-on-channel and
- * public action frame TX.
- * @NL80211_CMD_STOP_P2P_DEVICE: Stop the given P2P Device, identified by
- * its %NL80211_ATTR_WDEV identifier.
- *
- * @NL80211_CMD_CONN_FAILED: connection request to an AP failed; used to
- * notify userspace that AP has rejected the connection request from a
- * station, due to particular reason. %NL80211_ATTR_CONN_FAILED_REASON
- * is used for this.
- *
- * @NL80211_CMD_SET_MCAST_RATE: Change the rate used to send multicast frames
- * for IBSS or MESH vif.
- *
- * @NL80211_CMD_SET_MAC_ACL: sets ACL for MAC address based access control.
- * This is to be used with the drivers advertising the support of MAC
- * address based access control. List of MAC addresses is passed in
- * %NL80211_ATTR_MAC_ADDRS and ACL policy is passed in
- * %NL80211_ATTR_ACL_POLICY. Driver will enable ACL with this list, if it
- * is not already done. The new list will replace any existing list. Driver
- * will clear its ACL when the list of MAC addresses passed is empty. This
- * command is used in AP/P2P GO mode. Driver has to make sure to clear its
- * ACL list during %NL80211_CMD_STOP_AP.
- *
- * @NL80211_CMD_RADAR_DETECT: Start a Channel availability check (CAC). Once
- * a radar is detected or the channel availability scan (CAC) has finished
- * or was aborted, or a radar was detected, usermode will be notified with
- * this event. This command is also used to notify userspace about radars
- * while operating on this channel.
- * %NL80211_ATTR_RADAR_EVENT is used to inform about the type of the
- * event.
- *
- * @NL80211_CMD_GET_PROTOCOL_FEATURES: Get global nl80211 protocol features,
- * i.e. features for the nl80211 protocol rather than device features.
- * Returns the features in the %NL80211_ATTR_PROTOCOL_FEATURES bitmap.
- *
- * @NL80211_CMD_UPDATE_FT_IES: Pass down the most up-to-date Fast Transition
- * Information Element to the WLAN driver
- *
- * @NL80211_CMD_FT_EVENT: Send a Fast transition event from the WLAN driver
- * to the supplicant. This will carry the target AP's MAC address along
- * with the relevant Information Elements. This event is used to report
- * received FT IEs (MDIE, FTIE, RSN IE, TIE, RICIE).
- *
- * @NL80211_CMD_CRIT_PROTOCOL_START: Indicates user-space will start running
- * a critical protocol that needs more reliability in the connection to
- * complete.
- *
- * @NL80211_CMD_CRIT_PROTOCOL_STOP: Indicates the connection reliability can
- * return back to normal.
- *
- * @NL80211_CMD_GET_COALESCE: Get currently supported coalesce rules.
- * @NL80211_CMD_SET_COALESCE: Configure coalesce rules or clear existing rules.
- *
- * @NL80211_CMD_CHANNEL_SWITCH: Perform a channel switch by announcing the
- * the new channel information (Channel Switch Announcement - CSA)
- * in the beacon for some time (as defined in the
- * %NL80211_ATTR_CH_SWITCH_COUNT parameter) and then change to the
- * new channel. Userspace provides the new channel information (using
- * %NL80211_ATTR_WIPHY_FREQ and the attributes determining channel
- * width). %NL80211_ATTR_CH_SWITCH_BLOCK_TX may be supplied to inform
- * other station that transmission must be blocked until the channel
- * switch is complete.
- *
- * @NL80211_CMD_VENDOR: Vendor-specified command/event. The command is specified
- * by the %NL80211_ATTR_VENDOR_ID attribute and a sub-command in
- * %NL80211_ATTR_VENDOR_SUBCMD. Parameter(s) can be transported in
- * %NL80211_ATTR_VENDOR_DATA.
- * For feature advertisement, the %NL80211_ATTR_VENDOR_DATA attribute is
- * used in the wiphy data as a nested attribute containing descriptions
- * (&struct nl80211_vendor_cmd_info) of the supported vendor commands.
- * This may also be sent as an event with the same attributes.
- *
- * @NL80211_CMD_SET_QOS_MAP: Set Interworking QoS mapping for IP DSCP values.
- * The QoS mapping information is included in %NL80211_ATTR_QOS_MAP. If
- * that attribute is not included, QoS mapping is disabled. Since this
- * QoS mapping is relevant for IP packets, it is only valid during an
- * association. This is cleared on disassociation and AP restart.
- *
- * @NL80211_CMD_ADD_TX_TS: Ask the kernel to add a traffic stream for the given
- * %NL80211_ATTR_TSID and %NL80211_ATTR_MAC with %NL80211_ATTR_USER_PRIO
- * and %NL80211_ATTR_ADMITTED_TIME parameters.
- * Note that the action frame handshake with the AP shall be handled by
- * userspace via the normal management RX/TX framework, this only sets
- * up the TX TS in the driver/device.
- * If the admitted time attribute is not added then the request just checks
- * if a subsequent setup could be successful, the intent is to use this to
- * avoid setting up a session with the AP when local restrictions would
- * make that impossible. However, the subsequent "real" setup may still
- * fail even if the check was successful.
- * @NL80211_CMD_DEL_TX_TS: Remove an existing TS with the %NL80211_ATTR_TSID
- * and %NL80211_ATTR_MAC parameters. It isn't necessary to call this
- * before removing a station entry entirely, or before disassociating
- * or similar, cleanup will happen in the driver/device in this case.
- *
- * @NL80211_CMD_GET_MPP: Get mesh path attributes for mesh proxy path to
- * destination %NL80211_ATTR_MAC on the interface identified by
- * %NL80211_ATTR_IFINDEX.
- *
- * @NL80211_CMD_JOIN_OCB: Join the OCB network. The center frequency and
- * bandwidth of a channel must be given.
- * @NL80211_CMD_LEAVE_OCB: Leave the OCB network -- no special arguments, the
- * network is determined by the network interface.
- *
- * @NL80211_CMD_TDLS_CHANNEL_SWITCH: Start channel-switching with a TDLS peer,
- * identified by the %NL80211_ATTR_MAC parameter. A target channel is
- * provided via %NL80211_ATTR_WIPHY_FREQ and other attributes determining
- * channel width/type. The target operating class is given via
- * %NL80211_ATTR_OPER_CLASS.
- * The driver is responsible for continually initiating channel-switching
- * operations and returning to the base channel for communication with the
- * AP.
- * @NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH: Stop channel-switching with a TDLS
- * peer given by %NL80211_ATTR_MAC. Both peers must be on the base channel
- * when this command completes.
- *
- * @NL80211_CMD_WIPHY_REG_CHANGE: Similar to %NL80211_CMD_REG_CHANGE, but used
- * as an event to indicate changes for devices with wiphy-specific regdom
- * management.
- *
- * @NL80211_CMD_ABORT_SCAN: Stop an ongoing scan. Returns -ENOENT if a scan is
- * not running. The driver indicates the status of the scan through
- * cfg80211_scan_done().
- *
- * @NL80211_CMD_MAX: highest used command number
- * @__NL80211_CMD_AFTER_LAST: internal use
- */
-enum nl80211_commands {
-/* don't change the order or add anything between, this is ABI! */
- NL80211_CMD_UNSPEC,
-
- NL80211_CMD_GET_WIPHY, /* can dump */
- NL80211_CMD_SET_WIPHY,
- NL80211_CMD_NEW_WIPHY,
- NL80211_CMD_DEL_WIPHY,
-
- NL80211_CMD_GET_INTERFACE, /* can dump */
- NL80211_CMD_SET_INTERFACE,
- NL80211_CMD_NEW_INTERFACE,
- NL80211_CMD_DEL_INTERFACE,
-
- NL80211_CMD_GET_KEY,
- NL80211_CMD_SET_KEY,
- NL80211_CMD_NEW_KEY,
- NL80211_CMD_DEL_KEY,
-
- NL80211_CMD_GET_BEACON,
- NL80211_CMD_SET_BEACON,
- NL80211_CMD_START_AP,
- NL80211_CMD_NEW_BEACON = NL80211_CMD_START_AP,
- NL80211_CMD_STOP_AP,
- NL80211_CMD_DEL_BEACON = NL80211_CMD_STOP_AP,
-
- NL80211_CMD_GET_STATION,
- NL80211_CMD_SET_STATION,
- NL80211_CMD_NEW_STATION,
- NL80211_CMD_DEL_STATION,
-
- NL80211_CMD_GET_MPATH,
- NL80211_CMD_SET_MPATH,
- NL80211_CMD_NEW_MPATH,
- NL80211_CMD_DEL_MPATH,
-
- NL80211_CMD_SET_BSS,
-
- NL80211_CMD_SET_REG,
- NL80211_CMD_REQ_SET_REG,
-
- NL80211_CMD_GET_MESH_CONFIG,
- NL80211_CMD_SET_MESH_CONFIG,
-
- NL80211_CMD_SET_MGMT_EXTRA_IE /* reserved; not used */,
-
- NL80211_CMD_GET_REG,
-
- NL80211_CMD_GET_SCAN,
- NL80211_CMD_TRIGGER_SCAN,
- NL80211_CMD_NEW_SCAN_RESULTS,
- NL80211_CMD_SCAN_ABORTED,
-
- NL80211_CMD_REG_CHANGE,
-
- NL80211_CMD_AUTHENTICATE,
- NL80211_CMD_ASSOCIATE,
- NL80211_CMD_DEAUTHENTICATE,
- NL80211_CMD_DISASSOCIATE,
-
- NL80211_CMD_MICHAEL_MIC_FAILURE,
-
- NL80211_CMD_REG_BEACON_HINT,
-
- NL80211_CMD_JOIN_IBSS,
- NL80211_CMD_LEAVE_IBSS,
-
- NL80211_CMD_TESTMODE,
-
- NL80211_CMD_CONNECT,
- NL80211_CMD_ROAM,
- NL80211_CMD_DISCONNECT,
-
- NL80211_CMD_SET_WIPHY_NETNS,
-
- NL80211_CMD_GET_SURVEY,
- NL80211_CMD_NEW_SURVEY_RESULTS,
-
- NL80211_CMD_SET_PMKSA,
- NL80211_CMD_DEL_PMKSA,
- NL80211_CMD_FLUSH_PMKSA,
-
- NL80211_CMD_REMAIN_ON_CHANNEL,
- NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL,
-
- NL80211_CMD_SET_TX_BITRATE_MASK,
-
- NL80211_CMD_REGISTER_FRAME,
- NL80211_CMD_REGISTER_ACTION = NL80211_CMD_REGISTER_FRAME,
- NL80211_CMD_FRAME,
- NL80211_CMD_ACTION = NL80211_CMD_FRAME,
- NL80211_CMD_FRAME_TX_STATUS,
- NL80211_CMD_ACTION_TX_STATUS = NL80211_CMD_FRAME_TX_STATUS,
-
- NL80211_CMD_SET_POWER_SAVE,
- NL80211_CMD_GET_POWER_SAVE,
-
- NL80211_CMD_SET_CQM,
- NL80211_CMD_NOTIFY_CQM,
-
- NL80211_CMD_SET_CHANNEL,
- NL80211_CMD_SET_WDS_PEER,
-
- NL80211_CMD_FRAME_WAIT_CANCEL,
-
- NL80211_CMD_JOIN_MESH,
- NL80211_CMD_LEAVE_MESH,
-
- NL80211_CMD_UNPROT_DEAUTHENTICATE,
- NL80211_CMD_UNPROT_DISASSOCIATE,
-
- NL80211_CMD_NEW_PEER_CANDIDATE,
-
- NL80211_CMD_GET_WOWLAN,
- NL80211_CMD_SET_WOWLAN,
-
- NL80211_CMD_START_SCHED_SCAN,
- NL80211_CMD_STOP_SCHED_SCAN,
- NL80211_CMD_SCHED_SCAN_RESULTS,
- NL80211_CMD_SCHED_SCAN_STOPPED,
-
- NL80211_CMD_SET_REKEY_OFFLOAD,
-
- NL80211_CMD_PMKSA_CANDIDATE,
-
- NL80211_CMD_TDLS_OPER,
- NL80211_CMD_TDLS_MGMT,
-
- NL80211_CMD_UNEXPECTED_FRAME,
-
- NL80211_CMD_PROBE_CLIENT,
-
- NL80211_CMD_REGISTER_BEACONS,
-
- NL80211_CMD_UNEXPECTED_4ADDR_FRAME,
-
- NL80211_CMD_SET_NOACK_MAP,
-
- NL80211_CMD_CH_SWITCH_NOTIFY,
-
- NL80211_CMD_START_P2P_DEVICE,
- NL80211_CMD_STOP_P2P_DEVICE,
-
- NL80211_CMD_CONN_FAILED,
-
- NL80211_CMD_SET_MCAST_RATE,
-
- NL80211_CMD_SET_MAC_ACL,
-
- NL80211_CMD_RADAR_DETECT,
-
- NL80211_CMD_GET_PROTOCOL_FEATURES,
-
- NL80211_CMD_UPDATE_FT_IES,
- NL80211_CMD_FT_EVENT,
-
- NL80211_CMD_CRIT_PROTOCOL_START,
- NL80211_CMD_CRIT_PROTOCOL_STOP,
-
- NL80211_CMD_GET_COALESCE,
- NL80211_CMD_SET_COALESCE,
-
- NL80211_CMD_CHANNEL_SWITCH,
-
- NL80211_CMD_VENDOR,
-
- NL80211_CMD_SET_QOS_MAP,
-
- NL80211_CMD_ADD_TX_TS,
- NL80211_CMD_DEL_TX_TS,
-
- NL80211_CMD_GET_MPP,
-
- NL80211_CMD_JOIN_OCB,
- NL80211_CMD_LEAVE_OCB,
-
- NL80211_CMD_CH_SWITCH_STARTED_NOTIFY,
-
- NL80211_CMD_TDLS_CHANNEL_SWITCH,
- NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH,
-
- NL80211_CMD_WIPHY_REG_CHANGE,
-
- NL80211_CMD_ABORT_SCAN,
-
- /* add new commands above here */
-
- /* used to define NL80211_CMD_MAX below */
- __NL80211_CMD_AFTER_LAST,
- NL80211_CMD_MAX = __NL80211_CMD_AFTER_LAST - 1
-};
-
-/*
- * Allow user space programs to use #ifdef on new commands by defining them
- * here
- */
-#define NL80211_CMD_SET_BSS NL80211_CMD_SET_BSS
-#define NL80211_CMD_SET_MGMT_EXTRA_IE NL80211_CMD_SET_MGMT_EXTRA_IE
-#define NL80211_CMD_REG_CHANGE NL80211_CMD_REG_CHANGE
-#define NL80211_CMD_AUTHENTICATE NL80211_CMD_AUTHENTICATE
-#define NL80211_CMD_ASSOCIATE NL80211_CMD_ASSOCIATE
-#define NL80211_CMD_DEAUTHENTICATE NL80211_CMD_DEAUTHENTICATE
-#define NL80211_CMD_DISASSOCIATE NL80211_CMD_DISASSOCIATE
-#define NL80211_CMD_REG_BEACON_HINT NL80211_CMD_REG_BEACON_HINT
-
-#define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS
-
-/* source-level API compatibility */
-#define NL80211_CMD_GET_MESH_PARAMS NL80211_CMD_GET_MESH_CONFIG
-#define NL80211_CMD_SET_MESH_PARAMS NL80211_CMD_SET_MESH_CONFIG
-#define NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE NL80211_MESH_SETUP_IE
-
-/**
- * enum nl80211_attrs - nl80211 netlink attributes
- *
- * @NL80211_ATTR_UNSPEC: unspecified attribute to catch errors
- *
- * @NL80211_ATTR_WIPHY: index of wiphy to operate on, cf.
- * /sys/class/ieee80211/<phyname>/index
- * @NL80211_ATTR_WIPHY_NAME: wiphy name (used for renaming)
- * @NL80211_ATTR_WIPHY_TXQ_PARAMS: a nested array of TX queue parameters
- * @NL80211_ATTR_WIPHY_FREQ: frequency of the selected channel in MHz,
- * defines the channel together with the (deprecated)
- * %NL80211_ATTR_WIPHY_CHANNEL_TYPE attribute or the attributes
- * %NL80211_ATTR_CHANNEL_WIDTH and if needed %NL80211_ATTR_CENTER_FREQ1
- * and %NL80211_ATTR_CENTER_FREQ2
- * @NL80211_ATTR_CHANNEL_WIDTH: u32 attribute containing one of the values
- * of &enum nl80211_chan_width, describing the channel width. See the
- * documentation of the enum for more information.
- * @NL80211_ATTR_CENTER_FREQ1: Center frequency of the first part of the
- * channel, used for anything but 20 MHz bandwidth
- * @NL80211_ATTR_CENTER_FREQ2: Center frequency of the second part of the
- * channel, used only for 80+80 MHz bandwidth
- * @NL80211_ATTR_WIPHY_CHANNEL_TYPE: included with NL80211_ATTR_WIPHY_FREQ
- * if HT20 or HT40 are to be used (i.e., HT disabled if not included):
- * NL80211_CHAN_NO_HT = HT not allowed (i.e., same as not including
- * this attribute)
- * NL80211_CHAN_HT20 = HT20 only
- * NL80211_CHAN_HT40MINUS = secondary channel is below the primary channel
- * NL80211_CHAN_HT40PLUS = secondary channel is above the primary channel
- * This attribute is now deprecated.
- * @NL80211_ATTR_WIPHY_RETRY_SHORT: TX retry limit for frames whose length is
- * less than or equal to the RTS threshold; allowed range: 1..255;
- * dot11ShortRetryLimit; u8
- * @NL80211_ATTR_WIPHY_RETRY_LONG: TX retry limit for frames whose length is
- * greater than the RTS threshold; allowed range: 1..255;
- * dot11ShortLongLimit; u8
- * @NL80211_ATTR_WIPHY_FRAG_THRESHOLD: fragmentation threshold, i.e., maximum
- * length in octets for frames; allowed range: 256..8000, disable
- * fragmentation with (u32)-1; dot11FragmentationThreshold; u32
- * @NL80211_ATTR_WIPHY_RTS_THRESHOLD: RTS threshold (TX frames with length
- * larger than or equal to this use RTS/CTS handshake); allowed range:
- * 0..65536, disable with (u32)-1; dot11RTSThreshold; u32
- * @NL80211_ATTR_WIPHY_COVERAGE_CLASS: Coverage Class as defined by IEEE 802.11
- * section 7.3.2.9; dot11CoverageClass; u8
- *
- * @NL80211_ATTR_IFINDEX: network interface index of the device to operate on
- * @NL80211_ATTR_IFNAME: network interface name
- * @NL80211_ATTR_IFTYPE: type of virtual interface, see &enum nl80211_iftype
- *
- * @NL80211_ATTR_WDEV: wireless device identifier, used for pseudo-devices
- * that don't have a netdev (u64)
- *
- * @NL80211_ATTR_MAC: MAC address (various uses)
- *
- * @NL80211_ATTR_KEY_DATA: (temporal) key data; for TKIP this consists of
- * 16 bytes encryption key followed by 8 bytes each for TX and RX MIC
- * keys
- * @NL80211_ATTR_KEY_IDX: key ID (u8, 0-3)
- * @NL80211_ATTR_KEY_CIPHER: key cipher suite (u32, as defined by IEEE 802.11
- * section 7.3.2.25.1, e.g. 0x000FAC04)
- * @NL80211_ATTR_KEY_SEQ: transmit key sequence number (IV/PN) for TKIP and
- * CCMP keys, each six bytes in little endian
- * @NL80211_ATTR_KEY_DEFAULT: Flag attribute indicating the key is default key
- * @NL80211_ATTR_KEY_DEFAULT_MGMT: Flag attribute indicating the key is the
- * default management key
- * @NL80211_ATTR_CIPHER_SUITES_PAIRWISE: For crypto settings for connect or
- * other commands, indicates which pairwise cipher suites are used
- * @NL80211_ATTR_CIPHER_SUITE_GROUP: For crypto settings for connect or
- * other commands, indicates which group cipher suite is used
- *
- * @NL80211_ATTR_BEACON_INTERVAL: beacon interval in TU
- * @NL80211_ATTR_DTIM_PERIOD: DTIM period for beaconing
- * @NL80211_ATTR_BEACON_HEAD: portion of the beacon before the TIM IE
- * @NL80211_ATTR_BEACON_TAIL: portion of the beacon after the TIM IE
- *
- * @NL80211_ATTR_STA_AID: Association ID for the station (u16)
- * @NL80211_ATTR_STA_FLAGS: flags, nested element with NLA_FLAG attributes of
- * &enum nl80211_sta_flags (deprecated, use %NL80211_ATTR_STA_FLAGS2)
- * @NL80211_ATTR_STA_LISTEN_INTERVAL: listen interval as defined by
- * IEEE 802.11 7.3.1.6 (u16).
- * @NL80211_ATTR_STA_SUPPORTED_RATES: supported rates, array of supported
- * rates as defined by IEEE 802.11 7.3.2.2 but without the length
- * restriction (at most %NL80211_MAX_SUPP_RATES).
- * @NL80211_ATTR_STA_VLAN: interface index of VLAN interface to move station
- * to, or the AP interface the station was originally added to to.
- * @NL80211_ATTR_STA_INFO: information about a station, part of station info
- * given for %NL80211_CMD_GET_STATION, nested attribute containing
- * info as possible, see &enum nl80211_sta_info.
- *
- * @NL80211_ATTR_WIPHY_BANDS: Information about an operating bands,
- * consisting of a nested array.
- *
- * @NL80211_ATTR_MESH_ID: mesh id (1-32 bytes).
- * @NL80211_ATTR_STA_PLINK_ACTION: action to perform on the mesh peer link
- * (see &enum nl80211_plink_action).
- * @NL80211_ATTR_MPATH_NEXT_HOP: MAC address of the next hop for a mesh path.
- * @NL80211_ATTR_MPATH_INFO: information about a mesh_path, part of mesh path
- * info given for %NL80211_CMD_GET_MPATH, nested attribute described at
- * &enum nl80211_mpath_info.
- *
- * @NL80211_ATTR_MNTR_FLAGS: flags, nested element with NLA_FLAG attributes of
- * &enum nl80211_mntr_flags.
- *
- * @NL80211_ATTR_REG_ALPHA2: an ISO-3166-alpha2 country code for which the
- * current regulatory domain should be set to or is already set to.
- * For example, 'CR', for Costa Rica. This attribute is used by the kernel
- * to query the CRDA to retrieve one regulatory domain. This attribute can
- * also be used by userspace to query the kernel for the currently set
- * regulatory domain. We chose an alpha2 as that is also used by the
- * IEEE-802.11 country information element to identify a country.
- * Users can also simply ask the wireless core to set regulatory domain
- * to a specific alpha2.
- * @NL80211_ATTR_REG_RULES: a nested array of regulatory domain regulatory
- * rules.
- *
- * @NL80211_ATTR_BSS_CTS_PROT: whether CTS protection is enabled (u8, 0 or 1)
- * @NL80211_ATTR_BSS_SHORT_PREAMBLE: whether short preamble is enabled
- * (u8, 0 or 1)
- * @NL80211_ATTR_BSS_SHORT_SLOT_TIME: whether short slot time enabled
- * (u8, 0 or 1)
- * @NL80211_ATTR_BSS_BASIC_RATES: basic rates, array of basic
- * rates in format defined by IEEE 802.11 7.3.2.2 but without the length
- * restriction (at most %NL80211_MAX_SUPP_RATES).
- *
- * @NL80211_ATTR_HT_CAPABILITY: HT Capability information element (from
- * association request when used with NL80211_CMD_NEW_STATION)
- *
- * @NL80211_ATTR_SUPPORTED_IFTYPES: nested attribute containing all
- * supported interface types, each a flag attribute with the number
- * of the interface mode.
- *
- * @NL80211_ATTR_MGMT_SUBTYPE: Management frame subtype for
- * %NL80211_CMD_SET_MGMT_EXTRA_IE.
- *
- * @NL80211_ATTR_IE: Information element(s) data (used, e.g., with
- * %NL80211_CMD_SET_MGMT_EXTRA_IE).
- *
- * @NL80211_ATTR_MAX_NUM_SCAN_SSIDS: number of SSIDs you can scan with
- * a single scan request, a wiphy attribute.
- * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS: number of SSIDs you can
- * scan with a single scheduled scan request, a wiphy attribute.
- * @NL80211_ATTR_MAX_SCAN_IE_LEN: maximum length of information elements
- * that can be added to a scan request
- * @NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN: maximum length of information
- * elements that can be added to a scheduled scan request
- * @NL80211_ATTR_MAX_MATCH_SETS: maximum number of sets that can be
- * used with @NL80211_ATTR_SCHED_SCAN_MATCH, a wiphy attribute.
- *
- * @NL80211_ATTR_SCAN_FREQUENCIES: nested attribute with frequencies (in MHz)
- * @NL80211_ATTR_SCAN_SSIDS: nested attribute with SSIDs, leave out for passive
- * scanning and include a zero-length SSID (wildcard) for wildcard scan
- * @NL80211_ATTR_BSS: scan result BSS
- *
- * @NL80211_ATTR_REG_INITIATOR: indicates who requested the regulatory domain
- * currently in effect. This could be any of the %NL80211_REGDOM_SET_BY_*
- * @NL80211_ATTR_REG_TYPE: indicates the type of the regulatory domain currently
- * set. This can be one of the nl80211_reg_type (%NL80211_REGDOM_TYPE_*)
- *
- * @NL80211_ATTR_SUPPORTED_COMMANDS: wiphy attribute that specifies
- * an array of command numbers (i.e. a mapping index to command number)
- * that the driver for the given wiphy supports.
- *
- * @NL80211_ATTR_FRAME: frame data (binary attribute), including frame header
- * and body, but not FCS; used, e.g., with NL80211_CMD_AUTHENTICATE and
- * NL80211_CMD_ASSOCIATE events
- * @NL80211_ATTR_SSID: SSID (binary attribute, 0..32 octets)
- * @NL80211_ATTR_AUTH_TYPE: AuthenticationType, see &enum nl80211_auth_type,
- * represented as a u32
- * @NL80211_ATTR_REASON_CODE: ReasonCode for %NL80211_CMD_DEAUTHENTICATE and
- * %NL80211_CMD_DISASSOCIATE, u16
- *
- * @NL80211_ATTR_KEY_TYPE: Key Type, see &enum nl80211_key_type, represented as
- * a u32
- *
- * @NL80211_ATTR_FREQ_BEFORE: A channel which has suffered a regulatory change
- * due to considerations from a beacon hint. This attribute reflects
- * the state of the channel _before_ the beacon hint processing. This
- * attributes consists of a nested attribute containing
- * NL80211_FREQUENCY_ATTR_*
- * @NL80211_ATTR_FREQ_AFTER: A channel which has suffered a regulatory change
- * due to considerations from a beacon hint. This attribute reflects
- * the state of the channel _after_ the beacon hint processing. This
- * attributes consists of a nested attribute containing
- * NL80211_FREQUENCY_ATTR_*
- *
- * @NL80211_ATTR_CIPHER_SUITES: a set of u32 values indicating the supported
- * cipher suites
- *
- * @NL80211_ATTR_FREQ_FIXED: a flag indicating the IBSS should not try to look
- * for other networks on different channels
- *
- * @NL80211_ATTR_TIMED_OUT: a flag indicating than an operation timed out; this
- * is used, e.g., with %NL80211_CMD_AUTHENTICATE event
- *
- * @NL80211_ATTR_USE_MFP: Whether management frame protection (IEEE 802.11w) is
- * used for the association (&enum nl80211_mfp, represented as a u32);
- * this attribute can be used
- * with %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests
- *
- * @NL80211_ATTR_STA_FLAGS2: Attribute containing a
- * &struct nl80211_sta_flag_update.
- *
- * @NL80211_ATTR_CONTROL_PORT: A flag indicating whether user space controls
- * IEEE 802.1X port, i.e., sets/clears %NL80211_STA_FLAG_AUTHORIZED, in
- * station mode. If the flag is included in %NL80211_CMD_ASSOCIATE
- * request, the driver will assume that the port is unauthorized until
- * authorized by user space. Otherwise, port is marked authorized by
- * default in station mode.
- * @NL80211_ATTR_CONTROL_PORT_ETHERTYPE: A 16-bit value indicating the
- * ethertype that will be used for key negotiation. It can be
- * specified with the associate and connect commands. If it is not
- * specified, the value defaults to 0x888E (PAE, 802.1X). This
- * attribute is also used as a flag in the wiphy information to
- * indicate that protocols other than PAE are supported.
- * @NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT: When included along with
- * %NL80211_ATTR_CONTROL_PORT_ETHERTYPE, indicates that the custom
- * ethertype frames used for key negotiation must not be encrypted.
- *
- * @NL80211_ATTR_TESTDATA: Testmode data blob, passed through to the driver.
- * We recommend using nested, driver-specific attributes within this.
- *
- * @NL80211_ATTR_DISCONNECTED_BY_AP: A flag indicating that the DISCONNECT
- * event was due to the AP disconnecting the station, and not due to
- * a local disconnect request.
- * @NL80211_ATTR_STATUS_CODE: StatusCode for the %NL80211_CMD_CONNECT
- * event (u16)
- * @NL80211_ATTR_PRIVACY: Flag attribute, used with connect(), indicating
- * that protected APs should be used. This is also used with NEW_BEACON to
- * indicate that the BSS is to use protection.
- *
- * @NL80211_ATTR_CIPHERS_PAIRWISE: Used with CONNECT, ASSOCIATE, and NEW_BEACON
- * to indicate which unicast key ciphers will be used with the connection
- * (an array of u32).
- * @NL80211_ATTR_CIPHER_GROUP: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
- * indicate which group key cipher will be used with the connection (a
- * u32).
- * @NL80211_ATTR_WPA_VERSIONS: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
- * indicate which WPA version(s) the AP we want to associate with is using
- * (a u32 with flags from &enum nl80211_wpa_versions).
- * @NL80211_ATTR_AKM_SUITES: Used with CONNECT, ASSOCIATE, and NEW_BEACON to
- * indicate which key management algorithm(s) to use (an array of u32).
- *
- * @NL80211_ATTR_REQ_IE: (Re)association request information elements as
- * sent out by the card, for ROAM and successful CONNECT events.
- * @NL80211_ATTR_RESP_IE: (Re)association response information elements as
- * sent by peer, for ROAM and successful CONNECT events.
- *
- * @NL80211_ATTR_PREV_BSSID: previous BSSID, to be used by in ASSOCIATE
- * commands to specify using a reassociate frame
- *
- * @NL80211_ATTR_KEY: key information in a nested attribute with
- * %NL80211_KEY_* sub-attributes
- * @NL80211_ATTR_KEYS: array of keys for static WEP keys for connect()
- * and join_ibss(), key information is in a nested attribute each
- * with %NL80211_KEY_* sub-attributes
- *
- * @NL80211_ATTR_PID: Process ID of a network namespace.
- *
- * @NL80211_ATTR_GENERATION: Used to indicate consistent snapshots for
- * dumps. This number increases whenever the object list being
- * dumped changes, and as such userspace can verify that it has
- * obtained a complete and consistent snapshot by verifying that
- * all dump messages contain the same generation number. If it
- * changed then the list changed and the dump should be repeated
- * completely from scratch.
- *
- * @NL80211_ATTR_4ADDR: Use 4-address frames on a virtual interface
- *
- * @NL80211_ATTR_SURVEY_INFO: survey information about a channel, part of
- * the survey response for %NL80211_CMD_GET_SURVEY, nested attribute
- * containing info as possible, see &enum survey_info.
- *
- * @NL80211_ATTR_PMKID: PMK material for PMKSA caching.
- * @NL80211_ATTR_MAX_NUM_PMKIDS: maximum number of PMKIDs a firmware can
- * cache, a wiphy attribute.
- *
- * @NL80211_ATTR_DURATION: Duration of an operation in milliseconds, u32.
- * @NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION: Device attribute that
- * specifies the maximum duration that can be requested with the
- * remain-on-channel operation, in milliseconds, u32.
- *
- * @NL80211_ATTR_COOKIE: Generic 64-bit cookie to identify objects.
- *
- * @NL80211_ATTR_TX_RATES: Nested set of attributes
- * (enum nl80211_tx_rate_attributes) describing TX rates per band. The
- * enum nl80211_band value is used as the index (nla_type() of the nested
- * data. If a band is not included, it will be configured to allow all
- * rates based on negotiated supported rates information. This attribute
- * is used with %NL80211_CMD_SET_TX_BITRATE_MASK.
- *
- * @NL80211_ATTR_FRAME_MATCH: A binary attribute which typically must contain
- * at least one byte, currently used with @NL80211_CMD_REGISTER_FRAME.
- * @NL80211_ATTR_FRAME_TYPE: A u16 indicating the frame type/subtype for the
- * @NL80211_CMD_REGISTER_FRAME command.
- * @NL80211_ATTR_TX_FRAME_TYPES: wiphy capability attribute, which is a
- * nested attribute of %NL80211_ATTR_FRAME_TYPE attributes, containing
- * information about which frame types can be transmitted with
- * %NL80211_CMD_FRAME.
- * @NL80211_ATTR_RX_FRAME_TYPES: wiphy capability attribute, which is a
- * nested attribute of %NL80211_ATTR_FRAME_TYPE attributes, containing
- * information about which frame types can be registered for RX.
- *
- * @NL80211_ATTR_ACK: Flag attribute indicating that the frame was
- * acknowledged by the recipient.
- *
- * @NL80211_ATTR_PS_STATE: powersave state, using &enum nl80211_ps_state values.
- *
- * @NL80211_ATTR_CQM: connection quality monitor configuration in a
- * nested attribute with %NL80211_ATTR_CQM_* sub-attributes.
- *
- * @NL80211_ATTR_LOCAL_STATE_CHANGE: Flag attribute to indicate that a command
- * is requesting a local authentication/association state change without
- * invoking actual management frame exchange. This can be used with
- * NL80211_CMD_AUTHENTICATE, NL80211_CMD_DEAUTHENTICATE,
- * NL80211_CMD_DISASSOCIATE.
- *
- * @NL80211_ATTR_AP_ISOLATE: (AP mode) Do not forward traffic between stations
- * connected to this BSS.
- *
- * @NL80211_ATTR_WIPHY_TX_POWER_SETTING: Transmit power setting type. See
- * &enum nl80211_tx_power_setting for possible values.
- * @NL80211_ATTR_WIPHY_TX_POWER_LEVEL: Transmit power level in signed mBm units.
- * This is used in association with @NL80211_ATTR_WIPHY_TX_POWER_SETTING
- * for non-automatic settings.
- *
- * @NL80211_ATTR_SUPPORT_IBSS_RSN: The device supports IBSS RSN, which mostly
- * means support for per-station GTKs.
- *
- * @NL80211_ATTR_WIPHY_ANTENNA_TX: Bitmap of allowed antennas for transmitting.
- * This can be used to mask out antennas which are not attached or should
- * not be used for transmitting. If an antenna is not selected in this
- * bitmap the hardware is not allowed to transmit on this antenna.
- *
- * Each bit represents one antenna, starting with antenna 1 at the first
- * bit. Depending on which antennas are selected in the bitmap, 802.11n
- * drivers can derive which chainmasks to use (if all antennas belonging to
- * a particular chain are disabled this chain should be disabled) and if
- * a chain has diversity antennas wether diversity should be used or not.
- * HT capabilities (STBC, TX Beamforming, Antenna selection) can be
- * derived from the available chains after applying the antenna mask.
- * Non-802.11n drivers can derive wether to use diversity or not.
- * Drivers may reject configurations or RX/TX mask combinations they cannot
- * support by returning -EINVAL.
- *
- * @NL80211_ATTR_WIPHY_ANTENNA_RX: Bitmap of allowed antennas for receiving.
- * This can be used to mask out antennas which are not attached or should
- * not be used for receiving. If an antenna is not selected in this bitmap
- * the hardware should not be configured to receive on this antenna.
- * For a more detailed description see @NL80211_ATTR_WIPHY_ANTENNA_TX.
- *
- * @NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX: Bitmap of antennas which are available
- * for configuration as TX antennas via the above parameters.
- *
- * @NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX: Bitmap of antennas which are available
- * for configuration as RX antennas via the above parameters.
- *
- * @NL80211_ATTR_MCAST_RATE: Multicast tx rate (in 100 kbps) for IBSS
- *
- * @NL80211_ATTR_OFFCHANNEL_TX_OK: For management frame TX, the frame may be
- * transmitted on another channel when the channel given doesn't match
- * the current channel. If the current channel doesn't match and this
- * flag isn't set, the frame will be rejected. This is also used as an
- * nl80211 capability flag.
- *
- * @NL80211_ATTR_BSS_HT_OPMODE: HT operation mode (u16)
- *
- * @NL80211_ATTR_KEY_DEFAULT_TYPES: A nested attribute containing flags
- * attributes, specifying what a key should be set as default as.
- * See &enum nl80211_key_default_types.
- *
- * @NL80211_ATTR_MESH_SETUP: Optional mesh setup parameters. These cannot be
- * changed once the mesh is active.
- * @NL80211_ATTR_MESH_CONFIG: Mesh configuration parameters, a nested attribute
- * containing attributes from &enum nl80211_meshconf_params.
- * @NL80211_ATTR_SUPPORT_MESH_AUTH: Currently, this means the underlying driver
- * allows auth frames in a mesh to be passed to userspace for processing via
- * the @NL80211_MESH_SETUP_USERSPACE_AUTH flag.
- * @NL80211_ATTR_STA_PLINK_STATE: The state of a mesh peer link as defined in
- * &enum nl80211_plink_state. Used when userspace is driving the peer link
- * management state machine. @NL80211_MESH_SETUP_USERSPACE_AMPE or
- * @NL80211_MESH_SETUP_USERSPACE_MPM must be enabled.
- *
- * @NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED: indicates, as part of the wiphy
- * capabilities, the supported WoWLAN triggers
- * @NL80211_ATTR_WOWLAN_TRIGGERS: used by %NL80211_CMD_SET_WOWLAN to
- * indicate which WoW triggers should be enabled. This is also
- * used by %NL80211_CMD_GET_WOWLAN to get the currently enabled WoWLAN
- * triggers.
- *
- * @NL80211_ATTR_SCHED_SCAN_INTERVAL: Interval between scheduled scan
- * cycles, in msecs.
- *
- * @NL80211_ATTR_SCHED_SCAN_MATCH: Nested attribute with one or more
- * sets of attributes to match during scheduled scans. Only BSSs
- * that match any of the sets will be reported. These are
- * pass-thru filter rules.
- * For a match to succeed, the BSS must match all attributes of a
- * set. Since not every hardware supports matching all types of
- * attributes, there is no guarantee that the reported BSSs are
- * fully complying with the match sets and userspace needs to be
- * able to ignore them by itself.
- * Thus, the implementation is somewhat hardware-dependent, but
- * this is only an optimization and the userspace application
- * needs to handle all the non-filtered results anyway.
- * If the match attributes don't make sense when combined with
- * the values passed in @NL80211_ATTR_SCAN_SSIDS (eg. if an SSID
- * is included in the probe request, but the match attributes
- * will never let it go through), -EINVAL may be returned.
- * If ommited, no filtering is done.
- *
- * @NL80211_ATTR_INTERFACE_COMBINATIONS: Nested attribute listing the supported
- * interface combinations. In each nested item, it contains attributes
- * defined in &enum nl80211_if_combination_attrs.
- * @NL80211_ATTR_SOFTWARE_IFTYPES: Nested attribute (just like
- * %NL80211_ATTR_SUPPORTED_IFTYPES) containing the interface types that
- * are managed in software: interfaces of these types aren't subject to
- * any restrictions in their number or combinations.
- *
- * @NL80211_ATTR_REKEY_DATA: nested attribute containing the information
- * necessary for GTK rekeying in the device, see &enum nl80211_rekey_data.
- *
- * @NL80211_ATTR_SCAN_SUPP_RATES: rates per to be advertised as supported in scan,
- * nested array attribute containing an entry for each band, with the entry
- * being a list of supported rates as defined by IEEE 802.11 7.3.2.2 but
- * without the length restriction (at most %NL80211_MAX_SUPP_RATES).
- *
- * @NL80211_ATTR_HIDDEN_SSID: indicates whether SSID is to be hidden from Beacon
- * and Probe Response (when response to wildcard Probe Request); see
- * &enum nl80211_hidden_ssid, represented as a u32
- *
- * @NL80211_ATTR_IE_PROBE_RESP: Information element(s) for Probe Response frame.
- * This is used with %NL80211_CMD_NEW_BEACON and %NL80211_CMD_SET_BEACON to
- * provide extra IEs (e.g., WPS/P2P IE) into Probe Response frames when the
- * driver (or firmware) replies to Probe Request frames.
- * @NL80211_ATTR_IE_ASSOC_RESP: Information element(s) for (Re)Association
- * Response frames. This is used with %NL80211_CMD_NEW_BEACON and
- * %NL80211_CMD_SET_BEACON to provide extra IEs (e.g., WPS/P2P IE) into
- * (Re)Association Response frames when the driver (or firmware) replies to
- * (Re)Association Request frames.
- *
- * @NL80211_ATTR_STA_WME: Nested attribute containing the wme configuration
- * of the station, see &enum nl80211_sta_wme_attr.
- * @NL80211_ATTR_SUPPORT_AP_UAPSD: the device supports uapsd when working
- * as AP.
- *
- * @NL80211_ATTR_ROAM_SUPPORT: Indicates whether the firmware is capable of
- * roaming to another AP in the same ESS if the signal lever is low.
- *
- * @NL80211_ATTR_PMKSA_CANDIDATE: Nested attribute containing the PMKSA caching
- * candidate information, see &enum nl80211_pmksa_candidate_attr.
- *
- * @NL80211_ATTR_TX_NO_CCK_RATE: Indicates whether to use CCK rate or not
- * for management frames transmission. In order to avoid p2p probe/action
- * frames are being transmitted at CCK rate in 2GHz band, the user space
- * applications use this attribute.
- * This attribute is used with %NL80211_CMD_TRIGGER_SCAN and
- * %NL80211_CMD_FRAME commands.
- *
- * @NL80211_ATTR_TDLS_ACTION: Low level TDLS action code (e.g. link setup
- * request, link setup confirm, link teardown, etc.). Values are
- * described in the TDLS (802.11z) specification.
- * @NL80211_ATTR_TDLS_DIALOG_TOKEN: Non-zero token for uniquely identifying a
- * TDLS conversation between two devices.
- * @NL80211_ATTR_TDLS_OPERATION: High level TDLS operation; see
- * &enum nl80211_tdls_operation, represented as a u8.
- * @NL80211_ATTR_TDLS_SUPPORT: A flag indicating the device can operate
- * as a TDLS peer sta.
- * @NL80211_ATTR_TDLS_EXTERNAL_SETUP: The TDLS discovery/setup and teardown
- * procedures should be performed by sending TDLS packets via
- * %NL80211_CMD_TDLS_MGMT. Otherwise %NL80211_CMD_TDLS_OPER should be
- * used for asking the driver to perform a TDLS operation.
- *
- * @NL80211_ATTR_DEVICE_AP_SME: This u32 attribute may be listed for devices
- * that have AP support to indicate that they have the AP SME integrated
- * with support for the features listed in this attribute, see
- * &enum nl80211_ap_sme_features.
- *
- * @NL80211_ATTR_DONT_WAIT_FOR_ACK: Used with %NL80211_CMD_FRAME, this tells
- * the driver to not wait for an acknowledgement. Note that due to this,
- * it will also not give a status callback nor return a cookie. This is
- * mostly useful for probe responses to save airtime.
- *
- * @NL80211_ATTR_FEATURE_FLAGS: This u32 attribute contains flags from
- * &enum nl80211_feature_flags and is advertised in wiphy information.
- * @NL80211_ATTR_PROBE_RESP_OFFLOAD: Indicates that the HW responds to probe
- * requests while operating in AP-mode.
- * This attribute holds a bitmap of the supported protocols for
- * offloading (see &enum nl80211_probe_resp_offload_support_attr).
- *
- * @NL80211_ATTR_PROBE_RESP: Probe Response template data. Contains the entire
- * probe-response frame. The DA field in the 802.11 header is zero-ed out,
- * to be filled by the FW.
- * @NL80211_ATTR_DISABLE_HT: Force HT capable interfaces to disable
- * this feature. Currently, only supported in mac80211 drivers.
- * @NL80211_ATTR_HT_CAPABILITY_MASK: Specify which bits of the
- * ATTR_HT_CAPABILITY to which attention should be paid.
- * Currently, only mac80211 NICs support this feature.
- * The values that may be configured are:
- * MCS rates, MAX-AMSDU, HT-20-40 and HT_CAP_SGI_40
- * AMPDU density and AMPDU factor.
- * All values are treated as suggestions and may be ignored
- * by the driver as required. The actual values may be seen in
- * the station debugfs ht_caps file.
- *
- * @NL80211_ATTR_DFS_REGION: region for regulatory rules which this country
- * abides to when initiating radiation on DFS channels. A country maps
- * to one DFS region.
- *
- * @NL80211_ATTR_NOACK_MAP: This u16 bitmap contains the No Ack Policy of
- * up to 16 TIDs.
- *
- * @NL80211_ATTR_INACTIVITY_TIMEOUT: timeout value in seconds, this can be
- * used by the drivers which has MLME in firmware and does not have support
- * to report per station tx/rx activity to free up the staion entry from
- * the list. This needs to be used when the driver advertises the
- * capability to timeout the stations.
- *
- * @NL80211_ATTR_RX_SIGNAL_DBM: signal strength in dBm (as a 32-bit int);
- * this attribute is (depending on the driver capabilities) added to
- * received frames indicated with %NL80211_CMD_FRAME.
- *
- * @NL80211_ATTR_BG_SCAN_PERIOD: Background scan period in seconds
- * or 0 to disable background scan.
- *
- * @NL80211_ATTR_USER_REG_HINT_TYPE: type of regulatory hint passed from
- * userspace. If unset it is assumed the hint comes directly from
- * a user. If set code could specify exactly what type of source
- * was used to provide the hint. For the different types of
- * allowed user regulatory hints see nl80211_user_reg_hint_type.
- *
- * @NL80211_ATTR_CONN_FAILED_REASON: The reason for which AP has rejected
- * the connection request from a station. nl80211_connect_failed_reason
- * enum has different reasons of connection failure.
- *
- * @NL80211_ATTR_SAE_DATA: SAE elements in Authentication frames. This starts
- * with the Authentication transaction sequence number field.
- *
- * @NL80211_ATTR_VHT_CAPABILITY: VHT Capability information element (from
- * association request when used with NL80211_CMD_NEW_STATION)
- *
- * @NL80211_ATTR_SCAN_FLAGS: scan request control flags (u32)
- *
- * @NL80211_ATTR_P2P_CTWINDOW: P2P GO Client Traffic Window (u8), used with
- * the START_AP and SET_BSS commands
- * @NL80211_ATTR_P2P_OPPPS: P2P GO opportunistic PS (u8), used with the
- * START_AP and SET_BSS commands. This can have the values 0 or 1;
- * if not given in START_AP 0 is assumed, if not given in SET_BSS
- * no change is made.
- *
- * @NL80211_ATTR_LOCAL_MESH_POWER_MODE: local mesh STA link-specific power mode
- * defined in &enum nl80211_mesh_power_mode.
- *
- * @NL80211_ATTR_ACL_POLICY: ACL policy, see &enum nl80211_acl_policy,
- * carried in a u32 attribute
- *
- * @NL80211_ATTR_MAC_ADDRS: Array of nested MAC addresses, used for
- * MAC ACL.
- *
- * @NL80211_ATTR_MAC_ACL_MAX: u32 attribute to advertise the maximum
- * number of MAC addresses that a device can support for MAC
- * ACL.
- *
- * @NL80211_ATTR_RADAR_EVENT: Type of radar event for notification to userspace,
- * contains a value of enum nl80211_radar_event (u32).
- *
- * @NL80211_ATTR_EXT_CAPA: 802.11 extended capabilities that the kernel driver
- * has and handles. The format is the same as the IE contents. See
- * 802.11-2012 8.4.2.29 for more information.
- * @NL80211_ATTR_EXT_CAPA_MASK: Extended capabilities that the kernel driver
- * has set in the %NL80211_ATTR_EXT_CAPA value, for multibit fields.
- *
- * @NL80211_ATTR_STA_CAPABILITY: Station capabilities (u16) are advertised to
- * the driver, e.g., to enable TDLS power save (PU-APSD).
- *
- * @NL80211_ATTR_STA_EXT_CAPABILITY: Station extended capabilities are
- * advertised to the driver, e.g., to enable TDLS off channel operations
- * and PU-APSD.
- *
- * @NL80211_ATTR_PROTOCOL_FEATURES: global nl80211 feature flags, see
- * &enum nl80211_protocol_features, the attribute is a u32.
- *
- * @NL80211_ATTR_SPLIT_WIPHY_DUMP: flag attribute, userspace supports
- * receiving the data for a single wiphy split across multiple
- * messages, given with wiphy dump message
- *
- * @NL80211_ATTR_MDID: Mobility Domain Identifier
- *
- * @NL80211_ATTR_IE_RIC: Resource Information Container Information
- * Element
- *
- * @NL80211_ATTR_CRIT_PROT_ID: critical protocol identifier requiring increased
- * reliability, see &enum nl80211_crit_proto_id (u16).
- * @NL80211_ATTR_MAX_CRIT_PROT_DURATION: duration in milliseconds in which
- * the connection should have increased reliability (u16).
- *
- * @NL80211_ATTR_PEER_AID: Association ID for the peer TDLS station (u16).
- * This is similar to @NL80211_ATTR_STA_AID but with a difference of being
- * allowed to be used with the first @NL80211_CMD_SET_STATION command to
- * update a TDLS peer STA entry.
- *
- * @NL80211_ATTR_COALESCE_RULE: Coalesce rule information.
- *
- * @NL80211_ATTR_CH_SWITCH_COUNT: u32 attribute specifying the number of TBTT's
- * until the channel switch event.
- * @NL80211_ATTR_CH_SWITCH_BLOCK_TX: flag attribute specifying that transmission
- * must be blocked on the current channel (before the channel switch
- * operation).
- * @NL80211_ATTR_CSA_IES: Nested set of attributes containing the IE information
- * for the time while performing a channel switch.
- * @NL80211_ATTR_CSA_C_OFF_BEACON: An array of offsets (u16) to the channel
- * switch counters in the beacons tail (%NL80211_ATTR_BEACON_TAIL).
- * @NL80211_ATTR_CSA_C_OFF_PRESP: An array of offsets (u16) to the channel
- * switch counters in the probe response (%NL80211_ATTR_PROBE_RESP).
- *
- * @NL80211_ATTR_RXMGMT_FLAGS: flags for nl80211_send_mgmt(), u32.
- * As specified in the &enum nl80211_rxmgmt_flags.
- *
- * @NL80211_ATTR_STA_SUPPORTED_CHANNELS: array of supported channels.
- *
- * @NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES: array of supported
- * supported operating classes.
- *
- * @NL80211_ATTR_HANDLE_DFS: A flag indicating whether user space
- * controls DFS operation in IBSS mode. If the flag is included in
- * %NL80211_CMD_JOIN_IBSS request, the driver will allow use of DFS
- * channels and reports radar events to userspace. Userspace is required
- * to react to radar events, e.g. initiate a channel switch or leave the
- * IBSS network.
- *
- * @NL80211_ATTR_SUPPORT_5_MHZ: A flag indicating that the device supports
- * 5 MHz channel bandwidth.
- * @NL80211_ATTR_SUPPORT_10_MHZ: A flag indicating that the device supports
- * 10 MHz channel bandwidth.
- *
- * @NL80211_ATTR_OPMODE_NOTIF: Operating mode field from Operating Mode
- * Notification Element based on association request when used with
- * %NL80211_CMD_NEW_STATION; u8 attribute.
- *
- * @NL80211_ATTR_VENDOR_ID: The vendor ID, either a 24-bit OUI or, if
- * %NL80211_VENDOR_ID_IS_LINUX is set, a special Linux ID (not used yet)
- * @NL80211_ATTR_VENDOR_SUBCMD: vendor sub-command
- * @NL80211_ATTR_VENDOR_DATA: data for the vendor command, if any; this
- * attribute is also used for vendor command feature advertisement
- * @NL80211_ATTR_VENDOR_EVENTS: used for event list advertising in the wiphy
- * info, containing a nested array of possible events
- *
- * @NL80211_ATTR_QOS_MAP: IP DSCP mapping for Interworking QoS mapping. This
- * data is in the format defined for the payload of the QoS Map Set element
- * in IEEE Std 802.11-2012, 8.4.2.97.
- *
- * @NL80211_ATTR_MAC_HINT: MAC address recommendation as initial BSS
- * @NL80211_ATTR_WIPHY_FREQ_HINT: frequency of the recommended initial BSS
- *
- * @NL80211_ATTR_MAX_AP_ASSOC_STA: Device attribute that indicates how many
- * associated stations are supported in AP mode (including P2P GO); u32.
- * Since drivers may not have a fixed limit on the maximum number (e.g.,
- * other concurrent operations may affect this), drivers are allowed to
- * advertise values that cannot always be met. In such cases, an attempt
- * to add a new station entry with @NL80211_CMD_NEW_STATION may fail.
- *
- * @NL80211_ATTR_CSA_C_OFFSETS_TX: An array of csa counter offsets (u16) which
- * should be updated when the frame is transmitted.
- * @NL80211_ATTR_MAX_CSA_COUNTERS: U8 attribute used to advertise the maximum
- * supported number of csa counters.
- *
- * @NL80211_ATTR_TDLS_PEER_CAPABILITY: flags for TDLS peer capabilities, u32.
- * As specified in the &enum nl80211_tdls_peer_capability.
- *
- * @NL80211_ATTR_SOCKET_OWNER: Flag attribute, if set during interface
- * creation then the new interface will be owned by the netlink socket
- * that created it and will be destroyed when the socket is closed.
- * If set during scheduled scan start then the new scan req will be
- * owned by the netlink socket that created it and the scheduled scan will
- * be stopped when the socket is closed.
- * If set during configuration of regulatory indoor operation then the
- * regulatory indoor configuration would be owned by the netlink socket
- * that configured the indoor setting, and the indoor operation would be
- * cleared when the socket is closed.
- *
- * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is
- * the TDLS link initiator.
- *
- * @NL80211_ATTR_USE_RRM: flag for indicating whether the current connection
- * shall support Radio Resource Measurements (11k). This attribute can be
- * used with %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests.
- * User space applications are expected to use this flag only if the
- * underlying device supports these minimal RRM features:
- * %NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES,
- * %NL80211_FEATURE_QUIET,
- * Or, if global RRM is supported, see:
- * %NL80211_EXT_FEATURE_RRM
- * If this flag is used, driver must add the Power Capabilities IE to the
- * association request. In addition, it must also set the RRM capability
- * flag in the association request's Capability Info field.
- *
- * @NL80211_ATTR_WIPHY_DYN_ACK: flag attribute used to enable ACK timeout
- * estimation algorithm (dynack). In order to activate dynack
- * %NL80211_FEATURE_ACKTO_ESTIMATION feature flag must be set by lower
- * drivers to indicate dynack capability. Dynack is automatically disabled
- * setting valid value for coverage class.
- *
- * @NL80211_ATTR_TSID: a TSID value (u8 attribute)
- * @NL80211_ATTR_USER_PRIO: user priority value (u8 attribute)
- * @NL80211_ATTR_ADMITTED_TIME: admitted time in units of 32 microseconds
- * (per second) (u16 attribute)
- *
- * @NL80211_ATTR_SMPS_MODE: SMPS mode to use (ap mode). see
- * &enum nl80211_smps_mode.
- *
- * @NL80211_ATTR_OPER_CLASS: operating class
- *
- * @NL80211_ATTR_MAC_MASK: MAC address mask
- *
- * @NL80211_ATTR_WIPHY_SELF_MANAGED_REG: flag attribute indicating this device
- * is self-managing its regulatory information and any regulatory domain
- * obtained from it is coming from the device's wiphy and not the global
- * cfg80211 regdomain.
- *
- * @NL80211_ATTR_EXT_FEATURES: extended feature flags contained in a byte
- * array. The feature flags are identified by their bit index (see &enum
- * nl80211_ext_feature_index). The bit index is ordered starting at the
- * least-significant bit of the first byte in the array, ie. bit index 0
- * is located at bit 0 of byte 0. bit index 25 would be located at bit 1
- * of byte 3 (u8 array).
- *
- * @NL80211_ATTR_SURVEY_RADIO_STATS: Request overall radio statistics to be
- * returned along with other survey data. If set, @NL80211_CMD_GET_SURVEY
- * may return a survey entry without a channel indicating global radio
- * statistics (only some values are valid and make sense.)
- * For devices that don't return such an entry even then, the information
- * should be contained in the result as the sum of the respective counters
- * over all channels.
- *
- * @NL80211_ATTR_SCHED_SCAN_DELAY: delay before the first cycle of a
- * scheduled scan is started. Or the delay before a WoWLAN
- * net-detect scan is started, counting from the moment the
- * system is suspended. This value is a u32, in seconds.
-
- * @NL80211_ATTR_REG_INDOOR: flag attribute, if set indicates that the device
- * is operating in an indoor environment.
- *
- * @NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS: maximum number of scan plans for
- * scheduled scan supported by the device (u32), a wiphy attribute.
- * @NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL: maximum interval (in seconds) for
- * a scan plan (u32), a wiphy attribute.
- * @NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS: maximum number of iterations in
- * a scan plan (u32), a wiphy attribute.
- * @NL80211_ATTR_SCHED_SCAN_PLANS: a list of scan plans for scheduled scan.
- * Each scan plan defines the number of scan iterations and the interval
- * between scans. The last scan plan will always run infinitely,
- * thus it must not specify the number of iterations, only the interval
- * between scans. The scan plans are executed sequentially.
- * Each scan plan is a nested attribute of &enum nl80211_sched_scan_plan.
- * @NL80211_ATTR_PBSS: flag attribute. If set it means operate
- * in a PBSS. Specified in %NL80211_CMD_CONNECT to request
- * connecting to a PCP, and in %NL80211_CMD_START_AP to start
- * a PCP instead of AP. Relevant for DMG networks only.
- *
- * @NUM_NL80211_ATTR: total number of nl80211_attrs available
- * @NL80211_ATTR_MAX: highest attribute number currently defined
- * @__NL80211_ATTR_AFTER_LAST: internal use
- */
-enum nl80211_attrs {
-/* don't change the order or add anything between, this is ABI! */
- NL80211_ATTR_UNSPEC,
-
- NL80211_ATTR_WIPHY,
- NL80211_ATTR_WIPHY_NAME,
-
- NL80211_ATTR_IFINDEX,
- NL80211_ATTR_IFNAME,
- NL80211_ATTR_IFTYPE,
-
- NL80211_ATTR_MAC,
-
- NL80211_ATTR_KEY_DATA,
- NL80211_ATTR_KEY_IDX,
- NL80211_ATTR_KEY_CIPHER,
- NL80211_ATTR_KEY_SEQ,
- NL80211_ATTR_KEY_DEFAULT,
-
- NL80211_ATTR_BEACON_INTERVAL,
- NL80211_ATTR_DTIM_PERIOD,
- NL80211_ATTR_BEACON_HEAD,
- NL80211_ATTR_BEACON_TAIL,
-
- NL80211_ATTR_STA_AID,
- NL80211_ATTR_STA_FLAGS,
- NL80211_ATTR_STA_LISTEN_INTERVAL,
- NL80211_ATTR_STA_SUPPORTED_RATES,
- NL80211_ATTR_STA_VLAN,
- NL80211_ATTR_STA_INFO,
-
- NL80211_ATTR_WIPHY_BANDS,
-
- NL80211_ATTR_MNTR_FLAGS,
-
- NL80211_ATTR_MESH_ID,
- NL80211_ATTR_STA_PLINK_ACTION,
- NL80211_ATTR_MPATH_NEXT_HOP,
- NL80211_ATTR_MPATH_INFO,
-
- NL80211_ATTR_BSS_CTS_PROT,
- NL80211_ATTR_BSS_SHORT_PREAMBLE,
- NL80211_ATTR_BSS_SHORT_SLOT_TIME,
-
- NL80211_ATTR_HT_CAPABILITY,
-
- NL80211_ATTR_SUPPORTED_IFTYPES,
-
- NL80211_ATTR_REG_ALPHA2,
- NL80211_ATTR_REG_RULES,
-
- NL80211_ATTR_MESH_CONFIG,
-
- NL80211_ATTR_BSS_BASIC_RATES,
-
- NL80211_ATTR_WIPHY_TXQ_PARAMS,
- NL80211_ATTR_WIPHY_FREQ,
- NL80211_ATTR_WIPHY_CHANNEL_TYPE,
-
- NL80211_ATTR_KEY_DEFAULT_MGMT,
-
- NL80211_ATTR_MGMT_SUBTYPE,
- NL80211_ATTR_IE,
-
- NL80211_ATTR_MAX_NUM_SCAN_SSIDS,
-
- NL80211_ATTR_SCAN_FREQUENCIES,
- NL80211_ATTR_SCAN_SSIDS,
- NL80211_ATTR_GENERATION, /* replaces old SCAN_GENERATION */
- NL80211_ATTR_BSS,
-
- NL80211_ATTR_REG_INITIATOR,
- NL80211_ATTR_REG_TYPE,
-
- NL80211_ATTR_SUPPORTED_COMMANDS,
-
- NL80211_ATTR_FRAME,
- NL80211_ATTR_SSID,
- NL80211_ATTR_AUTH_TYPE,
- NL80211_ATTR_REASON_CODE,
-
- NL80211_ATTR_KEY_TYPE,
-
- NL80211_ATTR_MAX_SCAN_IE_LEN,
- NL80211_ATTR_CIPHER_SUITES,
-
- NL80211_ATTR_FREQ_BEFORE,
- NL80211_ATTR_FREQ_AFTER,
-
- NL80211_ATTR_FREQ_FIXED,
-
-
- NL80211_ATTR_WIPHY_RETRY_SHORT,
- NL80211_ATTR_WIPHY_RETRY_LONG,
- NL80211_ATTR_WIPHY_FRAG_THRESHOLD,
- NL80211_ATTR_WIPHY_RTS_THRESHOLD,
-
- NL80211_ATTR_TIMED_OUT,
-
- NL80211_ATTR_USE_MFP,
-
- NL80211_ATTR_STA_FLAGS2,
-
- NL80211_ATTR_CONTROL_PORT,
-
- NL80211_ATTR_TESTDATA,
-
- NL80211_ATTR_PRIVACY,
-
- NL80211_ATTR_DISCONNECTED_BY_AP,
- NL80211_ATTR_STATUS_CODE,
-
- NL80211_ATTR_CIPHER_SUITES_PAIRWISE,
- NL80211_ATTR_CIPHER_SUITE_GROUP,
- NL80211_ATTR_WPA_VERSIONS,
- NL80211_ATTR_AKM_SUITES,
-
- NL80211_ATTR_REQ_IE,
- NL80211_ATTR_RESP_IE,
-
- NL80211_ATTR_PREV_BSSID,
-
- NL80211_ATTR_KEY,
- NL80211_ATTR_KEYS,
-
- NL80211_ATTR_PID,
-
- NL80211_ATTR_4ADDR,
-
- NL80211_ATTR_SURVEY_INFO,
-
- NL80211_ATTR_PMKID,
- NL80211_ATTR_MAX_NUM_PMKIDS,
-
- NL80211_ATTR_DURATION,
-
- NL80211_ATTR_COOKIE,
-
- NL80211_ATTR_WIPHY_COVERAGE_CLASS,
-
- NL80211_ATTR_TX_RATES,
-
- NL80211_ATTR_FRAME_MATCH,
-
- NL80211_ATTR_ACK,
-
- NL80211_ATTR_PS_STATE,
-
- NL80211_ATTR_CQM,
-
- NL80211_ATTR_LOCAL_STATE_CHANGE,
-
- NL80211_ATTR_AP_ISOLATE,
-
- NL80211_ATTR_WIPHY_TX_POWER_SETTING,
- NL80211_ATTR_WIPHY_TX_POWER_LEVEL,
-
- NL80211_ATTR_TX_FRAME_TYPES,
- NL80211_ATTR_RX_FRAME_TYPES,
- NL80211_ATTR_FRAME_TYPE,
-
- NL80211_ATTR_CONTROL_PORT_ETHERTYPE,
- NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT,
-
- NL80211_ATTR_SUPPORT_IBSS_RSN,
-
- NL80211_ATTR_WIPHY_ANTENNA_TX,
- NL80211_ATTR_WIPHY_ANTENNA_RX,
-
- NL80211_ATTR_MCAST_RATE,
-
- NL80211_ATTR_OFFCHANNEL_TX_OK,
-
- NL80211_ATTR_BSS_HT_OPMODE,
-
- NL80211_ATTR_KEY_DEFAULT_TYPES,
-
- NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION,
-
- NL80211_ATTR_MESH_SETUP,
-
- NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX,
- NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX,
-
- NL80211_ATTR_SUPPORT_MESH_AUTH,
- NL80211_ATTR_STA_PLINK_STATE,
-
- NL80211_ATTR_WOWLAN_TRIGGERS,
- NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED,
-
- NL80211_ATTR_SCHED_SCAN_INTERVAL,
-
- NL80211_ATTR_INTERFACE_COMBINATIONS,
- NL80211_ATTR_SOFTWARE_IFTYPES,
-
- NL80211_ATTR_REKEY_DATA,
-
- NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS,
- NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN,
-
- NL80211_ATTR_SCAN_SUPP_RATES,
-
- NL80211_ATTR_HIDDEN_SSID,
-
- NL80211_ATTR_IE_PROBE_RESP,
- NL80211_ATTR_IE_ASSOC_RESP,
-
- NL80211_ATTR_STA_WME,
- NL80211_ATTR_SUPPORT_AP_UAPSD,
-
- NL80211_ATTR_ROAM_SUPPORT,
-
- NL80211_ATTR_SCHED_SCAN_MATCH,
- NL80211_ATTR_MAX_MATCH_SETS,
-
- NL80211_ATTR_PMKSA_CANDIDATE,
-
- NL80211_ATTR_TX_NO_CCK_RATE,
-
- NL80211_ATTR_TDLS_ACTION,
- NL80211_ATTR_TDLS_DIALOG_TOKEN,
- NL80211_ATTR_TDLS_OPERATION,
- NL80211_ATTR_TDLS_SUPPORT,
- NL80211_ATTR_TDLS_EXTERNAL_SETUP,
-
- NL80211_ATTR_DEVICE_AP_SME,
-
- NL80211_ATTR_DONT_WAIT_FOR_ACK,
-
- NL80211_ATTR_FEATURE_FLAGS,
-
- NL80211_ATTR_PROBE_RESP_OFFLOAD,
-
- NL80211_ATTR_PROBE_RESP,
-
- NL80211_ATTR_DFS_REGION,
-
- NL80211_ATTR_DISABLE_HT,
- NL80211_ATTR_HT_CAPABILITY_MASK,
-
- NL80211_ATTR_NOACK_MAP,
-
- NL80211_ATTR_INACTIVITY_TIMEOUT,
-
- NL80211_ATTR_RX_SIGNAL_DBM,
-
- NL80211_ATTR_BG_SCAN_PERIOD,
-
- NL80211_ATTR_WDEV,
-
- NL80211_ATTR_USER_REG_HINT_TYPE,
-
- NL80211_ATTR_CONN_FAILED_REASON,
-
- NL80211_ATTR_SAE_DATA,
-
- NL80211_ATTR_VHT_CAPABILITY,
-
- NL80211_ATTR_SCAN_FLAGS,
-
- NL80211_ATTR_CHANNEL_WIDTH,
- NL80211_ATTR_CENTER_FREQ1,
- NL80211_ATTR_CENTER_FREQ2,
-
- NL80211_ATTR_P2P_CTWINDOW,
- NL80211_ATTR_P2P_OPPPS,
-
- NL80211_ATTR_LOCAL_MESH_POWER_MODE,
-
- NL80211_ATTR_ACL_POLICY,
-
- NL80211_ATTR_MAC_ADDRS,
-
- NL80211_ATTR_MAC_ACL_MAX,
-
- NL80211_ATTR_RADAR_EVENT,
-
- NL80211_ATTR_EXT_CAPA,
- NL80211_ATTR_EXT_CAPA_MASK,
-
- NL80211_ATTR_STA_CAPABILITY,
- NL80211_ATTR_STA_EXT_CAPABILITY,
-
- NL80211_ATTR_PROTOCOL_FEATURES,
- NL80211_ATTR_SPLIT_WIPHY_DUMP,
-
- NL80211_ATTR_DISABLE_VHT,
- NL80211_ATTR_VHT_CAPABILITY_MASK,
-
- NL80211_ATTR_MDID,
- NL80211_ATTR_IE_RIC,
-
- NL80211_ATTR_CRIT_PROT_ID,
- NL80211_ATTR_MAX_CRIT_PROT_DURATION,
-
- NL80211_ATTR_PEER_AID,
-
- NL80211_ATTR_COALESCE_RULE,
-
- NL80211_ATTR_CH_SWITCH_COUNT,
- NL80211_ATTR_CH_SWITCH_BLOCK_TX,
- NL80211_ATTR_CSA_IES,
- NL80211_ATTR_CSA_C_OFF_BEACON,
- NL80211_ATTR_CSA_C_OFF_PRESP,
-
- NL80211_ATTR_RXMGMT_FLAGS,
-
- NL80211_ATTR_STA_SUPPORTED_CHANNELS,
-
- NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES,
-
- NL80211_ATTR_HANDLE_DFS,
-
- NL80211_ATTR_SUPPORT_5_MHZ,
- NL80211_ATTR_SUPPORT_10_MHZ,
-
- NL80211_ATTR_OPMODE_NOTIF,
-
- NL80211_ATTR_VENDOR_ID,
- NL80211_ATTR_VENDOR_SUBCMD,
- NL80211_ATTR_VENDOR_DATA,
- NL80211_ATTR_VENDOR_EVENTS,
-
- NL80211_ATTR_QOS_MAP,
-
- NL80211_ATTR_MAC_HINT,
- NL80211_ATTR_WIPHY_FREQ_HINT,
-
- NL80211_ATTR_MAX_AP_ASSOC_STA,
-
- NL80211_ATTR_TDLS_PEER_CAPABILITY,
-
- NL80211_ATTR_SOCKET_OWNER,
-
- NL80211_ATTR_CSA_C_OFFSETS_TX,
- NL80211_ATTR_MAX_CSA_COUNTERS,
-
- NL80211_ATTR_TDLS_INITIATOR,
-
- NL80211_ATTR_USE_RRM,
-
- NL80211_ATTR_WIPHY_DYN_ACK,
-
- NL80211_ATTR_TSID,
- NL80211_ATTR_USER_PRIO,
- NL80211_ATTR_ADMITTED_TIME,
-
- NL80211_ATTR_SMPS_MODE,
-
- NL80211_ATTR_OPER_CLASS,
-
- NL80211_ATTR_MAC_MASK,
-
- NL80211_ATTR_WIPHY_SELF_MANAGED_REG,
-
- NL80211_ATTR_EXT_FEATURES,
-
- NL80211_ATTR_SURVEY_RADIO_STATS,
-
- NL80211_ATTR_NETNS_FD,
-
- NL80211_ATTR_SCHED_SCAN_DELAY,
-
- NL80211_ATTR_REG_INDOOR,
-
- NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS,
- NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL,
- NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS,
- NL80211_ATTR_SCHED_SCAN_PLANS,
-
- NL80211_ATTR_PBSS,
-
- /* add attributes here, update the policy in nl80211.c */
-
- __NL80211_ATTR_AFTER_LAST,
- NUM_NL80211_ATTR = __NL80211_ATTR_AFTER_LAST,
- NL80211_ATTR_MAX = __NL80211_ATTR_AFTER_LAST - 1
-};
-
-/* source-level API compatibility */
-#define NL80211_ATTR_SCAN_GENERATION NL80211_ATTR_GENERATION
-#define NL80211_ATTR_MESH_PARAMS NL80211_ATTR_MESH_CONFIG
-#define NL80211_ATTR_IFACE_SOCKET_OWNER NL80211_ATTR_SOCKET_OWNER
-
-/*
- * Allow user space programs to use #ifdef on new attributes by defining them
- * here
- */
-#define NL80211_CMD_CONNECT NL80211_CMD_CONNECT
-#define NL80211_ATTR_HT_CAPABILITY NL80211_ATTR_HT_CAPABILITY
-#define NL80211_ATTR_BSS_BASIC_RATES NL80211_ATTR_BSS_BASIC_RATES
-#define NL80211_ATTR_WIPHY_TXQ_PARAMS NL80211_ATTR_WIPHY_TXQ_PARAMS
-#define NL80211_ATTR_WIPHY_FREQ NL80211_ATTR_WIPHY_FREQ
-#define NL80211_ATTR_WIPHY_CHANNEL_TYPE NL80211_ATTR_WIPHY_CHANNEL_TYPE
-#define NL80211_ATTR_MGMT_SUBTYPE NL80211_ATTR_MGMT_SUBTYPE
-#define NL80211_ATTR_IE NL80211_ATTR_IE
-#define NL80211_ATTR_REG_INITIATOR NL80211_ATTR_REG_INITIATOR
-#define NL80211_ATTR_REG_TYPE NL80211_ATTR_REG_TYPE
-#define NL80211_ATTR_FRAME NL80211_ATTR_FRAME
-#define NL80211_ATTR_SSID NL80211_ATTR_SSID
-#define NL80211_ATTR_AUTH_TYPE NL80211_ATTR_AUTH_TYPE
-#define NL80211_ATTR_REASON_CODE NL80211_ATTR_REASON_CODE
-#define NL80211_ATTR_CIPHER_SUITES_PAIRWISE NL80211_ATTR_CIPHER_SUITES_PAIRWISE
-#define NL80211_ATTR_CIPHER_SUITE_GROUP NL80211_ATTR_CIPHER_SUITE_GROUP
-#define NL80211_ATTR_WPA_VERSIONS NL80211_ATTR_WPA_VERSIONS
-#define NL80211_ATTR_AKM_SUITES NL80211_ATTR_AKM_SUITES
-#define NL80211_ATTR_KEY NL80211_ATTR_KEY
-#define NL80211_ATTR_KEYS NL80211_ATTR_KEYS
-#define NL80211_ATTR_FEATURE_FLAGS NL80211_ATTR_FEATURE_FLAGS
-
-#define NL80211_MAX_SUPP_RATES 32
-#define NL80211_MAX_SUPP_HT_RATES 77
-#define NL80211_MAX_SUPP_REG_RULES 64
-#define NL80211_TKIP_DATA_OFFSET_ENCR_KEY 0
-#define NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY 16
-#define NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY 24
-#define NL80211_HT_CAPABILITY_LEN 26
-#define NL80211_VHT_CAPABILITY_LEN 12
-
-#define NL80211_MAX_NR_CIPHER_SUITES 5
-#define NL80211_MAX_NR_AKM_SUITES 2
-
-#define NL80211_MIN_REMAIN_ON_CHANNEL_TIME 10
-
-/* default RSSI threshold for scan results if none specified. */
-#define NL80211_SCAN_RSSI_THOLD_OFF -300
-
-#define NL80211_CQM_TXE_MAX_INTVL 1800
-
-/**
- * enum nl80211_iftype - (virtual) interface types
- *
- * @NL80211_IFTYPE_UNSPECIFIED: unspecified type, driver decides
- * @NL80211_IFTYPE_ADHOC: independent BSS member
- * @NL80211_IFTYPE_STATION: managed BSS member
- * @NL80211_IFTYPE_AP: access point
- * @NL80211_IFTYPE_AP_VLAN: VLAN interface for access points; VLAN interfaces
- * are a bit special in that they must always be tied to a pre-existing
- * AP type interface.
- * @NL80211_IFTYPE_WDS: wireless distribution interface
- * @NL80211_IFTYPE_MONITOR: monitor interface receiving all frames
- * @NL80211_IFTYPE_MESH_POINT: mesh point
- * @NL80211_IFTYPE_P2P_CLIENT: P2P client
- * @NL80211_IFTYPE_P2P_GO: P2P group owner
- * @NL80211_IFTYPE_P2P_DEVICE: P2P device interface type, this is not a netdev
- * and therefore can't be created in the normal ways, use the
- * %NL80211_CMD_START_P2P_DEVICE and %NL80211_CMD_STOP_P2P_DEVICE
- * commands to create and destroy one
- * @NL80211_IF_TYPE_OCB: Outside Context of a BSS
- * This mode corresponds to the MIB variable dot11OCBActivated=true
- * @NL80211_IFTYPE_MAX: highest interface type number currently defined
- * @NUM_NL80211_IFTYPES: number of defined interface types
- *
- * These values are used with the %NL80211_ATTR_IFTYPE
- * to set the type of an interface.
- *
- */
-enum nl80211_iftype {
- NL80211_IFTYPE_UNSPECIFIED,
- NL80211_IFTYPE_ADHOC,
- NL80211_IFTYPE_STATION,
- NL80211_IFTYPE_AP,
- NL80211_IFTYPE_AP_VLAN,
- NL80211_IFTYPE_WDS,
- NL80211_IFTYPE_MONITOR,
- NL80211_IFTYPE_MESH_POINT,
- NL80211_IFTYPE_P2P_CLIENT,
- NL80211_IFTYPE_P2P_GO,
- NL80211_IFTYPE_P2P_DEVICE,
- NL80211_IFTYPE_OCB,
-
- /* keep last */
- NUM_NL80211_IFTYPES,
- NL80211_IFTYPE_MAX = NUM_NL80211_IFTYPES - 1
-};
-
-/**
- * enum nl80211_sta_flags - station flags
- *
- * Station flags. When a station is added to an AP interface, it is
- * assumed to be already associated (and hence authenticated.)
- *
- * @__NL80211_STA_FLAG_INVALID: attribute number 0 is reserved
- * @NL80211_STA_FLAG_AUTHORIZED: station is authorized (802.1X)
- * @NL80211_STA_FLAG_SHORT_PREAMBLE: station is capable of receiving frames
- * with short barker preamble
- * @NL80211_STA_FLAG_WME: station is WME/QoS capable
- * @NL80211_STA_FLAG_MFP: station uses management frame protection
- * @NL80211_STA_FLAG_AUTHENTICATED: station is authenticated
- * @NL80211_STA_FLAG_TDLS_PEER: station is a TDLS peer -- this flag should
- * only be used in managed mode (even in the flags mask). Note that the
- * flag can't be changed, it is only valid while adding a station, and
- * attempts to change it will silently be ignored (rather than rejected
- * as errors.)
- * @NL80211_STA_FLAG_ASSOCIATED: station is associated; used with drivers
- * that support %NL80211_FEATURE_FULL_AP_CLIENT_STATE to transition a
- * previously added station into associated state
- * @NL80211_STA_FLAG_MAX: highest station flag number currently defined
- * @__NL80211_STA_FLAG_AFTER_LAST: internal use
- */
-enum nl80211_sta_flags {
- __NL80211_STA_FLAG_INVALID,
- NL80211_STA_FLAG_AUTHORIZED,
- NL80211_STA_FLAG_SHORT_PREAMBLE,
- NL80211_STA_FLAG_WME,
- NL80211_STA_FLAG_MFP,
- NL80211_STA_FLAG_AUTHENTICATED,
- NL80211_STA_FLAG_TDLS_PEER,
- NL80211_STA_FLAG_ASSOCIATED,
-
- /* keep last */
- __NL80211_STA_FLAG_AFTER_LAST,
- NL80211_STA_FLAG_MAX = __NL80211_STA_FLAG_AFTER_LAST - 1
-};
-
-#define NL80211_STA_FLAG_MAX_OLD_API NL80211_STA_FLAG_TDLS_PEER
-
-/**
- * struct nl80211_sta_flag_update - station flags mask/set
- * @mask: mask of station flags to set
- * @set: which values to set them to
- *
- * Both mask and set contain bits as per &enum nl80211_sta_flags.
- */
-struct nl80211_sta_flag_update {
- __u32 mask;
- __u32 set;
-} __attribute__((packed));
-
-/**
- * enum nl80211_rate_info - bitrate information
- *
- * These attribute types are used with %NL80211_STA_INFO_TXRATE
- * when getting information about the bitrate of a station.
- * There are 2 attributes for bitrate, a legacy one that represents
- * a 16-bit value, and new one that represents a 32-bit value.
- * If the rate value fits into 16 bit, both attributes are reported
- * with the same value. If the rate is too high to fit into 16 bits
- * (>6.5535Gbps) only 32-bit attribute is included.
- * User space tools encouraged to use the 32-bit attribute and fall
- * back to the 16-bit one for compatibility with older kernels.
- *
- * @__NL80211_RATE_INFO_INVALID: attribute number 0 is reserved
- * @NL80211_RATE_INFO_BITRATE: total bitrate (u16, 100kbit/s)
- * @NL80211_RATE_INFO_MCS: mcs index for 802.11n (u8)
- * @NL80211_RATE_INFO_40_MHZ_WIDTH: 40 MHz dualchannel bitrate
- * @NL80211_RATE_INFO_SHORT_GI: 400ns guard interval
- * @NL80211_RATE_INFO_BITRATE32: total bitrate (u32, 100kbit/s)
- * @NL80211_RATE_INFO_MAX: highest rate_info number currently defined
- * @NL80211_RATE_INFO_VHT_MCS: MCS index for VHT (u8)
- * @NL80211_RATE_INFO_VHT_NSS: number of streams in VHT (u8)
- * @NL80211_RATE_INFO_80_MHZ_WIDTH: 80 MHz VHT rate
- * @NL80211_RATE_INFO_80P80_MHZ_WIDTH: unused - 80+80 is treated the
- * same as 160 for purposes of the bitrates
- * @NL80211_RATE_INFO_160_MHZ_WIDTH: 160 MHz VHT rate
- * @NL80211_RATE_INFO_10_MHZ_WIDTH: 10 MHz width - note that this is
- * a legacy rate and will be reported as the actual bitrate, i.e.
- * half the base (20 MHz) rate
- * @NL80211_RATE_INFO_5_MHZ_WIDTH: 5 MHz width - note that this is
- * a legacy rate and will be reported as the actual bitrate, i.e.
- * a quarter of the base (20 MHz) rate
- * @__NL80211_RATE_INFO_AFTER_LAST: internal use
- */
-enum nl80211_rate_info {
- __NL80211_RATE_INFO_INVALID,
- NL80211_RATE_INFO_BITRATE,
- NL80211_RATE_INFO_MCS,
- NL80211_RATE_INFO_40_MHZ_WIDTH,
- NL80211_RATE_INFO_SHORT_GI,
- NL80211_RATE_INFO_BITRATE32,
- NL80211_RATE_INFO_VHT_MCS,
- NL80211_RATE_INFO_VHT_NSS,
- NL80211_RATE_INFO_80_MHZ_WIDTH,
- NL80211_RATE_INFO_80P80_MHZ_WIDTH,
- NL80211_RATE_INFO_160_MHZ_WIDTH,
- NL80211_RATE_INFO_10_MHZ_WIDTH,
- NL80211_RATE_INFO_5_MHZ_WIDTH,
-
- /* keep last */
- __NL80211_RATE_INFO_AFTER_LAST,
- NL80211_RATE_INFO_MAX = __NL80211_RATE_INFO_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_sta_bss_param - BSS information collected by STA
- *
- * These attribute types are used with %NL80211_STA_INFO_BSS_PARAM
- * when getting information about the bitrate of a station.
- *
- * @__NL80211_STA_BSS_PARAM_INVALID: attribute number 0 is reserved
- * @NL80211_STA_BSS_PARAM_CTS_PROT: whether CTS protection is enabled (flag)
- * @NL80211_STA_BSS_PARAM_SHORT_PREAMBLE: whether short preamble is enabled
- * (flag)
- * @NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME: whether short slot time is enabled
- * (flag)
- * @NL80211_STA_BSS_PARAM_DTIM_PERIOD: DTIM period for beaconing (u8)
- * @NL80211_STA_BSS_PARAM_BEACON_INTERVAL: Beacon interval (u16)
- * @NL80211_STA_BSS_PARAM_MAX: highest sta_bss_param number currently defined
- * @__NL80211_STA_BSS_PARAM_AFTER_LAST: internal use
- */
-enum nl80211_sta_bss_param {
- __NL80211_STA_BSS_PARAM_INVALID,
- NL80211_STA_BSS_PARAM_CTS_PROT,
- NL80211_STA_BSS_PARAM_SHORT_PREAMBLE,
- NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME,
- NL80211_STA_BSS_PARAM_DTIM_PERIOD,
- NL80211_STA_BSS_PARAM_BEACON_INTERVAL,
-
- /* keep last */
- __NL80211_STA_BSS_PARAM_AFTER_LAST,
- NL80211_STA_BSS_PARAM_MAX = __NL80211_STA_BSS_PARAM_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_sta_info - station information
- *
- * These attribute types are used with %NL80211_ATTR_STA_INFO
- * when getting information about a station.
- *
- * @__NL80211_STA_INFO_INVALID: attribute number 0 is reserved
- * @NL80211_STA_INFO_INACTIVE_TIME: time since last activity (u32, msecs)
- * @NL80211_STA_INFO_RX_BYTES: total received bytes (MPDU length)
- * (u32, from this station)
- * @NL80211_STA_INFO_TX_BYTES: total transmitted bytes (MPDU length)
- * (u32, to this station)
- * @NL80211_STA_INFO_RX_BYTES64: total received bytes (MPDU length)
- * (u64, from this station)
- * @NL80211_STA_INFO_TX_BYTES64: total transmitted bytes (MPDU length)
- * (u64, to this station)
- * @NL80211_STA_INFO_SIGNAL: signal strength of last received PPDU (u8, dBm)
- * @NL80211_STA_INFO_TX_BITRATE: current unicast tx rate, nested attribute
- * containing info as possible, see &enum nl80211_rate_info
- * @NL80211_STA_INFO_RX_PACKETS: total received packet (MSDUs and MMPDUs)
- * (u32, from this station)
- * @NL80211_STA_INFO_TX_PACKETS: total transmitted packets (MSDUs and MMPDUs)
- * (u32, to this station)
- * @NL80211_STA_INFO_TX_RETRIES: total retries (MPDUs) (u32, to this station)
- * @NL80211_STA_INFO_TX_FAILED: total failed packets (MPDUs)
- * (u32, to this station)
- * @NL80211_STA_INFO_SIGNAL_AVG: signal strength average (u8, dBm)
- * @NL80211_STA_INFO_LLID: the station's mesh LLID
- * @NL80211_STA_INFO_PLID: the station's mesh PLID
- * @NL80211_STA_INFO_PLINK_STATE: peer link state for the station
- * (see %enum nl80211_plink_state)
- * @NL80211_STA_INFO_RX_BITRATE: last unicast data frame rx rate, nested
- * attribute, like NL80211_STA_INFO_TX_BITRATE.
- * @NL80211_STA_INFO_BSS_PARAM: current station's view of BSS, nested attribute
- * containing info as possible, see &enum nl80211_sta_bss_param
- * @NL80211_STA_INFO_CONNECTED_TIME: time since the station is last connected
- * @NL80211_STA_INFO_STA_FLAGS: Contains a struct nl80211_sta_flag_update.
- * @NL80211_STA_INFO_BEACON_LOSS: count of times beacon loss was detected (u32)
- * @NL80211_STA_INFO_T_OFFSET: timing offset with respect to this STA (s64)
- * @NL80211_STA_INFO_LOCAL_PM: local mesh STA link-specific power mode
- * @NL80211_STA_INFO_PEER_PM: peer mesh STA link-specific power mode
- * @NL80211_STA_INFO_NONPEER_PM: neighbor mesh STA power save mode towards
- * non-peer STA
- * @NL80211_STA_INFO_CHAIN_SIGNAL: per-chain signal strength of last PPDU
- * Contains a nested array of signal strength attributes (u8, dBm)
- * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average
- * Same format as NL80211_STA_INFO_CHAIN_SIGNAL.
- * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the
- * 802.11 header (u32, kbps)
- * @NL80211_STA_INFO_RX_DROP_MISC: RX packets dropped for unspecified reasons
- * (u64)
- * @NL80211_STA_INFO_BEACON_RX: number of beacons received from this peer (u64)
- * @NL80211_STA_INFO_BEACON_SIGNAL_AVG: signal strength average
- * for beacons only (u8, dBm)
- * @NL80211_STA_INFO_TID_STATS: per-TID statistics (see &enum nl80211_tid_stats)
- * This is a nested attribute where each the inner attribute number is the
- * TID+1 and the special TID 16 (i.e. value 17) is used for non-QoS frames;
- * each one of those is again nested with &enum nl80211_tid_stats
- * attributes carrying the actual values.
- * @__NL80211_STA_INFO_AFTER_LAST: internal
- * @NL80211_STA_INFO_MAX: highest possible station info attribute
- */
-enum nl80211_sta_info {
- __NL80211_STA_INFO_INVALID,
- NL80211_STA_INFO_INACTIVE_TIME,
- NL80211_STA_INFO_RX_BYTES,
- NL80211_STA_INFO_TX_BYTES,
- NL80211_STA_INFO_LLID,
- NL80211_STA_INFO_PLID,
- NL80211_STA_INFO_PLINK_STATE,
- NL80211_STA_INFO_SIGNAL,
- NL80211_STA_INFO_TX_BITRATE,
- NL80211_STA_INFO_RX_PACKETS,
- NL80211_STA_INFO_TX_PACKETS,
- NL80211_STA_INFO_TX_RETRIES,
- NL80211_STA_INFO_TX_FAILED,
- NL80211_STA_INFO_SIGNAL_AVG,
- NL80211_STA_INFO_RX_BITRATE,
- NL80211_STA_INFO_BSS_PARAM,
- NL80211_STA_INFO_CONNECTED_TIME,
- NL80211_STA_INFO_STA_FLAGS,
- NL80211_STA_INFO_BEACON_LOSS,
- NL80211_STA_INFO_T_OFFSET,
- NL80211_STA_INFO_LOCAL_PM,
- NL80211_STA_INFO_PEER_PM,
- NL80211_STA_INFO_NONPEER_PM,
- NL80211_STA_INFO_RX_BYTES64,
- NL80211_STA_INFO_TX_BYTES64,
- NL80211_STA_INFO_CHAIN_SIGNAL,
- NL80211_STA_INFO_CHAIN_SIGNAL_AVG,
- NL80211_STA_INFO_EXPECTED_THROUGHPUT,
- NL80211_STA_INFO_RX_DROP_MISC,
- NL80211_STA_INFO_BEACON_RX,
- NL80211_STA_INFO_BEACON_SIGNAL_AVG,
- NL80211_STA_INFO_TID_STATS,
-
- /* keep last */
- __NL80211_STA_INFO_AFTER_LAST,
- NL80211_STA_INFO_MAX = __NL80211_STA_INFO_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_tid_stats - per TID statistics attributes
- * @__NL80211_TID_STATS_INVALID: attribute number 0 is reserved
- * @NL80211_TID_STATS_RX_MSDU: number of MSDUs received (u64)
- * @NL80211_TID_STATS_TX_MSDU: number of MSDUs transmitted (or
- * attempted to transmit; u64)
- * @NL80211_TID_STATS_TX_MSDU_RETRIES: number of retries for
- * transmitted MSDUs (not counting the first attempt; u64)
- * @NL80211_TID_STATS_TX_MSDU_FAILED: number of failed transmitted
- * MSDUs (u64)
- * @NUM_NL80211_TID_STATS: number of attributes here
- * @NL80211_TID_STATS_MAX: highest numbered attribute here
- */
-enum nl80211_tid_stats {
- __NL80211_TID_STATS_INVALID,
- NL80211_TID_STATS_RX_MSDU,
- NL80211_TID_STATS_TX_MSDU,
- NL80211_TID_STATS_TX_MSDU_RETRIES,
- NL80211_TID_STATS_TX_MSDU_FAILED,
-
- /* keep last */
- NUM_NL80211_TID_STATS,
- NL80211_TID_STATS_MAX = NUM_NL80211_TID_STATS - 1
-};
-
-/**
- * enum nl80211_mpath_flags - nl80211 mesh path flags
- *
- * @NL80211_MPATH_FLAG_ACTIVE: the mesh path is active
- * @NL80211_MPATH_FLAG_RESOLVING: the mesh path discovery process is running
- * @NL80211_MPATH_FLAG_SN_VALID: the mesh path contains a valid SN
- * @NL80211_MPATH_FLAG_FIXED: the mesh path has been manually set
- * @NL80211_MPATH_FLAG_RESOLVED: the mesh path discovery process succeeded
- */
-enum nl80211_mpath_flags {
- NL80211_MPATH_FLAG_ACTIVE = 1<<0,
- NL80211_MPATH_FLAG_RESOLVING = 1<<1,
- NL80211_MPATH_FLAG_SN_VALID = 1<<2,
- NL80211_MPATH_FLAG_FIXED = 1<<3,
- NL80211_MPATH_FLAG_RESOLVED = 1<<4,
-};
-
-/**
- * enum nl80211_mpath_info - mesh path information
- *
- * These attribute types are used with %NL80211_ATTR_MPATH_INFO when getting
- * information about a mesh path.
- *
- * @__NL80211_MPATH_INFO_INVALID: attribute number 0 is reserved
- * @NL80211_MPATH_INFO_FRAME_QLEN: number of queued frames for this destination
- * @NL80211_MPATH_INFO_SN: destination sequence number
- * @NL80211_MPATH_INFO_METRIC: metric (cost) of this mesh path
- * @NL80211_MPATH_INFO_EXPTIME: expiration time for the path, in msec from now
- * @NL80211_MPATH_INFO_FLAGS: mesh path flags, enumerated in
- * &enum nl80211_mpath_flags;
- * @NL80211_MPATH_INFO_DISCOVERY_TIMEOUT: total path discovery timeout, in msec
- * @NL80211_MPATH_INFO_DISCOVERY_RETRIES: mesh path discovery retries
- * @NL80211_MPATH_INFO_MAX: highest mesh path information attribute number
- * currently defind
- * @__NL80211_MPATH_INFO_AFTER_LAST: internal use
- */
-enum nl80211_mpath_info {
- __NL80211_MPATH_INFO_INVALID,
- NL80211_MPATH_INFO_FRAME_QLEN,
- NL80211_MPATH_INFO_SN,
- NL80211_MPATH_INFO_METRIC,
- NL80211_MPATH_INFO_EXPTIME,
- NL80211_MPATH_INFO_FLAGS,
- NL80211_MPATH_INFO_DISCOVERY_TIMEOUT,
- NL80211_MPATH_INFO_DISCOVERY_RETRIES,
-
- /* keep last */
- __NL80211_MPATH_INFO_AFTER_LAST,
- NL80211_MPATH_INFO_MAX = __NL80211_MPATH_INFO_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_band_attr - band attributes
- * @__NL80211_BAND_ATTR_INVALID: attribute number 0 is reserved
- * @NL80211_BAND_ATTR_FREQS: supported frequencies in this band,
- * an array of nested frequency attributes
- * @NL80211_BAND_ATTR_RATES: supported bitrates in this band,
- * an array of nested bitrate attributes
- * @NL80211_BAND_ATTR_HT_MCS_SET: 16-byte attribute containing the MCS set as
- * defined in 802.11n
- * @NL80211_BAND_ATTR_HT_CAPA: HT capabilities, as in the HT information IE
- * @NL80211_BAND_ATTR_HT_AMPDU_FACTOR: A-MPDU factor, as in 11n
- * @NL80211_BAND_ATTR_HT_AMPDU_DENSITY: A-MPDU density, as in 11n
- * @NL80211_BAND_ATTR_VHT_MCS_SET: 32-byte attribute containing the MCS set as
- * defined in 802.11ac
- * @NL80211_BAND_ATTR_VHT_CAPA: VHT capabilities, as in the HT information IE
- * @NL80211_BAND_ATTR_MAX: highest band attribute currently defined
- * @__NL80211_BAND_ATTR_AFTER_LAST: internal use
- */
-enum nl80211_band_attr {
- __NL80211_BAND_ATTR_INVALID,
- NL80211_BAND_ATTR_FREQS,
- NL80211_BAND_ATTR_RATES,
-
- NL80211_BAND_ATTR_HT_MCS_SET,
- NL80211_BAND_ATTR_HT_CAPA,
- NL80211_BAND_ATTR_HT_AMPDU_FACTOR,
- NL80211_BAND_ATTR_HT_AMPDU_DENSITY,
-
- NL80211_BAND_ATTR_VHT_MCS_SET,
- NL80211_BAND_ATTR_VHT_CAPA,
-
- /* keep last */
- __NL80211_BAND_ATTR_AFTER_LAST,
- NL80211_BAND_ATTR_MAX = __NL80211_BAND_ATTR_AFTER_LAST - 1
-};
-
-#define NL80211_BAND_ATTR_HT_CAPA NL80211_BAND_ATTR_HT_CAPA
-
-/**
- * enum nl80211_frequency_attr - frequency attributes
- * @__NL80211_FREQUENCY_ATTR_INVALID: attribute number 0 is reserved
- * @NL80211_FREQUENCY_ATTR_FREQ: Frequency in MHz
- * @NL80211_FREQUENCY_ATTR_DISABLED: Channel is disabled in current
- * regulatory domain.
- * @NL80211_FREQUENCY_ATTR_NO_IR: no mechanisms that initiate radiation
- * are permitted on this channel, this includes sending probe
- * requests, or modes of operation that require beaconing.
- * @NL80211_FREQUENCY_ATTR_RADAR: Radar detection is mandatory
- * on this channel in current regulatory domain.
- * @NL80211_FREQUENCY_ATTR_MAX_TX_POWER: Maximum transmission power in mBm
- * (100 * dBm).
- * @NL80211_FREQUENCY_ATTR_DFS_STATE: current state for DFS
- * (enum nl80211_dfs_state)
- * @NL80211_FREQUENCY_ATTR_DFS_TIME: time in miliseconds for how long
- * this channel is in this DFS state.
- * @NL80211_FREQUENCY_ATTR_NO_HT40_MINUS: HT40- isn't possible with this
- * channel as the control channel
- * @NL80211_FREQUENCY_ATTR_NO_HT40_PLUS: HT40+ isn't possible with this
- * channel as the control channel
- * @NL80211_FREQUENCY_ATTR_NO_80MHZ: any 80 MHz channel using this channel
- * as the primary or any of the secondary channels isn't possible,
- * this includes 80+80 channels
- * @NL80211_FREQUENCY_ATTR_NO_160MHZ: any 160 MHz (but not 80+80) channel
- * using this channel as the primary or any of the secondary channels
- * isn't possible
- * @NL80211_FREQUENCY_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds.
- * @NL80211_FREQUENCY_ATTR_INDOOR_ONLY: Only indoor use is permitted on this
- * channel. A channel that has the INDOOR_ONLY attribute can only be
- * used when there is a clear assessment that the device is operating in
- * an indoor surroundings, i.e., it is connected to AC power (and not
- * through portable DC inverters) or is under the control of a master
- * that is acting as an AP and is connected to AC power.
- * @NL80211_FREQUENCY_ATTR_IR_CONCURRENT: IR operation is allowed on this
- * channel if it's connected concurrently to a BSS on the same channel on
- * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz
- * band), and IEEE80211_CHAN_RADAR is not set. Instantiating a GO or TDLS
- * off-channel on a channel that has the IR_CONCURRENT attribute set can be
- * done when there is a clear assessment that the device is operating under
- * the guidance of an authorized master, i.e., setting up a GO or TDLS
- * off-channel while the device is also connected to an AP with DFS and
- * radar detection on the UNII band (it is up to user-space, i.e.,
- * wpa_supplicant to perform the required verifications). Using this
- * attribute for IR is disallowed for master interfaces (IBSS, AP).
- * @NL80211_FREQUENCY_ATTR_NO_20MHZ: 20 MHz operation is not allowed
- * on this channel in current regulatory domain.
- * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed
- * on this channel in current regulatory domain.
- * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
- * currently defined
- * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
- *
- * See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122
- * for more information on the FCC description of the relaxations allowed
- * by NL80211_FREQUENCY_ATTR_INDOOR_ONLY and
- * NL80211_FREQUENCY_ATTR_IR_CONCURRENT.
- */
-enum nl80211_frequency_attr {
- __NL80211_FREQUENCY_ATTR_INVALID,
- NL80211_FREQUENCY_ATTR_FREQ,
- NL80211_FREQUENCY_ATTR_DISABLED,
- NL80211_FREQUENCY_ATTR_NO_IR,
- __NL80211_FREQUENCY_ATTR_NO_IBSS,
- NL80211_FREQUENCY_ATTR_RADAR,
- NL80211_FREQUENCY_ATTR_MAX_TX_POWER,
- NL80211_FREQUENCY_ATTR_DFS_STATE,
- NL80211_FREQUENCY_ATTR_DFS_TIME,
- NL80211_FREQUENCY_ATTR_NO_HT40_MINUS,
- NL80211_FREQUENCY_ATTR_NO_HT40_PLUS,
- NL80211_FREQUENCY_ATTR_NO_80MHZ,
- NL80211_FREQUENCY_ATTR_NO_160MHZ,
- NL80211_FREQUENCY_ATTR_DFS_CAC_TIME,
- NL80211_FREQUENCY_ATTR_INDOOR_ONLY,
- NL80211_FREQUENCY_ATTR_IR_CONCURRENT,
- NL80211_FREQUENCY_ATTR_NO_20MHZ,
- NL80211_FREQUENCY_ATTR_NO_10MHZ,
-
- /* keep last */
- __NL80211_FREQUENCY_ATTR_AFTER_LAST,
- NL80211_FREQUENCY_ATTR_MAX = __NL80211_FREQUENCY_ATTR_AFTER_LAST - 1
-};
-
-#define NL80211_FREQUENCY_ATTR_MAX_TX_POWER NL80211_FREQUENCY_ATTR_MAX_TX_POWER
-#define NL80211_FREQUENCY_ATTR_PASSIVE_SCAN NL80211_FREQUENCY_ATTR_NO_IR
-#define NL80211_FREQUENCY_ATTR_NO_IBSS NL80211_FREQUENCY_ATTR_NO_IR
-#define NL80211_FREQUENCY_ATTR_NO_IR NL80211_FREQUENCY_ATTR_NO_IR
-#define NL80211_FREQUENCY_ATTR_GO_CONCURRENT \
- NL80211_FREQUENCY_ATTR_IR_CONCURRENT
-
-/**
- * enum nl80211_bitrate_attr - bitrate attributes
- * @__NL80211_BITRATE_ATTR_INVALID: attribute number 0 is reserved
- * @NL80211_BITRATE_ATTR_RATE: Bitrate in units of 100 kbps
- * @NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE: Short preamble supported
- * in 2.4 GHz band.
- * @NL80211_BITRATE_ATTR_MAX: highest bitrate attribute number
- * currently defined
- * @__NL80211_BITRATE_ATTR_AFTER_LAST: internal use
- */
-enum nl80211_bitrate_attr {
- __NL80211_BITRATE_ATTR_INVALID,
- NL80211_BITRATE_ATTR_RATE,
- NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE,
-
- /* keep last */
- __NL80211_BITRATE_ATTR_AFTER_LAST,
- NL80211_BITRATE_ATTR_MAX = __NL80211_BITRATE_ATTR_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_initiator - Indicates the initiator of a reg domain request
- * @NL80211_REGDOM_SET_BY_CORE: Core queried CRDA for a dynamic world
- * regulatory domain.
- * @NL80211_REGDOM_SET_BY_USER: User asked the wireless core to set the
- * regulatory domain.
- * @NL80211_REGDOM_SET_BY_DRIVER: a wireless drivers has hinted to the
- * wireless core it thinks its knows the regulatory domain we should be in.
- * @NL80211_REGDOM_SET_BY_COUNTRY_IE: the wireless core has received an
- * 802.11 country information element with regulatory information it
- * thinks we should consider. cfg80211 only processes the country
- * code from the IE, and relies on the regulatory domain information
- * structure passed by userspace (CRDA) from our wireless-regdb.
- * If a channel is enabled but the country code indicates it should
- * be disabled we disable the channel and re-enable it upon disassociation.
- */
-enum nl80211_reg_initiator {
- NL80211_REGDOM_SET_BY_CORE,
- NL80211_REGDOM_SET_BY_USER,
- NL80211_REGDOM_SET_BY_DRIVER,
- NL80211_REGDOM_SET_BY_COUNTRY_IE,
-};
-
-/**
- * enum nl80211_reg_type - specifies the type of regulatory domain
- * @NL80211_REGDOM_TYPE_COUNTRY: the regulatory domain set is one that pertains
- * to a specific country. When this is set you can count on the
- * ISO / IEC 3166 alpha2 country code being valid.
- * @NL80211_REGDOM_TYPE_WORLD: the regulatory set domain is the world regulatory
- * domain.
- * @NL80211_REGDOM_TYPE_CUSTOM_WORLD: the regulatory domain set is a custom
- * driver specific world regulatory domain. These do not apply system-wide
- * and are only applicable to the individual devices which have requested
- * them to be applied.
- * @NL80211_REGDOM_TYPE_INTERSECTION: the regulatory domain set is the product
- * of an intersection between two regulatory domains -- the previously
- * set regulatory domain on the system and the last accepted regulatory
- * domain request to be processed.
- */
-enum nl80211_reg_type {
- NL80211_REGDOM_TYPE_COUNTRY,
- NL80211_REGDOM_TYPE_WORLD,
- NL80211_REGDOM_TYPE_CUSTOM_WORLD,
- NL80211_REGDOM_TYPE_INTERSECTION,
-};
-
-/**
- * enum nl80211_reg_rule_attr - regulatory rule attributes
- * @__NL80211_REG_RULE_ATTR_INVALID: attribute number 0 is reserved
- * @NL80211_ATTR_REG_RULE_FLAGS: a set of flags which specify additional
- * considerations for a given frequency range. These are the
- * &enum nl80211_reg_rule_flags.
- * @NL80211_ATTR_FREQ_RANGE_START: starting frequencry for the regulatory
- * rule in KHz. This is not a center of frequency but an actual regulatory
- * band edge.
- * @NL80211_ATTR_FREQ_RANGE_END: ending frequency for the regulatory rule
- * in KHz. This is not a center a frequency but an actual regulatory
- * band edge.
- * @NL80211_ATTR_FREQ_RANGE_MAX_BW: maximum allowed bandwidth for this
- * frequency range, in KHz.
- * @NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN: the maximum allowed antenna gain
- * for a given frequency range. The value is in mBi (100 * dBi).
- * If you don't have one then don't send this.
- * @NL80211_ATTR_POWER_RULE_MAX_EIRP: the maximum allowed EIRP for
- * a given frequency range. The value is in mBm (100 * dBm).
- * @NL80211_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds.
- * If not present or 0 default CAC time will be used.
- * @NL80211_REG_RULE_ATTR_MAX: highest regulatory rule attribute number
- * currently defined
- * @__NL80211_REG_RULE_ATTR_AFTER_LAST: internal use
- */
-enum nl80211_reg_rule_attr {
- __NL80211_REG_RULE_ATTR_INVALID,
- NL80211_ATTR_REG_RULE_FLAGS,
-
- NL80211_ATTR_FREQ_RANGE_START,
- NL80211_ATTR_FREQ_RANGE_END,
- NL80211_ATTR_FREQ_RANGE_MAX_BW,
-
- NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN,
- NL80211_ATTR_POWER_RULE_MAX_EIRP,
-
- NL80211_ATTR_DFS_CAC_TIME,
-
- /* keep last */
- __NL80211_REG_RULE_ATTR_AFTER_LAST,
- NL80211_REG_RULE_ATTR_MAX = __NL80211_REG_RULE_ATTR_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_sched_scan_match_attr - scheduled scan match attributes
- * @__NL80211_SCHED_SCAN_MATCH_ATTR_INVALID: attribute number 0 is reserved
- * @NL80211_SCHED_SCAN_MATCH_ATTR_SSID: SSID to be used for matching,
- * only report BSS with matching SSID.
- * @NL80211_SCHED_SCAN_MATCH_ATTR_RSSI: RSSI threshold (in dBm) for reporting a
- * BSS in scan results. Filtering is turned off if not specified. Note that
- * if this attribute is in a match set of its own, then it is treated as
- * the default value for all matchsets with an SSID, rather than being a
- * matchset of its own without an RSSI filter. This is due to problems with
- * how this API was implemented in the past. Also, due to the same problem,
- * the only way to create a matchset with only an RSSI filter (with this
- * attribute) is if there's only a single matchset with the RSSI attribute.
- * @NL80211_SCHED_SCAN_MATCH_ATTR_MAX: highest scheduled scan filter
- * attribute number currently defined
- * @__NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST: internal use
- */
-enum nl80211_sched_scan_match_attr {
- __NL80211_SCHED_SCAN_MATCH_ATTR_INVALID,
-
- NL80211_SCHED_SCAN_MATCH_ATTR_SSID,
- NL80211_SCHED_SCAN_MATCH_ATTR_RSSI,
-
- /* keep last */
- __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST,
- NL80211_SCHED_SCAN_MATCH_ATTR_MAX =
- __NL80211_SCHED_SCAN_MATCH_ATTR_AFTER_LAST - 1
-};
-
-/* only for backward compatibility */
-#define NL80211_ATTR_SCHED_SCAN_MATCH_SSID NL80211_SCHED_SCAN_MATCH_ATTR_SSID
-
-/**
- * enum nl80211_reg_rule_flags - regulatory rule flags
- *
- * @NL80211_RRF_NO_OFDM: OFDM modulation not allowed
- * @NL80211_RRF_NO_CCK: CCK modulation not allowed
- * @NL80211_RRF_NO_INDOOR: indoor operation not allowed
- * @NL80211_RRF_NO_OUTDOOR: outdoor operation not allowed
- * @NL80211_RRF_DFS: DFS support is required to be used
- * @NL80211_RRF_PTP_ONLY: this is only for Point To Point links
- * @NL80211_RRF_PTMP_ONLY: this is only for Point To Multi Point links
- * @NL80211_RRF_NO_IR: no mechanisms that initiate radiation are allowed,
- * this includes probe requests or modes of operation that require
- * beaconing.
- * @NL80211_RRF_AUTO_BW: maximum available bandwidth should be calculated
- * base on contiguous rules and wider channels will be allowed to cross
- * multiple contiguous/overlapping frequency ranges.
- * @NL80211_RRF_IR_CONCURRENT: See &NL80211_FREQUENCY_ATTR_IR_CONCURRENT
- * @NL80211_RRF_NO_HT40MINUS: channels can't be used in HT40- operation
- * @NL80211_RRF_NO_HT40PLUS: channels can't be used in HT40+ operation
- * @NL80211_RRF_NO_80MHZ: 80MHz operation not allowed
- * @NL80211_RRF_NO_160MHZ: 160MHz operation not allowed
- */
-enum nl80211_reg_rule_flags {
- NL80211_RRF_NO_OFDM = 1<<0,
- NL80211_RRF_NO_CCK = 1<<1,
- NL80211_RRF_NO_INDOOR = 1<<2,
- NL80211_RRF_NO_OUTDOOR = 1<<3,
- NL80211_RRF_DFS = 1<<4,
- NL80211_RRF_PTP_ONLY = 1<<5,
- NL80211_RRF_PTMP_ONLY = 1<<6,
- NL80211_RRF_NO_IR = 1<<7,
- __NL80211_RRF_NO_IBSS = 1<<8,
- NL80211_RRF_AUTO_BW = 1<<11,
- NL80211_RRF_IR_CONCURRENT = 1<<12,
- NL80211_RRF_NO_HT40MINUS = 1<<13,
- NL80211_RRF_NO_HT40PLUS = 1<<14,
- NL80211_RRF_NO_80MHZ = 1<<15,
- NL80211_RRF_NO_160MHZ = 1<<16,
-};
-
-#define NL80211_RRF_PASSIVE_SCAN NL80211_RRF_NO_IR
-#define NL80211_RRF_NO_IBSS NL80211_RRF_NO_IR
-#define NL80211_RRF_NO_IR NL80211_RRF_NO_IR
-#define NL80211_RRF_NO_HT40 (NL80211_RRF_NO_HT40MINUS |\
- NL80211_RRF_NO_HT40PLUS)
-#define NL80211_RRF_GO_CONCURRENT NL80211_RRF_IR_CONCURRENT
-
-/* For backport compatibility with older userspace */
-#define NL80211_RRF_NO_IR_ALL (NL80211_RRF_NO_IR | __NL80211_RRF_NO_IBSS)
-
-/**
- * enum nl80211_dfs_regions - regulatory DFS regions
- *
- * @NL80211_DFS_UNSET: Country has no DFS master region specified
- * @NL80211_DFS_FCC: Country follows DFS master rules from FCC
- * @NL80211_DFS_ETSI: Country follows DFS master rules from ETSI
- * @NL80211_DFS_JP: Country follows DFS master rules from JP/MKK/Telec
- */
-enum nl80211_dfs_regions {
- NL80211_DFS_UNSET = 0,
- NL80211_DFS_FCC = 1,
- NL80211_DFS_ETSI = 2,
- NL80211_DFS_JP = 3,
-};
-
-/**
- * enum nl80211_user_reg_hint_type - type of user regulatory hint
- *
- * @NL80211_USER_REG_HINT_USER: a user sent the hint. This is always
- * assumed if the attribute is not set.
- * @NL80211_USER_REG_HINT_CELL_BASE: the hint comes from a cellular
- * base station. Device drivers that have been tested to work
- * properly to support this type of hint can enable these hints
- * by setting the NL80211_FEATURE_CELL_BASE_REG_HINTS feature
- * capability on the struct wiphy. The wireless core will
- * ignore all cell base station hints until at least one device
- * present has been registered with the wireless core that
- * has listed NL80211_FEATURE_CELL_BASE_REG_HINTS as a
- * supported feature.
- * @NL80211_USER_REG_HINT_INDOOR: a user sent an hint indicating that the
- * platform is operating in an indoor environment.
- */
-enum nl80211_user_reg_hint_type {
- NL80211_USER_REG_HINT_USER = 0,
- NL80211_USER_REG_HINT_CELL_BASE = 1,
- NL80211_USER_REG_HINT_INDOOR = 2,
-};
-
-/**
- * enum nl80211_survey_info - survey information
- *
- * These attribute types are used with %NL80211_ATTR_SURVEY_INFO
- * when getting information about a survey.
- *
- * @__NL80211_SURVEY_INFO_INVALID: attribute number 0 is reserved
- * @NL80211_SURVEY_INFO_FREQUENCY: center frequency of channel
- * @NL80211_SURVEY_INFO_NOISE: noise level of channel (u8, dBm)
- * @NL80211_SURVEY_INFO_IN_USE: channel is currently being used
- * @NL80211_SURVEY_INFO_TIME: amount of time (in ms) that the radio
- * was turned on (on channel or globally)
- * @NL80211_SURVEY_INFO_TIME_BUSY: amount of the time the primary
- * channel was sensed busy (either due to activity or energy detect)
- * @NL80211_SURVEY_INFO_TIME_EXT_BUSY: amount of time the extension
- * channel was sensed busy
- * @NL80211_SURVEY_INFO_TIME_RX: amount of time the radio spent
- * receiving data (on channel or globally)
- * @NL80211_SURVEY_INFO_TIME_TX: amount of time the radio spent
- * transmitting data (on channel or globally)
- * @NL80211_SURVEY_INFO_TIME_SCAN: time the radio spent for scan
- * (on this channel or globally)
- * @NL80211_SURVEY_INFO_MAX: highest survey info attribute number
- * currently defined
- * @__NL80211_SURVEY_INFO_AFTER_LAST: internal use
- */
-enum nl80211_survey_info {
- __NL80211_SURVEY_INFO_INVALID,
- NL80211_SURVEY_INFO_FREQUENCY,
- NL80211_SURVEY_INFO_NOISE,
- NL80211_SURVEY_INFO_IN_USE,
- NL80211_SURVEY_INFO_TIME,
- NL80211_SURVEY_INFO_TIME_BUSY,
- NL80211_SURVEY_INFO_TIME_EXT_BUSY,
- NL80211_SURVEY_INFO_TIME_RX,
- NL80211_SURVEY_INFO_TIME_TX,
- NL80211_SURVEY_INFO_TIME_SCAN,
-
- /* keep last */
- __NL80211_SURVEY_INFO_AFTER_LAST,
- NL80211_SURVEY_INFO_MAX = __NL80211_SURVEY_INFO_AFTER_LAST - 1
-};
-
-/* keep old names for compatibility */
-#define NL80211_SURVEY_INFO_CHANNEL_TIME NL80211_SURVEY_INFO_TIME
-#define NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY NL80211_SURVEY_INFO_TIME_BUSY
-#define NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY NL80211_SURVEY_INFO_TIME_EXT_BUSY
-#define NL80211_SURVEY_INFO_CHANNEL_TIME_RX NL80211_SURVEY_INFO_TIME_RX
-#define NL80211_SURVEY_INFO_CHANNEL_TIME_TX NL80211_SURVEY_INFO_TIME_TX
-
-/**
- * enum nl80211_mntr_flags - monitor configuration flags
- *
- * Monitor configuration flags.
- *
- * @__NL80211_MNTR_FLAG_INVALID: reserved
- *
- * @NL80211_MNTR_FLAG_FCSFAIL: pass frames with bad FCS
- * @NL80211_MNTR_FLAG_PLCPFAIL: pass frames with bad PLCP
- * @NL80211_MNTR_FLAG_CONTROL: pass control frames
- * @NL80211_MNTR_FLAG_OTHER_BSS: disable BSSID filtering
- * @NL80211_MNTR_FLAG_COOK_FRAMES: report frames after processing.
- * overrides all other flags.
- * @NL80211_MNTR_FLAG_ACTIVE: use the configured MAC address
- * and ACK incoming unicast packets.
- *
- * @__NL80211_MNTR_FLAG_AFTER_LAST: internal use
- * @NL80211_MNTR_FLAG_MAX: highest possible monitor flag
- */
-enum nl80211_mntr_flags {
- __NL80211_MNTR_FLAG_INVALID,
- NL80211_MNTR_FLAG_FCSFAIL,
- NL80211_MNTR_FLAG_PLCPFAIL,
- NL80211_MNTR_FLAG_CONTROL,
- NL80211_MNTR_FLAG_OTHER_BSS,
- NL80211_MNTR_FLAG_COOK_FRAMES,
- NL80211_MNTR_FLAG_ACTIVE,
-
- /* keep last */
- __NL80211_MNTR_FLAG_AFTER_LAST,
- NL80211_MNTR_FLAG_MAX = __NL80211_MNTR_FLAG_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_mesh_power_mode - mesh power save modes
- *
- * @NL80211_MESH_POWER_UNKNOWN: The mesh power mode of the mesh STA is
- * not known or has not been set yet.
- * @NL80211_MESH_POWER_ACTIVE: Active mesh power mode. The mesh STA is
- * in Awake state all the time.
- * @NL80211_MESH_POWER_LIGHT_SLEEP: Light sleep mode. The mesh STA will
- * alternate between Active and Doze states, but will wake up for
- * neighbor's beacons.
- * @NL80211_MESH_POWER_DEEP_SLEEP: Deep sleep mode. The mesh STA will
- * alternate between Active and Doze states, but may not wake up
- * for neighbor's beacons.
- *
- * @__NL80211_MESH_POWER_AFTER_LAST - internal use
- * @NL80211_MESH_POWER_MAX - highest possible power save level
- */
-
-enum nl80211_mesh_power_mode {
- NL80211_MESH_POWER_UNKNOWN,
- NL80211_MESH_POWER_ACTIVE,
- NL80211_MESH_POWER_LIGHT_SLEEP,
- NL80211_MESH_POWER_DEEP_SLEEP,
-
- __NL80211_MESH_POWER_AFTER_LAST,
- NL80211_MESH_POWER_MAX = __NL80211_MESH_POWER_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_meshconf_params - mesh configuration parameters
- *
- * Mesh configuration parameters. These can be changed while the mesh is
- * active.
- *
- * @__NL80211_MESHCONF_INVALID: internal use
- *
- * @NL80211_MESHCONF_RETRY_TIMEOUT: specifies the initial retry timeout in
- * millisecond units, used by the Peer Link Open message
- *
- * @NL80211_MESHCONF_CONFIRM_TIMEOUT: specifies the initial confirm timeout, in
- * millisecond units, used by the peer link management to close a peer link
- *
- * @NL80211_MESHCONF_HOLDING_TIMEOUT: specifies the holding timeout, in
- * millisecond units
- *
- * @NL80211_MESHCONF_MAX_PEER_LINKS: maximum number of peer links allowed
- * on this mesh interface
- *
- * @NL80211_MESHCONF_MAX_RETRIES: specifies the maximum number of peer link
- * open retries that can be sent to establish a new peer link instance in a
- * mesh
- *
- * @NL80211_MESHCONF_TTL: specifies the value of TTL field set at a source mesh
- * point.
- *
- * @NL80211_MESHCONF_AUTO_OPEN_PLINKS: whether we should automatically open
- * peer links when we detect compatible mesh peers. Disabled if
- * @NL80211_MESH_SETUP_USERSPACE_MPM or @NL80211_MESH_SETUP_USERSPACE_AMPE are
- * set.
- *
- * @NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES: the number of action frames
- * containing a PREQ that an MP can send to a particular destination (path
- * target)
- *
- * @NL80211_MESHCONF_PATH_REFRESH_TIME: how frequently to refresh mesh paths
- * (in milliseconds)
- *
- * @NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT: minimum length of time to wait
- * until giving up on a path discovery (in milliseconds)
- *
- * @NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT: The time (in TUs) for which mesh
- * points receiving a PREQ shall consider the forwarding information from
- * the root to be valid. (TU = time unit)
- *
- * @NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL: The minimum interval of time (in
- * TUs) during which an MP can send only one action frame containing a PREQ
- * reference element
- *
- * @NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME: The interval of time (in TUs)
- * that it takes for an HWMP information element to propagate across the
- * mesh
- *
- * @NL80211_MESHCONF_HWMP_ROOTMODE: whether root mode is enabled or not
- *
- * @NL80211_MESHCONF_ELEMENT_TTL: specifies the value of TTL field set at a
- * source mesh point for path selection elements.
- *
- * @NL80211_MESHCONF_HWMP_RANN_INTERVAL: The interval of time (in TUs) between
- * root announcements are transmitted.
- *
- * @NL80211_MESHCONF_GATE_ANNOUNCEMENTS: Advertise that this mesh station has
- * access to a broader network beyond the MBSS. This is done via Root
- * Announcement frames.
- *
- * @NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL: The minimum interval of time (in
- * TUs) during which a mesh STA can send only one Action frame containing a
- * PERR element.
- *
- * @NL80211_MESHCONF_FORWARDING: set Mesh STA as forwarding or non-forwarding
- * or forwarding entity (default is TRUE - forwarding entity)
- *
- * @NL80211_MESHCONF_RSSI_THRESHOLD: RSSI threshold in dBm. This specifies the
- * threshold for average signal strength of candidate station to establish
- * a peer link.
- *
- * @NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR: maximum number of neighbors
- * to synchronize to for 11s default synchronization method
- * (see 11C.12.2.2)
- *
- * @NL80211_MESHCONF_HT_OPMODE: set mesh HT protection mode.
- *
- * @NL80211_MESHCONF_ATTR_MAX: highest possible mesh configuration attribute
- *
- * @NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT: The time (in TUs) for
- * which mesh STAs receiving a proactive PREQ shall consider the forwarding
- * information to the root mesh STA to be valid.
- *
- * @NL80211_MESHCONF_HWMP_ROOT_INTERVAL: The interval of time (in TUs) between
- * proactive PREQs are transmitted.
- *
- * @NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL: The minimum interval of time
- * (in TUs) during which a mesh STA can send only one Action frame
- * containing a PREQ element for root path confirmation.
- *
- * @NL80211_MESHCONF_POWER_MODE: Default mesh power mode for new peer links.
- * type &enum nl80211_mesh_power_mode (u32)
- *
- * @NL80211_MESHCONF_AWAKE_WINDOW: awake window duration (in TUs)
- *
- * @NL80211_MESHCONF_PLINK_TIMEOUT: If no tx activity is seen from a STA we've
- * established peering with for longer than this time (in seconds), then
- * remove it from the STA's list of peers. You may set this to 0 to disable
- * the removal of the STA. Default is 30 minutes.
- *
- * @__NL80211_MESHCONF_ATTR_AFTER_LAST: internal use
- */
-enum nl80211_meshconf_params {
- __NL80211_MESHCONF_INVALID,
- NL80211_MESHCONF_RETRY_TIMEOUT,
- NL80211_MESHCONF_CONFIRM_TIMEOUT,
- NL80211_MESHCONF_HOLDING_TIMEOUT,
- NL80211_MESHCONF_MAX_PEER_LINKS,
- NL80211_MESHCONF_MAX_RETRIES,
- NL80211_MESHCONF_TTL,
- NL80211_MESHCONF_AUTO_OPEN_PLINKS,
- NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES,
- NL80211_MESHCONF_PATH_REFRESH_TIME,
- NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT,
- NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT,
- NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL,
- NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME,
- NL80211_MESHCONF_HWMP_ROOTMODE,
- NL80211_MESHCONF_ELEMENT_TTL,
- NL80211_MESHCONF_HWMP_RANN_INTERVAL,
- NL80211_MESHCONF_GATE_ANNOUNCEMENTS,
- NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL,
- NL80211_MESHCONF_FORWARDING,
- NL80211_MESHCONF_RSSI_THRESHOLD,
- NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR,
- NL80211_MESHCONF_HT_OPMODE,
- NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT,
- NL80211_MESHCONF_HWMP_ROOT_INTERVAL,
- NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL,
- NL80211_MESHCONF_POWER_MODE,
- NL80211_MESHCONF_AWAKE_WINDOW,
- NL80211_MESHCONF_PLINK_TIMEOUT,
-
- /* keep last */
- __NL80211_MESHCONF_ATTR_AFTER_LAST,
- NL80211_MESHCONF_ATTR_MAX = __NL80211_MESHCONF_ATTR_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_mesh_setup_params - mesh setup parameters
- *
- * Mesh setup parameters. These are used to start/join a mesh and cannot be
- * changed while the mesh is active.
- *
- * @__NL80211_MESH_SETUP_INVALID: Internal use
- *
- * @NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL: Enable this option to use a
- * vendor specific path selection algorithm or disable it to use the
- * default HWMP.
- *
- * @NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC: Enable this option to use a
- * vendor specific path metric or disable it to use the default Airtime
- * metric.
- *
- * @NL80211_MESH_SETUP_IE: Information elements for this mesh, for instance, a
- * robust security network ie, or a vendor specific information element
- * that vendors will use to identify the path selection methods and
- * metrics in use.
- *
- * @NL80211_MESH_SETUP_USERSPACE_AUTH: Enable this option if an authentication
- * daemon will be authenticating mesh candidates.
- *
- * @NL80211_MESH_SETUP_USERSPACE_AMPE: Enable this option if an authentication
- * daemon will be securing peer link frames. AMPE is a secured version of
- * Mesh Peering Management (MPM) and is implemented with the assistance of
- * a userspace daemon. When this flag is set, the kernel will send peer
- * management frames to a userspace daemon that will implement AMPE
- * functionality (security capabilities selection, key confirmation, and
- * key management). When the flag is unset (default), the kernel can
- * autonomously complete (unsecured) mesh peering without the need of a
- * userspace daemon.
- *
- * @NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC: Enable this option to use a
- * vendor specific synchronization method or disable it to use the default
- * neighbor offset synchronization
- *
- * @NL80211_MESH_SETUP_USERSPACE_MPM: Enable this option if userspace will
- * implement an MPM which handles peer allocation and state.
- *
- * @NL80211_MESH_SETUP_AUTH_PROTOCOL: Inform the kernel of the authentication
- * method (u8, as defined in IEEE 8.4.2.100.6, e.g. 0x1 for SAE).
- * Default is no authentication method required.
- *
- * @NL80211_MESH_SETUP_ATTR_MAX: highest possible mesh setup attribute number
- *
- * @__NL80211_MESH_SETUP_ATTR_AFTER_LAST: Internal use
- */
-enum nl80211_mesh_setup_params {
- __NL80211_MESH_SETUP_INVALID,
- NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL,
- NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC,
- NL80211_MESH_SETUP_IE,
- NL80211_MESH_SETUP_USERSPACE_AUTH,
- NL80211_MESH_SETUP_USERSPACE_AMPE,
- NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC,
- NL80211_MESH_SETUP_USERSPACE_MPM,
- NL80211_MESH_SETUP_AUTH_PROTOCOL,
-
- /* keep last */
- __NL80211_MESH_SETUP_ATTR_AFTER_LAST,
- NL80211_MESH_SETUP_ATTR_MAX = __NL80211_MESH_SETUP_ATTR_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_txq_attr - TX queue parameter attributes
- * @__NL80211_TXQ_ATTR_INVALID: Attribute number 0 is reserved
- * @NL80211_TXQ_ATTR_AC: AC identifier (NL80211_AC_*)
- * @NL80211_TXQ_ATTR_TXOP: Maximum burst time in units of 32 usecs, 0 meaning
- * disabled
- * @NL80211_TXQ_ATTR_CWMIN: Minimum contention window [a value of the form
- * 2^n-1 in the range 1..32767]
- * @NL80211_TXQ_ATTR_CWMAX: Maximum contention window [a value of the form
- * 2^n-1 in the range 1..32767]
- * @NL80211_TXQ_ATTR_AIFS: Arbitration interframe space [0..255]
- * @__NL80211_TXQ_ATTR_AFTER_LAST: Internal
- * @NL80211_TXQ_ATTR_MAX: Maximum TXQ attribute number
- */
-enum nl80211_txq_attr {
- __NL80211_TXQ_ATTR_INVALID,
- NL80211_TXQ_ATTR_AC,
- NL80211_TXQ_ATTR_TXOP,
- NL80211_TXQ_ATTR_CWMIN,
- NL80211_TXQ_ATTR_CWMAX,
- NL80211_TXQ_ATTR_AIFS,
-
- /* keep last */
- __NL80211_TXQ_ATTR_AFTER_LAST,
- NL80211_TXQ_ATTR_MAX = __NL80211_TXQ_ATTR_AFTER_LAST - 1
-};
-
-enum nl80211_ac {
- NL80211_AC_VO,
- NL80211_AC_VI,
- NL80211_AC_BE,
- NL80211_AC_BK,
- NL80211_NUM_ACS
-};
-
-/* backward compat */
-#define NL80211_TXQ_ATTR_QUEUE NL80211_TXQ_ATTR_AC
-#define NL80211_TXQ_Q_VO NL80211_AC_VO
-#define NL80211_TXQ_Q_VI NL80211_AC_VI
-#define NL80211_TXQ_Q_BE NL80211_AC_BE
-#define NL80211_TXQ_Q_BK NL80211_AC_BK
-
-/**
- * enum nl80211_channel_type - channel type
- * @NL80211_CHAN_NO_HT: 20 MHz, non-HT channel
- * @NL80211_CHAN_HT20: 20 MHz HT channel
- * @NL80211_CHAN_HT40MINUS: HT40 channel, secondary channel
- * below the control channel
- * @NL80211_CHAN_HT40PLUS: HT40 channel, secondary channel
- * above the control channel
- */
-enum nl80211_channel_type {
- NL80211_CHAN_NO_HT,
- NL80211_CHAN_HT20,
- NL80211_CHAN_HT40MINUS,
- NL80211_CHAN_HT40PLUS
-};
-
-/**
- * enum nl80211_chan_width - channel width definitions
- *
- * These values are used with the %NL80211_ATTR_CHANNEL_WIDTH
- * attribute.
- *
- * @NL80211_CHAN_WIDTH_20_NOHT: 20 MHz, non-HT channel
- * @NL80211_CHAN_WIDTH_20: 20 MHz HT channel
- * @NL80211_CHAN_WIDTH_40: 40 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
- * attribute must be provided as well
- * @NL80211_CHAN_WIDTH_80: 80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
- * attribute must be provided as well
- * @NL80211_CHAN_WIDTH_80P80: 80+80 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
- * and %NL80211_ATTR_CENTER_FREQ2 attributes must be provided as well
- * @NL80211_CHAN_WIDTH_160: 160 MHz channel, the %NL80211_ATTR_CENTER_FREQ1
- * attribute must be provided as well
- * @NL80211_CHAN_WIDTH_5: 5 MHz OFDM channel
- * @NL80211_CHAN_WIDTH_10: 10 MHz OFDM channel
- */
-enum nl80211_chan_width {
- NL80211_CHAN_WIDTH_20_NOHT,
- NL80211_CHAN_WIDTH_20,
- NL80211_CHAN_WIDTH_40,
- NL80211_CHAN_WIDTH_80,
- NL80211_CHAN_WIDTH_80P80,
- NL80211_CHAN_WIDTH_160,
- NL80211_CHAN_WIDTH_5,
- NL80211_CHAN_WIDTH_10,
-};
-
-/**
- * enum nl80211_bss_scan_width - control channel width for a BSS
- *
- * These values are used with the %NL80211_BSS_CHAN_WIDTH attribute.
- *
- * @NL80211_BSS_CHAN_WIDTH_20: control channel is 20 MHz wide or compatible
- * @NL80211_BSS_CHAN_WIDTH_10: control channel is 10 MHz wide
- * @NL80211_BSS_CHAN_WIDTH_5: control channel is 5 MHz wide
- */
-enum nl80211_bss_scan_width {
- NL80211_BSS_CHAN_WIDTH_20,
- NL80211_BSS_CHAN_WIDTH_10,
- NL80211_BSS_CHAN_WIDTH_5,
-};
-
-/**
- * enum nl80211_bss - netlink attributes for a BSS
- *
- * @__NL80211_BSS_INVALID: invalid
- * @NL80211_BSS_BSSID: BSSID of the BSS (6 octets)
- * @NL80211_BSS_FREQUENCY: frequency in MHz (u32)
- * @NL80211_BSS_TSF: TSF of the received probe response/beacon (u64)
- * (if @NL80211_BSS_PRESP_DATA is present then this is known to be
- * from a probe response, otherwise it may be from the same beacon
- * that the NL80211_BSS_BEACON_TSF will be from)
- * @NL80211_BSS_BEACON_INTERVAL: beacon interval of the (I)BSS (u16)
- * @NL80211_BSS_CAPABILITY: capability field (CPU order, u16)
- * @NL80211_BSS_INFORMATION_ELEMENTS: binary attribute containing the
- * raw information elements from the probe response/beacon (bin);
- * if the %NL80211_BSS_BEACON_IES attribute is present and the data is
- * different then the IEs here are from a Probe Response frame; otherwise
- * they are from a Beacon frame.
- * However, if the driver does not indicate the source of the IEs, these
- * IEs may be from either frame subtype.
- * If present, the @NL80211_BSS_PRESP_DATA attribute indicates that the
- * data here is known to be from a probe response, without any heuristics.
- * @NL80211_BSS_SIGNAL_MBM: signal strength of probe response/beacon
- * in mBm (100 * dBm) (s32)
- * @NL80211_BSS_SIGNAL_UNSPEC: signal strength of the probe response/beacon
- * in unspecified units, scaled to 0..100 (u8)
- * @NL80211_BSS_STATUS: status, if this BSS is "used"
- * @NL80211_BSS_SEEN_MS_AGO: age of this BSS entry in ms
- * @NL80211_BSS_BEACON_IES: binary attribute containing the raw information
- * elements from a Beacon frame (bin); not present if no Beacon frame has
- * yet been received
- * @NL80211_BSS_CHAN_WIDTH: channel width of the control channel
- * (u32, enum nl80211_bss_scan_width)
- * @NL80211_BSS_BEACON_TSF: TSF of the last received beacon (u64)
- * (not present if no beacon frame has been received yet)
- * @NL80211_BSS_PRESP_DATA: the data in @NL80211_BSS_INFORMATION_ELEMENTS and
- * @NL80211_BSS_TSF is known to be from a probe response (flag attribute)
- * @NL80211_BSS_LAST_SEEN_BOOTTIME: CLOCK_BOOTTIME timestamp when this entry
- * was last updated by a received frame. The value is expected to be
- * accurate to about 10ms. (u64, nanoseconds)
- * @__NL80211_BSS_AFTER_LAST: internal
- * @NL80211_BSS_MAX: highest BSS attribute
- */
-enum nl80211_bss {
- __NL80211_BSS_INVALID,
- NL80211_BSS_BSSID,
- NL80211_BSS_FREQUENCY,
- NL80211_BSS_TSF,
- NL80211_BSS_BEACON_INTERVAL,
- NL80211_BSS_CAPABILITY,
- NL80211_BSS_INFORMATION_ELEMENTS,
- NL80211_BSS_SIGNAL_MBM,
- NL80211_BSS_SIGNAL_UNSPEC,
- NL80211_BSS_STATUS,
- NL80211_BSS_SEEN_MS_AGO,
- NL80211_BSS_BEACON_IES,
- NL80211_BSS_CHAN_WIDTH,
- NL80211_BSS_BEACON_TSF,
- NL80211_BSS_PRESP_DATA,
- NL80211_BSS_LAST_SEEN_BOOTTIME,
-
- /* keep last */
- __NL80211_BSS_AFTER_LAST,
- NL80211_BSS_MAX = __NL80211_BSS_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_bss_status - BSS "status"
- * @NL80211_BSS_STATUS_AUTHENTICATED: Authenticated with this BSS.
- * Note that this is no longer used since cfg80211 no longer
- * keeps track of whether or not authentication was done with
- * a given BSS.
- * @NL80211_BSS_STATUS_ASSOCIATED: Associated with this BSS.
- * @NL80211_BSS_STATUS_IBSS_JOINED: Joined to this IBSS.
- *
- * The BSS status is a BSS attribute in scan dumps, which
- * indicates the status the interface has wrt. this BSS.
- */
-enum nl80211_bss_status {
- NL80211_BSS_STATUS_AUTHENTICATED,
- NL80211_BSS_STATUS_ASSOCIATED,
- NL80211_BSS_STATUS_IBSS_JOINED,
-};
-
-/**
- * enum nl80211_auth_type - AuthenticationType
- *
- * @NL80211_AUTHTYPE_OPEN_SYSTEM: Open System authentication
- * @NL80211_AUTHTYPE_SHARED_KEY: Shared Key authentication (WEP only)
- * @NL80211_AUTHTYPE_FT: Fast BSS Transition (IEEE 802.11r)
- * @NL80211_AUTHTYPE_NETWORK_EAP: Network EAP (some Cisco APs and mainly LEAP)
- * @NL80211_AUTHTYPE_SAE: Simultaneous authentication of equals
- * @__NL80211_AUTHTYPE_NUM: internal
- * @NL80211_AUTHTYPE_MAX: maximum valid auth algorithm
- * @NL80211_AUTHTYPE_AUTOMATIC: determine automatically (if necessary by
- * trying multiple times); this is invalid in netlink -- leave out
- * the attribute for this on CONNECT commands.
- */
-enum nl80211_auth_type {
- NL80211_AUTHTYPE_OPEN_SYSTEM,
- NL80211_AUTHTYPE_SHARED_KEY,
- NL80211_AUTHTYPE_FT,
- NL80211_AUTHTYPE_NETWORK_EAP,
- NL80211_AUTHTYPE_SAE,
-
- /* keep last */
- __NL80211_AUTHTYPE_NUM,
- NL80211_AUTHTYPE_MAX = __NL80211_AUTHTYPE_NUM - 1,
- NL80211_AUTHTYPE_AUTOMATIC
-};
-
-/**
- * enum nl80211_key_type - Key Type
- * @NL80211_KEYTYPE_GROUP: Group (broadcast/multicast) key
- * @NL80211_KEYTYPE_PAIRWISE: Pairwise (unicast/individual) key
- * @NL80211_KEYTYPE_PEERKEY: PeerKey (DLS)
- * @NUM_NL80211_KEYTYPES: number of defined key types
- */
-enum nl80211_key_type {
- NL80211_KEYTYPE_GROUP,
- NL80211_KEYTYPE_PAIRWISE,
- NL80211_KEYTYPE_PEERKEY,
-
- NUM_NL80211_KEYTYPES
-};
-
-/**
- * enum nl80211_mfp - Management frame protection state
- * @NL80211_MFP_NO: Management frame protection not used
- * @NL80211_MFP_REQUIRED: Management frame protection required
- */
-enum nl80211_mfp {
- NL80211_MFP_NO,
- NL80211_MFP_REQUIRED,
-};
-
-enum nl80211_wpa_versions {
- NL80211_WPA_VERSION_1 = 1 << 0,
- NL80211_WPA_VERSION_2 = 1 << 1,
-};
-
-/**
- * enum nl80211_key_default_types - key default types
- * @__NL80211_KEY_DEFAULT_TYPE_INVALID: invalid
- * @NL80211_KEY_DEFAULT_TYPE_UNICAST: key should be used as default
- * unicast key
- * @NL80211_KEY_DEFAULT_TYPE_MULTICAST: key should be used as default
- * multicast key
- * @NUM_NL80211_KEY_DEFAULT_TYPES: number of default types
- */
-enum nl80211_key_default_types {
- __NL80211_KEY_DEFAULT_TYPE_INVALID,
- NL80211_KEY_DEFAULT_TYPE_UNICAST,
- NL80211_KEY_DEFAULT_TYPE_MULTICAST,
-
- NUM_NL80211_KEY_DEFAULT_TYPES
-};
-
-/**
- * enum nl80211_key_attributes - key attributes
- * @__NL80211_KEY_INVALID: invalid
- * @NL80211_KEY_DATA: (temporal) key data; for TKIP this consists of
- * 16 bytes encryption key followed by 8 bytes each for TX and RX MIC
- * keys
- * @NL80211_KEY_IDX: key ID (u8, 0-3)
- * @NL80211_KEY_CIPHER: key cipher suite (u32, as defined by IEEE 802.11
- * section 7.3.2.25.1, e.g. 0x000FAC04)
- * @NL80211_KEY_SEQ: transmit key sequence number (IV/PN) for TKIP and
- * CCMP keys, each six bytes in little endian
- * @NL80211_KEY_DEFAULT: flag indicating default key
- * @NL80211_KEY_DEFAULT_MGMT: flag indicating default management key
- * @NL80211_KEY_TYPE: the key type from enum nl80211_key_type, if not
- * specified the default depends on whether a MAC address was
- * given with the command using the key or not (u32)
- * @NL80211_KEY_DEFAULT_TYPES: A nested attribute containing flags
- * attributes, specifying what a key should be set as default as.
- * See &enum nl80211_key_default_types.
- * @__NL80211_KEY_AFTER_LAST: internal
- * @NL80211_KEY_MAX: highest key attribute
- */
-enum nl80211_key_attributes {
- __NL80211_KEY_INVALID,
- NL80211_KEY_DATA,
- NL80211_KEY_IDX,
- NL80211_KEY_CIPHER,
- NL80211_KEY_SEQ,
- NL80211_KEY_DEFAULT,
- NL80211_KEY_DEFAULT_MGMT,
- NL80211_KEY_TYPE,
- NL80211_KEY_DEFAULT_TYPES,
-
- /* keep last */
- __NL80211_KEY_AFTER_LAST,
- NL80211_KEY_MAX = __NL80211_KEY_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_tx_rate_attributes - TX rate set attributes
- * @__NL80211_TXRATE_INVALID: invalid
- * @NL80211_TXRATE_LEGACY: Legacy (non-MCS) rates allowed for TX rate selection
- * in an array of rates as defined in IEEE 802.11 7.3.2.2 (u8 values with
- * 1 = 500 kbps) but without the IE length restriction (at most
- * %NL80211_MAX_SUPP_RATES in a single array).
- * @NL80211_TXRATE_HT: HT (MCS) rates allowed for TX rate selection
- * in an array of MCS numbers.
- * @NL80211_TXRATE_VHT: VHT rates allowed for TX rate selection,
- * see &struct nl80211_txrate_vht
- * @NL80211_TXRATE_GI: configure GI, see &enum nl80211_txrate_gi
- * @__NL80211_TXRATE_AFTER_LAST: internal
- * @NL80211_TXRATE_MAX: highest TX rate attribute
- */
-enum nl80211_tx_rate_attributes {
- __NL80211_TXRATE_INVALID,
- NL80211_TXRATE_LEGACY,
- NL80211_TXRATE_HT,
- NL80211_TXRATE_VHT,
- NL80211_TXRATE_GI,
-
- /* keep last */
- __NL80211_TXRATE_AFTER_LAST,
- NL80211_TXRATE_MAX = __NL80211_TXRATE_AFTER_LAST - 1
-};
-
-#define NL80211_TXRATE_MCS NL80211_TXRATE_HT
-#define NL80211_VHT_NSS_MAX 8
-
-/**
- * struct nl80211_txrate_vht - VHT MCS/NSS txrate bitmap
- * @mcs: MCS bitmap table for each NSS (array index 0 for 1 stream, etc.)
- */
-struct nl80211_txrate_vht {
- __u16 mcs[NL80211_VHT_NSS_MAX];
-};
-
-enum nl80211_txrate_gi {
- NL80211_TXRATE_DEFAULT_GI,
- NL80211_TXRATE_FORCE_SGI,
- NL80211_TXRATE_FORCE_LGI,
-};
-
-/**
- * enum nl80211_band - Frequency band
- * @NL80211_BAND_2GHZ: 2.4 GHz ISM band
- * @NL80211_BAND_5GHZ: around 5 GHz band (4.9 - 5.7 GHz)
- * @NL80211_BAND_60GHZ: around 60 GHz band (58.32 - 64.80 GHz)
- */
-enum nl80211_band {
- NL80211_BAND_2GHZ,
- NL80211_BAND_5GHZ,
- NL80211_BAND_60GHZ,
-};
-
-/**
- * enum nl80211_ps_state - powersave state
- * @NL80211_PS_DISABLED: powersave is disabled
- * @NL80211_PS_ENABLED: powersave is enabled
- */
-enum nl80211_ps_state {
- NL80211_PS_DISABLED,
- NL80211_PS_ENABLED,
-};
-
-/**
- * enum nl80211_attr_cqm - connection quality monitor attributes
- * @__NL80211_ATTR_CQM_INVALID: invalid
- * @NL80211_ATTR_CQM_RSSI_THOLD: RSSI threshold in dBm. This value specifies
- * the threshold for the RSSI level at which an event will be sent. Zero
- * to disable.
- * @NL80211_ATTR_CQM_RSSI_HYST: RSSI hysteresis in dBm. This value specifies
- * the minimum amount the RSSI level must change after an event before a
- * new event may be issued (to reduce effects of RSSI oscillation).
- * @NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT: RSSI threshold event
- * @NL80211_ATTR_CQM_PKT_LOSS_EVENT: a u32 value indicating that this many
- * consecutive packets were not acknowledged by the peer
- * @NL80211_ATTR_CQM_TXE_RATE: TX error rate in %. Minimum % of TX failures
- * during the given %NL80211_ATTR_CQM_TXE_INTVL before an
- * %NL80211_CMD_NOTIFY_CQM with reported %NL80211_ATTR_CQM_TXE_RATE and
- * %NL80211_ATTR_CQM_TXE_PKTS is generated.
- * @NL80211_ATTR_CQM_TXE_PKTS: number of attempted packets in a given
- * %NL80211_ATTR_CQM_TXE_INTVL before %NL80211_ATTR_CQM_TXE_RATE is
- * checked.
- * @NL80211_ATTR_CQM_TXE_INTVL: interval in seconds. Specifies the periodic
- * interval in which %NL80211_ATTR_CQM_TXE_PKTS and
- * %NL80211_ATTR_CQM_TXE_RATE must be satisfied before generating an
- * %NL80211_CMD_NOTIFY_CQM. Set to 0 to turn off TX error reporting.
- * @NL80211_ATTR_CQM_BEACON_LOSS_EVENT: flag attribute that's set in a beacon
- * loss event
- * @__NL80211_ATTR_CQM_AFTER_LAST: internal
- * @NL80211_ATTR_CQM_MAX: highest key attribute
- */
-enum nl80211_attr_cqm {
- __NL80211_ATTR_CQM_INVALID,
- NL80211_ATTR_CQM_RSSI_THOLD,
- NL80211_ATTR_CQM_RSSI_HYST,
- NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT,
- NL80211_ATTR_CQM_PKT_LOSS_EVENT,
- NL80211_ATTR_CQM_TXE_RATE,
- NL80211_ATTR_CQM_TXE_PKTS,
- NL80211_ATTR_CQM_TXE_INTVL,
- NL80211_ATTR_CQM_BEACON_LOSS_EVENT,
-
- /* keep last */
- __NL80211_ATTR_CQM_AFTER_LAST,
- NL80211_ATTR_CQM_MAX = __NL80211_ATTR_CQM_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_cqm_rssi_threshold_event - RSSI threshold event
- * @NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW: The RSSI level is lower than the
- * configured threshold
- * @NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH: The RSSI is higher than the
- * configured threshold
- * @NL80211_CQM_RSSI_BEACON_LOSS_EVENT: (reserved, never sent)
- */
-enum nl80211_cqm_rssi_threshold_event {
- NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW,
- NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH,
- NL80211_CQM_RSSI_BEACON_LOSS_EVENT,
-};
-
-
-/**
- * enum nl80211_tx_power_setting - TX power adjustment
- * @NL80211_TX_POWER_AUTOMATIC: automatically determine transmit power
- * @NL80211_TX_POWER_LIMITED: limit TX power by the mBm parameter
- * @NL80211_TX_POWER_FIXED: fix TX power to the mBm parameter
- */
-enum nl80211_tx_power_setting {
- NL80211_TX_POWER_AUTOMATIC,
- NL80211_TX_POWER_LIMITED,
- NL80211_TX_POWER_FIXED,
-};
-
-/**
- * enum nl80211_packet_pattern_attr - packet pattern attribute
- * @__NL80211_PKTPAT_INVALID: invalid number for nested attribute
- * @NL80211_PKTPAT_PATTERN: the pattern, values where the mask has
- * a zero bit are ignored
- * @NL80211_PKTPAT_MASK: pattern mask, must be long enough to have
- * a bit for each byte in the pattern. The lowest-order bit corresponds
- * to the first byte of the pattern, but the bytes of the pattern are
- * in a little-endian-like format, i.e. the 9th byte of the pattern
- * corresponds to the lowest-order bit in the second byte of the mask.
- * For example: The match 00:xx:00:00:xx:00:00:00:00:xx:xx:xx (where
- * xx indicates "don't care") would be represented by a pattern of
- * twelve zero bytes, and a mask of "0xed,0x01".
- * Note that the pattern matching is done as though frames were not
- * 802.11 frames but 802.3 frames, i.e. the frame is fully unpacked
- * first (including SNAP header unpacking) and then matched.
- * @NL80211_PKTPAT_OFFSET: packet offset, pattern is matched after
- * these fixed number of bytes of received packet
- * @NUM_NL80211_PKTPAT: number of attributes
- * @MAX_NL80211_PKTPAT: max attribute number
- */
-enum nl80211_packet_pattern_attr {
- __NL80211_PKTPAT_INVALID,
- NL80211_PKTPAT_MASK,
- NL80211_PKTPAT_PATTERN,
- NL80211_PKTPAT_OFFSET,
-
- NUM_NL80211_PKTPAT,
- MAX_NL80211_PKTPAT = NUM_NL80211_PKTPAT - 1,
-};
-
-/**
- * struct nl80211_pattern_support - packet pattern support information
- * @max_patterns: maximum number of patterns supported
- * @min_pattern_len: minimum length of each pattern
- * @max_pattern_len: maximum length of each pattern
- * @max_pkt_offset: maximum Rx packet offset
- *
- * This struct is carried in %NL80211_WOWLAN_TRIG_PKT_PATTERN when
- * that is part of %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED or in
- * %NL80211_ATTR_COALESCE_RULE_PKT_PATTERN when that is part of
- * %NL80211_ATTR_COALESCE_RULE in the capability information given
- * by the kernel to userspace.
- */
-struct nl80211_pattern_support {
- __u32 max_patterns;
- __u32 min_pattern_len;
- __u32 max_pattern_len;
- __u32 max_pkt_offset;
-} __attribute__((packed));
-
-/* only for backward compatibility */
-#define __NL80211_WOWLAN_PKTPAT_INVALID __NL80211_PKTPAT_INVALID
-#define NL80211_WOWLAN_PKTPAT_MASK NL80211_PKTPAT_MASK
-#define NL80211_WOWLAN_PKTPAT_PATTERN NL80211_PKTPAT_PATTERN
-#define NL80211_WOWLAN_PKTPAT_OFFSET NL80211_PKTPAT_OFFSET
-#define NUM_NL80211_WOWLAN_PKTPAT NUM_NL80211_PKTPAT
-#define MAX_NL80211_WOWLAN_PKTPAT MAX_NL80211_PKTPAT
-#define nl80211_wowlan_pattern_support nl80211_pattern_support
-
-/**
- * enum nl80211_wowlan_triggers - WoWLAN trigger definitions
- * @__NL80211_WOWLAN_TRIG_INVALID: invalid number for nested attributes
- * @NL80211_WOWLAN_TRIG_ANY: wake up on any activity, do not really put
- * the chip into a special state -- works best with chips that have
- * support for low-power operation already (flag)
- * Note that this mode is incompatible with all of the others, if
- * any others are even supported by the device.
- * @NL80211_WOWLAN_TRIG_DISCONNECT: wake up on disconnect, the way disconnect
- * is detected is implementation-specific (flag)
- * @NL80211_WOWLAN_TRIG_MAGIC_PKT: wake up on magic packet (6x 0xff, followed
- * by 16 repetitions of MAC addr, anywhere in payload) (flag)
- * @NL80211_WOWLAN_TRIG_PKT_PATTERN: wake up on the specified packet patterns
- * which are passed in an array of nested attributes, each nested attribute
- * defining a with attributes from &struct nl80211_wowlan_trig_pkt_pattern.
- * Each pattern defines a wakeup packet. Packet offset is associated with
- * each pattern which is used while matching the pattern. The matching is
- * done on the MSDU, i.e. as though the packet was an 802.3 packet, so the
- * pattern matching is done after the packet is converted to the MSDU.
- *
- * In %NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED, it is a binary attribute
- * carrying a &struct nl80211_pattern_support.
- *
- * When reporting wakeup. it is a u32 attribute containing the 0-based
- * index of the pattern that caused the wakeup, in the patterns passed
- * to the kernel when configuring.
- * @NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED: Not a real trigger, and cannot be
- * used when setting, used only to indicate that GTK rekeying is supported
- * by the device (flag)
- * @NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE: wake up on GTK rekey failure (if
- * done by the device) (flag)
- * @NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST: wake up on EAP Identity Request
- * packet (flag)
- * @NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE: wake up on 4-way handshake (flag)
- * @NL80211_WOWLAN_TRIG_RFKILL_RELEASE: wake up when rfkill is released
- * (on devices that have rfkill in the device) (flag)
- * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211: For wakeup reporting only, contains
- * the 802.11 packet that caused the wakeup, e.g. a deauth frame. The frame
- * may be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN
- * attribute contains the original length.
- * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN: Original length of the 802.11
- * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211
- * attribute if the packet was truncated somewhere.
- * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023: For wakeup reporting only, contains the
- * 802.11 packet that caused the wakeup, e.g. a magic packet. The frame may
- * be truncated, the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN attribute
- * contains the original length.
- * @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN: Original length of the 802.3
- * packet, may be bigger than the @NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023
- * attribute if the packet was truncated somewhere.
- * @NL80211_WOWLAN_TRIG_TCP_CONNECTION: TCP connection wake, see DOC section
- * "TCP connection wakeup" for more details. This is a nested attribute
- * containing the exact information for establishing and keeping alive
- * the TCP connection.
- * @NL80211_WOWLAN_TRIG_TCP_WAKEUP_MATCH: For wakeup reporting only, the
- * wakeup packet was received on the TCP connection
- * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST: For wakeup reporting only, the
- * TCP connection was lost or failed to be established
- * @NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS: For wakeup reporting only,
- * the TCP connection ran out of tokens to use for data to send to the
- * service
- * @NL80211_WOWLAN_TRIG_NET_DETECT: wake up when a configured network
- * is detected. This is a nested attribute that contains the
- * same attributes used with @NL80211_CMD_START_SCHED_SCAN. It
- * specifies how the scan is performed (e.g. the interval, the
- * channels to scan and the initial delay) as well as the scan
- * results that will trigger a wake (i.e. the matchsets). This
- * attribute is also sent in a response to
- * @NL80211_CMD_GET_WIPHY, indicating the number of match sets
- * supported by the driver (u32).
- * @NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS: nested attribute
- * containing an array with information about what triggered the
- * wake up. If no elements are present in the array, it means
- * that the information is not available. If more than one
- * element is present, it means that more than one match
- * occurred.
- * Each element in the array is a nested attribute that contains
- * one optional %NL80211_ATTR_SSID attribute and one optional
- * %NL80211_ATTR_SCAN_FREQUENCIES attribute. At least one of
- * these attributes must be present. If
- * %NL80211_ATTR_SCAN_FREQUENCIES contains more than one
- * frequency, it means that the match occurred in more than one
- * channel.
- * @NUM_NL80211_WOWLAN_TRIG: number of wake on wireless triggers
- * @MAX_NL80211_WOWLAN_TRIG: highest wowlan trigger attribute number
- *
- * These nested attributes are used to configure the wakeup triggers and
- * to report the wakeup reason(s).
- */
-enum nl80211_wowlan_triggers {
- __NL80211_WOWLAN_TRIG_INVALID,
- NL80211_WOWLAN_TRIG_ANY,
- NL80211_WOWLAN_TRIG_DISCONNECT,
- NL80211_WOWLAN_TRIG_MAGIC_PKT,
- NL80211_WOWLAN_TRIG_PKT_PATTERN,
- NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED,
- NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE,
- NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST,
- NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE,
- NL80211_WOWLAN_TRIG_RFKILL_RELEASE,
- NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211,
- NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN,
- NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023,
- NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN,
- NL80211_WOWLAN_TRIG_TCP_CONNECTION,
- NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH,
- NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST,
- NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS,
- NL80211_WOWLAN_TRIG_NET_DETECT,
- NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS,
-
- /* keep last */
- NUM_NL80211_WOWLAN_TRIG,
- MAX_NL80211_WOWLAN_TRIG = NUM_NL80211_WOWLAN_TRIG - 1
-};
-
-/**
- * DOC: TCP connection wakeup
- *
- * Some devices can establish a TCP connection in order to be woken up by a
- * packet coming in from outside their network segment, or behind NAT. If
- * configured, the device will establish a TCP connection to the given
- * service, and periodically send data to that service. The first data
- * packet is usually transmitted after SYN/ACK, also ACKing the SYN/ACK.
- * The data packets can optionally include a (little endian) sequence
- * number (in the TCP payload!) that is generated by the device, and, also
- * optionally, a token from a list of tokens. This serves as a keep-alive
- * with the service, and for NATed connections, etc.
- *
- * During this keep-alive period, the server doesn't send any data to the
- * client. When receiving data, it is compared against the wakeup pattern
- * (and mask) and if it matches, the host is woken up. Similarly, if the
- * connection breaks or cannot be established to start with, the host is
- * also woken up.
- *
- * Developer's note: ARP offload is required for this, otherwise TCP
- * response packets might not go through correctly.
- */
-
-/**
- * struct nl80211_wowlan_tcp_data_seq - WoWLAN TCP data sequence
- * @start: starting value
- * @offset: offset of sequence number in packet
- * @len: length of the sequence value to write, 1 through 4
- *
- * Note: don't confuse with the TCP sequence number(s), this is for the
- * keepalive packet payload. The actual value is written into the packet
- * in little endian.
- */
-struct nl80211_wowlan_tcp_data_seq {
- __u32 start, offset, len;
-};
-
-/**
- * struct nl80211_wowlan_tcp_data_token - WoWLAN TCP data token config
- * @offset: offset of token in packet
- * @len: length of each token
- * @token_stream: stream of data to be used for the tokens, the length must
- * be a multiple of @len for this to make sense
- */
-struct nl80211_wowlan_tcp_data_token {
- __u32 offset, len;
- __u8 token_stream[];
-};
-
-/**
- * struct nl80211_wowlan_tcp_data_token_feature - data token features
- * @min_len: minimum token length
- * @max_len: maximum token length
- * @bufsize: total available token buffer size (max size of @token_stream)
- */
-struct nl80211_wowlan_tcp_data_token_feature {
- __u32 min_len, max_len, bufsize;
-};
-
-/**
- * enum nl80211_wowlan_tcp_attrs - WoWLAN TCP connection parameters
- * @__NL80211_WOWLAN_TCP_INVALID: invalid number for nested attributes
- * @NL80211_WOWLAN_TCP_SRC_IPV4: source IPv4 address (in network byte order)
- * @NL80211_WOWLAN_TCP_DST_IPV4: destination IPv4 address
- * (in network byte order)
- * @NL80211_WOWLAN_TCP_DST_MAC: destination MAC address, this is given because
- * route lookup when configured might be invalid by the time we suspend,
- * and doing a route lookup when suspending is no longer possible as it
- * might require ARP querying.
- * @NL80211_WOWLAN_TCP_SRC_PORT: source port (u16); optional, if not given a
- * socket and port will be allocated
- * @NL80211_WOWLAN_TCP_DST_PORT: destination port (u16)
- * @NL80211_WOWLAN_TCP_DATA_PAYLOAD: data packet payload, at least one byte.
- * For feature advertising, a u32 attribute holding the maximum length
- * of the data payload.
- * @NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ: data packet sequence configuration
- * (if desired), a &struct nl80211_wowlan_tcp_data_seq. For feature
- * advertising it is just a flag
- * @NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN: data packet token configuration,
- * see &struct nl80211_wowlan_tcp_data_token and for advertising see
- * &struct nl80211_wowlan_tcp_data_token_feature.
- * @NL80211_WOWLAN_TCP_DATA_INTERVAL: data interval in seconds, maximum
- * interval in feature advertising (u32)
- * @NL80211_WOWLAN_TCP_WAKE_PAYLOAD: wake packet payload, for advertising a
- * u32 attribute holding the maximum length
- * @NL80211_WOWLAN_TCP_WAKE_MASK: Wake packet payload mask, not used for
- * feature advertising. The mask works like @NL80211_PKTPAT_MASK
- * but on the TCP payload only.
- * @NUM_NL80211_WOWLAN_TCP: number of TCP attributes
- * @MAX_NL80211_WOWLAN_TCP: highest attribute number
- */
-enum nl80211_wowlan_tcp_attrs {
- __NL80211_WOWLAN_TCP_INVALID,
- NL80211_WOWLAN_TCP_SRC_IPV4,
- NL80211_WOWLAN_TCP_DST_IPV4,
- NL80211_WOWLAN_TCP_DST_MAC,
- NL80211_WOWLAN_TCP_SRC_PORT,
- NL80211_WOWLAN_TCP_DST_PORT,
- NL80211_WOWLAN_TCP_DATA_PAYLOAD,
- NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ,
- NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN,
- NL80211_WOWLAN_TCP_DATA_INTERVAL,
- NL80211_WOWLAN_TCP_WAKE_PAYLOAD,
- NL80211_WOWLAN_TCP_WAKE_MASK,
-
- /* keep last */
- NUM_NL80211_WOWLAN_TCP,
- MAX_NL80211_WOWLAN_TCP = NUM_NL80211_WOWLAN_TCP - 1
-};
-
-/**
- * struct nl80211_coalesce_rule_support - coalesce rule support information
- * @max_rules: maximum number of rules supported
- * @pat: packet pattern support information
- * @max_delay: maximum supported coalescing delay in msecs
- *
- * This struct is carried in %NL80211_ATTR_COALESCE_RULE in the
- * capability information given by the kernel to userspace.
- */
-struct nl80211_coalesce_rule_support {
- __u32 max_rules;
- struct nl80211_pattern_support pat;
- __u32 max_delay;
-} __attribute__((packed));
-
-/**
- * enum nl80211_attr_coalesce_rule - coalesce rule attribute
- * @__NL80211_COALESCE_RULE_INVALID: invalid number for nested attribute
- * @NL80211_ATTR_COALESCE_RULE_DELAY: delay in msecs used for packet coalescing
- * @NL80211_ATTR_COALESCE_RULE_CONDITION: condition for packet coalescence,
- * see &enum nl80211_coalesce_condition.
- * @NL80211_ATTR_COALESCE_RULE_PKT_PATTERN: packet offset, pattern is matched
- * after these fixed number of bytes of received packet
- * @NUM_NL80211_ATTR_COALESCE_RULE: number of attributes
- * @NL80211_ATTR_COALESCE_RULE_MAX: max attribute number
- */
-enum nl80211_attr_coalesce_rule {
- __NL80211_COALESCE_RULE_INVALID,
- NL80211_ATTR_COALESCE_RULE_DELAY,
- NL80211_ATTR_COALESCE_RULE_CONDITION,
- NL80211_ATTR_COALESCE_RULE_PKT_PATTERN,
-
- /* keep last */
- NUM_NL80211_ATTR_COALESCE_RULE,
- NL80211_ATTR_COALESCE_RULE_MAX = NUM_NL80211_ATTR_COALESCE_RULE - 1
-};
-
-/**
- * enum nl80211_coalesce_condition - coalesce rule conditions
- * @NL80211_COALESCE_CONDITION_MATCH: coalaesce Rx packets when patterns
- * in a rule are matched.
- * @NL80211_COALESCE_CONDITION_NO_MATCH: coalesce Rx packets when patterns
- * in a rule are not matched.
- */
-enum nl80211_coalesce_condition {
- NL80211_COALESCE_CONDITION_MATCH,
- NL80211_COALESCE_CONDITION_NO_MATCH
-};
-
-/**
- * enum nl80211_iface_limit_attrs - limit attributes
- * @NL80211_IFACE_LIMIT_UNSPEC: (reserved)
- * @NL80211_IFACE_LIMIT_MAX: maximum number of interfaces that
- * can be chosen from this set of interface types (u32)
- * @NL80211_IFACE_LIMIT_TYPES: nested attribute containing a
- * flag attribute for each interface type in this set
- * @NUM_NL80211_IFACE_LIMIT: number of attributes
- * @MAX_NL80211_IFACE_LIMIT: highest attribute number
- */
-enum nl80211_iface_limit_attrs {
- NL80211_IFACE_LIMIT_UNSPEC,
- NL80211_IFACE_LIMIT_MAX,
- NL80211_IFACE_LIMIT_TYPES,
-
- /* keep last */
- NUM_NL80211_IFACE_LIMIT,
- MAX_NL80211_IFACE_LIMIT = NUM_NL80211_IFACE_LIMIT - 1
-};
-
-/**
- * enum nl80211_if_combination_attrs -- interface combination attributes
- *
- * @NL80211_IFACE_COMB_UNSPEC: (reserved)
- * @NL80211_IFACE_COMB_LIMITS: Nested attributes containing the limits
- * for given interface types, see &enum nl80211_iface_limit_attrs.
- * @NL80211_IFACE_COMB_MAXNUM: u32 attribute giving the total number of
- * interfaces that can be created in this group. This number doesn't
- * apply to interfaces purely managed in software, which are listed
- * in a separate attribute %NL80211_ATTR_INTERFACES_SOFTWARE.
- * @NL80211_IFACE_COMB_STA_AP_BI_MATCH: flag attribute specifying that
- * beacon intervals within this group must be all the same even for
- * infrastructure and AP/GO combinations, i.e. the GO(s) must adopt
- * the infrastructure network's beacon interval.
- * @NL80211_IFACE_COMB_NUM_CHANNELS: u32 attribute specifying how many
- * different channels may be used within this group.
- * @NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS: u32 attribute containing the bitmap
- * of supported channel widths for radar detection.
- * @NL80211_IFACE_COMB_RADAR_DETECT_REGIONS: u32 attribute containing the bitmap
- * of supported regulatory regions for radar detection.
- * @NUM_NL80211_IFACE_COMB: number of attributes
- * @MAX_NL80211_IFACE_COMB: highest attribute number
- *
- * Examples:
- * limits = [ #{STA} <= 1, #{AP} <= 1 ], matching BI, channels = 1, max = 2
- * => allows an AP and a STA that must match BIs
- *
- * numbers = [ #{AP, P2P-GO} <= 8 ], channels = 1, max = 8
- * => allows 8 of AP/GO
- *
- * numbers = [ #{STA} <= 2 ], channels = 2, max = 2
- * => allows two STAs on different channels
- *
- * numbers = [ #{STA} <= 1, #{P2P-client,P2P-GO} <= 3 ], max = 4
- * => allows a STA plus three P2P interfaces
- *
- * The list of these four possiblities could completely be contained
- * within the %NL80211_ATTR_INTERFACE_COMBINATIONS attribute to indicate
- * that any of these groups must match.
- *
- * "Combinations" of just a single interface will not be listed here,
- * a single interface of any valid interface type is assumed to always
- * be possible by itself. This means that implicitly, for each valid
- * interface type, the following group always exists:
- * numbers = [ #{<type>} <= 1 ], channels = 1, max = 1
- */
-enum nl80211_if_combination_attrs {
- NL80211_IFACE_COMB_UNSPEC,
- NL80211_IFACE_COMB_LIMITS,
- NL80211_IFACE_COMB_MAXNUM,
- NL80211_IFACE_COMB_STA_AP_BI_MATCH,
- NL80211_IFACE_COMB_NUM_CHANNELS,
- NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS,
- NL80211_IFACE_COMB_RADAR_DETECT_REGIONS,
-
- /* keep last */
- NUM_NL80211_IFACE_COMB,
- MAX_NL80211_IFACE_COMB = NUM_NL80211_IFACE_COMB - 1
-};
-
-
-/**
- * enum nl80211_plink_state - state of a mesh peer link finite state machine
- *
- * @NL80211_PLINK_LISTEN: initial state, considered the implicit
- * state of non existant mesh peer links
- * @NL80211_PLINK_OPN_SNT: mesh plink open frame has been sent to
- * this mesh peer
- * @NL80211_PLINK_OPN_RCVD: mesh plink open frame has been received
- * from this mesh peer
- * @NL80211_PLINK_CNF_RCVD: mesh plink confirm frame has been
- * received from this mesh peer
- * @NL80211_PLINK_ESTAB: mesh peer link is established
- * @NL80211_PLINK_HOLDING: mesh peer link is being closed or cancelled
- * @NL80211_PLINK_BLOCKED: all frames transmitted from this mesh
- * plink are discarded
- * @NUM_NL80211_PLINK_STATES: number of peer link states
- * @MAX_NL80211_PLINK_STATES: highest numerical value of plink states
- */
-enum nl80211_plink_state {
- NL80211_PLINK_LISTEN,
- NL80211_PLINK_OPN_SNT,
- NL80211_PLINK_OPN_RCVD,
- NL80211_PLINK_CNF_RCVD,
- NL80211_PLINK_ESTAB,
- NL80211_PLINK_HOLDING,
- NL80211_PLINK_BLOCKED,
-
- /* keep last */
- NUM_NL80211_PLINK_STATES,
- MAX_NL80211_PLINK_STATES = NUM_NL80211_PLINK_STATES - 1
-};
-
-/**
- * enum nl80211_plink_action - actions to perform in mesh peers
- *
- * @NL80211_PLINK_ACTION_NO_ACTION: perform no action
- * @NL80211_PLINK_ACTION_OPEN: start mesh peer link establishment
- * @NL80211_PLINK_ACTION_BLOCK: block traffic from this mesh peer
- * @NUM_NL80211_PLINK_ACTIONS: number of possible actions
- */
-enum plink_actions {
- NL80211_PLINK_ACTION_NO_ACTION,
- NL80211_PLINK_ACTION_OPEN,
- NL80211_PLINK_ACTION_BLOCK,
-
- NUM_NL80211_PLINK_ACTIONS,
-};
-
-
-#define NL80211_KCK_LEN 16
-#define NL80211_KEK_LEN 16
-#define NL80211_REPLAY_CTR_LEN 8
-
-/**
- * enum nl80211_rekey_data - attributes for GTK rekey offload
- * @__NL80211_REKEY_DATA_INVALID: invalid number for nested attributes
- * @NL80211_REKEY_DATA_KEK: key encryption key (binary)
- * @NL80211_REKEY_DATA_KCK: key confirmation key (binary)
- * @NL80211_REKEY_DATA_REPLAY_CTR: replay counter (binary)
- * @NUM_NL80211_REKEY_DATA: number of rekey attributes (internal)
- * @MAX_NL80211_REKEY_DATA: highest rekey attribute (internal)
- */
-enum nl80211_rekey_data {
- __NL80211_REKEY_DATA_INVALID,
- NL80211_REKEY_DATA_KEK,
- NL80211_REKEY_DATA_KCK,
- NL80211_REKEY_DATA_REPLAY_CTR,
-
- /* keep last */
- NUM_NL80211_REKEY_DATA,
- MAX_NL80211_REKEY_DATA = NUM_NL80211_REKEY_DATA - 1
-};
-
-/**
- * enum nl80211_hidden_ssid - values for %NL80211_ATTR_HIDDEN_SSID
- * @NL80211_HIDDEN_SSID_NOT_IN_USE: do not hide SSID (i.e., broadcast it in
- * Beacon frames)
- * @NL80211_HIDDEN_SSID_ZERO_LEN: hide SSID by using zero-length SSID element
- * in Beacon frames
- * @NL80211_HIDDEN_SSID_ZERO_CONTENTS: hide SSID by using correct length of SSID
- * element in Beacon frames but zero out each byte in the SSID
- */
-enum nl80211_hidden_ssid {
- NL80211_HIDDEN_SSID_NOT_IN_USE,
- NL80211_HIDDEN_SSID_ZERO_LEN,
- NL80211_HIDDEN_SSID_ZERO_CONTENTS
-};
-
-/**
- * enum nl80211_sta_wme_attr - station WME attributes
- * @__NL80211_STA_WME_INVALID: invalid number for nested attribute
- * @NL80211_STA_WME_UAPSD_QUEUES: bitmap of uapsd queues. the format
- * is the same as the AC bitmap in the QoS info field.
- * @NL80211_STA_WME_MAX_SP: max service period. the format is the same
- * as the MAX_SP field in the QoS info field (but already shifted down).
- * @__NL80211_STA_WME_AFTER_LAST: internal
- * @NL80211_STA_WME_MAX: highest station WME attribute
- */
-enum nl80211_sta_wme_attr {
- __NL80211_STA_WME_INVALID,
- NL80211_STA_WME_UAPSD_QUEUES,
- NL80211_STA_WME_MAX_SP,
-
- /* keep last */
- __NL80211_STA_WME_AFTER_LAST,
- NL80211_STA_WME_MAX = __NL80211_STA_WME_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_pmksa_candidate_attr - attributes for PMKSA caching candidates
- * @__NL80211_PMKSA_CANDIDATE_INVALID: invalid number for nested attributes
- * @NL80211_PMKSA_CANDIDATE_INDEX: candidate index (u32; the smaller, the higher
- * priority)
- * @NL80211_PMKSA_CANDIDATE_BSSID: candidate BSSID (6 octets)
- * @NL80211_PMKSA_CANDIDATE_PREAUTH: RSN pre-authentication supported (flag)
- * @NUM_NL80211_PMKSA_CANDIDATE: number of PMKSA caching candidate attributes
- * (internal)
- * @MAX_NL80211_PMKSA_CANDIDATE: highest PMKSA caching candidate attribute
- * (internal)
- */
-enum nl80211_pmksa_candidate_attr {
- __NL80211_PMKSA_CANDIDATE_INVALID,
- NL80211_PMKSA_CANDIDATE_INDEX,
- NL80211_PMKSA_CANDIDATE_BSSID,
- NL80211_PMKSA_CANDIDATE_PREAUTH,
-
- /* keep last */
- NUM_NL80211_PMKSA_CANDIDATE,
- MAX_NL80211_PMKSA_CANDIDATE = NUM_NL80211_PMKSA_CANDIDATE - 1
-};
-
-/**
- * enum nl80211_tdls_operation - values for %NL80211_ATTR_TDLS_OPERATION
- * @NL80211_TDLS_DISCOVERY_REQ: Send a TDLS discovery request
- * @NL80211_TDLS_SETUP: Setup TDLS link
- * @NL80211_TDLS_TEARDOWN: Teardown a TDLS link which is already established
- * @NL80211_TDLS_ENABLE_LINK: Enable TDLS link
- * @NL80211_TDLS_DISABLE_LINK: Disable TDLS link
- */
-enum nl80211_tdls_operation {
- NL80211_TDLS_DISCOVERY_REQ,
- NL80211_TDLS_SETUP,
- NL80211_TDLS_TEARDOWN,
- NL80211_TDLS_ENABLE_LINK,
- NL80211_TDLS_DISABLE_LINK,
-};
-
-/*
- * enum nl80211_ap_sme_features - device-integrated AP features
- * Reserved for future use, no bits are defined in
- * NL80211_ATTR_DEVICE_AP_SME yet.
-enum nl80211_ap_sme_features {
-};
- */
-
-/**
- * enum nl80211_feature_flags - device/driver features
- * @NL80211_FEATURE_SK_TX_STATUS: This driver supports reflecting back
- * TX status to the socket error queue when requested with the
- * socket option.
- * @NL80211_FEATURE_HT_IBSS: This driver supports IBSS with HT datarates.
- * @NL80211_FEATURE_INACTIVITY_TIMER: This driver takes care of freeing up
- * the connected inactive stations in AP mode.
- * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested
- * to work properly to suppport receiving regulatory hints from
- * cellular base stations.
- * @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: (no longer available, only
- * here to reserve the value for API/ABI compatibility)
- * @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of
- * equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station
- * mode
- * @NL80211_FEATURE_LOW_PRIORITY_SCAN: This driver supports low priority scan
- * @NL80211_FEATURE_SCAN_FLUSH: Scan flush is supported
- * @NL80211_FEATURE_AP_SCAN: Support scanning using an AP vif
- * @NL80211_FEATURE_VIF_TXPOWER: The driver supports per-vif TX power setting
- * @NL80211_FEATURE_NEED_OBSS_SCAN: The driver expects userspace to perform
- * OBSS scans and generate 20/40 BSS coex reports. This flag is used only
- * for drivers implementing the CONNECT API, for AUTH/ASSOC it is implied.
- * @NL80211_FEATURE_P2P_GO_CTWIN: P2P GO implementation supports CT Window
- * setting
- * @NL80211_FEATURE_P2P_GO_OPPPS: P2P GO implementation supports opportunistic
- * powersave
- * @NL80211_FEATURE_FULL_AP_CLIENT_STATE: The driver supports full state
- * transitions for AP clients. Without this flag (and if the driver
- * doesn't have the AP SME in the device) the driver supports adding
- * stations only when they're associated and adds them in associated
- * state (to later be transitioned into authorized), with this flag
- * they should be added before even sending the authentication reply
- * and then transitioned into authenticated, associated and authorized
- * states using station flags.
- * Note that even for drivers that support this, the default is to add
- * stations in authenticated/associated state, so to add unauthenticated
- * stations the authenticated/associated bits have to be set in the mask.
- * @NL80211_FEATURE_ADVERTISE_CHAN_LIMITS: cfg80211 advertises channel limits
- * (HT40, VHT 80/160 MHz) if this flag is set
- * @NL80211_FEATURE_USERSPACE_MPM: This driver supports a userspace Mesh
- * Peering Management entity which may be implemented by registering for
- * beacons or NL80211_CMD_NEW_PEER_CANDIDATE events. The mesh beacon is
- * still generated by the driver.
- * @NL80211_FEATURE_ACTIVE_MONITOR: This driver supports an active monitor
- * interface. An active monitor interface behaves like a normal monitor
- * interface, but gets added to the driver. It ensures that incoming
- * unicast packets directed at the configured interface address get ACKed.
- * @NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE: This driver supports dynamic
- * channel bandwidth change (e.g., HT 20 <-> 40 MHz channel) during the
- * lifetime of a BSS.
- * @NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES: This device adds a DS Parameter
- * Set IE to probe requests.
- * @NL80211_FEATURE_WFA_TPC_IE_IN_PROBES: This device adds a WFA TPC Report IE
- * to probe requests.
- * @NL80211_FEATURE_QUIET: This device, in client mode, supports Quiet Period
- * requests sent to it by an AP.
- * @NL80211_FEATURE_TX_POWER_INSERTION: This device is capable of inserting the
- * current tx power value into the TPC Report IE in the spectrum
- * management TPC Report action frame, and in the Radio Measurement Link
- * Measurement Report action frame.
- * @NL80211_FEATURE_ACKTO_ESTIMATION: This driver supports dynamic ACK timeout
- * estimation (dynack). %NL80211_ATTR_WIPHY_DYN_ACK flag attribute is used
- * to enable dynack.
- * @NL80211_FEATURE_STATIC_SMPS: Device supports static spatial
- * multiplexing powersave, ie. can turn off all but one chain
- * even on HT connections that should be using more chains.
- * @NL80211_FEATURE_DYNAMIC_SMPS: Device supports dynamic spatial
- * multiplexing powersave, ie. can turn off all but one chain
- * and then wake the rest up as required after, for example,
- * rts/cts handshake.
- * @NL80211_FEATURE_SUPPORTS_WMM_ADMISSION: the device supports setting up WMM
- * TSPEC sessions (TID aka TSID 0-7) with the %NL80211_CMD_ADD_TX_TS
- * command. Standard IEEE 802.11 TSPEC setup is not yet supported, it
- * needs to be able to handle Block-Ack agreements and other things.
- * @NL80211_FEATURE_MAC_ON_CREATE: Device supports configuring
- * the vif's MAC address upon creation.
- * See 'macaddr' field in the vif_params (cfg80211.h).
- * @NL80211_FEATURE_TDLS_CHANNEL_SWITCH: Driver supports channel switching when
- * operating as a TDLS peer.
- * @NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR: This device/driver supports using a
- * random MAC address during scan (if the device is unassociated); the
- * %NL80211_SCAN_FLAG_RANDOM_ADDR flag may be set for scans and the MAC
- * address mask/value will be used.
- * @NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR: This device/driver supports
- * using a random MAC address for every scan iteration during scheduled
- * scan (while not associated), the %NL80211_SCAN_FLAG_RANDOM_ADDR may
- * be set for scheduled scan and the MAC address mask/value will be used.
- * @NL80211_FEATURE_ND_RANDOM_MAC_ADDR: This device/driver supports using a
- * random MAC address for every scan iteration during "net detect", i.e.
- * scan in unassociated WoWLAN, the %NL80211_SCAN_FLAG_RANDOM_ADDR may
- * be set for scheduled scan and the MAC address mask/value will be used.
- */
-enum nl80211_feature_flags {
- NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
- NL80211_FEATURE_HT_IBSS = 1 << 1,
- NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2,
- NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3,
- NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4,
- NL80211_FEATURE_SAE = 1 << 5,
- NL80211_FEATURE_LOW_PRIORITY_SCAN = 1 << 6,
- NL80211_FEATURE_SCAN_FLUSH = 1 << 7,
- NL80211_FEATURE_AP_SCAN = 1 << 8,
- NL80211_FEATURE_VIF_TXPOWER = 1 << 9,
- NL80211_FEATURE_NEED_OBSS_SCAN = 1 << 10,
- NL80211_FEATURE_P2P_GO_CTWIN = 1 << 11,
- NL80211_FEATURE_P2P_GO_OPPPS = 1 << 12,
- /* bit 13 is reserved */
- NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 1 << 14,
- NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15,
- NL80211_FEATURE_USERSPACE_MPM = 1 << 16,
- NL80211_FEATURE_ACTIVE_MONITOR = 1 << 17,
- NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 1 << 18,
- NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = 1 << 19,
- NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = 1 << 20,
- NL80211_FEATURE_QUIET = 1 << 21,
- NL80211_FEATURE_TX_POWER_INSERTION = 1 << 22,
- NL80211_FEATURE_ACKTO_ESTIMATION = 1 << 23,
- NL80211_FEATURE_STATIC_SMPS = 1 << 24,
- NL80211_FEATURE_DYNAMIC_SMPS = 1 << 25,
- NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 1 << 26,
- NL80211_FEATURE_MAC_ON_CREATE = 1 << 27,
- NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 1 << 28,
- NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 1 << 29,
- NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 1 << 30,
- NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 1 << 31,
-};
-
-/**
- * enum nl80211_ext_feature_index - bit index of extended features.
- * @NL80211_EXT_FEATURE_VHT_IBSS: This driver supports IBSS with VHT datarates.
- * @NL80211_EXT_FEATURE_RRM: This driver supports RRM. When featured, user can
- * can request to use RRM (see %NL80211_ATTR_USE_RRM) with
- * %NL80211_CMD_ASSOCIATE and %NL80211_CMD_CONNECT requests, which will set
- * the ASSOC_REQ_USE_RRM flag in the association request even if
- * NL80211_FEATURE_QUIET is not advertized.
- *
- * @NUM_NL80211_EXT_FEATURES: number of extended features.
- * @MAX_NL80211_EXT_FEATURES: highest extended feature index.
- */
-enum nl80211_ext_feature_index {
- NL80211_EXT_FEATURE_VHT_IBSS,
- NL80211_EXT_FEATURE_RRM,
-
- /* add new features before the definition below */
- NUM_NL80211_EXT_FEATURES,
- MAX_NL80211_EXT_FEATURES = NUM_NL80211_EXT_FEATURES - 1
-};
-
-/**
- * enum nl80211_probe_resp_offload_support_attr - optional supported
- * protocols for probe-response offloading by the driver/FW.
- * To be used with the %NL80211_ATTR_PROBE_RESP_OFFLOAD attribute.
- * Each enum value represents a bit in the bitmap of supported
- * protocols. Typically a subset of probe-requests belonging to a
- * supported protocol will be excluded from offload and uploaded
- * to the host.
- *
- * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS: Support for WPS ver. 1
- * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2: Support for WPS ver. 2
- * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P: Support for P2P
- * @NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U: Support for 802.11u
- */
-enum nl80211_probe_resp_offload_support_attr {
- NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 1<<0,
- NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 1<<1,
- NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 1<<2,
- NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 1<<3,
-};
-
-/**
- * enum nl80211_connect_failed_reason - connection request failed reasons
- * @NL80211_CONN_FAIL_MAX_CLIENTS: Maximum number of clients that can be
- * handled by the AP is reached.
- * @NL80211_CONN_FAIL_BLOCKED_CLIENT: Connection request is rejected due to ACL.
- */
-enum nl80211_connect_failed_reason {
- NL80211_CONN_FAIL_MAX_CLIENTS,
- NL80211_CONN_FAIL_BLOCKED_CLIENT,
-};
-
-/**
- * enum nl80211_scan_flags - scan request control flags
- *
- * Scan request control flags are used to control the handling
- * of NL80211_CMD_TRIGGER_SCAN and NL80211_CMD_START_SCHED_SCAN
- * requests.
- *
- * @NL80211_SCAN_FLAG_LOW_PRIORITY: scan request has low priority
- * @NL80211_SCAN_FLAG_FLUSH: flush cache before scanning
- * @NL80211_SCAN_FLAG_AP: force a scan even if the interface is configured
- * as AP and the beaconing has already been configured. This attribute is
- * dangerous because will destroy stations performance as a lot of frames
- * will be lost while scanning off-channel, therefore it must be used only
- * when really needed
- * @NL80211_SCAN_FLAG_RANDOM_ADDR: use a random MAC address for this scan (or
- * for scheduled scan: a different one for every scan iteration). When the
- * flag is set, depending on device capabilities the @NL80211_ATTR_MAC and
- * @NL80211_ATTR_MAC_MASK attributes may also be given in which case only
- * the masked bits will be preserved from the MAC address and the remainder
- * randomised. If the attributes are not given full randomisation (46 bits,
- * locally administered 1, multicast 0) is assumed.
- * This flag must not be requested when the feature isn't supported, check
- * the nl80211 feature flags for the device.
- */
-enum nl80211_scan_flags {
- NL80211_SCAN_FLAG_LOW_PRIORITY = 1<<0,
- NL80211_SCAN_FLAG_FLUSH = 1<<1,
- NL80211_SCAN_FLAG_AP = 1<<2,
- NL80211_SCAN_FLAG_RANDOM_ADDR = 1<<3,
-};
-
-/**
- * enum nl80211_acl_policy - access control policy
- *
- * Access control policy is applied on a MAC list set by
- * %NL80211_CMD_START_AP and %NL80211_CMD_SET_MAC_ACL, to
- * be used with %NL80211_ATTR_ACL_POLICY.
- *
- * @NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED: Deny stations which are
- * listed in ACL, i.e. allow all the stations which are not listed
- * in ACL to authenticate.
- * @NL80211_ACL_POLICY_DENY_UNLESS_LISTED: Allow the stations which are listed
- * in ACL, i.e. deny all the stations which are not listed in ACL.
- */
-enum nl80211_acl_policy {
- NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED,
- NL80211_ACL_POLICY_DENY_UNLESS_LISTED,
-};
-
-/**
- * enum nl80211_smps_mode - SMPS mode
- *
- * Requested SMPS mode (for AP mode)
- *
- * @NL80211_SMPS_OFF: SMPS off (use all antennas).
- * @NL80211_SMPS_STATIC: static SMPS (use a single antenna)
- * @NL80211_SMPS_DYNAMIC: dynamic smps (start with a single antenna and
- * turn on other antennas after CTS/RTS).
- */
-enum nl80211_smps_mode {
- NL80211_SMPS_OFF,
- NL80211_SMPS_STATIC,
- NL80211_SMPS_DYNAMIC,
-
- __NL80211_SMPS_AFTER_LAST,
- NL80211_SMPS_MAX = __NL80211_SMPS_AFTER_LAST - 1
-};
-
-/**
- * enum nl80211_radar_event - type of radar event for DFS operation
- *
- * Type of event to be used with NL80211_ATTR_RADAR_EVENT to inform userspace
- * about detected radars or success of the channel available check (CAC)
- *
- * @NL80211_RADAR_DETECTED: A radar pattern has been detected. The channel is
- * now unusable.
- * @NL80211_RADAR_CAC_FINISHED: Channel Availability Check has been finished,
- * the channel is now available.
- * @NL80211_RADAR_CAC_ABORTED: Channel Availability Check has been aborted, no
- * change to the channel status.
- * @NL80211_RADAR_NOP_FINISHED: The Non-Occupancy Period for this channel is
- * over, channel becomes usable.
- */
-enum nl80211_radar_event {
- NL80211_RADAR_DETECTED,
- NL80211_RADAR_CAC_FINISHED,
- NL80211_RADAR_CAC_ABORTED,
- NL80211_RADAR_NOP_FINISHED,
-};
-
-/**
- * enum nl80211_dfs_state - DFS states for channels
- *
- * Channel states used by the DFS code.
- *
- * @NL80211_DFS_USABLE: The channel can be used, but channel availability
- * check (CAC) must be performed before using it for AP or IBSS.
- * @NL80211_DFS_UNAVAILABLE: A radar has been detected on this channel, it
- * is therefore marked as not available.
- * @NL80211_DFS_AVAILABLE: The channel has been CAC checked and is available.
- */
-enum nl80211_dfs_state {
- NL80211_DFS_USABLE,
- NL80211_DFS_UNAVAILABLE,
- NL80211_DFS_AVAILABLE,
-};
-
-/**
- * enum enum nl80211_protocol_features - nl80211 protocol features
- * @NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP: nl80211 supports splitting
- * wiphy dumps (if requested by the application with the attribute
- * %NL80211_ATTR_SPLIT_WIPHY_DUMP. Also supported is filtering the
- * wiphy dump by %NL80211_ATTR_WIPHY, %NL80211_ATTR_IFINDEX or
- * %NL80211_ATTR_WDEV.
- */
-enum nl80211_protocol_features {
- NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 1 << 0,
-};
-
-/**
- * enum nl80211_crit_proto_id - nl80211 critical protocol identifiers
- *
- * @NL80211_CRIT_PROTO_UNSPEC: protocol unspecified.
- * @NL80211_CRIT_PROTO_DHCP: BOOTP or DHCPv6 protocol.
- * @NL80211_CRIT_PROTO_EAPOL: EAPOL protocol.
- * @NL80211_CRIT_PROTO_APIPA: APIPA protocol.
- * @NUM_NL80211_CRIT_PROTO: must be kept last.
- */
-enum nl80211_crit_proto_id {
- NL80211_CRIT_PROTO_UNSPEC,
- NL80211_CRIT_PROTO_DHCP,
- NL80211_CRIT_PROTO_EAPOL,
- NL80211_CRIT_PROTO_APIPA,
- /* add other protocols before this one */
- NUM_NL80211_CRIT_PROTO
-};
-
-/* maximum duration for critical protocol measures */
-#define NL80211_CRIT_PROTO_MAX_DURATION 5000 /* msec */
-
-/**
- * enum nl80211_rxmgmt_flags - flags for received management frame.
- *
- * Used by cfg80211_rx_mgmt()
- *
- * @NL80211_RXMGMT_FLAG_ANSWERED: frame was answered by device/driver.
- */
-enum nl80211_rxmgmt_flags {
- NL80211_RXMGMT_FLAG_ANSWERED = 1 << 0,
-};
-
-/*
- * If this flag is unset, the lower 24 bits are an OUI, if set
- * a Linux nl80211 vendor ID is used (no such IDs are allocated
- * yet, so that's not valid so far)
- */
-#define NL80211_VENDOR_ID_IS_LINUX 0x80000000
-
-/**
- * struct nl80211_vendor_cmd_info - vendor command data
- * @vendor_id: If the %NL80211_VENDOR_ID_IS_LINUX flag is clear, then the
- * value is a 24-bit OUI; if it is set then a separately allocated ID
- * may be used, but no such IDs are allocated yet. New IDs should be
- * added to this file when needed.
- * @subcmd: sub-command ID for the command
- */
-struct nl80211_vendor_cmd_info {
- __u32 vendor_id;
- __u32 subcmd;
-};
-
-/**
- * enum nl80211_tdls_peer_capability - TDLS peer flags.
- *
- * Used by tdls_mgmt() to determine which conditional elements need
- * to be added to TDLS Setup frames.
- *
- * @NL80211_TDLS_PEER_HT: TDLS peer is HT capable.
- * @NL80211_TDLS_PEER_VHT: TDLS peer is VHT capable.
- * @NL80211_TDLS_PEER_WMM: TDLS peer is WMM capable.
- */
-enum nl80211_tdls_peer_capability {
- NL80211_TDLS_PEER_HT = 1<<0,
- NL80211_TDLS_PEER_VHT = 1<<1,
- NL80211_TDLS_PEER_WMM = 1<<2,
-};
-
-/**
- * enum nl80211_sched_scan_plan - scanning plan for scheduled scan
- * @__NL80211_SCHED_SCAN_PLAN_INVALID: attribute number 0 is reserved
- * @NL80211_SCHED_SCAN_PLAN_INTERVAL: interval between scan iterations. In
- * seconds (u32).
- * @NL80211_SCHED_SCAN_PLAN_ITERATIONS: number of scan iterations in this
- * scan plan (u32). The last scan plan must not specify this attribute
- * because it will run infinitely. A value of zero is invalid as it will
- * make the scan plan meaningless.
- * @NL80211_SCHED_SCAN_PLAN_MAX: highest scheduled scan plan attribute number
- * currently defined
- * @__NL80211_SCHED_SCAN_PLAN_AFTER_LAST: internal use
- */
-enum nl80211_sched_scan_plan {
- __NL80211_SCHED_SCAN_PLAN_INVALID,
- NL80211_SCHED_SCAN_PLAN_INTERVAL,
- NL80211_SCHED_SCAN_PLAN_ITERATIONS,
-
- /* keep last */
- __NL80211_SCHED_SCAN_PLAN_AFTER_LAST,
- NL80211_SCHED_SCAN_PLAN_MAX =
- __NL80211_SCHED_SCAN_PLAN_AFTER_LAST - 1
-};
-
-#endif /* __LINUX_NL80211_H */
diff --git a/linux-headers/include/linux/nubus.h b/linux-headers/include/linux/nubus.h
deleted file mode 100644
index 60b03e4..0000000
--- a/linux-headers/include/linux/nubus.h
+++ /dev/null
@@ -1,244 +0,0 @@
-/*
- nubus.h: various definitions and prototypes for NuBus drivers to use.
-
- Originally written by Alan Cox.
-
- Hacked to death by C. Scott Ananian and David Huggins-Daines.
-
- Some of the constants in here are from the corresponding
- NetBSD/OpenBSD header file, by Allen Briggs. We figured out the
- rest of them on our own. */
-
-#ifndef LINUX_NUBUS_H
-#define LINUX_NUBUS_H
-
-#include <linux/types.h>
-
-enum nubus_category {
- NUBUS_CAT_BOARD = 0x0001,
- NUBUS_CAT_DISPLAY = 0x0003,
- NUBUS_CAT_NETWORK = 0x0004,
- NUBUS_CAT_COMMUNICATIONS = 0x0006,
- NUBUS_CAT_FONT = 0x0009,
- NUBUS_CAT_CPU = 0x000A,
- /* For lack of a better name */
- NUBUS_CAT_DUODOCK = 0x0020
-};
-
-enum nubus_type_network {
- NUBUS_TYPE_ETHERNET = 0x0001,
- NUBUS_TYPE_RS232 = 0x0002
-};
-
-enum nubus_type_display {
- NUBUS_TYPE_VIDEO = 0x0001
-};
-
-enum nubus_type_cpu {
- NUBUS_TYPE_68020 = 0x0003,
- NUBUS_TYPE_68030 = 0x0004,
- NUBUS_TYPE_68040 = 0x0005
-};
-
-/* Known <Cat,Type,SW,HW> tuples: (according to TattleTech and Slots)
- * 68030 motherboards: <10,4,0,24>
- * 68040 motherboards: <10,5,0,24>
- * DuoDock Plus: <32,1,1,2>
- *
- * Toby Frame Buffer card: <3,1,1,1>
- * RBV built-in video (IIci): <3,1,1,24>
- * Valkyrie built-in video (Q630): <3,1,1,46>
- * Macintosh Display Card: <3,1,1,25>
- * Sonora built-in video (P460): <3,1,1,34>
- * Jet framebuffer (DuoDock Plus): <3,1,1,41>
- *
- * SONIC comm-slot/on-board and DuoDock Ethernet: <4,1,1,272>
- * SONIC LC-PDS Ethernet (Dayna, but like Apple 16-bit, sort of): <4,1,1,271>
- * Apple SONIC LC-PDS Ethernet ("Apple Ethernet LC Twisted-Pair Card"): <4,1,0,281>
- * Sonic Systems Ethernet A-Series Card: <4,1,268,256>
- * Asante MacCon NuBus-A: <4,1,260,256> (alpha-1.0,1.1 revision)
- * ROM on the above card: <2,1,0,0>
- * Cabletron ethernet card: <4,1,1,265>
- * Farallon ethernet card: <4,1,268,256> (identical to Sonic Systems card)
- * Kinetics EtherPort IIN: <4,1,259,262>
- * API Engineering EtherRun_LCa PDS enet card: <4,1,282,256>
- *
- * Add your devices to the list! You can obtain the "Slots" utility
- * from Apple's FTP site at:
- * ftp://dev.apple.com/devworld/Tool_Chest/Devices_-_Hardware/NuBus_Slot_Manager/
- *
- * Alternately, TattleTech can be found at any Info-Mac mirror site.
- * or from its distribution site: ftp://ftp.decismkr.com/dms
- */
-
-/* DrSW: Uniquely identifies the software interface to a board. This
- is usually the one you want to look at when writing a driver. It's
- not as useful as you think, though, because as we should know by
- now (duh), "Apple Compatible" can mean a lot of things... */
-
-/* Add known DrSW values here */
-enum nubus_drsw {
- /* NUBUS_CAT_DISPLAY */
- NUBUS_DRSW_APPLE = 0x0001,
- NUBUS_DRSW_APPLE_HIRES = 0x0013, /* MacII HiRes card driver */
-
- /* NUBUS_CAT_NETWORK */
- NUBUS_DRSW_3COM = 0x0000,
- NUBUS_DRSW_CABLETRON = 0x0001,
- NUBUS_DRSW_SONIC_LC = 0x0001,
- NUBUS_DRSW_KINETICS = 0x0103,
- NUBUS_DRSW_ASANTE = 0x0104,
- NUBUS_DRSW_TECHWORKS = 0x0109,
- NUBUS_DRSW_DAYNA = 0x010b,
- NUBUS_DRSW_FARALLON = 0x010c,
- NUBUS_DRSW_APPLE_SN = 0x010f,
- NUBUS_DRSW_DAYNA2 = 0x0115,
- NUBUS_DRSW_FOCUS = 0x011a,
- NUBUS_DRSW_ASANTE_CS = 0x011d, /* use asante SMC9194 driver */
- NUBUS_DRSW_DAYNA_LC = 0x011e,
-
- /* NUBUS_CAT_CPU */
- NUBUS_DRSW_NONE = 0x0000,
-};
-
-/* DrHW: Uniquely identifies the hardware interface to a board (or at
- least, it should... some video cards are known to incorrectly
- identify themselves as Toby cards) */
-
-/* Add known DrHW values here */
-enum nubus_drhw {
- /* NUBUS_CAT_DISPLAY */
- NUBUS_DRHW_APPLE_TFB = 0x0001, /* Toby frame buffer card */
- NUBUS_DRHW_APPLE_WVC = 0x0006, /* Apple Workstation Video Card */
- NUBUS_DRHW_SIGMA_CLRMAX = 0x0007, /* Sigma Design ColorMax */
- NUBUS_DRHW_APPLE_SE30 = 0x0009, /* Apple SE/30 video */
- NUBUS_DRHW_APPLE_HRVC = 0x0013, /* Mac II High-Res Video Card */
- NUBUS_DRHW_APPLE_PVC = 0x0017, /* Mac II Portrait Video Card */
- NUBUS_DRHW_APPLE_RBV1 = 0x0018, /* IIci RBV video */
- NUBUS_DRHW_APPLE_MDC = 0x0019, /* Macintosh Display Card */
- NUBUS_DRHW_APPLE_SONORA = 0x0022, /* Sonora built-in video */
- NUBUS_DRHW_APPLE_24AC = 0x002b, /* Mac 24AC Video Card */
- NUBUS_DRHW_APPLE_VALKYRIE = 0x002e,
- NUBUS_DRHW_APPLE_JET = 0x0029, /* Jet framebuffer (DuoDock) */
- NUBUS_DRHW_SMAC_GFX = 0x0105, /* SuperMac GFX */
- NUBUS_DRHW_RASTER_CB264 = 0x013B, /* RasterOps ColorBoard 264 */
- NUBUS_DRHW_MICRON_XCEED = 0x0146, /* Micron Exceed color */
- NUBUS_DRHW_RDIUS_GSC = 0x0153, /* Radius GS/C */
- NUBUS_DRHW_SMAC_SPEC8 = 0x017B, /* SuperMac Spectrum/8 */
- NUBUS_DRHW_SMAC_SPEC24 = 0x017C, /* SuperMac Spectrum/24 */
- NUBUS_DRHW_RASTER_CB364 = 0x026F, /* RasterOps ColorBoard 364 */
- NUBUS_DRHW_RDIUS_DCGX = 0x027C, /* Radius DirectColor/GX */
- NUBUS_DRHW_RDIUS_PC8 = 0x0291, /* Radius PrecisionColor 8 */
- NUBUS_DRHW_LAPIS_PCS8 = 0x0292, /* Lapis ProColorServer 8 */
- NUBUS_DRHW_RASTER_24XLI = 0x02A0, /* RasterOps 8/24 XLi */
- NUBUS_DRHW_RASTER_PBPGT = 0x02A5, /* RasterOps PaintBoard Prism GT */
- NUBUS_DRHW_EMACH_FSX = 0x02AE, /* E-Machines Futura SX */
- NUBUS_DRHW_RASTER_24XLTV = 0x02B7, /* RasterOps 24XLTV */
- NUBUS_DRHW_SMAC_THUND24 = 0x02CB, /* SuperMac Thunder/24 */
- NUBUS_DRHW_SMAC_THUNDLGHT = 0x03D9, /* SuperMac ThunderLight */
- NUBUS_DRHW_RDIUS_PC24XP = 0x0406, /* Radius PrecisionColor 24Xp */
- NUBUS_DRHW_RDIUS_PC24X = 0x040A, /* Radius PrecisionColor 24X */
- NUBUS_DRHW_RDIUS_PC8XJ = 0x040B, /* Radius PrecisionColor 8XJ */
-
- /* NUBUS_CAT_NETWORK */
- NUBUS_DRHW_INTERLAN = 0x0100,
- NUBUS_DRHW_SMC9194 = 0x0101,
- NUBUS_DRHW_KINETICS = 0x0106,
- NUBUS_DRHW_CABLETRON = 0x0109,
- NUBUS_DRHW_ASANTE_LC = 0x010f,
- NUBUS_DRHW_SONIC = 0x0110,
- NUBUS_DRHW_TECHWORKS = 0x0112,
- NUBUS_DRHW_APPLE_SONIC_NB = 0x0118,
- NUBUS_DRHW_APPLE_SONIC_LC = 0x0119,
- NUBUS_DRHW_FOCUS = 0x011c,
- NUBUS_DRHW_SONNET = 0x011d,
-};
-
-/* Resource IDs: These are the identifiers for the various weird and
- wonderful tidbits of information that may or may not reside in the
- NuBus ROM directory. */
-enum nubus_res_id {
- NUBUS_RESID_TYPE = 0x0001,
- NUBUS_RESID_NAME = 0x0002,
- NUBUS_RESID_ICON = 0x0003,
- NUBUS_RESID_DRVRDIR = 0x0004,
- NUBUS_RESID_LOADREC = 0x0005,
- NUBUS_RESID_BOOTREC = 0x0006,
- NUBUS_RESID_FLAGS = 0x0007,
- NUBUS_RESID_HWDEVID = 0x0008,
- NUBUS_RESID_MINOR_BASEOS = 0x000a,
- NUBUS_RESID_MINOR_LENGTH = 0x000b,
- NUBUS_RESID_MAJOR_BASEOS = 0x000c,
- NUBUS_RESID_MAJOR_LENGTH = 0x000d,
- NUBUS_RESID_CICN = 0x000f,
- NUBUS_RESID_ICL8 = 0x0010,
- NUBUS_RESID_ICL4 = 0x0011,
-};
-
-/* Category-specific resources. */
-enum nubus_board_res_id {
- NUBUS_RESID_BOARDID = 0x0020,
- NUBUS_RESID_PRAMINITDATA = 0x0021,
- NUBUS_RESID_PRIMARYINIT = 0x0022,
- NUBUS_RESID_TIMEOUTCONST = 0x0023,
- NUBUS_RESID_VENDORINFO = 0x0024,
- NUBUS_RESID_BOARDFLAGS = 0x0025,
- NUBUS_RESID_SECONDINIT = 0x0026,
-
- /* Not sure why Apple put these next two in here */
- NUBUS_RESID_VIDNAMES = 0x0041,
- NUBUS_RESID_VIDMODES = 0x007e
-};
-
-/* Fields within the vendor info directory */
-enum nubus_vendor_res_id {
- NUBUS_RESID_VEND_ID = 0x0001,
- NUBUS_RESID_VEND_SERIAL = 0x0002,
- NUBUS_RESID_VEND_REV = 0x0003,
- NUBUS_RESID_VEND_PART = 0x0004,
- NUBUS_RESID_VEND_DATE = 0x0005
-};
-
-enum nubus_net_res_id {
- NUBUS_RESID_MAC_ADDRESS = 0x0080
-};
-
-enum nubus_cpu_res_id {
- NUBUS_RESID_MEMINFO = 0x0081,
- NUBUS_RESID_ROMINFO = 0x0082
-};
-
-enum nubus_display_res_id {
- NUBUS_RESID_GAMMADIR = 0x0040,
- NUBUS_RESID_FIRSTMODE = 0x0080,
- NUBUS_RESID_SECONDMODE = 0x0081,
- NUBUS_RESID_THIRDMODE = 0x0082,
- NUBUS_RESID_FOURTHMODE = 0x0083,
- NUBUS_RESID_FIFTHMODE = 0x0084,
- NUBUS_RESID_SIXTHMODE = 0x0085
-};
-
-struct nubus_dir
-{
- unsigned char *base;
- unsigned char *ptr;
- int done;
- int mask;
-};
-
-struct nubus_dirent
-{
- unsigned char *base;
- unsigned char type;
- __u32 data; /* Actually 24bits used */
- int mask;
-};
-
-
-/* We'd like to get rid of this eventually. Only daynaport.c uses it now. */
-static __inline__ void *nubus_slot_addr(int slot)
-{
- return (void *)(0xF0000000|(slot<<24));
-}
-
-#endif /* LINUX_NUBUS_H */
diff --git a/linux-headers/include/linux/nvme_ioctl.h b/linux-headers/include/linux/nvme_ioctl.h
deleted file mode 100644
index 9cea1ff..0000000
--- a/linux-headers/include/linux/nvme_ioctl.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Definitions for the NVM Express ioctl interface
- * Copyright (c) 2011-2014, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef _LINUX_NVME_IOCTL_H
-#define _LINUX_NVME_IOCTL_H
-
-#include <linux/types.h>
-
-struct nvme_user_io {
- __u8 opcode;
- __u8 flags;
- __u16 control;
- __u16 nblocks;
- __u16 rsvd;
- __u64 metadata;
- __u64 addr;
- __u64 slba;
- __u32 dsmgmt;
- __u32 reftag;
- __u16 apptag;
- __u16 appmask;
-};
-
-struct nvme_passthru_cmd {
- __u8 opcode;
- __u8 flags;
- __u16 rsvd1;
- __u32 nsid;
- __u32 cdw2;
- __u32 cdw3;
- __u64 metadata;
- __u64 addr;
- __u32 metadata_len;
- __u32 data_len;
- __u32 cdw10;
- __u32 cdw11;
- __u32 cdw12;
- __u32 cdw13;
- __u32 cdw14;
- __u32 cdw15;
- __u32 timeout_ms;
- __u32 result;
-};
-
-#define nvme_admin_cmd nvme_passthru_cmd
-
-#define NVME_IOCTL_ID _IO('N', 0x40)
-#define NVME_IOCTL_ADMIN_CMD _IOWR('N', 0x41, struct nvme_admin_cmd)
-#define NVME_IOCTL_SUBMIT_IO _IOW('N', 0x42, struct nvme_user_io)
-#define NVME_IOCTL_IO_CMD _IOWR('N', 0x43, struct nvme_passthru_cmd)
-#define NVME_IOCTL_RESET _IO('N', 0x44)
-#define NVME_IOCTL_SUBSYS_RESET _IO('N', 0x45)
-
-#endif /* _LINUX_NVME_IOCTL_H */
diff --git a/linux-headers/include/linux/nvram.h b/linux-headers/include/linux/nvram.h
deleted file mode 100644
index a05d28a..0000000
--- a/linux-headers/include/linux/nvram.h
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef _LINUX_NVRAM_H
-#define _LINUX_NVRAM_H
-
-#include <linux/ioctl.h>
-
-/* /dev/nvram ioctls */
-#define NVRAM_INIT _IO('p', 0x40) /* initialize NVRAM and set checksum */
-#define NVRAM_SETCKS _IO('p', 0x41) /* recalculate checksum */
-
-/* for all current systems, this is where NVRAM starts */
-#define NVRAM_FIRST_BYTE 14
-/* all these functions expect an NVRAM offset, not an absolute */
-#define NVRAM_OFFSET(x) ((x)-NVRAM_FIRST_BYTE)
-
-
-#endif /* _LINUX_NVRAM_H */
diff --git a/linux-headers/include/linux/omap3isp.h b/linux-headers/include/linux/omap3isp.h
deleted file mode 100644
index cb3e8a5..0000000
--- a/linux-headers/include/linux/omap3isp.h
+++ /dev/null
@@ -1,646 +0,0 @@
-/*
- * omap3isp.h
- *
- * TI OMAP3 ISP - User-space API
- *
- * Copyright (C) 2010 Nokia Corporation
- * Copyright (C) 2009 Texas Instruments, Inc.
- *
- * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
- * Sakari Ailus <sakari.ailus@iki.fi>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-#ifndef OMAP3_ISP_USER_H
-#define OMAP3_ISP_USER_H
-
-#include <linux/types.h>
-#include <linux/videodev2.h>
-
-/*
- * Private IOCTLs
- *
- * VIDIOC_OMAP3ISP_CCDC_CFG: Set CCDC configuration
- * VIDIOC_OMAP3ISP_PRV_CFG: Set preview engine configuration
- * VIDIOC_OMAP3ISP_AEWB_CFG: Set AEWB module configuration
- * VIDIOC_OMAP3ISP_HIST_CFG: Set histogram module configuration
- * VIDIOC_OMAP3ISP_AF_CFG: Set auto-focus module configuration
- * VIDIOC_OMAP3ISP_STAT_REQ: Read statistics (AEWB/AF/histogram) data
- * VIDIOC_OMAP3ISP_STAT_EN: Enable/disable a statistics module
- */
-
-#define VIDIOC_OMAP3ISP_CCDC_CFG \
- _IOWR('V', BASE_VIDIOC_PRIVATE + 1, struct omap3isp_ccdc_update_config)
-#define VIDIOC_OMAP3ISP_PRV_CFG \
- _IOWR('V', BASE_VIDIOC_PRIVATE + 2, struct omap3isp_prev_update_config)
-#define VIDIOC_OMAP3ISP_AEWB_CFG \
- _IOWR('V', BASE_VIDIOC_PRIVATE + 3, struct omap3isp_h3a_aewb_config)
-#define VIDIOC_OMAP3ISP_HIST_CFG \
- _IOWR('V', BASE_VIDIOC_PRIVATE + 4, struct omap3isp_hist_config)
-#define VIDIOC_OMAP3ISP_AF_CFG \
- _IOWR('V', BASE_VIDIOC_PRIVATE + 5, struct omap3isp_h3a_af_config)
-#define VIDIOC_OMAP3ISP_STAT_REQ \
- _IOWR('V', BASE_VIDIOC_PRIVATE + 6, struct omap3isp_stat_data)
-#define VIDIOC_OMAP3ISP_STAT_EN \
- _IOWR('V', BASE_VIDIOC_PRIVATE + 7, unsigned long)
-
-/*
- * Events
- *
- * V4L2_EVENT_OMAP3ISP_AEWB: AEWB statistics data ready
- * V4L2_EVENT_OMAP3ISP_AF: AF statistics data ready
- * V4L2_EVENT_OMAP3ISP_HIST: Histogram statistics data ready
- */
-
-#define V4L2_EVENT_OMAP3ISP_CLASS (V4L2_EVENT_PRIVATE_START | 0x100)
-#define V4L2_EVENT_OMAP3ISP_AEWB (V4L2_EVENT_OMAP3ISP_CLASS | 0x1)
-#define V4L2_EVENT_OMAP3ISP_AF (V4L2_EVENT_OMAP3ISP_CLASS | 0x2)
-#define V4L2_EVENT_OMAP3ISP_HIST (V4L2_EVENT_OMAP3ISP_CLASS | 0x3)
-
-struct omap3isp_stat_event_status {
- __u32 frame_number;
- __u16 config_counter;
- __u8 buf_err;
-};
-
-/* AE/AWB related structures and flags*/
-
-/* H3A Range Constants */
-#define OMAP3ISP_AEWB_MAX_SATURATION_LIM 1023
-#define OMAP3ISP_AEWB_MIN_WIN_H 2
-#define OMAP3ISP_AEWB_MAX_WIN_H 256
-#define OMAP3ISP_AEWB_MIN_WIN_W 6
-#define OMAP3ISP_AEWB_MAX_WIN_W 256
-#define OMAP3ISP_AEWB_MIN_WINVC 1
-#define OMAP3ISP_AEWB_MIN_WINHC 1
-#define OMAP3ISP_AEWB_MAX_WINVC 128
-#define OMAP3ISP_AEWB_MAX_WINHC 36
-#define OMAP3ISP_AEWB_MAX_WINSTART 4095
-#define OMAP3ISP_AEWB_MIN_SUB_INC 2
-#define OMAP3ISP_AEWB_MAX_SUB_INC 32
-#define OMAP3ISP_AEWB_MAX_BUF_SIZE 83600
-
-#define OMAP3ISP_AF_IIRSH_MIN 0
-#define OMAP3ISP_AF_IIRSH_MAX 4095
-#define OMAP3ISP_AF_PAXEL_HORIZONTAL_COUNT_MIN 1
-#define OMAP3ISP_AF_PAXEL_HORIZONTAL_COUNT_MAX 36
-#define OMAP3ISP_AF_PAXEL_VERTICAL_COUNT_MIN 1
-#define OMAP3ISP_AF_PAXEL_VERTICAL_COUNT_MAX 128
-#define OMAP3ISP_AF_PAXEL_INCREMENT_MIN 2
-#define OMAP3ISP_AF_PAXEL_INCREMENT_MAX 32
-#define OMAP3ISP_AF_PAXEL_HEIGHT_MIN 2
-#define OMAP3ISP_AF_PAXEL_HEIGHT_MAX 256
-#define OMAP3ISP_AF_PAXEL_WIDTH_MIN 16
-#define OMAP3ISP_AF_PAXEL_WIDTH_MAX 256
-#define OMAP3ISP_AF_PAXEL_HZSTART_MIN 1
-#define OMAP3ISP_AF_PAXEL_HZSTART_MAX 4095
-#define OMAP3ISP_AF_PAXEL_VTSTART_MIN 0
-#define OMAP3ISP_AF_PAXEL_VTSTART_MAX 4095
-#define OMAP3ISP_AF_THRESHOLD_MAX 255
-#define OMAP3ISP_AF_COEF_MAX 4095
-#define OMAP3ISP_AF_PAXEL_SIZE 48
-#define OMAP3ISP_AF_MAX_BUF_SIZE 221184
-
-/**
- * struct omap3isp_h3a_aewb_config - AE AWB configuration reset values
- * saturation_limit: Saturation limit.
- * @win_height: Window Height. Range 2 - 256, even values only.
- * @win_width: Window Width. Range 6 - 256, even values only.
- * @ver_win_count: Vertical Window Count. Range 1 - 128.
- * @hor_win_count: Horizontal Window Count. Range 1 - 36.
- * @ver_win_start: Vertical Window Start. Range 0 - 4095.
- * @hor_win_start: Horizontal Window Start. Range 0 - 4095.
- * @blk_ver_win_start: Black Vertical Windows Start. Range 0 - 4095.
- * @blk_win_height: Black Window Height. Range 2 - 256, even values only.
- * @subsample_ver_inc: Subsample Vertical points increment Range 2 - 32, even
- * values only.
- * @subsample_hor_inc: Subsample Horizontal points increment Range 2 - 32, even
- * values only.
- * @alaw_enable: AEW ALAW EN flag.
- */
-struct omap3isp_h3a_aewb_config {
- /*
- * Common fields.
- * They should be the first ones and must be in the same order as in
- * ispstat_generic_config struct.
- */
- __u32 buf_size;
- __u16 config_counter;
-
- /* Private fields */
- __u16 saturation_limit;
- __u16 win_height;
- __u16 win_width;
- __u16 ver_win_count;
- __u16 hor_win_count;
- __u16 ver_win_start;
- __u16 hor_win_start;
- __u16 blk_ver_win_start;
- __u16 blk_win_height;
- __u16 subsample_ver_inc;
- __u16 subsample_hor_inc;
- __u8 alaw_enable;
-};
-
-/**
- * struct omap3isp_stat_data - Statistic data sent to or received from user
- * @ts: Timestamp of returned framestats.
- * @buf: Pointer to pass to user.
- * @frame_number: Frame number of requested stats.
- * @cur_frame: Current frame number being processed.
- * @config_counter: Number of the configuration associated with the data.
- */
-struct omap3isp_stat_data {
- struct timeval ts;
- void *buf;
- __u32 buf_size;
- __u16 frame_number;
- __u16 cur_frame;
- __u16 config_counter;
-};
-
-
-/* Histogram related structs */
-
-/* Flags for number of bins */
-#define OMAP3ISP_HIST_BINS_32 0
-#define OMAP3ISP_HIST_BINS_64 1
-#define OMAP3ISP_HIST_BINS_128 2
-#define OMAP3ISP_HIST_BINS_256 3
-
-/* Number of bins * 4 colors * 4-bytes word */
-#define OMAP3ISP_HIST_MEM_SIZE_BINS(n) ((1 << ((n)+5))*4*4)
-
-#define OMAP3ISP_HIST_MEM_SIZE 1024
-#define OMAP3ISP_HIST_MIN_REGIONS 1
-#define OMAP3ISP_HIST_MAX_REGIONS 4
-#define OMAP3ISP_HIST_MAX_WB_GAIN 255
-#define OMAP3ISP_HIST_MIN_WB_GAIN 0
-#define OMAP3ISP_HIST_MAX_BIT_WIDTH 14
-#define OMAP3ISP_HIST_MIN_BIT_WIDTH 8
-#define OMAP3ISP_HIST_MAX_WG 4
-#define OMAP3ISP_HIST_MAX_BUF_SIZE 4096
-
-/* Source */
-#define OMAP3ISP_HIST_SOURCE_CCDC 0
-#define OMAP3ISP_HIST_SOURCE_MEM 1
-
-/* CFA pattern */
-#define OMAP3ISP_HIST_CFA_BAYER 0
-#define OMAP3ISP_HIST_CFA_FOVEONX3 1
-
-struct omap3isp_hist_region {
- __u16 h_start;
- __u16 h_end;
- __u16 v_start;
- __u16 v_end;
-};
-
-struct omap3isp_hist_config {
- /*
- * Common fields.
- * They should be the first ones and must be in the same order as in
- * ispstat_generic_config struct.
- */
- __u32 buf_size;
- __u16 config_counter;
-
- __u8 num_acc_frames; /* Num of image frames to be processed and
- accumulated for each histogram frame */
- __u16 hist_bins; /* number of bins: 32, 64, 128, or 256 */
- __u8 cfa; /* BAYER or FOVEON X3 */
- __u8 wg[OMAP3ISP_HIST_MAX_WG]; /* White Balance Gain */
- __u8 num_regions; /* number of regions to be configured */
- struct omap3isp_hist_region region[OMAP3ISP_HIST_MAX_REGIONS];
-};
-
-/* Auto Focus related structs */
-
-#define OMAP3ISP_AF_NUM_COEF 11
-
-enum omap3isp_h3a_af_fvmode {
- OMAP3ISP_AF_MODE_SUMMED = 0,
- OMAP3ISP_AF_MODE_PEAK = 1
-};
-
-/* Red, Green, and blue pixel location in the AF windows */
-enum omap3isp_h3a_af_rgbpos {
- OMAP3ISP_AF_GR_GB_BAYER = 0, /* GR and GB as Bayer pattern */
- OMAP3ISP_AF_RG_GB_BAYER = 1, /* RG and GB as Bayer pattern */
- OMAP3ISP_AF_GR_BG_BAYER = 2, /* GR and BG as Bayer pattern */
- OMAP3ISP_AF_RG_BG_BAYER = 3, /* RG and BG as Bayer pattern */
- OMAP3ISP_AF_GG_RB_CUSTOM = 4, /* GG and RB as custom pattern */
- OMAP3ISP_AF_RB_GG_CUSTOM = 5 /* RB and GG as custom pattern */
-};
-
-/* Contains the information regarding the Horizontal Median Filter */
-struct omap3isp_h3a_af_hmf {
- __u8 enable; /* Status of Horizontal Median Filter */
- __u8 threshold; /* Threshold Value for Horizontal Median Filter */
-};
-
-/* Contains the information regarding the IIR Filters */
-struct omap3isp_h3a_af_iir {
- __u16 h_start; /* IIR horizontal start */
- __u16 coeff_set0[OMAP3ISP_AF_NUM_COEF]; /* Filter coefficient, set 0 */
- __u16 coeff_set1[OMAP3ISP_AF_NUM_COEF]; /* Filter coefficient, set 1 */
-};
-
-/* Contains the information regarding the Paxels Structure in AF Engine */
-struct omap3isp_h3a_af_paxel {
- __u16 h_start; /* Horizontal Start Position */
- __u16 v_start; /* Vertical Start Position */
- __u8 width; /* Width of the Paxel */
- __u8 height; /* Height of the Paxel */
- __u8 h_cnt; /* Horizontal Count */
- __u8 v_cnt; /* vertical Count */
- __u8 line_inc; /* Line Increment */
-};
-
-/* Contains the parameters required for hardware set up of AF Engine */
-struct omap3isp_h3a_af_config {
- /*
- * Common fields.
- * They should be the first ones and must be in the same order as in
- * ispstat_generic_config struct.
- */
- __u32 buf_size;
- __u16 config_counter;
-
- struct omap3isp_h3a_af_hmf hmf; /* HMF configurations */
- struct omap3isp_h3a_af_iir iir; /* IIR filter configurations */
- struct omap3isp_h3a_af_paxel paxel; /* Paxel parameters */
- enum omap3isp_h3a_af_rgbpos rgb_pos; /* RGB Positions */
- enum omap3isp_h3a_af_fvmode fvmode; /* Accumulator mode */
- __u8 alaw_enable; /* AF ALAW status */
-};
-
-/* ISP CCDC structs */
-
-/* Abstraction layer CCDC configurations */
-#define OMAP3ISP_CCDC_ALAW (1 << 0)
-#define OMAP3ISP_CCDC_LPF (1 << 1)
-#define OMAP3ISP_CCDC_BLCLAMP (1 << 2)
-#define OMAP3ISP_CCDC_BCOMP (1 << 3)
-#define OMAP3ISP_CCDC_FPC (1 << 4)
-#define OMAP3ISP_CCDC_CULL (1 << 5)
-#define OMAP3ISP_CCDC_CONFIG_LSC (1 << 7)
-#define OMAP3ISP_CCDC_TBL_LSC (1 << 8)
-
-#define OMAP3ISP_RGB_MAX 3
-
-/* Enumeration constants for Alaw input width */
-enum omap3isp_alaw_ipwidth {
- OMAP3ISP_ALAW_BIT12_3 = 0x3,
- OMAP3ISP_ALAW_BIT11_2 = 0x4,
- OMAP3ISP_ALAW_BIT10_1 = 0x5,
- OMAP3ISP_ALAW_BIT9_0 = 0x6
-};
-
-/**
- * struct omap3isp_ccdc_lsc_config - LSC configuration
- * @offset: Table Offset of the gain table.
- * @gain_mode_n: Vertical dimension of a paxel in LSC configuration.
- * @gain_mode_m: Horizontal dimension of a paxel in LSC configuration.
- * @gain_format: Gain table format.
- * @fmtsph: Start pixel horizontal from start of the HS sync pulse.
- * @fmtlnh: Number of pixels in horizontal direction to use for the data
- * reformatter.
- * @fmtslv: Start line from start of VS sync pulse for the data reformatter.
- * @fmtlnv: Number of lines in vertical direction for the data reformatter.
- * @initial_x: X position, in pixels, of the first active pixel in reference
- * to the first active paxel. Must be an even number.
- * @initial_y: Y position, in pixels, of the first active pixel in reference
- * to the first active paxel. Must be an even number.
- * @size: Size of LSC gain table. Filled when loaded from userspace.
- */
-struct omap3isp_ccdc_lsc_config {
- __u16 offset;
- __u8 gain_mode_n;
- __u8 gain_mode_m;
- __u8 gain_format;
- __u16 fmtsph;
- __u16 fmtlnh;
- __u16 fmtslv;
- __u16 fmtlnv;
- __u8 initial_x;
- __u8 initial_y;
- __u32 size;
-};
-
-/**
- * struct omap3isp_ccdc_bclamp - Optical & Digital black clamp subtract
- * @obgain: Optical black average gain.
- * @obstpixel: Start Pixel w.r.t. HS pulse in Optical black sample.
- * @oblines: Optical Black Sample lines.
- * @oblen: Optical Black Sample Length.
- * @dcsubval: Digital Black Clamp subtract value.
- */
-struct omap3isp_ccdc_bclamp {
- __u8 obgain;
- __u8 obstpixel;
- __u8 oblines;
- __u8 oblen;
- __u16 dcsubval;
-};
-
-/**
- * struct omap3isp_ccdc_fpc - Faulty Pixels Correction
- * @fpnum: Number of faulty pixels to be corrected in the frame.
- * @fpcaddr: Memory address of the FPC Table
- */
-struct omap3isp_ccdc_fpc {
- __u16 fpnum;
- __u32 fpcaddr;
-};
-
-/**
- * struct omap3isp_ccdc_blcomp - Black Level Compensation parameters
- * @b_mg: B/Mg pixels. 2's complement. -128 to +127.
- * @gb_g: Gb/G pixels. 2's complement. -128 to +127.
- * @gr_cy: Gr/Cy pixels. 2's complement. -128 to +127.
- * @r_ye: R/Ye pixels. 2's complement. -128 to +127.
- */
-struct omap3isp_ccdc_blcomp {
- __u8 b_mg;
- __u8 gb_g;
- __u8 gr_cy;
- __u8 r_ye;
-};
-
-/**
- * omap3isp_ccdc_culling - Culling parameters
- * @v_pattern: Vertical culling pattern.
- * @h_odd: Horizontal Culling pattern for odd lines.
- * @h_even: Horizontal Culling pattern for even lines.
- */
-struct omap3isp_ccdc_culling {
- __u8 v_pattern;
- __u16 h_odd;
- __u16 h_even;
-};
-
-/**
- * omap3isp_ccdc_update_config - CCDC configuration
- * @update: Specifies which CCDC registers should be updated.
- * @flag: Specifies which CCDC functions should be enabled.
- * @alawip: Enable/Disable A-Law compression.
- * @bclamp: Black clamp control register.
- * @blcomp: Black level compensation value for RGrGbB Pixels. 2's complement.
- * @fpc: Number of faulty pixels corrected in the frame, address of FPC table.
- * @cull: Cull control register.
- * @lsc: Pointer to LSC gain table.
- */
-struct omap3isp_ccdc_update_config {
- __u16 update;
- __u16 flag;
- enum omap3isp_alaw_ipwidth alawip;
- struct omap3isp_ccdc_bclamp *bclamp;
- struct omap3isp_ccdc_blcomp *blcomp;
- struct omap3isp_ccdc_fpc *fpc;
- struct omap3isp_ccdc_lsc_config *lsc_cfg;
- struct omap3isp_ccdc_culling *cull;
- __u8 *lsc;
-};
-
-/* Preview configurations */
-#define OMAP3ISP_PREV_LUMAENH (1 << 0)
-#define OMAP3ISP_PREV_INVALAW (1 << 1)
-#define OMAP3ISP_PREV_HRZ_MED (1 << 2)
-#define OMAP3ISP_PREV_CFA (1 << 3)
-#define OMAP3ISP_PREV_CHROMA_SUPP (1 << 4)
-#define OMAP3ISP_PREV_WB (1 << 5)
-#define OMAP3ISP_PREV_BLKADJ (1 << 6)
-#define OMAP3ISP_PREV_RGB2RGB (1 << 7)
-#define OMAP3ISP_PREV_COLOR_CONV (1 << 8)
-#define OMAP3ISP_PREV_YC_LIMIT (1 << 9)
-#define OMAP3ISP_PREV_DEFECT_COR (1 << 10)
-/* Bit 11 was OMAP3ISP_PREV_GAMMABYPASS, now merged with OMAP3ISP_PREV_GAMMA */
-#define OMAP3ISP_PREV_DRK_FRM_CAPTURE (1 << 12)
-#define OMAP3ISP_PREV_DRK_FRM_SUBTRACT (1 << 13)
-#define OMAP3ISP_PREV_LENS_SHADING (1 << 14)
-#define OMAP3ISP_PREV_NF (1 << 15)
-#define OMAP3ISP_PREV_GAMMA (1 << 16)
-
-#define OMAP3ISP_PREV_NF_TBL_SIZE 64
-#define OMAP3ISP_PREV_CFA_TBL_SIZE 576
-#define OMAP3ISP_PREV_CFA_BLK_SIZE (OMAP3ISP_PREV_CFA_TBL_SIZE / 4)
-#define OMAP3ISP_PREV_GAMMA_TBL_SIZE 1024
-#define OMAP3ISP_PREV_YENH_TBL_SIZE 128
-
-#define OMAP3ISP_PREV_DETECT_CORRECT_CHANNELS 4
-
-/**
- * struct omap3isp_prev_hmed - Horizontal Median Filter
- * @odddist: Distance between consecutive pixels of same color in the odd line.
- * @evendist: Distance between consecutive pixels of same color in the even
- * line.
- * @thres: Horizontal median filter threshold.
- */
-struct omap3isp_prev_hmed {
- __u8 odddist;
- __u8 evendist;
- __u8 thres;
-};
-
-/*
- * Enumeration for CFA Formats supported by preview
- */
-enum omap3isp_cfa_fmt {
- OMAP3ISP_CFAFMT_BAYER,
- OMAP3ISP_CFAFMT_SONYVGA,
- OMAP3ISP_CFAFMT_RGBFOVEON,
- OMAP3ISP_CFAFMT_DNSPL,
- OMAP3ISP_CFAFMT_HONEYCOMB,
- OMAP3ISP_CFAFMT_RRGGBBFOVEON
-};
-
-/**
- * struct omap3isp_prev_cfa - CFA Interpolation
- * @format: CFA Format Enum value supported by preview.
- * @gradthrs_vert: CFA Gradient Threshold - Vertical.
- * @gradthrs_horz: CFA Gradient Threshold - Horizontal.
- * @table: Pointer to the CFA table.
- */
-struct omap3isp_prev_cfa {
- enum omap3isp_cfa_fmt format;
- __u8 gradthrs_vert;
- __u8 gradthrs_horz;
- __u32 table[4][OMAP3ISP_PREV_CFA_BLK_SIZE];
-};
-
-/**
- * struct omap3isp_prev_csup - Chrominance Suppression
- * @gain: Gain.
- * @thres: Threshold.
- * @hypf_en: Flag to enable/disable the High Pass Filter.
- */
-struct omap3isp_prev_csup {
- __u8 gain;
- __u8 thres;
- __u8 hypf_en;
-};
-
-/**
- * struct omap3isp_prev_wbal - White Balance
- * @dgain: Digital gain (U10Q8).
- * @coef3: White balance gain - COEF 3 (U8Q5).
- * @coef2: White balance gain - COEF 2 (U8Q5).
- * @coef1: White balance gain - COEF 1 (U8Q5).
- * @coef0: White balance gain - COEF 0 (U8Q5).
- */
-struct omap3isp_prev_wbal {
- __u16 dgain;
- __u8 coef3;
- __u8 coef2;
- __u8 coef1;
- __u8 coef0;
-};
-
-/**
- * struct omap3isp_prev_blkadj - Black Level Adjustment
- * @red: Black level offset adjustment for Red in 2's complement format
- * @green: Black level offset adjustment for Green in 2's complement format
- * @blue: Black level offset adjustment for Blue in 2's complement format
- */
-struct omap3isp_prev_blkadj {
- /*Black level offset adjustment for Red in 2's complement format */
- __u8 red;
- /*Black level offset adjustment for Green in 2's complement format */
- __u8 green;
- /* Black level offset adjustment for Blue in 2's complement format */
- __u8 blue;
-};
-
-/**
- * struct omap3isp_prev_rgbtorgb - RGB to RGB Blending
- * @matrix: Blending values(S12Q8 format)
- * [RR] [GR] [BR]
- * [RG] [GG] [BG]
- * [RB] [GB] [BB]
- * @offset: Blending offset value for R,G,B in 2's complement integer format.
- */
-struct omap3isp_prev_rgbtorgb {
- __u16 matrix[OMAP3ISP_RGB_MAX][OMAP3ISP_RGB_MAX];
- __u16 offset[OMAP3ISP_RGB_MAX];
-};
-
-/**
- * struct omap3isp_prev_csc - Color Space Conversion from RGB-YCbYCr
- * @matrix: Color space conversion coefficients(S10Q8)
- * [CSCRY] [CSCGY] [CSCBY]
- * [CSCRCB] [CSCGCB] [CSCBCB]
- * [CSCRCR] [CSCGCR] [CSCBCR]
- * @offset: CSC offset values for Y offset, CB offset and CR offset respectively
- */
-struct omap3isp_prev_csc {
- __u16 matrix[OMAP3ISP_RGB_MAX][OMAP3ISP_RGB_MAX];
- __s16 offset[OMAP3ISP_RGB_MAX];
-};
-
-/**
- * struct omap3isp_prev_yclimit - Y, C Value Limit
- * @minC: Minimum C value
- * @maxC: Maximum C value
- * @minY: Minimum Y value
- * @maxY: Maximum Y value
- */
-struct omap3isp_prev_yclimit {
- __u8 minC;
- __u8 maxC;
- __u8 minY;
- __u8 maxY;
-};
-
-/**
- * struct omap3isp_prev_dcor - Defect correction
- * @couplet_mode_en: Flag to enable or disable the couplet dc Correction in NF
- * @detect_correct: Thresholds for correction bit 0:10 detect 16:25 correct
- */
-struct omap3isp_prev_dcor {
- __u8 couplet_mode_en;
- __u32 detect_correct[OMAP3ISP_PREV_DETECT_CORRECT_CHANNELS];
-};
-
-/**
- * struct omap3isp_prev_nf - Noise Filter
- * @spread: Spread value to be used in Noise Filter
- * @table: Pointer to the Noise Filter table
- */
-struct omap3isp_prev_nf {
- __u8 spread;
- __u32 table[OMAP3ISP_PREV_NF_TBL_SIZE];
-};
-
-/**
- * struct omap3isp_prev_gtables - Gamma correction tables
- * @red: Array for red gamma table.
- * @green: Array for green gamma table.
- * @blue: Array for blue gamma table.
- */
-struct omap3isp_prev_gtables {
- __u32 red[OMAP3ISP_PREV_GAMMA_TBL_SIZE];
- __u32 green[OMAP3ISP_PREV_GAMMA_TBL_SIZE];
- __u32 blue[OMAP3ISP_PREV_GAMMA_TBL_SIZE];
-};
-
-/**
- * struct omap3isp_prev_luma - Luma enhancement
- * @table: Array for luma enhancement table.
- */
-struct omap3isp_prev_luma {
- __u32 table[OMAP3ISP_PREV_YENH_TBL_SIZE];
-};
-
-/**
- * struct omap3isp_prev_update_config - Preview engine configuration (user)
- * @update: Specifies which ISP Preview registers should be updated.
- * @flag: Specifies which ISP Preview functions should be enabled.
- * @shading_shift: 3bit value of shift used in shading compensation.
- * @luma: Pointer to luma enhancement structure.
- * @hmed: Pointer to structure containing the odd and even distance.
- * between the pixels in the image along with the filter threshold.
- * @cfa: Pointer to structure containing the CFA interpolation table, CFA.
- * format in the image, vertical and horizontal gradient threshold.
- * @csup: Pointer to Structure for Chrominance Suppression coefficients.
- * @wbal: Pointer to structure for White Balance.
- * @blkadj: Pointer to structure for Black Adjustment.
- * @rgb2rgb: Pointer to structure for RGB to RGB Blending.
- * @csc: Pointer to structure for Color Space Conversion from RGB-YCbYCr.
- * @yclimit: Pointer to structure for Y, C Value Limit.
- * @dcor: Pointer to structure for defect correction.
- * @nf: Pointer to structure for Noise Filter
- * @gamma: Pointer to gamma structure.
- */
-struct omap3isp_prev_update_config {
- __u32 update;
- __u32 flag;
- __u32 shading_shift;
- struct omap3isp_prev_luma *luma;
- struct omap3isp_prev_hmed *hmed;
- struct omap3isp_prev_cfa *cfa;
- struct omap3isp_prev_csup *csup;
- struct omap3isp_prev_wbal *wbal;
- struct omap3isp_prev_blkadj *blkadj;
- struct omap3isp_prev_rgbtorgb *rgb2rgb;
- struct omap3isp_prev_csc *csc;
- struct omap3isp_prev_yclimit *yclimit;
- struct omap3isp_prev_dcor *dcor;
- struct omap3isp_prev_nf *nf;
- struct omap3isp_prev_gtables *gamma;
-};
-
-#endif /* OMAP3_ISP_USER_H */
diff --git a/linux-headers/include/linux/omapfb.h b/linux-headers/include/linux/omapfb.h
deleted file mode 100644
index 9563f61..0000000
--- a/linux-headers/include/linux/omapfb.h
+++ /dev/null
@@ -1,222 +0,0 @@
-/*
- * File: include/linux/omapfb.h
- *
- * Framebuffer driver for TI OMAP boards
- *
- * Copyright (C) 2004 Nokia Corporation
- * Author: Imre Deak <imre.deak@nokia.com>
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2 of the License, or (at your
- * option) any later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef __LINUX_OMAPFB_H__
-#define __LINUX_OMAPFB_H__
-
-#include <linux/fb.h>
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/* IOCTL commands. */
-
-#define OMAP_IOW(num, dtype) _IOW('O', num, dtype)
-#define OMAP_IOR(num, dtype) _IOR('O', num, dtype)
-#define OMAP_IOWR(num, dtype) _IOWR('O', num, dtype)
-#define OMAP_IO(num) _IO('O', num)
-
-#define OMAPFB_MIRROR OMAP_IOW(31, int)
-#define OMAPFB_SYNC_GFX OMAP_IO(37)
-#define OMAPFB_VSYNC OMAP_IO(38)
-#define OMAPFB_SET_UPDATE_MODE OMAP_IOW(40, int)
-#define OMAPFB_GET_CAPS OMAP_IOR(42, struct omapfb_caps)
-#define OMAPFB_GET_UPDATE_MODE OMAP_IOW(43, int)
-#define OMAPFB_LCD_TEST OMAP_IOW(45, int)
-#define OMAPFB_CTRL_TEST OMAP_IOW(46, int)
-#define OMAPFB_UPDATE_WINDOW_OLD OMAP_IOW(47, struct omapfb_update_window_old)
-#define OMAPFB_SET_COLOR_KEY OMAP_IOW(50, struct omapfb_color_key)
-#define OMAPFB_GET_COLOR_KEY OMAP_IOW(51, struct omapfb_color_key)
-#define OMAPFB_SETUP_PLANE OMAP_IOW(52, struct omapfb_plane_info)
-#define OMAPFB_QUERY_PLANE OMAP_IOW(53, struct omapfb_plane_info)
-#define OMAPFB_UPDATE_WINDOW OMAP_IOW(54, struct omapfb_update_window)
-#define OMAPFB_SETUP_MEM OMAP_IOW(55, struct omapfb_mem_info)
-#define OMAPFB_QUERY_MEM OMAP_IOW(56, struct omapfb_mem_info)
-#define OMAPFB_WAITFORVSYNC OMAP_IO(57)
-#define OMAPFB_MEMORY_READ OMAP_IOR(58, struct omapfb_memory_read)
-#define OMAPFB_GET_OVERLAY_COLORMODE OMAP_IOR(59, struct omapfb_ovl_colormode)
-#define OMAPFB_WAITFORGO OMAP_IO(60)
-#define OMAPFB_GET_VRAM_INFO OMAP_IOR(61, struct omapfb_vram_info)
-#define OMAPFB_SET_TEARSYNC OMAP_IOW(62, struct omapfb_tearsync_info)
-#define OMAPFB_GET_DISPLAY_INFO OMAP_IOR(63, struct omapfb_display_info)
-
-#define OMAPFB_CAPS_GENERIC_MASK 0x00000fff
-#define OMAPFB_CAPS_LCDC_MASK 0x00fff000
-#define OMAPFB_CAPS_PANEL_MASK 0xff000000
-
-#define OMAPFB_CAPS_MANUAL_UPDATE 0x00001000
-#define OMAPFB_CAPS_TEARSYNC 0x00002000
-#define OMAPFB_CAPS_PLANE_RELOCATE_MEM 0x00004000
-#define OMAPFB_CAPS_PLANE_SCALE 0x00008000
-#define OMAPFB_CAPS_WINDOW_PIXEL_DOUBLE 0x00010000
-#define OMAPFB_CAPS_WINDOW_SCALE 0x00020000
-#define OMAPFB_CAPS_WINDOW_OVERLAY 0x00040000
-#define OMAPFB_CAPS_WINDOW_ROTATE 0x00080000
-#define OMAPFB_CAPS_SET_BACKLIGHT 0x01000000
-
-/* Values from DSP must map to lower 16-bits */
-#define OMAPFB_FORMAT_MASK 0x00ff
-#define OMAPFB_FORMAT_FLAG_DOUBLE 0x0100
-#define OMAPFB_FORMAT_FLAG_TEARSYNC 0x0200
-#define OMAPFB_FORMAT_FLAG_FORCE_VSYNC 0x0400
-#define OMAPFB_FORMAT_FLAG_ENABLE_OVERLAY 0x0800
-#define OMAPFB_FORMAT_FLAG_DISABLE_OVERLAY 0x1000
-
-#define OMAPFB_MEMTYPE_SDRAM 0
-#define OMAPFB_MEMTYPE_SRAM 1
-#define OMAPFB_MEMTYPE_MAX 1
-
-#define OMAPFB_MEM_IDX_ENABLED 0x80
-#define OMAPFB_MEM_IDX_MASK 0x7f
-
-enum omapfb_color_format {
- OMAPFB_COLOR_RGB565 = 0,
- OMAPFB_COLOR_YUV422,
- OMAPFB_COLOR_YUV420,
- OMAPFB_COLOR_CLUT_8BPP,
- OMAPFB_COLOR_CLUT_4BPP,
- OMAPFB_COLOR_CLUT_2BPP,
- OMAPFB_COLOR_CLUT_1BPP,
- OMAPFB_COLOR_RGB444,
- OMAPFB_COLOR_YUY422,
-
- OMAPFB_COLOR_ARGB16,
- OMAPFB_COLOR_RGB24U, /* RGB24, 32-bit container */
- OMAPFB_COLOR_RGB24P, /* RGB24, 24-bit container */
- OMAPFB_COLOR_ARGB32,
- OMAPFB_COLOR_RGBA32,
- OMAPFB_COLOR_RGBX32,
-};
-
-struct omapfb_update_window {
- __u32 x, y;
- __u32 width, height;
- __u32 format;
- __u32 out_x, out_y;
- __u32 out_width, out_height;
- __u32 reserved[8];
-};
-
-struct omapfb_update_window_old {
- __u32 x, y;
- __u32 width, height;
- __u32 format;
-};
-
-enum omapfb_plane {
- OMAPFB_PLANE_GFX = 0,
- OMAPFB_PLANE_VID1,
- OMAPFB_PLANE_VID2,
-};
-
-enum omapfb_channel_out {
- OMAPFB_CHANNEL_OUT_LCD = 0,
- OMAPFB_CHANNEL_OUT_DIGIT,
-};
-
-struct omapfb_plane_info {
- __u32 pos_x;
- __u32 pos_y;
- __u8 enabled;
- __u8 channel_out;
- __u8 mirror;
- __u8 mem_idx;
- __u32 out_width;
- __u32 out_height;
- __u32 reserved2[12];
-};
-
-struct omapfb_mem_info {
- __u32 size;
- __u8 type;
- __u8 reserved[3];
-};
-
-struct omapfb_caps {
- __u32 ctrl;
- __u32 plane_color;
- __u32 wnd_color;
-};
-
-enum omapfb_color_key_type {
- OMAPFB_COLOR_KEY_DISABLED = 0,
- OMAPFB_COLOR_KEY_GFX_DST,
- OMAPFB_COLOR_KEY_VID_SRC,
-};
-
-struct omapfb_color_key {
- __u8 channel_out;
- __u32 background;
- __u32 trans_key;
- __u8 key_type;
-};
-
-enum omapfb_update_mode {
- OMAPFB_UPDATE_DISABLED = 0,
- OMAPFB_AUTO_UPDATE,
- OMAPFB_MANUAL_UPDATE
-};
-
-struct omapfb_memory_read {
- __u16 x;
- __u16 y;
- __u16 w;
- __u16 h;
- size_t buffer_size;
- void *buffer;
-};
-
-struct omapfb_ovl_colormode {
- __u8 overlay_idx;
- __u8 mode_idx;
- __u32 bits_per_pixel;
- __u32 nonstd;
- struct fb_bitfield red;
- struct fb_bitfield green;
- struct fb_bitfield blue;
- struct fb_bitfield transp;
-};
-
-struct omapfb_vram_info {
- __u32 total;
- __u32 free;
- __u32 largest_free_block;
- __u32 reserved[5];
-};
-
-struct omapfb_tearsync_info {
- __u8 enabled;
- __u8 reserved1[3];
- __u16 line;
- __u16 reserved2;
-};
-
-struct omapfb_display_info {
- __u16 xres;
- __u16 yres;
- __u32 width; /* phys width of the display in micrometers */
- __u32 height; /* phys height of the display in micrometers */
- __u32 reserved[5];
-};
-
-
-#endif /* __LINUX_OMAPFB_H__ */
diff --git a/linux-headers/include/linux/oom.h b/linux-headers/include/linux/oom.h
deleted file mode 100644
index ca6c46e..0000000
--- a/linux-headers/include/linux/oom.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __INCLUDE_LINUX_OOM_H
-#define __INCLUDE_LINUX_OOM_H
-
-/*
- * /proc/<pid>/oom_score_adj set to OOM_SCORE_ADJ_MIN disables oom killing for
- * pid.
- */
-#define OOM_SCORE_ADJ_MIN (-1000)
-#define OOM_SCORE_ADJ_MAX 1000
-
-/*
- * /proc/<pid>/oom_adj set to -17 protects from the oom killer for legacy
- * purposes.
- */
-#define OOM_DISABLE (-17)
-/* inclusive */
-#define OOM_ADJUST_MIN (-16)
-#define OOM_ADJUST_MAX 15
-
-#endif /* __INCLUDE_LINUX_OOM_H */
diff --git a/linux-headers/include/linux/openvswitch.h b/linux-headers/include/linux/openvswitch.h
deleted file mode 100644
index 1d70732..0000000
--- a/linux-headers/include/linux/openvswitch.h
+++ /dev/null
@@ -1,760 +0,0 @@
-
-/*
- * Copyright (c) 2007-2013 Nicira, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of version 2 of the GNU General Public
- * License as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301, USA
- */
-
-#ifndef __LINUX_OPENVSWITCH_H
-#define __LINUX_OPENVSWITCH_H 1
-
-#include <linux/types.h>
-#include <linux/if_ether.h>
-
-/**
- * struct ovs_header - header for OVS Generic Netlink messages.
- * @dp_ifindex: ifindex of local port for datapath (0 to make a request not
- * specific to a datapath).
- *
- * Attributes following the header are specific to a particular OVS Generic
- * Netlink family, but all of the OVS families use this header.
- */
-
-struct ovs_header {
- int dp_ifindex;
-};
-
-/* Datapaths. */
-
-#define OVS_DATAPATH_FAMILY "ovs_datapath"
-#define OVS_DATAPATH_MCGROUP "ovs_datapath"
-
-/* V2:
- * - API users are expected to provide OVS_DP_ATTR_USER_FEATURES
- * when creating the datapath.
- */
-#define OVS_DATAPATH_VERSION 2
-
-/* First OVS datapath version to support features */
-#define OVS_DP_VER_FEATURES 2
-
-enum ovs_datapath_cmd {
- OVS_DP_CMD_UNSPEC,
- OVS_DP_CMD_NEW,
- OVS_DP_CMD_DEL,
- OVS_DP_CMD_GET,
- OVS_DP_CMD_SET
-};
-
-/**
- * enum ovs_datapath_attr - attributes for %OVS_DP_* commands.
- * @OVS_DP_ATTR_NAME: Name of the network device that serves as the "local
- * port". This is the name of the network device whose dp_ifindex is given in
- * the &struct ovs_header. Always present in notifications. Required in
- * %OVS_DP_NEW requests. May be used as an alternative to specifying
- * dp_ifindex in other requests (with a dp_ifindex of 0).
- * @OVS_DP_ATTR_UPCALL_PID: The Netlink socket in userspace that is initially
- * set on the datapath port (for OVS_ACTION_ATTR_MISS). Only valid on
- * %OVS_DP_CMD_NEW requests. A value of zero indicates that upcalls should
- * not be sent.
- * @OVS_DP_ATTR_STATS: Statistics about packets that have passed through the
- * datapath. Always present in notifications.
- * @OVS_DP_ATTR_MEGAFLOW_STATS: Statistics about mega flow masks usage for the
- * datapath. Always present in notifications.
- *
- * These attributes follow the &struct ovs_header within the Generic Netlink
- * payload for %OVS_DP_* commands.
- */
-enum ovs_datapath_attr {
- OVS_DP_ATTR_UNSPEC,
- OVS_DP_ATTR_NAME, /* name of dp_ifindex netdev */
- OVS_DP_ATTR_UPCALL_PID, /* Netlink PID to receive upcalls */
- OVS_DP_ATTR_STATS, /* struct ovs_dp_stats */
- OVS_DP_ATTR_MEGAFLOW_STATS, /* struct ovs_dp_megaflow_stats */
- OVS_DP_ATTR_USER_FEATURES, /* OVS_DP_F_* */
- __OVS_DP_ATTR_MAX
-};
-
-#define OVS_DP_ATTR_MAX (__OVS_DP_ATTR_MAX - 1)
-
-struct ovs_dp_stats {
- __u64 n_hit; /* Number of flow table matches. */
- __u64 n_missed; /* Number of flow table misses. */
- __u64 n_lost; /* Number of misses not sent to userspace. */
- __u64 n_flows; /* Number of flows present */
-};
-
-struct ovs_dp_megaflow_stats {
- __u64 n_mask_hit; /* Number of masks used for flow lookups. */
- __u32 n_masks; /* Number of masks for the datapath. */
- __u32 pad0; /* Pad for future expension. */
- __u64 pad1; /* Pad for future expension. */
- __u64 pad2; /* Pad for future expension. */
-};
-
-struct ovs_vport_stats {
- __u64 rx_packets; /* total packets received */
- __u64 tx_packets; /* total packets transmitted */
- __u64 rx_bytes; /* total bytes received */
- __u64 tx_bytes; /* total bytes transmitted */
- __u64 rx_errors; /* bad packets received */
- __u64 tx_errors; /* packet transmit problems */
- __u64 rx_dropped; /* no space in linux buffers */
- __u64 tx_dropped; /* no space available in linux */
-};
-
-/* Allow last Netlink attribute to be unaligned */
-#define OVS_DP_F_UNALIGNED (1 << 0)
-
-/* Allow datapath to associate multiple Netlink PIDs to each vport */
-#define OVS_DP_F_VPORT_PIDS (1 << 1)
-
-/* Fixed logical ports. */
-#define OVSP_LOCAL ((__u32)0)
-
-/* Packet transfer. */
-
-#define OVS_PACKET_FAMILY "ovs_packet"
-#define OVS_PACKET_VERSION 0x1
-
-enum ovs_packet_cmd {
- OVS_PACKET_CMD_UNSPEC,
-
- /* Kernel-to-user notifications. */
- OVS_PACKET_CMD_MISS, /* Flow table miss. */
- OVS_PACKET_CMD_ACTION, /* OVS_ACTION_ATTR_USERSPACE action. */
-
- /* Userspace commands. */
- OVS_PACKET_CMD_EXECUTE /* Apply actions to a packet. */
-};
-
-/**
- * enum ovs_packet_attr - attributes for %OVS_PACKET_* commands.
- * @OVS_PACKET_ATTR_PACKET: Present for all notifications. Contains the entire
- * packet as received, from the start of the Ethernet header onward. For
- * %OVS_PACKET_CMD_ACTION, %OVS_PACKET_ATTR_PACKET reflects changes made by
- * actions preceding %OVS_ACTION_ATTR_USERSPACE, but %OVS_PACKET_ATTR_KEY is
- * the flow key extracted from the packet as originally received.
- * @OVS_PACKET_ATTR_KEY: Present for all notifications. Contains the flow key
- * extracted from the packet as nested %OVS_KEY_ATTR_* attributes. This allows
- * userspace to adapt its flow setup strategy by comparing its notion of the
- * flow key against the kernel's.
- * @OVS_PACKET_ATTR_ACTIONS: Contains actions for the packet. Used
- * for %OVS_PACKET_CMD_EXECUTE. It has nested %OVS_ACTION_ATTR_* attributes.
- * Also used in upcall when %OVS_ACTION_ATTR_USERSPACE has optional
- * %OVS_USERSPACE_ATTR_ACTIONS attribute.
- * @OVS_PACKET_ATTR_USERDATA: Present for an %OVS_PACKET_CMD_ACTION
- * notification if the %OVS_ACTION_ATTR_USERSPACE action specified an
- * %OVS_USERSPACE_ATTR_USERDATA attribute, with the same length and content
- * specified there.
- * @OVS_PACKET_ATTR_EGRESS_TUN_KEY: Present for an %OVS_PACKET_CMD_ACTION
- * notification if the %OVS_ACTION_ATTR_USERSPACE action specified an
- * %OVS_USERSPACE_ATTR_EGRESS_TUN_PORT attribute, which is sent only if the
- * output port is actually a tunnel port. Contains the output tunnel key
- * extracted from the packet as nested %OVS_TUNNEL_KEY_ATTR_* attributes.
- * @OVS_PACKET_ATTR_MRU: Present for an %OVS_PACKET_CMD_ACTION and
- * %OVS_PACKET_ATTR_USERSPACE action specify the Maximum received fragment
- * size.
- *
- * These attributes follow the &struct ovs_header within the Generic Netlink
- * payload for %OVS_PACKET_* commands.
- */
-enum ovs_packet_attr {
- OVS_PACKET_ATTR_UNSPEC,
- OVS_PACKET_ATTR_PACKET, /* Packet data. */
- OVS_PACKET_ATTR_KEY, /* Nested OVS_KEY_ATTR_* attributes. */
- OVS_PACKET_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */
- OVS_PACKET_ATTR_USERDATA, /* OVS_ACTION_ATTR_USERSPACE arg. */
- OVS_PACKET_ATTR_EGRESS_TUN_KEY, /* Nested OVS_TUNNEL_KEY_ATTR_*
- attributes. */
- OVS_PACKET_ATTR_UNUSED1,
- OVS_PACKET_ATTR_UNUSED2,
- OVS_PACKET_ATTR_PROBE, /* Packet operation is a feature probe,
- error logging should be suppressed. */
- OVS_PACKET_ATTR_MRU, /* Maximum received IP fragment size. */
- __OVS_PACKET_ATTR_MAX
-};
-
-#define OVS_PACKET_ATTR_MAX (__OVS_PACKET_ATTR_MAX - 1)
-
-/* Virtual ports. */
-
-#define OVS_VPORT_FAMILY "ovs_vport"
-#define OVS_VPORT_MCGROUP "ovs_vport"
-#define OVS_VPORT_VERSION 0x1
-
-enum ovs_vport_cmd {
- OVS_VPORT_CMD_UNSPEC,
- OVS_VPORT_CMD_NEW,
- OVS_VPORT_CMD_DEL,
- OVS_VPORT_CMD_GET,
- OVS_VPORT_CMD_SET
-};
-
-enum ovs_vport_type {
- OVS_VPORT_TYPE_UNSPEC,
- OVS_VPORT_TYPE_NETDEV, /* network device */
- OVS_VPORT_TYPE_INTERNAL, /* network device implemented by datapath */
- OVS_VPORT_TYPE_GRE, /* GRE tunnel. */
- OVS_VPORT_TYPE_VXLAN, /* VXLAN tunnel. */
- OVS_VPORT_TYPE_GENEVE, /* Geneve tunnel. */
- __OVS_VPORT_TYPE_MAX
-};
-
-#define OVS_VPORT_TYPE_MAX (__OVS_VPORT_TYPE_MAX - 1)
-
-/**
- * enum ovs_vport_attr - attributes for %OVS_VPORT_* commands.
- * @OVS_VPORT_ATTR_PORT_NO: 32-bit port number within datapath.
- * @OVS_VPORT_ATTR_TYPE: 32-bit %OVS_VPORT_TYPE_* constant describing the type
- * of vport.
- * @OVS_VPORT_ATTR_NAME: Name of vport. For a vport based on a network device
- * this is the name of the network device. Maximum length %IFNAMSIZ-1 bytes
- * plus a null terminator.
- * @OVS_VPORT_ATTR_OPTIONS: Vport-specific configuration information.
- * @OVS_VPORT_ATTR_UPCALL_PID: The array of Netlink socket pids in userspace
- * among which OVS_PACKET_CMD_MISS upcalls will be distributed for packets
- * received on this port. If this is a single-element array of value 0,
- * upcalls should not be sent.
- * @OVS_VPORT_ATTR_STATS: A &struct ovs_vport_stats giving statistics for
- * packets sent or received through the vport.
- *
- * These attributes follow the &struct ovs_header within the Generic Netlink
- * payload for %OVS_VPORT_* commands.
- *
- * For %OVS_VPORT_CMD_NEW requests, the %OVS_VPORT_ATTR_TYPE and
- * %OVS_VPORT_ATTR_NAME attributes are required. %OVS_VPORT_ATTR_PORT_NO is
- * optional; if not specified a free port number is automatically selected.
- * Whether %OVS_VPORT_ATTR_OPTIONS is required or optional depends on the type
- * of vport.
- *
- * For other requests, if %OVS_VPORT_ATTR_NAME is specified then it is used to
- * look up the vport to operate on; otherwise dp_idx from the &struct
- * ovs_header plus %OVS_VPORT_ATTR_PORT_NO determine the vport.
- */
-enum ovs_vport_attr {
- OVS_VPORT_ATTR_UNSPEC,
- OVS_VPORT_ATTR_PORT_NO, /* u32 port number within datapath */
- OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */
- OVS_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */
- OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */
- OVS_VPORT_ATTR_UPCALL_PID, /* array of u32 Netlink socket PIDs for */
- /* receiving upcalls */
- OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */
- __OVS_VPORT_ATTR_MAX
-};
-
-#define OVS_VPORT_ATTR_MAX (__OVS_VPORT_ATTR_MAX - 1)
-
-enum {
- OVS_VXLAN_EXT_UNSPEC,
- OVS_VXLAN_EXT_GBP, /* Flag or __u32 */
- __OVS_VXLAN_EXT_MAX,
-};
-
-#define OVS_VXLAN_EXT_MAX (__OVS_VXLAN_EXT_MAX - 1)
-
-
-/* OVS_VPORT_ATTR_OPTIONS attributes for tunnels.
- */
-enum {
- OVS_TUNNEL_ATTR_UNSPEC,
- OVS_TUNNEL_ATTR_DST_PORT, /* 16-bit UDP port, used by L4 tunnels. */
- OVS_TUNNEL_ATTR_EXTENSION,
- __OVS_TUNNEL_ATTR_MAX
-};
-
-#define OVS_TUNNEL_ATTR_MAX (__OVS_TUNNEL_ATTR_MAX - 1)
-
-/* Flows. */
-
-#define OVS_FLOW_FAMILY "ovs_flow"
-#define OVS_FLOW_MCGROUP "ovs_flow"
-#define OVS_FLOW_VERSION 0x1
-
-enum ovs_flow_cmd {
- OVS_FLOW_CMD_UNSPEC,
- OVS_FLOW_CMD_NEW,
- OVS_FLOW_CMD_DEL,
- OVS_FLOW_CMD_GET,
- OVS_FLOW_CMD_SET
-};
-
-struct ovs_flow_stats {
- __u64 n_packets; /* Number of matched packets. */
- __u64 n_bytes; /* Number of matched bytes. */
-};
-
-enum ovs_key_attr {
- OVS_KEY_ATTR_UNSPEC,
- OVS_KEY_ATTR_ENCAP, /* Nested set of encapsulated attributes. */
- OVS_KEY_ATTR_PRIORITY, /* u32 skb->priority */
- OVS_KEY_ATTR_IN_PORT, /* u32 OVS dp port number */
- OVS_KEY_ATTR_ETHERNET, /* struct ovs_key_ethernet */
- OVS_KEY_ATTR_VLAN, /* be16 VLAN TCI */
- OVS_KEY_ATTR_ETHERTYPE, /* be16 Ethernet type */
- OVS_KEY_ATTR_IPV4, /* struct ovs_key_ipv4 */
- OVS_KEY_ATTR_IPV6, /* struct ovs_key_ipv6 */
- OVS_KEY_ATTR_TCP, /* struct ovs_key_tcp */
- OVS_KEY_ATTR_UDP, /* struct ovs_key_udp */
- OVS_KEY_ATTR_ICMP, /* struct ovs_key_icmp */
- OVS_KEY_ATTR_ICMPV6, /* struct ovs_key_icmpv6 */
- OVS_KEY_ATTR_ARP, /* struct ovs_key_arp */
- OVS_KEY_ATTR_ND, /* struct ovs_key_nd */
- OVS_KEY_ATTR_SKB_MARK, /* u32 skb mark */
- OVS_KEY_ATTR_TUNNEL, /* Nested set of ovs_tunnel attributes */
- OVS_KEY_ATTR_SCTP, /* struct ovs_key_sctp */
- OVS_KEY_ATTR_TCP_FLAGS, /* be16 TCP flags. */
- OVS_KEY_ATTR_DP_HASH, /* u32 hash value. Value 0 indicates the hash
- is not computed by the datapath. */
- OVS_KEY_ATTR_RECIRC_ID, /* u32 recirc id */
- OVS_KEY_ATTR_MPLS, /* array of struct ovs_key_mpls.
- * The implementation may restrict
- * the accepted length of the array. */
- OVS_KEY_ATTR_CT_STATE, /* u32 bitmask of OVS_CS_F_* */
- OVS_KEY_ATTR_CT_ZONE, /* u16 connection tracking zone. */
- OVS_KEY_ATTR_CT_MARK, /* u32 connection tracking mark */
- OVS_KEY_ATTR_CT_LABELS, /* 16-octet connection tracking label */
-
- __OVS_KEY_ATTR_MAX
-};
-
-#define OVS_KEY_ATTR_MAX (__OVS_KEY_ATTR_MAX - 1)
-
-enum ovs_tunnel_key_attr {
- OVS_TUNNEL_KEY_ATTR_ID, /* be64 Tunnel ID */
- OVS_TUNNEL_KEY_ATTR_IPV4_SRC, /* be32 src IP address. */
- OVS_TUNNEL_KEY_ATTR_IPV4_DST, /* be32 dst IP address. */
- OVS_TUNNEL_KEY_ATTR_TOS, /* u8 Tunnel IP ToS. */
- OVS_TUNNEL_KEY_ATTR_TTL, /* u8 Tunnel IP TTL. */
- OVS_TUNNEL_KEY_ATTR_DONT_FRAGMENT, /* No argument, set DF. */
- OVS_TUNNEL_KEY_ATTR_CSUM, /* No argument. CSUM packet. */
- OVS_TUNNEL_KEY_ATTR_OAM, /* No argument. OAM frame. */
- OVS_TUNNEL_KEY_ATTR_GENEVE_OPTS, /* Array of Geneve options. */
- OVS_TUNNEL_KEY_ATTR_TP_SRC, /* be16 src Transport Port. */
- OVS_TUNNEL_KEY_ATTR_TP_DST, /* be16 dst Transport Port. */
- OVS_TUNNEL_KEY_ATTR_VXLAN_OPTS, /* Nested OVS_VXLAN_EXT_* */
- OVS_TUNNEL_KEY_ATTR_IPV6_SRC, /* struct in6_addr src IPv6 address. */
- OVS_TUNNEL_KEY_ATTR_IPV6_DST, /* struct in6_addr dst IPv6 address. */
- __OVS_TUNNEL_KEY_ATTR_MAX
-};
-
-#define OVS_TUNNEL_KEY_ATTR_MAX (__OVS_TUNNEL_KEY_ATTR_MAX - 1)
-
-/**
- * enum ovs_frag_type - IPv4 and IPv6 fragment type
- * @OVS_FRAG_TYPE_NONE: Packet is not a fragment.
- * @OVS_FRAG_TYPE_FIRST: Packet is a fragment with offset 0.
- * @OVS_FRAG_TYPE_LATER: Packet is a fragment with nonzero offset.
- *
- * Used as the @ipv4_frag in &struct ovs_key_ipv4 and as @ipv6_frag &struct
- * ovs_key_ipv6.
- */
-enum ovs_frag_type {
- OVS_FRAG_TYPE_NONE,
- OVS_FRAG_TYPE_FIRST,
- OVS_FRAG_TYPE_LATER,
- __OVS_FRAG_TYPE_MAX
-};
-
-#define OVS_FRAG_TYPE_MAX (__OVS_FRAG_TYPE_MAX - 1)
-
-struct ovs_key_ethernet {
- __u8 eth_src[ETH_ALEN];
- __u8 eth_dst[ETH_ALEN];
-};
-
-struct ovs_key_mpls {
- __be32 mpls_lse;
-};
-
-struct ovs_key_ipv4 {
- __be32 ipv4_src;
- __be32 ipv4_dst;
- __u8 ipv4_proto;
- __u8 ipv4_tos;
- __u8 ipv4_ttl;
- __u8 ipv4_frag; /* One of OVS_FRAG_TYPE_*. */
-};
-
-struct ovs_key_ipv6 {
- __be32 ipv6_src[4];
- __be32 ipv6_dst[4];
- __be32 ipv6_label; /* 20-bits in least-significant bits. */
- __u8 ipv6_proto;
- __u8 ipv6_tclass;
- __u8 ipv6_hlimit;
- __u8 ipv6_frag; /* One of OVS_FRAG_TYPE_*. */
-};
-
-struct ovs_key_tcp {
- __be16 tcp_src;
- __be16 tcp_dst;
-};
-
-struct ovs_key_udp {
- __be16 udp_src;
- __be16 udp_dst;
-};
-
-struct ovs_key_sctp {
- __be16 sctp_src;
- __be16 sctp_dst;
-};
-
-struct ovs_key_icmp {
- __u8 icmp_type;
- __u8 icmp_code;
-};
-
-struct ovs_key_icmpv6 {
- __u8 icmpv6_type;
- __u8 icmpv6_code;
-};
-
-struct ovs_key_arp {
- __be32 arp_sip;
- __be32 arp_tip;
- __be16 arp_op;
- __u8 arp_sha[ETH_ALEN];
- __u8 arp_tha[ETH_ALEN];
-};
-
-struct ovs_key_nd {
- __be32 nd_target[4];
- __u8 nd_sll[ETH_ALEN];
- __u8 nd_tll[ETH_ALEN];
-};
-
-#define OVS_CT_LABELS_LEN 16
-struct ovs_key_ct_labels {
- __u8 ct_labels[OVS_CT_LABELS_LEN];
-};
-
-/* OVS_KEY_ATTR_CT_STATE flags */
-#define OVS_CS_F_NEW 0x01 /* Beginning of a new connection. */
-#define OVS_CS_F_ESTABLISHED 0x02 /* Part of an existing connection. */
-#define OVS_CS_F_RELATED 0x04 /* Related to an established
- * connection. */
-#define OVS_CS_F_REPLY_DIR 0x08 /* Flow is in the reply direction. */
-#define OVS_CS_F_INVALID 0x10 /* Could not track connection. */
-#define OVS_CS_F_TRACKED 0x20 /* Conntrack has occurred. */
-#define OVS_CS_F_SRC_NAT 0x40 /* Packet's source address/port was
- * mangled by NAT.
- */
-#define OVS_CS_F_DST_NAT 0x80 /* Packet's destination address/port
- * was mangled by NAT.
- */
-
-#define OVS_CS_F_NAT_MASK (OVS_CS_F_SRC_NAT | OVS_CS_F_DST_NAT)
-
-/**
- * enum ovs_flow_attr - attributes for %OVS_FLOW_* commands.
- * @OVS_FLOW_ATTR_KEY: Nested %OVS_KEY_ATTR_* attributes specifying the flow
- * key. Always present in notifications. Required for all requests (except
- * dumps).
- * @OVS_FLOW_ATTR_ACTIONS: Nested %OVS_ACTION_ATTR_* attributes specifying
- * the actions to take for packets that match the key. Always present in
- * notifications. Required for %OVS_FLOW_CMD_NEW requests, optional for
- * %OVS_FLOW_CMD_SET requests. An %OVS_FLOW_CMD_SET without
- * %OVS_FLOW_ATTR_ACTIONS will not modify the actions. To clear the actions,
- * an %OVS_FLOW_ATTR_ACTIONS without any nested attributes must be given.
- * @OVS_FLOW_ATTR_STATS: &struct ovs_flow_stats giving statistics for this
- * flow. Present in notifications if the stats would be nonzero. Ignored in
- * requests.
- * @OVS_FLOW_ATTR_TCP_FLAGS: An 8-bit value giving the OR'd value of all of the
- * TCP flags seen on packets in this flow. Only present in notifications for
- * TCP flows, and only if it would be nonzero. Ignored in requests.
- * @OVS_FLOW_ATTR_USED: A 64-bit integer giving the time, in milliseconds on
- * the system monotonic clock, at which a packet was last processed for this
- * flow. Only present in notifications if a packet has been processed for this
- * flow. Ignored in requests.
- * @OVS_FLOW_ATTR_CLEAR: If present in a %OVS_FLOW_CMD_SET request, clears the
- * last-used time, accumulated TCP flags, and statistics for this flow.
- * Otherwise ignored in requests. Never present in notifications.
- * @OVS_FLOW_ATTR_MASK: Nested %OVS_KEY_ATTR_* attributes specifying the
- * mask bits for wildcarded flow match. Mask bit value '1' specifies exact
- * match with corresponding flow key bit, while mask bit value '0' specifies
- * a wildcarded match. Omitting attribute is treated as wildcarding all
- * corresponding fields. Optional for all requests. If not present,
- * all flow key bits are exact match bits.
- * @OVS_FLOW_ATTR_UFID: A value between 1-16 octets specifying a unique
- * identifier for the flow. Causes the flow to be indexed by this value rather
- * than the value of the %OVS_FLOW_ATTR_KEY attribute. Optional for all
- * requests. Present in notifications if the flow was created with this
- * attribute.
- * @OVS_FLOW_ATTR_UFID_FLAGS: A 32-bit value of OR'd %OVS_UFID_F_*
- * flags that provide alternative semantics for flow installation and
- * retrieval. Optional for all requests.
- *
- * These attributes follow the &struct ovs_header within the Generic Netlink
- * payload for %OVS_FLOW_* commands.
- */
-enum ovs_flow_attr {
- OVS_FLOW_ATTR_UNSPEC,
- OVS_FLOW_ATTR_KEY, /* Sequence of OVS_KEY_ATTR_* attributes. */
- OVS_FLOW_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */
- OVS_FLOW_ATTR_STATS, /* struct ovs_flow_stats. */
- OVS_FLOW_ATTR_TCP_FLAGS, /* 8-bit OR'd TCP flags. */
- OVS_FLOW_ATTR_USED, /* u64 msecs last used in monotonic time. */
- OVS_FLOW_ATTR_CLEAR, /* Flag to clear stats, tcp_flags, used. */
- OVS_FLOW_ATTR_MASK, /* Sequence of OVS_KEY_ATTR_* attributes. */
- OVS_FLOW_ATTR_PROBE, /* Flow operation is a feature probe, error
- * logging should be suppressed. */
- OVS_FLOW_ATTR_UFID, /* Variable length unique flow identifier. */
- OVS_FLOW_ATTR_UFID_FLAGS,/* u32 of OVS_UFID_F_*. */
- __OVS_FLOW_ATTR_MAX
-};
-
-#define OVS_FLOW_ATTR_MAX (__OVS_FLOW_ATTR_MAX - 1)
-
-/**
- * Omit attributes for notifications.
- *
- * If a datapath request contains an %OVS_UFID_F_OMIT_* flag, then the datapath
- * may omit the corresponding %OVS_FLOW_ATTR_* from the response.
- */
-#define OVS_UFID_F_OMIT_KEY (1 << 0)
-#define OVS_UFID_F_OMIT_MASK (1 << 1)
-#define OVS_UFID_F_OMIT_ACTIONS (1 << 2)
-
-/**
- * enum ovs_sample_attr - Attributes for %OVS_ACTION_ATTR_SAMPLE action.
- * @OVS_SAMPLE_ATTR_PROBABILITY: 32-bit fraction of packets to sample with
- * @OVS_ACTION_ATTR_SAMPLE. A value of 0 samples no packets, a value of
- * %UINT32_MAX samples all packets and intermediate values sample intermediate
- * fractions of packets.
- * @OVS_SAMPLE_ATTR_ACTIONS: Set of actions to execute in sampling event.
- * Actions are passed as nested attributes.
- *
- * Executes the specified actions with the given probability on a per-packet
- * basis.
- */
-enum ovs_sample_attr {
- OVS_SAMPLE_ATTR_UNSPEC,
- OVS_SAMPLE_ATTR_PROBABILITY, /* u32 number */
- OVS_SAMPLE_ATTR_ACTIONS, /* Nested OVS_ACTION_ATTR_* attributes. */
- __OVS_SAMPLE_ATTR_MAX,
-};
-
-#define OVS_SAMPLE_ATTR_MAX (__OVS_SAMPLE_ATTR_MAX - 1)
-
-/**
- * enum ovs_userspace_attr - Attributes for %OVS_ACTION_ATTR_USERSPACE action.
- * @OVS_USERSPACE_ATTR_PID: u32 Netlink PID to which the %OVS_PACKET_CMD_ACTION
- * message should be sent. Required.
- * @OVS_USERSPACE_ATTR_USERDATA: If present, its variable-length argument is
- * copied to the %OVS_PACKET_CMD_ACTION message as %OVS_PACKET_ATTR_USERDATA.
- * @OVS_USERSPACE_ATTR_EGRESS_TUN_PORT: If present, u32 output port to get
- * tunnel info.
- * @OVS_USERSPACE_ATTR_ACTIONS: If present, send actions with upcall.
- */
-enum ovs_userspace_attr {
- OVS_USERSPACE_ATTR_UNSPEC,
- OVS_USERSPACE_ATTR_PID, /* u32 Netlink PID to receive upcalls. */
- OVS_USERSPACE_ATTR_USERDATA, /* Optional user-specified cookie. */
- OVS_USERSPACE_ATTR_EGRESS_TUN_PORT, /* Optional, u32 output port
- * to get tunnel info. */
- OVS_USERSPACE_ATTR_ACTIONS, /* Optional flag to get actions. */
- __OVS_USERSPACE_ATTR_MAX
-};
-
-#define OVS_USERSPACE_ATTR_MAX (__OVS_USERSPACE_ATTR_MAX - 1)
-
-/**
- * struct ovs_action_push_mpls - %OVS_ACTION_ATTR_PUSH_MPLS action argument.
- * @mpls_lse: MPLS label stack entry to push.
- * @mpls_ethertype: Ethertype to set in the encapsulating ethernet frame.
- *
- * The only values @mpls_ethertype should ever be given are %ETH_P_MPLS_UC and
- * %ETH_P_MPLS_MC, indicating MPLS unicast or multicast. Other are rejected.
- */
-struct ovs_action_push_mpls {
- __be32 mpls_lse;
- __be16 mpls_ethertype; /* Either %ETH_P_MPLS_UC or %ETH_P_MPLS_MC */
-};
-
-/**
- * struct ovs_action_push_vlan - %OVS_ACTION_ATTR_PUSH_VLAN action argument.
- * @vlan_tpid: Tag protocol identifier (TPID) to push.
- * @vlan_tci: Tag control identifier (TCI) to push. The CFI bit must be set
- * (but it will not be set in the 802.1Q header that is pushed).
- *
- * The @vlan_tpid value is typically %ETH_P_8021Q. The only acceptable TPID
- * values are those that the kernel module also parses as 802.1Q headers, to
- * prevent %OVS_ACTION_ATTR_PUSH_VLAN followed by %OVS_ACTION_ATTR_POP_VLAN
- * from having surprising results.
- */
-struct ovs_action_push_vlan {
- __be16 vlan_tpid; /* 802.1Q TPID. */
- __be16 vlan_tci; /* 802.1Q TCI (VLAN ID and priority). */
-};
-
-/* Data path hash algorithm for computing Datapath hash.
- *
- * The algorithm type only specifies the fields in a flow
- * will be used as part of the hash. Each datapath is free
- * to use its own hash algorithm. The hash value will be
- * opaque to the user space daemon.
- */
-enum ovs_hash_alg {
- OVS_HASH_ALG_L4,
-};
-
-/*
- * struct ovs_action_hash - %OVS_ACTION_ATTR_HASH action argument.
- * @hash_alg: Algorithm used to compute hash prior to recirculation.
- * @hash_basis: basis used for computing hash.
- */
-struct ovs_action_hash {
- uint32_t hash_alg; /* One of ovs_hash_alg. */
- uint32_t hash_basis;
-};
-
-/**
- * enum ovs_ct_attr - Attributes for %OVS_ACTION_ATTR_CT action.
- * @OVS_CT_ATTR_COMMIT: If present, commits the connection to the conntrack
- * table. This allows future packets for the same connection to be identified
- * as 'established' or 'related'. The flow key for the current packet will
- * retain the pre-commit connection state.
- * @OVS_CT_ATTR_ZONE: u16 connection tracking zone.
- * @OVS_CT_ATTR_MARK: u32 value followed by u32 mask. For each bit set in the
- * mask, the corresponding bit in the value is copied to the connection
- * tracking mark field in the connection.
- * @OVS_CT_ATTR_LABELS: %OVS_CT_LABELS_LEN value followed by %OVS_CT_LABELS_LEN
- * mask. For each bit set in the mask, the corresponding bit in the value is
- * copied to the connection tracking label field in the connection.
- * @OVS_CT_ATTR_HELPER: variable length string defining conntrack ALG.
- * @OVS_CT_ATTR_NAT: Nested OVS_NAT_ATTR_* for performing L3 network address
- * translation (NAT) on the packet.
- */
-enum ovs_ct_attr {
- OVS_CT_ATTR_UNSPEC,
- OVS_CT_ATTR_COMMIT, /* No argument, commits connection. */
- OVS_CT_ATTR_ZONE, /* u16 zone id. */
- OVS_CT_ATTR_MARK, /* mark to associate with this connection. */
- OVS_CT_ATTR_LABELS, /* labels to associate with this connection. */
- OVS_CT_ATTR_HELPER, /* netlink helper to assist detection of
- related connections. */
- OVS_CT_ATTR_NAT, /* Nested OVS_NAT_ATTR_* */
- __OVS_CT_ATTR_MAX
-};
-
-#define OVS_CT_ATTR_MAX (__OVS_CT_ATTR_MAX - 1)
-
-/**
- * enum ovs_nat_attr - Attributes for %OVS_CT_ATTR_NAT.
- *
- * @OVS_NAT_ATTR_SRC: Flag for Source NAT (mangle source address/port).
- * @OVS_NAT_ATTR_DST: Flag for Destination NAT (mangle destination
- * address/port). Only one of (@OVS_NAT_ATTR_SRC, @OVS_NAT_ATTR_DST) may be
- * specified. Effective only for packets for ct_state NEW connections.
- * Packets of committed connections are mangled by the NAT action according to
- * the committed NAT type regardless of the flags specified. As a corollary, a
- * NAT action without a NAT type flag will only mangle packets of committed
- * connections. The following NAT attributes only apply for NEW
- * (non-committed) connections, and they may be included only when the CT
- * action has the @OVS_CT_ATTR_COMMIT flag and either @OVS_NAT_ATTR_SRC or
- * @OVS_NAT_ATTR_DST is also included.
- * @OVS_NAT_ATTR_IP_MIN: struct in_addr or struct in6_addr
- * @OVS_NAT_ATTR_IP_MAX: struct in_addr or struct in6_addr
- * @OVS_NAT_ATTR_PROTO_MIN: u16 L4 protocol specific lower boundary (port)
- * @OVS_NAT_ATTR_PROTO_MAX: u16 L4 protocol specific upper boundary (port)
- * @OVS_NAT_ATTR_PERSISTENT: Flag for persistent IP mapping across reboots
- * @OVS_NAT_ATTR_PROTO_HASH: Flag for pseudo random L4 port mapping (MD5)
- * @OVS_NAT_ATTR_PROTO_RANDOM: Flag for fully randomized L4 port mapping
- */
-enum ovs_nat_attr {
- OVS_NAT_ATTR_UNSPEC,
- OVS_NAT_ATTR_SRC,
- OVS_NAT_ATTR_DST,
- OVS_NAT_ATTR_IP_MIN,
- OVS_NAT_ATTR_IP_MAX,
- OVS_NAT_ATTR_PROTO_MIN,
- OVS_NAT_ATTR_PROTO_MAX,
- OVS_NAT_ATTR_PERSISTENT,
- OVS_NAT_ATTR_PROTO_HASH,
- OVS_NAT_ATTR_PROTO_RANDOM,
- __OVS_NAT_ATTR_MAX,
-};
-
-#define OVS_NAT_ATTR_MAX (__OVS_NAT_ATTR_MAX - 1)
-
-/**
- * enum ovs_action_attr - Action types.
- *
- * @OVS_ACTION_ATTR_OUTPUT: Output packet to port.
- * @OVS_ACTION_ATTR_USERSPACE: Send packet to userspace according to nested
- * %OVS_USERSPACE_ATTR_* attributes.
- * @OVS_ACTION_ATTR_SET: Replaces the contents of an existing header. The
- * single nested %OVS_KEY_ATTR_* attribute specifies a header to modify and its
- * value.
- * @OVS_ACTION_ATTR_SET_MASKED: Replaces the contents of an existing header. A
- * nested %OVS_KEY_ATTR_* attribute specifies a header to modify, its value,
- * and a mask. For every bit set in the mask, the corresponding bit value
- * is copied from the value to the packet header field, rest of the bits are
- * left unchanged. The non-masked value bits must be passed in as zeroes.
- * Masking is not supported for the %OVS_KEY_ATTR_TUNNEL attribute.
- * @OVS_ACTION_ATTR_PUSH_VLAN: Push a new outermost 802.1Q header onto the
- * packet.
- * @OVS_ACTION_ATTR_POP_VLAN: Pop the outermost 802.1Q header off the packet.
- * @OVS_ACTION_ATTR_SAMPLE: Probabilitically executes actions, as specified in
- * the nested %OVS_SAMPLE_ATTR_* attributes.
- * @OVS_ACTION_ATTR_PUSH_MPLS: Push a new MPLS label stack entry onto the
- * top of the packets MPLS label stack. Set the ethertype of the
- * encapsulating frame to either %ETH_P_MPLS_UC or %ETH_P_MPLS_MC to
- * indicate the new packet contents.
- * @OVS_ACTION_ATTR_POP_MPLS: Pop an MPLS label stack entry off of the
- * packet's MPLS label stack. Set the encapsulating frame's ethertype to
- * indicate the new packet contents. This could potentially still be
- * %ETH_P_MPLS if the resulting MPLS label stack is not empty. If there
- * is no MPLS label stack, as determined by ethertype, no action is taken.
- * @OVS_ACTION_ATTR_CT: Track the connection. Populate the conntrack-related
- * entries in the flow key.
- *
- * Only a single header can be set with a single %OVS_ACTION_ATTR_SET. Not all
- * fields within a header are modifiable, e.g. the IPv4 protocol and fragment
- * type may not be changed.
- *
- * @OVS_ACTION_ATTR_SET_TO_MASKED: Kernel internal masked set action translated
- * from the @OVS_ACTION_ATTR_SET.
- */
-
-enum ovs_action_attr {
- OVS_ACTION_ATTR_UNSPEC,
- OVS_ACTION_ATTR_OUTPUT, /* u32 port number. */
- OVS_ACTION_ATTR_USERSPACE, /* Nested OVS_USERSPACE_ATTR_*. */
- OVS_ACTION_ATTR_SET, /* One nested OVS_KEY_ATTR_*. */
- OVS_ACTION_ATTR_PUSH_VLAN, /* struct ovs_action_push_vlan. */
- OVS_ACTION_ATTR_POP_VLAN, /* No argument. */
- OVS_ACTION_ATTR_SAMPLE, /* Nested OVS_SAMPLE_ATTR_*. */
- OVS_ACTION_ATTR_RECIRC, /* u32 recirc_id. */
- OVS_ACTION_ATTR_HASH, /* struct ovs_action_hash. */
- OVS_ACTION_ATTR_PUSH_MPLS, /* struct ovs_action_push_mpls. */
- OVS_ACTION_ATTR_POP_MPLS, /* __be16 ethertype. */
- OVS_ACTION_ATTR_SET_MASKED, /* One nested OVS_KEY_ATTR_* including
- * data immediately followed by a mask.
- * The data must be zero for the unmasked
- * bits. */
- OVS_ACTION_ATTR_CT, /* Nested OVS_CT_ATTR_* . */
-
- __OVS_ACTION_ATTR_MAX, /* Nothing past this will be accepted
- * from userspace. */
-
-};
-
-#define OVS_ACTION_ATTR_MAX (__OVS_ACTION_ATTR_MAX - 1)
-
-#endif /* _LINUX_OPENVSWITCH_H */
diff --git a/linux-headers/include/linux/packet_diag.h b/linux-headers/include/linux/packet_diag.h
deleted file mode 100644
index d08c63f..0000000
--- a/linux-headers/include/linux/packet_diag.h
+++ /dev/null
@@ -1,80 +0,0 @@
-#ifndef __PACKET_DIAG_H__
-#define __PACKET_DIAG_H__
-
-#include <linux/types.h>
-
-struct packet_diag_req {
- __u8 sdiag_family;
- __u8 sdiag_protocol;
- __u16 pad;
- __u32 pdiag_ino;
- __u32 pdiag_show;
- __u32 pdiag_cookie[2];
-};
-
-#define PACKET_SHOW_INFO 0x00000001 /* Basic packet_sk information */
-#define PACKET_SHOW_MCLIST 0x00000002 /* A set of packet_diag_mclist-s */
-#define PACKET_SHOW_RING_CFG 0x00000004 /* Rings configuration parameters */
-#define PACKET_SHOW_FANOUT 0x00000008
-#define PACKET_SHOW_MEMINFO 0x00000010
-#define PACKET_SHOW_FILTER 0x00000020
-
-struct packet_diag_msg {
- __u8 pdiag_family;
- __u8 pdiag_type;
- __u16 pdiag_num;
-
- __u32 pdiag_ino;
- __u32 pdiag_cookie[2];
-};
-
-enum {
- /* PACKET_DIAG_NONE, standard nl API requires this attribute! */
- PACKET_DIAG_INFO,
- PACKET_DIAG_MCLIST,
- PACKET_DIAG_RX_RING,
- PACKET_DIAG_TX_RING,
- PACKET_DIAG_FANOUT,
- PACKET_DIAG_UID,
- PACKET_DIAG_MEMINFO,
- PACKET_DIAG_FILTER,
-
- __PACKET_DIAG_MAX,
-};
-
-#define PACKET_DIAG_MAX (__PACKET_DIAG_MAX - 1)
-
-struct packet_diag_info {
- __u32 pdi_index;
- __u32 pdi_version;
- __u32 pdi_reserve;
- __u32 pdi_copy_thresh;
- __u32 pdi_tstamp;
- __u32 pdi_flags;
-
-#define PDI_RUNNING 0x1
-#define PDI_AUXDATA 0x2
-#define PDI_ORIGDEV 0x4
-#define PDI_VNETHDR 0x8
-#define PDI_LOSS 0x10
-};
-
-struct packet_diag_mclist {
- __u32 pdmc_index;
- __u32 pdmc_count;
- __u16 pdmc_type;
- __u16 pdmc_alen;
- __u8 pdmc_addr[MAX_ADDR_LEN];
-};
-
-struct packet_diag_ring {
- __u32 pdr_block_size;
- __u32 pdr_block_nr;
- __u32 pdr_frame_size;
- __u32 pdr_frame_nr;
- __u32 pdr_retire_tmo;
- __u32 pdr_sizeof_priv;
- __u32 pdr_features;
-};
-
-#endif
diff --git a/linux-headers/include/linux/param.h b/linux-headers/include/linux/param.h
deleted file mode 100644
index 092e92f..0000000
--- a/linux-headers/include/linux/param.h
+++ /dev/null
@@ -1,6 +0,0 @@
-#ifndef _LINUX_PARAM_H
-#define _LINUX_PARAM_H
-
-#include <asm/param.h>
-
-#endif
diff --git a/linux-headers/include/linux/parport.h b/linux-headers/include/linux/parport.h
deleted file mode 100644
index 4cd4442..0000000
--- a/linux-headers/include/linux/parport.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Any part of this program may be used in documents licensed under
- * the GNU Free Documentation License, Version 1.1 or any later version
- * published by the Free Software Foundation.
- */
-
-#ifndef _PARPORT_H_
-#define _PARPORT_H_
-
-/* Start off with user-visible constants */
-
-/* Maximum of 16 ports per machine */
-#define PARPORT_MAX 16
-
-/* Magic numbers */
-#define PARPORT_IRQ_NONE -1
-#define PARPORT_DMA_NONE -1
-#define PARPORT_IRQ_AUTO -2
-#define PARPORT_DMA_AUTO -2
-#define PARPORT_DMA_NOFIFO -3
-#define PARPORT_DISABLE -2
-#define PARPORT_IRQ_PROBEONLY -3
-#define PARPORT_IOHI_AUTO -1
-
-#define PARPORT_CONTROL_STROBE 0x1
-#define PARPORT_CONTROL_AUTOFD 0x2
-#define PARPORT_CONTROL_INIT 0x4
-#define PARPORT_CONTROL_SELECT 0x8
-
-#define PARPORT_STATUS_ERROR 0x8
-#define PARPORT_STATUS_SELECT 0x10
-#define PARPORT_STATUS_PAPEROUT 0x20
-#define PARPORT_STATUS_ACK 0x40
-#define PARPORT_STATUS_BUSY 0x80
-
-/* Type classes for Plug-and-Play probe. */
-typedef enum {
- PARPORT_CLASS_LEGACY = 0, /* Non-IEEE1284 device */
- PARPORT_CLASS_PRINTER,
- PARPORT_CLASS_MODEM,
- PARPORT_CLASS_NET,
- PARPORT_CLASS_HDC, /* Hard disk controller */
- PARPORT_CLASS_PCMCIA,
- PARPORT_CLASS_MEDIA, /* Multimedia device */
- PARPORT_CLASS_FDC, /* Floppy disk controller */
- PARPORT_CLASS_PORTS,
- PARPORT_CLASS_SCANNER,
- PARPORT_CLASS_DIGCAM,
- PARPORT_CLASS_OTHER, /* Anything else */
- PARPORT_CLASS_UNSPEC, /* No CLS field in ID */
- PARPORT_CLASS_SCSIADAPTER
-} parport_device_class;
-
-/* The "modes" entry in parport is a bit field representing the
- capabilities of the hardware. */
-#define PARPORT_MODE_PCSPP (1<<0) /* IBM PC registers available. */
-#define PARPORT_MODE_TRISTATE (1<<1) /* Can tristate. */
-#define PARPORT_MODE_EPP (1<<2) /* Hardware EPP. */
-#define PARPORT_MODE_ECP (1<<3) /* Hardware ECP. */
-#define PARPORT_MODE_COMPAT (1<<4) /* Hardware 'printer protocol'. */
-#define PARPORT_MODE_DMA (1<<5) /* Hardware can DMA. */
-#define PARPORT_MODE_SAFEININT (1<<6) /* SPP registers accessible in IRQ. */
-
-/* IEEE1284 modes:
- Nibble mode, byte mode, ECP, ECPRLE and EPP are their own
- 'extensibility request' values. Others are special.
- 'Real' ECP modes must have the IEEE1284_MODE_ECP bit set. */
-#define IEEE1284_MODE_NIBBLE 0
-#define IEEE1284_MODE_BYTE (1<<0)
-#define IEEE1284_MODE_COMPAT (1<<8)
-#define IEEE1284_MODE_BECP (1<<9) /* Bounded ECP mode */
-#define IEEE1284_MODE_ECP (1<<4)
-#define IEEE1284_MODE_ECPRLE (IEEE1284_MODE_ECP | (1<<5))
-#define IEEE1284_MODE_ECPSWE (1<<10) /* Software-emulated */
-#define IEEE1284_MODE_EPP (1<<6)
-#define IEEE1284_MODE_EPPSL (1<<11) /* EPP 1.7 */
-#define IEEE1284_MODE_EPPSWE (1<<12) /* Software-emulated */
-#define IEEE1284_DEVICEID (1<<2) /* This is a flag */
-#define IEEE1284_EXT_LINK (1<<14) /* This flag causes the
- * extensibility link to
- * be requested, using
- * bits 0-6. */
-
-/* For the benefit of parport_read/write, you can use these with
- * parport_negotiate to use address operations. They have no effect
- * other than to make parport_read/write use address transfers. */
-#define IEEE1284_ADDR (1<<13) /* This is a flag */
-#define IEEE1284_DATA 0 /* So is this */
-
-/* Flags for block transfer operations. */
-#define PARPORT_EPP_FAST (1<<0) /* Unreliable counts. */
-#define PARPORT_W91284PIC (1<<1) /* have a Warp9 w91284pic in the device */
-
-/* The rest is for the kernel only */
-#endif /* _PARPORT_H_ */
diff --git a/linux-headers/include/linux/patchkey.h b/linux-headers/include/linux/patchkey.h
deleted file mode 100644
index bb28430..0000000
--- a/linux-headers/include/linux/patchkey.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * <linux/patchkey.h> -- definition of _PATCHKEY macro
- *
- * Copyright (C) 2005 Stuart Brady
- *
- * This exists because awe_voice.h defined its own _PATCHKEY and it wasn't
- * clear whether removing this would break anything in userspace.
- *
- * Do not include this file directly. Please use <sys/soundcard.h> instead.
- * For kernel code, use <linux/soundcard.h>
- */
-
-#ifndef _LINUX_PATCHKEY_H_INDIRECT
-#error "patchkey.h included directly"
-#endif
-
-#ifndef _LINUX_PATCHKEY_H
-#define _LINUX_PATCHKEY_H
-
-/* Endian macros. */
-# include <endian.h>
-
-#if defined(__BYTE_ORDER)
-# if __BYTE_ORDER == __BIG_ENDIAN
-# define _PATCHKEY(id) (0xfd00|id)
-# elif __BYTE_ORDER == __LITTLE_ENDIAN
-# define _PATCHKEY(id) ((id<<8)|0x00fd)
-# else
-# error "could not determine byte order"
-# endif
-#endif
-
-#endif /* _LINUX_PATCHKEY_H */
diff --git a/linux-headers/include/linux/pci.h b/linux-headers/include/linux/pci.h
deleted file mode 100644
index a5bb5c7..0000000
--- a/linux-headers/include/linux/pci.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * pci.h
- *
- * PCI defines and function prototypes
- * Copyright 1994, Drew Eckhardt
- * Copyright 1997--1999 Martin Mares <mj@ucw.cz>
- *
- * For more information, please consult the following manuals (look at
- * http://www.pcisig.com/ for how to get them):
- *
- * PCI BIOS Specification
- * PCI Local Bus Specification
- * PCI to PCI Bridge Specification
- * PCI System Design Guide
- */
-
-#ifndef LINUX_PCI_H
-#define LINUX_PCI_H
-
-#include <linux/pci_regs.h> /* The pci register defines */
-
-/*
- * The PCI interface treats multi-function devices as independent
- * devices. The slot/function address of each device is encoded
- * in a single byte as follows:
- *
- * 7:3 = slot
- * 2:0 = function
- */
-#define PCI_DEVFN(slot, func) ((((slot) & 0x1f) << 3) | ((func) & 0x07))
-#define PCI_SLOT(devfn) (((devfn) >> 3) & 0x1f)
-#define PCI_FUNC(devfn) ((devfn) & 0x07)
-
-/* Ioctls for /proc/bus/pci/X/Y nodes. */
-#define PCIIOC_BASE ('P' << 24 | 'C' << 16 | 'I' << 8)
-#define PCIIOC_CONTROLLER (PCIIOC_BASE | 0x00) /* Get controller for PCI device. */
-#define PCIIOC_MMAP_IS_IO (PCIIOC_BASE | 0x01) /* Set mmap state to I/O space. */
-#define PCIIOC_MMAP_IS_MEM (PCIIOC_BASE | 0x02) /* Set mmap state to MEM space. */
-#define PCIIOC_WRITE_COMBINE (PCIIOC_BASE | 0x03) /* Enable/disable write-combining. */
-
-#endif /* LINUX_PCI_H */
diff --git a/linux-headers/include/linux/pci_regs.h b/linux-headers/include/linux/pci_regs.h
deleted file mode 100644
index 1becea8..0000000
--- a/linux-headers/include/linux/pci_regs.h
+++ /dev/null
@@ -1,949 +0,0 @@
-/*
- * pci_regs.h
- *
- * PCI standard defines
- * Copyright 1994, Drew Eckhardt
- * Copyright 1997--1999 Martin Mares <mj@ucw.cz>
- *
- * For more information, please consult the following manuals (look at
- * http://www.pcisig.com/ for how to get them):
- *
- * PCI BIOS Specification
- * PCI Local Bus Specification
- * PCI to PCI Bridge Specification
- * PCI System Design Guide
- *
- * For HyperTransport information, please consult the following manuals
- * from http://www.hypertransport.org
- *
- * The HyperTransport I/O Link Specification
- */
-
-#ifndef LINUX_PCI_REGS_H
-#define LINUX_PCI_REGS_H
-
-/*
- * Under PCI, each device has 256 bytes of configuration address space,
- * of which the first 64 bytes are standardized as follows:
- */
-#define PCI_STD_HEADER_SIZEOF 64
-#define PCI_VENDOR_ID 0x00 /* 16 bits */
-#define PCI_DEVICE_ID 0x02 /* 16 bits */
-#define PCI_COMMAND 0x04 /* 16 bits */
-#define PCI_COMMAND_IO 0x1 /* Enable response in I/O space */
-#define PCI_COMMAND_MEMORY 0x2 /* Enable response in Memory space */
-#define PCI_COMMAND_MASTER 0x4 /* Enable bus mastering */
-#define PCI_COMMAND_SPECIAL 0x8 /* Enable response to special cycles */
-#define PCI_COMMAND_INVALIDATE 0x10 /* Use memory write and invalidate */
-#define PCI_COMMAND_VGA_PALETTE 0x20 /* Enable palette snooping */
-#define PCI_COMMAND_PARITY 0x40 /* Enable parity checking */
-#define PCI_COMMAND_WAIT 0x80 /* Enable address/data stepping */
-#define PCI_COMMAND_SERR 0x100 /* Enable SERR */
-#define PCI_COMMAND_FAST_BACK 0x200 /* Enable back-to-back writes */
-#define PCI_COMMAND_INTX_DISABLE 0x400 /* INTx Emulation Disable */
-
-#define PCI_STATUS 0x06 /* 16 bits */
-#define PCI_STATUS_INTERRUPT 0x08 /* Interrupt status */
-#define PCI_STATUS_CAP_LIST 0x10 /* Support Capability List */
-#define PCI_STATUS_66MHZ 0x20 /* Support 66 MHz PCI 2.1 bus */
-#define PCI_STATUS_UDF 0x40 /* Support User Definable Features [obsolete] */
-#define PCI_STATUS_FAST_BACK 0x80 /* Accept fast-back to back */
-#define PCI_STATUS_PARITY 0x100 /* Detected parity error */
-#define PCI_STATUS_DEVSEL_MASK 0x600 /* DEVSEL timing */
-#define PCI_STATUS_DEVSEL_FAST 0x000
-#define PCI_STATUS_DEVSEL_MEDIUM 0x200
-#define PCI_STATUS_DEVSEL_SLOW 0x400
-#define PCI_STATUS_SIG_TARGET_ABORT 0x800 /* Set on target abort */
-#define PCI_STATUS_REC_TARGET_ABORT 0x1000 /* Master ack of " */
-#define PCI_STATUS_REC_MASTER_ABORT 0x2000 /* Set on master abort */
-#define PCI_STATUS_SIG_SYSTEM_ERROR 0x4000 /* Set when we drive SERR */
-#define PCI_STATUS_DETECTED_PARITY 0x8000 /* Set on parity error */
-
-#define PCI_CLASS_REVISION 0x08 /* High 24 bits are class, low 8 revision */
-#define PCI_REVISION_ID 0x08 /* Revision ID */
-#define PCI_CLASS_PROG 0x09 /* Reg. Level Programming Interface */
-#define PCI_CLASS_DEVICE 0x0a /* Device class */
-
-#define PCI_CACHE_LINE_SIZE 0x0c /* 8 bits */
-#define PCI_LATENCY_TIMER 0x0d /* 8 bits */
-#define PCI_HEADER_TYPE 0x0e /* 8 bits */
-#define PCI_HEADER_TYPE_NORMAL 0
-#define PCI_HEADER_TYPE_BRIDGE 1
-#define PCI_HEADER_TYPE_CARDBUS 2
-
-#define PCI_BIST 0x0f /* 8 bits */
-#define PCI_BIST_CODE_MASK 0x0f /* Return result */
-#define PCI_BIST_START 0x40 /* 1 to start BIST, 2 secs or less */
-#define PCI_BIST_CAPABLE 0x80 /* 1 if BIST capable */
-
-/*
- * Base addresses specify locations in memory or I/O space.
- * Decoded size can be determined by writing a value of
- * 0xffffffff to the register, and reading it back. Only
- * 1 bits are decoded.
- */
-#define PCI_BASE_ADDRESS_0 0x10 /* 32 bits */
-#define PCI_BASE_ADDRESS_1 0x14 /* 32 bits [htype 0,1 only] */
-#define PCI_BASE_ADDRESS_2 0x18 /* 32 bits [htype 0 only] */
-#define PCI_BASE_ADDRESS_3 0x1c /* 32 bits */
-#define PCI_BASE_ADDRESS_4 0x20 /* 32 bits */
-#define PCI_BASE_ADDRESS_5 0x24 /* 32 bits */
-#define PCI_BASE_ADDRESS_SPACE 0x01 /* 0 = memory, 1 = I/O */
-#define PCI_BASE_ADDRESS_SPACE_IO 0x01
-#define PCI_BASE_ADDRESS_SPACE_MEMORY 0x00
-#define PCI_BASE_ADDRESS_MEM_TYPE_MASK 0x06
-#define PCI_BASE_ADDRESS_MEM_TYPE_32 0x00 /* 32 bit address */
-#define PCI_BASE_ADDRESS_MEM_TYPE_1M 0x02 /* Below 1M [obsolete] */
-#define PCI_BASE_ADDRESS_MEM_TYPE_64 0x04 /* 64 bit address */
-#define PCI_BASE_ADDRESS_MEM_PREFETCH 0x08 /* prefetchable? */
-#define PCI_BASE_ADDRESS_MEM_MASK (~0x0fUL)
-#define PCI_BASE_ADDRESS_IO_MASK (~0x03UL)
-/* bit 1 is reserved if address_space = 1 */
-
-/* Header type 0 (normal devices) */
-#define PCI_CARDBUS_CIS 0x28
-#define PCI_SUBSYSTEM_VENDOR_ID 0x2c
-#define PCI_SUBSYSTEM_ID 0x2e
-#define PCI_ROM_ADDRESS 0x30 /* Bits 31..11 are address, 10..1 reserved */
-#define PCI_ROM_ADDRESS_ENABLE 0x01
-#define PCI_ROM_ADDRESS_MASK (~0x7ffUL)
-
-#define PCI_CAPABILITY_LIST 0x34 /* Offset of first capability list entry */
-
-/* 0x35-0x3b are reserved */
-#define PCI_INTERRUPT_LINE 0x3c /* 8 bits */
-#define PCI_INTERRUPT_PIN 0x3d /* 8 bits */
-#define PCI_MIN_GNT 0x3e /* 8 bits */
-#define PCI_MAX_LAT 0x3f /* 8 bits */
-
-/* Header type 1 (PCI-to-PCI bridges) */
-#define PCI_PRIMARY_BUS 0x18 /* Primary bus number */
-#define PCI_SECONDARY_BUS 0x19 /* Secondary bus number */
-#define PCI_SUBORDINATE_BUS 0x1a /* Highest bus number behind the bridge */
-#define PCI_SEC_LATENCY_TIMER 0x1b /* Latency timer for secondary interface */
-#define PCI_IO_BASE 0x1c /* I/O range behind the bridge */
-#define PCI_IO_LIMIT 0x1d
-#define PCI_IO_RANGE_TYPE_MASK 0x0fUL /* I/O bridging type */
-#define PCI_IO_RANGE_TYPE_16 0x00
-#define PCI_IO_RANGE_TYPE_32 0x01
-#define PCI_IO_RANGE_MASK (~0x0fUL) /* Standard 4K I/O windows */
-#define PCI_IO_1K_RANGE_MASK (~0x03UL) /* Intel 1K I/O windows */
-#define PCI_SEC_STATUS 0x1e /* Secondary status register, only bit 14 used */
-#define PCI_MEMORY_BASE 0x20 /* Memory range behind */
-#define PCI_MEMORY_LIMIT 0x22
-#define PCI_MEMORY_RANGE_TYPE_MASK 0x0fUL
-#define PCI_MEMORY_RANGE_MASK (~0x0fUL)
-#define PCI_PREF_MEMORY_BASE 0x24 /* Prefetchable memory range behind */
-#define PCI_PREF_MEMORY_LIMIT 0x26
-#define PCI_PREF_RANGE_TYPE_MASK 0x0fUL
-#define PCI_PREF_RANGE_TYPE_32 0x00
-#define PCI_PREF_RANGE_TYPE_64 0x01
-#define PCI_PREF_RANGE_MASK (~0x0fUL)
-#define PCI_PREF_BASE_UPPER32 0x28 /* Upper half of prefetchable memory range */
-#define PCI_PREF_LIMIT_UPPER32 0x2c
-#define PCI_IO_BASE_UPPER16 0x30 /* Upper half of I/O addresses */
-#define PCI_IO_LIMIT_UPPER16 0x32
-/* 0x34 same as for htype 0 */
-/* 0x35-0x3b is reserved */
-#define PCI_ROM_ADDRESS1 0x38 /* Same as PCI_ROM_ADDRESS, but for htype 1 */
-/* 0x3c-0x3d are same as for htype 0 */
-#define PCI_BRIDGE_CONTROL 0x3e
-#define PCI_BRIDGE_CTL_PARITY 0x01 /* Enable parity detection on secondary interface */
-#define PCI_BRIDGE_CTL_SERR 0x02 /* The same for SERR forwarding */
-#define PCI_BRIDGE_CTL_ISA 0x04 /* Enable ISA mode */
-#define PCI_BRIDGE_CTL_VGA 0x08 /* Forward VGA addresses */
-#define PCI_BRIDGE_CTL_MASTER_ABORT 0x20 /* Report master aborts */
-#define PCI_BRIDGE_CTL_BUS_RESET 0x40 /* Secondary bus reset */
-#define PCI_BRIDGE_CTL_FAST_BACK 0x80 /* Fast Back2Back enabled on secondary interface */
-
-/* Header type 2 (CardBus bridges) */
-#define PCI_CB_CAPABILITY_LIST 0x14
-/* 0x15 reserved */
-#define PCI_CB_SEC_STATUS 0x16 /* Secondary status */
-#define PCI_CB_PRIMARY_BUS 0x18 /* PCI bus number */
-#define PCI_CB_CARD_BUS 0x19 /* CardBus bus number */
-#define PCI_CB_SUBORDINATE_BUS 0x1a /* Subordinate bus number */
-#define PCI_CB_LATENCY_TIMER 0x1b /* CardBus latency timer */
-#define PCI_CB_MEMORY_BASE_0 0x1c
-#define PCI_CB_MEMORY_LIMIT_0 0x20
-#define PCI_CB_MEMORY_BASE_1 0x24
-#define PCI_CB_MEMORY_LIMIT_1 0x28
-#define PCI_CB_IO_BASE_0 0x2c
-#define PCI_CB_IO_BASE_0_HI 0x2e
-#define PCI_CB_IO_LIMIT_0 0x30
-#define PCI_CB_IO_LIMIT_0_HI 0x32
-#define PCI_CB_IO_BASE_1 0x34
-#define PCI_CB_IO_BASE_1_HI 0x36
-#define PCI_CB_IO_LIMIT_1 0x38
-#define PCI_CB_IO_LIMIT_1_HI 0x3a
-#define PCI_CB_IO_RANGE_MASK (~0x03UL)
-/* 0x3c-0x3d are same as for htype 0 */
-#define PCI_CB_BRIDGE_CONTROL 0x3e
-#define PCI_CB_BRIDGE_CTL_PARITY 0x01 /* Similar to standard bridge control register */
-#define PCI_CB_BRIDGE_CTL_SERR 0x02
-#define PCI_CB_BRIDGE_CTL_ISA 0x04
-#define PCI_CB_BRIDGE_CTL_VGA 0x08
-#define PCI_CB_BRIDGE_CTL_MASTER_ABORT 0x20
-#define PCI_CB_BRIDGE_CTL_CB_RESET 0x40 /* CardBus reset */
-#define PCI_CB_BRIDGE_CTL_16BIT_INT 0x80 /* Enable interrupt for 16-bit cards */
-#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM0 0x100 /* Prefetch enable for both memory regions */
-#define PCI_CB_BRIDGE_CTL_PREFETCH_MEM1 0x200
-#define PCI_CB_BRIDGE_CTL_POST_WRITES 0x400
-#define PCI_CB_SUBSYSTEM_VENDOR_ID 0x40
-#define PCI_CB_SUBSYSTEM_ID 0x42
-#define PCI_CB_LEGACY_MODE_BASE 0x44 /* 16-bit PC Card legacy mode base address (ExCa) */
-/* 0x48-0x7f reserved */
-
-/* Capability lists */
-
-#define PCI_CAP_LIST_ID 0 /* Capability ID */
-#define PCI_CAP_ID_PM 0x01 /* Power Management */
-#define PCI_CAP_ID_AGP 0x02 /* Accelerated Graphics Port */
-#define PCI_CAP_ID_VPD 0x03 /* Vital Product Data */
-#define PCI_CAP_ID_SLOTID 0x04 /* Slot Identification */
-#define PCI_CAP_ID_MSI 0x05 /* Message Signalled Interrupts */
-#define PCI_CAP_ID_CHSWP 0x06 /* CompactPCI HotSwap */
-#define PCI_CAP_ID_PCIX 0x07 /* PCI-X */
-#define PCI_CAP_ID_HT 0x08 /* HyperTransport */
-#define PCI_CAP_ID_VNDR 0x09 /* Vendor-Specific */
-#define PCI_CAP_ID_DBG 0x0A /* Debug port */
-#define PCI_CAP_ID_CCRC 0x0B /* CompactPCI Central Resource Control */
-#define PCI_CAP_ID_SHPC 0x0C /* PCI Standard Hot-Plug Controller */
-#define PCI_CAP_ID_SSVID 0x0D /* Bridge subsystem vendor/device ID */
-#define PCI_CAP_ID_AGP3 0x0E /* AGP Target PCI-PCI bridge */
-#define PCI_CAP_ID_SECDEV 0x0F /* Secure Device */
-#define PCI_CAP_ID_EXP 0x10 /* PCI Express */
-#define PCI_CAP_ID_MSIX 0x11 /* MSI-X */
-#define PCI_CAP_ID_SATA 0x12 /* SATA Data/Index Conf. */
-#define PCI_CAP_ID_AF 0x13 /* PCI Advanced Features */
-#define PCI_CAP_ID_EA 0x14 /* PCI Enhanced Allocation */
-#define PCI_CAP_ID_MAX PCI_CAP_ID_EA
-#define PCI_CAP_LIST_NEXT 1 /* Next capability in the list */
-#define PCI_CAP_FLAGS 2 /* Capability defined flags (16 bits) */
-#define PCI_CAP_SIZEOF 4
-
-/* Power Management Registers */
-
-#define PCI_PM_PMC 2 /* PM Capabilities Register */
-#define PCI_PM_CAP_VER_MASK 0x0007 /* Version */
-#define PCI_PM_CAP_PME_CLOCK 0x0008 /* PME clock required */
-#define PCI_PM_CAP_RESERVED 0x0010 /* Reserved field */
-#define PCI_PM_CAP_DSI 0x0020 /* Device specific initialization */
-#define PCI_PM_CAP_AUX_POWER 0x01C0 /* Auxiliary power support mask */
-#define PCI_PM_CAP_D1 0x0200 /* D1 power state support */
-#define PCI_PM_CAP_D2 0x0400 /* D2 power state support */
-#define PCI_PM_CAP_PME 0x0800 /* PME pin supported */
-#define PCI_PM_CAP_PME_MASK 0xF800 /* PME Mask of all supported states */
-#define PCI_PM_CAP_PME_D0 0x0800 /* PME# from D0 */
-#define PCI_PM_CAP_PME_D1 0x1000 /* PME# from D1 */
-#define PCI_PM_CAP_PME_D2 0x2000 /* PME# from D2 */
-#define PCI_PM_CAP_PME_D3 0x4000 /* PME# from D3 (hot) */
-#define PCI_PM_CAP_PME_D3cold 0x8000 /* PME# from D3 (cold) */
-#define PCI_PM_CAP_PME_SHIFT 11 /* Start of the PME Mask in PMC */
-#define PCI_PM_CTRL 4 /* PM control and status register */
-#define PCI_PM_CTRL_STATE_MASK 0x0003 /* Current power state (D0 to D3) */
-#define PCI_PM_CTRL_NO_SOFT_RESET 0x0008 /* No reset for D3hot->D0 */
-#define PCI_PM_CTRL_PME_ENABLE 0x0100 /* PME pin enable */
-#define PCI_PM_CTRL_DATA_SEL_MASK 0x1e00 /* Data select (??) */
-#define PCI_PM_CTRL_DATA_SCALE_MASK 0x6000 /* Data scale (??) */
-#define PCI_PM_CTRL_PME_STATUS 0x8000 /* PME pin status */
-#define PCI_PM_PPB_EXTENSIONS 6 /* PPB support extensions (??) */
-#define PCI_PM_PPB_B2_B3 0x40 /* Stop clock when in D3hot (??) */
-#define PCI_PM_BPCC_ENABLE 0x80 /* Bus power/clock control enable (??) */
-#define PCI_PM_DATA_REGISTER 7 /* (??) */
-#define PCI_PM_SIZEOF 8
-
-/* AGP registers */
-
-#define PCI_AGP_VERSION 2 /* BCD version number */
-#define PCI_AGP_RFU 3 /* Rest of capability flags */
-#define PCI_AGP_STATUS 4 /* Status register */
-#define PCI_AGP_STATUS_RQ_MASK 0xff000000 /* Maximum number of requests - 1 */
-#define PCI_AGP_STATUS_SBA 0x0200 /* Sideband addressing supported */
-#define PCI_AGP_STATUS_64BIT 0x0020 /* 64-bit addressing supported */
-#define PCI_AGP_STATUS_FW 0x0010 /* FW transfers supported */
-#define PCI_AGP_STATUS_RATE4 0x0004 /* 4x transfer rate supported */
-#define PCI_AGP_STATUS_RATE2 0x0002 /* 2x transfer rate supported */
-#define PCI_AGP_STATUS_RATE1 0x0001 /* 1x transfer rate supported */
-#define PCI_AGP_COMMAND 8 /* Control register */
-#define PCI_AGP_COMMAND_RQ_MASK 0xff000000 /* Master: Maximum number of requests */
-#define PCI_AGP_COMMAND_SBA 0x0200 /* Sideband addressing enabled */
-#define PCI_AGP_COMMAND_AGP 0x0100 /* Allow processing of AGP transactions */
-#define PCI_AGP_COMMAND_64BIT 0x0020 /* Allow processing of 64-bit addresses */
-#define PCI_AGP_COMMAND_FW 0x0010 /* Force FW transfers */
-#define PCI_AGP_COMMAND_RATE4 0x0004 /* Use 4x rate */
-#define PCI_AGP_COMMAND_RATE2 0x0002 /* Use 2x rate */
-#define PCI_AGP_COMMAND_RATE1 0x0001 /* Use 1x rate */
-#define PCI_AGP_SIZEOF 12
-
-/* Vital Product Data */
-
-#define PCI_VPD_ADDR 2 /* Address to access (15 bits!) */
-#define PCI_VPD_ADDR_MASK 0x7fff /* Address mask */
-#define PCI_VPD_ADDR_F 0x8000 /* Write 0, 1 indicates completion */
-#define PCI_VPD_DATA 4 /* 32-bits of data returned here */
-#define PCI_CAP_VPD_SIZEOF 8
-
-/* Slot Identification */
-
-#define PCI_SID_ESR 2 /* Expansion Slot Register */
-#define PCI_SID_ESR_NSLOTS 0x1f /* Number of expansion slots available */
-#define PCI_SID_ESR_FIC 0x20 /* First In Chassis Flag */
-#define PCI_SID_CHASSIS_NR 3 /* Chassis Number */
-
-/* Message Signalled Interrupts registers */
-
-#define PCI_MSI_FLAGS 2 /* Message Control */
-#define PCI_MSI_FLAGS_ENABLE 0x0001 /* MSI feature enabled */
-#define PCI_MSI_FLAGS_QMASK 0x000e /* Maximum queue size available */
-#define PCI_MSI_FLAGS_QSIZE 0x0070 /* Message queue size configured */
-#define PCI_MSI_FLAGS_64BIT 0x0080 /* 64-bit addresses allowed */
-#define PCI_MSI_FLAGS_MASKBIT 0x0100 /* Per-vector masking capable */
-#define PCI_MSI_RFU 3 /* Rest of capability flags */
-#define PCI_MSI_ADDRESS_LO 4 /* Lower 32 bits */
-#define PCI_MSI_ADDRESS_HI 8 /* Upper 32 bits (if PCI_MSI_FLAGS_64BIT set) */
-#define PCI_MSI_DATA_32 8 /* 16 bits of data for 32-bit devices */
-#define PCI_MSI_MASK_32 12 /* Mask bits register for 32-bit devices */
-#define PCI_MSI_PENDING_32 16 /* Pending intrs for 32-bit devices */
-#define PCI_MSI_DATA_64 12 /* 16 bits of data for 64-bit devices */
-#define PCI_MSI_MASK_64 16 /* Mask bits register for 64-bit devices */
-#define PCI_MSI_PENDING_64 20 /* Pending intrs for 64-bit devices */
-
-/* MSI-X registers */
-#define PCI_MSIX_FLAGS 2 /* Message Control */
-#define PCI_MSIX_FLAGS_QSIZE 0x07FF /* Table size */
-#define PCI_MSIX_FLAGS_MASKALL 0x4000 /* Mask all vectors for this function */
-#define PCI_MSIX_FLAGS_ENABLE 0x8000 /* MSI-X enable */
-#define PCI_MSIX_TABLE 4 /* Table offset */
-#define PCI_MSIX_TABLE_BIR 0x00000007 /* BAR index */
-#define PCI_MSIX_TABLE_OFFSET 0xfffffff8 /* Offset into specified BAR */
-#define PCI_MSIX_PBA 8 /* Pending Bit Array offset */
-#define PCI_MSIX_PBA_BIR 0x00000007 /* BAR index */
-#define PCI_MSIX_PBA_OFFSET 0xfffffff8 /* Offset into specified BAR */
-#define PCI_MSIX_FLAGS_BIRMASK PCI_MSIX_PBA_BIR /* deprecated */
-#define PCI_CAP_MSIX_SIZEOF 12 /* size of MSIX registers */
-
-/* MSI-X Table entry format */
-#define PCI_MSIX_ENTRY_SIZE 16
-#define PCI_MSIX_ENTRY_LOWER_ADDR 0
-#define PCI_MSIX_ENTRY_UPPER_ADDR 4
-#define PCI_MSIX_ENTRY_DATA 8
-#define PCI_MSIX_ENTRY_VECTOR_CTRL 12
-#define PCI_MSIX_ENTRY_CTRL_MASKBIT 1
-
-/* CompactPCI Hotswap Register */
-
-#define PCI_CHSWP_CSR 2 /* Control and Status Register */
-#define PCI_CHSWP_DHA 0x01 /* Device Hiding Arm */
-#define PCI_CHSWP_EIM 0x02 /* ENUM# Signal Mask */
-#define PCI_CHSWP_PIE 0x04 /* Pending Insert or Extract */
-#define PCI_CHSWP_LOO 0x08 /* LED On / Off */
-#define PCI_CHSWP_PI 0x30 /* Programming Interface */
-#define PCI_CHSWP_EXT 0x40 /* ENUM# status - extraction */
-#define PCI_CHSWP_INS 0x80 /* ENUM# status - insertion */
-
-/* PCI Advanced Feature registers */
-
-#define PCI_AF_LENGTH 2
-#define PCI_AF_CAP 3
-#define PCI_AF_CAP_TP 0x01
-#define PCI_AF_CAP_FLR 0x02
-#define PCI_AF_CTRL 4
-#define PCI_AF_CTRL_FLR 0x01
-#define PCI_AF_STATUS 5
-#define PCI_AF_STATUS_TP 0x01
-#define PCI_CAP_AF_SIZEOF 6 /* size of AF registers */
-
-/* PCI Enhanced Allocation registers */
-
-#define PCI_EA_NUM_ENT 2 /* Number of Capability Entries */
-#define PCI_EA_NUM_ENT_MASK 0x3f /* Num Entries Mask */
-#define PCI_EA_FIRST_ENT 4 /* First EA Entry in List */
-#define PCI_EA_FIRST_ENT_BRIDGE 8 /* First EA Entry for Bridges */
-#define PCI_EA_ES 0x00000007 /* Entry Size */
-#define PCI_EA_BEI 0x000000f0 /* BAR Equivalent Indicator */
-/* 0-5 map to BARs 0-5 respectively */
-#define PCI_EA_BEI_BAR0 0
-#define PCI_EA_BEI_BAR5 5
-#define PCI_EA_BEI_BRIDGE 6 /* Resource behind bridge */
-#define PCI_EA_BEI_ENI 7 /* Equivalent Not Indicated */
-#define PCI_EA_BEI_ROM 8 /* Expansion ROM */
-/* 9-14 map to VF BARs 0-5 respectively */
-#define PCI_EA_BEI_VF_BAR0 9
-#define PCI_EA_BEI_VF_BAR5 14
-#define PCI_EA_BEI_RESERVED 15 /* Reserved - Treat like ENI */
-#define PCI_EA_PP 0x0000ff00 /* Primary Properties */
-#define PCI_EA_SP 0x00ff0000 /* Secondary Properties */
-#define PCI_EA_P_MEM 0x00 /* Non-Prefetch Memory */
-#define PCI_EA_P_MEM_PREFETCH 0x01 /* Prefetchable Memory */
-#define PCI_EA_P_IO 0x02 /* I/O Space */
-#define PCI_EA_P_VF_MEM_PREFETCH 0x03 /* VF Prefetchable Memory */
-#define PCI_EA_P_VF_MEM 0x04 /* VF Non-Prefetch Memory */
-#define PCI_EA_P_BRIDGE_MEM 0x05 /* Bridge Non-Prefetch Memory */
-#define PCI_EA_P_BRIDGE_MEM_PREFETCH 0x06 /* Bridge Prefetchable Memory */
-#define PCI_EA_P_BRIDGE_IO 0x07 /* Bridge I/O Space */
-/* 0x08-0xfc reserved */
-#define PCI_EA_P_MEM_RESERVED 0xfd /* Reserved Memory */
-#define PCI_EA_P_IO_RESERVED 0xfe /* Reserved I/O Space */
-#define PCI_EA_P_UNAVAILABLE 0xff /* Entry Unavailable */
-#define PCI_EA_WRITABLE 0x40000000 /* Writable: 1 = RW, 0 = HwInit */
-#define PCI_EA_ENABLE 0x80000000 /* Enable for this entry */
-#define PCI_EA_BASE 4 /* Base Address Offset */
-#define PCI_EA_MAX_OFFSET 8 /* MaxOffset (resource length) */
-/* bit 0 is reserved */
-#define PCI_EA_IS_64 0x00000002 /* 64-bit field flag */
-#define PCI_EA_FIELD_MASK 0xfffffffc /* For Base & Max Offset */
-
-/* PCI-X registers (Type 0 (non-bridge) devices) */
-
-#define PCI_X_CMD 2 /* Modes & Features */
-#define PCI_X_CMD_DPERR_E 0x0001 /* Data Parity Error Recovery Enable */
-#define PCI_X_CMD_ERO 0x0002 /* Enable Relaxed Ordering */
-#define PCI_X_CMD_READ_512 0x0000 /* 512 byte maximum read byte count */
-#define PCI_X_CMD_READ_1K 0x0004 /* 1Kbyte maximum read byte count */
-#define PCI_X_CMD_READ_2K 0x0008 /* 2Kbyte maximum read byte count */
-#define PCI_X_CMD_READ_4K 0x000c /* 4Kbyte maximum read byte count */
-#define PCI_X_CMD_MAX_READ 0x000c /* Max Memory Read Byte Count */
- /* Max # of outstanding split transactions */
-#define PCI_X_CMD_SPLIT_1 0x0000 /* Max 1 */
-#define PCI_X_CMD_SPLIT_2 0x0010 /* Max 2 */
-#define PCI_X_CMD_SPLIT_3 0x0020 /* Max 3 */
-#define PCI_X_CMD_SPLIT_4 0x0030 /* Max 4 */
-#define PCI_X_CMD_SPLIT_8 0x0040 /* Max 8 */
-#define PCI_X_CMD_SPLIT_12 0x0050 /* Max 12 */
-#define PCI_X_CMD_SPLIT_16 0x0060 /* Max 16 */
-#define PCI_X_CMD_SPLIT_32 0x0070 /* Max 32 */
-#define PCI_X_CMD_MAX_SPLIT 0x0070 /* Max Outstanding Split Transactions */
-#define PCI_X_CMD_VERSION(x) (((x) >> 12) & 3) /* Version */
-#define PCI_X_STATUS 4 /* PCI-X capabilities */
-#define PCI_X_STATUS_DEVFN 0x000000ff /* A copy of devfn */
-#define PCI_X_STATUS_BUS 0x0000ff00 /* A copy of bus nr */
-#define PCI_X_STATUS_64BIT 0x00010000 /* 64-bit device */
-#define PCI_X_STATUS_133MHZ 0x00020000 /* 133 MHz capable */
-#define PCI_X_STATUS_SPL_DISC 0x00040000 /* Split Completion Discarded */
-#define PCI_X_STATUS_UNX_SPL 0x00080000 /* Unexpected Split Completion */
-#define PCI_X_STATUS_COMPLEX 0x00100000 /* Device Complexity */
-#define PCI_X_STATUS_MAX_READ 0x00600000 /* Designed Max Memory Read Count */
-#define PCI_X_STATUS_MAX_SPLIT 0x03800000 /* Designed Max Outstanding Split Transactions */
-#define PCI_X_STATUS_MAX_CUM 0x1c000000 /* Designed Max Cumulative Read Size */
-#define PCI_X_STATUS_SPL_ERR 0x20000000 /* Rcvd Split Completion Error Msg */
-#define PCI_X_STATUS_266MHZ 0x40000000 /* 266 MHz capable */
-#define PCI_X_STATUS_533MHZ 0x80000000 /* 533 MHz capable */
-#define PCI_X_ECC_CSR 8 /* ECC control and status */
-#define PCI_CAP_PCIX_SIZEOF_V0 8 /* size of registers for Version 0 */
-#define PCI_CAP_PCIX_SIZEOF_V1 24 /* size for Version 1 */
-#define PCI_CAP_PCIX_SIZEOF_V2 PCI_CAP_PCIX_SIZEOF_V1 /* Same for v2 */
-
-/* PCI-X registers (Type 1 (bridge) devices) */
-
-#define PCI_X_BRIDGE_SSTATUS 2 /* Secondary Status */
-#define PCI_X_SSTATUS_64BIT 0x0001 /* Secondary AD interface is 64 bits */
-#define PCI_X_SSTATUS_133MHZ 0x0002 /* 133 MHz capable */
-#define PCI_X_SSTATUS_FREQ 0x03c0 /* Secondary Bus Mode and Frequency */
-#define PCI_X_SSTATUS_VERS 0x3000 /* PCI-X Capability Version */
-#define PCI_X_SSTATUS_V1 0x1000 /* Mode 2, not Mode 1 */
-#define PCI_X_SSTATUS_V2 0x2000 /* Mode 1 or Modes 1 and 2 */
-#define PCI_X_SSTATUS_266MHZ 0x4000 /* 266 MHz capable */
-#define PCI_X_SSTATUS_533MHZ 0x8000 /* 533 MHz capable */
-#define PCI_X_BRIDGE_STATUS 4 /* Bridge Status */
-
-/* PCI Bridge Subsystem ID registers */
-
-#define PCI_SSVID_VENDOR_ID 4 /* PCI Bridge subsystem vendor ID */
-#define PCI_SSVID_DEVICE_ID 6 /* PCI Bridge subsystem device ID */
-
-/* PCI Express capability registers */
-
-#define PCI_EXP_FLAGS 2 /* Capabilities register */
-#define PCI_EXP_FLAGS_VERS 0x000f /* Capability version */
-#define PCI_EXP_FLAGS_TYPE 0x00f0 /* Device/Port type */
-#define PCI_EXP_TYPE_ENDPOINT 0x0 /* Express Endpoint */
-#define PCI_EXP_TYPE_LEG_END 0x1 /* Legacy Endpoint */
-#define PCI_EXP_TYPE_ROOT_PORT 0x4 /* Root Port */
-#define PCI_EXP_TYPE_UPSTREAM 0x5 /* Upstream Port */
-#define PCI_EXP_TYPE_DOWNSTREAM 0x6 /* Downstream Port */
-#define PCI_EXP_TYPE_PCI_BRIDGE 0x7 /* PCIe to PCI/PCI-X Bridge */
-#define PCI_EXP_TYPE_PCIE_BRIDGE 0x8 /* PCI/PCI-X to PCIe Bridge */
-#define PCI_EXP_TYPE_RC_END 0x9 /* Root Complex Integrated Endpoint */
-#define PCI_EXP_TYPE_RC_EC 0xa /* Root Complex Event Collector */
-#define PCI_EXP_FLAGS_SLOT 0x0100 /* Slot implemented */
-#define PCI_EXP_FLAGS_IRQ 0x3e00 /* Interrupt message number */
-#define PCI_EXP_DEVCAP 4 /* Device capabilities */
-#define PCI_EXP_DEVCAP_PAYLOAD 0x00000007 /* Max_Payload_Size */
-#define PCI_EXP_DEVCAP_PHANTOM 0x00000018 /* Phantom functions */
-#define PCI_EXP_DEVCAP_EXT_TAG 0x00000020 /* Extended tags */
-#define PCI_EXP_DEVCAP_L0S 0x000001c0 /* L0s Acceptable Latency */
-#define PCI_EXP_DEVCAP_L1 0x00000e00 /* L1 Acceptable Latency */
-#define PCI_EXP_DEVCAP_ATN_BUT 0x00001000 /* Attention Button Present */
-#define PCI_EXP_DEVCAP_ATN_IND 0x00002000 /* Attention Indicator Present */
-#define PCI_EXP_DEVCAP_PWR_IND 0x00004000 /* Power Indicator Present */
-#define PCI_EXP_DEVCAP_RBER 0x00008000 /* Role-Based Error Reporting */
-#define PCI_EXP_DEVCAP_PWR_VAL 0x03fc0000 /* Slot Power Limit Value */
-#define PCI_EXP_DEVCAP_PWR_SCL 0x0c000000 /* Slot Power Limit Scale */
-#define PCI_EXP_DEVCAP_FLR 0x10000000 /* Function Level Reset */
-#define PCI_EXP_DEVCTL 8 /* Device Control */
-#define PCI_EXP_DEVCTL_CERE 0x0001 /* Correctable Error Reporting En. */
-#define PCI_EXP_DEVCTL_NFERE 0x0002 /* Non-Fatal Error Reporting Enable */
-#define PCI_EXP_DEVCTL_FERE 0x0004 /* Fatal Error Reporting Enable */
-#define PCI_EXP_DEVCTL_URRE 0x0008 /* Unsupported Request Reporting En. */
-#define PCI_EXP_DEVCTL_RELAX_EN 0x0010 /* Enable relaxed ordering */
-#define PCI_EXP_DEVCTL_PAYLOAD 0x00e0 /* Max_Payload_Size */
-#define PCI_EXP_DEVCTL_EXT_TAG 0x0100 /* Extended Tag Field Enable */
-#define PCI_EXP_DEVCTL_PHANTOM 0x0200 /* Phantom Functions Enable */
-#define PCI_EXP_DEVCTL_AUX_PME 0x0400 /* Auxiliary Power PM Enable */
-#define PCI_EXP_DEVCTL_NOSNOOP_EN 0x0800 /* Enable No Snoop */
-#define PCI_EXP_DEVCTL_READRQ 0x7000 /* Max_Read_Request_Size */
-#define PCI_EXP_DEVCTL_READRQ_128B 0x0000 /* 128 Bytes */
-#define PCI_EXP_DEVCTL_READRQ_256B 0x1000 /* 256 Bytes */
-#define PCI_EXP_DEVCTL_READRQ_512B 0x2000 /* 512 Bytes */
-#define PCI_EXP_DEVCTL_READRQ_1024B 0x3000 /* 1024 Bytes */
-#define PCI_EXP_DEVCTL_BCR_FLR 0x8000 /* Bridge Configuration Retry / FLR */
-#define PCI_EXP_DEVSTA 10 /* Device Status */
-#define PCI_EXP_DEVSTA_CED 0x0001 /* Correctable Error Detected */
-#define PCI_EXP_DEVSTA_NFED 0x0002 /* Non-Fatal Error Detected */
-#define PCI_EXP_DEVSTA_FED 0x0004 /* Fatal Error Detected */
-#define PCI_EXP_DEVSTA_URD 0x0008 /* Unsupported Request Detected */
-#define PCI_EXP_DEVSTA_AUXPD 0x0010 /* AUX Power Detected */
-#define PCI_EXP_DEVSTA_TRPND 0x0020 /* Transactions Pending */
-#define PCI_EXP_LNKCAP 12 /* Link Capabilities */
-#define PCI_EXP_LNKCAP_SLS 0x0000000f /* Supported Link Speeds */
-#define PCI_EXP_LNKCAP_SLS_2_5GB 0x00000001 /* LNKCAP2 SLS Vector bit 0 */
-#define PCI_EXP_LNKCAP_SLS_5_0GB 0x00000002 /* LNKCAP2 SLS Vector bit 1 */
-#define PCI_EXP_LNKCAP_MLW 0x000003f0 /* Maximum Link Width */
-#define PCI_EXP_LNKCAP_ASPMS 0x00000c00 /* ASPM Support */
-#define PCI_EXP_LNKCAP_L0SEL 0x00007000 /* L0s Exit Latency */
-#define PCI_EXP_LNKCAP_L1EL 0x00038000 /* L1 Exit Latency */
-#define PCI_EXP_LNKCAP_CLKPM 0x00040000 /* Clock Power Management */
-#define PCI_EXP_LNKCAP_SDERC 0x00080000 /* Surprise Down Error Reporting Capable */
-#define PCI_EXP_LNKCAP_DLLLARC 0x00100000 /* Data Link Layer Link Active Reporting Capable */
-#define PCI_EXP_LNKCAP_LBNC 0x00200000 /* Link Bandwidth Notification Capability */
-#define PCI_EXP_LNKCAP_PN 0xff000000 /* Port Number */
-#define PCI_EXP_LNKCTL 16 /* Link Control */
-#define PCI_EXP_LNKCTL_ASPMC 0x0003 /* ASPM Control */
-#define PCI_EXP_LNKCTL_ASPM_L0S 0x0001 /* L0s Enable */
-#define PCI_EXP_LNKCTL_ASPM_L1 0x0002 /* L1 Enable */
-#define PCI_EXP_LNKCTL_RCB 0x0008 /* Read Completion Boundary */
-#define PCI_EXP_LNKCTL_LD 0x0010 /* Link Disable */
-#define PCI_EXP_LNKCTL_RL 0x0020 /* Retrain Link */
-#define PCI_EXP_LNKCTL_CCC 0x0040 /* Common Clock Configuration */
-#define PCI_EXP_LNKCTL_ES 0x0080 /* Extended Synch */
-#define PCI_EXP_LNKCTL_CLKREQ_EN 0x0100 /* Enable clkreq */
-#define PCI_EXP_LNKCTL_HAWD 0x0200 /* Hardware Autonomous Width Disable */
-#define PCI_EXP_LNKCTL_LBMIE 0x0400 /* Link Bandwidth Management Interrupt Enable */
-#define PCI_EXP_LNKCTL_LABIE 0x0800 /* Link Autonomous Bandwidth Interrupt Enable */
-#define PCI_EXP_LNKSTA 18 /* Link Status */
-#define PCI_EXP_LNKSTA_CLS 0x000f /* Current Link Speed */
-#define PCI_EXP_LNKSTA_CLS_2_5GB 0x0001 /* Current Link Speed 2.5GT/s */
-#define PCI_EXP_LNKSTA_CLS_5_0GB 0x0002 /* Current Link Speed 5.0GT/s */
-#define PCI_EXP_LNKSTA_CLS_8_0GB 0x0003 /* Current Link Speed 8.0GT/s */
-#define PCI_EXP_LNKSTA_NLW 0x03f0 /* Negotiated Link Width */
-#define PCI_EXP_LNKSTA_NLW_X1 0x0010 /* Current Link Width x1 */
-#define PCI_EXP_LNKSTA_NLW_X2 0x0020 /* Current Link Width x2 */
-#define PCI_EXP_LNKSTA_NLW_X4 0x0040 /* Current Link Width x4 */
-#define PCI_EXP_LNKSTA_NLW_X8 0x0080 /* Current Link Width x8 */
-#define PCI_EXP_LNKSTA_NLW_SHIFT 4 /* start of NLW mask in link status */
-#define PCI_EXP_LNKSTA_LT 0x0800 /* Link Training */
-#define PCI_EXP_LNKSTA_SLC 0x1000 /* Slot Clock Configuration */
-#define PCI_EXP_LNKSTA_DLLLA 0x2000 /* Data Link Layer Link Active */
-#define PCI_EXP_LNKSTA_LBMS 0x4000 /* Link Bandwidth Management Status */
-#define PCI_EXP_LNKSTA_LABS 0x8000 /* Link Autonomous Bandwidth Status */
-#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V1 20 /* v1 endpoints end here */
-#define PCI_EXP_SLTCAP 20 /* Slot Capabilities */
-#define PCI_EXP_SLTCAP_ABP 0x00000001 /* Attention Button Present */
-#define PCI_EXP_SLTCAP_PCP 0x00000002 /* Power Controller Present */
-#define PCI_EXP_SLTCAP_MRLSP 0x00000004 /* MRL Sensor Present */
-#define PCI_EXP_SLTCAP_AIP 0x00000008 /* Attention Indicator Present */
-#define PCI_EXP_SLTCAP_PIP 0x00000010 /* Power Indicator Present */
-#define PCI_EXP_SLTCAP_HPS 0x00000020 /* Hot-Plug Surprise */
-#define PCI_EXP_SLTCAP_HPC 0x00000040 /* Hot-Plug Capable */
-#define PCI_EXP_SLTCAP_SPLV 0x00007f80 /* Slot Power Limit Value */
-#define PCI_EXP_SLTCAP_SPLS 0x00018000 /* Slot Power Limit Scale */
-#define PCI_EXP_SLTCAP_EIP 0x00020000 /* Electromechanical Interlock Present */
-#define PCI_EXP_SLTCAP_NCCS 0x00040000 /* No Command Completed Support */
-#define PCI_EXP_SLTCAP_PSN 0xfff80000 /* Physical Slot Number */
-#define PCI_EXP_SLTCTL 24 /* Slot Control */
-#define PCI_EXP_SLTCTL_ABPE 0x0001 /* Attention Button Pressed Enable */
-#define PCI_EXP_SLTCTL_PFDE 0x0002 /* Power Fault Detected Enable */
-#define PCI_EXP_SLTCTL_MRLSCE 0x0004 /* MRL Sensor Changed Enable */
-#define PCI_EXP_SLTCTL_PDCE 0x0008 /* Presence Detect Changed Enable */
-#define PCI_EXP_SLTCTL_CCIE 0x0010 /* Command Completed Interrupt Enable */
-#define PCI_EXP_SLTCTL_HPIE 0x0020 /* Hot-Plug Interrupt Enable */
-#define PCI_EXP_SLTCTL_AIC 0x00c0 /* Attention Indicator Control */
-#define PCI_EXP_SLTCTL_ATTN_IND_ON 0x0040 /* Attention Indicator on */
-#define PCI_EXP_SLTCTL_ATTN_IND_BLINK 0x0080 /* Attention Indicator blinking */
-#define PCI_EXP_SLTCTL_ATTN_IND_OFF 0x00c0 /* Attention Indicator off */
-#define PCI_EXP_SLTCTL_PIC 0x0300 /* Power Indicator Control */
-#define PCI_EXP_SLTCTL_PWR_IND_ON 0x0100 /* Power Indicator on */
-#define PCI_EXP_SLTCTL_PWR_IND_BLINK 0x0200 /* Power Indicator blinking */
-#define PCI_EXP_SLTCTL_PWR_IND_OFF 0x0300 /* Power Indicator off */
-#define PCI_EXP_SLTCTL_PCC 0x0400 /* Power Controller Control */
-#define PCI_EXP_SLTCTL_PWR_ON 0x0000 /* Power On */
-#define PCI_EXP_SLTCTL_PWR_OFF 0x0400 /* Power Off */
-#define PCI_EXP_SLTCTL_EIC 0x0800 /* Electromechanical Interlock Control */
-#define PCI_EXP_SLTCTL_DLLSCE 0x1000 /* Data Link Layer State Changed Enable */
-#define PCI_EXP_SLTSTA 26 /* Slot Status */
-#define PCI_EXP_SLTSTA_ABP 0x0001 /* Attention Button Pressed */
-#define PCI_EXP_SLTSTA_PFD 0x0002 /* Power Fault Detected */
-#define PCI_EXP_SLTSTA_MRLSC 0x0004 /* MRL Sensor Changed */
-#define PCI_EXP_SLTSTA_PDC 0x0008 /* Presence Detect Changed */
-#define PCI_EXP_SLTSTA_CC 0x0010 /* Command Completed */
-#define PCI_EXP_SLTSTA_MRLSS 0x0020 /* MRL Sensor State */
-#define PCI_EXP_SLTSTA_PDS 0x0040 /* Presence Detect State */
-#define PCI_EXP_SLTSTA_EIS 0x0080 /* Electromechanical Interlock Status */
-#define PCI_EXP_SLTSTA_DLLSC 0x0100 /* Data Link Layer State Changed */
-#define PCI_EXP_RTCTL 28 /* Root Control */
-#define PCI_EXP_RTCTL_SECEE 0x0001 /* System Error on Correctable Error */
-#define PCI_EXP_RTCTL_SENFEE 0x0002 /* System Error on Non-Fatal Error */
-#define PCI_EXP_RTCTL_SEFEE 0x0004 /* System Error on Fatal Error */
-#define PCI_EXP_RTCTL_PMEIE 0x0008 /* PME Interrupt Enable */
-#define PCI_EXP_RTCTL_CRSSVE 0x0010 /* CRS Software Visibility Enable */
-#define PCI_EXP_RTCAP 30 /* Root Capabilities */
-#define PCI_EXP_RTCAP_CRSVIS 0x0001 /* CRS Software Visibility capability */
-#define PCI_EXP_RTSTA 32 /* Root Status */
-#define PCI_EXP_RTSTA_PME 0x00010000 /* PME status */
-#define PCI_EXP_RTSTA_PENDING 0x00020000 /* PME pending */
-/*
- * The Device Capabilities 2, Device Status 2, Device Control 2,
- * Link Capabilities 2, Link Status 2, Link Control 2,
- * Slot Capabilities 2, Slot Status 2, and Slot Control 2 registers
- * are only present on devices with PCIe Capability version 2.
- * Use pcie_capability_read_word() and similar interfaces to use them
- * safely.
- */
-#define PCI_EXP_DEVCAP2 36 /* Device Capabilities 2 */
-#define PCI_EXP_DEVCAP2_ARI 0x00000020 /* Alternative Routing-ID */
-#define PCI_EXP_DEVCAP2_LTR 0x00000800 /* Latency tolerance reporting */
-#define PCI_EXP_DEVCAP2_OBFF_MASK 0x000c0000 /* OBFF support mechanism */
-#define PCI_EXP_DEVCAP2_OBFF_MSG 0x00040000 /* New message signaling */
-#define PCI_EXP_DEVCAP2_OBFF_WAKE 0x00080000 /* Re-use WAKE# for OBFF */
-#define PCI_EXP_DEVCTL2 40 /* Device Control 2 */
-#define PCI_EXP_DEVCTL2_COMP_TIMEOUT 0x000f /* Completion Timeout Value */
-#define PCI_EXP_DEVCTL2_ARI 0x0020 /* Alternative Routing-ID */
-#define PCI_EXP_DEVCTL2_IDO_REQ_EN 0x0100 /* Allow IDO for requests */
-#define PCI_EXP_DEVCTL2_IDO_CMP_EN 0x0200 /* Allow IDO for completions */
-#define PCI_EXP_DEVCTL2_LTR_EN 0x0400 /* Enable LTR mechanism */
-#define PCI_EXP_DEVCTL2_OBFF_MSGA_EN 0x2000 /* Enable OBFF Message type A */
-#define PCI_EXP_DEVCTL2_OBFF_MSGB_EN 0x4000 /* Enable OBFF Message type B */
-#define PCI_EXP_DEVCTL2_OBFF_WAKE_EN 0x6000 /* OBFF using WAKE# signaling */
-#define PCI_EXP_DEVSTA2 42 /* Device Status 2 */
-#define PCI_CAP_EXP_ENDPOINT_SIZEOF_V2 44 /* v2 endpoints end here */
-#define PCI_EXP_LNKCAP2 44 /* Link Capabilities 2 */
-#define PCI_EXP_LNKCAP2_SLS_2_5GB 0x00000002 /* Supported Speed 2.5GT/s */
-#define PCI_EXP_LNKCAP2_SLS_5_0GB 0x00000004 /* Supported Speed 5.0GT/s */
-#define PCI_EXP_LNKCAP2_SLS_8_0GB 0x00000008 /* Supported Speed 8.0GT/s */
-#define PCI_EXP_LNKCAP2_CROSSLINK 0x00000100 /* Crosslink supported */
-#define PCI_EXP_LNKCTL2 48 /* Link Control 2 */
-#define PCI_EXP_LNKSTA2 50 /* Link Status 2 */
-#define PCI_EXP_SLTCAP2 52 /* Slot Capabilities 2 */
-#define PCI_EXP_SLTCTL2 56 /* Slot Control 2 */
-#define PCI_EXP_SLTSTA2 58 /* Slot Status 2 */
-
-/* Extended Capabilities (PCI-X 2.0 and Express) */
-#define PCI_EXT_CAP_ID(header) (header & 0x0000ffff)
-#define PCI_EXT_CAP_VER(header) ((header >> 16) & 0xf)
-#define PCI_EXT_CAP_NEXT(header) ((header >> 20) & 0xffc)
-
-#define PCI_EXT_CAP_ID_ERR 0x01 /* Advanced Error Reporting */
-#define PCI_EXT_CAP_ID_VC 0x02 /* Virtual Channel Capability */
-#define PCI_EXT_CAP_ID_DSN 0x03 /* Device Serial Number */
-#define PCI_EXT_CAP_ID_PWR 0x04 /* Power Budgeting */
-#define PCI_EXT_CAP_ID_RCLD 0x05 /* Root Complex Link Declaration */
-#define PCI_EXT_CAP_ID_RCILC 0x06 /* Root Complex Internal Link Control */
-#define PCI_EXT_CAP_ID_RCEC 0x07 /* Root Complex Event Collector */
-#define PCI_EXT_CAP_ID_MFVC 0x08 /* Multi-Function VC Capability */
-#define PCI_EXT_CAP_ID_VC9 0x09 /* same as _VC */
-#define PCI_EXT_CAP_ID_RCRB 0x0A /* Root Complex RB? */
-#define PCI_EXT_CAP_ID_VNDR 0x0B /* Vendor-Specific */
-#define PCI_EXT_CAP_ID_CAC 0x0C /* Config Access - obsolete */
-#define PCI_EXT_CAP_ID_ACS 0x0D /* Access Control Services */
-#define PCI_EXT_CAP_ID_ARI 0x0E /* Alternate Routing ID */
-#define PCI_EXT_CAP_ID_ATS 0x0F /* Address Translation Services */
-#define PCI_EXT_CAP_ID_SRIOV 0x10 /* Single Root I/O Virtualization */
-#define PCI_EXT_CAP_ID_MRIOV 0x11 /* Multi Root I/O Virtualization */
-#define PCI_EXT_CAP_ID_MCAST 0x12 /* Multicast */
-#define PCI_EXT_CAP_ID_PRI 0x13 /* Page Request Interface */
-#define PCI_EXT_CAP_ID_AMD_XXX 0x14 /* Reserved for AMD */
-#define PCI_EXT_CAP_ID_REBAR 0x15 /* Resizable BAR */
-#define PCI_EXT_CAP_ID_DPA 0x16 /* Dynamic Power Allocation */
-#define PCI_EXT_CAP_ID_TPH 0x17 /* TPH Requester */
-#define PCI_EXT_CAP_ID_LTR 0x18 /* Latency Tolerance Reporting */
-#define PCI_EXT_CAP_ID_SECPCI 0x19 /* Secondary PCIe Capability */
-#define PCI_EXT_CAP_ID_PMUX 0x1A /* Protocol Multiplexing */
-#define PCI_EXT_CAP_ID_PASID 0x1B /* Process Address Space ID */
-#define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_PASID
-
-#define PCI_EXT_CAP_DSN_SIZEOF 12
-#define PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF 40
-
-/* Advanced Error Reporting */
-#define PCI_ERR_UNCOR_STATUS 4 /* Uncorrectable Error Status */
-#define PCI_ERR_UNC_UND 0x00000001 /* Undefined */
-#define PCI_ERR_UNC_DLP 0x00000010 /* Data Link Protocol */
-#define PCI_ERR_UNC_SURPDN 0x00000020 /* Surprise Down */
-#define PCI_ERR_UNC_POISON_TLP 0x00001000 /* Poisoned TLP */
-#define PCI_ERR_UNC_FCP 0x00002000 /* Flow Control Protocol */
-#define PCI_ERR_UNC_COMP_TIME 0x00004000 /* Completion Timeout */
-#define PCI_ERR_UNC_COMP_ABORT 0x00008000 /* Completer Abort */
-#define PCI_ERR_UNC_UNX_COMP 0x00010000 /* Unexpected Completion */
-#define PCI_ERR_UNC_RX_OVER 0x00020000 /* Receiver Overflow */
-#define PCI_ERR_UNC_MALF_TLP 0x00040000 /* Malformed TLP */
-#define PCI_ERR_UNC_ECRC 0x00080000 /* ECRC Error Status */
-#define PCI_ERR_UNC_UNSUP 0x00100000 /* Unsupported Request */
-#define PCI_ERR_UNC_ACSV 0x00200000 /* ACS Violation */
-#define PCI_ERR_UNC_INTN 0x00400000 /* internal error */
-#define PCI_ERR_UNC_MCBTLP 0x00800000 /* MC blocked TLP */
-#define PCI_ERR_UNC_ATOMEG 0x01000000 /* Atomic egress blocked */
-#define PCI_ERR_UNC_TLPPRE 0x02000000 /* TLP prefix blocked */
-#define PCI_ERR_UNCOR_MASK 8 /* Uncorrectable Error Mask */
- /* Same bits as above */
-#define PCI_ERR_UNCOR_SEVER 12 /* Uncorrectable Error Severity */
- /* Same bits as above */
-#define PCI_ERR_COR_STATUS 16 /* Correctable Error Status */
-#define PCI_ERR_COR_RCVR 0x00000001 /* Receiver Error Status */
-#define PCI_ERR_COR_BAD_TLP 0x00000040 /* Bad TLP Status */
-#define PCI_ERR_COR_BAD_DLLP 0x00000080 /* Bad DLLP Status */
-#define PCI_ERR_COR_REP_ROLL 0x00000100 /* REPLAY_NUM Rollover */
-#define PCI_ERR_COR_REP_TIMER 0x00001000 /* Replay Timer Timeout */
-#define PCI_ERR_COR_ADV_NFAT 0x00002000 /* Advisory Non-Fatal */
-#define PCI_ERR_COR_INTERNAL 0x00004000 /* Corrected Internal */
-#define PCI_ERR_COR_LOG_OVER 0x00008000 /* Header Log Overflow */
-#define PCI_ERR_COR_MASK 20 /* Correctable Error Mask */
- /* Same bits as above */
-#define PCI_ERR_CAP 24 /* Advanced Error Capabilities */
-#define PCI_ERR_CAP_FEP(x) ((x) & 31) /* First Error Pointer */
-#define PCI_ERR_CAP_ECRC_GENC 0x00000020 /* ECRC Generation Capable */
-#define PCI_ERR_CAP_ECRC_GENE 0x00000040 /* ECRC Generation Enable */
-#define PCI_ERR_CAP_ECRC_CHKC 0x00000080 /* ECRC Check Capable */
-#define PCI_ERR_CAP_ECRC_CHKE 0x00000100 /* ECRC Check Enable */
-#define PCI_ERR_HEADER_LOG 28 /* Header Log Register (16 bytes) */
-#define PCI_ERR_ROOT_COMMAND 44 /* Root Error Command */
-/* Correctable Err Reporting Enable */
-#define PCI_ERR_ROOT_CMD_COR_EN 0x00000001
-/* Non-fatal Err Reporting Enable */
-#define PCI_ERR_ROOT_CMD_NONFATAL_EN 0x00000002
-/* Fatal Err Reporting Enable */
-#define PCI_ERR_ROOT_CMD_FATAL_EN 0x00000004
-#define PCI_ERR_ROOT_STATUS 48
-#define PCI_ERR_ROOT_COR_RCV 0x00000001 /* ERR_COR Received */
-/* Multi ERR_COR Received */
-#define PCI_ERR_ROOT_MULTI_COR_RCV 0x00000002
-/* ERR_FATAL/NONFATAL Received */
-#define PCI_ERR_ROOT_UNCOR_RCV 0x00000004
-/* Multi ERR_FATAL/NONFATAL Received */
-#define PCI_ERR_ROOT_MULTI_UNCOR_RCV 0x00000008
-#define PCI_ERR_ROOT_FIRST_FATAL 0x00000010 /* First Fatal */
-#define PCI_ERR_ROOT_NONFATAL_RCV 0x00000020 /* Non-Fatal Received */
-#define PCI_ERR_ROOT_FATAL_RCV 0x00000040 /* Fatal Received */
-#define PCI_ERR_ROOT_ERR_SRC 52 /* Error Source Identification */
-
-/* Virtual Channel */
-#define PCI_VC_PORT_CAP1 4
-#define PCI_VC_CAP1_EVCC 0x00000007 /* extended VC count */
-#define PCI_VC_CAP1_LPEVCC 0x00000070 /* low prio extended VC count */
-#define PCI_VC_CAP1_ARB_SIZE 0x00000c00
-#define PCI_VC_PORT_CAP2 8
-#define PCI_VC_CAP2_32_PHASE 0x00000002
-#define PCI_VC_CAP2_64_PHASE 0x00000004
-#define PCI_VC_CAP2_128_PHASE 0x00000008
-#define PCI_VC_CAP2_ARB_OFF 0xff000000
-#define PCI_VC_PORT_CTRL 12
-#define PCI_VC_PORT_CTRL_LOAD_TABLE 0x00000001
-#define PCI_VC_PORT_STATUS 14
-#define PCI_VC_PORT_STATUS_TABLE 0x00000001
-#define PCI_VC_RES_CAP 16
-#define PCI_VC_RES_CAP_32_PHASE 0x00000002
-#define PCI_VC_RES_CAP_64_PHASE 0x00000004
-#define PCI_VC_RES_CAP_128_PHASE 0x00000008
-#define PCI_VC_RES_CAP_128_PHASE_TB 0x00000010
-#define PCI_VC_RES_CAP_256_PHASE 0x00000020
-#define PCI_VC_RES_CAP_ARB_OFF 0xff000000
-#define PCI_VC_RES_CTRL 20
-#define PCI_VC_RES_CTRL_LOAD_TABLE 0x00010000
-#define PCI_VC_RES_CTRL_ARB_SELECT 0x000e0000
-#define PCI_VC_RES_CTRL_ID 0x07000000
-#define PCI_VC_RES_CTRL_ENABLE 0x80000000
-#define PCI_VC_RES_STATUS 26
-#define PCI_VC_RES_STATUS_TABLE 0x00000001
-#define PCI_VC_RES_STATUS_NEGO 0x00000002
-#define PCI_CAP_VC_BASE_SIZEOF 0x10
-#define PCI_CAP_VC_PER_VC_SIZEOF 0x0C
-
-/* Power Budgeting */
-#define PCI_PWR_DSR 4 /* Data Select Register */
-#define PCI_PWR_DATA 8 /* Data Register */
-#define PCI_PWR_DATA_BASE(x) ((x) & 0xff) /* Base Power */
-#define PCI_PWR_DATA_SCALE(x) (((x) >> 8) & 3) /* Data Scale */
-#define PCI_PWR_DATA_PM_SUB(x) (((x) >> 10) & 7) /* PM Sub State */
-#define PCI_PWR_DATA_PM_STATE(x) (((x) >> 13) & 3) /* PM State */
-#define PCI_PWR_DATA_TYPE(x) (((x) >> 15) & 7) /* Type */
-#define PCI_PWR_DATA_RAIL(x) (((x) >> 18) & 7) /* Power Rail */
-#define PCI_PWR_CAP 12 /* Capability */
-#define PCI_PWR_CAP_BUDGET(x) ((x) & 1) /* Included in system budget */
-#define PCI_EXT_CAP_PWR_SIZEOF 16
-
-/* Vendor-Specific (VSEC, PCI_EXT_CAP_ID_VNDR) */
-#define PCI_VNDR_HEADER 4 /* Vendor-Specific Header */
-#define PCI_VNDR_HEADER_ID(x) ((x) & 0xffff)
-#define PCI_VNDR_HEADER_REV(x) (((x) >> 16) & 0xf)
-#define PCI_VNDR_HEADER_LEN(x) (((x) >> 20) & 0xfff)
-
-/*
- * HyperTransport sub capability types
- *
- * Unfortunately there are both 3 bit and 5 bit capability types defined
- * in the HT spec, catering for that is a little messy. You probably don't
- * want to use these directly, just use pci_find_ht_capability() and it
- * will do the right thing for you.
- */
-#define HT_3BIT_CAP_MASK 0xE0
-#define HT_CAPTYPE_SLAVE 0x00 /* Slave/Primary link configuration */
-#define HT_CAPTYPE_HOST 0x20 /* Host/Secondary link configuration */
-
-#define HT_5BIT_CAP_MASK 0xF8
-#define HT_CAPTYPE_IRQ 0x80 /* IRQ Configuration */
-#define HT_CAPTYPE_REMAPPING_40 0xA0 /* 40 bit address remapping */
-#define HT_CAPTYPE_REMAPPING_64 0xA2 /* 64 bit address remapping */
-#define HT_CAPTYPE_UNITID_CLUMP 0x90 /* Unit ID clumping */
-#define HT_CAPTYPE_EXTCONF 0x98 /* Extended Configuration Space Access */
-#define HT_CAPTYPE_MSI_MAPPING 0xA8 /* MSI Mapping Capability */
-#define HT_MSI_FLAGS 0x02 /* Offset to flags */
-#define HT_MSI_FLAGS_ENABLE 0x1 /* Mapping enable */
-#define HT_MSI_FLAGS_FIXED 0x2 /* Fixed mapping only */
-#define HT_MSI_FIXED_ADDR 0x00000000FEE00000ULL /* Fixed addr */
-#define HT_MSI_ADDR_LO 0x04 /* Offset to low addr bits */
-#define HT_MSI_ADDR_LO_MASK 0xFFF00000 /* Low address bit mask */
-#define HT_MSI_ADDR_HI 0x08 /* Offset to high addr bits */
-#define HT_CAPTYPE_DIRECT_ROUTE 0xB0 /* Direct routing configuration */
-#define HT_CAPTYPE_VCSET 0xB8 /* Virtual Channel configuration */
-#define HT_CAPTYPE_ERROR_RETRY 0xC0 /* Retry on error configuration */
-#define HT_CAPTYPE_GEN3 0xD0 /* Generation 3 HyperTransport configuration */
-#define HT_CAPTYPE_PM 0xE0 /* HyperTransport power management configuration */
-#define HT_CAP_SIZEOF_LONG 28 /* slave & primary */
-#define HT_CAP_SIZEOF_SHORT 24 /* host & secondary */
-
-/* Alternative Routing-ID Interpretation */
-#define PCI_ARI_CAP 0x04 /* ARI Capability Register */
-#define PCI_ARI_CAP_MFVC 0x0001 /* MFVC Function Groups Capability */
-#define PCI_ARI_CAP_ACS 0x0002 /* ACS Function Groups Capability */
-#define PCI_ARI_CAP_NFN(x) (((x) >> 8) & 0xff) /* Next Function Number */
-#define PCI_ARI_CTRL 0x06 /* ARI Control Register */
-#define PCI_ARI_CTRL_MFVC 0x0001 /* MFVC Function Groups Enable */
-#define PCI_ARI_CTRL_ACS 0x0002 /* ACS Function Groups Enable */
-#define PCI_ARI_CTRL_FG(x) (((x) >> 4) & 7) /* Function Group */
-#define PCI_EXT_CAP_ARI_SIZEOF 8
-
-/* Address Translation Service */
-#define PCI_ATS_CAP 0x04 /* ATS Capability Register */
-#define PCI_ATS_CAP_QDEP(x) ((x) & 0x1f) /* Invalidate Queue Depth */
-#define PCI_ATS_MAX_QDEP 32 /* Max Invalidate Queue Depth */
-#define PCI_ATS_CTRL 0x06 /* ATS Control Register */
-#define PCI_ATS_CTRL_ENABLE 0x8000 /* ATS Enable */
-#define PCI_ATS_CTRL_STU(x) ((x) & 0x1f) /* Smallest Translation Unit */
-#define PCI_ATS_MIN_STU 12 /* shift of minimum STU block */
-#define PCI_EXT_CAP_ATS_SIZEOF 8
-
-/* Page Request Interface */
-#define PCI_PRI_CTRL 0x04 /* PRI control register */
-#define PCI_PRI_CTRL_ENABLE 0x01 /* Enable */
-#define PCI_PRI_CTRL_RESET 0x02 /* Reset */
-#define PCI_PRI_STATUS 0x06 /* PRI status register */
-#define PCI_PRI_STATUS_RF 0x001 /* Response Failure */
-#define PCI_PRI_STATUS_UPRGI 0x002 /* Unexpected PRG index */
-#define PCI_PRI_STATUS_STOPPED 0x100 /* PRI Stopped */
-#define PCI_PRI_MAX_REQ 0x08 /* PRI max reqs supported */
-#define PCI_PRI_ALLOC_REQ 0x0c /* PRI max reqs allowed */
-#define PCI_EXT_CAP_PRI_SIZEOF 16
-
-/* Process Address Space ID */
-#define PCI_PASID_CAP 0x04 /* PASID feature register */
-#define PCI_PASID_CAP_EXEC 0x02 /* Exec permissions Supported */
-#define PCI_PASID_CAP_PRIV 0x04 /* Privilege Mode Supported */
-#define PCI_PASID_CTRL 0x06 /* PASID control register */
-#define PCI_PASID_CTRL_ENABLE 0x01 /* Enable bit */
-#define PCI_PASID_CTRL_EXEC 0x02 /* Exec permissions Enable */
-#define PCI_PASID_CTRL_PRIV 0x04 /* Privilege Mode Enable */
-#define PCI_EXT_CAP_PASID_SIZEOF 8
-
-/* Single Root I/O Virtualization */
-#define PCI_SRIOV_CAP 0x04 /* SR-IOV Capabilities */
-#define PCI_SRIOV_CAP_VFM 0x01 /* VF Migration Capable */
-#define PCI_SRIOV_CAP_INTR(x) ((x) >> 21) /* Interrupt Message Number */
-#define PCI_SRIOV_CTRL 0x08 /* SR-IOV Control */
-#define PCI_SRIOV_CTRL_VFE 0x01 /* VF Enable */
-#define PCI_SRIOV_CTRL_VFM 0x02 /* VF Migration Enable */
-#define PCI_SRIOV_CTRL_INTR 0x04 /* VF Migration Interrupt Enable */
-#define PCI_SRIOV_CTRL_MSE 0x08 /* VF Memory Space Enable */
-#define PCI_SRIOV_CTRL_ARI 0x10 /* ARI Capable Hierarchy */
-#define PCI_SRIOV_STATUS 0x0a /* SR-IOV Status */
-#define PCI_SRIOV_STATUS_VFM 0x01 /* VF Migration Status */
-#define PCI_SRIOV_INITIAL_VF 0x0c /* Initial VFs */
-#define PCI_SRIOV_TOTAL_VF 0x0e /* Total VFs */
-#define PCI_SRIOV_NUM_VF 0x10 /* Number of VFs */
-#define PCI_SRIOV_FUNC_LINK 0x12 /* Function Dependency Link */
-#define PCI_SRIOV_VF_OFFSET 0x14 /* First VF Offset */
-#define PCI_SRIOV_VF_STRIDE 0x16 /* Following VF Stride */
-#define PCI_SRIOV_VF_DID 0x1a /* VF Device ID */
-#define PCI_SRIOV_SUP_PGSIZE 0x1c /* Supported Page Sizes */
-#define PCI_SRIOV_SYS_PGSIZE 0x20 /* System Page Size */
-#define PCI_SRIOV_BAR 0x24 /* VF BAR0 */
-#define PCI_SRIOV_NUM_BARS 6 /* Number of VF BARs */
-#define PCI_SRIOV_VFM 0x3c /* VF Migration State Array Offset*/
-#define PCI_SRIOV_VFM_BIR(x) ((x) & 7) /* State BIR */
-#define PCI_SRIOV_VFM_OFFSET(x) ((x) & ~7) /* State Offset */
-#define PCI_SRIOV_VFM_UA 0x0 /* Inactive.Unavailable */
-#define PCI_SRIOV_VFM_MI 0x1 /* Dormant.MigrateIn */
-#define PCI_SRIOV_VFM_MO 0x2 /* Active.MigrateOut */
-#define PCI_SRIOV_VFM_AV 0x3 /* Active.Available */
-#define PCI_EXT_CAP_SRIOV_SIZEOF 64
-
-#define PCI_LTR_MAX_SNOOP_LAT 0x4
-#define PCI_LTR_MAX_NOSNOOP_LAT 0x6
-#define PCI_LTR_VALUE_MASK 0x000003ff
-#define PCI_LTR_SCALE_MASK 0x00001c00
-#define PCI_LTR_SCALE_SHIFT 10
-#define PCI_EXT_CAP_LTR_SIZEOF 8
-
-/* Access Control Service */
-#define PCI_ACS_CAP 0x04 /* ACS Capability Register */
-#define PCI_ACS_SV 0x01 /* Source Validation */
-#define PCI_ACS_TB 0x02 /* Translation Blocking */
-#define PCI_ACS_RR 0x04 /* P2P Request Redirect */
-#define PCI_ACS_CR 0x08 /* P2P Completion Redirect */
-#define PCI_ACS_UF 0x10 /* Upstream Forwarding */
-#define PCI_ACS_EC 0x20 /* P2P Egress Control */
-#define PCI_ACS_DT 0x40 /* Direct Translated P2P */
-#define PCI_ACS_EGRESS_BITS 0x05 /* ACS Egress Control Vector Size */
-#define PCI_ACS_CTRL 0x06 /* ACS Control Register */
-#define PCI_ACS_EGRESS_CTL_V 0x08 /* ACS Egress Control Vector */
-
-#define PCI_VSEC_HDR 4 /* extended cap - vendor-specific */
-#define PCI_VSEC_HDR_LEN_SHIFT 20 /* shift for length field */
-
-/* SATA capability */
-#define PCI_SATA_REGS 4 /* SATA REGs specifier */
-#define PCI_SATA_REGS_MASK 0xF /* location - BAR#/inline */
-#define PCI_SATA_REGS_INLINE 0xF /* REGS in config space */
-#define PCI_SATA_SIZEOF_SHORT 8
-#define PCI_SATA_SIZEOF_LONG 16
-
-/* Resizable BARs */
-#define PCI_REBAR_CTRL 8 /* control register */
-#define PCI_REBAR_CTRL_NBAR_MASK (7 << 5) /* mask for # bars */
-#define PCI_REBAR_CTRL_NBAR_SHIFT 5 /* shift for # bars */
-
-/* Dynamic Power Allocation */
-#define PCI_DPA_CAP 4 /* capability register */
-#define PCI_DPA_CAP_SUBSTATE_MASK 0x1F /* # substates - 1 */
-#define PCI_DPA_BASE_SIZEOF 16 /* size with 0 substates */
-
-/* TPH Requester */
-#define PCI_TPH_CAP 4 /* capability register */
-#define PCI_TPH_CAP_LOC_MASK 0x600 /* location mask */
-#define PCI_TPH_LOC_NONE 0x000 /* no location */
-#define PCI_TPH_LOC_CAP 0x200 /* in capability */
-#define PCI_TPH_LOC_MSIX 0x400 /* in MSI-X */
-#define PCI_TPH_CAP_ST_MASK 0x07FF0000 /* st table mask */
-#define PCI_TPH_CAP_ST_SHIFT 16 /* st table shift */
-#define PCI_TPH_BASE_SIZEOF 12 /* size with no st table */
-
-#endif /* LINUX_PCI_REGS_H */
diff --git a/linux-headers/include/linux/perf_event.h b/linux-headers/include/linux/perf_event.h
deleted file mode 100644
index 4d7f9cd..0000000
--- a/linux-headers/include/linux/perf_event.h
+++ /dev/null
@@ -1,976 +0,0 @@
-/*
- * Performance events:
- *
- * Copyright (C) 2008-2009, Thomas Gleixner <tglx@linutronix.de>
- * Copyright (C) 2008-2011, Red Hat, Inc., Ingo Molnar
- * Copyright (C) 2008-2011, Red Hat, Inc., Peter Zijlstra
- *
- * Data type definitions, declarations, prototypes.
- *
- * Started by: Thomas Gleixner and Ingo Molnar
- *
- * For licencing details see kernel-base/COPYING
- */
-#ifndef _LINUX_PERF_EVENT_H
-#define _LINUX_PERF_EVENT_H
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-#include <asm/byteorder.h>
-
-/*
- * User-space ABI bits:
- */
-
-/*
- * attr.type
- */
-enum perf_type_id {
- PERF_TYPE_HARDWARE = 0,
- PERF_TYPE_SOFTWARE = 1,
- PERF_TYPE_TRACEPOINT = 2,
- PERF_TYPE_HW_CACHE = 3,
- PERF_TYPE_RAW = 4,
- PERF_TYPE_BREAKPOINT = 5,
-
- PERF_TYPE_MAX, /* non-ABI */
-};
-
-/*
- * Generalized performance event event_id types, used by the
- * attr.event_id parameter of the sys_perf_event_open()
- * syscall:
- */
-enum perf_hw_id {
- /*
- * Common hardware events, generalized by the kernel:
- */
- PERF_COUNT_HW_CPU_CYCLES = 0,
- PERF_COUNT_HW_INSTRUCTIONS = 1,
- PERF_COUNT_HW_CACHE_REFERENCES = 2,
- PERF_COUNT_HW_CACHE_MISSES = 3,
- PERF_COUNT_HW_BRANCH_INSTRUCTIONS = 4,
- PERF_COUNT_HW_BRANCH_MISSES = 5,
- PERF_COUNT_HW_BUS_CYCLES = 6,
- PERF_COUNT_HW_STALLED_CYCLES_FRONTEND = 7,
- PERF_COUNT_HW_STALLED_CYCLES_BACKEND = 8,
- PERF_COUNT_HW_REF_CPU_CYCLES = 9,
-
- PERF_COUNT_HW_MAX, /* non-ABI */
-};
-
-/*
- * Generalized hardware cache events:
- *
- * { L1-D, L1-I, LLC, ITLB, DTLB, BPU, NODE } x
- * { read, write, prefetch } x
- * { accesses, misses }
- */
-enum perf_hw_cache_id {
- PERF_COUNT_HW_CACHE_L1D = 0,
- PERF_COUNT_HW_CACHE_L1I = 1,
- PERF_COUNT_HW_CACHE_LL = 2,
- PERF_COUNT_HW_CACHE_DTLB = 3,
- PERF_COUNT_HW_CACHE_ITLB = 4,
- PERF_COUNT_HW_CACHE_BPU = 5,
- PERF_COUNT_HW_CACHE_NODE = 6,
-
- PERF_COUNT_HW_CACHE_MAX, /* non-ABI */
-};
-
-enum perf_hw_cache_op_id {
- PERF_COUNT_HW_CACHE_OP_READ = 0,
- PERF_COUNT_HW_CACHE_OP_WRITE = 1,
- PERF_COUNT_HW_CACHE_OP_PREFETCH = 2,
-
- PERF_COUNT_HW_CACHE_OP_MAX, /* non-ABI */
-};
-
-enum perf_hw_cache_op_result_id {
- PERF_COUNT_HW_CACHE_RESULT_ACCESS = 0,
- PERF_COUNT_HW_CACHE_RESULT_MISS = 1,
-
- PERF_COUNT_HW_CACHE_RESULT_MAX, /* non-ABI */
-};
-
-/*
- * Special "software" events provided by the kernel, even if the hardware
- * does not support performance events. These events measure various
- * physical and sw events of the kernel (and allow the profiling of them as
- * well):
- */
-enum perf_sw_ids {
- PERF_COUNT_SW_CPU_CLOCK = 0,
- PERF_COUNT_SW_TASK_CLOCK = 1,
- PERF_COUNT_SW_PAGE_FAULTS = 2,
- PERF_COUNT_SW_CONTEXT_SWITCHES = 3,
- PERF_COUNT_SW_CPU_MIGRATIONS = 4,
- PERF_COUNT_SW_PAGE_FAULTS_MIN = 5,
- PERF_COUNT_SW_PAGE_FAULTS_MAJ = 6,
- PERF_COUNT_SW_ALIGNMENT_FAULTS = 7,
- PERF_COUNT_SW_EMULATION_FAULTS = 8,
- PERF_COUNT_SW_DUMMY = 9,
- PERF_COUNT_SW_BPF_OUTPUT = 10,
-
- PERF_COUNT_SW_MAX, /* non-ABI */
-};
-
-/*
- * Bits that can be set in attr.sample_type to request information
- * in the overflow packets.
- */
-enum perf_event_sample_format {
- PERF_SAMPLE_IP = 1U << 0,
- PERF_SAMPLE_TID = 1U << 1,
- PERF_SAMPLE_TIME = 1U << 2,
- PERF_SAMPLE_ADDR = 1U << 3,
- PERF_SAMPLE_READ = 1U << 4,
- PERF_SAMPLE_CALLCHAIN = 1U << 5,
- PERF_SAMPLE_ID = 1U << 6,
- PERF_SAMPLE_CPU = 1U << 7,
- PERF_SAMPLE_PERIOD = 1U << 8,
- PERF_SAMPLE_STREAM_ID = 1U << 9,
- PERF_SAMPLE_RAW = 1U << 10,
- PERF_SAMPLE_BRANCH_STACK = 1U << 11,
- PERF_SAMPLE_REGS_USER = 1U << 12,
- PERF_SAMPLE_STACK_USER = 1U << 13,
- PERF_SAMPLE_WEIGHT = 1U << 14,
- PERF_SAMPLE_DATA_SRC = 1U << 15,
- PERF_SAMPLE_IDENTIFIER = 1U << 16,
- PERF_SAMPLE_TRANSACTION = 1U << 17,
- PERF_SAMPLE_REGS_INTR = 1U << 18,
-
- PERF_SAMPLE_MAX = 1U << 19, /* non-ABI */
-};
-
-/*
- * values to program into branch_sample_type when PERF_SAMPLE_BRANCH is set
- *
- * If the user does not pass priv level information via branch_sample_type,
- * the kernel uses the event's priv level. Branch and event priv levels do
- * not have to match. Branch priv level is checked for permissions.
- *
- * The branch types can be combined, however BRANCH_ANY covers all types
- * of branches and therefore it supersedes all the other types.
- */
-enum perf_branch_sample_type_shift {
- PERF_SAMPLE_BRANCH_USER_SHIFT = 0, /* user branches */
- PERF_SAMPLE_BRANCH_KERNEL_SHIFT = 1, /* kernel branches */
- PERF_SAMPLE_BRANCH_HV_SHIFT = 2, /* hypervisor branches */
-
- PERF_SAMPLE_BRANCH_ANY_SHIFT = 3, /* any branch types */
- PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT = 4, /* any call branch */
- PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT = 5, /* any return branch */
- PERF_SAMPLE_BRANCH_IND_CALL_SHIFT = 6, /* indirect calls */
- PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT = 7, /* transaction aborts */
- PERF_SAMPLE_BRANCH_IN_TX_SHIFT = 8, /* in transaction */
- PERF_SAMPLE_BRANCH_NO_TX_SHIFT = 9, /* not in transaction */
- PERF_SAMPLE_BRANCH_COND_SHIFT = 10, /* conditional branches */
-
- PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT = 11, /* call/ret stack */
- PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT = 12, /* indirect jumps */
- PERF_SAMPLE_BRANCH_CALL_SHIFT = 13, /* direct call */
-
- PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT = 14, /* no flags */
- PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT = 15, /* no cycles */
-
- PERF_SAMPLE_BRANCH_MAX_SHIFT /* non-ABI */
-};
-
-enum perf_branch_sample_type {
- PERF_SAMPLE_BRANCH_USER = 1U << PERF_SAMPLE_BRANCH_USER_SHIFT,
- PERF_SAMPLE_BRANCH_KERNEL = 1U << PERF_SAMPLE_BRANCH_KERNEL_SHIFT,
- PERF_SAMPLE_BRANCH_HV = 1U << PERF_SAMPLE_BRANCH_HV_SHIFT,
-
- PERF_SAMPLE_BRANCH_ANY = 1U << PERF_SAMPLE_BRANCH_ANY_SHIFT,
- PERF_SAMPLE_BRANCH_ANY_CALL = 1U << PERF_SAMPLE_BRANCH_ANY_CALL_SHIFT,
- PERF_SAMPLE_BRANCH_ANY_RETURN = 1U << PERF_SAMPLE_BRANCH_ANY_RETURN_SHIFT,
- PERF_SAMPLE_BRANCH_IND_CALL = 1U << PERF_SAMPLE_BRANCH_IND_CALL_SHIFT,
- PERF_SAMPLE_BRANCH_ABORT_TX = 1U << PERF_SAMPLE_BRANCH_ABORT_TX_SHIFT,
- PERF_SAMPLE_BRANCH_IN_TX = 1U << PERF_SAMPLE_BRANCH_IN_TX_SHIFT,
- PERF_SAMPLE_BRANCH_NO_TX = 1U << PERF_SAMPLE_BRANCH_NO_TX_SHIFT,
- PERF_SAMPLE_BRANCH_COND = 1U << PERF_SAMPLE_BRANCH_COND_SHIFT,
-
- PERF_SAMPLE_BRANCH_CALL_STACK = 1U << PERF_SAMPLE_BRANCH_CALL_STACK_SHIFT,
- PERF_SAMPLE_BRANCH_IND_JUMP = 1U << PERF_SAMPLE_BRANCH_IND_JUMP_SHIFT,
- PERF_SAMPLE_BRANCH_CALL = 1U << PERF_SAMPLE_BRANCH_CALL_SHIFT,
-
- PERF_SAMPLE_BRANCH_NO_FLAGS = 1U << PERF_SAMPLE_BRANCH_NO_FLAGS_SHIFT,
- PERF_SAMPLE_BRANCH_NO_CYCLES = 1U << PERF_SAMPLE_BRANCH_NO_CYCLES_SHIFT,
-
- PERF_SAMPLE_BRANCH_MAX = 1U << PERF_SAMPLE_BRANCH_MAX_SHIFT,
-};
-
-#define PERF_SAMPLE_BRANCH_PLM_ALL \
- (PERF_SAMPLE_BRANCH_USER|\
- PERF_SAMPLE_BRANCH_KERNEL|\
- PERF_SAMPLE_BRANCH_HV)
-
-/*
- * Values to determine ABI of the registers dump.
- */
-enum perf_sample_regs_abi {
- PERF_SAMPLE_REGS_ABI_NONE = 0,
- PERF_SAMPLE_REGS_ABI_32 = 1,
- PERF_SAMPLE_REGS_ABI_64 = 2,
-};
-
-/*
- * Values for the memory transaction event qualifier, mostly for
- * abort events. Multiple bits can be set.
- */
-enum {
- PERF_TXN_ELISION = (1 << 0), /* From elision */
- PERF_TXN_TRANSACTION = (1 << 1), /* From transaction */
- PERF_TXN_SYNC = (1 << 2), /* Instruction is related */
- PERF_TXN_ASYNC = (1 << 3), /* Instruction not related */
- PERF_TXN_RETRY = (1 << 4), /* Retry possible */
- PERF_TXN_CONFLICT = (1 << 5), /* Conflict abort */
- PERF_TXN_CAPACITY_WRITE = (1 << 6), /* Capacity write abort */
- PERF_TXN_CAPACITY_READ = (1 << 7), /* Capacity read abort */
-
- PERF_TXN_MAX = (1 << 8), /* non-ABI */
-
- /* bits 32..63 are reserved for the abort code */
-
- PERF_TXN_ABORT_MASK = (0xffffffffULL << 32),
- PERF_TXN_ABORT_SHIFT = 32,
-};
-
-/*
- * The format of the data returned by read() on a perf event fd,
- * as specified by attr.read_format:
- *
- * struct read_format {
- * { u64 value;
- * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED
- * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING
- * { u64 id; } && PERF_FORMAT_ID
- * } && !PERF_FORMAT_GROUP
- *
- * { u64 nr;
- * { u64 time_enabled; } && PERF_FORMAT_TOTAL_TIME_ENABLED
- * { u64 time_running; } && PERF_FORMAT_TOTAL_TIME_RUNNING
- * { u64 value;
- * { u64 id; } && PERF_FORMAT_ID
- * } cntr[nr];
- * } && PERF_FORMAT_GROUP
- * };
- */
-enum perf_event_read_format {
- PERF_FORMAT_TOTAL_TIME_ENABLED = 1U << 0,
- PERF_FORMAT_TOTAL_TIME_RUNNING = 1U << 1,
- PERF_FORMAT_ID = 1U << 2,
- PERF_FORMAT_GROUP = 1U << 3,
-
- PERF_FORMAT_MAX = 1U << 4, /* non-ABI */
-};
-
-#define PERF_ATTR_SIZE_VER0 64 /* sizeof first published struct */
-#define PERF_ATTR_SIZE_VER1 72 /* add: config2 */
-#define PERF_ATTR_SIZE_VER2 80 /* add: branch_sample_type */
-#define PERF_ATTR_SIZE_VER3 96 /* add: sample_regs_user */
- /* add: sample_stack_user */
-#define PERF_ATTR_SIZE_VER4 104 /* add: sample_regs_intr */
-#define PERF_ATTR_SIZE_VER5 112 /* add: aux_watermark */
-
-/*
- * Hardware event_id to monitor via a performance monitoring event:
- */
-struct perf_event_attr {
-
- /*
- * Major type: hardware/software/tracepoint/etc.
- */
- __u32 type;
-
- /*
- * Size of the attr structure, for fwd/bwd compat.
- */
- __u32 size;
-
- /*
- * Type specific configuration information.
- */
- __u64 config;
-
- union {
- __u64 sample_period;
- __u64 sample_freq;
- };
-
- __u64 sample_type;
- __u64 read_format;
-
- __u64 disabled : 1, /* off by default */
- inherit : 1, /* children inherit it */
- pinned : 1, /* must always be on PMU */
- exclusive : 1, /* only group on PMU */
- exclude_user : 1, /* don't count user */
- exclude_kernel : 1, /* ditto kernel */
- exclude_hv : 1, /* ditto hypervisor */
- exclude_idle : 1, /* don't count when idle */
- mmap : 1, /* include mmap data */
- comm : 1, /* include comm data */
- freq : 1, /* use freq, not period */
- inherit_stat : 1, /* per task counts */
- enable_on_exec : 1, /* next exec enables */
- task : 1, /* trace fork/exit */
- watermark : 1, /* wakeup_watermark */
- /*
- * precise_ip:
- *
- * 0 - SAMPLE_IP can have arbitrary skid
- * 1 - SAMPLE_IP must have constant skid
- * 2 - SAMPLE_IP requested to have 0 skid
- * 3 - SAMPLE_IP must have 0 skid
- *
- * See also PERF_RECORD_MISC_EXACT_IP
- */
- precise_ip : 2, /* skid constraint */
- mmap_data : 1, /* non-exec mmap data */
- sample_id_all : 1, /* sample_type all events */
-
- exclude_host : 1, /* don't count in host */
- exclude_guest : 1, /* don't count in guest */
-
- exclude_callchain_kernel : 1, /* exclude kernel callchains */
- exclude_callchain_user : 1, /* exclude user callchains */
- mmap2 : 1, /* include mmap with inode data */
- comm_exec : 1, /* flag comm events that are due to an exec */
- use_clockid : 1, /* use @clockid for time fields */
- context_switch : 1, /* context switch data */
- __reserved_1 : 37;
-
- union {
- __u32 wakeup_events; /* wakeup every n events */
- __u32 wakeup_watermark; /* bytes before wakeup */
- };
-
- __u32 bp_type;
- union {
- __u64 bp_addr;
- __u64 config1; /* extension of config */
- };
- union {
- __u64 bp_len;
- __u64 config2; /* extension of config1 */
- };
- __u64 branch_sample_type; /* enum perf_branch_sample_type */
-
- /*
- * Defines set of user regs to dump on samples.
- * See asm/perf_regs.h for details.
- */
- __u64 sample_regs_user;
-
- /*
- * Defines size of the user stack to dump on samples.
- */
- __u32 sample_stack_user;
-
- __s32 clockid;
- /*
- * Defines set of regs to dump for each sample
- * state captured on:
- * - precise = 0: PMU interrupt
- * - precise > 0: sampled instruction
- *
- * See asm/perf_regs.h for details.
- */
- __u64 sample_regs_intr;
-
- /*
- * Wakeup watermark for AUX area
- */
- __u32 aux_watermark;
- __u32 __reserved_2; /* align to __u64 */
-};
-
-#define perf_flags(attr) (*(&(attr)->read_format + 1))
-
-/*
- * Ioctls that can be done on a perf event fd:
- */
-#define PERF_EVENT_IOC_ENABLE _IO ('$', 0)
-#define PERF_EVENT_IOC_DISABLE _IO ('$', 1)
-#define PERF_EVENT_IOC_REFRESH _IO ('$', 2)
-#define PERF_EVENT_IOC_RESET _IO ('$', 3)
-#define PERF_EVENT_IOC_PERIOD _IOW('$', 4, __u64)
-#define PERF_EVENT_IOC_SET_OUTPUT _IO ('$', 5)
-#define PERF_EVENT_IOC_SET_FILTER _IOW('$', 6, char *)
-#define PERF_EVENT_IOC_ID _IOR('$', 7, __u64 *)
-#define PERF_EVENT_IOC_SET_BPF _IOW('$', 8, __u32)
-
-enum perf_event_ioc_flags {
- PERF_IOC_FLAG_GROUP = 1U << 0,
-};
-
-/*
- * Structure of the page that can be mapped via mmap
- */
-struct perf_event_mmap_page {
- __u32 version; /* version number of this structure */
- __u32 compat_version; /* lowest version this is compat with */
-
- /*
- * Bits needed to read the hw events in user-space.
- *
- * u32 seq, time_mult, time_shift, index, width;
- * u64 count, enabled, running;
- * u64 cyc, time_offset;
- * s64 pmc = 0;
- *
- * do {
- * seq = pc->lock;
- * barrier()
- *
- * enabled = pc->time_enabled;
- * running = pc->time_running;
- *
- * if (pc->cap_usr_time && enabled != running) {
- * cyc = rdtsc();
- * time_offset = pc->time_offset;
- * time_mult = pc->time_mult;
- * time_shift = pc->time_shift;
- * }
- *
- * index = pc->index;
- * count = pc->offset;
- * if (pc->cap_user_rdpmc && index) {
- * width = pc->pmc_width;
- * pmc = rdpmc(index - 1);
- * }
- *
- * barrier();
- * } while (pc->lock != seq);
- *
- * NOTE: for obvious reason this only works on self-monitoring
- * processes.
- */
- __u32 lock; /* seqlock for synchronization */
- __u32 index; /* hardware event identifier */
- __s64 offset; /* add to hardware event value */
- __u64 time_enabled; /* time event active */
- __u64 time_running; /* time event on cpu */
- union {
- __u64 capabilities;
- struct {
- __u64 cap_bit0 : 1, /* Always 0, deprecated, see commit 860f085b74e9 */
- cap_bit0_is_deprecated : 1, /* Always 1, signals that bit 0 is zero */
-
- cap_user_rdpmc : 1, /* The RDPMC instruction can be used to read counts */
- cap_user_time : 1, /* The time_* fields are used */
- cap_user_time_zero : 1, /* The time_zero field is used */
- cap_____res : 59;
- };
- };
-
- /*
- * If cap_user_rdpmc this field provides the bit-width of the value
- * read using the rdpmc() or equivalent instruction. This can be used
- * to sign extend the result like:
- *
- * pmc <<= 64 - width;
- * pmc >>= 64 - width; // signed shift right
- * count += pmc;
- */
- __u16 pmc_width;
-
- /*
- * If cap_usr_time the below fields can be used to compute the time
- * delta since time_enabled (in ns) using rdtsc or similar.
- *
- * u64 quot, rem;
- * u64 delta;
- *
- * quot = (cyc >> time_shift);
- * rem = cyc & (((u64)1 << time_shift) - 1);
- * delta = time_offset + quot * time_mult +
- * ((rem * time_mult) >> time_shift);
- *
- * Where time_offset,time_mult,time_shift and cyc are read in the
- * seqcount loop described above. This delta can then be added to
- * enabled and possible running (if index), improving the scaling:
- *
- * enabled += delta;
- * if (index)
- * running += delta;
- *
- * quot = count / running;
- * rem = count % running;
- * count = quot * enabled + (rem * enabled) / running;
- */
- __u16 time_shift;
- __u32 time_mult;
- __u64 time_offset;
- /*
- * If cap_usr_time_zero, the hardware clock (e.g. TSC) can be calculated
- * from sample timestamps.
- *
- * time = timestamp - time_zero;
- * quot = time / time_mult;
- * rem = time % time_mult;
- * cyc = (quot << time_shift) + (rem << time_shift) / time_mult;
- *
- * And vice versa:
- *
- * quot = cyc >> time_shift;
- * rem = cyc & (((u64)1 << time_shift) - 1);
- * timestamp = time_zero + quot * time_mult +
- * ((rem * time_mult) >> time_shift);
- */
- __u64 time_zero;
- __u32 size; /* Header size up to __reserved[] fields. */
-
- /*
- * Hole for extension of the self monitor capabilities
- */
-
- __u8 __reserved[118*8+4]; /* align to 1k. */
-
- /*
- * Control data for the mmap() data buffer.
- *
- * User-space reading the @data_head value should issue an smp_rmb(),
- * after reading this value.
- *
- * When the mapping is PROT_WRITE the @data_tail value should be
- * written by userspace to reflect the last read data, after issueing
- * an smp_mb() to separate the data read from the ->data_tail store.
- * In this case the kernel will not over-write unread data.
- *
- * See perf_output_put_handle() for the data ordering.
- *
- * data_{offset,size} indicate the location and size of the perf record
- * buffer within the mmapped area.
- */
- __u64 data_head; /* head in the data section */
- __u64 data_tail; /* user-space written tail */
- __u64 data_offset; /* where the buffer starts */
- __u64 data_size; /* data buffer size */
-
- /*
- * AUX area is defined by aux_{offset,size} fields that should be set
- * by the userspace, so that
- *
- * aux_offset >= data_offset + data_size
- *
- * prior to mmap()ing it. Size of the mmap()ed area should be aux_size.
- *
- * Ring buffer pointers aux_{head,tail} have the same semantics as
- * data_{head,tail} and same ordering rules apply.
- */
- __u64 aux_head;
- __u64 aux_tail;
- __u64 aux_offset;
- __u64 aux_size;
-};
-
-#define PERF_RECORD_MISC_CPUMODE_MASK (7 << 0)
-#define PERF_RECORD_MISC_CPUMODE_UNKNOWN (0 << 0)
-#define PERF_RECORD_MISC_KERNEL (1 << 0)
-#define PERF_RECORD_MISC_USER (2 << 0)
-#define PERF_RECORD_MISC_HYPERVISOR (3 << 0)
-#define PERF_RECORD_MISC_GUEST_KERNEL (4 << 0)
-#define PERF_RECORD_MISC_GUEST_USER (5 << 0)
-
-/*
- * Indicates that /proc/PID/maps parsing are truncated by time out.
- */
-#define PERF_RECORD_MISC_PROC_MAP_PARSE_TIMEOUT (1 << 12)
-/*
- * PERF_RECORD_MISC_MMAP_DATA and PERF_RECORD_MISC_COMM_EXEC are used on
- * different events so can reuse the same bit position.
- * Ditto PERF_RECORD_MISC_SWITCH_OUT.
- */
-#define PERF_RECORD_MISC_MMAP_DATA (1 << 13)
-#define PERF_RECORD_MISC_COMM_EXEC (1 << 13)
-#define PERF_RECORD_MISC_SWITCH_OUT (1 << 13)
-/*
- * Indicates that the content of PERF_SAMPLE_IP points to
- * the actual instruction that triggered the event. See also
- * perf_event_attr::precise_ip.
- */
-#define PERF_RECORD_MISC_EXACT_IP (1 << 14)
-/*
- * Reserve the last bit to indicate some extended misc field
- */
-#define PERF_RECORD_MISC_EXT_RESERVED (1 << 15)
-
-struct perf_event_header {
- __u32 type;
- __u16 misc;
- __u16 size;
-};
-
-enum perf_event_type {
-
- /*
- * If perf_event_attr.sample_id_all is set then all event types will
- * have the sample_type selected fields related to where/when
- * (identity) an event took place (TID, TIME, ID, STREAM_ID, CPU,
- * IDENTIFIER) described in PERF_RECORD_SAMPLE below, it will be stashed
- * just after the perf_event_header and the fields already present for
- * the existing fields, i.e. at the end of the payload. That way a newer
- * perf.data file will be supported by older perf tools, with these new
- * optional fields being ignored.
- *
- * struct sample_id {
- * { u32 pid, tid; } && PERF_SAMPLE_TID
- * { u64 time; } && PERF_SAMPLE_TIME
- * { u64 id; } && PERF_SAMPLE_ID
- * { u64 stream_id;} && PERF_SAMPLE_STREAM_ID
- * { u32 cpu, res; } && PERF_SAMPLE_CPU
- * { u64 id; } && PERF_SAMPLE_IDENTIFIER
- * } && perf_event_attr::sample_id_all
- *
- * Note that PERF_SAMPLE_IDENTIFIER duplicates PERF_SAMPLE_ID. The
- * advantage of PERF_SAMPLE_IDENTIFIER is that its position is fixed
- * relative to header.size.
- */
-
- /*
- * The MMAP events record the PROT_EXEC mappings so that we can
- * correlate userspace IPs to code. They have the following structure:
- *
- * struct {
- * struct perf_event_header header;
- *
- * u32 pid, tid;
- * u64 addr;
- * u64 len;
- * u64 pgoff;
- * char filename[];
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_MMAP = 1,
-
- /*
- * struct {
- * struct perf_event_header header;
- * u64 id;
- * u64 lost;
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_LOST = 2,
-
- /*
- * struct {
- * struct perf_event_header header;
- *
- * u32 pid, tid;
- * char comm[];
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_COMM = 3,
-
- /*
- * struct {
- * struct perf_event_header header;
- * u32 pid, ppid;
- * u32 tid, ptid;
- * u64 time;
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_EXIT = 4,
-
- /*
- * struct {
- * struct perf_event_header header;
- * u64 time;
- * u64 id;
- * u64 stream_id;
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_THROTTLE = 5,
- PERF_RECORD_UNTHROTTLE = 6,
-
- /*
- * struct {
- * struct perf_event_header header;
- * u32 pid, ppid;
- * u32 tid, ptid;
- * u64 time;
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_FORK = 7,
-
- /*
- * struct {
- * struct perf_event_header header;
- * u32 pid, tid;
- *
- * struct read_format values;
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_READ = 8,
-
- /*
- * struct {
- * struct perf_event_header header;
- *
- * #
- * # Note that PERF_SAMPLE_IDENTIFIER duplicates PERF_SAMPLE_ID.
- * # The advantage of PERF_SAMPLE_IDENTIFIER is that its position
- * # is fixed relative to header.
- * #
- *
- * { u64 id; } && PERF_SAMPLE_IDENTIFIER
- * { u64 ip; } && PERF_SAMPLE_IP
- * { u32 pid, tid; } && PERF_SAMPLE_TID
- * { u64 time; } && PERF_SAMPLE_TIME
- * { u64 addr; } && PERF_SAMPLE_ADDR
- * { u64 id; } && PERF_SAMPLE_ID
- * { u64 stream_id;} && PERF_SAMPLE_STREAM_ID
- * { u32 cpu, res; } && PERF_SAMPLE_CPU
- * { u64 period; } && PERF_SAMPLE_PERIOD
- *
- * { struct read_format values; } && PERF_SAMPLE_READ
- *
- * { u64 nr,
- * u64 ips[nr]; } && PERF_SAMPLE_CALLCHAIN
- *
- * #
- * # The RAW record below is opaque data wrt the ABI
- * #
- * # That is, the ABI doesn't make any promises wrt to
- * # the stability of its content, it may vary depending
- * # on event, hardware, kernel version and phase of
- * # the moon.
- * #
- * # In other words, PERF_SAMPLE_RAW contents are not an ABI.
- * #
- *
- * { u32 size;
- * char data[size];}&& PERF_SAMPLE_RAW
- *
- * { u64 nr;
- * { u64 from, to, flags } lbr[nr];} && PERF_SAMPLE_BRANCH_STACK
- *
- * { u64 abi; # enum perf_sample_regs_abi
- * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_USER
- *
- * { u64 size;
- * char data[size];
- * u64 dyn_size; } && PERF_SAMPLE_STACK_USER
- *
- * { u64 weight; } && PERF_SAMPLE_WEIGHT
- * { u64 data_src; } && PERF_SAMPLE_DATA_SRC
- * { u64 transaction; } && PERF_SAMPLE_TRANSACTION
- * { u64 abi; # enum perf_sample_regs_abi
- * u64 regs[weight(mask)]; } && PERF_SAMPLE_REGS_INTR
- * };
- */
- PERF_RECORD_SAMPLE = 9,
-
- /*
- * The MMAP2 records are an augmented version of MMAP, they add
- * maj, min, ino numbers to be used to uniquely identify each mapping
- *
- * struct {
- * struct perf_event_header header;
- *
- * u32 pid, tid;
- * u64 addr;
- * u64 len;
- * u64 pgoff;
- * u32 maj;
- * u32 min;
- * u64 ino;
- * u64 ino_generation;
- * u32 prot, flags;
- * char filename[];
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_MMAP2 = 10,
-
- /*
- * Records that new data landed in the AUX buffer part.
- *
- * struct {
- * struct perf_event_header header;
- *
- * u64 aux_offset;
- * u64 aux_size;
- * u64 flags;
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_AUX = 11,
-
- /*
- * Indicates that instruction trace has started
- *
- * struct {
- * struct perf_event_header header;
- * u32 pid;
- * u32 tid;
- * };
- */
- PERF_RECORD_ITRACE_START = 12,
-
- /*
- * Records the dropped/lost sample number.
- *
- * struct {
- * struct perf_event_header header;
- *
- * u64 lost;
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_LOST_SAMPLES = 13,
-
- /*
- * Records a context switch in or out (flagged by
- * PERF_RECORD_MISC_SWITCH_OUT). See also
- * PERF_RECORD_SWITCH_CPU_WIDE.
- *
- * struct {
- * struct perf_event_header header;
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_SWITCH = 14,
-
- /*
- * CPU-wide version of PERF_RECORD_SWITCH with next_prev_pid and
- * next_prev_tid that are the next (switching out) or previous
- * (switching in) pid/tid.
- *
- * struct {
- * struct perf_event_header header;
- * u32 next_prev_pid;
- * u32 next_prev_tid;
- * struct sample_id sample_id;
- * };
- */
- PERF_RECORD_SWITCH_CPU_WIDE = 15,
-
- PERF_RECORD_MAX, /* non-ABI */
-};
-
-#define PERF_MAX_STACK_DEPTH 127
-
-enum perf_callchain_context {
- PERF_CONTEXT_HV = (__u64)-32,
- PERF_CONTEXT_KERNEL = (__u64)-128,
- PERF_CONTEXT_USER = (__u64)-512,
-
- PERF_CONTEXT_GUEST = (__u64)-2048,
- PERF_CONTEXT_GUEST_KERNEL = (__u64)-2176,
- PERF_CONTEXT_GUEST_USER = (__u64)-2560,
-
- PERF_CONTEXT_MAX = (__u64)-4095,
-};
-
-/**
- * PERF_RECORD_AUX::flags bits
- */
-#define PERF_AUX_FLAG_TRUNCATED 0x01 /* record was truncated to fit */
-#define PERF_AUX_FLAG_OVERWRITE 0x02 /* snapshot from overwrite mode */
-
-#define PERF_FLAG_FD_NO_GROUP (1UL << 0)
-#define PERF_FLAG_FD_OUTPUT (1UL << 1)
-#define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */
-#define PERF_FLAG_FD_CLOEXEC (1UL << 3) /* O_CLOEXEC */
-
-union perf_mem_data_src {
- __u64 val;
- struct {
- __u64 mem_op:5, /* type of opcode */
- mem_lvl:14, /* memory hierarchy level */
- mem_snoop:5, /* snoop mode */
- mem_lock:2, /* lock instr */
- mem_dtlb:7, /* tlb access */
- mem_rsvd:31;
- };
-};
-
-/* type of opcode (load/store/prefetch,code) */
-#define PERF_MEM_OP_NA 0x01 /* not available */
-#define PERF_MEM_OP_LOAD 0x02 /* load instruction */
-#define PERF_MEM_OP_STORE 0x04 /* store instruction */
-#define PERF_MEM_OP_PFETCH 0x08 /* prefetch */
-#define PERF_MEM_OP_EXEC 0x10 /* code (execution) */
-#define PERF_MEM_OP_SHIFT 0
-
-/* memory hierarchy (memory level, hit or miss) */
-#define PERF_MEM_LVL_NA 0x01 /* not available */
-#define PERF_MEM_LVL_HIT 0x02 /* hit level */
-#define PERF_MEM_LVL_MISS 0x04 /* miss level */
-#define PERF_MEM_LVL_L1 0x08 /* L1 */
-#define PERF_MEM_LVL_LFB 0x10 /* Line Fill Buffer */
-#define PERF_MEM_LVL_L2 0x20 /* L2 */
-#define PERF_MEM_LVL_L3 0x40 /* L3 */
-#define PERF_MEM_LVL_LOC_RAM 0x80 /* Local DRAM */
-#define PERF_MEM_LVL_REM_RAM1 0x100 /* Remote DRAM (1 hop) */
-#define PERF_MEM_LVL_REM_RAM2 0x200 /* Remote DRAM (2 hops) */
-#define PERF_MEM_LVL_REM_CCE1 0x400 /* Remote Cache (1 hop) */
-#define PERF_MEM_LVL_REM_CCE2 0x800 /* Remote Cache (2 hops) */
-#define PERF_MEM_LVL_IO 0x1000 /* I/O memory */
-#define PERF_MEM_LVL_UNC 0x2000 /* Uncached memory */
-#define PERF_MEM_LVL_SHIFT 5
-
-/* snoop mode */
-#define PERF_MEM_SNOOP_NA 0x01 /* not available */
-#define PERF_MEM_SNOOP_NONE 0x02 /* no snoop */
-#define PERF_MEM_SNOOP_HIT 0x04 /* snoop hit */
-#define PERF_MEM_SNOOP_MISS 0x08 /* snoop miss */
-#define PERF_MEM_SNOOP_HITM 0x10 /* snoop hit modified */
-#define PERF_MEM_SNOOP_SHIFT 19
-
-/* locked instruction */
-#define PERF_MEM_LOCK_NA 0x01 /* not available */
-#define PERF_MEM_LOCK_LOCKED 0x02 /* locked transaction */
-#define PERF_MEM_LOCK_SHIFT 24
-
-/* TLB access */
-#define PERF_MEM_TLB_NA 0x01 /* not available */
-#define PERF_MEM_TLB_HIT 0x02 /* hit level */
-#define PERF_MEM_TLB_MISS 0x04 /* miss level */
-#define PERF_MEM_TLB_L1 0x08 /* L1 */
-#define PERF_MEM_TLB_L2 0x10 /* L2 */
-#define PERF_MEM_TLB_WK 0x20 /* Hardware Walker*/
-#define PERF_MEM_TLB_OS 0x40 /* OS fault handler */
-#define PERF_MEM_TLB_SHIFT 26
-
-#define PERF_MEM_S(a, s) \
- (((__u64)PERF_MEM_##a##_##s) << PERF_MEM_##a##_SHIFT)
-
-/*
- * single taken branch record layout:
- *
- * from: source instruction (may not always be a branch insn)
- * to: branch target
- * mispred: branch target was mispredicted
- * predicted: branch target was predicted
- *
- * support for mispred, predicted is optional. In case it
- * is not supported mispred = predicted = 0.
- *
- * in_tx: running in a hardware transaction
- * abort: aborting a hardware transaction
- * cycles: cycles from last branch (or 0 if not supported)
- */
-struct perf_branch_entry {
- __u64 from;
- __u64 to;
- __u64 mispred:1, /* target mispredicted */
- predicted:1,/* target predicted */
- in_tx:1, /* in transaction */
- abort:1, /* transaction abort */
- cycles:16, /* cycle count to last branch */
- reserved:44;
-};
-
-#endif /* _LINUX_PERF_EVENT_H */
diff --git a/linux-headers/include/linux/personality.h b/linux-headers/include/linux/personality.h
deleted file mode 100644
index 9971703..0000000
--- a/linux-headers/include/linux/personality.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef _LINUX_PERSONALITY_H
-#define _LINUX_PERSONALITY_H
-
-
-/*
- * Flags for bug emulation.
- *
- * These occupy the top three bytes.
- */
-enum {
- UNAME26 = 0x0020000,
- ADDR_NO_RANDOMIZE = 0x0040000, /* disable randomization of VA space */
- FDPIC_FUNCPTRS = 0x0080000, /* userspace function ptrs point to descriptors
- * (signal handling)
- */
- MMAP_PAGE_ZERO = 0x0100000,
- ADDR_COMPAT_LAYOUT = 0x0200000,
- READ_IMPLIES_EXEC = 0x0400000,
- ADDR_LIMIT_32BIT = 0x0800000,
- SHORT_INODE = 0x1000000,
- WHOLE_SECONDS = 0x2000000,
- STICKY_TIMEOUTS = 0x4000000,
- ADDR_LIMIT_3GB = 0x8000000,
-};
-
-/*
- * Security-relevant compatibility flags that must be
- * cleared upon setuid or setgid exec:
- */
-#define PER_CLEAR_ON_SETID (READ_IMPLIES_EXEC | \
- ADDR_NO_RANDOMIZE | \
- ADDR_COMPAT_LAYOUT | \
- MMAP_PAGE_ZERO)
-
-/*
- * Personality types.
- *
- * These go in the low byte. Avoid using the top bit, it will
- * conflict with error returns.
- */
-enum {
- PER_LINUX = 0x0000,
- PER_LINUX_32BIT = 0x0000 | ADDR_LIMIT_32BIT,
- PER_LINUX_FDPIC = 0x0000 | FDPIC_FUNCPTRS,
- PER_SVR4 = 0x0001 | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
- PER_SVR3 = 0x0002 | STICKY_TIMEOUTS | SHORT_INODE,
- PER_SCOSVR3 = 0x0003 | STICKY_TIMEOUTS |
- WHOLE_SECONDS | SHORT_INODE,
- PER_OSR5 = 0x0003 | STICKY_TIMEOUTS | WHOLE_SECONDS,
- PER_WYSEV386 = 0x0004 | STICKY_TIMEOUTS | SHORT_INODE,
- PER_ISCR4 = 0x0005 | STICKY_TIMEOUTS,
- PER_BSD = 0x0006,
- PER_SUNOS = 0x0006 | STICKY_TIMEOUTS,
- PER_XENIX = 0x0007 | STICKY_TIMEOUTS | SHORT_INODE,
- PER_LINUX32 = 0x0008,
- PER_LINUX32_3GB = 0x0008 | ADDR_LIMIT_3GB,
- PER_IRIX32 = 0x0009 | STICKY_TIMEOUTS,/* IRIX5 32-bit */
- PER_IRIXN32 = 0x000a | STICKY_TIMEOUTS,/* IRIX6 new 32-bit */
- PER_IRIX64 = 0x000b | STICKY_TIMEOUTS,/* IRIX6 64-bit */
- PER_RISCOS = 0x000c,
- PER_SOLARIS = 0x000d | STICKY_TIMEOUTS,
- PER_UW7 = 0x000e | STICKY_TIMEOUTS | MMAP_PAGE_ZERO,
- PER_OSF4 = 0x000f, /* OSF/1 v4 */
- PER_HPUX = 0x0010,
- PER_MASK = 0x00ff,
-};
-
-
-#endif /* _LINUX_PERSONALITY_H */
diff --git a/linux-headers/include/linux/pfkeyv2.h b/linux-headers/include/linux/pfkeyv2.h
deleted file mode 100644
index ada7f01..0000000
--- a/linux-headers/include/linux/pfkeyv2.h
+++ /dev/null
@@ -1,383 +0,0 @@
-/* PF_KEY user interface, this is defined by rfc2367 so
- * do not make arbitrary modifications or else this header
- * file will not be compliant.
- */
-
-#ifndef _LINUX_PFKEY2_H
-#define _LINUX_PFKEY2_H
-
-#include <linux/types.h>
-
-#define PF_KEY_V2 2
-#define PFKEYV2_REVISION 199806L
-
-struct sadb_msg {
- __u8 sadb_msg_version;
- __u8 sadb_msg_type;
- __u8 sadb_msg_errno;
- __u8 sadb_msg_satype;
- __u16 sadb_msg_len;
- __u16 sadb_msg_reserved;
- __u32 sadb_msg_seq;
- __u32 sadb_msg_pid;
-} __attribute__((packed));
-/* sizeof(struct sadb_msg) == 16 */
-
-struct sadb_ext {
- __u16 sadb_ext_len;
- __u16 sadb_ext_type;
-} __attribute__((packed));
-/* sizeof(struct sadb_ext) == 4 */
-
-struct sadb_sa {
- __u16 sadb_sa_len;
- __u16 sadb_sa_exttype;
- __be32 sadb_sa_spi;
- __u8 sadb_sa_replay;
- __u8 sadb_sa_state;
- __u8 sadb_sa_auth;
- __u8 sadb_sa_encrypt;
- __u32 sadb_sa_flags;
-} __attribute__((packed));
-/* sizeof(struct sadb_sa) == 16 */
-
-struct sadb_lifetime {
- __u16 sadb_lifetime_len;
- __u16 sadb_lifetime_exttype;
- __u32 sadb_lifetime_allocations;
- __u64 sadb_lifetime_bytes;
- __u64 sadb_lifetime_addtime;
- __u64 sadb_lifetime_usetime;
-} __attribute__((packed));
-/* sizeof(struct sadb_lifetime) == 32 */
-
-struct sadb_address {
- __u16 sadb_address_len;
- __u16 sadb_address_exttype;
- __u8 sadb_address_proto;
- __u8 sadb_address_prefixlen;
- __u16 sadb_address_reserved;
-} __attribute__((packed));
-/* sizeof(struct sadb_address) == 8 */
-
-struct sadb_key {
- __u16 sadb_key_len;
- __u16 sadb_key_exttype;
- __u16 sadb_key_bits;
- __u16 sadb_key_reserved;
-} __attribute__((packed));
-/* sizeof(struct sadb_key) == 8 */
-
-struct sadb_ident {
- __u16 sadb_ident_len;
- __u16 sadb_ident_exttype;
- __u16 sadb_ident_type;
- __u16 sadb_ident_reserved;
- __u64 sadb_ident_id;
-} __attribute__((packed));
-/* sizeof(struct sadb_ident) == 16 */
-
-struct sadb_sens {
- __u16 sadb_sens_len;
- __u16 sadb_sens_exttype;
- __u32 sadb_sens_dpd;
- __u8 sadb_sens_sens_level;
- __u8 sadb_sens_sens_len;
- __u8 sadb_sens_integ_level;
- __u8 sadb_sens_integ_len;
- __u32 sadb_sens_reserved;
-} __attribute__((packed));
-/* sizeof(struct sadb_sens) == 16 */
-
-/* followed by:
- __u64 sadb_sens_bitmap[sens_len];
- __u64 sadb_integ_bitmap[integ_len]; */
-
-struct sadb_prop {
- __u16 sadb_prop_len;
- __u16 sadb_prop_exttype;
- __u8 sadb_prop_replay;
- __u8 sadb_prop_reserved[3];
-} __attribute__((packed));
-/* sizeof(struct sadb_prop) == 8 */
-
-/* followed by:
- struct sadb_comb sadb_combs[(sadb_prop_len +
- sizeof(__u64) - sizeof(struct sadb_prop)) /
- sizeof(struct sadb_comb)]; */
-
-struct sadb_comb {
- __u8 sadb_comb_auth;
- __u8 sadb_comb_encrypt;
- __u16 sadb_comb_flags;
- __u16 sadb_comb_auth_minbits;
- __u16 sadb_comb_auth_maxbits;
- __u16 sadb_comb_encrypt_minbits;
- __u16 sadb_comb_encrypt_maxbits;
- __u32 sadb_comb_reserved;
- __u32 sadb_comb_soft_allocations;
- __u32 sadb_comb_hard_allocations;
- __u64 sadb_comb_soft_bytes;
- __u64 sadb_comb_hard_bytes;
- __u64 sadb_comb_soft_addtime;
- __u64 sadb_comb_hard_addtime;
- __u64 sadb_comb_soft_usetime;
- __u64 sadb_comb_hard_usetime;
-} __attribute__((packed));
-/* sizeof(struct sadb_comb) == 72 */
-
-struct sadb_supported {
- __u16 sadb_supported_len;
- __u16 sadb_supported_exttype;
- __u32 sadb_supported_reserved;
-} __attribute__((packed));
-/* sizeof(struct sadb_supported) == 8 */
-
-/* followed by:
- struct sadb_alg sadb_algs[(sadb_supported_len +
- sizeof(__u64) - sizeof(struct sadb_supported)) /
- sizeof(struct sadb_alg)]; */
-
-struct sadb_alg {
- __u8 sadb_alg_id;
- __u8 sadb_alg_ivlen;
- __u16 sadb_alg_minbits;
- __u16 sadb_alg_maxbits;
- __u16 sadb_alg_reserved;
-} __attribute__((packed));
-/* sizeof(struct sadb_alg) == 8 */
-
-struct sadb_spirange {
- __u16 sadb_spirange_len;
- __u16 sadb_spirange_exttype;
- __u32 sadb_spirange_min;
- __u32 sadb_spirange_max;
- __u32 sadb_spirange_reserved;
-} __attribute__((packed));
-/* sizeof(struct sadb_spirange) == 16 */
-
-struct sadb_x_kmprivate {
- __u16 sadb_x_kmprivate_len;
- __u16 sadb_x_kmprivate_exttype;
- __u32 sadb_x_kmprivate_reserved;
-} __attribute__((packed));
-/* sizeof(struct sadb_x_kmprivate) == 8 */
-
-struct sadb_x_sa2 {
- __u16 sadb_x_sa2_len;
- __u16 sadb_x_sa2_exttype;
- __u8 sadb_x_sa2_mode;
- __u8 sadb_x_sa2_reserved1;
- __u16 sadb_x_sa2_reserved2;
- __u32 sadb_x_sa2_sequence;
- __u32 sadb_x_sa2_reqid;
-} __attribute__((packed));
-/* sizeof(struct sadb_x_sa2) == 16 */
-
-struct sadb_x_policy {
- __u16 sadb_x_policy_len;
- __u16 sadb_x_policy_exttype;
- __u16 sadb_x_policy_type;
- __u8 sadb_x_policy_dir;
- __u8 sadb_x_policy_reserved;
- __u32 sadb_x_policy_id;
- __u32 sadb_x_policy_priority;
-} __attribute__((packed));
-/* sizeof(struct sadb_x_policy) == 16 */
-
-struct sadb_x_ipsecrequest {
- __u16 sadb_x_ipsecrequest_len;
- __u16 sadb_x_ipsecrequest_proto;
- __u8 sadb_x_ipsecrequest_mode;
- __u8 sadb_x_ipsecrequest_level;
- __u16 sadb_x_ipsecrequest_reserved1;
- __u32 sadb_x_ipsecrequest_reqid;
- __u32 sadb_x_ipsecrequest_reserved2;
-} __attribute__((packed));
-/* sizeof(struct sadb_x_ipsecrequest) == 16 */
-
-/* This defines the TYPE of Nat Traversal in use. Currently only one
- * type of NAT-T is supported, draft-ietf-ipsec-udp-encaps-06
- */
-struct sadb_x_nat_t_type {
- __u16 sadb_x_nat_t_type_len;
- __u16 sadb_x_nat_t_type_exttype;
- __u8 sadb_x_nat_t_type_type;
- __u8 sadb_x_nat_t_type_reserved[3];
-} __attribute__((packed));
-/* sizeof(struct sadb_x_nat_t_type) == 8 */
-
-/* Pass a NAT Traversal port (Source or Dest port) */
-struct sadb_x_nat_t_port {
- __u16 sadb_x_nat_t_port_len;
- __u16 sadb_x_nat_t_port_exttype;
- __be16 sadb_x_nat_t_port_port;
- __u16 sadb_x_nat_t_port_reserved;
-} __attribute__((packed));
-/* sizeof(struct sadb_x_nat_t_port) == 8 */
-
-/* Generic LSM security context */
-struct sadb_x_sec_ctx {
- __u16 sadb_x_sec_len;
- __u16 sadb_x_sec_exttype;
- __u8 sadb_x_ctx_alg; /* LSMs: e.g., selinux == 1 */
- __u8 sadb_x_ctx_doi;
- __u16 sadb_x_ctx_len;
-} __attribute__((packed));
-/* sizeof(struct sadb_sec_ctx) = 8 */
-
-/* Used by MIGRATE to pass addresses IKE will use to perform
- * negotiation with the peer */
-struct sadb_x_kmaddress {
- __u16 sadb_x_kmaddress_len;
- __u16 sadb_x_kmaddress_exttype;
- __u32 sadb_x_kmaddress_reserved;
-} __attribute__((packed));
-/* sizeof(struct sadb_x_kmaddress) == 8 */
-
-/* To specify the SA dump filter */
-struct sadb_x_filter {
- __u16 sadb_x_filter_len;
- __u16 sadb_x_filter_exttype;
- __u32 sadb_x_filter_saddr[4];
- __u32 sadb_x_filter_daddr[4];
- __u16 sadb_x_filter_family;
- __u8 sadb_x_filter_splen;
- __u8 sadb_x_filter_dplen;
-} __attribute__((packed));
-/* sizeof(struct sadb_x_filter) == 40 */
-
-/* Message types */
-#define SADB_RESERVED 0
-#define SADB_GETSPI 1
-#define SADB_UPDATE 2
-#define SADB_ADD 3
-#define SADB_DELETE 4
-#define SADB_GET 5
-#define SADB_ACQUIRE 6
-#define SADB_REGISTER 7
-#define SADB_EXPIRE 8
-#define SADB_FLUSH 9
-#define SADB_DUMP 10
-#define SADB_X_PROMISC 11
-#define SADB_X_PCHANGE 12
-#define SADB_X_SPDUPDATE 13
-#define SADB_X_SPDADD 14
-#define SADB_X_SPDDELETE 15
-#define SADB_X_SPDGET 16
-#define SADB_X_SPDACQUIRE 17
-#define SADB_X_SPDDUMP 18
-#define SADB_X_SPDFLUSH 19
-#define SADB_X_SPDSETIDX 20
-#define SADB_X_SPDEXPIRE 21
-#define SADB_X_SPDDELETE2 22
-#define SADB_X_NAT_T_NEW_MAPPING 23
-#define SADB_X_MIGRATE 24
-#define SADB_MAX 24
-
-/* Security Association flags */
-#define SADB_SAFLAGS_PFS 1
-#define SADB_SAFLAGS_NOPMTUDISC 0x20000000
-#define SADB_SAFLAGS_DECAP_DSCP 0x40000000
-#define SADB_SAFLAGS_NOECN 0x80000000
-
-/* Security Association states */
-#define SADB_SASTATE_LARVAL 0
-#define SADB_SASTATE_MATURE 1
-#define SADB_SASTATE_DYING 2
-#define SADB_SASTATE_DEAD 3
-#define SADB_SASTATE_MAX 3
-
-/* Security Association types */
-#define SADB_SATYPE_UNSPEC 0
-#define SADB_SATYPE_AH 2
-#define SADB_SATYPE_ESP 3
-#define SADB_SATYPE_RSVP 5
-#define SADB_SATYPE_OSPFV2 6
-#define SADB_SATYPE_RIPV2 7
-#define SADB_SATYPE_MIP 8
-#define SADB_X_SATYPE_IPCOMP 9
-#define SADB_SATYPE_MAX 9
-
-/* Authentication algorithms */
-#define SADB_AALG_NONE 0
-#define SADB_AALG_MD5HMAC 2
-#define SADB_AALG_SHA1HMAC 3
-#define SADB_X_AALG_SHA2_256HMAC 5
-#define SADB_X_AALG_SHA2_384HMAC 6
-#define SADB_X_AALG_SHA2_512HMAC 7
-#define SADB_X_AALG_RIPEMD160HMAC 8
-#define SADB_X_AALG_AES_XCBC_MAC 9
-#define SADB_X_AALG_NULL 251 /* kame */
-#define SADB_AALG_MAX 251
-
-/* Encryption algorithms */
-#define SADB_EALG_NONE 0
-#define SADB_EALG_DESCBC 2
-#define SADB_EALG_3DESCBC 3
-#define SADB_X_EALG_CASTCBC 6
-#define SADB_X_EALG_BLOWFISHCBC 7
-#define SADB_EALG_NULL 11
-#define SADB_X_EALG_AESCBC 12
-#define SADB_X_EALG_AESCTR 13
-#define SADB_X_EALG_AES_CCM_ICV8 14
-#define SADB_X_EALG_AES_CCM_ICV12 15
-#define SADB_X_EALG_AES_CCM_ICV16 16
-#define SADB_X_EALG_AES_GCM_ICV8 18
-#define SADB_X_EALG_AES_GCM_ICV12 19
-#define SADB_X_EALG_AES_GCM_ICV16 20
-#define SADB_X_EALG_CAMELLIACBC 22
-#define SADB_X_EALG_NULL_AES_GMAC 23
-#define SADB_EALG_MAX 253 /* last EALG */
-/* private allocations should use 249-255 (RFC2407) */
-#define SADB_X_EALG_SERPENTCBC 252 /* draft-ietf-ipsec-ciph-aes-cbc-00 */
-#define SADB_X_EALG_TWOFISHCBC 253 /* draft-ietf-ipsec-ciph-aes-cbc-00 */
-
-/* Compression algorithms */
-#define SADB_X_CALG_NONE 0
-#define SADB_X_CALG_OUI 1
-#define SADB_X_CALG_DEFLATE 2
-#define SADB_X_CALG_LZS 3
-#define SADB_X_CALG_LZJH 4
-#define SADB_X_CALG_MAX 4
-
-/* Extension Header values */
-#define SADB_EXT_RESERVED 0
-#define SADB_EXT_SA 1
-#define SADB_EXT_LIFETIME_CURRENT 2
-#define SADB_EXT_LIFETIME_HARD 3
-#define SADB_EXT_LIFETIME_SOFT 4
-#define SADB_EXT_ADDRESS_SRC 5
-#define SADB_EXT_ADDRESS_DST 6
-#define SADB_EXT_ADDRESS_PROXY 7
-#define SADB_EXT_KEY_AUTH 8
-#define SADB_EXT_KEY_ENCRYPT 9
-#define SADB_EXT_IDENTITY_SRC 10
-#define SADB_EXT_IDENTITY_DST 11
-#define SADB_EXT_SENSITIVITY 12
-#define SADB_EXT_PROPOSAL 13
-#define SADB_EXT_SUPPORTED_AUTH 14
-#define SADB_EXT_SUPPORTED_ENCRYPT 15
-#define SADB_EXT_SPIRANGE 16
-#define SADB_X_EXT_KMPRIVATE 17
-#define SADB_X_EXT_POLICY 18
-#define SADB_X_EXT_SA2 19
-/* The next four entries are for setting up NAT Traversal */
-#define SADB_X_EXT_NAT_T_TYPE 20
-#define SADB_X_EXT_NAT_T_SPORT 21
-#define SADB_X_EXT_NAT_T_DPORT 22
-#define SADB_X_EXT_NAT_T_OA 23
-#define SADB_X_EXT_SEC_CTX 24
-/* Used with MIGRATE to pass @ to IKE for negotiation */
-#define SADB_X_EXT_KMADDRESS 25
-#define SADB_X_EXT_FILTER 26
-#define SADB_EXT_MAX 26
-
-/* Identity Extension values */
-#define SADB_IDENTTYPE_RESERVED 0
-#define SADB_IDENTTYPE_PREFIX 1
-#define SADB_IDENTTYPE_FQDN 2
-#define SADB_IDENTTYPE_USERFQDN 3
-#define SADB_IDENTTYPE_MAX 3
-
-#endif /* !(_LINUX_PFKEY2_H) */
diff --git a/linux-headers/include/linux/pg.h b/linux-headers/include/linux/pg.h
deleted file mode 100644
index db994bb..0000000
--- a/linux-headers/include/linux/pg.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* pg.h (c) 1998 Grant R. Guenther <grant@torque.net>
- Under the terms of the GNU General Public License
-
-
- pg.h defines the user interface to the generic ATAPI packet
- command driver for parallel port ATAPI devices (pg). The
- driver is loosely modelled after the generic SCSI driver, sg,
- although the actual interface is different.
-
- The pg driver provides a simple character device interface for
- sending ATAPI commands to a device. With the exception of the
- ATAPI reset operation, all operations are performed by a pair
- of read and write operations to the appropriate /dev/pgN device.
- A write operation delivers a command and any outbound data in
- a single buffer. Normally, the write will succeed unless the
- device is offline or malfunctioning, or there is already another
- command pending. If the write succeeds, it should be followed
- immediately by a read operation, to obtain any returned data and
- status information. A read will fail if there is no operation
- in progress.
-
- As a special case, the device can be reset with a write operation,
- and in this case, no following read is expected, or permitted.
-
- There are no ioctl() operations. Any single operation
- may transfer at most PG_MAX_DATA bytes. Note that the driver must
- copy the data through an internal buffer. In keeping with all
- current ATAPI devices, command packets are assumed to be exactly
- 12 bytes in length.
-
- To permit future changes to this interface, the headers in the
- read and write buffers contain a single character "magic" flag.
- Currently this flag must be the character "P".
-
-*/
-
-#define PG_MAGIC 'P'
-#define PG_RESET 'Z'
-#define PG_COMMAND 'C'
-
-#define PG_MAX_DATA 32768
-
-struct pg_write_hdr {
-
- char magic; /* == PG_MAGIC */
- char func; /* PG_RESET or PG_COMMAND */
- int dlen; /* number of bytes expected to transfer */
- int timeout; /* number of seconds before timeout */
- char packet[12]; /* packet command */
-
-};
-
-struct pg_read_hdr {
-
- char magic; /* == PG_MAGIC */
- char scsi; /* "scsi" status == sense key */
- int dlen; /* size of device transfer request */
- int duration; /* time in seconds command took */
- char pad[12]; /* not used */
-
-};
-
-/* end of pg.h */
diff --git a/linux-headers/include/linux/phantom.h b/linux-headers/include/linux/phantom.h
deleted file mode 100644
index 94dd664..0000000
--- a/linux-headers/include/linux/phantom.h
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (C) 2005-2007 Jiri Slaby <jirislaby@gmail.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef __PHANTOM_H
-#define __PHANTOM_H
-
-#include <linux/types.h>
-
-/* PHN_(G/S)ET_REG param */
-struct phm_reg {
- __u32 reg;
- __u32 value;
-};
-
-/* PHN_(G/S)ET_REGS param */
-struct phm_regs {
- __u32 count;
- __u32 mask;
- __u32 values[8];
-};
-
-#define PH_IOC_MAGIC 'p'
-#define PHN_GET_REG _IOWR(PH_IOC_MAGIC, 0, struct phm_reg *)
-#define PHN_SET_REG _IOW(PH_IOC_MAGIC, 1, struct phm_reg *)
-#define PHN_GET_REGS _IOWR(PH_IOC_MAGIC, 2, struct phm_regs *)
-#define PHN_SET_REGS _IOW(PH_IOC_MAGIC, 3, struct phm_regs *)
-/* this ioctl tells the driver, that the caller is not OpenHaptics and might
- * use improved registers update (no more phantom switchoffs when using
- * libphantom) */
-#define PHN_NOT_OH _IO(PH_IOC_MAGIC, 4)
-#define PHN_GETREG _IOWR(PH_IOC_MAGIC, 5, struct phm_reg)
-#define PHN_SETREG _IOW(PH_IOC_MAGIC, 6, struct phm_reg)
-#define PHN_GETREGS _IOWR(PH_IOC_MAGIC, 7, struct phm_regs)
-#define PHN_SETREGS _IOW(PH_IOC_MAGIC, 8, struct phm_regs)
-
-#define PHN_CONTROL 0x6 /* control byte in iaddr space */
-#define PHN_CTL_AMP 0x1 /* switch after torques change */
-#define PHN_CTL_BUT 0x2 /* is button switched */
-#define PHN_CTL_IRQ 0x10 /* is irq enabled */
-
-#define PHN_ZERO_FORCE 2048 /* zero torque on motor */
-
-#endif
diff --git a/linux-headers/include/linux/phonet.h b/linux-headers/include/linux/phonet.h
deleted file mode 100644
index 7d663d5..0000000
--- a/linux-headers/include/linux/phonet.h
+++ /dev/null
@@ -1,185 +0,0 @@
-/**
- * file phonet.h
- *
- * Phonet sockets kernel interface
- *
- * Copyright (C) 2008 Nokia Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-#ifndef LINUX_PHONET_H
-#define LINUX_PHONET_H
-
-#include <linux/types.h>
-#include <linux/socket.h>
-
-/* Automatic protocol selection */
-#define PN_PROTO_TRANSPORT 0
-/* Phonet datagram socket */
-#define PN_PROTO_PHONET 1
-/* Phonet pipe */
-#define PN_PROTO_PIPE 2
-#define PHONET_NPROTO 3
-
-/* Socket options for SOL_PNPIPE level */
-#define PNPIPE_ENCAP 1
-#define PNPIPE_IFINDEX 2
-#define PNPIPE_HANDLE 3
-#define PNPIPE_INITSTATE 4
-
-#define PNADDR_ANY 0
-#define PNADDR_BROADCAST 0xFC
-#define PNPORT_RESOURCE_ROUTING 0
-
-/* Values for PNPIPE_ENCAP option */
-#define PNPIPE_ENCAP_NONE 0
-#define PNPIPE_ENCAP_IP 1
-
-/* ioctls */
-#define SIOCPNGETOBJECT (SIOCPROTOPRIVATE + 0)
-#define SIOCPNENABLEPIPE (SIOCPROTOPRIVATE + 13)
-#define SIOCPNADDRESOURCE (SIOCPROTOPRIVATE + 14)
-#define SIOCPNDELRESOURCE (SIOCPROTOPRIVATE + 15)
-
-/* Phonet protocol header */
-struct phonethdr {
- __u8 pn_rdev;
- __u8 pn_sdev;
- __u8 pn_res;
- __be16 pn_length;
- __u8 pn_robj;
- __u8 pn_sobj;
-} __attribute__((packed));
-
-/* Common Phonet payload header */
-struct phonetmsg {
- __u8 pn_trans_id; /* transaction ID */
- __u8 pn_msg_id; /* message type */
- union {
- struct {
- __u8 pn_submsg_id; /* message subtype */
- __u8 pn_data[5];
- } base;
- struct {
- __u16 pn_e_res_id; /* extended resource ID */
- __u8 pn_e_submsg_id; /* message subtype */
- __u8 pn_e_data[3];
- } ext;
- } pn_msg_u;
-};
-#define PN_COMMON_MESSAGE 0xF0
-#define PN_COMMGR 0x10
-#define PN_PREFIX 0xE0 /* resource for extended messages */
-#define pn_submsg_id pn_msg_u.base.pn_submsg_id
-#define pn_e_submsg_id pn_msg_u.ext.pn_e_submsg_id
-#define pn_e_res_id pn_msg_u.ext.pn_e_res_id
-#define pn_data pn_msg_u.base.pn_data
-#define pn_e_data pn_msg_u.ext.pn_e_data
-
-/* data for unreachable errors */
-#define PN_COMM_SERVICE_NOT_IDENTIFIED_RESP 0x01
-#define PN_COMM_ISA_ENTITY_NOT_REACHABLE_RESP 0x14
-#define pn_orig_msg_id pn_data[0]
-#define pn_status pn_data[1]
-#define pn_e_orig_msg_id pn_e_data[0]
-#define pn_e_status pn_e_data[1]
-
-/* Phonet socket address structure */
-struct sockaddr_pn {
- __kernel_sa_family_t spn_family;
- __u8 spn_obj;
- __u8 spn_dev;
- __u8 spn_resource;
- __u8 spn_zero[sizeof(struct sockaddr) - sizeof(__kernel_sa_family_t) - 3];
-} __attribute__((packed));
-
-/* Well known address */
-#define PN_DEV_PC 0x10
-
-static __inline__ __u16 pn_object(__u8 addr, __u16 port)
-{
- return (addr << 8) | (port & 0x3ff);
-}
-
-static __inline__ __u8 pn_obj(__u16 handle)
-{
- return handle & 0xff;
-}
-
-static __inline__ __u8 pn_dev(__u16 handle)
-{
- return handle >> 8;
-}
-
-static __inline__ __u16 pn_port(__u16 handle)
-{
- return handle & 0x3ff;
-}
-
-static __inline__ __u8 pn_addr(__u16 handle)
-{
- return (handle >> 8) & 0xfc;
-}
-
-static __inline__ void pn_sockaddr_set_addr(struct sockaddr_pn *spn, __u8 addr)
-{
- spn->spn_dev &= 0x03;
- spn->spn_dev |= addr & 0xfc;
-}
-
-static __inline__ void pn_sockaddr_set_port(struct sockaddr_pn *spn, __u16 port)
-{
- spn->spn_dev &= 0xfc;
- spn->spn_dev |= (port >> 8) & 0x03;
- spn->spn_obj = port & 0xff;
-}
-
-static __inline__ void pn_sockaddr_set_object(struct sockaddr_pn *spn,
- __u16 handle)
-{
- spn->spn_dev = pn_dev(handle);
- spn->spn_obj = pn_obj(handle);
-}
-
-static __inline__ void pn_sockaddr_set_resource(struct sockaddr_pn *spn,
- __u8 resource)
-{
- spn->spn_resource = resource;
-}
-
-static __inline__ __u8 pn_sockaddr_get_addr(const struct sockaddr_pn *spn)
-{
- return spn->spn_dev & 0xfc;
-}
-
-static __inline__ __u16 pn_sockaddr_get_port(const struct sockaddr_pn *spn)
-{
- return ((spn->spn_dev & 0x03) << 8) | spn->spn_obj;
-}
-
-static __inline__ __u16 pn_sockaddr_get_object(const struct sockaddr_pn *spn)
-{
- return pn_object(spn->spn_dev, spn->spn_obj);
-}
-
-static __inline__ __u8 pn_sockaddr_get_resource(const struct sockaddr_pn *spn)
-{
- return spn->spn_resource;
-}
-
-/* Phonet device ioctl requests */
-
-#endif /* LINUX_PHONET_H */
diff --git a/linux-headers/include/linux/pkt_cls.h b/linux-headers/include/linux/pkt_cls.h
deleted file mode 100644
index b69358b..0000000
--- a/linux-headers/include/linux/pkt_cls.h
+++ /dev/null
@@ -1,451 +0,0 @@
-#ifndef __LINUX_PKT_CLS_H
-#define __LINUX_PKT_CLS_H
-
-#include <linux/types.h>
-#include <linux/pkt_sched.h>
-
-
-/* Action attributes */
-enum {
- TCA_ACT_UNSPEC,
- TCA_ACT_KIND,
- TCA_ACT_OPTIONS,
- TCA_ACT_INDEX,
- TCA_ACT_STATS,
- __TCA_ACT_MAX
-};
-
-#define TCA_ACT_MAX __TCA_ACT_MAX
-#define TCA_OLD_COMPAT (TCA_ACT_MAX+1)
-#define TCA_ACT_MAX_PRIO 32
-#define TCA_ACT_BIND 1
-#define TCA_ACT_NOBIND 0
-#define TCA_ACT_UNBIND 1
-#define TCA_ACT_NOUNBIND 0
-#define TCA_ACT_REPLACE 1
-#define TCA_ACT_NOREPLACE 0
-
-#define TC_ACT_UNSPEC (-1)
-#define TC_ACT_OK 0
-#define TC_ACT_RECLASSIFY 1
-#define TC_ACT_SHOT 2
-#define TC_ACT_PIPE 3
-#define TC_ACT_STOLEN 4
-#define TC_ACT_QUEUED 5
-#define TC_ACT_REPEAT 6
-#define TC_ACT_REDIRECT 7
-#define TC_ACT_JUMP 0x10000000
-
-/* Action type identifiers*/
-enum {
- TCA_ID_UNSPEC=0,
- TCA_ID_POLICE=1,
- /* other actions go here */
- __TCA_ID_MAX=255
-};
-
-#define TCA_ID_MAX __TCA_ID_MAX
-
-struct tc_police {
- __u32 index;
- int action;
-#define TC_POLICE_UNSPEC TC_ACT_UNSPEC
-#define TC_POLICE_OK TC_ACT_OK
-#define TC_POLICE_RECLASSIFY TC_ACT_RECLASSIFY
-#define TC_POLICE_SHOT TC_ACT_SHOT
-#define TC_POLICE_PIPE TC_ACT_PIPE
-
- __u32 limit;
- __u32 burst;
- __u32 mtu;
- struct tc_ratespec rate;
- struct tc_ratespec peakrate;
- int refcnt;
- int bindcnt;
- __u32 capab;
-};
-
-struct tcf_t {
- __u64 install;
- __u64 lastuse;
- __u64 expires;
-};
-
-struct tc_cnt {
- int refcnt;
- int bindcnt;
-};
-
-#define tc_gen \
- __u32 index; \
- __u32 capab; \
- int action; \
- int refcnt; \
- int bindcnt
-
-enum {
- TCA_POLICE_UNSPEC,
- TCA_POLICE_TBF,
- TCA_POLICE_RATE,
- TCA_POLICE_PEAKRATE,
- TCA_POLICE_AVRATE,
- TCA_POLICE_RESULT,
- __TCA_POLICE_MAX
-#define TCA_POLICE_RESULT TCA_POLICE_RESULT
-};
-
-#define TCA_POLICE_MAX (__TCA_POLICE_MAX - 1)
-
-/* U32 filters */
-
-#define TC_U32_HTID(h) ((h)&0xFFF00000)
-#define TC_U32_USERHTID(h) (TC_U32_HTID(h)>>20)
-#define TC_U32_HASH(h) (((h)>>12)&0xFF)
-#define TC_U32_NODE(h) ((h)&0xFFF)
-#define TC_U32_KEY(h) ((h)&0xFFFFF)
-#define TC_U32_UNSPEC 0
-#define TC_U32_ROOT (0xFFF00000)
-
-enum {
- TCA_U32_UNSPEC,
- TCA_U32_CLASSID,
- TCA_U32_HASH,
- TCA_U32_LINK,
- TCA_U32_DIVISOR,
- TCA_U32_SEL,
- TCA_U32_POLICE,
- TCA_U32_ACT,
- TCA_U32_INDEV,
- TCA_U32_PCNT,
- TCA_U32_MARK,
- TCA_U32_FLAGS,
- __TCA_U32_MAX
-};
-
-#define TCA_U32_MAX (__TCA_U32_MAX - 1)
-
-struct tc_u32_key {
- __be32 mask;
- __be32 val;
- int off;
- int offmask;
-};
-
-struct tc_u32_sel {
- unsigned char flags;
- unsigned char offshift;
- unsigned char nkeys;
-
- __be16 offmask;
- __u16 off;
- short offoff;
-
- short hoff;
- __be32 hmask;
- struct tc_u32_key keys[0];
-};
-
-struct tc_u32_mark {
- __u32 val;
- __u32 mask;
- __u32 success;
-};
-
-struct tc_u32_pcnt {
- __u64 rcnt;
- __u64 rhit;
- __u64 kcnts[0];
-};
-
-/* Flags */
-
-#define TC_U32_TERMINAL 1
-#define TC_U32_OFFSET 2
-#define TC_U32_VAROFFSET 4
-#define TC_U32_EAT 8
-
-#define TC_U32_MAXDEPTH 8
-
-
-/* RSVP filter */
-
-enum {
- TCA_RSVP_UNSPEC,
- TCA_RSVP_CLASSID,
- TCA_RSVP_DST,
- TCA_RSVP_SRC,
- TCA_RSVP_PINFO,
- TCA_RSVP_POLICE,
- TCA_RSVP_ACT,
- __TCA_RSVP_MAX
-};
-
-#define TCA_RSVP_MAX (__TCA_RSVP_MAX - 1 )
-
-struct tc_rsvp_gpi {
- __u32 key;
- __u32 mask;
- int offset;
-};
-
-struct tc_rsvp_pinfo {
- struct tc_rsvp_gpi dpi;
- struct tc_rsvp_gpi spi;
- __u8 protocol;
- __u8 tunnelid;
- __u8 tunnelhdr;
- __u8 pad;
-};
-
-/* ROUTE filter */
-
-enum {
- TCA_ROUTE4_UNSPEC,
- TCA_ROUTE4_CLASSID,
- TCA_ROUTE4_TO,
- TCA_ROUTE4_FROM,
- TCA_ROUTE4_IIF,
- TCA_ROUTE4_POLICE,
- TCA_ROUTE4_ACT,
- __TCA_ROUTE4_MAX
-};
-
-#define TCA_ROUTE4_MAX (__TCA_ROUTE4_MAX - 1)
-
-
-/* FW filter */
-
-enum {
- TCA_FW_UNSPEC,
- TCA_FW_CLASSID,
- TCA_FW_POLICE,
- TCA_FW_INDEV, /* used by CONFIG_NET_CLS_IND */
- TCA_FW_ACT, /* used by CONFIG_NET_CLS_ACT */
- TCA_FW_MASK,
- __TCA_FW_MAX
-};
-
-#define TCA_FW_MAX (__TCA_FW_MAX - 1)
-
-/* TC index filter */
-
-enum {
- TCA_TCINDEX_UNSPEC,
- TCA_TCINDEX_HASH,
- TCA_TCINDEX_MASK,
- TCA_TCINDEX_SHIFT,
- TCA_TCINDEX_FALL_THROUGH,
- TCA_TCINDEX_CLASSID,
- TCA_TCINDEX_POLICE,
- TCA_TCINDEX_ACT,
- __TCA_TCINDEX_MAX
-};
-
-#define TCA_TCINDEX_MAX (__TCA_TCINDEX_MAX - 1)
-
-/* Flow filter */
-
-enum {
- FLOW_KEY_SRC,
- FLOW_KEY_DST,
- FLOW_KEY_PROTO,
- FLOW_KEY_PROTO_SRC,
- FLOW_KEY_PROTO_DST,
- FLOW_KEY_IIF,
- FLOW_KEY_PRIORITY,
- FLOW_KEY_MARK,
- FLOW_KEY_NFCT,
- FLOW_KEY_NFCT_SRC,
- FLOW_KEY_NFCT_DST,
- FLOW_KEY_NFCT_PROTO_SRC,
- FLOW_KEY_NFCT_PROTO_DST,
- FLOW_KEY_RTCLASSID,
- FLOW_KEY_SKUID,
- FLOW_KEY_SKGID,
- FLOW_KEY_VLAN_TAG,
- FLOW_KEY_RXHASH,
- __FLOW_KEY_MAX,
-};
-
-#define FLOW_KEY_MAX (__FLOW_KEY_MAX - 1)
-
-enum {
- FLOW_MODE_MAP,
- FLOW_MODE_HASH,
-};
-
-enum {
- TCA_FLOW_UNSPEC,
- TCA_FLOW_KEYS,
- TCA_FLOW_MODE,
- TCA_FLOW_BASECLASS,
- TCA_FLOW_RSHIFT,
- TCA_FLOW_ADDEND,
- TCA_FLOW_MASK,
- TCA_FLOW_XOR,
- TCA_FLOW_DIVISOR,
- TCA_FLOW_ACT,
- TCA_FLOW_POLICE,
- TCA_FLOW_EMATCHES,
- TCA_FLOW_PERTURB,
- __TCA_FLOW_MAX
-};
-
-#define TCA_FLOW_MAX (__TCA_FLOW_MAX - 1)
-
-/* Basic filter */
-
-enum {
- TCA_BASIC_UNSPEC,
- TCA_BASIC_CLASSID,
- TCA_BASIC_EMATCHES,
- TCA_BASIC_ACT,
- TCA_BASIC_POLICE,
- __TCA_BASIC_MAX
-};
-
-#define TCA_BASIC_MAX (__TCA_BASIC_MAX - 1)
-
-
-/* Cgroup classifier */
-
-enum {
- TCA_CGROUP_UNSPEC,
- TCA_CGROUP_ACT,
- TCA_CGROUP_POLICE,
- TCA_CGROUP_EMATCHES,
- __TCA_CGROUP_MAX,
-};
-
-#define TCA_CGROUP_MAX (__TCA_CGROUP_MAX - 1)
-
-/* BPF classifier */
-
-#define TCA_BPF_FLAG_ACT_DIRECT (1 << 0)
-
-enum {
- TCA_BPF_UNSPEC,
- TCA_BPF_ACT,
- TCA_BPF_POLICE,
- TCA_BPF_CLASSID,
- TCA_BPF_OPS_LEN,
- TCA_BPF_OPS,
- TCA_BPF_FD,
- TCA_BPF_NAME,
- TCA_BPF_FLAGS,
- __TCA_BPF_MAX,
-};
-
-#define TCA_BPF_MAX (__TCA_BPF_MAX - 1)
-
-/* Flower classifier */
-
-enum {
- TCA_FLOWER_UNSPEC,
- TCA_FLOWER_CLASSID,
- TCA_FLOWER_INDEV,
- TCA_FLOWER_ACT,
- TCA_FLOWER_KEY_ETH_DST, /* ETH_ALEN */
- TCA_FLOWER_KEY_ETH_DST_MASK, /* ETH_ALEN */
- TCA_FLOWER_KEY_ETH_SRC, /* ETH_ALEN */
- TCA_FLOWER_KEY_ETH_SRC_MASK, /* ETH_ALEN */
- TCA_FLOWER_KEY_ETH_TYPE, /* be16 */
- TCA_FLOWER_KEY_IP_PROTO, /* u8 */
- TCA_FLOWER_KEY_IPV4_SRC, /* be32 */
- TCA_FLOWER_KEY_IPV4_SRC_MASK, /* be32 */
- TCA_FLOWER_KEY_IPV4_DST, /* be32 */
- TCA_FLOWER_KEY_IPV4_DST_MASK, /* be32 */
- TCA_FLOWER_KEY_IPV6_SRC, /* struct in6_addr */
- TCA_FLOWER_KEY_IPV6_SRC_MASK, /* struct in6_addr */
- TCA_FLOWER_KEY_IPV6_DST, /* struct in6_addr */
- TCA_FLOWER_KEY_IPV6_DST_MASK, /* struct in6_addr */
- TCA_FLOWER_KEY_TCP_SRC, /* be16 */
- TCA_FLOWER_KEY_TCP_DST, /* be16 */
- TCA_FLOWER_KEY_UDP_SRC, /* be16 */
- TCA_FLOWER_KEY_UDP_DST, /* be16 */
-
- TCA_FLOWER_FLAGS,
- __TCA_FLOWER_MAX,
-};
-
-#define TCA_FLOWER_MAX (__TCA_FLOWER_MAX - 1)
-
-/* Extended Matches */
-
-struct tcf_ematch_tree_hdr {
- __u16 nmatches;
- __u16 progid;
-};
-
-enum {
- TCA_EMATCH_TREE_UNSPEC,
- TCA_EMATCH_TREE_HDR,
- TCA_EMATCH_TREE_LIST,
- __TCA_EMATCH_TREE_MAX
-};
-#define TCA_EMATCH_TREE_MAX (__TCA_EMATCH_TREE_MAX - 1)
-
-struct tcf_ematch_hdr {
- __u16 matchid;
- __u16 kind;
- __u16 flags;
- __u16 pad; /* currently unused */
-};
-
-/* 0 1
- * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
- * +-----------------------+-+-+---+
- * | Unused |S|I| R |
- * +-----------------------+-+-+---+
- *
- * R(2) ::= relation to next ematch
- * where: 0 0 END (last ematch)
- * 0 1 AND
- * 1 0 OR
- * 1 1 Unused (invalid)
- * I(1) ::= invert result
- * S(1) ::= simple payload
- */
-#define TCF_EM_REL_END 0
-#define TCF_EM_REL_AND (1<<0)
-#define TCF_EM_REL_OR (1<<1)
-#define TCF_EM_INVERT (1<<2)
-#define TCF_EM_SIMPLE (1<<3)
-
-#define TCF_EM_REL_MASK 3
-#define TCF_EM_REL_VALID(v) (((v) & TCF_EM_REL_MASK) != TCF_EM_REL_MASK)
-
-enum {
- TCF_LAYER_LINK,
- TCF_LAYER_NETWORK,
- TCF_LAYER_TRANSPORT,
- __TCF_LAYER_MAX
-};
-#define TCF_LAYER_MAX (__TCF_LAYER_MAX - 1)
-
-/* Ematch type assignments
- * 1..32767 Reserved for ematches inside kernel tree
- * 32768..65535 Free to use, not reliable
- */
-#define TCF_EM_CONTAINER 0
-#define TCF_EM_CMP 1
-#define TCF_EM_NBYTE 2
-#define TCF_EM_U32 3
-#define TCF_EM_META 4
-#define TCF_EM_TEXT 5
-#define TCF_EM_VLAN 6
-#define TCF_EM_CANID 7
-#define TCF_EM_IPSET 8
-#define TCF_EM_MAX 8
-
-enum {
- TCF_EM_PROG_TC
-};
-
-enum {
- TCF_EM_OPND_EQ,
- TCF_EM_OPND_GT,
- TCF_EM_OPND_LT
-};
-
-#endif
diff --git a/linux-headers/include/linux/pkt_sched.h b/linux-headers/include/linux/pkt_sched.h
deleted file mode 100644
index 8cb18b4..0000000
--- a/linux-headers/include/linux/pkt_sched.h
+++ /dev/null
@@ -1,857 +0,0 @@
-#ifndef __LINUX_PKT_SCHED_H
-#define __LINUX_PKT_SCHED_H
-
-#include <linux/types.h>
-
-/* Logical priority bands not depending on specific packet scheduler.
- Every scheduler will map them to real traffic classes, if it has
- no more precise mechanism to classify packets.
-
- These numbers have no special meaning, though their coincidence
- with obsolete IPv6 values is not occasional :-). New IPv6 drafts
- preferred full anarchy inspired by diffserv group.
-
- Note: TC_PRIO_BESTEFFORT does not mean that it is the most unhappy
- class, actually, as rule it will be handled with more care than
- filler or even bulk.
- */
-
-#define TC_PRIO_BESTEFFORT 0
-#define TC_PRIO_FILLER 1
-#define TC_PRIO_BULK 2
-#define TC_PRIO_INTERACTIVE_BULK 4
-#define TC_PRIO_INTERACTIVE 6
-#define TC_PRIO_CONTROL 7
-
-#define TC_PRIO_MAX 15
-
-/* Generic queue statistics, available for all the elements.
- Particular schedulers may have also their private records.
- */
-
-struct tc_stats {
- __u64 bytes; /* Number of enqueued bytes */
- __u32 packets; /* Number of enqueued packets */
- __u32 drops; /* Packets dropped because of lack of resources */
- __u32 overlimits; /* Number of throttle events when this
- * flow goes out of allocated bandwidth */
- __u32 bps; /* Current flow byte rate */
- __u32 pps; /* Current flow packet rate */
- __u32 qlen;
- __u32 backlog;
-};
-
-struct tc_estimator {
- signed char interval;
- unsigned char ewma_log;
-};
-
-/* "Handles"
- ---------
-
- All the traffic control objects have 32bit identifiers, or "handles".
-
- They can be considered as opaque numbers from user API viewpoint,
- but actually they always consist of two fields: major and
- minor numbers, which are interpreted by kernel specially,
- that may be used by applications, though not recommended.
-
- F.e. qdisc handles always have minor number equal to zero,
- classes (or flows) have major equal to parent qdisc major, and
- minor uniquely identifying class inside qdisc.
-
- Macros to manipulate handles:
- */
-
-#define TC_H_MAJ_MASK (0xFFFF0000U)
-#define TC_H_MIN_MASK (0x0000FFFFU)
-#define TC_H_MAJ(h) ((h)&TC_H_MAJ_MASK)
-#define TC_H_MIN(h) ((h)&TC_H_MIN_MASK)
-#define TC_H_MAKE(maj,min) (((maj)&TC_H_MAJ_MASK)|((min)&TC_H_MIN_MASK))
-
-#define TC_H_UNSPEC (0U)
-#define TC_H_ROOT (0xFFFFFFFFU)
-#define TC_H_INGRESS (0xFFFFFFF1U)
-#define TC_H_CLSACT TC_H_INGRESS
-
-#define TC_H_MIN_INGRESS 0xFFF2U
-#define TC_H_MIN_EGRESS 0xFFF3U
-
-/* Need to corrospond to iproute2 tc/tc_core.h "enum link_layer" */
-enum tc_link_layer {
- TC_LINKLAYER_UNAWARE, /* Indicate unaware old iproute2 util */
- TC_LINKLAYER_ETHERNET,
- TC_LINKLAYER_ATM,
-};
-#define TC_LINKLAYER_MASK 0x0F /* limit use to lower 4 bits */
-
-struct tc_ratespec {
- unsigned char cell_log;
- __u8 linklayer; /* lower 4 bits */
- unsigned short overhead;
- short cell_align;
- unsigned short mpu;
- __u32 rate;
-};
-
-#define TC_RTAB_SIZE 1024
-
-struct tc_sizespec {
- unsigned char cell_log;
- unsigned char size_log;
- short cell_align;
- int overhead;
- unsigned int linklayer;
- unsigned int mpu;
- unsigned int mtu;
- unsigned int tsize;
-};
-
-enum {
- TCA_STAB_UNSPEC,
- TCA_STAB_BASE,
- TCA_STAB_DATA,
- __TCA_STAB_MAX
-};
-
-#define TCA_STAB_MAX (__TCA_STAB_MAX - 1)
-
-/* FIFO section */
-
-struct tc_fifo_qopt {
- __u32 limit; /* Queue length: bytes for bfifo, packets for pfifo */
-};
-
-/* PRIO section */
-
-#define TCQ_PRIO_BANDS 16
-#define TCQ_MIN_PRIO_BANDS 2
-
-struct tc_prio_qopt {
- int bands; /* Number of bands */
- __u8 priomap[TC_PRIO_MAX+1]; /* Map: logical priority -> PRIO band */
-};
-
-/* MULTIQ section */
-
-struct tc_multiq_qopt {
- __u16 bands; /* Number of bands */
- __u16 max_bands; /* Maximum number of queues */
-};
-
-/* PLUG section */
-
-#define TCQ_PLUG_BUFFER 0
-#define TCQ_PLUG_RELEASE_ONE 1
-#define TCQ_PLUG_RELEASE_INDEFINITE 2
-#define TCQ_PLUG_LIMIT 3
-
-struct tc_plug_qopt {
- /* TCQ_PLUG_BUFFER: Inset a plug into the queue and
- * buffer any incoming packets
- * TCQ_PLUG_RELEASE_ONE: Dequeue packets from queue head
- * to beginning of the next plug.
- * TCQ_PLUG_RELEASE_INDEFINITE: Dequeue all packets from queue.
- * Stop buffering packets until the next TCQ_PLUG_BUFFER
- * command is received (just act as a pass-thru queue).
- * TCQ_PLUG_LIMIT: Increase/decrease queue size
- */
- int action;
- __u32 limit;
-};
-
-/* TBF section */
-
-struct tc_tbf_qopt {
- struct tc_ratespec rate;
- struct tc_ratespec peakrate;
- __u32 limit;
- __u32 buffer;
- __u32 mtu;
-};
-
-enum {
- TCA_TBF_UNSPEC,
- TCA_TBF_PARMS,
- TCA_TBF_RTAB,
- TCA_TBF_PTAB,
- TCA_TBF_RATE64,
- TCA_TBF_PRATE64,
- TCA_TBF_BURST,
- TCA_TBF_PBURST,
- __TCA_TBF_MAX,
-};
-
-#define TCA_TBF_MAX (__TCA_TBF_MAX - 1)
-
-
-/* TEQL section */
-
-/* TEQL does not require any parameters */
-
-/* SFQ section */
-
-struct tc_sfq_qopt {
- unsigned quantum; /* Bytes per round allocated to flow */
- int perturb_period; /* Period of hash perturbation */
- __u32 limit; /* Maximal packets in queue */
- unsigned divisor; /* Hash divisor */
- unsigned flows; /* Maximal number of flows */
-};
-
-struct tc_sfqred_stats {
- __u32 prob_drop; /* Early drops, below max threshold */
- __u32 forced_drop; /* Early drops, after max threshold */
- __u32 prob_mark; /* Marked packets, below max threshold */
- __u32 forced_mark; /* Marked packets, after max threshold */
- __u32 prob_mark_head; /* Marked packets, below max threshold */
- __u32 forced_mark_head;/* Marked packets, after max threshold */
-};
-
-struct tc_sfq_qopt_v1 {
- struct tc_sfq_qopt v0;
- unsigned int depth; /* max number of packets per flow */
- unsigned int headdrop;
-/* SFQRED parameters */
- __u32 limit; /* HARD maximal flow queue length (bytes) */
- __u32 qth_min; /* Min average length threshold (bytes) */
- __u32 qth_max; /* Max average length threshold (bytes) */
- unsigned char Wlog; /* log(W) */
- unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */
- unsigned char Scell_log; /* cell size for idle damping */
- unsigned char flags;
- __u32 max_P; /* probability, high resolution */
-/* SFQRED stats */
- struct tc_sfqred_stats stats;
-};
-
-
-struct tc_sfq_xstats {
- __s32 allot;
-};
-
-/* RED section */
-
-enum {
- TCA_RED_UNSPEC,
- TCA_RED_PARMS,
- TCA_RED_STAB,
- TCA_RED_MAX_P,
- __TCA_RED_MAX,
-};
-
-#define TCA_RED_MAX (__TCA_RED_MAX - 1)
-
-struct tc_red_qopt {
- __u32 limit; /* HARD maximal queue length (bytes) */
- __u32 qth_min; /* Min average length threshold (bytes) */
- __u32 qth_max; /* Max average length threshold (bytes) */
- unsigned char Wlog; /* log(W) */
- unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */
- unsigned char Scell_log; /* cell size for idle damping */
- unsigned char flags;
-#define TC_RED_ECN 1
-#define TC_RED_HARDDROP 2
-#define TC_RED_ADAPTATIVE 4
-};
-
-struct tc_red_xstats {
- __u32 early; /* Early drops */
- __u32 pdrop; /* Drops due to queue limits */
- __u32 other; /* Drops due to drop() calls */
- __u32 marked; /* Marked packets */
-};
-
-/* GRED section */
-
-#define MAX_DPs 16
-
-enum {
- TCA_GRED_UNSPEC,
- TCA_GRED_PARMS,
- TCA_GRED_STAB,
- TCA_GRED_DPS,
- TCA_GRED_MAX_P,
- TCA_GRED_LIMIT,
- __TCA_GRED_MAX,
-};
-
-#define TCA_GRED_MAX (__TCA_GRED_MAX - 1)
-
-struct tc_gred_qopt {
- __u32 limit; /* HARD maximal queue length (bytes) */
- __u32 qth_min; /* Min average length threshold (bytes) */
- __u32 qth_max; /* Max average length threshold (bytes) */
- __u32 DP; /* up to 2^32 DPs */
- __u32 backlog;
- __u32 qave;
- __u32 forced;
- __u32 early;
- __u32 other;
- __u32 pdrop;
- __u8 Wlog; /* log(W) */
- __u8 Plog; /* log(P_max/(qth_max-qth_min)) */
- __u8 Scell_log; /* cell size for idle damping */
- __u8 prio; /* prio of this VQ */
- __u32 packets;
- __u32 bytesin;
-};
-
-/* gred setup */
-struct tc_gred_sopt {
- __u32 DPs;
- __u32 def_DP;
- __u8 grio;
- __u8 flags;
- __u16 pad1;
-};
-
-/* CHOKe section */
-
-enum {
- TCA_CHOKE_UNSPEC,
- TCA_CHOKE_PARMS,
- TCA_CHOKE_STAB,
- TCA_CHOKE_MAX_P,
- __TCA_CHOKE_MAX,
-};
-
-#define TCA_CHOKE_MAX (__TCA_CHOKE_MAX - 1)
-
-struct tc_choke_qopt {
- __u32 limit; /* Hard queue length (packets) */
- __u32 qth_min; /* Min average threshold (packets) */
- __u32 qth_max; /* Max average threshold (packets) */
- unsigned char Wlog; /* log(W) */
- unsigned char Plog; /* log(P_max/(qth_max-qth_min)) */
- unsigned char Scell_log; /* cell size for idle damping */
- unsigned char flags; /* see RED flags */
-};
-
-struct tc_choke_xstats {
- __u32 early; /* Early drops */
- __u32 pdrop; /* Drops due to queue limits */
- __u32 other; /* Drops due to drop() calls */
- __u32 marked; /* Marked packets */
- __u32 matched; /* Drops due to flow match */
-};
-
-/* HTB section */
-#define TC_HTB_NUMPRIO 8
-#define TC_HTB_MAXDEPTH 8
-#define TC_HTB_PROTOVER 3 /* the same as HTB and TC's major */
-
-struct tc_htb_opt {
- struct tc_ratespec rate;
- struct tc_ratespec ceil;
- __u32 buffer;
- __u32 cbuffer;
- __u32 quantum;
- __u32 level; /* out only */
- __u32 prio;
-};
-struct tc_htb_glob {
- __u32 version; /* to match HTB/TC */
- __u32 rate2quantum; /* bps->quantum divisor */
- __u32 defcls; /* default class number */
- __u32 debug; /* debug flags */
-
- /* stats */
- __u32 direct_pkts; /* count of non shaped packets */
-};
-enum {
- TCA_HTB_UNSPEC,
- TCA_HTB_PARMS,
- TCA_HTB_INIT,
- TCA_HTB_CTAB,
- TCA_HTB_RTAB,
- TCA_HTB_DIRECT_QLEN,
- TCA_HTB_RATE64,
- TCA_HTB_CEIL64,
- __TCA_HTB_MAX,
-};
-
-#define TCA_HTB_MAX (__TCA_HTB_MAX - 1)
-
-struct tc_htb_xstats {
- __u32 lends;
- __u32 borrows;
- __u32 giants; /* too big packets (rate will not be accurate) */
- __u32 tokens;
- __u32 ctokens;
-};
-
-/* HFSC section */
-
-struct tc_hfsc_qopt {
- __u16 defcls; /* default class */
-};
-
-struct tc_service_curve {
- __u32 m1; /* slope of the first segment in bps */
- __u32 d; /* x-projection of the first segment in us */
- __u32 m2; /* slope of the second segment in bps */
-};
-
-struct tc_hfsc_stats {
- __u64 work; /* total work done */
- __u64 rtwork; /* work done by real-time criteria */
- __u32 period; /* current period */
- __u32 level; /* class level in hierarchy */
-};
-
-enum {
- TCA_HFSC_UNSPEC,
- TCA_HFSC_RSC,
- TCA_HFSC_FSC,
- TCA_HFSC_USC,
- __TCA_HFSC_MAX,
-};
-
-#define TCA_HFSC_MAX (__TCA_HFSC_MAX - 1)
-
-
-/* CBQ section */
-
-#define TC_CBQ_MAXPRIO 8
-#define TC_CBQ_MAXLEVEL 8
-#define TC_CBQ_DEF_EWMA 5
-
-struct tc_cbq_lssopt {
- unsigned char change;
- unsigned char flags;
-#define TCF_CBQ_LSS_BOUNDED 1
-#define TCF_CBQ_LSS_ISOLATED 2
- unsigned char ewma_log;
- unsigned char level;
-#define TCF_CBQ_LSS_FLAGS 1
-#define TCF_CBQ_LSS_EWMA 2
-#define TCF_CBQ_LSS_MAXIDLE 4
-#define TCF_CBQ_LSS_MINIDLE 8
-#define TCF_CBQ_LSS_OFFTIME 0x10
-#define TCF_CBQ_LSS_AVPKT 0x20
- __u32 maxidle;
- __u32 minidle;
- __u32 offtime;
- __u32 avpkt;
-};
-
-struct tc_cbq_wrropt {
- unsigned char flags;
- unsigned char priority;
- unsigned char cpriority;
- unsigned char __reserved;
- __u32 allot;
- __u32 weight;
-};
-
-struct tc_cbq_ovl {
- unsigned char strategy;
-#define TC_CBQ_OVL_CLASSIC 0
-#define TC_CBQ_OVL_DELAY 1
-#define TC_CBQ_OVL_LOWPRIO 2
-#define TC_CBQ_OVL_DROP 3
-#define TC_CBQ_OVL_RCLASSIC 4
- unsigned char priority2;
- __u16 pad;
- __u32 penalty;
-};
-
-struct tc_cbq_police {
- unsigned char police;
- unsigned char __res1;
- unsigned short __res2;
-};
-
-struct tc_cbq_fopt {
- __u32 split;
- __u32 defmap;
- __u32 defchange;
-};
-
-struct tc_cbq_xstats {
- __u32 borrows;
- __u32 overactions;
- __s32 avgidle;
- __s32 undertime;
-};
-
-enum {
- TCA_CBQ_UNSPEC,
- TCA_CBQ_LSSOPT,
- TCA_CBQ_WRROPT,
- TCA_CBQ_FOPT,
- TCA_CBQ_OVL_STRATEGY,
- TCA_CBQ_RATE,
- TCA_CBQ_RTAB,
- TCA_CBQ_POLICE,
- __TCA_CBQ_MAX,
-};
-
-#define TCA_CBQ_MAX (__TCA_CBQ_MAX - 1)
-
-/* dsmark section */
-
-enum {
- TCA_DSMARK_UNSPEC,
- TCA_DSMARK_INDICES,
- TCA_DSMARK_DEFAULT_INDEX,
- TCA_DSMARK_SET_TC_INDEX,
- TCA_DSMARK_MASK,
- TCA_DSMARK_VALUE,
- __TCA_DSMARK_MAX,
-};
-
-#define TCA_DSMARK_MAX (__TCA_DSMARK_MAX - 1)
-
-/* ATM section */
-
-enum {
- TCA_ATM_UNSPEC,
- TCA_ATM_FD, /* file/socket descriptor */
- TCA_ATM_PTR, /* pointer to descriptor - later */
- TCA_ATM_HDR, /* LL header */
- TCA_ATM_EXCESS, /* excess traffic class (0 for CLP) */
- TCA_ATM_ADDR, /* PVC address (for output only) */
- TCA_ATM_STATE, /* VC state (ATM_VS_*; for output only) */
- __TCA_ATM_MAX,
-};
-
-#define TCA_ATM_MAX (__TCA_ATM_MAX - 1)
-
-/* Network emulator */
-
-enum {
- TCA_NETEM_UNSPEC,
- TCA_NETEM_CORR,
- TCA_NETEM_DELAY_DIST,
- TCA_NETEM_REORDER,
- TCA_NETEM_CORRUPT,
- TCA_NETEM_LOSS,
- TCA_NETEM_RATE,
- TCA_NETEM_ECN,
- TCA_NETEM_RATE64,
- __TCA_NETEM_MAX,
-};
-
-#define TCA_NETEM_MAX (__TCA_NETEM_MAX - 1)
-
-struct tc_netem_qopt {
- __u32 latency; /* added delay (us) */
- __u32 limit; /* fifo limit (packets) */
- __u32 loss; /* random packet loss (0=none ~0=100%) */
- __u32 gap; /* re-ordering gap (0 for none) */
- __u32 duplicate; /* random packet dup (0=none ~0=100%) */
- __u32 jitter; /* random jitter in latency (us) */
-};
-
-struct tc_netem_corr {
- __u32 delay_corr; /* delay correlation */
- __u32 loss_corr; /* packet loss correlation */
- __u32 dup_corr; /* duplicate correlation */
-};
-
-struct tc_netem_reorder {
- __u32 probability;
- __u32 correlation;
-};
-
-struct tc_netem_corrupt {
- __u32 probability;
- __u32 correlation;
-};
-
-struct tc_netem_rate {
- __u32 rate; /* byte/s */
- __s32 packet_overhead;
- __u32 cell_size;
- __s32 cell_overhead;
-};
-
-enum {
- NETEM_LOSS_UNSPEC,
- NETEM_LOSS_GI, /* General Intuitive - 4 state model */
- NETEM_LOSS_GE, /* Gilbert Elliot models */
- __NETEM_LOSS_MAX
-};
-#define NETEM_LOSS_MAX (__NETEM_LOSS_MAX - 1)
-
-/* State transition probabilities for 4 state model */
-struct tc_netem_gimodel {
- __u32 p13;
- __u32 p31;
- __u32 p32;
- __u32 p14;
- __u32 p23;
-};
-
-/* Gilbert-Elliot models */
-struct tc_netem_gemodel {
- __u32 p;
- __u32 r;
- __u32 h;
- __u32 k1;
-};
-
-#define NETEM_DIST_SCALE 8192
-#define NETEM_DIST_MAX 16384
-
-/* DRR */
-
-enum {
- TCA_DRR_UNSPEC,
- TCA_DRR_QUANTUM,
- __TCA_DRR_MAX
-};
-
-#define TCA_DRR_MAX (__TCA_DRR_MAX - 1)
-
-struct tc_drr_stats {
- __u32 deficit;
-};
-
-/* MQPRIO */
-#define TC_QOPT_BITMASK 15
-#define TC_QOPT_MAX_QUEUE 16
-
-struct tc_mqprio_qopt {
- __u8 num_tc;
- __u8 prio_tc_map[TC_QOPT_BITMASK + 1];
- __u8 hw;
- __u16 count[TC_QOPT_MAX_QUEUE];
- __u16 offset[TC_QOPT_MAX_QUEUE];
-};
-
-/* SFB */
-
-enum {
- TCA_SFB_UNSPEC,
- TCA_SFB_PARMS,
- __TCA_SFB_MAX,
-};
-
-#define TCA_SFB_MAX (__TCA_SFB_MAX - 1)
-
-/*
- * Note: increment, decrement are Q0.16 fixed-point values.
- */
-struct tc_sfb_qopt {
- __u32 rehash_interval; /* delay between hash move, in ms */
- __u32 warmup_time; /* double buffering warmup time in ms (warmup_time < rehash_interval) */
- __u32 max; /* max len of qlen_min */
- __u32 bin_size; /* maximum queue length per bin */
- __u32 increment; /* probability increment, (d1 in Blue) */
- __u32 decrement; /* probability decrement, (d2 in Blue) */
- __u32 limit; /* max SFB queue length */
- __u32 penalty_rate; /* inelastic flows are rate limited to 'rate' pps */
- __u32 penalty_burst;
-};
-
-struct tc_sfb_xstats {
- __u32 earlydrop;
- __u32 penaltydrop;
- __u32 bucketdrop;
- __u32 queuedrop;
- __u32 childdrop; /* drops in child qdisc */
- __u32 marked;
- __u32 maxqlen;
- __u32 maxprob;
- __u32 avgprob;
-};
-
-#define SFB_MAX_PROB 0xFFFF
-
-/* QFQ */
-enum {
- TCA_QFQ_UNSPEC,
- TCA_QFQ_WEIGHT,
- TCA_QFQ_LMAX,
- __TCA_QFQ_MAX
-};
-
-#define TCA_QFQ_MAX (__TCA_QFQ_MAX - 1)
-
-struct tc_qfq_stats {
- __u32 weight;
- __u32 lmax;
-};
-
-/* CODEL */
-
-enum {
- TCA_CODEL_UNSPEC,
- TCA_CODEL_TARGET,
- TCA_CODEL_LIMIT,
- TCA_CODEL_INTERVAL,
- TCA_CODEL_ECN,
- TCA_CODEL_CE_THRESHOLD,
- __TCA_CODEL_MAX
-};
-
-#define TCA_CODEL_MAX (__TCA_CODEL_MAX - 1)
-
-struct tc_codel_xstats {
- __u32 maxpacket; /* largest packet we've seen so far */
- __u32 count; /* how many drops we've done since the last time we
- * entered dropping state
- */
- __u32 lastcount; /* count at entry to dropping state */
- __u32 ldelay; /* in-queue delay seen by most recently dequeued packet */
- __s32 drop_next; /* time to drop next packet */
- __u32 drop_overlimit; /* number of time max qdisc packet limit was hit */
- __u32 ecn_mark; /* number of packets we ECN marked instead of dropped */
- __u32 dropping; /* are we in dropping state ? */
- __u32 ce_mark; /* number of CE marked packets because of ce_threshold */
-};
-
-/* FQ_CODEL */
-
-enum {
- TCA_FQ_CODEL_UNSPEC,
- TCA_FQ_CODEL_TARGET,
- TCA_FQ_CODEL_LIMIT,
- TCA_FQ_CODEL_INTERVAL,
- TCA_FQ_CODEL_ECN,
- TCA_FQ_CODEL_FLOWS,
- TCA_FQ_CODEL_QUANTUM,
- TCA_FQ_CODEL_CE_THRESHOLD,
- __TCA_FQ_CODEL_MAX
-};
-
-#define TCA_FQ_CODEL_MAX (__TCA_FQ_CODEL_MAX - 1)
-
-enum {
- TCA_FQ_CODEL_XSTATS_QDISC,
- TCA_FQ_CODEL_XSTATS_CLASS,
-};
-
-struct tc_fq_codel_qd_stats {
- __u32 maxpacket; /* largest packet we've seen so far */
- __u32 drop_overlimit; /* number of time max qdisc
- * packet limit was hit
- */
- __u32 ecn_mark; /* number of packets we ECN marked
- * instead of being dropped
- */
- __u32 new_flow_count; /* number of time packets
- * created a 'new flow'
- */
- __u32 new_flows_len; /* count of flows in new list */
- __u32 old_flows_len; /* count of flows in old list */
- __u32 ce_mark; /* packets above ce_threshold */
-};
-
-struct tc_fq_codel_cl_stats {
- __s32 deficit;
- __u32 ldelay; /* in-queue delay seen by most recently
- * dequeued packet
- */
- __u32 count;
- __u32 lastcount;
- __u32 dropping;
- __s32 drop_next;
-};
-
-struct tc_fq_codel_xstats {
- __u32 type;
- union {
- struct tc_fq_codel_qd_stats qdisc_stats;
- struct tc_fq_codel_cl_stats class_stats;
- };
-};
-
-/* FQ */
-
-enum {
- TCA_FQ_UNSPEC,
-
- TCA_FQ_PLIMIT, /* limit of total number of packets in queue */
-
- TCA_FQ_FLOW_PLIMIT, /* limit of packets per flow */
-
- TCA_FQ_QUANTUM, /* RR quantum */
-
- TCA_FQ_INITIAL_QUANTUM, /* RR quantum for new flow */
-
- TCA_FQ_RATE_ENABLE, /* enable/disable rate limiting */
-
- TCA_FQ_FLOW_DEFAULT_RATE,/* obsolete, do not use */
-
- TCA_FQ_FLOW_MAX_RATE, /* per flow max rate */
-
- TCA_FQ_BUCKETS_LOG, /* log2(number of buckets) */
-
- TCA_FQ_FLOW_REFILL_DELAY, /* flow credit refill delay in usec */
-
- TCA_FQ_ORPHAN_MASK, /* mask applied to orphaned skb hashes */
-
- __TCA_FQ_MAX
-};
-
-#define TCA_FQ_MAX (__TCA_FQ_MAX - 1)
-
-struct tc_fq_qd_stats {
- __u64 gc_flows;
- __u64 highprio_packets;
- __u64 tcp_retrans;
- __u64 throttled;
- __u64 flows_plimit;
- __u64 pkts_too_long;
- __u64 allocation_errors;
- __s64 time_next_delayed_flow;
- __u32 flows;
- __u32 inactive_flows;
- __u32 throttled_flows;
- __u32 pad;
-};
-
-/* Heavy-Hitter Filter */
-
-enum {
- TCA_HHF_UNSPEC,
- TCA_HHF_BACKLOG_LIMIT,
- TCA_HHF_QUANTUM,
- TCA_HHF_HH_FLOWS_LIMIT,
- TCA_HHF_RESET_TIMEOUT,
- TCA_HHF_ADMIT_BYTES,
- TCA_HHF_EVICT_TIMEOUT,
- TCA_HHF_NON_HH_WEIGHT,
- __TCA_HHF_MAX
-};
-
-#define TCA_HHF_MAX (__TCA_HHF_MAX - 1)
-
-struct tc_hhf_xstats {
- __u32 drop_overlimit; /* number of times max qdisc packet limit
- * was hit
- */
- __u32 hh_overlimit; /* number of times max heavy-hitters was hit */
- __u32 hh_tot_count; /* number of captured heavy-hitters so far */
- __u32 hh_cur_count; /* number of current heavy-hitters */
-};
-
-/* PIE */
-enum {
- TCA_PIE_UNSPEC,
- TCA_PIE_TARGET,
- TCA_PIE_LIMIT,
- TCA_PIE_TUPDATE,
- TCA_PIE_ALPHA,
- TCA_PIE_BETA,
- TCA_PIE_ECN,
- TCA_PIE_BYTEMODE,
- __TCA_PIE_MAX
-};
-#define TCA_PIE_MAX (__TCA_PIE_MAX - 1)
-
-struct tc_pie_xstats {
- __u32 prob; /* current probability */
- __u32 delay; /* current delay in ms */
- __u32 avg_dq_rate; /* current average dq_rate in bits/pie_time */
- __u32 packets_in; /* total number of packets enqueued */
- __u32 dropped; /* packets dropped due to pie_action */
- __u32 overlimit; /* dropped due to lack of space in queue */
- __u32 maxq; /* maximum queue size */
- __u32 ecn_mark; /* packets marked with ecn*/
-};
-#endif
diff --git a/linux-headers/include/linux/pktcdvd.h b/linux-headers/include/linux/pktcdvd.h
deleted file mode 100644
index 7c31eb7..0000000
--- a/linux-headers/include/linux/pktcdvd.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2000 Jens Axboe <axboe@suse.de>
- * Copyright (C) 2001-2004 Peter Osterlund <petero2@telia.com>
- *
- * May be copied or modified under the terms of the GNU General Public
- * License. See linux/COPYING for more information.
- *
- * Packet writing layer for ATAPI and SCSI CD-R, CD-RW, DVD-R, and
- * DVD-RW devices.
- *
- */
-#ifndef __PKTCDVD_H
-#define __PKTCDVD_H
-
-#include <linux/types.h>
-
-/*
- * 1 for normal debug messages, 2 is very verbose. 0 to turn it off.
- */
-#define PACKET_DEBUG 1
-
-#define MAX_WRITERS 8
-
-#define PKT_RB_POOL_SIZE 512
-
-/*
- * How long we should hold a non-full packet before starting data gathering.
- */
-#define PACKET_WAIT_TIME (HZ * 5 / 1000)
-
-/*
- * use drive write caching -- we need deferred error handling to be
- * able to successfully recover with this option (drive will return good
- * status as soon as the cdb is validated).
- */
-#if defined(CONFIG_CDROM_PKTCDVD_WCACHE)
-#define USE_WCACHING 1
-#else
-#define USE_WCACHING 0
-#endif
-
-/*
- * No user-servicable parts beyond this point ->
- */
-
-/*
- * device types
- */
-#define PACKET_CDR 1
-#define PACKET_CDRW 2
-#define PACKET_DVDR 3
-#define PACKET_DVDRW 4
-
-/*
- * flags
- */
-#define PACKET_WRITABLE 1 /* pd is writable */
-#define PACKET_NWA_VALID 2 /* next writable address valid */
-#define PACKET_LRA_VALID 3 /* last recorded address valid */
-#define PACKET_MERGE_SEGS 4 /* perform segment merging to keep */
- /* underlying cdrom device happy */
-
-/*
- * Disc status -- from READ_DISC_INFO
- */
-#define PACKET_DISC_EMPTY 0
-#define PACKET_DISC_INCOMPLETE 1
-#define PACKET_DISC_COMPLETE 2
-#define PACKET_DISC_OTHER 3
-
-/*
- * write type, and corresponding data block type
- */
-#define PACKET_MODE1 1
-#define PACKET_MODE2 2
-#define PACKET_BLOCK_MODE1 8
-#define PACKET_BLOCK_MODE2 10
-
-/*
- * Last session/border status
- */
-#define PACKET_SESSION_EMPTY 0
-#define PACKET_SESSION_INCOMPLETE 1
-#define PACKET_SESSION_RESERVED 2
-#define PACKET_SESSION_COMPLETE 3
-
-#define PACKET_MCN "4a656e734178626f65323030300000"
-
-#undef PACKET_USE_LS
-
-#define PKT_CTRL_CMD_SETUP 0
-#define PKT_CTRL_CMD_TEARDOWN 1
-#define PKT_CTRL_CMD_STATUS 2
-
-struct pkt_ctrl_command {
- __u32 command; /* in: Setup, teardown, status */
- __u32 dev_index; /* in/out: Device index */
- __u32 dev; /* in/out: Device nr for cdrw device */
- __u32 pkt_dev; /* in/out: Device nr for packet device */
- __u32 num_devices; /* out: Largest device index + 1 */
- __u32 padding; /* Not used */
-};
-
-/*
- * packet ioctls
- */
-#define PACKET_IOCTL_MAGIC ('X')
-#define PACKET_CTRL_CMD _IOWR(PACKET_IOCTL_MAGIC, 1, struct pkt_ctrl_command)
-
-
-#endif /* __PKTCDVD_H */
diff --git a/linux-headers/include/linux/pmu.h b/linux-headers/include/linux/pmu.h
deleted file mode 100644
index 12eccb4..0000000
--- a/linux-headers/include/linux/pmu.h
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Definitions for talking to the PMU. The PMU is a microcontroller
- * which controls battery charging and system power on PowerBook 3400
- * and 2400 models as well as the RTC and various other things.
- *
- * Copyright (C) 1998 Paul Mackerras.
- */
-
-#ifndef _LINUX_PMU_H
-#define _LINUX_PMU_H
-
-#define PMU_DRIVER_VERSION 2
-
-/*
- * PMU commands
- */
-#define PMU_POWER_CTRL0 0x10 /* control power of some devices */
-#define PMU_POWER_CTRL 0x11 /* control power of some devices */
-#define PMU_ADB_CMD 0x20 /* send ADB packet */
-#define PMU_ADB_POLL_OFF 0x21 /* disable ADB auto-poll */
-#define PMU_WRITE_NVRAM 0x33 /* write non-volatile RAM */
-#define PMU_READ_NVRAM 0x3b /* read non-volatile RAM */
-#define PMU_SET_RTC 0x30 /* set real-time clock */
-#define PMU_READ_RTC 0x38 /* read real-time clock */
-#define PMU_SET_VOLBUTTON 0x40 /* set volume up/down position */
-#define PMU_BACKLIGHT_BRIGHT 0x41 /* set backlight brightness */
-#define PMU_GET_VOLBUTTON 0x48 /* get volume up/down position */
-#define PMU_PCEJECT 0x4c /* eject PC-card from slot */
-#define PMU_BATTERY_STATE 0x6b /* report battery state etc. */
-#define PMU_SMART_BATTERY_STATE 0x6f /* report battery state (new way) */
-#define PMU_SET_INTR_MASK 0x70 /* set PMU interrupt mask */
-#define PMU_INT_ACK 0x78 /* read interrupt bits */
-#define PMU_SHUTDOWN 0x7e /* turn power off */
-#define PMU_CPU_SPEED 0x7d /* control CPU speed on some models */
-#define PMU_SLEEP 0x7f /* put CPU to sleep */
-#define PMU_POWER_EVENTS 0x8f /* Send power-event commands to PMU */
-#define PMU_I2C_CMD 0x9a /* I2C operations */
-#define PMU_RESET 0xd0 /* reset CPU */
-#define PMU_GET_BRIGHTBUTTON 0xd9 /* report brightness up/down pos */
-#define PMU_GET_COVER 0xdc /* report cover open/closed */
-#define PMU_SYSTEM_READY 0xdf /* tell PMU we are awake */
-#define PMU_GET_VERSION 0xea /* read the PMU version */
-
-/* Bits to use with the PMU_POWER_CTRL0 command */
-#define PMU_POW0_ON 0x80 /* OR this to power ON the device */
-#define PMU_POW0_OFF 0x00 /* leave bit 7 to 0 to power it OFF */
-#define PMU_POW0_HARD_DRIVE 0x04 /* Hard drive power (on wallstreet/lombard ?) */
-
-/* Bits to use with the PMU_POWER_CTRL command */
-#define PMU_POW_ON 0x80 /* OR this to power ON the device */
-#define PMU_POW_OFF 0x00 /* leave bit 7 to 0 to power it OFF */
-#define PMU_POW_BACKLIGHT 0x01 /* backlight power */
-#define PMU_POW_CHARGER 0x02 /* battery charger power */
-#define PMU_POW_IRLED 0x04 /* IR led power (on wallstreet) */
-#define PMU_POW_MEDIABAY 0x08 /* media bay power (wallstreet/lombard ?) */
-
-/* Bits in PMU interrupt and interrupt mask bytes */
-#define PMU_INT_PCEJECT 0x04 /* PC-card eject buttons */
-#define PMU_INT_SNDBRT 0x08 /* sound/brightness up/down buttons */
-#define PMU_INT_ADB 0x10 /* ADB autopoll or reply data */
-#define PMU_INT_BATTERY 0x20 /* Battery state change */
-#define PMU_INT_ENVIRONMENT 0x40 /* Environment interrupts */
-#define PMU_INT_TICK 0x80 /* 1-second tick interrupt */
-
-/* Other bits in PMU interrupt valid when PMU_INT_ADB is set */
-#define PMU_INT_ADB_AUTO 0x04 /* ADB autopoll, when PMU_INT_ADB */
-#define PMU_INT_WAITING_CHARGER 0x01 /* ??? */
-#define PMU_INT_AUTO_SRQ_POLL 0x02 /* ??? */
-
-/* Bits in the environement message (either obtained via PMU_GET_COVER,
- * or via PMU_INT_ENVIRONMENT on core99 */
-#define PMU_ENV_LID_CLOSED 0x01 /* The lid is closed */
-
-/* I2C related definitions */
-#define PMU_I2C_MODE_SIMPLE 0
-#define PMU_I2C_MODE_STDSUB 1
-#define PMU_I2C_MODE_COMBINED 2
-
-#define PMU_I2C_BUS_STATUS 0
-#define PMU_I2C_BUS_SYSCLK 1
-#define PMU_I2C_BUS_POWER 2
-
-#define PMU_I2C_STATUS_OK 0
-#define PMU_I2C_STATUS_DATAREAD 1
-#define PMU_I2C_STATUS_BUSY 0xfe
-
-
-/* Kind of PMU (model) */
-enum {
- PMU_UNKNOWN,
- PMU_OHARE_BASED, /* 2400, 3400, 3500 (old G3 powerbook) */
- PMU_HEATHROW_BASED, /* PowerBook G3 series */
- PMU_PADDINGTON_BASED, /* 1999 PowerBook G3 */
- PMU_KEYLARGO_BASED, /* Core99 motherboard (PMU99) */
- PMU_68K_V1, /* 68K PMU, version 1 */
- PMU_68K_V2, /* 68K PMU, version 2 */
-};
-
-/* PMU PMU_POWER_EVENTS commands */
-enum {
- PMU_PWR_GET_POWERUP_EVENTS = 0x00,
- PMU_PWR_SET_POWERUP_EVENTS = 0x01,
- PMU_PWR_CLR_POWERUP_EVENTS = 0x02,
- PMU_PWR_GET_WAKEUP_EVENTS = 0x03,
- PMU_PWR_SET_WAKEUP_EVENTS = 0x04,
- PMU_PWR_CLR_WAKEUP_EVENTS = 0x05,
-};
-
-/* Power events wakeup bits */
-enum {
- PMU_PWR_WAKEUP_KEY = 0x01, /* Wake on key press */
- PMU_PWR_WAKEUP_AC_INSERT = 0x02, /* Wake on AC adapter plug */
- PMU_PWR_WAKEUP_AC_CHANGE = 0x04,
- PMU_PWR_WAKEUP_LID_OPEN = 0x08,
- PMU_PWR_WAKEUP_RING = 0x10,
-};
-
-/*
- * Ioctl commands for the /dev/pmu device
- */
-#include <linux/ioctl.h>
-
-/* no param */
-#define PMU_IOC_SLEEP _IO('B', 0)
-/* out param: u32* backlight value: 0 to 15 */
-#define PMU_IOC_GET_BACKLIGHT _IOR('B', 1, size_t)
-/* in param: u32 backlight value: 0 to 15 */
-#define PMU_IOC_SET_BACKLIGHT _IOW('B', 2, size_t)
-/* out param: u32* PMU model */
-#define PMU_IOC_GET_MODEL _IOR('B', 3, size_t)
-/* out param: u32* has_adb: 0 or 1 */
-#define PMU_IOC_HAS_ADB _IOR('B', 4, size_t)
-/* out param: u32* can_sleep: 0 or 1 */
-#define PMU_IOC_CAN_SLEEP _IOR('B', 5, size_t)
-/* no param, but historically was _IOR('B', 6, 0), meaning 4 bytes */
-#define PMU_IOC_GRAB_BACKLIGHT _IOR('B', 6, size_t)
-
-
-#endif /* _LINUX_PMU_H */
diff --git a/linux-headers/include/linux/poll.h b/linux-headers/include/linux/poll.h
deleted file mode 100644
index 2001fed..0000000
--- a/linux-headers/include/linux/poll.h
+++ /dev/null
@@ -1 +0,0 @@
-#include <asm/poll.h>
diff --git a/linux-headers/include/linux/posix_types.h b/linux-headers/include/linux/posix_types.h
deleted file mode 100644
index 988f76e..0000000
--- a/linux-headers/include/linux/posix_types.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef _LINUX_POSIX_TYPES_H
-#define _LINUX_POSIX_TYPES_H
-
-#include <linux/stddef.h>
-
-/*
- * This allows for 1024 file descriptors: if NR_OPEN is ever grown
- * beyond that you'll have to change this too. But 1024 fd's seem to be
- * enough even for such "real" unices like OSF/1, so hopefully this is
- * one limit that doesn't have to be changed [again].
- *
- * Note that POSIX wants the FD_CLEAR(fd,fdsetp) defines to be in
- * <sys/time.h> (and thus <linux/time.h>) - but this is a more logical
- * place for them. Solved by having dummy defines in <sys/time.h>.
- */
-
-/*
- * This macro may have been defined in <gnu/types.h>. But we always
- * use the one here.
- */
-#undef __FD_SETSIZE
-#define __FD_SETSIZE 1024
-
-typedef struct {
- unsigned long fds_bits[__FD_SETSIZE / (8 * sizeof(long))];
-} __kernel_fd_set;
-
-/* Type of a signal handler. */
-typedef void (*__kernel_sighandler_t)(int);
-
-/* Type of a SYSV IPC key. */
-typedef int __kernel_key_t;
-typedef int __kernel_mqd_t;
-
-#include <asm/posix_types.h>
-
-#endif /* _LINUX_POSIX_TYPES_H */
diff --git a/linux-headers/include/linux/ppdev.h b/linux-headers/include/linux/ppdev.h
deleted file mode 100644
index dc18c5d..0000000
--- a/linux-headers/include/linux/ppdev.h
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * linux/include/linux/ppdev.h
- *
- * User-space parallel port device driver (header file).
- *
- * Copyright (C) 1998-9 Tim Waugh <tim@cyberelk.demon.co.uk>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- * Added PPGETTIME/PPSETTIME, Fred Barnes, 1999
- * Added PPGETMODES/PPGETMODE/PPGETPHASE, Fred Barnes <frmb2@ukc.ac.uk>, 03/01/2001
- */
-
-#define PP_IOCTL 'p'
-
-/* Set mode for read/write (e.g. IEEE1284_MODE_EPP) */
-#define PPSETMODE _IOW(PP_IOCTL, 0x80, int)
-
-/* Read status */
-#define PPRSTATUS _IOR(PP_IOCTL, 0x81, unsigned char)
-#define PPWSTATUS OBSOLETE__IOW(PP_IOCTL, 0x82, unsigned char)
-
-/* Read/write control */
-#define PPRCONTROL _IOR(PP_IOCTL, 0x83, unsigned char)
-#define PPWCONTROL _IOW(PP_IOCTL, 0x84, unsigned char)
-
-struct ppdev_frob_struct {
- unsigned char mask;
- unsigned char val;
-};
-#define PPFCONTROL _IOW(PP_IOCTL, 0x8e, struct ppdev_frob_struct)
-
-/* Read/write data */
-#define PPRDATA _IOR(PP_IOCTL, 0x85, unsigned char)
-#define PPWDATA _IOW(PP_IOCTL, 0x86, unsigned char)
-
-/* Read/write econtrol (not used) */
-#define PPRECONTROL OBSOLETE__IOR(PP_IOCTL, 0x87, unsigned char)
-#define PPWECONTROL OBSOLETE__IOW(PP_IOCTL, 0x88, unsigned char)
-
-/* Read/write FIFO (not used) */
-#define PPRFIFO OBSOLETE__IOR(PP_IOCTL, 0x89, unsigned char)
-#define PPWFIFO OBSOLETE__IOW(PP_IOCTL, 0x8a, unsigned char)
-
-/* Claim the port to start using it */
-#define PPCLAIM _IO(PP_IOCTL, 0x8b)
-
-/* Release the port when you aren't using it */
-#define PPRELEASE _IO(PP_IOCTL, 0x8c)
-
-/* Yield the port (release it if another driver is waiting,
- * then reclaim) */
-#define PPYIELD _IO(PP_IOCTL, 0x8d)
-
-/* Register device exclusively (must be before PPCLAIM). */
-#define PPEXCL _IO(PP_IOCTL, 0x8f)
-
-/* Data line direction: non-zero for input mode. */
-#define PPDATADIR _IOW(PP_IOCTL, 0x90, int)
-
-/* Negotiate a particular IEEE 1284 mode. */
-#define PPNEGOT _IOW(PP_IOCTL, 0x91, int)
-
-/* Set control lines when an interrupt occurs. */
-#define PPWCTLONIRQ _IOW(PP_IOCTL, 0x92, unsigned char)
-
-/* Clear (and return) interrupt count. */
-#define PPCLRIRQ _IOR(PP_IOCTL, 0x93, int)
-
-/* Set the IEEE 1284 phase that we're in (e.g. IEEE1284_PH_FWD_IDLE) */
-#define PPSETPHASE _IOW(PP_IOCTL, 0x94, int)
-
-/* Set and get port timeout (struct timeval's) */
-#define PPGETTIME _IOR(PP_IOCTL, 0x95, struct timeval)
-#define PPSETTIME _IOW(PP_IOCTL, 0x96, struct timeval)
-
-/* Get available modes (what the hardware can do) */
-#define PPGETMODES _IOR(PP_IOCTL, 0x97, unsigned int)
-
-/* Get the current mode and phaze */
-#define PPGETMODE _IOR(PP_IOCTL, 0x98, int)
-#define PPGETPHASE _IOR(PP_IOCTL, 0x99, int)
-
-/* get/set flags */
-#define PPGETFLAGS _IOR(PP_IOCTL, 0x9a, int)
-#define PPSETFLAGS _IOW(PP_IOCTL, 0x9b, int)
-
-/* flags visible to the world */
-#define PP_FASTWRITE (1<<2)
-#define PP_FASTREAD (1<<3)
-#define PP_W91284PIC (1<<4)
-
-/* only masks user-visible flags */
-#define PP_FLAGMASK (PP_FASTWRITE | PP_FASTREAD | PP_W91284PIC)
-
-
diff --git a/linux-headers/include/linux/ppp-comp.h b/linux-headers/include/linux/ppp-comp.h
deleted file mode 100644
index e16dead..0000000
--- a/linux-headers/include/linux/ppp-comp.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * ppp-comp.h - Definitions for doing PPP packet compression.
- *
- * Copyright 1994-1998 Paul Mackerras.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- */
-#ifndef _NET_PPP_COMP_H
-#define _NET_PPP_COMP_H
-
-
-/*
- * CCP codes.
- */
-
-#define CCP_CONFREQ 1
-#define CCP_CONFACK 2
-#define CCP_TERMREQ 5
-#define CCP_TERMACK 6
-#define CCP_RESETREQ 14
-#define CCP_RESETACK 15
-
-/*
- * Max # bytes for a CCP option
- */
-
-#define CCP_MAX_OPTION_LENGTH 32
-
-/*
- * Parts of a CCP packet.
- */
-
-#define CCP_CODE(dp) ((dp)[0])
-#define CCP_ID(dp) ((dp)[1])
-#define CCP_LENGTH(dp) (((dp)[2] << 8) + (dp)[3])
-#define CCP_HDRLEN 4
-
-#define CCP_OPT_CODE(dp) ((dp)[0])
-#define CCP_OPT_LENGTH(dp) ((dp)[1])
-#define CCP_OPT_MINLEN 2
-
-/*
- * Definitions for BSD-Compress.
- */
-
-#define CI_BSD_COMPRESS 21 /* config. option for BSD-Compress */
-#define CILEN_BSD_COMPRESS 3 /* length of config. option */
-
-/* Macros for handling the 3rd byte of the BSD-Compress config option. */
-#define BSD_NBITS(x) ((x) & 0x1F) /* number of bits requested */
-#define BSD_VERSION(x) ((x) >> 5) /* version of option format */
-#define BSD_CURRENT_VERSION 1 /* current version number */
-#define BSD_MAKE_OPT(v, n) (((v) << 5) | (n))
-
-#define BSD_MIN_BITS 9 /* smallest code size supported */
-#define BSD_MAX_BITS 15 /* largest code size supported */
-
-/*
- * Definitions for Deflate.
- */
-
-#define CI_DEFLATE 26 /* config option for Deflate */
-#define CI_DEFLATE_DRAFT 24 /* value used in original draft RFC */
-#define CILEN_DEFLATE 4 /* length of its config option */
-
-#define DEFLATE_MIN_SIZE 9
-#define DEFLATE_MAX_SIZE 15
-#define DEFLATE_METHOD_VAL 8
-#define DEFLATE_SIZE(x) (((x) >> 4) + 8)
-#define DEFLATE_METHOD(x) ((x) & 0x0F)
-#define DEFLATE_MAKE_OPT(w) ((((w) - 8) << 4) + DEFLATE_METHOD_VAL)
-#define DEFLATE_CHK_SEQUENCE 0
-
-/*
- * Definitions for MPPE.
- */
-
-#define CI_MPPE 18 /* config option for MPPE */
-#define CILEN_MPPE 6 /* length of config option */
-
-/*
- * Definitions for other, as yet unsupported, compression methods.
- */
-
-#define CI_PREDICTOR_1 1 /* config option for Predictor-1 */
-#define CILEN_PREDICTOR_1 2 /* length of its config option */
-#define CI_PREDICTOR_2 2 /* config option for Predictor-2 */
-#define CILEN_PREDICTOR_2 2 /* length of its config option */
-
-
-#endif /* _NET_PPP_COMP_H */
diff --git a/linux-headers/include/linux/ppp-ioctl.h b/linux-headers/include/linux/ppp-ioctl.h
deleted file mode 100644
index 62ccaa6..0000000
--- a/linux-headers/include/linux/ppp-ioctl.h
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * ppp-ioctl.h - PPP ioctl definitions.
- *
- * Copyright 1999-2002 Paul Mackerras.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- */
-#ifndef _PPP_IOCTL_H
-#define _PPP_IOCTL_H
-
-#include <linux/types.h>
-
-#include <linux/ppp_defs.h>
-
-/*
- * Bit definitions for flags argument to PPPIOCGFLAGS/PPPIOCSFLAGS.
- */
-#define SC_COMP_PROT 0x00000001 /* protocol compression (output) */
-#define SC_COMP_AC 0x00000002 /* header compression (output) */
-#define SC_COMP_TCP 0x00000004 /* TCP (VJ) compression (output) */
-#define SC_NO_TCP_CCID 0x00000008 /* disable VJ connection-id comp. */
-#define SC_REJ_COMP_AC 0x00000010 /* reject adrs/ctrl comp. on input */
-#define SC_REJ_COMP_TCP 0x00000020 /* reject TCP (VJ) comp. on input */
-#define SC_CCP_OPEN 0x00000040 /* Look at CCP packets */
-#define SC_CCP_UP 0x00000080 /* May send/recv compressed packets */
-#define SC_ENABLE_IP 0x00000100 /* IP packets may be exchanged */
-#define SC_LOOP_TRAFFIC 0x00000200 /* send traffic to pppd */
-#define SC_MULTILINK 0x00000400 /* do multilink encapsulation */
-#define SC_MP_SHORTSEQ 0x00000800 /* use short MP sequence numbers */
-#define SC_COMP_RUN 0x00001000 /* compressor has been inited */
-#define SC_DECOMP_RUN 0x00002000 /* decompressor has been inited */
-#define SC_MP_XSHORTSEQ 0x00004000 /* transmit short MP seq numbers */
-#define SC_DEBUG 0x00010000 /* enable debug messages */
-#define SC_LOG_INPKT 0x00020000 /* log contents of good pkts recvd */
-#define SC_LOG_OUTPKT 0x00040000 /* log contents of pkts sent */
-#define SC_LOG_RAWIN 0x00080000 /* log all chars received */
-#define SC_LOG_FLUSH 0x00100000 /* log all chars flushed */
-#define SC_SYNC 0x00200000 /* synchronous serial mode */
-#define SC_MUST_COMP 0x00400000 /* no uncompressed packets may be sent or received */
-#define SC_MASK 0x0f600fff /* bits that user can change */
-
-/* state bits */
-#define SC_XMIT_BUSY 0x10000000 /* (used by isdn_ppp?) */
-#define SC_RCV_ODDP 0x08000000 /* have rcvd char with odd parity */
-#define SC_RCV_EVNP 0x04000000 /* have rcvd char with even parity */
-#define SC_RCV_B7_1 0x02000000 /* have rcvd char with bit 7 = 1 */
-#define SC_RCV_B7_0 0x01000000 /* have rcvd char with bit 7 = 0 */
-#define SC_DC_FERROR 0x00800000 /* fatal decomp error detected */
-#define SC_DC_ERROR 0x00400000 /* non-fatal decomp error detected */
-
-/* Used with PPPIOCGNPMODE/PPPIOCSNPMODE */
-struct npioctl {
- int protocol; /* PPP protocol, e.g. PPP_IP */
- enum NPmode mode;
-};
-
-/* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
-struct ppp_option_data {
- __u8 *ptr;
- __u32 length;
- int transmit;
-};
-
-/* For PPPIOCGL2TPSTATS */
-struct pppol2tp_ioc_stats {
- __u16 tunnel_id; /* redundant */
- __u16 session_id; /* if zero, get tunnel stats */
- __u32 using_ipsec:1; /* valid only for session_id == 0 */
- __aligned_u64 tx_packets;
- __aligned_u64 tx_bytes;
- __aligned_u64 tx_errors;
- __aligned_u64 rx_packets;
- __aligned_u64 rx_bytes;
- __aligned_u64 rx_seq_discards;
- __aligned_u64 rx_oos_packets;
- __aligned_u64 rx_errors;
-};
-
-/*
- * Ioctl definitions.
- */
-
-#define PPPIOCGFLAGS _IOR('t', 90, int) /* get configuration flags */
-#define PPPIOCSFLAGS _IOW('t', 89, int) /* set configuration flags */
-#define PPPIOCGASYNCMAP _IOR('t', 88, int) /* get async map */
-#define PPPIOCSASYNCMAP _IOW('t', 87, int) /* set async map */
-#define PPPIOCGUNIT _IOR('t', 86, int) /* get ppp unit number */
-#define PPPIOCGRASYNCMAP _IOR('t', 85, int) /* get receive async map */
-#define PPPIOCSRASYNCMAP _IOW('t', 84, int) /* set receive async map */
-#define PPPIOCGMRU _IOR('t', 83, int) /* get max receive unit */
-#define PPPIOCSMRU _IOW('t', 82, int) /* set max receive unit */
-#define PPPIOCSMAXCID _IOW('t', 81, int) /* set VJ max slot ID */
-#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
-#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
-#define PPPIOCXFERUNIT _IO('t', 78) /* transfer PPP unit */
-#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
-#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl) /* get NP mode */
-#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl) /* set NP mode */
-#define PPPIOCSPASS _IOW('t', 71, struct sock_fprog) /* set pass filter */
-#define PPPIOCSACTIVE _IOW('t', 70, struct sock_fprog) /* set active filt */
-#define PPPIOCGDEBUG _IOR('t', 65, int) /* Read debug level */
-#define PPPIOCSDEBUG _IOW('t', 64, int) /* Set debug level */
-#define PPPIOCGIDLE _IOR('t', 63, struct ppp_idle) /* get idle time */
-#define PPPIOCNEWUNIT _IOWR('t', 62, int) /* create new ppp unit */
-#define PPPIOCATTACH _IOW('t', 61, int) /* attach to ppp unit */
-#define PPPIOCDETACH _IOW('t', 60, int) /* detach from ppp unit/chan */
-#define PPPIOCSMRRU _IOW('t', 59, int) /* set multilink MRU */
-#define PPPIOCCONNECT _IOW('t', 58, int) /* connect channel to unit */
-#define PPPIOCDISCONN _IO('t', 57) /* disconnect channel */
-#define PPPIOCATTCHAN _IOW('t', 56, int) /* attach to ppp channel */
-#define PPPIOCGCHAN _IOR('t', 55, int) /* get ppp channel number */
-#define PPPIOCGL2TPSTATS _IOR('t', 54, struct pppol2tp_ioc_stats)
-
-#define SIOCGPPPSTATS (SIOCDEVPRIVATE + 0)
-#define SIOCGPPPVER (SIOCDEVPRIVATE + 1) /* NEVER change this!! */
-#define SIOCGPPPCSTATS (SIOCDEVPRIVATE + 2)
-
-#endif /* _PPP_IOCTL_H */
diff --git a/linux-headers/include/linux/ppp_defs.h b/linux-headers/include/linux/ppp_defs.h
deleted file mode 100644
index 096dd5c..0000000
--- a/linux-headers/include/linux/ppp_defs.h
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * ppp_defs.h - PPP definitions.
- *
- * Copyright 1994-2000 Paul Mackerras.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- */
-#include <linux/types.h>
-
-#ifndef _PPP_DEFS_H_
-#define _PPP_DEFS_H_
-
-/*
- * The basic PPP frame.
- */
-#define PPP_HDRLEN 4 /* octets for standard ppp header */
-#define PPP_FCSLEN 2 /* octets for FCS */
-#define PPP_MRU 1500 /* default MRU = max length of info field */
-
-#define PPP_ADDRESS(p) (((__u8 *)(p))[0])
-#define PPP_CONTROL(p) (((__u8 *)(p))[1])
-#define PPP_PROTOCOL(p) ((((__u8 *)(p))[2] << 8) + ((__u8 *)(p))[3])
-
-/*
- * Significant octet values.
- */
-#define PPP_ALLSTATIONS 0xff /* All-Stations broadcast address */
-#define PPP_UI 0x03 /* Unnumbered Information */
-#define PPP_FLAG 0x7e /* Flag Sequence */
-#define PPP_ESCAPE 0x7d /* Asynchronous Control Escape */
-#define PPP_TRANS 0x20 /* Asynchronous transparency modifier */
-
-/*
- * Protocol field values.
- */
-#define PPP_IP 0x21 /* Internet Protocol */
-#define PPP_AT 0x29 /* AppleTalk Protocol */
-#define PPP_IPX 0x2b /* IPX protocol */
-#define PPP_VJC_COMP 0x2d /* VJ compressed TCP */
-#define PPP_VJC_UNCOMP 0x2f /* VJ uncompressed TCP */
-#define PPP_MP 0x3d /* Multilink protocol */
-#define PPP_IPV6 0x57 /* Internet Protocol Version 6 */
-#define PPP_COMPFRAG 0xfb /* fragment compressed below bundle */
-#define PPP_COMP 0xfd /* compressed packet */
-#define PPP_MPLS_UC 0x0281 /* Multi Protocol Label Switching - Unicast */
-#define PPP_MPLS_MC 0x0283 /* Multi Protocol Label Switching - Multicast */
-#define PPP_IPCP 0x8021 /* IP Control Protocol */
-#define PPP_ATCP 0x8029 /* AppleTalk Control Protocol */
-#define PPP_IPXCP 0x802b /* IPX Control Protocol */
-#define PPP_IPV6CP 0x8057 /* IPv6 Control Protocol */
-#define PPP_CCPFRAG 0x80fb /* CCP at link level (below MP bundle) */
-#define PPP_CCP 0x80fd /* Compression Control Protocol */
-#define PPP_MPLSCP 0x80fd /* MPLS Control Protocol */
-#define PPP_LCP 0xc021 /* Link Control Protocol */
-#define PPP_PAP 0xc023 /* Password Authentication Protocol */
-#define PPP_LQR 0xc025 /* Link Quality Report protocol */
-#define PPP_CHAP 0xc223 /* Cryptographic Handshake Auth. Protocol */
-#define PPP_CBCP 0xc029 /* Callback Control Protocol */
-
-/*
- * Values for FCS calculations.
- */
-
-#define PPP_INITFCS 0xffff /* Initial FCS value */
-#define PPP_GOODFCS 0xf0b8 /* Good final FCS value */
-
-
-/*
- * Extended asyncmap - allows any character to be escaped.
- */
-
-typedef __u32 ext_accm[8];
-
-/*
- * What to do with network protocol (NP) packets.
- */
-enum NPmode {
- NPMODE_PASS, /* pass the packet through */
- NPMODE_DROP, /* silently drop the packet */
- NPMODE_ERROR, /* return an error */
- NPMODE_QUEUE /* save it up for later. */
-};
-
-/*
- * Statistics for LQRP and pppstats
- */
-struct pppstat {
- __u32 ppp_discards; /* # frames discarded */
-
- __u32 ppp_ibytes; /* bytes received */
- __u32 ppp_ioctects; /* bytes received not in error */
- __u32 ppp_ipackets; /* packets received */
- __u32 ppp_ierrors; /* receive errors */
- __u32 ppp_ilqrs; /* # LQR frames received */
-
- __u32 ppp_obytes; /* raw bytes sent */
- __u32 ppp_ooctects; /* frame bytes sent */
- __u32 ppp_opackets; /* packets sent */
- __u32 ppp_oerrors; /* transmit errors */
- __u32 ppp_olqrs; /* # LQR frames sent */
-};
-
-struct vjstat {
- __u32 vjs_packets; /* outbound packets */
- __u32 vjs_compressed; /* outbound compressed packets */
- __u32 vjs_searches; /* searches for connection state */
- __u32 vjs_misses; /* times couldn't find conn. state */
- __u32 vjs_uncompressedin; /* inbound uncompressed packets */
- __u32 vjs_compressedin; /* inbound compressed packets */
- __u32 vjs_errorin; /* inbound unknown type packets */
- __u32 vjs_tossed; /* inbound packets tossed because of error */
-};
-
-struct compstat {
- __u32 unc_bytes; /* total uncompressed bytes */
- __u32 unc_packets; /* total uncompressed packets */
- __u32 comp_bytes; /* compressed bytes */
- __u32 comp_packets; /* compressed packets */
- __u32 inc_bytes; /* incompressible bytes */
- __u32 inc_packets; /* incompressible packets */
-
- /* the compression ratio is defined as in_count / bytes_out */
- __u32 in_count; /* Bytes received */
- __u32 bytes_out; /* Bytes transmitted */
-
- double ratio; /* not computed in kernel. */
-};
-
-struct ppp_stats {
- struct pppstat p; /* basic PPP statistics */
- struct vjstat vj; /* VJ header compression statistics */
-};
-
-struct ppp_comp_stats {
- struct compstat c; /* packet compression statistics */
- struct compstat d; /* packet decompression statistics */
-};
-
-/*
- * The following structure records the time in seconds since
- * the last NP packet was sent or received.
- */
-struct ppp_idle {
- __kernel_time_t xmit_idle; /* time since last NP packet sent */
- __kernel_time_t recv_idle; /* time since last NP packet received */
-};
-
-#endif /* _PPP_DEFS_H_ */
diff --git a/linux-headers/include/linux/pps.h b/linux-headers/include/linux/pps.h
deleted file mode 100644
index a9bb1d9..0000000
--- a/linux-headers/include/linux/pps.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * PPS API header
- *
- * Copyright (C) 2005-2009 Rodolfo Giometti <giometti@linux.it>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-
-#ifndef _PPS_H_
-#define _PPS_H_
-
-#include <linux/types.h>
-
-#define PPS_VERSION "5.3.6"
-#define PPS_MAX_SOURCES 16 /* should be enough... */
-
-/* Implementation note: the logical states ``assert'' and ``clear''
- * are implemented in terms of the chip register, i.e. ``assert''
- * means the bit is set. */
-
-/*
- * 3.2 New data structures
- */
-
-#define PPS_API_VERS_1 1
-#define PPS_API_VERS PPS_API_VERS_1 /* we use API version 1 */
-#define PPS_MAX_NAME_LEN 32
-
-/* 32-bit vs. 64-bit compatibility.
- *
- * 0n i386, the alignment of a uint64_t is only 4 bytes, while on most other
- * architectures it's 8 bytes. On i386, there will be no padding between the
- * two consecutive 'struct pps_ktime' members of struct pps_kinfo and struct
- * pps_kparams. But on most platforms there will be padding to ensure correct
- * alignment.
- *
- * The simple fix is probably to add an explicit padding.
- * [David Woodhouse]
- */
-struct pps_ktime {
- __s64 sec;
- __s32 nsec;
- __u32 flags;
-};
-#define PPS_TIME_INVALID (1<<0) /* used to specify timeout==NULL */
-
-struct pps_kinfo {
- __u32 assert_sequence; /* seq. num. of assert event */
- __u32 clear_sequence; /* seq. num. of clear event */
- struct pps_ktime assert_tu; /* time of assert event */
- struct pps_ktime clear_tu; /* time of clear event */
- int current_mode; /* current mode bits */
-};
-
-struct pps_kparams {
- int api_version; /* API version # */
- int mode; /* mode bits */
- struct pps_ktime assert_off_tu; /* offset compensation for assert */
- struct pps_ktime clear_off_tu; /* offset compensation for clear */
-};
-
-/*
- * 3.3 Mode bit definitions
- */
-
-/* Device/implementation parameters */
-#define PPS_CAPTUREASSERT 0x01 /* capture assert events */
-#define PPS_CAPTURECLEAR 0x02 /* capture clear events */
-#define PPS_CAPTUREBOTH 0x03 /* capture assert and clear events */
-
-#define PPS_OFFSETASSERT 0x10 /* apply compensation for assert ev. */
-#define PPS_OFFSETCLEAR 0x20 /* apply compensation for clear ev. */
-
-#define PPS_CANWAIT 0x100 /* can we wait for an event? */
-#define PPS_CANPOLL 0x200 /* bit reserved for future use */
-
-/* Kernel actions */
-#define PPS_ECHOASSERT 0x40 /* feed back assert event to output */
-#define PPS_ECHOCLEAR 0x80 /* feed back clear event to output */
-
-/* Timestamp formats */
-#define PPS_TSFMT_TSPEC 0x1000 /* select timespec format */
-#define PPS_TSFMT_NTPFP 0x2000 /* select NTP format */
-
-/*
- * 3.4.4 New functions: disciplining the kernel timebase
- */
-
-/* Kernel consumers */
-#define PPS_KC_HARDPPS 0 /* hardpps() (or equivalent) */
-#define PPS_KC_HARDPPS_PLL 1 /* hardpps() constrained to
- use a phase-locked loop */
-#define PPS_KC_HARDPPS_FLL 2 /* hardpps() constrained to
- use a frequency-locked loop */
-/*
- * Here begins the implementation-specific part!
- */
-
-struct pps_fdata {
- struct pps_kinfo info;
- struct pps_ktime timeout;
-};
-
-struct pps_bind_args {
- int tsformat; /* format of time stamps */
- int edge; /* selected event type */
- int consumer; /* selected kernel consumer */
-};
-
-#include <linux/ioctl.h>
-
-#define PPS_GETPARAMS _IOR('p', 0xa1, struct pps_kparams *)
-#define PPS_SETPARAMS _IOW('p', 0xa2, struct pps_kparams *)
-#define PPS_GETCAP _IOR('p', 0xa3, int *)
-#define PPS_FETCH _IOWR('p', 0xa4, struct pps_fdata *)
-#define PPS_KC_BIND _IOW('p', 0xa5, struct pps_bind_args *)
-
-#endif /* _PPS_H_ */
diff --git a/linux-headers/include/linux/prctl.h b/linux-headers/include/linux/prctl.h
deleted file mode 100644
index a8d0759..0000000
--- a/linux-headers/include/linux/prctl.h
+++ /dev/null
@@ -1,200 +0,0 @@
-#ifndef _LINUX_PRCTL_H
-#define _LINUX_PRCTL_H
-
-#include <linux/types.h>
-
-/* Values to pass as first argument to prctl() */
-
-#define PR_SET_PDEATHSIG 1 /* Second arg is a signal */
-#define PR_GET_PDEATHSIG 2 /* Second arg is a ptr to return the signal */
-
-/* Get/set current->mm->dumpable */
-#define PR_GET_DUMPABLE 3
-#define PR_SET_DUMPABLE 4
-
-/* Get/set unaligned access control bits (if meaningful) */
-#define PR_GET_UNALIGN 5
-#define PR_SET_UNALIGN 6
-# define PR_UNALIGN_NOPRINT 1 /* silently fix up unaligned user accesses */
-# define PR_UNALIGN_SIGBUS 2 /* generate SIGBUS on unaligned user access */
-
-/* Get/set whether or not to drop capabilities on setuid() away from
- * uid 0 (as per security/commoncap.c) */
-#define PR_GET_KEEPCAPS 7
-#define PR_SET_KEEPCAPS 8
-
-/* Get/set floating-point emulation control bits (if meaningful) */
-#define PR_GET_FPEMU 9
-#define PR_SET_FPEMU 10
-# define PR_FPEMU_NOPRINT 1 /* silently emulate fp operations accesses */
-# define PR_FPEMU_SIGFPE 2 /* don't emulate fp operations, send SIGFPE instead */
-
-/* Get/set floating-point exception mode (if meaningful) */
-#define PR_GET_FPEXC 11
-#define PR_SET_FPEXC 12
-# define PR_FP_EXC_SW_ENABLE 0x80 /* Use FPEXC for FP exception enables */
-# define PR_FP_EXC_DIV 0x010000 /* floating point divide by zero */
-# define PR_FP_EXC_OVF 0x020000 /* floating point overflow */
-# define PR_FP_EXC_UND 0x040000 /* floating point underflow */
-# define PR_FP_EXC_RES 0x080000 /* floating point inexact result */
-# define PR_FP_EXC_INV 0x100000 /* floating point invalid operation */
-# define PR_FP_EXC_DISABLED 0 /* FP exceptions disabled */
-# define PR_FP_EXC_NONRECOV 1 /* async non-recoverable exc. mode */
-# define PR_FP_EXC_ASYNC 2 /* async recoverable exception mode */
-# define PR_FP_EXC_PRECISE 3 /* precise exception mode */
-
-/* Get/set whether we use statistical process timing or accurate timestamp
- * based process timing */
-#define PR_GET_TIMING 13
-#define PR_SET_TIMING 14
-# define PR_TIMING_STATISTICAL 0 /* Normal, traditional,
- statistical process timing */
-# define PR_TIMING_TIMESTAMP 1 /* Accurate timestamp based
- process timing */
-
-#define PR_SET_NAME 15 /* Set process name */
-#define PR_GET_NAME 16 /* Get process name */
-
-/* Get/set process endian */
-#define PR_GET_ENDIAN 19
-#define PR_SET_ENDIAN 20
-# define PR_ENDIAN_BIG 0
-# define PR_ENDIAN_LITTLE 1 /* True little endian mode */
-# define PR_ENDIAN_PPC_LITTLE 2 /* "PowerPC" pseudo little endian */
-
-/* Get/set process seccomp mode */
-#define PR_GET_SECCOMP 21
-#define PR_SET_SECCOMP 22
-
-/* Get/set the capability bounding set (as per security/commoncap.c) */
-#define PR_CAPBSET_READ 23
-#define PR_CAPBSET_DROP 24
-
-/* Get/set the process' ability to use the timestamp counter instruction */
-#define PR_GET_TSC 25
-#define PR_SET_TSC 26
-# define PR_TSC_ENABLE 1 /* allow the use of the timestamp counter */
-# define PR_TSC_SIGSEGV 2 /* throw a SIGSEGV instead of reading the TSC */
-
-/* Get/set securebits (as per security/commoncap.c) */
-#define PR_GET_SECUREBITS 27
-#define PR_SET_SECUREBITS 28
-
-/*
- * Get/set the timerslack as used by poll/select/nanosleep
- * A value of 0 means "use default"
- */
-#define PR_SET_TIMERSLACK 29
-#define PR_GET_TIMERSLACK 30
-
-#define PR_TASK_PERF_EVENTS_DISABLE 31
-#define PR_TASK_PERF_EVENTS_ENABLE 32
-
-/*
- * Set early/late kill mode for hwpoison memory corruption.
- * This influences when the process gets killed on a memory corruption.
- */
-#define PR_MCE_KILL 33
-# define PR_MCE_KILL_CLEAR 0
-# define PR_MCE_KILL_SET 1
-
-# define PR_MCE_KILL_LATE 0
-# define PR_MCE_KILL_EARLY 1
-# define PR_MCE_KILL_DEFAULT 2
-
-#define PR_MCE_KILL_GET 34
-
-/*
- * Tune up process memory map specifics.
- */
-#define PR_SET_MM 35
-# define PR_SET_MM_START_CODE 1
-# define PR_SET_MM_END_CODE 2
-# define PR_SET_MM_START_DATA 3
-# define PR_SET_MM_END_DATA 4
-# define PR_SET_MM_START_STACK 5
-# define PR_SET_MM_START_BRK 6
-# define PR_SET_MM_BRK 7
-# define PR_SET_MM_ARG_START 8
-# define PR_SET_MM_ARG_END 9
-# define PR_SET_MM_ENV_START 10
-# define PR_SET_MM_ENV_END 11
-# define PR_SET_MM_AUXV 12
-# define PR_SET_MM_EXE_FILE 13
-# define PR_SET_MM_MAP 14
-# define PR_SET_MM_MAP_SIZE 15
-
-/*
- * This structure provides new memory descriptor
- * map which mostly modifies /proc/pid/stat[m]
- * output for a task. This mostly done in a
- * sake of checkpoint/restore functionality.
- */
-struct prctl_mm_map {
- __u64 start_code; /* code section bounds */
- __u64 end_code;
- __u64 start_data; /* data section bounds */
- __u64 end_data;
- __u64 start_brk; /* heap for brk() syscall */
- __u64 brk;
- __u64 start_stack; /* stack starts at */
- __u64 arg_start; /* command line arguments bounds */
- __u64 arg_end;
- __u64 env_start; /* environment variables bounds */
- __u64 env_end;
- __u64 *auxv; /* auxiliary vector */
- __u32 auxv_size; /* vector size */
- __u32 exe_fd; /* /proc/$pid/exe link file */
-};
-
-/*
- * Set specific pid that is allowed to ptrace the current task.
- * A value of 0 mean "no process".
- */
-#define PR_SET_PTRACER 0x59616d61
-# define PR_SET_PTRACER_ANY ((unsigned long)-1)
-
-#define PR_SET_CHILD_SUBREAPER 36
-#define PR_GET_CHILD_SUBREAPER 37
-
-/*
- * If no_new_privs is set, then operations that grant new privileges (i.e.
- * execve) will either fail or not grant them. This affects suid/sgid,
- * file capabilities, and LSMs.
- *
- * Operations that merely manipulate or drop existing privileges (setresuid,
- * capset, etc.) will still work. Drop those privileges if you want them gone.
- *
- * Changing LSM security domain is considered a new privilege. So, for example,
- * asking selinux for a specific new context (e.g. with runcon) will result
- * in execve returning -EPERM.
- *
- * See Documentation/prctl/no_new_privs.txt for more details.
- */
-#define PR_SET_NO_NEW_PRIVS 38
-#define PR_GET_NO_NEW_PRIVS 39
-
-#define PR_GET_TID_ADDRESS 40
-
-#define PR_SET_THP_DISABLE 41
-#define PR_GET_THP_DISABLE 42
-
-/*
- * Tell the kernel to start/stop helping userspace manage bounds tables.
- */
-#define PR_MPX_ENABLE_MANAGEMENT 43
-#define PR_MPX_DISABLE_MANAGEMENT 44
-
-#define PR_SET_FP_MODE 45
-#define PR_GET_FP_MODE 46
-# define PR_FP_MODE_FR (1 << 0) /* 64b FP registers */
-# define PR_FP_MODE_FRE (1 << 1) /* 32b compatibility */
-
-/* Control the ambient capability set */
-#define PR_CAP_AMBIENT 47
-# define PR_CAP_AMBIENT_IS_SET 1
-# define PR_CAP_AMBIENT_RAISE 2
-# define PR_CAP_AMBIENT_LOWER 3
-# define PR_CAP_AMBIENT_CLEAR_ALL 4
-
-#endif /* _LINUX_PRCTL_H */
diff --git a/linux-headers/include/linux/psci.h b/linux-headers/include/linux/psci.h
deleted file mode 100644
index 08d443f..0000000
--- a/linux-headers/include/linux/psci.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * ARM Power State and Coordination Interface (PSCI) header
- *
- * This header holds common PSCI defines and macros shared
- * by: ARM kernel, ARM64 kernel, KVM ARM/ARM64 and user space.
- *
- * Copyright (C) 2014 Linaro Ltd.
- * Author: Anup Patel <anup.patel@linaro.org>
- */
-
-#ifndef _LINUX_PSCI_H
-#define _LINUX_PSCI_H
-
-/*
- * PSCI v0.1 interface
- *
- * The PSCI v0.1 function numbers are implementation defined.
- *
- * Only PSCI return values such as: SUCCESS, NOT_SUPPORTED,
- * INVALID_PARAMS, and DENIED defined below are applicable
- * to PSCI v0.1.
- */
-
-/* PSCI v0.2 interface */
-#define PSCI_0_2_FN_BASE 0x84000000
-#define PSCI_0_2_FN(n) (PSCI_0_2_FN_BASE + (n))
-#define PSCI_0_2_64BIT 0x40000000
-#define PSCI_0_2_FN64_BASE \
- (PSCI_0_2_FN_BASE + PSCI_0_2_64BIT)
-#define PSCI_0_2_FN64(n) (PSCI_0_2_FN64_BASE + (n))
-
-#define PSCI_0_2_FN_PSCI_VERSION PSCI_0_2_FN(0)
-#define PSCI_0_2_FN_CPU_SUSPEND PSCI_0_2_FN(1)
-#define PSCI_0_2_FN_CPU_OFF PSCI_0_2_FN(2)
-#define PSCI_0_2_FN_CPU_ON PSCI_0_2_FN(3)
-#define PSCI_0_2_FN_AFFINITY_INFO PSCI_0_2_FN(4)
-#define PSCI_0_2_FN_MIGRATE PSCI_0_2_FN(5)
-#define PSCI_0_2_FN_MIGRATE_INFO_TYPE PSCI_0_2_FN(6)
-#define PSCI_0_2_FN_MIGRATE_INFO_UP_CPU PSCI_0_2_FN(7)
-#define PSCI_0_2_FN_SYSTEM_OFF PSCI_0_2_FN(8)
-#define PSCI_0_2_FN_SYSTEM_RESET PSCI_0_2_FN(9)
-
-#define PSCI_0_2_FN64_CPU_SUSPEND PSCI_0_2_FN64(1)
-#define PSCI_0_2_FN64_CPU_ON PSCI_0_2_FN64(3)
-#define PSCI_0_2_FN64_AFFINITY_INFO PSCI_0_2_FN64(4)
-#define PSCI_0_2_FN64_MIGRATE PSCI_0_2_FN64(5)
-#define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7)
-
-#define PSCI_1_0_FN_PSCI_FEATURES PSCI_0_2_FN(10)
-#define PSCI_1_0_FN_SYSTEM_SUSPEND PSCI_0_2_FN(14)
-
-#define PSCI_1_0_FN64_SYSTEM_SUSPEND PSCI_0_2_FN64(14)
-
-/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
-#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
-#define PSCI_0_2_POWER_STATE_ID_SHIFT 0
-#define PSCI_0_2_POWER_STATE_TYPE_SHIFT 16
-#define PSCI_0_2_POWER_STATE_TYPE_MASK \
- (0x1 << PSCI_0_2_POWER_STATE_TYPE_SHIFT)
-#define PSCI_0_2_POWER_STATE_AFFL_SHIFT 24
-#define PSCI_0_2_POWER_STATE_AFFL_MASK \
- (0x3 << PSCI_0_2_POWER_STATE_AFFL_SHIFT)
-
-/* PSCI extended power state encoding for CPU_SUSPEND function */
-#define PSCI_1_0_EXT_POWER_STATE_ID_MASK 0xfffffff
-#define PSCI_1_0_EXT_POWER_STATE_ID_SHIFT 0
-#define PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT 30
-#define PSCI_1_0_EXT_POWER_STATE_TYPE_MASK \
- (0x1 << PSCI_1_0_EXT_POWER_STATE_TYPE_SHIFT)
-
-/* PSCI v0.2 affinity level state returned by AFFINITY_INFO */
-#define PSCI_0_2_AFFINITY_LEVEL_ON 0
-#define PSCI_0_2_AFFINITY_LEVEL_OFF 1
-#define PSCI_0_2_AFFINITY_LEVEL_ON_PENDING 2
-
-/* PSCI v0.2 multicore support in Trusted OS returned by MIGRATE_INFO_TYPE */
-#define PSCI_0_2_TOS_UP_MIGRATE 0
-#define PSCI_0_2_TOS_UP_NO_MIGRATE 1
-#define PSCI_0_2_TOS_MP 2
-
-/* PSCI version decoding (independent of PSCI version) */
-#define PSCI_VERSION_MAJOR_SHIFT 16
-#define PSCI_VERSION_MINOR_MASK \
- ((1U << PSCI_VERSION_MAJOR_SHIFT) - 1)
-#define PSCI_VERSION_MAJOR_MASK ~PSCI_VERSION_MINOR_MASK
-#define PSCI_VERSION_MAJOR(ver) \
- (((ver) & PSCI_VERSION_MAJOR_MASK) >> PSCI_VERSION_MAJOR_SHIFT)
-#define PSCI_VERSION_MINOR(ver) \
- ((ver) & PSCI_VERSION_MINOR_MASK)
-
-/* PSCI features decoding (>=1.0) */
-#define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT 1
-#define PSCI_1_0_FEATURES_CPU_SUSPEND_PF_MASK \
- (0x1 << PSCI_1_0_FEATURES_CPU_SUSPEND_PF_SHIFT)
-
-/* PSCI return values (inclusive of all PSCI versions) */
-#define PSCI_RET_SUCCESS 0
-#define PSCI_RET_NOT_SUPPORTED -1
-#define PSCI_RET_INVALID_PARAMS -2
-#define PSCI_RET_DENIED -3
-#define PSCI_RET_ALREADY_ON -4
-#define PSCI_RET_ON_PENDING -5
-#define PSCI_RET_INTERNAL_FAILURE -6
-#define PSCI_RET_NOT_PRESENT -7
-#define PSCI_RET_DISABLED -8
-#define PSCI_RET_INVALID_ADDRESS -9
-
-#endif /* _LINUX_PSCI_H */
diff --git a/linux-headers/include/linux/ptp_clock.h b/linux-headers/include/linux/ptp_clock.h
deleted file mode 100644
index ac6dded..0000000
--- a/linux-headers/include/linux/ptp_clock.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * PTP 1588 clock support - user space interface
- *
- * Copyright (C) 2010 OMICRON electronics GmbH
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef _PTP_CLOCK_H_
-#define _PTP_CLOCK_H_
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/* PTP_xxx bits, for the flags field within the request structures. */
-#define PTP_ENABLE_FEATURE (1<<0)
-#define PTP_RISING_EDGE (1<<1)
-#define PTP_FALLING_EDGE (1<<2)
-
-/*
- * struct ptp_clock_time - represents a time value
- *
- * The sign of the seconds field applies to the whole value. The
- * nanoseconds field is always unsigned. The reserved field is
- * included for sub-nanosecond resolution, should the demand for
- * this ever appear.
- *
- */
-struct ptp_clock_time {
- __s64 sec; /* seconds */
- __u32 nsec; /* nanoseconds */
- __u32 reserved;
-};
-
-struct ptp_clock_caps {
- int max_adj; /* Maximum frequency adjustment in parts per billon. */
- int n_alarm; /* Number of programmable alarms. */
- int n_ext_ts; /* Number of external time stamp channels. */
- int n_per_out; /* Number of programmable periodic signals. */
- int pps; /* Whether the clock supports a PPS callback. */
- int n_pins; /* Number of input/output pins. */
- /* Whether the clock supports precise system-device cross timestamps */
- int cross_timestamping;
- int rsv[13]; /* Reserved for future use. */
-};
-
-struct ptp_extts_request {
- unsigned int index; /* Which channel to configure. */
- unsigned int flags; /* Bit field for PTP_xxx flags. */
- unsigned int rsv[2]; /* Reserved for future use. */
-};
-
-struct ptp_perout_request {
- struct ptp_clock_time start; /* Absolute start time. */
- struct ptp_clock_time period; /* Desired period, zero means disable. */
- unsigned int index; /* Which channel to configure. */
- unsigned int flags; /* Reserved for future use. */
- unsigned int rsv[4]; /* Reserved for future use. */
-};
-
-#define PTP_MAX_SAMPLES 25 /* Maximum allowed offset measurement samples. */
-
-struct ptp_sys_offset {
- unsigned int n_samples; /* Desired number of measurements. */
- unsigned int rsv[3]; /* Reserved for future use. */
- /*
- * Array of interleaved system/phc time stamps. The kernel
- * will provide 2*n_samples + 1 time stamps, with the last
- * one as a system time stamp.
- */
- struct ptp_clock_time ts[2 * PTP_MAX_SAMPLES + 1];
-};
-
-struct ptp_sys_offset_precise {
- struct ptp_clock_time device;
- struct ptp_clock_time sys_realtime;
- struct ptp_clock_time sys_monoraw;
- unsigned int rsv[4]; /* Reserved for future use. */
-};
-
-enum ptp_pin_function {
- PTP_PF_NONE,
- PTP_PF_EXTTS,
- PTP_PF_PEROUT,
- PTP_PF_PHYSYNC,
-};
-
-struct ptp_pin_desc {
- /*
- * Hardware specific human readable pin name. This field is
- * set by the kernel during the PTP_PIN_GETFUNC ioctl and is
- * ignored for the PTP_PIN_SETFUNC ioctl.
- */
- char name[64];
- /*
- * Pin index in the range of zero to ptp_clock_caps.n_pins - 1.
- */
- unsigned int index;
- /*
- * Which of the PTP_PF_xxx functions to use on this pin.
- */
- unsigned int func;
- /*
- * The specific channel to use for this function.
- * This corresponds to the 'index' field of the
- * PTP_EXTTS_REQUEST and PTP_PEROUT_REQUEST ioctls.
- */
- unsigned int chan;
- /*
- * Reserved for future use.
- */
- unsigned int rsv[5];
-};
-
-#define PTP_CLK_MAGIC '='
-
-#define PTP_CLOCK_GETCAPS _IOR(PTP_CLK_MAGIC, 1, struct ptp_clock_caps)
-#define PTP_EXTTS_REQUEST _IOW(PTP_CLK_MAGIC, 2, struct ptp_extts_request)
-#define PTP_PEROUT_REQUEST _IOW(PTP_CLK_MAGIC, 3, struct ptp_perout_request)
-#define PTP_ENABLE_PPS _IOW(PTP_CLK_MAGIC, 4, int)
-#define PTP_SYS_OFFSET _IOW(PTP_CLK_MAGIC, 5, struct ptp_sys_offset)
-#define PTP_PIN_GETFUNC _IOWR(PTP_CLK_MAGIC, 6, struct ptp_pin_desc)
-#define PTP_PIN_SETFUNC _IOW(PTP_CLK_MAGIC, 7, struct ptp_pin_desc)
-#define PTP_SYS_OFFSET_PRECISE \
- _IOWR(PTP_CLK_MAGIC, 8, struct ptp_sys_offset_precise)
-
-struct ptp_extts_event {
- struct ptp_clock_time t; /* Time event occured. */
- unsigned int index; /* Which channel produced the event. */
- unsigned int flags; /* Reserved for future use. */
- unsigned int rsv[2]; /* Reserved for future use. */
-};
-
-#endif
diff --git a/linux-headers/include/linux/ptrace.h b/linux-headers/include/linux/ptrace.h
deleted file mode 100644
index 73b0338..0000000
--- a/linux-headers/include/linux/ptrace.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef _LINUX_PTRACE_H
-#define _LINUX_PTRACE_H
-/* ptrace.h */
-/* structs and defines to help the user use the ptrace system call. */
-
-/* has the defines to get at the registers. */
-
-#include <linux/types.h>
-
-#define PTRACE_TRACEME 0
-#define PTRACE_PEEKTEXT 1
-#define PTRACE_PEEKDATA 2
-#define PTRACE_PEEKUSR 3
-#define PTRACE_POKETEXT 4
-#define PTRACE_POKEDATA 5
-#define PTRACE_POKEUSR 6
-#define PTRACE_CONT 7
-#define PTRACE_KILL 8
-#define PTRACE_SINGLESTEP 9
-
-#define PTRACE_ATTACH 16
-#define PTRACE_DETACH 17
-
-#define PTRACE_SYSCALL 24
-
-/* 0x4200-0x4300 are reserved for architecture-independent additions. */
-#define PTRACE_SETOPTIONS 0x4200
-#define PTRACE_GETEVENTMSG 0x4201
-#define PTRACE_GETSIGINFO 0x4202
-#define PTRACE_SETSIGINFO 0x4203
-
-/*
- * Generic ptrace interface that exports the architecture specific regsets
- * using the corresponding NT_* types (which are also used in the core dump).
- * Please note that the NT_PRSTATUS note type in a core dump contains a full
- * 'struct elf_prstatus'. But the user_regset for NT_PRSTATUS contains just the
- * elf_gregset_t that is the pr_reg field of 'struct elf_prstatus'. For all the
- * other user_regset flavors, the user_regset layout and the ELF core dump note
- * payload are exactly the same layout.
- *
- * This interface usage is as follows:
- * struct iovec iov = { buf, len};
- *
- * ret = ptrace(PTRACE_GETREGSET/PTRACE_SETREGSET, pid, NT_XXX_TYPE, &iov);
- *
- * On the successful completion, iov.len will be updated by the kernel,
- * specifying how much the kernel has written/read to/from the user's iov.buf.
- */
-#define PTRACE_GETREGSET 0x4204
-#define PTRACE_SETREGSET 0x4205
-
-#define PTRACE_SEIZE 0x4206
-#define PTRACE_INTERRUPT 0x4207
-#define PTRACE_LISTEN 0x4208
-
-#define PTRACE_PEEKSIGINFO 0x4209
-
-struct ptrace_peeksiginfo_args {
- __u64 off; /* from which siginfo to start */
- __u32 flags;
- __s32 nr; /* how may siginfos to take */
-};
-
-#define PTRACE_GETSIGMASK 0x420a
-#define PTRACE_SETSIGMASK 0x420b
-
-#define PTRACE_SECCOMP_GET_FILTER 0x420c
-
-/* Read signals from a shared (process wide) queue */
-#define PTRACE_PEEKSIGINFO_SHARED (1 << 0)
-
-/* Wait extended result codes for the above trace options. */
-#define PTRACE_EVENT_FORK 1
-#define PTRACE_EVENT_VFORK 2
-#define PTRACE_EVENT_CLONE 3
-#define PTRACE_EVENT_EXEC 4
-#define PTRACE_EVENT_VFORK_DONE 5
-#define PTRACE_EVENT_EXIT 6
-#define PTRACE_EVENT_SECCOMP 7
-/* Extended result codes which enabled by means other than options. */
-#define PTRACE_EVENT_STOP 128
-
-/* Options set using PTRACE_SETOPTIONS or using PTRACE_SEIZE @data param */
-#define PTRACE_O_TRACESYSGOOD 1
-#define PTRACE_O_TRACEFORK (1 << PTRACE_EVENT_FORK)
-#define PTRACE_O_TRACEVFORK (1 << PTRACE_EVENT_VFORK)
-#define PTRACE_O_TRACECLONE (1 << PTRACE_EVENT_CLONE)
-#define PTRACE_O_TRACEEXEC (1 << PTRACE_EVENT_EXEC)
-#define PTRACE_O_TRACEVFORKDONE (1 << PTRACE_EVENT_VFORK_DONE)
-#define PTRACE_O_TRACEEXIT (1 << PTRACE_EVENT_EXIT)
-#define PTRACE_O_TRACESECCOMP (1 << PTRACE_EVENT_SECCOMP)
-
-/* eventless options */
-#define PTRACE_O_EXITKILL (1 << 20)
-#define PTRACE_O_SUSPEND_SECCOMP (1 << 21)
-
-#define PTRACE_O_MASK (\
- 0x000000ff | PTRACE_O_EXITKILL | PTRACE_O_SUSPEND_SECCOMP)
-
-#include <asm/ptrace.h>
-
-
-#endif /* _LINUX_PTRACE_H */
diff --git a/linux-headers/include/linux/qnx4_fs.h b/linux-headers/include/linux/qnx4_fs.h
deleted file mode 100644
index 8b9aee1..0000000
--- a/linux-headers/include/linux/qnx4_fs.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Name : qnx4_fs.h
- * Author : Richard Frowijn
- * Function : qnx4 global filesystem definitions
- * History : 23-03-1998 created
- */
-#ifndef _LINUX_QNX4_FS_H
-#define _LINUX_QNX4_FS_H
-
-#include <linux/types.h>
-#include <linux/qnxtypes.h>
-#include <linux/magic.h>
-
-#define QNX4_ROOT_INO 1
-
-#define QNX4_MAX_XTNTS_PER_XBLK 60
-/* for di_status */
-#define QNX4_FILE_USED 0x01
-#define QNX4_FILE_MODIFIED 0x02
-#define QNX4_FILE_BUSY 0x04
-#define QNX4_FILE_LINK 0x08
-#define QNX4_FILE_INODE 0x10
-#define QNX4_FILE_FSYSCLEAN 0x20
-
-#define QNX4_I_MAP_SLOTS 8
-#define QNX4_Z_MAP_SLOTS 64
-#define QNX4_VALID_FS 0x0001 /* Clean fs. */
-#define QNX4_ERROR_FS 0x0002 /* fs has errors. */
-#define QNX4_BLOCK_SIZE 0x200 /* blocksize of 512 bytes */
-#define QNX4_BLOCK_SIZE_BITS 9 /* blocksize shift */
-#define QNX4_DIR_ENTRY_SIZE 0x040 /* dir entry size of 64 bytes */
-#define QNX4_DIR_ENTRY_SIZE_BITS 6 /* dir entry size shift */
-#define QNX4_XBLK_ENTRY_SIZE 0x200 /* xblk entry size */
-#define QNX4_INODES_PER_BLOCK 0x08 /* 512 / 64 */
-
-/* for filenames */
-#define QNX4_SHORT_NAME_MAX 16
-#define QNX4_NAME_MAX 48
-
-/*
- * This is the original qnx4 inode layout on disk.
- */
-struct qnx4_inode_entry {
- char di_fname[QNX4_SHORT_NAME_MAX];
- qnx4_off_t di_size;
- qnx4_xtnt_t di_first_xtnt;
- __le32 di_xblk;
- __le32 di_ftime;
- __le32 di_mtime;
- __le32 di_atime;
- __le32 di_ctime;
- qnx4_nxtnt_t di_num_xtnts;
- qnx4_mode_t di_mode;
- qnx4_muid_t di_uid;
- qnx4_mgid_t di_gid;
- qnx4_nlink_t di_nlink;
- __u8 di_zero[4];
- qnx4_ftype_t di_type;
- __u8 di_status;
-};
-
-struct qnx4_link_info {
- char dl_fname[QNX4_NAME_MAX];
- __le32 dl_inode_blk;
- __u8 dl_inode_ndx;
- __u8 dl_spare[10];
- __u8 dl_status;
-};
-
-struct qnx4_xblk {
- __le32 xblk_next_xblk;
- __le32 xblk_prev_xblk;
- __u8 xblk_num_xtnts;
- __u8 xblk_spare[3];
- __le32 xblk_num_blocks;
- qnx4_xtnt_t xblk_xtnts[QNX4_MAX_XTNTS_PER_XBLK];
- char xblk_signature[8];
- qnx4_xtnt_t xblk_first_xtnt;
-};
-
-struct qnx4_super_block {
- struct qnx4_inode_entry RootDir;
- struct qnx4_inode_entry Inode;
- struct qnx4_inode_entry Boot;
- struct qnx4_inode_entry AltBoot;
-};
-
-#endif
diff --git a/linux-headers/include/linux/qnxtypes.h b/linux-headers/include/linux/qnxtypes.h
deleted file mode 100644
index bebbe5c..0000000
--- a/linux-headers/include/linux/qnxtypes.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Name : qnxtypes.h
- * Author : Richard Frowijn
- * Function : standard qnx types
- * History : 22-03-1998 created
- *
- */
-
-#ifndef _QNX4TYPES_H
-#define _QNX4TYPES_H
-
-#include <linux/types.h>
-
-typedef __le16 qnx4_nxtnt_t;
-typedef __u8 qnx4_ftype_t;
-
-typedef struct {
- __le32 xtnt_blk;
- __le32 xtnt_size;
-} qnx4_xtnt_t;
-
-typedef __le16 qnx4_mode_t;
-typedef __le16 qnx4_muid_t;
-typedef __le16 qnx4_mgid_t;
-typedef __le32 qnx4_off_t;
-typedef __le16 qnx4_nlink_t;
-
-#endif
diff --git a/linux-headers/include/linux/quota.h b/linux-headers/include/linux/quota.h
deleted file mode 100644
index 02f2c33..0000000
--- a/linux-headers/include/linux/quota.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright (c) 1982, 1986 Regents of the University of California.
- * All rights reserved.
- *
- * This code is derived from software contributed to Berkeley by
- * Robert Elz at The University of Melbourne.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of the University nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _LINUX_QUOTA_
-#define _LINUX_QUOTA_
-
-#include <linux/errno.h>
-#include <linux/types.h>
-
-#define __DQUOT_VERSION__ "dquot_6.6.0"
-
-#define MAXQUOTAS 3
-#define USRQUOTA 0 /* element used for user quotas */
-#define GRPQUOTA 1 /* element used for group quotas */
-#define PRJQUOTA 2 /* element used for project quotas */
-
-/*
- * Definitions for the default names of the quotas files.
- */
-#define INITQFNAMES { \
- "user", /* USRQUOTA */ \
- "group", /* GRPQUOTA */ \
- "project", /* PRJQUOTA */ \
- "undefined", \
-};
-
-/*
- * Command definitions for the 'quotactl' system call.
- * The commands are broken into a main command defined below
- * and a subcommand that is used to convey the type of
- * quota that is being manipulated (see above).
- */
-#define SUBCMDMASK 0x00ff
-#define SUBCMDSHIFT 8
-#define QCMD(cmd, type) (((cmd) << SUBCMDSHIFT) | ((type) & SUBCMDMASK))
-
-#define Q_SYNC 0x800001 /* sync disk copy of a filesystems quotas */
-#define Q_QUOTAON 0x800002 /* turn quotas on */
-#define Q_QUOTAOFF 0x800003 /* turn quotas off */
-#define Q_GETFMT 0x800004 /* get quota format used on given filesystem */
-#define Q_GETINFO 0x800005 /* get information about quota files */
-#define Q_SETINFO 0x800006 /* set information about quota files */
-#define Q_GETQUOTA 0x800007 /* get user quota structure */
-#define Q_SETQUOTA 0x800008 /* set user quota structure */
-#define Q_GETNEXTQUOTA 0x800009 /* get disk limits and usage >= ID */
-
-/* Quota format type IDs */
-#define QFMT_VFS_OLD 1
-#define QFMT_VFS_V0 2
-#define QFMT_OCFS2 3
-#define QFMT_VFS_V1 4
-
-/* Size of block in which space limits are passed through the quota
- * interface */
-#define QIF_DQBLKSIZE_BITS 10
-#define QIF_DQBLKSIZE (1 << QIF_DQBLKSIZE_BITS)
-
-/*
- * Quota structure used for communication with userspace via quotactl
- * Following flags are used to specify which fields are valid
- */
-enum {
- QIF_BLIMITS_B = 0,
- QIF_SPACE_B,
- QIF_ILIMITS_B,
- QIF_INODES_B,
- QIF_BTIME_B,
- QIF_ITIME_B,
-};
-
-#define QIF_BLIMITS (1 << QIF_BLIMITS_B)
-#define QIF_SPACE (1 << QIF_SPACE_B)
-#define QIF_ILIMITS (1 << QIF_ILIMITS_B)
-#define QIF_INODES (1 << QIF_INODES_B)
-#define QIF_BTIME (1 << QIF_BTIME_B)
-#define QIF_ITIME (1 << QIF_ITIME_B)
-#define QIF_LIMITS (QIF_BLIMITS | QIF_ILIMITS)
-#define QIF_USAGE (QIF_SPACE | QIF_INODES)
-#define QIF_TIMES (QIF_BTIME | QIF_ITIME)
-#define QIF_ALL (QIF_LIMITS | QIF_USAGE | QIF_TIMES)
-
-struct if_dqblk {
- __u64 dqb_bhardlimit;
- __u64 dqb_bsoftlimit;
- __u64 dqb_curspace;
- __u64 dqb_ihardlimit;
- __u64 dqb_isoftlimit;
- __u64 dqb_curinodes;
- __u64 dqb_btime;
- __u64 dqb_itime;
- __u32 dqb_valid;
-};
-
-struct if_nextdqblk {
- __u64 dqb_bhardlimit;
- __u64 dqb_bsoftlimit;
- __u64 dqb_curspace;
- __u64 dqb_ihardlimit;
- __u64 dqb_isoftlimit;
- __u64 dqb_curinodes;
- __u64 dqb_btime;
- __u64 dqb_itime;
- __u32 dqb_valid;
- __u32 dqb_id;
-};
-
-/*
- * Structure used for setting quota information about file via quotactl
- * Following flags are used to specify which fields are valid
- */
-#define IIF_BGRACE 1
-#define IIF_IGRACE 2
-#define IIF_FLAGS 4
-#define IIF_ALL (IIF_BGRACE | IIF_IGRACE | IIF_FLAGS)
-
-enum {
- DQF_ROOT_SQUASH_B = 0,
- DQF_SYS_FILE_B = 16,
- /* Kernel internal flags invisible to userspace */
- DQF_PRIVATE
-};
-
-/* Root squash enabled (for v1 quota format) */
-#define DQF_ROOT_SQUASH (1 << DQF_ROOT_SQUASH_B)
-/* Quota stored in a system file */
-#define DQF_SYS_FILE (1 << DQF_SYS_FILE_B)
-
-struct if_dqinfo {
- __u64 dqi_bgrace;
- __u64 dqi_igrace;
- __u32 dqi_flags; /* DFQ_* */
- __u32 dqi_valid;
-};
-
-/*
- * Definitions for quota netlink interface
- */
-#define QUOTA_NL_NOWARN 0
-#define QUOTA_NL_IHARDWARN 1 /* Inode hardlimit reached */
-#define QUOTA_NL_ISOFTLONGWARN 2 /* Inode grace time expired */
-#define QUOTA_NL_ISOFTWARN 3 /* Inode softlimit reached */
-#define QUOTA_NL_BHARDWARN 4 /* Block hardlimit reached */
-#define QUOTA_NL_BSOFTLONGWARN 5 /* Block grace time expired */
-#define QUOTA_NL_BSOFTWARN 6 /* Block softlimit reached */
-#define QUOTA_NL_IHARDBELOW 7 /* Usage got below inode hardlimit */
-#define QUOTA_NL_ISOFTBELOW 8 /* Usage got below inode softlimit */
-#define QUOTA_NL_BHARDBELOW 9 /* Usage got below block hardlimit */
-#define QUOTA_NL_BSOFTBELOW 10 /* Usage got below block softlimit */
-
-enum {
- QUOTA_NL_C_UNSPEC,
- QUOTA_NL_C_WARNING,
- __QUOTA_NL_C_MAX,
-};
-#define QUOTA_NL_C_MAX (__QUOTA_NL_C_MAX - 1)
-
-enum {
- QUOTA_NL_A_UNSPEC,
- QUOTA_NL_A_QTYPE,
- QUOTA_NL_A_EXCESS_ID,
- QUOTA_NL_A_WARNING,
- QUOTA_NL_A_DEV_MAJOR,
- QUOTA_NL_A_DEV_MINOR,
- QUOTA_NL_A_CAUSED_ID,
- __QUOTA_NL_A_MAX,
-};
-#define QUOTA_NL_A_MAX (__QUOTA_NL_A_MAX - 1)
-
-
-#endif /* _LINUX_QUOTA_ */
diff --git a/linux-headers/include/linux/radeonfb.h b/linux-headers/include/linux/radeonfb.h
deleted file mode 100644
index 8c4bbde..0000000
--- a/linux-headers/include/linux/radeonfb.h
+++ /dev/null
@@ -1,15 +0,0 @@
-#ifndef __LINUX_RADEONFB_H__
-#define __LINUX_RADEONFB_H__
-
-#include <asm/ioctl.h>
-#include <linux/types.h>
-
-#define ATY_RADEON_LCD_ON 0x00000001
-#define ATY_RADEON_CRT_ON 0x00000002
-
-
-#define FBIO_RADEON_GET_MIRROR _IOR('@', 3, size_t)
-#define FBIO_RADEON_SET_MIRROR _IOW('@', 4, size_t)
-
-#endif
-
diff --git a/linux-headers/include/linux/raid/md_p.h b/linux-headers/include/linux/raid/md_p.h
deleted file mode 100644
index e956671..0000000
--- a/linux-headers/include/linux/raid/md_p.h
+++ /dev/null
@@ -1,386 +0,0 @@
-/*
- md_p.h : physical layout of Linux RAID devices
- Copyright (C) 1996-98 Ingo Molnar, Gadi Oxman
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- You should have received a copy of the GNU General Public License
- (for example /usr/src/linux/COPYING); if not, write to the Free
- Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef _MD_P_H
-#define _MD_P_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-
-/*
- * RAID superblock.
- *
- * The RAID superblock maintains some statistics on each RAID configuration.
- * Each real device in the RAID set contains it near the end of the device.
- * Some of the ideas are copied from the ext2fs implementation.
- *
- * We currently use 4096 bytes as follows:
- *
- * word offset function
- *
- * 0 - 31 Constant generic RAID device information.
- * 32 - 63 Generic state information.
- * 64 - 127 Personality specific information.
- * 128 - 511 12 32-words descriptors of the disks in the raid set.
- * 512 - 911 Reserved.
- * 912 - 1023 Disk specific descriptor.
- */
-
-/*
- * If x is the real device size in bytes, we return an apparent size of:
- *
- * y = (x & ~(MD_RESERVED_BYTES - 1)) - MD_RESERVED_BYTES
- *
- * and place the 4kB superblock at offset y.
- */
-#define MD_RESERVED_BYTES (64 * 1024)
-#define MD_RESERVED_SECTORS (MD_RESERVED_BYTES / 512)
-
-#define MD_NEW_SIZE_SECTORS(x) ((x & ~(MD_RESERVED_SECTORS - 1)) - MD_RESERVED_SECTORS)
-
-#define MD_SB_BYTES 4096
-#define MD_SB_WORDS (MD_SB_BYTES / 4)
-#define MD_SB_SECTORS (MD_SB_BYTES / 512)
-
-/*
- * The following are counted in 32-bit words
- */
-#define MD_SB_GENERIC_OFFSET 0
-#define MD_SB_PERSONALITY_OFFSET 64
-#define MD_SB_DISKS_OFFSET 128
-#define MD_SB_DESCRIPTOR_OFFSET 992
-
-#define MD_SB_GENERIC_CONSTANT_WORDS 32
-#define MD_SB_GENERIC_STATE_WORDS 32
-#define MD_SB_GENERIC_WORDS (MD_SB_GENERIC_CONSTANT_WORDS + MD_SB_GENERIC_STATE_WORDS)
-#define MD_SB_PERSONALITY_WORDS 64
-#define MD_SB_DESCRIPTOR_WORDS 32
-#define MD_SB_DISKS 27
-#define MD_SB_DISKS_WORDS (MD_SB_DISKS*MD_SB_DESCRIPTOR_WORDS)
-#define MD_SB_RESERVED_WORDS (1024 - MD_SB_GENERIC_WORDS - MD_SB_PERSONALITY_WORDS - MD_SB_DISKS_WORDS - MD_SB_DESCRIPTOR_WORDS)
-#define MD_SB_EQUAL_WORDS (MD_SB_GENERIC_WORDS + MD_SB_PERSONALITY_WORDS + MD_SB_DISKS_WORDS)
-
-/*
- * Device "operational" state bits
- */
-#define MD_DISK_FAULTY 0 /* disk is faulty / operational */
-#define MD_DISK_ACTIVE 1 /* disk is running or spare disk */
-#define MD_DISK_SYNC 2 /* disk is in sync with the raid set */
-#define MD_DISK_REMOVED 3 /* disk is in sync with the raid set */
-#define MD_DISK_CLUSTER_ADD 4 /* Initiate a disk add across the cluster
- * For clustered enviroments only.
- */
-#define MD_DISK_CANDIDATE 5 /* disk is added as spare (local) until confirmed
- * For clustered enviroments only.
- */
-
-#define MD_DISK_WRITEMOSTLY 9 /* disk is "write-mostly" is RAID1 config.
- * read requests will only be sent here in
- * dire need
- */
-#define MD_DISK_JOURNAL 18 /* disk is used as the write journal in RAID-5/6 */
-
-#define MD_DISK_ROLE_SPARE 0xffff
-#define MD_DISK_ROLE_FAULTY 0xfffe
-#define MD_DISK_ROLE_JOURNAL 0xfffd
-#define MD_DISK_ROLE_MAX 0xff00 /* max value of regular disk role */
-
-typedef struct mdp_device_descriptor_s {
- __u32 number; /* 0 Device number in the entire set */
- __u32 major; /* 1 Device major number */
- __u32 minor; /* 2 Device minor number */
- __u32 raid_disk; /* 3 The role of the device in the raid set */
- __u32 state; /* 4 Operational state */
- __u32 reserved[MD_SB_DESCRIPTOR_WORDS - 5];
-} mdp_disk_t;
-
-#define MD_SB_MAGIC 0xa92b4efc
-
-/*
- * Superblock state bits
- */
-#define MD_SB_CLEAN 0
-#define MD_SB_ERRORS 1
-
-#define MD_SB_CLUSTERED 5 /* MD is clustered */
-#define MD_SB_BITMAP_PRESENT 8 /* bitmap may be present nearby */
-
-/*
- * Notes:
- * - if an array is being reshaped (restriped) in order to change the
- * the number of active devices in the array, 'raid_disks' will be
- * the larger of the old and new numbers. 'delta_disks' will
- * be the "new - old". So if +ve, raid_disks is the new value, and
- * "raid_disks-delta_disks" is the old. If -ve, raid_disks is the
- * old value and "raid_disks+delta_disks" is the new (smaller) value.
- */
-
-
-typedef struct mdp_superblock_s {
- /*
- * Constant generic information
- */
- __u32 md_magic; /* 0 MD identifier */
- __u32 major_version; /* 1 major version to which the set conforms */
- __u32 minor_version; /* 2 minor version ... */
- __u32 patch_version; /* 3 patchlevel version ... */
- __u32 gvalid_words; /* 4 Number of used words in this section */
- __u32 set_uuid0; /* 5 Raid set identifier */
- __u32 ctime; /* 6 Creation time */
- __u32 level; /* 7 Raid personality */
- __u32 size; /* 8 Apparent size of each individual disk */
- __u32 nr_disks; /* 9 total disks in the raid set */
- __u32 raid_disks; /* 10 disks in a fully functional raid set */
- __u32 md_minor; /* 11 preferred MD minor device number */
- __u32 not_persistent; /* 12 does it have a persistent superblock */
- __u32 set_uuid1; /* 13 Raid set identifier #2 */
- __u32 set_uuid2; /* 14 Raid set identifier #3 */
- __u32 set_uuid3; /* 15 Raid set identifier #4 */
- __u32 gstate_creserved[MD_SB_GENERIC_CONSTANT_WORDS - 16];
-
- /*
- * Generic state information
- */
- __u32 utime; /* 0 Superblock update time */
- __u32 state; /* 1 State bits (clean, ...) */
- __u32 active_disks; /* 2 Number of currently active disks */
- __u32 working_disks; /* 3 Number of working disks */
- __u32 failed_disks; /* 4 Number of failed disks */
- __u32 spare_disks; /* 5 Number of spare disks */
- __u32 sb_csum; /* 6 checksum of the whole superblock */
-#if defined(__BYTE_ORDER) ? __BYTE_ORDER == __BIG_ENDIAN : defined(__BIG_ENDIAN)
- __u32 events_hi; /* 7 high-order of superblock update count */
- __u32 events_lo; /* 8 low-order of superblock update count */
- __u32 cp_events_hi; /* 9 high-order of checkpoint update count */
- __u32 cp_events_lo; /* 10 low-order of checkpoint update count */
-#elif defined(__BYTE_ORDER) ? __BYTE_ORDER == __LITTLE_ENDIAN : defined(__LITTLE_ENDIAN)
- __u32 events_lo; /* 7 low-order of superblock update count */
- __u32 events_hi; /* 8 high-order of superblock update count */
- __u32 cp_events_lo; /* 9 low-order of checkpoint update count */
- __u32 cp_events_hi; /* 10 high-order of checkpoint update count */
-#else
-#error unspecified endianness
-#endif
- __u32 recovery_cp; /* 11 recovery checkpoint sector count */
- /* There are only valid for minor_version > 90 */
- __u64 reshape_position; /* 12,13 next address in array-space for reshape */
- __u32 new_level; /* 14 new level we are reshaping to */
- __u32 delta_disks; /* 15 change in number of raid_disks */
- __u32 new_layout; /* 16 new layout */
- __u32 new_chunk; /* 17 new chunk size (bytes) */
- __u32 gstate_sreserved[MD_SB_GENERIC_STATE_WORDS - 18];
-
- /*
- * Personality information
- */
- __u32 layout; /* 0 the array's physical layout */
- __u32 chunk_size; /* 1 chunk size in bytes */
- __u32 root_pv; /* 2 LV root PV */
- __u32 root_block; /* 3 LV root block */
- __u32 pstate_reserved[MD_SB_PERSONALITY_WORDS - 4];
-
- /*
- * Disks information
- */
- mdp_disk_t disks[MD_SB_DISKS];
-
- /*
- * Reserved
- */
- __u32 reserved[MD_SB_RESERVED_WORDS];
-
- /*
- * Active descriptor
- */
- mdp_disk_t this_disk;
-
-} mdp_super_t;
-
-static __inline__ __u64 md_event(mdp_super_t *sb) {
- __u64 ev = sb->events_hi;
- return (ev<<32)| sb->events_lo;
-}
-
-#define MD_SUPERBLOCK_1_TIME_SEC_MASK ((1ULL<<40) - 1)
-
-/*
- * The version-1 superblock :
- * All numeric fields are little-endian.
- *
- * total size: 256 bytes plus 2 per device.
- * 1K allows 384 devices.
- */
-struct mdp_superblock_1 {
- /* constant array information - 128 bytes */
- __le32 magic; /* MD_SB_MAGIC: 0xa92b4efc - little endian */
- __le32 major_version; /* 1 */
- __le32 feature_map; /* bit 0 set if 'bitmap_offset' is meaningful */
- __le32 pad0; /* always set to 0 when writing */
-
- __u8 set_uuid[16]; /* user-space generated. */
- char set_name[32]; /* set and interpreted by user-space */
-
- __le64 ctime; /* lo 40 bits are seconds, top 24 are microseconds or 0*/
- __le32 level; /* -4 (multipath), -1 (linear), 0,1,4,5 */
- __le32 layout; /* only for raid5 and raid10 currently */
- __le64 size; /* used size of component devices, in 512byte sectors */
-
- __le32 chunksize; /* in 512byte sectors */
- __le32 raid_disks;
- __le32 bitmap_offset; /* sectors after start of superblock that bitmap starts
- * NOTE: signed, so bitmap can be before superblock
- * only meaningful of feature_map[0] is set.
- */
-
- /* These are only valid with feature bit '4' */
- __le32 new_level; /* new level we are reshaping to */
- __le64 reshape_position; /* next address in array-space for reshape */
- __le32 delta_disks; /* change in number of raid_disks */
- __le32 new_layout; /* new layout */
- __le32 new_chunk; /* new chunk size (512byte sectors) */
- __le32 new_offset; /* signed number to add to data_offset in new
- * layout. 0 == no-change. This can be
- * different on each device in the array.
- */
-
- /* constant this-device information - 64 bytes */
- __le64 data_offset; /* sector start of data, often 0 */
- __le64 data_size; /* sectors in this device that can be used for data */
- __le64 super_offset; /* sector start of this superblock */
- union {
- __le64 recovery_offset;/* sectors before this offset (from data_offset) have been recovered */
- __le64 journal_tail;/* journal tail of journal device (from data_offset) */
- };
- __le32 dev_number; /* permanent identifier of this device - not role in raid */
- __le32 cnt_corrected_read; /* number of read errors that were corrected by re-writing */
- __u8 device_uuid[16]; /* user-space setable, ignored by kernel */
- __u8 devflags; /* per-device flags. Only one defined...*/
-#define WriteMostly1 1 /* mask for writemostly flag in above */
- /* Bad block log. If there are any bad blocks the feature flag is set.
- * If offset and size are non-zero, that space is reserved and available
- */
- __u8 bblog_shift; /* shift from sectors to block size */
- __le16 bblog_size; /* number of sectors reserved for list */
- __le32 bblog_offset; /* sector offset from superblock to bblog,
- * signed - not unsigned */
-
- /* array state information - 64 bytes */
- __le64 utime; /* 40 bits second, 24 bits microseconds */
- __le64 events; /* incremented when superblock updated */
- __le64 resync_offset; /* data before this offset (from data_offset) known to be in sync */
- __le32 sb_csum; /* checksum up to devs[max_dev] */
- __le32 max_dev; /* size of devs[] array to consider */
- __u8 pad3[64-32]; /* set to 0 when writing */
-
- /* device state information. Indexed by dev_number.
- * 2 bytes per device
- * Note there are no per-device state flags. State information is rolled
- * into the 'roles' value. If a device is spare or faulty, then it doesn't
- * have a meaningful role.
- */
- __le16 dev_roles[0]; /* role in array, or 0xffff for a spare, or 0xfffe for faulty */
-};
-
-/* feature_map bits */
-#define MD_FEATURE_BITMAP_OFFSET 1
-#define MD_FEATURE_RECOVERY_OFFSET 2 /* recovery_offset is present and
- * must be honoured
- */
-#define MD_FEATURE_RESHAPE_ACTIVE 4
-#define MD_FEATURE_BAD_BLOCKS 8 /* badblock list is not empty */
-#define MD_FEATURE_REPLACEMENT 16 /* This device is replacing an
- * active device with same 'role'.
- * 'recovery_offset' is also set.
- */
-#define MD_FEATURE_RESHAPE_BACKWARDS 32 /* Reshape doesn't change number
- * of devices, but is going
- * backwards anyway.
- */
-#define MD_FEATURE_NEW_OFFSET 64 /* new_offset must be honoured */
-#define MD_FEATURE_RECOVERY_BITMAP 128 /* recovery that is happening
- * is guided by bitmap.
- */
-#define MD_FEATURE_CLUSTERED 256 /* clustered MD */
-#define MD_FEATURE_JOURNAL 512 /* support write cache */
-#define MD_FEATURE_ALL (MD_FEATURE_BITMAP_OFFSET \
- |MD_FEATURE_RECOVERY_OFFSET \
- |MD_FEATURE_RESHAPE_ACTIVE \
- |MD_FEATURE_BAD_BLOCKS \
- |MD_FEATURE_REPLACEMENT \
- |MD_FEATURE_RESHAPE_BACKWARDS \
- |MD_FEATURE_NEW_OFFSET \
- |MD_FEATURE_RECOVERY_BITMAP \
- |MD_FEATURE_CLUSTERED \
- |MD_FEATURE_JOURNAL \
- )
-
-struct r5l_payload_header {
- __le16 type;
- __le16 flags;
-} __attribute__ ((__packed__));
-
-enum r5l_payload_type {
- R5LOG_PAYLOAD_DATA = 0,
- R5LOG_PAYLOAD_PARITY = 1,
- R5LOG_PAYLOAD_FLUSH = 2,
-};
-
-struct r5l_payload_data_parity {
- struct r5l_payload_header header;
- __le32 size; /* sector. data/parity size. each 4k
- * has a checksum */
- __le64 location; /* sector. For data, it's raid sector. For
- * parity, it's stripe sector */
- __le32 checksum[];
-} __attribute__ ((__packed__));
-
-enum r5l_payload_data_parity_flag {
- R5LOG_PAYLOAD_FLAG_DISCARD = 1, /* payload is discard */
- /*
- * RESHAPED/RESHAPING is only set when there is reshape activity. Note,
- * both data/parity of a stripe should have the same flag set
- *
- * RESHAPED: reshape is running, and this stripe finished reshape
- * RESHAPING: reshape is running, and this stripe isn't reshaped
- */
- R5LOG_PAYLOAD_FLAG_RESHAPED = 2,
- R5LOG_PAYLOAD_FLAG_RESHAPING = 3,
-};
-
-struct r5l_payload_flush {
- struct r5l_payload_header header;
- __le32 size; /* flush_stripes size, bytes */
- __le64 flush_stripes[];
-} __attribute__ ((__packed__));
-
-enum r5l_payload_flush_flag {
- R5LOG_PAYLOAD_FLAG_FLUSH_STRIPE = 1, /* data represents whole stripe */
-};
-
-struct r5l_meta_block {
- __le32 magic;
- __le32 checksum;
- __u8 version;
- __u8 __zero_pading_1;
- __le16 __zero_pading_2;
- __le32 meta_size; /* whole size of the block */
-
- __le64 seq;
- __le64 position; /* sector, start from rdev->data_offset, current position */
- struct r5l_payload_header payloads[];
-} __attribute__ ((__packed__));
-
-#define R5LOG_VERSION 0x1
-#define R5LOG_MAGIC 0x6433c509
-#endif
diff --git a/linux-headers/include/linux/raid/md_u.h b/linux-headers/include/linux/raid/md_u.h
deleted file mode 100644
index 1afc6c3..0000000
--- a/linux-headers/include/linux/raid/md_u.h
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- md_u.h : user <=> kernel API between Linux raidtools and RAID drivers
- Copyright (C) 1998 Ingo Molnar
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- You should have received a copy of the GNU General Public License
- (for example /usr/src/linux/COPYING); if not, write to the Free
- Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
-*/
-
-#ifndef _MD_U_H
-#define _MD_U_H
-
-/*
- * Different major versions are not compatible.
- * Different minor versions are only downward compatible.
- * Different patchlevel versions are downward and upward compatible.
- */
-#define MD_MAJOR_VERSION 0
-#define MD_MINOR_VERSION 90
-/*
- * MD_PATCHLEVEL_VERSION indicates kernel functionality.
- * >=1 means different superblock formats are selectable using SET_ARRAY_INFO
- * and major_version/minor_version accordingly
- * >=2 means that Internal bitmaps are supported by setting MD_SB_BITMAP_PRESENT
- * in the super status byte
- * >=3 means that bitmap superblock version 4 is supported, which uses
- * little-ending representation rather than host-endian
- */
-#define MD_PATCHLEVEL_VERSION 3
-
-/* ioctls */
-
-/* status */
-#define RAID_VERSION _IOR (MD_MAJOR, 0x10, mdu_version_t)
-#define GET_ARRAY_INFO _IOR (MD_MAJOR, 0x11, mdu_array_info_t)
-#define GET_DISK_INFO _IOR (MD_MAJOR, 0x12, mdu_disk_info_t)
-#define RAID_AUTORUN _IO (MD_MAJOR, 0x14)
-#define GET_BITMAP_FILE _IOR (MD_MAJOR, 0x15, mdu_bitmap_file_t)
-
-/* configuration */
-#define CLEAR_ARRAY _IO (MD_MAJOR, 0x20)
-#define ADD_NEW_DISK _IOW (MD_MAJOR, 0x21, mdu_disk_info_t)
-#define HOT_REMOVE_DISK _IO (MD_MAJOR, 0x22)
-#define SET_ARRAY_INFO _IOW (MD_MAJOR, 0x23, mdu_array_info_t)
-#define SET_DISK_INFO _IO (MD_MAJOR, 0x24)
-#define WRITE_RAID_INFO _IO (MD_MAJOR, 0x25)
-#define UNPROTECT_ARRAY _IO (MD_MAJOR, 0x26)
-#define PROTECT_ARRAY _IO (MD_MAJOR, 0x27)
-#define HOT_ADD_DISK _IO (MD_MAJOR, 0x28)
-#define SET_DISK_FAULTY _IO (MD_MAJOR, 0x29)
-#define HOT_GENERATE_ERROR _IO (MD_MAJOR, 0x2a)
-#define SET_BITMAP_FILE _IOW (MD_MAJOR, 0x2b, int)
-
-/* usage */
-#define RUN_ARRAY _IOW (MD_MAJOR, 0x30, mdu_param_t)
-/* 0x31 was START_ARRAY */
-#define STOP_ARRAY _IO (MD_MAJOR, 0x32)
-#define STOP_ARRAY_RO _IO (MD_MAJOR, 0x33)
-#define RESTART_ARRAY_RW _IO (MD_MAJOR, 0x34)
-#define CLUSTERED_DISK_NACK _IO (MD_MAJOR, 0x35)
-
-/* 63 partitions with the alternate major number (mdp) */
-#define MdpMinorShift 6
-
-typedef struct mdu_version_s {
- int major;
- int minor;
- int patchlevel;
-} mdu_version_t;
-
-typedef struct mdu_array_info_s {
- /*
- * Generic constant information
- */
- int major_version;
- int minor_version;
- int patch_version;
- unsigned int ctime;
- int level;
- int size;
- int nr_disks;
- int raid_disks;
- int md_minor;
- int not_persistent;
-
- /*
- * Generic state information
- */
- unsigned int utime; /* 0 Superblock update time */
- int state; /* 1 State bits (clean, ...) */
- int active_disks; /* 2 Number of currently active disks */
- int working_disks; /* 3 Number of working disks */
- int failed_disks; /* 4 Number of failed disks */
- int spare_disks; /* 5 Number of spare disks */
-
- /*
- * Personality information
- */
- int layout; /* 0 the array's physical layout */
- int chunk_size; /* 1 chunk size in bytes */
-
-} mdu_array_info_t;
-
-/* non-obvious values for 'level' */
-#define LEVEL_MULTIPATH (-4)
-#define LEVEL_LINEAR (-1)
-#define LEVEL_FAULTY (-5)
-
-/* we need a value for 'no level specified' and 0
- * means 'raid0', so we need something else. This is
- * for internal use only
- */
-#define LEVEL_NONE (-1000000)
-
-typedef struct mdu_disk_info_s {
- /*
- * configuration/status of one particular disk
- */
- int number;
- int major;
- int minor;
- int raid_disk;
- int state;
-
-} mdu_disk_info_t;
-
-typedef struct mdu_start_info_s {
- /*
- * configuration/status of one particular disk
- */
- int major;
- int minor;
- int raid_disk;
- int state;
-
-} mdu_start_info_t;
-
-typedef struct mdu_bitmap_file_s
-{
- char pathname[4096];
-} mdu_bitmap_file_t;
-
-typedef struct mdu_param_s
-{
- int personality; /* 1,2,3,4 */
- int chunk_size; /* in bytes */
- int max_fault; /* unused for now */
-} mdu_param_t;
-
-#endif /* _MD_U_H */
diff --git a/linux-headers/include/linux/random.h b/linux-headers/include/linux/random.h
deleted file mode 100644
index 1f166ce..0000000
--- a/linux-headers/include/linux/random.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * include/linux/random.h
- *
- * Include file for the random number generator.
- */
-
-#ifndef _LINUX_RANDOM_H
-#define _LINUX_RANDOM_H
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-#include <linux/irqnr.h>
-
-/* ioctl()'s for the random number generator */
-
-/* Get the entropy count. */
-#define RNDGETENTCNT _IOR( 'R', 0x00, int )
-
-/* Add to (or subtract from) the entropy count. (Superuser only.) */
-#define RNDADDTOENTCNT _IOW( 'R', 0x01, int )
-
-/* Get the contents of the entropy pool. (Superuser only.) */
-#define RNDGETPOOL _IOR( 'R', 0x02, int [2] )
-
-/*
- * Write bytes into the entropy pool and add to the entropy count.
- * (Superuser only.)
- */
-#define RNDADDENTROPY _IOW( 'R', 0x03, int [2] )
-
-/* Clear entropy count to 0. (Superuser only.) */
-#define RNDZAPENTCNT _IO( 'R', 0x04 )
-
-/* Clear the entropy pool and associated counters. (Superuser only.) */
-#define RNDCLEARPOOL _IO( 'R', 0x06 )
-
-struct rand_pool_info {
- int entropy_count;
- int buf_size;
- __u32 buf[0];
-};
-
-/*
- * Flags for getrandom(2)
- *
- * GRND_NONBLOCK Don't block and return EAGAIN instead
- * GRND_RANDOM Use the /dev/random pool instead of /dev/urandom
- */
-#define GRND_NONBLOCK 0x0001
-#define GRND_RANDOM 0x0002
-
-#endif /* _LINUX_RANDOM_H */
diff --git a/linux-headers/include/linux/raw.h b/linux-headers/include/linux/raw.h
deleted file mode 100644
index 62d543e..0000000
--- a/linux-headers/include/linux/raw.h
+++ /dev/null
@@ -1,18 +0,0 @@
-#ifndef __LINUX_RAW_H
-#define __LINUX_RAW_H
-
-#include <linux/types.h>
-
-#define RAW_SETBIND _IO( 0xac, 0 )
-#define RAW_GETBIND _IO( 0xac, 1 )
-
-struct raw_config_request
-{
- int raw_minor;
- __u64 block_major;
- __u64 block_minor;
-};
-
-#define MAX_RAW_MINORS CONFIG_MAX_RAW_DEVS
-
-#endif /* __LINUX_RAW_H */
diff --git a/linux-headers/include/linux/rds.h b/linux-headers/include/linux/rds.h
deleted file mode 100644
index 0f9265c..0000000
--- a/linux-headers/include/linux/rds.h
+++ /dev/null
@@ -1,295 +0,0 @@
-/*
- * Copyright (c) 2008 Oracle. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses. You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the following
- * disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- */
-
-#ifndef _LINUX_RDS_H
-#define _LINUX_RDS_H
-
-#include <linux/types.h>
-
-#define RDS_IB_ABI_VERSION 0x301
-
-#define SOL_RDS 276
-
-/*
- * setsockopt/getsockopt for SOL_RDS
- */
-#define RDS_CANCEL_SENT_TO 1
-#define RDS_GET_MR 2
-#define RDS_FREE_MR 3
-/* deprecated: RDS_BARRIER 4 */
-#define RDS_RECVERR 5
-#define RDS_CONG_MONITOR 6
-#define RDS_GET_MR_FOR_DEST 7
-#define SO_RDS_TRANSPORT 8
-
-/* supported values for SO_RDS_TRANSPORT */
-#define RDS_TRANS_IB 0
-#define RDS_TRANS_IWARP 1
-#define RDS_TRANS_TCP 2
-#define RDS_TRANS_COUNT 3
-#define RDS_TRANS_NONE (~0)
-
-/*
- * Control message types for SOL_RDS.
- *
- * CMSG_RDMA_ARGS (sendmsg)
- * Request a RDMA transfer to/from the specified
- * memory ranges.
- * The cmsg_data is a struct rds_rdma_args.
- * RDS_CMSG_RDMA_DEST (recvmsg, sendmsg)
- * Kernel informs application about intended
- * source/destination of a RDMA transfer
- * RDS_CMSG_RDMA_MAP (sendmsg)
- * Application asks kernel to map the given
- * memory range into a IB MR, and send the
- * R_Key along in an RDS extension header.
- * The cmsg_data is a struct rds_get_mr_args,
- * the same as for the GET_MR setsockopt.
- * RDS_CMSG_RDMA_STATUS (recvmsg)
- * Returns the status of a completed RDMA operation.
- */
-#define RDS_CMSG_RDMA_ARGS 1
-#define RDS_CMSG_RDMA_DEST 2
-#define RDS_CMSG_RDMA_MAP 3
-#define RDS_CMSG_RDMA_STATUS 4
-#define RDS_CMSG_CONG_UPDATE 5
-#define RDS_CMSG_ATOMIC_FADD 6
-#define RDS_CMSG_ATOMIC_CSWP 7
-#define RDS_CMSG_MASKED_ATOMIC_FADD 8
-#define RDS_CMSG_MASKED_ATOMIC_CSWP 9
-
-#define RDS_INFO_FIRST 10000
-#define RDS_INFO_COUNTERS 10000
-#define RDS_INFO_CONNECTIONS 10001
-/* 10002 aka RDS_INFO_FLOWS is deprecated */
-#define RDS_INFO_SEND_MESSAGES 10003
-#define RDS_INFO_RETRANS_MESSAGES 10004
-#define RDS_INFO_RECV_MESSAGES 10005
-#define RDS_INFO_SOCKETS 10006
-#define RDS_INFO_TCP_SOCKETS 10007
-#define RDS_INFO_IB_CONNECTIONS 10008
-#define RDS_INFO_CONNECTION_STATS 10009
-#define RDS_INFO_IWARP_CONNECTIONS 10010
-#define RDS_INFO_LAST 10010
-
-struct rds_info_counter {
- uint8_t name[32];
- uint64_t value;
-} __attribute__((packed));
-
-#define RDS_INFO_CONNECTION_FLAG_SENDING 0x01
-#define RDS_INFO_CONNECTION_FLAG_CONNECTING 0x02
-#define RDS_INFO_CONNECTION_FLAG_CONNECTED 0x04
-
-#define TRANSNAMSIZ 16
-
-struct rds_info_connection {
- uint64_t next_tx_seq;
- uint64_t next_rx_seq;
- __be32 laddr;
- __be32 faddr;
- uint8_t transport[TRANSNAMSIZ]; /* null term ascii */
- uint8_t flags;
-} __attribute__((packed));
-
-#define RDS_INFO_MESSAGE_FLAG_ACK 0x01
-#define RDS_INFO_MESSAGE_FLAG_FAST_ACK 0x02
-
-struct rds_info_message {
- uint64_t seq;
- uint32_t len;
- __be32 laddr;
- __be32 faddr;
- __be16 lport;
- __be16 fport;
- uint8_t flags;
-} __attribute__((packed));
-
-struct rds_info_socket {
- uint32_t sndbuf;
- __be32 bound_addr;
- __be32 connected_addr;
- __be16 bound_port;
- __be16 connected_port;
- uint32_t rcvbuf;
- uint64_t inum;
-} __attribute__((packed));
-
-struct rds_info_tcp_socket {
- __be32 local_addr;
- __be16 local_port;
- __be32 peer_addr;
- __be16 peer_port;
- uint64_t hdr_rem;
- uint64_t data_rem;
- uint32_t last_sent_nxt;
- uint32_t last_expected_una;
- uint32_t last_seen_una;
-} __attribute__((packed));
-
-#define RDS_IB_GID_LEN 16
-struct rds_info_rdma_connection {
- __be32 src_addr;
- __be32 dst_addr;
- uint8_t src_gid[RDS_IB_GID_LEN];
- uint8_t dst_gid[RDS_IB_GID_LEN];
-
- uint32_t max_send_wr;
- uint32_t max_recv_wr;
- uint32_t max_send_sge;
- uint32_t rdma_mr_max;
- uint32_t rdma_mr_size;
-};
-
-/*
- * Congestion monitoring.
- * Congestion control in RDS happens at the host connection
- * level by exchanging a bitmap marking congested ports.
- * By default, a process sleeping in poll() is always woken
- * up when the congestion map is updated.
- * With explicit monitoring, an application can have more
- * fine-grained control.
- * The application installs a 64bit mask value in the socket,
- * where each bit corresponds to a group of ports.
- * When a congestion update arrives, RDS checks the set of
- * ports that are now uncongested against the list bit mask
- * installed in the socket, and if they overlap, we queue a
- * cong_notification on the socket.
- *
- * To install the congestion monitor bitmask, use RDS_CONG_MONITOR
- * with the 64bit mask.
- * Congestion updates are received via RDS_CMSG_CONG_UPDATE
- * control messages.
- *
- * The correspondence between bits and ports is
- * 1 << (portnum % 64)
- */
-#define RDS_CONG_MONITOR_SIZE 64
-#define RDS_CONG_MONITOR_BIT(port) (((unsigned int) port) % RDS_CONG_MONITOR_SIZE)
-#define RDS_CONG_MONITOR_MASK(port) (1ULL << RDS_CONG_MONITOR_BIT(port))
-
-/*
- * RDMA related types
- */
-
-/*
- * This encapsulates a remote memory location.
- * In the current implementation, it contains the R_Key
- * of the remote memory region, and the offset into it
- * (so that the application does not have to worry about
- * alignment).
- */
-typedef uint64_t rds_rdma_cookie_t;
-
-struct rds_iovec {
- uint64_t addr;
- uint64_t bytes;
-};
-
-struct rds_get_mr_args {
- struct rds_iovec vec;
- uint64_t cookie_addr;
- uint64_t flags;
-};
-
-struct rds_get_mr_for_dest_args {
- struct sockaddr_storage dest_addr;
- struct rds_iovec vec;
- uint64_t cookie_addr;
- uint64_t flags;
-};
-
-struct rds_free_mr_args {
- rds_rdma_cookie_t cookie;
- uint64_t flags;
-};
-
-struct rds_rdma_args {
- rds_rdma_cookie_t cookie;
- struct rds_iovec remote_vec;
- uint64_t local_vec_addr;
- uint64_t nr_local;
- uint64_t flags;
- uint64_t user_token;
-};
-
-struct rds_atomic_args {
- rds_rdma_cookie_t cookie;
- uint64_t local_addr;
- uint64_t remote_addr;
- union {
- struct {
- uint64_t compare;
- uint64_t swap;
- } cswp;
- struct {
- uint64_t add;
- } fadd;
- struct {
- uint64_t compare;
- uint64_t swap;
- uint64_t compare_mask;
- uint64_t swap_mask;
- } m_cswp;
- struct {
- uint64_t add;
- uint64_t nocarry_mask;
- } m_fadd;
- };
- uint64_t flags;
- uint64_t user_token;
-};
-
-struct rds_rdma_notify {
- uint64_t user_token;
- int32_t status;
-};
-
-#define RDS_RDMA_SUCCESS 0
-#define RDS_RDMA_REMOTE_ERROR 1
-#define RDS_RDMA_CANCELED 2
-#define RDS_RDMA_DROPPED 3
-#define RDS_RDMA_OTHER_ERROR 4
-
-/*
- * Common set of flags for all RDMA related structs
- */
-#define RDS_RDMA_READWRITE 0x0001
-#define RDS_RDMA_FENCE 0x0002 /* use FENCE for immediate send */
-#define RDS_RDMA_INVALIDATE 0x0004 /* invalidate R_Key after freeing MR */
-#define RDS_RDMA_USE_ONCE 0x0008 /* free MR after use */
-#define RDS_RDMA_DONTWAIT 0x0010 /* Don't wait in SET_BARRIER */
-#define RDS_RDMA_NOTIFY_ME 0x0020 /* Notify when operation completes */
-#define RDS_RDMA_SILENT 0x0040 /* Do not interrupt remote */
-
-#endif /* IB_RDS_H */
diff --git a/linux-headers/include/linux/reboot.h b/linux-headers/include/linux/reboot.h
deleted file mode 100644
index aa33674..0000000
--- a/linux-headers/include/linux/reboot.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef _LINUX_REBOOT_H
-#define _LINUX_REBOOT_H
-
-/*
- * Magic values required to use _reboot() system call.
- */
-
-#define LINUX_REBOOT_MAGIC1 0xfee1dead
-#define LINUX_REBOOT_MAGIC2 672274793
-#define LINUX_REBOOT_MAGIC2A 85072278
-#define LINUX_REBOOT_MAGIC2B 369367448
-#define LINUX_REBOOT_MAGIC2C 537993216
-
-
-/*
- * Commands accepted by the _reboot() system call.
- *
- * RESTART Restart system using default command and mode.
- * HALT Stop OS and give system control to ROM monitor, if any.
- * CAD_ON Ctrl-Alt-Del sequence causes RESTART command.
- * CAD_OFF Ctrl-Alt-Del sequence sends SIGINT to init task.
- * POWER_OFF Stop OS and remove all power from system, if possible.
- * RESTART2 Restart system using given command string.
- * SW_SUSPEND Suspend system using software suspend if compiled in.
- * KEXEC Restart system using a previously loaded Linux kernel
- */
-
-#define LINUX_REBOOT_CMD_RESTART 0x01234567
-#define LINUX_REBOOT_CMD_HALT 0xCDEF0123
-#define LINUX_REBOOT_CMD_CAD_ON 0x89ABCDEF
-#define LINUX_REBOOT_CMD_CAD_OFF 0x00000000
-#define LINUX_REBOOT_CMD_POWER_OFF 0x4321FEDC
-#define LINUX_REBOOT_CMD_RESTART2 0xA1B2C3D4
-#define LINUX_REBOOT_CMD_SW_SUSPEND 0xD000FCE2
-#define LINUX_REBOOT_CMD_KEXEC 0x45584543
-
-
-
-#endif /* _LINUX_REBOOT_H */
diff --git a/linux-headers/include/linux/reiserfs_fs.h b/linux-headers/include/linux/reiserfs_fs.h
deleted file mode 100644
index ea3700c..0000000
--- a/linux-headers/include/linux/reiserfs_fs.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * Copyright 1996, 1997, 1998 Hans Reiser, see reiserfs/README for licensing and copyright details
- */
-#ifndef _LINUX_REISER_FS_H
-#define _LINUX_REISER_FS_H
-
-#include <linux/types.h>
-#include <linux/magic.h>
-
-/*
- * include/linux/reiser_fs.h
- *
- * Reiser File System constants and structures
- *
- */
-
-/* ioctl's command */
-#define REISERFS_IOC_UNPACK _IOW(0xCD,1,long)
-/* define following flags to be the same as in ext2, so that chattr(1),
- lsattr(1) will work with us. */
-#define REISERFS_IOC_GETFLAGS FS_IOC_GETFLAGS
-#define REISERFS_IOC_SETFLAGS FS_IOC_SETFLAGS
-#define REISERFS_IOC_GETVERSION FS_IOC_GETVERSION
-#define REISERFS_IOC_SETVERSION FS_IOC_SETVERSION
-
-#endif /* _LINUX_REISER_FS_H */
diff --git a/linux-headers/include/linux/reiserfs_xattr.h b/linux-headers/include/linux/reiserfs_xattr.h
deleted file mode 100644
index 38fdd64..0000000
--- a/linux-headers/include/linux/reiserfs_xattr.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- File: linux/reiserfs_xattr.h
-*/
-
-#ifndef _LINUX_REISERFS_XATTR_H
-#define _LINUX_REISERFS_XATTR_H
-
-#include <linux/types.h>
-
-/* Magic value in header */
-#define REISERFS_XATTR_MAGIC 0x52465841 /* "RFXA" */
-
-struct reiserfs_xattr_header {
- __le32 h_magic; /* magic number for identification */
- __le32 h_hash; /* hash of the value */
-};
-
-struct reiserfs_security_handle {
- const char *name;
- void *value;
- size_t length;
-};
-
-#endif /* _LINUX_REISERFS_XATTR_H */
diff --git a/linux-headers/include/linux/resource.h b/linux-headers/include/linux/resource.h
deleted file mode 100644
index 5e036db..0000000
--- a/linux-headers/include/linux/resource.h
+++ /dev/null
@@ -1,80 +0,0 @@
-#ifndef _LINUX_RESOURCE_H
-#define _LINUX_RESOURCE_H
-
-#include <linux/time.h>
-#include <linux/types.h>
-
-/*
- * Resource control/accounting header file for linux
- */
-
-/*
- * Definition of struct rusage taken from BSD 4.3 Reno
- *
- * We don't support all of these yet, but we might as well have them....
- * Otherwise, each time we add new items, programs which depend on this
- * structure will lose. This reduces the chances of that happening.
- */
-#define RUSAGE_SELF 0
-#define RUSAGE_CHILDREN (-1)
-#define RUSAGE_BOTH (-2) /* sys_wait4() uses this */
-#define RUSAGE_THREAD 1 /* only the calling thread */
-
-struct rusage {
- struct timeval ru_utime; /* user time used */
- struct timeval ru_stime; /* system time used */
- __kernel_long_t ru_maxrss; /* maximum resident set size */
- __kernel_long_t ru_ixrss; /* integral shared memory size */
- __kernel_long_t ru_idrss; /* integral unshared data size */
- __kernel_long_t ru_isrss; /* integral unshared stack size */
- __kernel_long_t ru_minflt; /* page reclaims */
- __kernel_long_t ru_majflt; /* page faults */
- __kernel_long_t ru_nswap; /* swaps */
- __kernel_long_t ru_inblock; /* block input operations */
- __kernel_long_t ru_oublock; /* block output operations */
- __kernel_long_t ru_msgsnd; /* messages sent */
- __kernel_long_t ru_msgrcv; /* messages received */
- __kernel_long_t ru_nsignals; /* signals received */
- __kernel_long_t ru_nvcsw; /* voluntary context switches */
- __kernel_long_t ru_nivcsw; /* involuntary " */
-};
-
-struct rlimit {
- __kernel_ulong_t rlim_cur;
- __kernel_ulong_t rlim_max;
-};
-
-#define RLIM64_INFINITY (~0ULL)
-
-struct rlimit64 {
- __u64 rlim_cur;
- __u64 rlim_max;
-};
-
-#define PRIO_MIN (-20)
-#define PRIO_MAX 20
-
-#define PRIO_PROCESS 0
-#define PRIO_PGRP 1
-#define PRIO_USER 2
-
-/*
- * Limit the stack by to some sane default: root can always
- * increase this limit if needed.. 8MB seems reasonable.
- */
-#define _STK_LIM (8*1024*1024)
-
-/*
- * GPG2 wants 64kB of mlocked memory, to make sure pass phrases
- * and other sensitive information are never written to disk.
- */
-#define MLOCK_LIMIT ((PAGE_SIZE > 64*1024) ? PAGE_SIZE : 64*1024)
-
-/*
- * Due to binary compatibility, the actual resource numbers
- * may be different for different linux versions..
- */
-#include <asm/resource.h>
-
-
-#endif /* _LINUX_RESOURCE_H */
diff --git a/linux-headers/include/linux/rfkill.h b/linux-headers/include/linux/rfkill.h
deleted file mode 100644
index 09f86fc..0000000
--- a/linux-headers/include/linux/rfkill.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (C) 2006 - 2007 Ivo van Doorn
- * Copyright (C) 2007 Dmitry Torokhov
- * Copyright 2009 Johannes Berg <johannes@sipsolutions.net>
- *
- * Permission to use, copy, modify, and/or distribute this software for any
- * purpose with or without fee is hereby granted, provided that the above
- * copyright notice and this permission notice appear in all copies.
- *
- * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
- * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
- * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
- * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
- * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
- * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
- * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
- */
-#ifndef __RFKILL_H
-#define __RFKILL_H
-
-
-#include <linux/types.h>
-
-/* define userspace visible states */
-#define RFKILL_STATE_SOFT_BLOCKED 0
-#define RFKILL_STATE_UNBLOCKED 1
-#define RFKILL_STATE_HARD_BLOCKED 2
-
-/**
- * enum rfkill_type - type of rfkill switch.
- *
- * @RFKILL_TYPE_ALL: toggles all switches (requests only - not a switch type)
- * @RFKILL_TYPE_WLAN: switch is on a 802.11 wireless network device.
- * @RFKILL_TYPE_BLUETOOTH: switch is on a bluetooth device.
- * @RFKILL_TYPE_UWB: switch is on a ultra wideband device.
- * @RFKILL_TYPE_WIMAX: switch is on a WiMAX device.
- * @RFKILL_TYPE_WWAN: switch is on a wireless WAN device.
- * @RFKILL_TYPE_GPS: switch is on a GPS device.
- * @RFKILL_TYPE_FM: switch is on a FM radio device.
- * @RFKILL_TYPE_NFC: switch is on an NFC device.
- * @NUM_RFKILL_TYPES: number of defined rfkill types
- */
-enum rfkill_type {
- RFKILL_TYPE_ALL = 0,
- RFKILL_TYPE_WLAN,
- RFKILL_TYPE_BLUETOOTH,
- RFKILL_TYPE_UWB,
- RFKILL_TYPE_WIMAX,
- RFKILL_TYPE_WWAN,
- RFKILL_TYPE_GPS,
- RFKILL_TYPE_FM,
- RFKILL_TYPE_NFC,
- NUM_RFKILL_TYPES,
-};
-
-/**
- * enum rfkill_operation - operation types
- * @RFKILL_OP_ADD: a device was added
- * @RFKILL_OP_DEL: a device was removed
- * @RFKILL_OP_CHANGE: a device's state changed -- userspace changes one device
- * @RFKILL_OP_CHANGE_ALL: userspace changes all devices (of a type, or all)
- * into a state, also updating the default state used for devices that
- * are hot-plugged later.
- */
-enum rfkill_operation {
- RFKILL_OP_ADD = 0,
- RFKILL_OP_DEL,
- RFKILL_OP_CHANGE,
- RFKILL_OP_CHANGE_ALL,
-};
-
-/**
- * struct rfkill_event - events for userspace on /dev/rfkill
- * @idx: index of dev rfkill
- * @type: type of the rfkill struct
- * @op: operation code
- * @hard: hard state (0/1)
- * @soft: soft state (0/1)
- *
- * Structure used for userspace communication on /dev/rfkill,
- * used for events from the kernel and control to the kernel.
- */
-struct rfkill_event {
- __u32 idx;
- __u8 type;
- __u8 op;
- __u8 soft, hard;
-} __attribute__((packed));
-
-/*
- * We are planning to be backward and forward compatible with changes
- * to the event struct, by adding new, optional, members at the end.
- * When reading an event (whether the kernel from userspace or vice
- * versa) we need to accept anything that's at least as large as the
- * version 1 event size, but might be able to accept other sizes in
- * the future.
- *
- * One exception is the kernel -- we already have two event sizes in
- * that we've made the 'hard' member optional since our only option
- * is to ignore it anyway.
- */
-#define RFKILL_EVENT_SIZE_V1 8
-
-/* ioctl for turning off rfkill-input (if present) */
-#define RFKILL_IOC_MAGIC 'R'
-#define RFKILL_IOC_NOINPUT 1
-#define RFKILL_IOCTL_NOINPUT _IO(RFKILL_IOC_MAGIC, RFKILL_IOC_NOINPUT)
-
-/* and that's all userspace gets */
-
-#endif /* __RFKILL_H */
diff --git a/linux-headers/include/linux/rio_mport_cdev.h b/linux-headers/include/linux/rio_mport_cdev.h
deleted file mode 100644
index 5796bf1..0000000
--- a/linux-headers/include/linux/rio_mport_cdev.h
+++ /dev/null
@@ -1,277 +0,0 @@
-/*
- * Copyright (c) 2015-2016, Integrated Device Technology Inc.
- * Copyright (c) 2015, Prodrive Technologies
- * Copyright (c) 2015, Texas Instruments Incorporated
- * Copyright (c) 2015, RapidIO Trade Association
- * All rights reserved.
- *
- * This software is available to you under a choice of one of two licenses.
- * You may choose to be licensed under the terms of the GNU General Public
- * License(GPL) Version 2, or the BSD-3 Clause license below:
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright notice,
- * this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * 3. Neither the name of the copyright holder nor the names of its contributors
- * may be used to endorse or promote products derived from this software without
- * specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
- * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
- * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
- * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
- * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _RIO_MPORT_CDEV_H_
-#define _RIO_MPORT_CDEV_H_
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-struct rio_mport_maint_io {
- __u16 rioid; /* destID of remote device */
- __u8 hopcount; /* hopcount to remote device */
- __u8 pad0[5];
- __u32 offset; /* offset in register space */
- __u32 length; /* length in bytes */
- __u64 buffer; /* pointer to data buffer */
-};
-
-/*
- * Definitions for RapidIO data transfers:
- * - memory mapped (MAPPED)
- * - packet generation from memory (TRANSFER)
- */
-#define RIO_TRANSFER_MODE_MAPPED (1 << 0)
-#define RIO_TRANSFER_MODE_TRANSFER (1 << 1)
-#define RIO_CAP_DBL_SEND (1 << 2)
-#define RIO_CAP_DBL_RECV (1 << 3)
-#define RIO_CAP_PW_SEND (1 << 4)
-#define RIO_CAP_PW_RECV (1 << 5)
-#define RIO_CAP_MAP_OUTB (1 << 6)
-#define RIO_CAP_MAP_INB (1 << 7)
-
-struct rio_mport_properties {
- __u16 hdid;
- __u8 id; /* Physical port ID */
- __u8 index;
- __u32 flags;
- __u32 sys_size; /* Default addressing size */
- __u8 port_ok;
- __u8 link_speed;
- __u8 link_width;
- __u8 pad0;
- __u32 dma_max_sge;
- __u32 dma_max_size;
- __u32 dma_align;
- __u32 transfer_mode; /* Default transfer mode */
- __u32 cap_sys_size; /* Capable system sizes */
- __u32 cap_addr_size; /* Capable addressing sizes */
- __u32 cap_transfer_mode; /* Capable transfer modes */
- __u32 cap_mport; /* Mport capabilities */
-};
-
-/*
- * Definitions for RapidIO events;
- * - incoming port-writes
- * - incoming doorbells
- */
-#define RIO_DOORBELL (1 << 0)
-#define RIO_PORTWRITE (1 << 1)
-
-struct rio_doorbell {
- __u16 rioid;
- __u16 payload;
-};
-
-struct rio_doorbell_filter {
- __u16 rioid; /* Use RIO_INVALID_DESTID to match all ids */
- __u16 low;
- __u16 high;
- __u16 pad0;
-};
-
-
-struct rio_portwrite {
- __u32 payload[16];
-};
-
-struct rio_pw_filter {
- __u32 mask;
- __u32 low;
- __u32 high;
- __u32 pad0;
-};
-
-/* RapidIO base address for inbound requests set to value defined below
- * indicates that no specific RIO-to-local address translation is requested
- * and driver should use direct (one-to-one) address mapping.
-*/
-#define RIO_MAP_ANY_ADDR (__u64)(~((__u64) 0))
-
-struct rio_mmap {
- __u16 rioid;
- __u16 pad0[3];
- __u64 rio_addr;
- __u64 length;
- __u64 handle;
- __u64 address;
-};
-
-struct rio_dma_mem {
- __u64 length; /* length of DMA memory */
- __u64 dma_handle; /* handle associated with this memory */
- __u64 address;
-};
-
-struct rio_event {
- __u32 header; /* event type RIO_DOORBELL or RIO_PORTWRITE */
- union {
- struct rio_doorbell doorbell; /* header for RIO_DOORBELL */
- struct rio_portwrite portwrite; /* header for RIO_PORTWRITE */
- } u;
- __u32 pad0;
-};
-
-enum rio_transfer_sync {
- RIO_TRANSFER_SYNC, /* synchronous transfer */
- RIO_TRANSFER_ASYNC, /* asynchronous transfer */
- RIO_TRANSFER_FAF, /* fire-and-forget transfer */
-};
-
-enum rio_transfer_dir {
- RIO_TRANSFER_DIR_READ, /* Read operation */
- RIO_TRANSFER_DIR_WRITE, /* Write operation */
-};
-
-/*
- * RapidIO data exchange transactions are lists of individual transfers. Each
- * transfer exchanges data between two RapidIO devices by remote direct memory
- * access and has its own completion code.
- *
- * The RapidIO specification defines four types of data exchange requests:
- * NREAD, NWRITE, SWRITE and NWRITE_R. The RapidIO DMA channel interface allows
- * to specify the required type of write operation or combination of them when
- * only the last data packet requires response.
- *
- * NREAD: read up to 256 bytes from remote device memory into local memory
- * NWRITE: write up to 256 bytes from local memory to remote device memory
- * without confirmation
- * SWRITE: as NWRITE, but all addresses and payloads must be 64-bit aligned
- * NWRITE_R: as NWRITE, but expect acknowledgment from remote device.
- *
- * The default exchange is chosen from NREAD and any of the WRITE modes as the
- * driver sees fit. For write requests the user can explicitly choose between
- * any of the write modes for each transaction.
- */
-enum rio_exchange {
- RIO_EXCHANGE_DEFAULT, /* Default method */
- RIO_EXCHANGE_NWRITE, /* All packets using NWRITE */
- RIO_EXCHANGE_SWRITE, /* All packets using SWRITE */
- RIO_EXCHANGE_NWRITE_R, /* Last packet NWRITE_R, others NWRITE */
- RIO_EXCHANGE_SWRITE_R, /* Last packet NWRITE_R, others SWRITE */
- RIO_EXCHANGE_NWRITE_R_ALL, /* All packets using NWRITE_R */
-};
-
-struct rio_transfer_io {
- __u64 rio_addr; /* Address in target's RIO mem space */
- __u64 loc_addr;
- __u64 handle;
- __u64 offset; /* Offset in buffer */
- __u64 length; /* Length in bytes */
- __u16 rioid; /* Target destID */
- __u16 method; /* Data exchange method, one of rio_exchange enum */
- __u32 completion_code; /* Completion code for this transfer */
-};
-
-struct rio_transaction {
- __u64 block; /* Pointer to array of <count> transfers */
- __u32 count; /* Number of transfers */
- __u32 transfer_mode; /* Data transfer mode */
- __u16 sync; /* Synch method, one of rio_transfer_sync enum */
- __u16 dir; /* Transfer direction, one of rio_transfer_dir enum */
- __u32 pad0;
-};
-
-struct rio_async_tx_wait {
- __u32 token; /* DMA transaction ID token */
- __u32 timeout; /* Wait timeout in msec, if 0 use default TO */
-};
-
-#define RIO_MAX_DEVNAME_SZ 20
-
-struct rio_rdev_info {
- __u16 destid;
- __u8 hopcount;
- __u8 pad0;
- __u32 comptag;
- char name[RIO_MAX_DEVNAME_SZ + 1];
-};
-
-/* Driver IOCTL codes */
-#define RIO_MPORT_DRV_MAGIC 'm'
-
-#define RIO_MPORT_MAINT_HDID_SET \
- _IOW(RIO_MPORT_DRV_MAGIC, 1, __u16)
-#define RIO_MPORT_MAINT_COMPTAG_SET \
- _IOW(RIO_MPORT_DRV_MAGIC, 2, __u32)
-#define RIO_MPORT_MAINT_PORT_IDX_GET \
- _IOR(RIO_MPORT_DRV_MAGIC, 3, __u32)
-#define RIO_MPORT_GET_PROPERTIES \
- _IOR(RIO_MPORT_DRV_MAGIC, 4, struct rio_mport_properties)
-#define RIO_MPORT_MAINT_READ_LOCAL \
- _IOR(RIO_MPORT_DRV_MAGIC, 5, struct rio_mport_maint_io)
-#define RIO_MPORT_MAINT_WRITE_LOCAL \
- _IOW(RIO_MPORT_DRV_MAGIC, 6, struct rio_mport_maint_io)
-#define RIO_MPORT_MAINT_READ_REMOTE \
- _IOR(RIO_MPORT_DRV_MAGIC, 7, struct rio_mport_maint_io)
-#define RIO_MPORT_MAINT_WRITE_REMOTE \
- _IOW(RIO_MPORT_DRV_MAGIC, 8, struct rio_mport_maint_io)
-#define RIO_ENABLE_DOORBELL_RANGE \
- _IOW(RIO_MPORT_DRV_MAGIC, 9, struct rio_doorbell_filter)
-#define RIO_DISABLE_DOORBELL_RANGE \
- _IOW(RIO_MPORT_DRV_MAGIC, 10, struct rio_doorbell_filter)
-#define RIO_ENABLE_PORTWRITE_RANGE \
- _IOW(RIO_MPORT_DRV_MAGIC, 11, struct rio_pw_filter)
-#define RIO_DISABLE_PORTWRITE_RANGE \
- _IOW(RIO_MPORT_DRV_MAGIC, 12, struct rio_pw_filter)
-#define RIO_SET_EVENT_MASK \
- _IOW(RIO_MPORT_DRV_MAGIC, 13, __u32)
-#define RIO_GET_EVENT_MASK \
- _IOR(RIO_MPORT_DRV_MAGIC, 14, __u32)
-#define RIO_MAP_OUTBOUND \
- _IOWR(RIO_MPORT_DRV_MAGIC, 15, struct rio_mmap)
-#define RIO_UNMAP_OUTBOUND \
- _IOW(RIO_MPORT_DRV_MAGIC, 16, struct rio_mmap)
-#define RIO_MAP_INBOUND \
- _IOWR(RIO_MPORT_DRV_MAGIC, 17, struct rio_mmap)
-#define RIO_UNMAP_INBOUND \
- _IOW(RIO_MPORT_DRV_MAGIC, 18, __u64)
-#define RIO_ALLOC_DMA \
- _IOWR(RIO_MPORT_DRV_MAGIC, 19, struct rio_dma_mem)
-#define RIO_FREE_DMA \
- _IOW(RIO_MPORT_DRV_MAGIC, 20, __u64)
-#define RIO_TRANSFER \
- _IOWR(RIO_MPORT_DRV_MAGIC, 21, struct rio_transaction)
-#define RIO_WAIT_FOR_ASYNC \
- _IOW(RIO_MPORT_DRV_MAGIC, 22, struct rio_async_tx_wait)
-#define RIO_DEV_ADD \
- _IOW(RIO_MPORT_DRV_MAGIC, 23, struct rio_rdev_info)
-#define RIO_DEV_DEL \
- _IOW(RIO_MPORT_DRV_MAGIC, 24, struct rio_rdev_info)
-
-#endif /* _RIO_MPORT_CDEV_H_ */
diff --git a/linux-headers/include/linux/romfs_fs.h b/linux-headers/include/linux/romfs_fs.h
deleted file mode 100644
index 5f57f93..0000000
--- a/linux-headers/include/linux/romfs_fs.h
+++ /dev/null
@@ -1,59 +0,0 @@
-#ifndef __LINUX_ROMFS_FS_H
-#define __LINUX_ROMFS_FS_H
-
-#include <linux/types.h>
-#include <linux/fs.h>
-
-/* The basic structures of the romfs filesystem */
-
-#define ROMBSIZE BLOCK_SIZE
-#define ROMBSBITS BLOCK_SIZE_BITS
-#define ROMBMASK (ROMBSIZE-1)
-#define ROMFS_MAGIC 0x7275
-
-#define ROMFS_MAXFN 128
-
-#define __mkw(h,l) (((h)&0x00ff)<< 8|((l)&0x00ff))
-#define __mkl(h,l) (((h)&0xffff)<<16|((l)&0xffff))
-#define __mk4(a,b,c,d) cpu_to_be32(__mkl(__mkw(a,b),__mkw(c,d)))
-#define ROMSB_WORD0 __mk4('-','r','o','m')
-#define ROMSB_WORD1 __mk4('1','f','s','-')
-
-/* On-disk "super block" */
-
-struct romfs_super_block {
- __be32 word0;
- __be32 word1;
- __be32 size;
- __be32 checksum;
- char name[0]; /* volume name */
-};
-
-/* On disk inode */
-
-struct romfs_inode {
- __be32 next; /* low 4 bits see ROMFH_ */
- __be32 spec;
- __be32 size;
- __be32 checksum;
- char name[0];
-};
-
-#define ROMFH_TYPE 7
-#define ROMFH_HRD 0
-#define ROMFH_DIR 1
-#define ROMFH_REG 2
-#define ROMFH_SYM 3
-#define ROMFH_BLK 4
-#define ROMFH_CHR 5
-#define ROMFH_SCK 6
-#define ROMFH_FIF 7
-#define ROMFH_EXEC 8
-
-/* Alignment */
-
-#define ROMFH_SIZE 16
-#define ROMFH_PAD (ROMFH_SIZE-1)
-#define ROMFH_MASK (~ROMFH_PAD)
-
-#endif
diff --git a/linux-headers/include/linux/rose.h b/linux-headers/include/linux/rose.h
deleted file mode 100644
index 1fcfe95..0000000
--- a/linux-headers/include/linux/rose.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * These are the public elements of the Linux kernel Rose implementation.
- * For kernel AX.25 see the file ax25.h. This file requires ax25.h for the
- * definition of the ax25_address structure.
- */
-
-#ifndef ROSE_KERNEL_H
-#define ROSE_KERNEL_H
-
-#include <linux/socket.h>
-#include <linux/ax25.h>
-
-#define ROSE_MTU 251
-
-#define ROSE_MAX_DIGIS 6
-
-#define ROSE_DEFER 1
-#define ROSE_T1 2
-#define ROSE_T2 3
-#define ROSE_T3 4
-#define ROSE_IDLE 5
-#define ROSE_QBITINCL 6
-#define ROSE_HOLDBACK 7
-
-#define SIOCRSGCAUSE (SIOCPROTOPRIVATE+0)
-#define SIOCRSSCAUSE (SIOCPROTOPRIVATE+1)
-#define SIOCRSL2CALL (SIOCPROTOPRIVATE+2)
-#define SIOCRSSL2CALL (SIOCPROTOPRIVATE+2)
-#define SIOCRSACCEPT (SIOCPROTOPRIVATE+3)
-#define SIOCRSCLRRT (SIOCPROTOPRIVATE+4)
-#define SIOCRSGL2CALL (SIOCPROTOPRIVATE+5)
-#define SIOCRSGFACILITIES (SIOCPROTOPRIVATE+6)
-
-#define ROSE_DTE_ORIGINATED 0x00
-#define ROSE_NUMBER_BUSY 0x01
-#define ROSE_INVALID_FACILITY 0x03
-#define ROSE_NETWORK_CONGESTION 0x05
-#define ROSE_OUT_OF_ORDER 0x09
-#define ROSE_ACCESS_BARRED 0x0B
-#define ROSE_NOT_OBTAINABLE 0x0D
-#define ROSE_REMOTE_PROCEDURE 0x11
-#define ROSE_LOCAL_PROCEDURE 0x13
-#define ROSE_SHIP_ABSENT 0x39
-
-typedef struct {
- char rose_addr[5];
-} rose_address;
-
-struct sockaddr_rose {
- __kernel_sa_family_t srose_family;
- rose_address srose_addr;
- ax25_address srose_call;
- int srose_ndigis;
- ax25_address srose_digi;
-};
-
-struct full_sockaddr_rose {
- __kernel_sa_family_t srose_family;
- rose_address srose_addr;
- ax25_address srose_call;
- unsigned int srose_ndigis;
- ax25_address srose_digis[ROSE_MAX_DIGIS];
-};
-
-struct rose_route_struct {
- rose_address address;
- unsigned short mask;
- ax25_address neighbour;
- char device[16];
- unsigned char ndigis;
- ax25_address digipeaters[AX25_MAX_DIGIS];
-};
-
-struct rose_cause_struct {
- unsigned char cause;
- unsigned char diagnostic;
-};
-
-struct rose_facilities_struct {
- rose_address source_addr, dest_addr;
- ax25_address source_call, dest_call;
- unsigned char source_ndigis, dest_ndigis;
- ax25_address source_digis[ROSE_MAX_DIGIS];
- ax25_address dest_digis[ROSE_MAX_DIGIS];
- unsigned int rand;
- rose_address fail_addr;
- ax25_address fail_call;
-};
-
-#endif
diff --git a/linux-headers/include/linux/route.h b/linux-headers/include/linux/route.h
deleted file mode 100644
index 11abf54..0000000
--- a/linux-headers/include/linux/route.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the IP router interface.
- *
- * Version: @(#)route.h 1.0.3 05/27/93
- *
- * Authors: Original taken from Berkeley UNIX 4.3, (c) UCB 1986-1988
- * for the purposes of compatibility only.
- *
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * Changes:
- * Mike McLagan : Routing by source
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_ROUTE_H
-#define _LINUX_ROUTE_H
-
-#include <linux/if.h>
-
-
-/* This structure gets passed by the SIOCADDRT and SIOCDELRT calls. */
-struct rtentry {
- unsigned long rt_pad1;
- struct sockaddr rt_dst; /* target address */
- struct sockaddr rt_gateway; /* gateway addr (RTF_GATEWAY) */
- struct sockaddr rt_genmask; /* target network mask (IP) */
- unsigned short rt_flags;
- short rt_pad2;
- unsigned long rt_pad3;
- void *rt_pad4;
- short rt_metric; /* +1 for binary compatibility! */
- char *rt_dev; /* forcing the device at add */
- unsigned long rt_mtu; /* per route MTU/Window */
-#define rt_mss rt_mtu /* Compatibility :-( */
- unsigned long rt_window; /* Window clamping */
- unsigned short rt_irtt; /* Initial RTT */
-};
-
-
-#define RTF_UP 0x0001 /* route usable */
-#define RTF_GATEWAY 0x0002 /* destination is a gateway */
-#define RTF_HOST 0x0004 /* host entry (net otherwise) */
-#define RTF_REINSTATE 0x0008 /* reinstate route after tmout */
-#define RTF_DYNAMIC 0x0010 /* created dyn. (by redirect) */
-#define RTF_MODIFIED 0x0020 /* modified dyn. (by redirect) */
-#define RTF_MTU 0x0040 /* specific MTU for this route */
-#define RTF_MSS RTF_MTU /* Compatibility :-( */
-#define RTF_WINDOW 0x0080 /* per route window clamping */
-#define RTF_IRTT 0x0100 /* Initial round trip time */
-#define RTF_REJECT 0x0200 /* Reject route */
-
-/*
- * <linux/ipv6_route.h> uses RTF values >= 64k
- */
-
-
-
-#endif /* _LINUX_ROUTE_H */
-
diff --git a/linux-headers/include/linux/rtc.h b/linux-headers/include/linux/rtc.h
deleted file mode 100644
index cebd172..0000000
--- a/linux-headers/include/linux/rtc.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Generic RTC interface.
- * This version contains the part of the user interface to the Real Time Clock
- * service. It is used with both the legacy mc146818 and also EFI
- * Struct rtc_time and first 12 ioctl by Paul Gortmaker, 1996 - separated out
- * from <linux/mc146818rtc.h> to this file for 2.4 kernels.
- *
- * Copyright (C) 1999 Hewlett-Packard Co.
- * Copyright (C) 1999 Stephane Eranian <eranian@hpl.hp.com>
- */
-#ifndef _LINUX_RTC_H_
-#define _LINUX_RTC_H_
-
-/*
- * The struct used to pass data via the following ioctl. Similar to the
- * struct tm in <time.h>, but it needs to be here so that the kernel
- * source is self contained, allowing cross-compiles, etc. etc.
- */
-
-struct rtc_time {
- int tm_sec;
- int tm_min;
- int tm_hour;
- int tm_mday;
- int tm_mon;
- int tm_year;
- int tm_wday;
- int tm_yday;
- int tm_isdst;
-};
-
-/*
- * This data structure is inspired by the EFI (v0.92) wakeup
- * alarm API.
- */
-struct rtc_wkalrm {
- unsigned char enabled; /* 0 = alarm disabled, 1 = alarm enabled */
- unsigned char pending; /* 0 = alarm not pending, 1 = alarm pending */
- struct rtc_time time; /* time the alarm is set to */
-};
-
-/*
- * Data structure to control PLL correction some better RTC feature
- * pll_value is used to get or set current value of correction,
- * the rest of the struct is used to query HW capabilities.
- * This is modeled after the RTC used in Q40/Q60 computers but
- * should be sufficiently flexible for other devices
- *
- * +ve pll_value means clock will run faster by
- * pll_value*pll_posmult/pll_clock
- * -ve pll_value means clock will run slower by
- * pll_value*pll_negmult/pll_clock
- */
-
-struct rtc_pll_info {
- int pll_ctrl; /* placeholder for fancier control */
- int pll_value; /* get/set correction value */
- int pll_max; /* max +ve (faster) adjustment value */
- int pll_min; /* max -ve (slower) adjustment value */
- int pll_posmult; /* factor for +ve correction */
- int pll_negmult; /* factor for -ve correction */
- long pll_clock; /* base PLL frequency */
-};
-
-/*
- * ioctl calls that are permitted to the /dev/rtc interface, if
- * any of the RTC drivers are enabled.
- */
-
-#define RTC_AIE_ON _IO('p', 0x01) /* Alarm int. enable on */
-#define RTC_AIE_OFF _IO('p', 0x02) /* ... off */
-#define RTC_UIE_ON _IO('p', 0x03) /* Update int. enable on */
-#define RTC_UIE_OFF _IO('p', 0x04) /* ... off */
-#define RTC_PIE_ON _IO('p', 0x05) /* Periodic int. enable on */
-#define RTC_PIE_OFF _IO('p', 0x06) /* ... off */
-#define RTC_WIE_ON _IO('p', 0x0f) /* Watchdog int. enable on */
-#define RTC_WIE_OFF _IO('p', 0x10) /* ... off */
-
-#define RTC_ALM_SET _IOW('p', 0x07, struct rtc_time) /* Set alarm time */
-#define RTC_ALM_READ _IOR('p', 0x08, struct rtc_time) /* Read alarm time */
-#define RTC_RD_TIME _IOR('p', 0x09, struct rtc_time) /* Read RTC time */
-#define RTC_SET_TIME _IOW('p', 0x0a, struct rtc_time) /* Set RTC time */
-#define RTC_IRQP_READ _IOR('p', 0x0b, unsigned long) /* Read IRQ rate */
-#define RTC_IRQP_SET _IOW('p', 0x0c, unsigned long) /* Set IRQ rate */
-#define RTC_EPOCH_READ _IOR('p', 0x0d, unsigned long) /* Read epoch */
-#define RTC_EPOCH_SET _IOW('p', 0x0e, unsigned long) /* Set epoch */
-
-#define RTC_WKALM_SET _IOW('p', 0x0f, struct rtc_wkalrm)/* Set wakeup alarm*/
-#define RTC_WKALM_RD _IOR('p', 0x10, struct rtc_wkalrm)/* Get wakeup alarm*/
-
-#define RTC_PLL_GET _IOR('p', 0x11, struct rtc_pll_info) /* Get PLL correction */
-#define RTC_PLL_SET _IOW('p', 0x12, struct rtc_pll_info) /* Set PLL correction */
-
-#define RTC_VL_READ _IOR('p', 0x13, int) /* Voltage low detector */
-#define RTC_VL_CLR _IO('p', 0x14) /* Clear voltage low information */
-
-/* interrupt flags */
-#define RTC_IRQF 0x80 /* Any of the following is active */
-#define RTC_PF 0x40 /* Periodic interrupt */
-#define RTC_AF 0x20 /* Alarm interrupt */
-#define RTC_UF 0x10 /* Update interrupt for 1Hz RTC */
-
-
-#define RTC_MAX_FREQ 8192
-
-
-#endif /* _LINUX_RTC_H_ */
diff --git a/linux-headers/include/linux/rtnetlink.h b/linux-headers/include/linux/rtnetlink.h
deleted file mode 100644
index 6aaa2a3..0000000
--- a/linux-headers/include/linux/rtnetlink.h
+++ /dev/null
@@ -1,675 +0,0 @@
-#ifndef __LINUX_RTNETLINK_H
-#define __LINUX_RTNETLINK_H
-
-#include <linux/types.h>
-#include <linux/netlink.h>
-#include <linux/if_link.h>
-#include <linux/if_addr.h>
-#include <linux/neighbour.h>
-
-/* rtnetlink families. Values up to 127 are reserved for real address
- * families, values above 128 may be used arbitrarily.
- */
-#define RTNL_FAMILY_IPMR 128
-#define RTNL_FAMILY_IP6MR 129
-#define RTNL_FAMILY_MAX 129
-
-/****
- * Routing/neighbour discovery messages.
- ****/
-
-/* Types of messages */
-
-enum {
- RTM_BASE = 16,
-#define RTM_BASE RTM_BASE
-
- RTM_NEWLINK = 16,
-#define RTM_NEWLINK RTM_NEWLINK
- RTM_DELLINK,
-#define RTM_DELLINK RTM_DELLINK
- RTM_GETLINK,
-#define RTM_GETLINK RTM_GETLINK
- RTM_SETLINK,
-#define RTM_SETLINK RTM_SETLINK
-
- RTM_NEWADDR = 20,
-#define RTM_NEWADDR RTM_NEWADDR
- RTM_DELADDR,
-#define RTM_DELADDR RTM_DELADDR
- RTM_GETADDR,
-#define RTM_GETADDR RTM_GETADDR
-
- RTM_NEWROUTE = 24,
-#define RTM_NEWROUTE RTM_NEWROUTE
- RTM_DELROUTE,
-#define RTM_DELROUTE RTM_DELROUTE
- RTM_GETROUTE,
-#define RTM_GETROUTE RTM_GETROUTE
-
- RTM_NEWNEIGH = 28,
-#define RTM_NEWNEIGH RTM_NEWNEIGH
- RTM_DELNEIGH,
-#define RTM_DELNEIGH RTM_DELNEIGH
- RTM_GETNEIGH,
-#define RTM_GETNEIGH RTM_GETNEIGH
-
- RTM_NEWRULE = 32,
-#define RTM_NEWRULE RTM_NEWRULE
- RTM_DELRULE,
-#define RTM_DELRULE RTM_DELRULE
- RTM_GETRULE,
-#define RTM_GETRULE RTM_GETRULE
-
- RTM_NEWQDISC = 36,
-#define RTM_NEWQDISC RTM_NEWQDISC
- RTM_DELQDISC,
-#define RTM_DELQDISC RTM_DELQDISC
- RTM_GETQDISC,
-#define RTM_GETQDISC RTM_GETQDISC
-
- RTM_NEWTCLASS = 40,
-#define RTM_NEWTCLASS RTM_NEWTCLASS
- RTM_DELTCLASS,
-#define RTM_DELTCLASS RTM_DELTCLASS
- RTM_GETTCLASS,
-#define RTM_GETTCLASS RTM_GETTCLASS
-
- RTM_NEWTFILTER = 44,
-#define RTM_NEWTFILTER RTM_NEWTFILTER
- RTM_DELTFILTER,
-#define RTM_DELTFILTER RTM_DELTFILTER
- RTM_GETTFILTER,
-#define RTM_GETTFILTER RTM_GETTFILTER
-
- RTM_NEWACTION = 48,
-#define RTM_NEWACTION RTM_NEWACTION
- RTM_DELACTION,
-#define RTM_DELACTION RTM_DELACTION
- RTM_GETACTION,
-#define RTM_GETACTION RTM_GETACTION
-
- RTM_NEWPREFIX = 52,
-#define RTM_NEWPREFIX RTM_NEWPREFIX
-
- RTM_GETMULTICAST = 58,
-#define RTM_GETMULTICAST RTM_GETMULTICAST
-
- RTM_GETANYCAST = 62,
-#define RTM_GETANYCAST RTM_GETANYCAST
-
- RTM_NEWNEIGHTBL = 64,
-#define RTM_NEWNEIGHTBL RTM_NEWNEIGHTBL
- RTM_GETNEIGHTBL = 66,
-#define RTM_GETNEIGHTBL RTM_GETNEIGHTBL
- RTM_SETNEIGHTBL,
-#define RTM_SETNEIGHTBL RTM_SETNEIGHTBL
-
- RTM_NEWNDUSEROPT = 68,
-#define RTM_NEWNDUSEROPT RTM_NEWNDUSEROPT
-
- RTM_NEWADDRLABEL = 72,
-#define RTM_NEWADDRLABEL RTM_NEWADDRLABEL
- RTM_DELADDRLABEL,
-#define RTM_DELADDRLABEL RTM_DELADDRLABEL
- RTM_GETADDRLABEL,
-#define RTM_GETADDRLABEL RTM_GETADDRLABEL
-
- RTM_GETDCB = 78,
-#define RTM_GETDCB RTM_GETDCB
- RTM_SETDCB,
-#define RTM_SETDCB RTM_SETDCB
-
- RTM_NEWNETCONF = 80,
-#define RTM_NEWNETCONF RTM_NEWNETCONF
- RTM_GETNETCONF = 82,
-#define RTM_GETNETCONF RTM_GETNETCONF
-
- RTM_NEWMDB = 84,
-#define RTM_NEWMDB RTM_NEWMDB
- RTM_DELMDB = 85,
-#define RTM_DELMDB RTM_DELMDB
- RTM_GETMDB = 86,
-#define RTM_GETMDB RTM_GETMDB
-
- RTM_NEWNSID = 88,
-#define RTM_NEWNSID RTM_NEWNSID
- RTM_DELNSID = 89,
-#define RTM_DELNSID RTM_DELNSID
- RTM_GETNSID = 90,
-#define RTM_GETNSID RTM_GETNSID
-
- __RTM_MAX,
-#define RTM_MAX (((__RTM_MAX + 3) & ~3) - 1)
-};
-
-#define RTM_NR_MSGTYPES (RTM_MAX + 1 - RTM_BASE)
-#define RTM_NR_FAMILIES (RTM_NR_MSGTYPES >> 2)
-#define RTM_FAM(cmd) (((cmd) - RTM_BASE) >> 2)
-
-/*
- Generic structure for encapsulation of optional route information.
- It is reminiscent of sockaddr, but with sa_family replaced
- with attribute type.
- */
-
-struct rtattr {
- unsigned short rta_len;
- unsigned short rta_type;
-};
-
-/* Macros to handle rtattributes */
-
-#define RTA_ALIGNTO 4U
-#define RTA_ALIGN(len) ( ((len)+RTA_ALIGNTO-1) & ~(RTA_ALIGNTO-1) )
-#define RTA_OK(rta,len) ((len) >= (int)sizeof(struct rtattr) && \
- (rta)->rta_len >= sizeof(struct rtattr) && \
- (rta)->rta_len <= (len))
-#define RTA_NEXT(rta,attrlen) ((attrlen) -= RTA_ALIGN((rta)->rta_len), \
- (struct rtattr*)(((char*)(rta)) + RTA_ALIGN((rta)->rta_len)))
-#define RTA_LENGTH(len) (RTA_ALIGN(sizeof(struct rtattr)) + (len))
-#define RTA_SPACE(len) RTA_ALIGN(RTA_LENGTH(len))
-#define RTA_DATA(rta) ((void*)(((char*)(rta)) + RTA_LENGTH(0)))
-#define RTA_PAYLOAD(rta) ((int)((rta)->rta_len) - RTA_LENGTH(0))
-
-
-
-
-/******************************************************************************
- * Definitions used in routing table administration.
- ****/
-
-struct rtmsg {
- unsigned char rtm_family;
- unsigned char rtm_dst_len;
- unsigned char rtm_src_len;
- unsigned char rtm_tos;
-
- unsigned char rtm_table; /* Routing table id */
- unsigned char rtm_protocol; /* Routing protocol; see below */
- unsigned char rtm_scope; /* See below */
- unsigned char rtm_type; /* See below */
-
- unsigned rtm_flags;
-};
-
-/* rtm_type */
-
-enum {
- RTN_UNSPEC,
- RTN_UNICAST, /* Gateway or direct route */
- RTN_LOCAL, /* Accept locally */
- RTN_BROADCAST, /* Accept locally as broadcast,
- send as broadcast */
- RTN_ANYCAST, /* Accept locally as broadcast,
- but send as unicast */
- RTN_MULTICAST, /* Multicast route */
- RTN_BLACKHOLE, /* Drop */
- RTN_UNREACHABLE, /* Destination is unreachable */
- RTN_PROHIBIT, /* Administratively prohibited */
- RTN_THROW, /* Not in this table */
- RTN_NAT, /* Translate this address */
- RTN_XRESOLVE, /* Use external resolver */
- __RTN_MAX
-};
-
-#define RTN_MAX (__RTN_MAX - 1)
-
-
-/* rtm_protocol */
-
-#define RTPROT_UNSPEC 0
-#define RTPROT_REDIRECT 1 /* Route installed by ICMP redirects;
- not used by current IPv4 */
-#define RTPROT_KERNEL 2 /* Route installed by kernel */
-#define RTPROT_BOOT 3 /* Route installed during boot */
-#define RTPROT_STATIC 4 /* Route installed by administrator */
-
-/* Values of protocol >= RTPROT_STATIC are not interpreted by kernel;
- they are just passed from user and back as is.
- It will be used by hypothetical multiple routing daemons.
- Note that protocol values should be standardized in order to
- avoid conflicts.
- */
-
-#define RTPROT_GATED 8 /* Apparently, GateD */
-#define RTPROT_RA 9 /* RDISC/ND router advertisements */
-#define RTPROT_MRT 10 /* Merit MRT */
-#define RTPROT_ZEBRA 11 /* Zebra */
-#define RTPROT_BIRD 12 /* BIRD */
-#define RTPROT_DNROUTED 13 /* DECnet routing daemon */
-#define RTPROT_XORP 14 /* XORP */
-#define RTPROT_NTK 15 /* Netsukuku */
-#define RTPROT_DHCP 16 /* DHCP client */
-#define RTPROT_MROUTED 17 /* Multicast daemon */
-#define RTPROT_BABEL 42 /* Babel daemon */
-
-/* rtm_scope
-
- Really it is not scope, but sort of distance to the destination.
- NOWHERE are reserved for not existing destinations, HOST is our
- local addresses, LINK are destinations, located on directly attached
- link and UNIVERSE is everywhere in the Universe.
-
- Intermediate values are also possible f.e. interior routes
- could be assigned a value between UNIVERSE and LINK.
-*/
-
-enum rt_scope_t {
- RT_SCOPE_UNIVERSE=0,
-/* User defined values */
- RT_SCOPE_SITE=200,
- RT_SCOPE_LINK=253,
- RT_SCOPE_HOST=254,
- RT_SCOPE_NOWHERE=255
-};
-
-/* rtm_flags */
-
-#define RTM_F_NOTIFY 0x100 /* Notify user of route change */
-#define RTM_F_CLONED 0x200 /* This route is cloned */
-#define RTM_F_EQUALIZE 0x400 /* Multipath equalizer: NI */
-#define RTM_F_PREFIX 0x800 /* Prefix addresses */
-#define RTM_F_LOOKUP_TABLE 0x1000 /* set rtm_table to FIB lookup result */
-
-/* Reserved table identifiers */
-
-enum rt_class_t {
- RT_TABLE_UNSPEC=0,
-/* User defined values */
- RT_TABLE_COMPAT=252,
- RT_TABLE_DEFAULT=253,
- RT_TABLE_MAIN=254,
- RT_TABLE_LOCAL=255,
- RT_TABLE_MAX=0xFFFFFFFF
-};
-
-
-/* Routing message attributes */
-
-enum rtattr_type_t {
- RTA_UNSPEC,
- RTA_DST,
- RTA_SRC,
- RTA_IIF,
- RTA_OIF,
- RTA_GATEWAY,
- RTA_PRIORITY,
- RTA_PREFSRC,
- RTA_METRICS,
- RTA_MULTIPATH,
- RTA_PROTOINFO, /* no longer used */
- RTA_FLOW,
- RTA_CACHEINFO,
- RTA_SESSION, /* no longer used */
- RTA_MP_ALGO, /* no longer used */
- RTA_TABLE,
- RTA_MARK,
- RTA_MFC_STATS,
- RTA_VIA,
- RTA_NEWDST,
- RTA_PREF,
- RTA_ENCAP_TYPE,
- RTA_ENCAP,
- RTA_EXPIRES,
- __RTA_MAX
-};
-
-#define RTA_MAX (__RTA_MAX - 1)
-
-#define RTM_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct rtmsg))))
-#define RTM_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct rtmsg))
-
-/* RTM_MULTIPATH --- array of struct rtnexthop.
- *
- * "struct rtnexthop" describes all necessary nexthop information,
- * i.e. parameters of path to a destination via this nexthop.
- *
- * At the moment it is impossible to set different prefsrc, mtu, window
- * and rtt for different paths from multipath.
- */
-
-struct rtnexthop {
- unsigned short rtnh_len;
- unsigned char rtnh_flags;
- unsigned char rtnh_hops;
- int rtnh_ifindex;
-};
-
-/* rtnh_flags */
-
-#define RTNH_F_DEAD 1 /* Nexthop is dead (used by multipath) */
-#define RTNH_F_PERVASIVE 2 /* Do recursive gateway lookup */
-#define RTNH_F_ONLINK 4 /* Gateway is forced on link */
-#define RTNH_F_OFFLOAD 8 /* offloaded route */
-#define RTNH_F_LINKDOWN 16 /* carrier-down on nexthop */
-
-#define RTNH_COMPARE_MASK (RTNH_F_DEAD | RTNH_F_LINKDOWN)
-
-/* Macros to handle hexthops */
-
-#define RTNH_ALIGNTO 4
-#define RTNH_ALIGN(len) ( ((len)+RTNH_ALIGNTO-1) & ~(RTNH_ALIGNTO-1) )
-#define RTNH_OK(rtnh,len) ((rtnh)->rtnh_len >= sizeof(struct rtnexthop) && \
- ((int)(rtnh)->rtnh_len) <= (len))
-#define RTNH_NEXT(rtnh) ((struct rtnexthop*)(((char*)(rtnh)) + RTNH_ALIGN((rtnh)->rtnh_len)))
-#define RTNH_LENGTH(len) (RTNH_ALIGN(sizeof(struct rtnexthop)) + (len))
-#define RTNH_SPACE(len) RTNH_ALIGN(RTNH_LENGTH(len))
-#define RTNH_DATA(rtnh) ((struct rtattr*)(((char*)(rtnh)) + RTNH_LENGTH(0)))
-
-/* RTA_VIA */
-struct rtvia {
- __kernel_sa_family_t rtvia_family;
- __u8 rtvia_addr[0];
-};
-
-/* RTM_CACHEINFO */
-
-struct rta_cacheinfo {
- __u32 rta_clntref;
- __u32 rta_lastuse;
- __s32 rta_expires;
- __u32 rta_error;
- __u32 rta_used;
-
-#define RTNETLINK_HAVE_PEERINFO 1
- __u32 rta_id;
- __u32 rta_ts;
- __u32 rta_tsage;
-};
-
-/* RTM_METRICS --- array of struct rtattr with types of RTAX_* */
-
-enum {
- RTAX_UNSPEC,
-#define RTAX_UNSPEC RTAX_UNSPEC
- RTAX_LOCK,
-#define RTAX_LOCK RTAX_LOCK
- RTAX_MTU,
-#define RTAX_MTU RTAX_MTU
- RTAX_WINDOW,
-#define RTAX_WINDOW RTAX_WINDOW
- RTAX_RTT,
-#define RTAX_RTT RTAX_RTT
- RTAX_RTTVAR,
-#define RTAX_RTTVAR RTAX_RTTVAR
- RTAX_SSTHRESH,
-#define RTAX_SSTHRESH RTAX_SSTHRESH
- RTAX_CWND,
-#define RTAX_CWND RTAX_CWND
- RTAX_ADVMSS,
-#define RTAX_ADVMSS RTAX_ADVMSS
- RTAX_REORDERING,
-#define RTAX_REORDERING RTAX_REORDERING
- RTAX_HOPLIMIT,
-#define RTAX_HOPLIMIT RTAX_HOPLIMIT
- RTAX_INITCWND,
-#define RTAX_INITCWND RTAX_INITCWND
- RTAX_FEATURES,
-#define RTAX_FEATURES RTAX_FEATURES
- RTAX_RTO_MIN,
-#define RTAX_RTO_MIN RTAX_RTO_MIN
- RTAX_INITRWND,
-#define RTAX_INITRWND RTAX_INITRWND
- RTAX_QUICKACK,
-#define RTAX_QUICKACK RTAX_QUICKACK
- RTAX_CC_ALGO,
-#define RTAX_CC_ALGO RTAX_CC_ALGO
- __RTAX_MAX
-};
-
-#define RTAX_MAX (__RTAX_MAX - 1)
-
-#define RTAX_FEATURE_ECN (1 << 0)
-#define RTAX_FEATURE_SACK (1 << 1)
-#define RTAX_FEATURE_TIMESTAMP (1 << 2)
-#define RTAX_FEATURE_ALLFRAG (1 << 3)
-
-#define RTAX_FEATURE_MASK (RTAX_FEATURE_ECN | RTAX_FEATURE_SACK | \
- RTAX_FEATURE_TIMESTAMP | RTAX_FEATURE_ALLFRAG)
-
-struct rta_session {
- __u8 proto;
- __u8 pad1;
- __u16 pad2;
-
- union {
- struct {
- __u16 sport;
- __u16 dport;
- } ports;
-
- struct {
- __u8 type;
- __u8 code;
- __u16 ident;
- } icmpt;
-
- __u32 spi;
- } u;
-};
-
-struct rta_mfc_stats {
- __u64 mfcs_packets;
- __u64 mfcs_bytes;
- __u64 mfcs_wrong_if;
-};
-
-/****
- * General form of address family dependent message.
- ****/
-
-struct rtgenmsg {
- unsigned char rtgen_family;
-};
-
-/*****************************************************************
- * Link layer specific messages.
- ****/
-
-/* struct ifinfomsg
- * passes link level specific information, not dependent
- * on network protocol.
- */
-
-struct ifinfomsg {
- unsigned char ifi_family;
- unsigned char __ifi_pad;
- unsigned short ifi_type; /* ARPHRD_* */
- int ifi_index; /* Link index */
- unsigned ifi_flags; /* IFF_* flags */
- unsigned ifi_change; /* IFF_* change mask */
-};
-
-/********************************************************************
- * prefix information
- ****/
-
-struct prefixmsg {
- unsigned char prefix_family;
- unsigned char prefix_pad1;
- unsigned short prefix_pad2;
- int prefix_ifindex;
- unsigned char prefix_type;
- unsigned char prefix_len;
- unsigned char prefix_flags;
- unsigned char prefix_pad3;
-};
-
-enum
-{
- PREFIX_UNSPEC,
- PREFIX_ADDRESS,
- PREFIX_CACHEINFO,
- __PREFIX_MAX
-};
-
-#define PREFIX_MAX (__PREFIX_MAX - 1)
-
-struct prefix_cacheinfo {
- __u32 preferred_time;
- __u32 valid_time;
-};
-
-
-/*****************************************************************
- * Traffic control messages.
- ****/
-
-struct tcmsg {
- unsigned char tcm_family;
- unsigned char tcm__pad1;
- unsigned short tcm__pad2;
- int tcm_ifindex;
- __u32 tcm_handle;
- __u32 tcm_parent;
- __u32 tcm_info;
-};
-
-enum {
- TCA_UNSPEC,
- TCA_KIND,
- TCA_OPTIONS,
- TCA_STATS,
- TCA_XSTATS,
- TCA_RATE,
- TCA_FCNT,
- TCA_STATS2,
- TCA_STAB,
- __TCA_MAX
-};
-
-#define TCA_MAX (__TCA_MAX - 1)
-
-#define TCA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcmsg))))
-#define TCA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcmsg))
-
-/********************************************************************
- * Neighbor Discovery userland options
- ****/
-
-struct nduseroptmsg {
- unsigned char nduseropt_family;
- unsigned char nduseropt_pad1;
- unsigned short nduseropt_opts_len; /* Total length of options */
- int nduseropt_ifindex;
- __u8 nduseropt_icmp_type;
- __u8 nduseropt_icmp_code;
- unsigned short nduseropt_pad2;
- unsigned int nduseropt_pad3;
- /* Followed by one or more ND options */
-};
-
-enum {
- NDUSEROPT_UNSPEC,
- NDUSEROPT_SRCADDR,
- __NDUSEROPT_MAX
-};
-
-#define NDUSEROPT_MAX (__NDUSEROPT_MAX - 1)
-
-/* RTnetlink multicast groups - backwards compatibility for userspace */
-#define RTMGRP_LINK 1
-#define RTMGRP_NOTIFY 2
-#define RTMGRP_NEIGH 4
-#define RTMGRP_TC 8
-
-#define RTMGRP_IPV4_IFADDR 0x10
-#define RTMGRP_IPV4_MROUTE 0x20
-#define RTMGRP_IPV4_ROUTE 0x40
-#define RTMGRP_IPV4_RULE 0x80
-
-#define RTMGRP_IPV6_IFADDR 0x100
-#define RTMGRP_IPV6_MROUTE 0x200
-#define RTMGRP_IPV6_ROUTE 0x400
-#define RTMGRP_IPV6_IFINFO 0x800
-
-#define RTMGRP_DECnet_IFADDR 0x1000
-#define RTMGRP_DECnet_ROUTE 0x4000
-
-#define RTMGRP_IPV6_PREFIX 0x20000
-
-/* RTnetlink multicast groups */
-enum rtnetlink_groups {
- RTNLGRP_NONE,
-#define RTNLGRP_NONE RTNLGRP_NONE
- RTNLGRP_LINK,
-#define RTNLGRP_LINK RTNLGRP_LINK
- RTNLGRP_NOTIFY,
-#define RTNLGRP_NOTIFY RTNLGRP_NOTIFY
- RTNLGRP_NEIGH,
-#define RTNLGRP_NEIGH RTNLGRP_NEIGH
- RTNLGRP_TC,
-#define RTNLGRP_TC RTNLGRP_TC
- RTNLGRP_IPV4_IFADDR,
-#define RTNLGRP_IPV4_IFADDR RTNLGRP_IPV4_IFADDR
- RTNLGRP_IPV4_MROUTE,
-#define RTNLGRP_IPV4_MROUTE RTNLGRP_IPV4_MROUTE
- RTNLGRP_IPV4_ROUTE,
-#define RTNLGRP_IPV4_ROUTE RTNLGRP_IPV4_ROUTE
- RTNLGRP_IPV4_RULE,
-#define RTNLGRP_IPV4_RULE RTNLGRP_IPV4_RULE
- RTNLGRP_IPV6_IFADDR,
-#define RTNLGRP_IPV6_IFADDR RTNLGRP_IPV6_IFADDR
- RTNLGRP_IPV6_MROUTE,
-#define RTNLGRP_IPV6_MROUTE RTNLGRP_IPV6_MROUTE
- RTNLGRP_IPV6_ROUTE,
-#define RTNLGRP_IPV6_ROUTE RTNLGRP_IPV6_ROUTE
- RTNLGRP_IPV6_IFINFO,
-#define RTNLGRP_IPV6_IFINFO RTNLGRP_IPV6_IFINFO
- RTNLGRP_DECnet_IFADDR,
-#define RTNLGRP_DECnet_IFADDR RTNLGRP_DECnet_IFADDR
- RTNLGRP_NOP2,
- RTNLGRP_DECnet_ROUTE,
-#define RTNLGRP_DECnet_ROUTE RTNLGRP_DECnet_ROUTE
- RTNLGRP_DECnet_RULE,
-#define RTNLGRP_DECnet_RULE RTNLGRP_DECnet_RULE
- RTNLGRP_NOP4,
- RTNLGRP_IPV6_PREFIX,
-#define RTNLGRP_IPV6_PREFIX RTNLGRP_IPV6_PREFIX
- RTNLGRP_IPV6_RULE,
-#define RTNLGRP_IPV6_RULE RTNLGRP_IPV6_RULE
- RTNLGRP_ND_USEROPT,
-#define RTNLGRP_ND_USEROPT RTNLGRP_ND_USEROPT
- RTNLGRP_PHONET_IFADDR,
-#define RTNLGRP_PHONET_IFADDR RTNLGRP_PHONET_IFADDR
- RTNLGRP_PHONET_ROUTE,
-#define RTNLGRP_PHONET_ROUTE RTNLGRP_PHONET_ROUTE
- RTNLGRP_DCB,
-#define RTNLGRP_DCB RTNLGRP_DCB
- RTNLGRP_IPV4_NETCONF,
-#define RTNLGRP_IPV4_NETCONF RTNLGRP_IPV4_NETCONF
- RTNLGRP_IPV6_NETCONF,
-#define RTNLGRP_IPV6_NETCONF RTNLGRP_IPV6_NETCONF
- RTNLGRP_MDB,
-#define RTNLGRP_MDB RTNLGRP_MDB
- RTNLGRP_MPLS_ROUTE,
-#define RTNLGRP_MPLS_ROUTE RTNLGRP_MPLS_ROUTE
- RTNLGRP_NSID,
-#define RTNLGRP_NSID RTNLGRP_NSID
- __RTNLGRP_MAX
-};
-#define RTNLGRP_MAX (__RTNLGRP_MAX - 1)
-
-/* TC action piece */
-struct tcamsg {
- unsigned char tca_family;
- unsigned char tca__pad1;
- unsigned short tca__pad2;
-};
-#define TA_RTA(r) ((struct rtattr*)(((char*)(r)) + NLMSG_ALIGN(sizeof(struct tcamsg))))
-#define TA_PAYLOAD(n) NLMSG_PAYLOAD(n,sizeof(struct tcamsg))
-#define TCA_ACT_TAB 1 /* attr type must be >=1 */
-#define TCAA_MAX 1
-
-/* New extended info filters for IFLA_EXT_MASK */
-#define RTEXT_FILTER_VF (1 << 0)
-#define RTEXT_FILTER_BRVLAN (1 << 1)
-#define RTEXT_FILTER_BRVLAN_COMPRESSED (1 << 2)
-#define RTEXT_FILTER_SKIP_STATS (1 << 3)
-
-/* End of information exported to user level */
-
-
-
-#endif /* __LINUX_RTNETLINK_H */
diff --git a/linux-headers/include/linux/scc.h b/linux-headers/include/linux/scc.h
deleted file mode 100644
index 73c0cb2..0000000
--- a/linux-headers/include/linux/scc.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/* $Id: scc.h,v 1.29 1997/04/02 14:56:45 jreuter Exp jreuter $ */
-
-#ifndef _SCC_H
-#define _SCC_H
-
-
-/* selection of hardware types */
-
-#define PA0HZP 0x00 /* hardware type for PA0HZP SCC card and compatible */
-#define EAGLE 0x01 /* hardware type for EAGLE card */
-#define PC100 0x02 /* hardware type for PC100 card */
-#define PRIMUS 0x04 /* hardware type for PRIMUS-PC (DG9BL) card */
-#define DRSI 0x08 /* hardware type for DRSI PC*Packet card */
-#define BAYCOM 0x10 /* hardware type for BayCom (U)SCC */
-
-/* DEV ioctl() commands */
-
-enum SCC_ioctl_cmds {
- SIOCSCCRESERVED = SIOCDEVPRIVATE,
- SIOCSCCCFG,
- SIOCSCCINI,
- SIOCSCCCHANINI,
- SIOCSCCSMEM,
- SIOCSCCGKISS,
- SIOCSCCSKISS,
- SIOCSCCGSTAT,
- SIOCSCCCAL
-};
-
-/* Device parameter control (from WAMPES) */
-
-enum L1_params {
- PARAM_DATA,
- PARAM_TXDELAY,
- PARAM_PERSIST,
- PARAM_SLOTTIME,
- PARAM_TXTAIL,
- PARAM_FULLDUP,
- PARAM_SOFTDCD, /* was: PARAM_HW */
- PARAM_MUTE, /* ??? */
- PARAM_DTR,
- PARAM_RTS,
- PARAM_SPEED,
- PARAM_ENDDELAY, /* ??? */
- PARAM_GROUP,
- PARAM_IDLE,
- PARAM_MIN,
- PARAM_MAXKEY,
- PARAM_WAIT,
- PARAM_MAXDEFER,
- PARAM_TX,
- PARAM_HWEVENT = 31,
- PARAM_RETURN = 255 /* reset kiss mode */
-};
-
-/* fulldup parameter */
-
-enum FULLDUP_modes {
- KISS_DUPLEX_HALF, /* normal CSMA operation */
- KISS_DUPLEX_FULL, /* fullduplex, key down trx after transmission */
- KISS_DUPLEX_LINK, /* fullduplex, key down trx after 'idletime' sec */
- KISS_DUPLEX_OPTIMA /* fullduplex, let the protocol layer control the hw */
-};
-
-/* misc. parameters */
-
-#define TIMER_OFF 65535U /* to switch off timers */
-#define NO_SUCH_PARAM 65534U /* param not implemented */
-
-/* HWEVENT parameter */
-
-enum HWEVENT_opts {
- HWEV_DCD_ON,
- HWEV_DCD_OFF,
- HWEV_ALL_SENT
-};
-
-/* channel grouping */
-
-#define RXGROUP 0100 /* if set, only tx when all channels clear */
-#define TXGROUP 0200 /* if set, don't transmit simultaneously */
-
-/* Tx/Rx clock sources */
-
-enum CLOCK_sources {
- CLK_DPLL, /* normal halfduplex operation */
- CLK_EXTERNAL, /* external clocking (G3RUH/DF9IC modems) */
- CLK_DIVIDER, /* Rx = DPLL, Tx = divider (fullduplex with */
- /* modems without clock regeneration */
- CLK_BRG /* experimental fullduplex mode with DPLL/BRG for */
- /* MODEMs without clock recovery */
-};
-
-/* Tx state */
-
-enum TX_state {
- TXS_IDLE, /* Transmitter off, no data pending */
- TXS_BUSY, /* waiting for permission to send / tailtime */
- TXS_ACTIVE, /* Transmitter on, sending data */
- TXS_NEWFRAME, /* reset CRC and send (next) frame */
- TXS_IDLE2, /* Transmitter on, no data pending */
- TXS_WAIT, /* Waiting for Mintime to expire */
- TXS_TIMEOUT /* We had a transmission timeout */
-};
-
-typedef unsigned long io_port; /* type definition for an 'io port address' */
-
-/* SCC statistical information */
-
-struct scc_stat {
- long rxints; /* Receiver interrupts */
- long txints; /* Transmitter interrupts */
- long exints; /* External/status interrupts */
- long spints; /* Special receiver interrupts */
-
- long txframes; /* Packets sent */
- long rxframes; /* Number of Frames Actually Received */
- long rxerrs; /* CRC Errors */
- long txerrs; /* KISS errors */
-
- unsigned int nospace; /* "Out of buffers" */
- unsigned int rx_over; /* Receiver Overruns */
- unsigned int tx_under; /* Transmitter Underruns */
-
- unsigned int tx_state; /* Transmitter state */
- int tx_queued; /* tx frames enqueued */
-
- unsigned int maxqueue; /* allocated tx_buffers */
- unsigned int bufsize; /* used buffersize */
-};
-
-struct scc_modem {
- long speed; /* Line speed, bps */
- char clocksrc; /* 0 = DPLL, 1 = external, 2 = divider */
- char nrz; /* NRZ instead of NRZI */
-};
-
-struct scc_kiss_cmd {
- int command; /* one of the KISS-Commands defined above */
- unsigned param; /* KISS-Param */
-};
-
-struct scc_hw_config {
- io_port data_a; /* data port channel A */
- io_port ctrl_a; /* control port channel A */
- io_port data_b; /* data port channel B */
- io_port ctrl_b; /* control port channel B */
- io_port vector_latch; /* INTACK-Latch (#) */
- io_port special; /* special function port */
-
- int irq; /* irq */
- long clock; /* clock */
- char option; /* command for function port */
-
- char brand; /* hardware type */
- char escc; /* use ext. features of a 8580/85180/85280 */
-};
-
-/* (#) only one INTACK latch allowed. */
-
-
-struct scc_mem_config {
- unsigned int dummy;
- unsigned int bufsize;
-};
-
-struct scc_calibrate {
- unsigned int time;
- unsigned char pattern;
-};
-
-#endif /* _SCC_H */
diff --git a/linux-headers/include/linux/sched.h b/linux-headers/include/linux/sched.h
deleted file mode 100644
index 2d1e6e0..0000000
--- a/linux-headers/include/linux/sched.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef _LINUX_SCHED_H
-#define _LINUX_SCHED_H
-
-/*
- * cloning flags:
- */
-#define CSIGNAL 0x000000ff /* signal mask to be sent at exit */
-#define CLONE_VM 0x00000100 /* set if VM shared between processes */
-#define CLONE_FS 0x00000200 /* set if fs info shared between processes */
-#define CLONE_FILES 0x00000400 /* set if open files shared between processes */
-#define CLONE_SIGHAND 0x00000800 /* set if signal handlers and blocked signals shared */
-#define CLONE_PTRACE 0x00002000 /* set if we want to let tracing continue on the child too */
-#define CLONE_VFORK 0x00004000 /* set if the parent wants the child to wake it up on mm_release */
-#define CLONE_PARENT 0x00008000 /* set if we want to have the same parent as the cloner */
-#define CLONE_THREAD 0x00010000 /* Same thread group? */
-#define CLONE_NEWNS 0x00020000 /* New mount namespace group */
-#define CLONE_SYSVSEM 0x00040000 /* share system V SEM_UNDO semantics */
-#define CLONE_SETTLS 0x00080000 /* create a new TLS for the child */
-#define CLONE_PARENT_SETTID 0x00100000 /* set the TID in the parent */
-#define CLONE_CHILD_CLEARTID 0x00200000 /* clear the TID in the child */
-#define CLONE_DETACHED 0x00400000 /* Unused, ignored */
-#define CLONE_UNTRACED 0x00800000 /* set if the tracing process can't force CLONE_PTRACE on this clone */
-#define CLONE_CHILD_SETTID 0x01000000 /* set the TID in the child */
-#define CLONE_NEWCGROUP 0x02000000 /* New cgroup namespace */
-#define CLONE_NEWUTS 0x04000000 /* New utsname namespace */
-#define CLONE_NEWIPC 0x08000000 /* New ipc namespace */
-#define CLONE_NEWUSER 0x10000000 /* New user namespace */
-#define CLONE_NEWPID 0x20000000 /* New pid namespace */
-#define CLONE_NEWNET 0x40000000 /* New network namespace */
-#define CLONE_IO 0x80000000 /* Clone io context */
-
-/*
- * Scheduling policies
- */
-#define SCHED_NORMAL 0
-#define SCHED_FIFO 1
-#define SCHED_RR 2
-#define SCHED_BATCH 3
-/* SCHED_ISO: reserved but not implemented yet */
-#define SCHED_IDLE 5
-#define SCHED_DEADLINE 6
-
-/* Can be ORed in to make sure the process is reverted back to SCHED_NORMAL on fork */
-#define SCHED_RESET_ON_FORK 0x40000000
-
-/*
- * For the sched_{set,get}attr() calls
- */
-#define SCHED_FLAG_RESET_ON_FORK 0x01
-
-#endif /* _LINUX_SCHED_H */
diff --git a/linux-headers/include/linux/scif_ioctl.h b/linux-headers/include/linux/scif_ioctl.h
deleted file mode 100644
index d904891..0000000
--- a/linux-headers/include/linux/scif_ioctl.h
+++ /dev/null
@@ -1,215 +0,0 @@
-/*
- * Intel MIC Platform Software Stack (MPSS)
- *
- * This file is provided under a dual BSD/GPLv2 license. When using or
- * redistributing this file, you may do so under either license.
- *
- * GPL LICENSE SUMMARY
- *
- * Copyright(c) 2014 Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * BSD LICENSE
- *
- * Copyright(c) 2014 Intel Corporation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Intel Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Intel SCIF driver.
- *
- */
-/*
- * -----------------------------------------
- * SCIF IOCTL interface information
- * -----------------------------------------
- */
-#ifndef SCIF_IOCTL_H
-#define SCIF_IOCTL_H
-
-#include <linux/types.h>
-
-/**
- * struct scif_port_id - SCIF port information
- * @node: node on which port resides
- * @port: local port number
- */
-struct scif_port_id {
- __u16 node;
- __u16 port;
-};
-
-/**
- * struct scifioctl_connect - used for SCIF_CONNECT IOCTL
- * @self: used to read back the assigned port_id
- * @peer: destination node and port to connect to
- */
-struct scifioctl_connect {
- struct scif_port_id self;
- struct scif_port_id peer;
-};
-
-/**
- * struct scifioctl_accept - used for SCIF_ACCEPTREQ IOCTL
- * @flags: flags
- * @peer: global id of peer endpoint
- * @endpt: new connected endpoint descriptor
- */
-struct scifioctl_accept {
- __s32 flags;
- struct scif_port_id peer;
- __u64 endpt;
-};
-
-/**
- * struct scifioctl_msg - used for SCIF_SEND/SCIF_RECV IOCTL
- * @msg: message buffer address
- * @len: message length
- * @flags: flags
- * @out_len: number of bytes sent/received
- */
-struct scifioctl_msg {
- __u64 msg;
- __s32 len;
- __s32 flags;
- __s32 out_len;
-};
-
-/**
- * struct scifioctl_reg - used for SCIF_REG IOCTL
- * @addr: starting virtual address
- * @len: length of range
- * @offset: offset of window
- * @prot: read/write protection
- * @flags: flags
- * @out_offset: offset returned
- */
-struct scifioctl_reg {
- __u64 addr;
- __u64 len;
- __s64 offset;
- __s32 prot;
- __s32 flags;
- __s64 out_offset;
-};
-
-/**
- * struct scifioctl_unreg - used for SCIF_UNREG IOCTL
- * @offset: start of range to unregister
- * @len: length of range to unregister
- */
-struct scifioctl_unreg {
- __s64 offset;
- __u64 len;
-};
-
-/**
- * struct scifioctl_copy - used for SCIF DMA copy IOCTLs
- *
- * @loffset: offset in local registered address space to/from
- * which to copy
- * @len: length of range to copy
- * @roffset: offset in remote registered address space to/from
- * which to copy
- * @addr: user virtual address to/from which to copy
- * @flags: flags
- *
- * This structure is used for SCIF_READFROM, SCIF_WRITETO, SCIF_VREADFROM
- * and SCIF_VREADFROM IOCTL's.
- */
-struct scifioctl_copy {
- __s64 loffset;
- __u64 len;
- __s64 roffset;
- __u64 addr;
- __s32 flags;
-};
-
-/**
- * struct scifioctl_fence_mark - used for SCIF_FENCE_MARK IOCTL
- * @flags: flags
- * @mark: fence handle which is a pointer to a __s32
- */
-struct scifioctl_fence_mark {
- __s32 flags;
- __u64 mark;
-};
-
-/**
- * struct scifioctl_fence_signal - used for SCIF_FENCE_SIGNAL IOCTL
- * @loff: local offset
- * @lval: value to write to loffset
- * @roff: remote offset
- * @rval: value to write to roffset
- * @flags: flags
- */
-struct scifioctl_fence_signal {
- __s64 loff;
- __u64 lval;
- __s64 roff;
- __u64 rval;
- __s32 flags;
-};
-
-/**
- * struct scifioctl_node_ids - used for SCIF_GET_NODEIDS IOCTL
- * @nodes: pointer to an array of node_ids
- * @self: ID of the current node
- * @len: length of array
- */
-struct scifioctl_node_ids {
- __u64 nodes;
- __u64 self;
- __s32 len;
-};
-
-#define SCIF_BIND _IOWR('s', 1, __u64)
-#define SCIF_LISTEN _IOW('s', 2, __s32)
-#define SCIF_CONNECT _IOWR('s', 3, struct scifioctl_connect)
-#define SCIF_ACCEPTREQ _IOWR('s', 4, struct scifioctl_accept)
-#define SCIF_ACCEPTREG _IOWR('s', 5, __u64)
-#define SCIF_SEND _IOWR('s', 6, struct scifioctl_msg)
-#define SCIF_RECV _IOWR('s', 7, struct scifioctl_msg)
-#define SCIF_REG _IOWR('s', 8, struct scifioctl_reg)
-#define SCIF_UNREG _IOWR('s', 9, struct scifioctl_unreg)
-#define SCIF_READFROM _IOWR('s', 10, struct scifioctl_copy)
-#define SCIF_WRITETO _IOWR('s', 11, struct scifioctl_copy)
-#define SCIF_VREADFROM _IOWR('s', 12, struct scifioctl_copy)
-#define SCIF_VWRITETO _IOWR('s', 13, struct scifioctl_copy)
-#define SCIF_GET_NODEIDS _IOWR('s', 14, struct scifioctl_node_ids)
-#define SCIF_FENCE_MARK _IOWR('s', 15, struct scifioctl_fence_mark)
-#define SCIF_FENCE_WAIT _IOWR('s', 16, __s32)
-#define SCIF_FENCE_SIGNAL _IOWR('s', 17, struct scifioctl_fence_signal)
-
-#endif /* SCIF_IOCTL_H */
diff --git a/linux-headers/include/linux/screen_info.h b/linux-headers/include/linux/screen_info.h
deleted file mode 100644
index 5dc1a0a..0000000
--- a/linux-headers/include/linux/screen_info.h
+++ /dev/null
@@ -1,75 +0,0 @@
-#ifndef _SCREEN_INFO_H
-#define _SCREEN_INFO_H
-
-#include <linux/types.h>
-
-/*
- * These are set up by the setup-routine at boot-time:
- */
-
-struct screen_info {
- __u8 orig_x; /* 0x00 */
- __u8 orig_y; /* 0x01 */
- __u16 ext_mem_k; /* 0x02 */
- __u16 orig_video_page; /* 0x04 */
- __u8 orig_video_mode; /* 0x06 */
- __u8 orig_video_cols; /* 0x07 */
- __u8 flags; /* 0x08 */
- __u8 unused2; /* 0x09 */
- __u16 orig_video_ega_bx;/* 0x0a */
- __u16 unused3; /* 0x0c */
- __u8 orig_video_lines; /* 0x0e */
- __u8 orig_video_isVGA; /* 0x0f */
- __u16 orig_video_points;/* 0x10 */
-
- /* VESA graphic mode -- linear frame buffer */
- __u16 lfb_width; /* 0x12 */
- __u16 lfb_height; /* 0x14 */
- __u16 lfb_depth; /* 0x16 */
- __u32 lfb_base; /* 0x18 */
- __u32 lfb_size; /* 0x1c */
- __u16 cl_magic, cl_offset; /* 0x20 */
- __u16 lfb_linelength; /* 0x24 */
- __u8 red_size; /* 0x26 */
- __u8 red_pos; /* 0x27 */
- __u8 green_size; /* 0x28 */
- __u8 green_pos; /* 0x29 */
- __u8 blue_size; /* 0x2a */
- __u8 blue_pos; /* 0x2b */
- __u8 rsvd_size; /* 0x2c */
- __u8 rsvd_pos; /* 0x2d */
- __u16 vesapm_seg; /* 0x2e */
- __u16 vesapm_off; /* 0x30 */
- __u16 pages; /* 0x32 */
- __u16 vesa_attributes; /* 0x34 */
- __u32 capabilities; /* 0x36 */
- __u32 ext_lfb_base; /* 0x3a */
- __u8 _reserved[2]; /* 0x3e */
-} __attribute__((packed));
-
-#define VIDEO_TYPE_MDA 0x10 /* Monochrome Text Display */
-#define VIDEO_TYPE_CGA 0x11 /* CGA Display */
-#define VIDEO_TYPE_EGAM 0x20 /* EGA/VGA in Monochrome Mode */
-#define VIDEO_TYPE_EGAC 0x21 /* EGA in Color Mode */
-#define VIDEO_TYPE_VGAC 0x22 /* VGA+ in Color Mode */
-#define VIDEO_TYPE_VLFB 0x23 /* VESA VGA in graphic mode */
-
-#define VIDEO_TYPE_PICA_S3 0x30 /* ACER PICA-61 local S3 video */
-#define VIDEO_TYPE_MIPS_G364 0x31 /* MIPS Magnum 4000 G364 video */
-#define VIDEO_TYPE_SGI 0x33 /* Various SGI graphics hardware */
-
-#define VIDEO_TYPE_TGAC 0x40 /* DEC TGA */
-
-#define VIDEO_TYPE_SUN 0x50 /* Sun frame buffer. */
-#define VIDEO_TYPE_SUNPCI 0x51 /* Sun PCI based frame buffer. */
-
-#define VIDEO_TYPE_PMAC 0x60 /* PowerMacintosh frame buffer. */
-
-#define VIDEO_TYPE_EFI 0x70 /* EFI graphic mode */
-
-#define VIDEO_FLAGS_NOCURSOR (1 << 0) /* The video mode has no cursor set */
-
-#define VIDEO_CAPABILITY_SKIP_QUIRKS (1 << 0)
-#define VIDEO_CAPABILITY_64BIT_BASE (1 << 1) /* Frame buffer base is 64-bit */
-
-#endif /* _SCREEN_INFO_H */
diff --git a/linux-headers/include/linux/sctp.h b/linux-headers/include/linux/sctp.h
deleted file mode 100644
index b9bcc0e..0000000
--- a/linux-headers/include/linux/sctp.h
+++ /dev/null
@@ -1,899 +0,0 @@
-/* SCTP kernel implementation
- * (C) Copyright IBM Corp. 2001, 2004
- * Copyright (c) 1999-2000 Cisco, Inc.
- * Copyright (c) 1999-2001 Motorola, Inc.
- * Copyright (c) 2002 Intel Corp.
- *
- * This file is part of the SCTP kernel implementation
- *
- * This header represents the structures and constants needed to support
- * the SCTP Extension to the Sockets API.
- *
- * This SCTP implementation is free software;
- * you can redistribute it and/or modify it under the terms of
- * the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This SCTP implementation is distributed in the hope that it
- * will be useful, but WITHOUT ANY WARRANTY; without even the implied
- * ************************
- * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- * See the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with GNU CC; see the file COPYING. If not, see
- * <http://www.gnu.org/licenses/>.
- *
- * Please send any bug reports or fixes you make to the
- * email address(es):
- * lksctp developers <linux-sctp@vger.kernel.org>
- *
- * Or submit a bug report through the following website:
- * http://www.sf.net/projects/lksctp
- *
- * Written or modified by:
- * La Monte H.P. Yarroll <piggy@acm.org>
- * R. Stewart <randall@sctp.chicago.il.us>
- * K. Morneau <kmorneau@cisco.com>
- * Q. Xie <qxie1@email.mot.com>
- * Karl Knutson <karl@athena.chicago.il.us>
- * Jon Grimm <jgrimm@us.ibm.com>
- * Daisy Chang <daisyc@us.ibm.com>
- * Ryan Layer <rmlayer@us.ibm.com>
- * Ardelle Fan <ardelle.fan@intel.com>
- * Sridhar Samudrala <sri@us.ibm.com>
- * Inaky Perez-Gonzalez <inaky.gonzalez@intel.com>
- * Vlad Yasevich <vladislav.yasevich@hp.com>
- *
- * Any bugs reported given to us we will try to fix... any fixes shared will
- * be incorporated into the next SCTP release.
- */
-
-#ifndef _SCTP_H
-#define _SCTP_H
-
-#include <linux/types.h>
-#include <linux/socket.h>
-
-typedef __s32 sctp_assoc_t;
-
-/* The following symbols come from the Sockets API Extensions for
- * SCTP <draft-ietf-tsvwg-sctpsocket-07.txt>.
- */
-#define SCTP_RTOINFO 0
-#define SCTP_ASSOCINFO 1
-#define SCTP_INITMSG 2
-#define SCTP_NODELAY 3 /* Get/set nodelay option. */
-#define SCTP_AUTOCLOSE 4
-#define SCTP_SET_PEER_PRIMARY_ADDR 5
-#define SCTP_PRIMARY_ADDR 6
-#define SCTP_ADAPTATION_LAYER 7
-#define SCTP_DISABLE_FRAGMENTS 8
-#define SCTP_PEER_ADDR_PARAMS 9
-#define SCTP_DEFAULT_SEND_PARAM 10
-#define SCTP_EVENTS 11
-#define SCTP_I_WANT_MAPPED_V4_ADDR 12 /* Turn on/off mapped v4 addresses */
-#define SCTP_MAXSEG 13 /* Get/set maximum fragment. */
-#define SCTP_STATUS 14
-#define SCTP_GET_PEER_ADDR_INFO 15
-#define SCTP_DELAYED_ACK_TIME 16
-#define SCTP_DELAYED_ACK SCTP_DELAYED_ACK_TIME
-#define SCTP_DELAYED_SACK SCTP_DELAYED_ACK_TIME
-#define SCTP_CONTEXT 17
-#define SCTP_FRAGMENT_INTERLEAVE 18
-#define SCTP_PARTIAL_DELIVERY_POINT 19 /* Set/Get partial delivery point */
-#define SCTP_MAX_BURST 20 /* Set/Get max burst */
-#define SCTP_AUTH_CHUNK 21 /* Set only: add a chunk type to authenticate */
-#define SCTP_HMAC_IDENT 22
-#define SCTP_AUTH_KEY 23
-#define SCTP_AUTH_ACTIVE_KEY 24
-#define SCTP_AUTH_DELETE_KEY 25
-#define SCTP_PEER_AUTH_CHUNKS 26 /* Read only */
-#define SCTP_LOCAL_AUTH_CHUNKS 27 /* Read only */
-#define SCTP_GET_ASSOC_NUMBER 28 /* Read only */
-#define SCTP_GET_ASSOC_ID_LIST 29 /* Read only */
-#define SCTP_AUTO_ASCONF 30
-#define SCTP_PEER_ADDR_THLDS 31
-#define SCTP_RECVRCVINFO 32
-#define SCTP_RECVNXTINFO 33
-#define SCTP_DEFAULT_SNDINFO 34
-
-/* Internal Socket Options. Some of the sctp library functions are
- * implemented using these socket options.
- */
-#define SCTP_SOCKOPT_BINDX_ADD 100 /* BINDX requests for adding addrs */
-#define SCTP_SOCKOPT_BINDX_REM 101 /* BINDX requests for removing addrs. */
-#define SCTP_SOCKOPT_PEELOFF 102 /* peel off association. */
-/* Options 104-106 are deprecated and removed. Do not use this space */
-#define SCTP_SOCKOPT_CONNECTX_OLD 107 /* CONNECTX old requests. */
-#define SCTP_GET_PEER_ADDRS 108 /* Get all peer address. */
-#define SCTP_GET_LOCAL_ADDRS 109 /* Get all local address. */
-#define SCTP_SOCKOPT_CONNECTX 110 /* CONNECTX requests. */
-#define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */
-#define SCTP_GET_ASSOC_STATS 112 /* Read only */
-
-/* These are bit fields for msghdr->msg_flags. See section 5.1. */
-/* On user space Linux, these live in <bits/socket.h> as an enum. */
-enum sctp_msg_flags {
- MSG_NOTIFICATION = 0x8000,
-#define MSG_NOTIFICATION MSG_NOTIFICATION
-};
-
-/* 5.3.1 SCTP Initiation Structure (SCTP_INIT)
- *
- * This cmsghdr structure provides information for initializing new
- * SCTP associations with sendmsg(). The SCTP_INITMSG socket option
- * uses this same data structure. This structure is not used for
- * recvmsg().
- *
- * cmsg_level cmsg_type cmsg_data[]
- * ------------ ------------ ----------------------
- * IPPROTO_SCTP SCTP_INIT struct sctp_initmsg
- */
-struct sctp_initmsg {
- __u16 sinit_num_ostreams;
- __u16 sinit_max_instreams;
- __u16 sinit_max_attempts;
- __u16 sinit_max_init_timeo;
-};
-
-/* 5.3.2 SCTP Header Information Structure (SCTP_SNDRCV)
- *
- * This cmsghdr structure specifies SCTP options for sendmsg() and
- * describes SCTP header information about a received message through
- * recvmsg().
- *
- * cmsg_level cmsg_type cmsg_data[]
- * ------------ ------------ ----------------------
- * IPPROTO_SCTP SCTP_SNDRCV struct sctp_sndrcvinfo
- */
-struct sctp_sndrcvinfo {
- __u16 sinfo_stream;
- __u16 sinfo_ssn;
- __u16 sinfo_flags;
- __u32 sinfo_ppid;
- __u32 sinfo_context;
- __u32 sinfo_timetolive;
- __u32 sinfo_tsn;
- __u32 sinfo_cumtsn;
- sctp_assoc_t sinfo_assoc_id;
-};
-
-/* 5.3.4 SCTP Send Information Structure (SCTP_SNDINFO)
- *
- * This cmsghdr structure specifies SCTP options for sendmsg().
- *
- * cmsg_level cmsg_type cmsg_data[]
- * ------------ ------------ -------------------
- * IPPROTO_SCTP SCTP_SNDINFO struct sctp_sndinfo
- */
-struct sctp_sndinfo {
- __u16 snd_sid;
- __u16 snd_flags;
- __u32 snd_ppid;
- __u32 snd_context;
- sctp_assoc_t snd_assoc_id;
-};
-
-/* 5.3.5 SCTP Receive Information Structure (SCTP_RCVINFO)
- *
- * This cmsghdr structure describes SCTP receive information
- * about a received message through recvmsg().
- *
- * cmsg_level cmsg_type cmsg_data[]
- * ------------ ------------ -------------------
- * IPPROTO_SCTP SCTP_RCVINFO struct sctp_rcvinfo
- */
-struct sctp_rcvinfo {
- __u16 rcv_sid;
- __u16 rcv_ssn;
- __u16 rcv_flags;
- __u32 rcv_ppid;
- __u32 rcv_tsn;
- __u32 rcv_cumtsn;
- __u32 rcv_context;
- sctp_assoc_t rcv_assoc_id;
-};
-
-/* 5.3.6 SCTP Next Receive Information Structure (SCTP_NXTINFO)
- *
- * This cmsghdr structure describes SCTP receive information
- * of the next message that will be delivered through recvmsg()
- * if this information is already available when delivering
- * the current message.
- *
- * cmsg_level cmsg_type cmsg_data[]
- * ------------ ------------ -------------------
- * IPPROTO_SCTP SCTP_NXTINFO struct sctp_nxtinfo
- */
-struct sctp_nxtinfo {
- __u16 nxt_sid;
- __u16 nxt_flags;
- __u32 nxt_ppid;
- __u32 nxt_length;
- sctp_assoc_t nxt_assoc_id;
-};
-
-/*
- * sinfo_flags: 16 bits (unsigned integer)
- *
- * This field may contain any of the following flags and is composed of
- * a bitwise OR of these values.
- */
-enum sctp_sinfo_flags {
- SCTP_UNORDERED = (1 << 0), /* Send/receive message unordered. */
- SCTP_ADDR_OVER = (1 << 1), /* Override the primary destination. */
- SCTP_ABORT = (1 << 2), /* Send an ABORT message to the peer. */
- SCTP_SACK_IMMEDIATELY = (1 << 3), /* SACK should be sent without delay. */
- SCTP_NOTIFICATION = MSG_NOTIFICATION, /* Next message is not user msg but notification. */
- SCTP_EOF = MSG_FIN, /* Initiate graceful shutdown process. */
-};
-
-typedef union {
- __u8 raw;
- struct sctp_initmsg init;
- struct sctp_sndrcvinfo sndrcv;
-} sctp_cmsg_data_t;
-
-/* These are cmsg_types. */
-typedef enum sctp_cmsg_type {
- SCTP_INIT, /* 5.2.1 SCTP Initiation Structure */
-#define SCTP_INIT SCTP_INIT
- SCTP_SNDRCV, /* 5.2.2 SCTP Header Information Structure */
-#define SCTP_SNDRCV SCTP_SNDRCV
- SCTP_SNDINFO, /* 5.3.4 SCTP Send Information Structure */
-#define SCTP_SNDINFO SCTP_SNDINFO
- SCTP_RCVINFO, /* 5.3.5 SCTP Receive Information Structure */
-#define SCTP_RCVINFO SCTP_RCVINFO
- SCTP_NXTINFO, /* 5.3.6 SCTP Next Receive Information Structure */
-#define SCTP_NXTINFO SCTP_NXTINFO
-} sctp_cmsg_t;
-
-/*
- * 5.3.1.1 SCTP_ASSOC_CHANGE
- *
- * Communication notifications inform the ULP that an SCTP association
- * has either begun or ended. The identifier for a new association is
- * provided by this notificaion. The notification information has the
- * following format:
- *
- */
-struct sctp_assoc_change {
- __u16 sac_type;
- __u16 sac_flags;
- __u32 sac_length;
- __u16 sac_state;
- __u16 sac_error;
- __u16 sac_outbound_streams;
- __u16 sac_inbound_streams;
- sctp_assoc_t sac_assoc_id;
- __u8 sac_info[0];
-};
-
-/*
- * sac_state: 32 bits (signed integer)
- *
- * This field holds one of a number of values that communicate the
- * event that happened to the association. They include:
- *
- * Note: The following state names deviate from the API draft as
- * the names clash too easily with other kernel symbols.
- */
-enum sctp_sac_state {
- SCTP_COMM_UP,
- SCTP_COMM_LOST,
- SCTP_RESTART,
- SCTP_SHUTDOWN_COMP,
- SCTP_CANT_STR_ASSOC,
-};
-
-/*
- * 5.3.1.2 SCTP_PEER_ADDR_CHANGE
- *
- * When a destination address on a multi-homed peer encounters a change
- * an interface details event is sent. The information has the
- * following structure:
- */
-struct sctp_paddr_change {
- __u16 spc_type;
- __u16 spc_flags;
- __u32 spc_length;
- struct sockaddr_storage spc_aaddr;
- int spc_state;
- int spc_error;
- sctp_assoc_t spc_assoc_id;
-} __attribute__((packed, aligned(4)));
-
-/*
- * spc_state: 32 bits (signed integer)
- *
- * This field holds one of a number of values that communicate the
- * event that happened to the address. They include:
- */
-enum sctp_spc_state {
- SCTP_ADDR_AVAILABLE,
- SCTP_ADDR_UNREACHABLE,
- SCTP_ADDR_REMOVED,
- SCTP_ADDR_ADDED,
- SCTP_ADDR_MADE_PRIM,
- SCTP_ADDR_CONFIRMED,
-};
-
-
-/*
- * 5.3.1.3 SCTP_REMOTE_ERROR
- *
- * A remote peer may send an Operational Error message to its peer.
- * This message indicates a variety of error conditions on an
- * association. The entire error TLV as it appears on the wire is
- * included in a SCTP_REMOTE_ERROR event. Please refer to the SCTP
- * specification [SCTP] and any extensions for a list of possible
- * error formats. SCTP error TLVs have the format:
- */
-struct sctp_remote_error {
- __u16 sre_type;
- __u16 sre_flags;
- __u32 sre_length;
- __u16 sre_error;
- sctp_assoc_t sre_assoc_id;
- __u8 sre_data[0];
-};
-
-
-/*
- * 5.3.1.4 SCTP_SEND_FAILED
- *
- * If SCTP cannot deliver a message it may return the message as a
- * notification.
- */
-struct sctp_send_failed {
- __u16 ssf_type;
- __u16 ssf_flags;
- __u32 ssf_length;
- __u32 ssf_error;
- struct sctp_sndrcvinfo ssf_info;
- sctp_assoc_t ssf_assoc_id;
- __u8 ssf_data[0];
-};
-
-/*
- * ssf_flags: 16 bits (unsigned integer)
- *
- * The flag value will take one of the following values
- *
- * SCTP_DATA_UNSENT - Indicates that the data was never put on
- * the wire.
- *
- * SCTP_DATA_SENT - Indicates that the data was put on the wire.
- * Note that this does not necessarily mean that the
- * data was (or was not) successfully delivered.
- */
-enum sctp_ssf_flags {
- SCTP_DATA_UNSENT,
- SCTP_DATA_SENT,
-};
-
-/*
- * 5.3.1.5 SCTP_SHUTDOWN_EVENT
- *
- * When a peer sends a SHUTDOWN, SCTP delivers this notification to
- * inform the application that it should cease sending data.
- */
-struct sctp_shutdown_event {
- __u16 sse_type;
- __u16 sse_flags;
- __u32 sse_length;
- sctp_assoc_t sse_assoc_id;
-};
-
-/*
- * 5.3.1.6 SCTP_ADAPTATION_INDICATION
- *
- * When a peer sends a Adaptation Layer Indication parameter , SCTP
- * delivers this notification to inform the application
- * that of the peers requested adaptation layer.
- */
-struct sctp_adaptation_event {
- __u16 sai_type;
- __u16 sai_flags;
- __u32 sai_length;
- __u32 sai_adaptation_ind;
- sctp_assoc_t sai_assoc_id;
-};
-
-/*
- * 5.3.1.7 SCTP_PARTIAL_DELIVERY_EVENT
- *
- * When a receiver is engaged in a partial delivery of a
- * message this notification will be used to indicate
- * various events.
- */
-struct sctp_pdapi_event {
- __u16 pdapi_type;
- __u16 pdapi_flags;
- __u32 pdapi_length;
- __u32 pdapi_indication;
- sctp_assoc_t pdapi_assoc_id;
-};
-
-enum { SCTP_PARTIAL_DELIVERY_ABORTED=0, };
-
-/*
- * 5.3.1.8. SCTP_AUTHENTICATION_EVENT
- *
- * When a receiver is using authentication this message will provide
- * notifications regarding new keys being made active as well as errors.
- */
-struct sctp_authkey_event {
- __u16 auth_type;
- __u16 auth_flags;
- __u32 auth_length;
- __u16 auth_keynumber;
- __u16 auth_altkeynumber;
- __u32 auth_indication;
- sctp_assoc_t auth_assoc_id;
-};
-
-enum { SCTP_AUTH_NEWKEY = 0, };
-
-/*
- * 6.1.9. SCTP_SENDER_DRY_EVENT
- *
- * When the SCTP stack has no more user data to send or retransmit, this
- * notification is given to the user. Also, at the time when a user app
- * subscribes to this event, if there is no data to be sent or
- * retransmit, the stack will immediately send up this notification.
- */
-struct sctp_sender_dry_event {
- __u16 sender_dry_type;
- __u16 sender_dry_flags;
- __u32 sender_dry_length;
- sctp_assoc_t sender_dry_assoc_id;
-};
-
-/*
- * Described in Section 7.3
- * Ancillary Data and Notification Interest Options
- */
-struct sctp_event_subscribe {
- __u8 sctp_data_io_event;
- __u8 sctp_association_event;
- __u8 sctp_address_event;
- __u8 sctp_send_failure_event;
- __u8 sctp_peer_error_event;
- __u8 sctp_shutdown_event;
- __u8 sctp_partial_delivery_event;
- __u8 sctp_adaptation_layer_event;
- __u8 sctp_authentication_event;
- __u8 sctp_sender_dry_event;
-};
-
-/*
- * 5.3.1 SCTP Notification Structure
- *
- * The notification structure is defined as the union of all
- * notification types.
- *
- */
-union sctp_notification {
- struct {
- __u16 sn_type; /* Notification type. */
- __u16 sn_flags;
- __u32 sn_length;
- } sn_header;
- struct sctp_assoc_change sn_assoc_change;
- struct sctp_paddr_change sn_paddr_change;
- struct sctp_remote_error sn_remote_error;
- struct sctp_send_failed sn_send_failed;
- struct sctp_shutdown_event sn_shutdown_event;
- struct sctp_adaptation_event sn_adaptation_event;
- struct sctp_pdapi_event sn_pdapi_event;
- struct sctp_authkey_event sn_authkey_event;
- struct sctp_sender_dry_event sn_sender_dry_event;
-};
-
-/* Section 5.3.1
- * All standard values for sn_type flags are greater than 2^15.
- * Values from 2^15 and down are reserved.
- */
-
-enum sctp_sn_type {
- SCTP_SN_TYPE_BASE = (1<<15),
- SCTP_ASSOC_CHANGE,
-#define SCTP_ASSOC_CHANGE SCTP_ASSOC_CHANGE
- SCTP_PEER_ADDR_CHANGE,
-#define SCTP_PEER_ADDR_CHANGE SCTP_PEER_ADDR_CHANGE
- SCTP_SEND_FAILED,
-#define SCTP_SEND_FAILED SCTP_SEND_FAILED
- SCTP_REMOTE_ERROR,
-#define SCTP_REMOTE_ERROR SCTP_REMOTE_ERROR
- SCTP_SHUTDOWN_EVENT,
-#define SCTP_SHUTDOWN_EVENT SCTP_SHUTDOWN_EVENT
- SCTP_PARTIAL_DELIVERY_EVENT,
-#define SCTP_PARTIAL_DELIVERY_EVENT SCTP_PARTIAL_DELIVERY_EVENT
- SCTP_ADAPTATION_INDICATION,
-#define SCTP_ADAPTATION_INDICATION SCTP_ADAPTATION_INDICATION
- SCTP_AUTHENTICATION_EVENT,
-#define SCTP_AUTHENTICATION_INDICATION SCTP_AUTHENTICATION_EVENT
- SCTP_SENDER_DRY_EVENT,
-#define SCTP_SENDER_DRY_EVENT SCTP_SENDER_DRY_EVENT
-};
-
-/* Notification error codes used to fill up the error fields in some
- * notifications.
- * SCTP_PEER_ADDRESS_CHAGE : spc_error
- * SCTP_ASSOC_CHANGE : sac_error
- * These names should be potentially included in the draft 04 of the SCTP
- * sockets API specification.
- */
-typedef enum sctp_sn_error {
- SCTP_FAILED_THRESHOLD,
- SCTP_RECEIVED_SACK,
- SCTP_HEARTBEAT_SUCCESS,
- SCTP_RESPONSE_TO_USER_REQ,
- SCTP_INTERNAL_ERROR,
- SCTP_SHUTDOWN_GUARD_EXPIRES,
- SCTP_PEER_FAULTY,
-} sctp_sn_error_t;
-
-/*
- * 7.1.1 Retransmission Timeout Parameters (SCTP_RTOINFO)
- *
- * The protocol parameters used to initialize and bound retransmission
- * timeout (RTO) are tunable. See [SCTP] for more information on how
- * these parameters are used in RTO calculation.
- */
-struct sctp_rtoinfo {
- sctp_assoc_t srto_assoc_id;
- __u32 srto_initial;
- __u32 srto_max;
- __u32 srto_min;
-};
-
-/*
- * 7.1.2 Association Parameters (SCTP_ASSOCINFO)
- *
- * This option is used to both examine and set various association and
- * endpoint parameters.
- */
-struct sctp_assocparams {
- sctp_assoc_t sasoc_assoc_id;
- __u16 sasoc_asocmaxrxt;
- __u16 sasoc_number_peer_destinations;
- __u32 sasoc_peer_rwnd;
- __u32 sasoc_local_rwnd;
- __u32 sasoc_cookie_life;
-};
-
-/*
- * 7.1.9 Set Peer Primary Address (SCTP_SET_PEER_PRIMARY_ADDR)
- *
- * Requests that the peer mark the enclosed address as the association
- * primary. The enclosed address must be one of the association's
- * locally bound addresses. The following structure is used to make a
- * set primary request:
- */
-struct sctp_setpeerprim {
- sctp_assoc_t sspp_assoc_id;
- struct sockaddr_storage sspp_addr;
-} __attribute__((packed, aligned(4)));
-
-/*
- * 7.1.10 Set Primary Address (SCTP_PRIMARY_ADDR)
- *
- * Requests that the local SCTP stack use the enclosed peer address as
- * the association primary. The enclosed address must be one of the
- * association peer's addresses. The following structure is used to
- * make a set peer primary request:
- */
-struct sctp_prim {
- sctp_assoc_t ssp_assoc_id;
- struct sockaddr_storage ssp_addr;
-} __attribute__((packed, aligned(4)));
-
-/* For backward compatibility use, define the old name too */
-#define sctp_setprim sctp_prim
-
-/*
- * 7.1.11 Set Adaptation Layer Indicator (SCTP_ADAPTATION_LAYER)
- *
- * Requests that the local endpoint set the specified Adaptation Layer
- * Indication parameter for all future INIT and INIT-ACK exchanges.
- */
-struct sctp_setadaptation {
- __u32 ssb_adaptation_ind;
-};
-
-/*
- * 7.1.13 Peer Address Parameters (SCTP_PEER_ADDR_PARAMS)
- *
- * Applications can enable or disable heartbeats for any peer address
- * of an association, modify an address's heartbeat interval, force a
- * heartbeat to be sent immediately, and adjust the address's maximum
- * number of retransmissions sent before an address is considered
- * unreachable. The following structure is used to access and modify an
- * address's parameters:
- */
-enum sctp_spp_flags {
- SPP_HB_ENABLE = 1<<0, /*Enable heartbeats*/
- SPP_HB_DISABLE = 1<<1, /*Disable heartbeats*/
- SPP_HB = SPP_HB_ENABLE | SPP_HB_DISABLE,
- SPP_HB_DEMAND = 1<<2, /*Send heartbeat immediately*/
- SPP_PMTUD_ENABLE = 1<<3, /*Enable PMTU discovery*/
- SPP_PMTUD_DISABLE = 1<<4, /*Disable PMTU discovery*/
- SPP_PMTUD = SPP_PMTUD_ENABLE | SPP_PMTUD_DISABLE,
- SPP_SACKDELAY_ENABLE = 1<<5, /*Enable SACK*/
- SPP_SACKDELAY_DISABLE = 1<<6, /*Disable SACK*/
- SPP_SACKDELAY = SPP_SACKDELAY_ENABLE | SPP_SACKDELAY_DISABLE,
- SPP_HB_TIME_IS_ZERO = 1<<7, /* Set HB delay to 0 */
-};
-
-struct sctp_paddrparams {
- sctp_assoc_t spp_assoc_id;
- struct sockaddr_storage spp_address;
- __u32 spp_hbinterval;
- __u16 spp_pathmaxrxt;
- __u32 spp_pathmtu;
- __u32 spp_sackdelay;
- __u32 spp_flags;
-} __attribute__((packed, aligned(4)));
-
-/*
- * 7.1.18. Add a chunk that must be authenticated (SCTP_AUTH_CHUNK)
- *
- * This set option adds a chunk type that the user is requesting to be
- * received only in an authenticated way. Changes to the list of chunks
- * will only effect future associations on the socket.
- */
-struct sctp_authchunk {
- __u8 sauth_chunk;
-};
-
-/*
- * 7.1.19. Get or set the list of supported HMAC Identifiers (SCTP_HMAC_IDENT)
- *
- * This option gets or sets the list of HMAC algorithms that the local
- * endpoint requires the peer to use.
- */
-/* This here is only used by user space as is. It might not be a good idea
- * to export/reveal the whole structure with reserved fields etc.
- */
-enum {
- SCTP_AUTH_HMAC_ID_SHA1 = 1,
- SCTP_AUTH_HMAC_ID_SHA256 = 3,
-};
-
-struct sctp_hmacalgo {
- __u32 shmac_num_idents;
- __u16 shmac_idents[];
-};
-
-/* Sadly, user and kernel space have different names for
- * this structure member, so this is to not break anything.
- */
-#define shmac_number_of_idents shmac_num_idents
-
-/*
- * 7.1.20. Set a shared key (SCTP_AUTH_KEY)
- *
- * This option will set a shared secret key which is used to build an
- * association shared key.
- */
-struct sctp_authkey {
- sctp_assoc_t sca_assoc_id;
- __u16 sca_keynumber;
- __u16 sca_keylength;
- __u8 sca_key[];
-};
-
-/*
- * 7.1.21. Get or set the active shared key (SCTP_AUTH_ACTIVE_KEY)
- *
- * This option will get or set the active shared key to be used to build
- * the association shared key.
- */
-
-struct sctp_authkeyid {
- sctp_assoc_t scact_assoc_id;
- __u16 scact_keynumber;
-};
-
-
-/*
- * 7.1.23. Get or set delayed ack timer (SCTP_DELAYED_SACK)
- *
- * This option will effect the way delayed acks are performed. This
- * option allows you to get or set the delayed ack time, in
- * milliseconds. It also allows changing the delayed ack frequency.
- * Changing the frequency to 1 disables the delayed sack algorithm. If
- * the assoc_id is 0, then this sets or gets the endpoints default
- * values. If the assoc_id field is non-zero, then the set or get
- * effects the specified association for the one to many model (the
- * assoc_id field is ignored by the one to one model). Note that if
- * sack_delay or sack_freq are 0 when setting this option, then the
- * current values will remain unchanged.
- */
-struct sctp_sack_info {
- sctp_assoc_t sack_assoc_id;
- uint32_t sack_delay;
- uint32_t sack_freq;
-};
-
-struct sctp_assoc_value {
- sctp_assoc_t assoc_id;
- uint32_t assoc_value;
-};
-
-/*
- * 7.2.2 Peer Address Information
- *
- * Applications can retrieve information about a specific peer address
- * of an association, including its reachability state, congestion
- * window, and retransmission timer values. This information is
- * read-only. The following structure is used to access this
- * information:
- */
-struct sctp_paddrinfo {
- sctp_assoc_t spinfo_assoc_id;
- struct sockaddr_storage spinfo_address;
- __s32 spinfo_state;
- __u32 spinfo_cwnd;
- __u32 spinfo_srtt;
- __u32 spinfo_rto;
- __u32 spinfo_mtu;
-} __attribute__((packed, aligned(4)));
-
-/* Peer addresses's state. */
-/* UNKNOWN: Peer address passed by the upper layer in sendmsg or connect[x]
- * calls.
- * UNCONFIRMED: Peer address received in INIT/INIT-ACK address parameters.
- * Not yet confirmed by a heartbeat and not available for data
- * transfers.
- * ACTIVE : Peer address confirmed, active and available for data transfers.
- * INACTIVE: Peer address inactive and not available for data transfers.
- */
-enum sctp_spinfo_state {
- SCTP_INACTIVE,
- SCTP_PF,
- SCTP_ACTIVE,
- SCTP_UNCONFIRMED,
- SCTP_UNKNOWN = 0xffff /* Value used for transport state unknown */
-};
-
-/*
- * 7.2.1 Association Status (SCTP_STATUS)
- *
- * Applications can retrieve current status information about an
- * association, including association state, peer receiver window size,
- * number of unacked data chunks, and number of data chunks pending
- * receipt. This information is read-only. The following structure is
- * used to access this information:
- */
-struct sctp_status {
- sctp_assoc_t sstat_assoc_id;
- __s32 sstat_state;
- __u32 sstat_rwnd;
- __u16 sstat_unackdata;
- __u16 sstat_penddata;
- __u16 sstat_instrms;
- __u16 sstat_outstrms;
- __u32 sstat_fragmentation_point;
- struct sctp_paddrinfo sstat_primary;
-};
-
-/*
- * 7.2.3. Get the list of chunks the peer requires to be authenticated
- * (SCTP_PEER_AUTH_CHUNKS)
- *
- * This option gets a list of chunks for a specified association that
- * the peer requires to be received authenticated only.
- */
-struct sctp_authchunks {
- sctp_assoc_t gauth_assoc_id;
- __u32 gauth_number_of_chunks;
- uint8_t gauth_chunks[];
-};
-
-/* The broken spelling has been released already in lksctp-tools header,
- * so don't break anyone, now that it's fixed.
- */
-#define guth_number_of_chunks gauth_number_of_chunks
-
-/* Association states. */
-enum sctp_sstat_state {
- SCTP_EMPTY = 0,
- SCTP_CLOSED = 1,
- SCTP_COOKIE_WAIT = 2,
- SCTP_COOKIE_ECHOED = 3,
- SCTP_ESTABLISHED = 4,
- SCTP_SHUTDOWN_PENDING = 5,
- SCTP_SHUTDOWN_SENT = 6,
- SCTP_SHUTDOWN_RECEIVED = 7,
- SCTP_SHUTDOWN_ACK_SENT = 8,
-};
-
-/*
- * 8.2.6. Get the Current Identifiers of Associations
- * (SCTP_GET_ASSOC_ID_LIST)
- *
- * This option gets the current list of SCTP association identifiers of
- * the SCTP associations handled by a one-to-many style socket.
- */
-struct sctp_assoc_ids {
- __u32 gaids_number_of_ids;
- sctp_assoc_t gaids_assoc_id[];
-};
-
-/*
- * 8.3, 8.5 get all peer/local addresses in an association.
- * This parameter struct is used by SCTP_GET_PEER_ADDRS and
- * SCTP_GET_LOCAL_ADDRS socket options used internally to implement
- * sctp_getpaddrs() and sctp_getladdrs() API.
- */
-struct sctp_getaddrs_old {
- sctp_assoc_t assoc_id;
- int addr_num;
- struct sockaddr *addrs;
-};
-
-struct sctp_getaddrs {
- sctp_assoc_t assoc_id; /*input*/
- __u32 addr_num; /*output*/
- __u8 addrs[0]; /*output, variable size*/
-};
-
-/* A socket user request obtained via SCTP_GET_ASSOC_STATS that retrieves
- * association stats. All stats are counts except sas_maxrto and
- * sas_obs_rto_ipaddr. maxrto is the max observed rto + transport since
- * the last call. Will return 0 when RTO was not update since last call
- */
-struct sctp_assoc_stats {
- sctp_assoc_t sas_assoc_id; /* Input */
- /* Transport of observed max RTO */
- struct sockaddr_storage sas_obs_rto_ipaddr;
- __u64 sas_maxrto; /* Maximum Observed RTO for period */
- __u64 sas_isacks; /* SACKs received */
- __u64 sas_osacks; /* SACKs sent */
- __u64 sas_opackets; /* Packets sent */
- __u64 sas_ipackets; /* Packets received */
- __u64 sas_rtxchunks; /* Retransmitted Chunks */
- __u64 sas_outofseqtsns;/* TSN received > next expected */
- __u64 sas_idupchunks; /* Dups received (ordered+unordered) */
- __u64 sas_gapcnt; /* Gap Acknowledgements Received */
- __u64 sas_ouodchunks; /* Unordered data chunks sent */
- __u64 sas_iuodchunks; /* Unordered data chunks received */
- __u64 sas_oodchunks; /* Ordered data chunks sent */
- __u64 sas_iodchunks; /* Ordered data chunks received */
- __u64 sas_octrlchunks; /* Control chunks sent */
- __u64 sas_ictrlchunks; /* Control chunks received */
-};
-
-/*
- * 8.1 sctp_bindx()
- *
- * The flags parameter is formed from the bitwise OR of zero or more of the
- * following currently defined flags:
- */
-#define SCTP_BINDX_ADD_ADDR 0x01
-#define SCTP_BINDX_REM_ADDR 0x02
-
-/* This is the structure that is passed as an argument(optval) to
- * getsockopt(SCTP_SOCKOPT_PEELOFF).
- */
-typedef struct {
- sctp_assoc_t associd;
- int sd;
-} sctp_peeloff_arg_t;
-
-/*
- * Peer Address Thresholds socket option
- */
-struct sctp_paddrthlds {
- sctp_assoc_t spt_assoc_id;
- struct sockaddr_storage spt_address;
- __u16 spt_pathmaxrxt;
- __u16 spt_pathpfthld;
-};
-
-#endif /* _SCTP_H */
diff --git a/linux-headers/include/linux/sdla.h b/linux-headers/include/linux/sdla.h
deleted file mode 100644
index 0760ba4..0000000
--- a/linux-headers/include/linux/sdla.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Global definitions for the Frame relay interface.
- *
- * Version: @(#)if_ifrad.h 0.20 13 Apr 96
- *
- * Author: Mike McLagan <mike.mclagan@linux.org>
- *
- * Changes:
- * 0.15 Mike McLagan Structure packing
- *
- * 0.20 Mike McLagan New flags for S508 buffer handling
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef SDLA_H
-#define SDLA_H
-
-/* adapter type */
-#define SDLA_TYPES
-#define SDLA_S502A 5020
-#define SDLA_S502E 5021
-#define SDLA_S503 5030
-#define SDLA_S507 5070
-#define SDLA_S508 5080
-#define SDLA_S509 5090
-#define SDLA_UNKNOWN -1
-
-/* port selection flags for the S508 */
-#define SDLA_S508_PORT_V35 0x00
-#define SDLA_S508_PORT_RS232 0x02
-
-/* Z80 CPU speeds */
-#define SDLA_CPU_3M 0x00
-#define SDLA_CPU_5M 0x01
-#define SDLA_CPU_7M 0x02
-#define SDLA_CPU_8M 0x03
-#define SDLA_CPU_10M 0x04
-#define SDLA_CPU_16M 0x05
-#define SDLA_CPU_12M 0x06
-
-/* some private IOCTLs */
-#define SDLA_IDENTIFY (FRAD_LAST_IOCTL + 1)
-#define SDLA_CPUSPEED (FRAD_LAST_IOCTL + 2)
-#define SDLA_PROTOCOL (FRAD_LAST_IOCTL + 3)
-
-#define SDLA_CLEARMEM (FRAD_LAST_IOCTL + 4)
-#define SDLA_WRITEMEM (FRAD_LAST_IOCTL + 5)
-#define SDLA_READMEM (FRAD_LAST_IOCTL + 6)
-
-struct sdla_mem {
- int addr;
- int len;
- void *data;
-};
-
-#define SDLA_START (FRAD_LAST_IOCTL + 7)
-#define SDLA_STOP (FRAD_LAST_IOCTL + 8)
-
-/* some offsets in the Z80's memory space */
-#define SDLA_NMIADDR 0x0000
-#define SDLA_CONF_ADDR 0x0010
-#define SDLA_S502A_NMIADDR 0x0066
-#define SDLA_CODE_BASEADDR 0x0100
-#define SDLA_WINDOW_SIZE 0x2000
-#define SDLA_ADDR_MASK 0x1FFF
-
-/* largest handleable block of data */
-#define SDLA_MAX_DATA 4080
-#define SDLA_MAX_MTU 4072 /* MAX_DATA - sizeof(fradhdr) */
-#define SDLA_MAX_DLCI 24
-
-/* this should be the same as frad_conf */
-struct sdla_conf {
- short station;
- short config;
- short kbaud;
- short clocking;
- short max_frm;
- short T391;
- short T392;
- short N391;
- short N392;
- short N393;
- short CIR_fwd;
- short Bc_fwd;
- short Be_fwd;
- short CIR_bwd;
- short Bc_bwd;
- short Be_bwd;
-};
-
-/* this should be the same as dlci_conf */
-struct sdla_dlci_conf {
- short config;
- short CIR_fwd;
- short Bc_fwd;
- short Be_fwd;
- short CIR_bwd;
- short Bc_bwd;
- short Be_bwd;
- short Tc_fwd;
- short Tc_bwd;
- short Tf_max;
- short Tb_max;
-};
-
-
-#endif /* SDLA_H */
diff --git a/linux-headers/include/linux/seccomp.h b/linux-headers/include/linux/seccomp.h
deleted file mode 100644
index 2f4c2e9..0000000
--- a/linux-headers/include/linux/seccomp.h
+++ /dev/null
@@ -1,54 +0,0 @@
-#ifndef _LINUX_SECCOMP_H
-#define _LINUX_SECCOMP_H
-
-
-#include <linux/types.h>
-
-
-/* Valid values for seccomp.mode and prctl(PR_SET_SECCOMP, <mode>) */
-#define SECCOMP_MODE_DISABLED 0 /* seccomp is not in use. */
-#define SECCOMP_MODE_STRICT 1 /* uses hard-coded filter. */
-#define SECCOMP_MODE_FILTER 2 /* uses user-supplied filter. */
-
-/* Valid operations for seccomp syscall. */
-#define SECCOMP_SET_MODE_STRICT 0
-#define SECCOMP_SET_MODE_FILTER 1
-
-/* Valid flags for SECCOMP_SET_MODE_FILTER */
-#define SECCOMP_FILTER_FLAG_TSYNC 1
-
-/*
- * All BPF programs must return a 32-bit value.
- * The bottom 16-bits are for optional return data.
- * The upper 16-bits are ordered from least permissive values to most.
- *
- * The ordering ensures that a min_t() over composed return values always
- * selects the least permissive choice.
- */
-#define SECCOMP_RET_KILL 0x00000000U /* kill the task immediately */
-#define SECCOMP_RET_TRAP 0x00030000U /* disallow and force a SIGSYS */
-#define SECCOMP_RET_ERRNO 0x00050000U /* returns an errno */
-#define SECCOMP_RET_TRACE 0x7ff00000U /* pass to a tracer or disallow */
-#define SECCOMP_RET_ALLOW 0x7fff0000U /* allow */
-
-/* Masks for the return value sections. */
-#define SECCOMP_RET_ACTION 0x7fff0000U
-#define SECCOMP_RET_DATA 0x0000ffffU
-
-/**
- * struct seccomp_data - the format the BPF program executes over.
- * @nr: the system call number
- * @arch: indicates system call convention as an AUDIT_ARCH_* value
- * as defined in <linux/audit.h>.
- * @instruction_pointer: at the time of the system call.
- * @args: up to 6 system call arguments always stored as 64-bit values
- * regardless of the architecture.
- */
-struct seccomp_data {
- int nr;
- __u32 arch;
- __u64 instruction_pointer;
- __u64 args[6];
-};
-
-#endif /* _LINUX_SECCOMP_H */
diff --git a/linux-headers/include/linux/securebits.h b/linux-headers/include/linux/securebits.h
deleted file mode 100644
index 57a1811..0000000
--- a/linux-headers/include/linux/securebits.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _LINUX_SECUREBITS_H
-#define _LINUX_SECUREBITS_H
-
-/* Each securesetting is implemented using two bits. One bit specifies
- whether the setting is on or off. The other bit specify whether the
- setting is locked or not. A setting which is locked cannot be
- changed from user-level. */
-#define issecure_mask(X) (1 << (X))
-
-#define SECUREBITS_DEFAULT 0x00000000
-
-/* When set UID 0 has no special privileges. When unset, we support
- inheritance of root-permissions and suid-root executable under
- compatibility mode. We raise the effective and inheritable bitmasks
- *of the executable file* if the effective uid of the new process is
- 0. If the real uid is 0, we raise the effective (legacy) bit of the
- executable file. */
-#define SECURE_NOROOT 0
-#define SECURE_NOROOT_LOCKED 1 /* make bit-0 immutable */
-
-#define SECBIT_NOROOT (issecure_mask(SECURE_NOROOT))
-#define SECBIT_NOROOT_LOCKED (issecure_mask(SECURE_NOROOT_LOCKED))
-
-/* When set, setuid to/from uid 0 does not trigger capability-"fixup".
- When unset, to provide compatiblility with old programs relying on
- set*uid to gain/lose privilege, transitions to/from uid 0 cause
- capabilities to be gained/lost. */
-#define SECURE_NO_SETUID_FIXUP 2
-#define SECURE_NO_SETUID_FIXUP_LOCKED 3 /* make bit-2 immutable */
-
-#define SECBIT_NO_SETUID_FIXUP (issecure_mask(SECURE_NO_SETUID_FIXUP))
-#define SECBIT_NO_SETUID_FIXUP_LOCKED \
- (issecure_mask(SECURE_NO_SETUID_FIXUP_LOCKED))
-
-/* When set, a process can retain its capabilities even after
- transitioning to a non-root user (the set-uid fixup suppressed by
- bit 2). Bit-4 is cleared when a process calls exec(); setting both
- bit 4 and 5 will create a barrier through exec that no exec()'d
- child can use this feature again. */
-#define SECURE_KEEP_CAPS 4
-#define SECURE_KEEP_CAPS_LOCKED 5 /* make bit-4 immutable */
-
-#define SECBIT_KEEP_CAPS (issecure_mask(SECURE_KEEP_CAPS))
-#define SECBIT_KEEP_CAPS_LOCKED (issecure_mask(SECURE_KEEP_CAPS_LOCKED))
-
-/* When set, a process cannot add new capabilities to its ambient set. */
-#define SECURE_NO_CAP_AMBIENT_RAISE 6
-#define SECURE_NO_CAP_AMBIENT_RAISE_LOCKED 7 /* make bit-6 immutable */
-
-#define SECBIT_NO_CAP_AMBIENT_RAISE (issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE))
-#define SECBIT_NO_CAP_AMBIENT_RAISE_LOCKED \
- (issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE_LOCKED))
-
-#define SECURE_ALL_BITS (issecure_mask(SECURE_NOROOT) | \
- issecure_mask(SECURE_NO_SETUID_FIXUP) | \
- issecure_mask(SECURE_KEEP_CAPS) | \
- issecure_mask(SECURE_NO_CAP_AMBIENT_RAISE))
-#define SECURE_ALL_LOCKS (SECURE_ALL_BITS << 1)
-
-#endif /* _LINUX_SECUREBITS_H */
diff --git a/linux-headers/include/linux/selinux_netlink.h b/linux-headers/include/linux/selinux_netlink.h
deleted file mode 100644
index 7a9bf6a..0000000
--- a/linux-headers/include/linux/selinux_netlink.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Netlink event notifications for SELinux.
- *
- * Author: James Morris <jmorris@redhat.com>
- *
- * Copyright (C) 2004 Red Hat, Inc., James Morris <jmorris@redhat.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2,
- * as published by the Free Software Foundation.
- */
-#ifndef _LINUX_SELINUX_NETLINK_H
-#define _LINUX_SELINUX_NETLINK_H
-
-#include <linux/types.h>
-
-/* Message types. */
-#define SELNL_MSG_BASE 0x10
-enum {
- SELNL_MSG_SETENFORCE = SELNL_MSG_BASE,
- SELNL_MSG_POLICYLOAD,
- SELNL_MSG_MAX
-};
-
-/* Multicast groups - backwards compatiblility for userspace */
-#define SELNL_GRP_NONE 0x00000000
-#define SELNL_GRP_AVC 0x00000001 /* AVC notifications */
-#define SELNL_GRP_ALL 0xffffffff
-
-enum selinux_nlgroups {
- SELNLGRP_NONE,
-#define SELNLGRP_NONE SELNLGRP_NONE
- SELNLGRP_AVC,
-#define SELNLGRP_AVC SELNLGRP_AVC
- __SELNLGRP_MAX
-};
-#define SELNLGRP_MAX (__SELNLGRP_MAX - 1)
-
-/* Message structures */
-struct selnl_msg_setenforce {
- __s32 val;
-};
-
-struct selnl_msg_policyload {
- __u32 seqno;
-};
-
-#endif /* _LINUX_SELINUX_NETLINK_H */
diff --git a/linux-headers/include/linux/sem.h b/linux-headers/include/linux/sem.h
deleted file mode 100644
index b605950..0000000
--- a/linux-headers/include/linux/sem.h
+++ /dev/null
@@ -1,92 +0,0 @@
-#ifndef _LINUX_SEM_H
-#define _LINUX_SEM_H
-
-#include <linux/ipc.h>
-
-/* semop flags */
-#define SEM_UNDO 0x1000 /* undo the operation on exit */
-
-/* semctl Command Definitions. */
-#define GETPID 11 /* get sempid */
-#define GETVAL 12 /* get semval */
-#define GETALL 13 /* get all semval's */
-#define GETNCNT 14 /* get semncnt */
-#define GETZCNT 15 /* get semzcnt */
-#define SETVAL 16 /* set semval */
-#define SETALL 17 /* set all semval's */
-
-/* ipcs ctl cmds */
-#define SEM_STAT 18
-#define SEM_INFO 19
-
-/* Obsolete, used only for backwards compatibility and libc5 compiles */
-struct semid_ds {
- struct ipc_perm sem_perm; /* permissions .. see ipc.h */
- __kernel_time_t sem_otime; /* last semop time */
- __kernel_time_t sem_ctime; /* last change time */
- struct sem *sem_base; /* ptr to first semaphore in array */
- struct sem_queue *sem_pending; /* pending operations to be processed */
- struct sem_queue **sem_pending_last; /* last pending operation */
- struct sem_undo *undo; /* undo requests on this array */
- unsigned short sem_nsems; /* no. of semaphores in array */
-};
-
-/* Include the definition of semid64_ds */
-#include <asm/sembuf.h>
-
-/* semop system calls takes an array of these. */
-struct sembuf {
- unsigned short sem_num; /* semaphore index in array */
- short sem_op; /* semaphore operation */
- short sem_flg; /* operation flags */
-};
-
-/* arg for semctl system calls. */
-union semun {
- int val; /* value for SETVAL */
- struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */
- unsigned short *array; /* array for GETALL & SETALL */
- struct seminfo *__buf; /* buffer for IPC_INFO */
- void *__pad;
-};
-
-struct seminfo {
- int semmap;
- int semmni;
- int semmns;
- int semmnu;
- int semmsl;
- int semopm;
- int semume;
- int semusz;
- int semvmx;
- int semaem;
-};
-
-/*
- * SEMMNI, SEMMSL and SEMMNS are default values which can be
- * modified by sysctl.
- * The values has been chosen to be larger than necessary for any
- * known configuration.
- *
- * SEMOPM should not be increased beyond 1000, otherwise there is the
- * risk that semop()/semtimedop() fails due to kernel memory fragmentation when
- * allocating the sop array.
- */
-
-
-#define SEMMNI 32000 /* <= IPCMNI max # of semaphore identifiers */
-#define SEMMSL 32000 /* <= INT_MAX max num of semaphores per id */
-#define SEMMNS (SEMMNI*SEMMSL) /* <= INT_MAX max # of semaphores in system */
-#define SEMOPM 500 /* <= 1 000 max num of ops per semop call */
-#define SEMVMX 32767 /* <= 32767 semaphore maximum value */
-#define SEMAEM SEMVMX /* adjust on exit max value */
-
-/* unused */
-#define SEMUME SEMOPM /* max num of undo entries per process */
-#define SEMMNU SEMMNS /* num of undo structures system wide */
-#define SEMMAP SEMMNS /* # of entries in semaphore map */
-#define SEMUSZ 20 /* sizeof struct sem_undo */
-
-
-#endif /* _LINUX_SEM_H */
diff --git a/linux-headers/include/linux/serial.h b/linux-headers/include/linux/serial.h
deleted file mode 100644
index aad2f58..0000000
--- a/linux-headers/include/linux/serial.h
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * include/linux/serial.h
- *
- * Copyright (C) 1992 by Theodore Ts'o.
- *
- * Redistribution of this file is permitted under the terms of the GNU
- * Public License (GPL)
- */
-
-#ifndef _LINUX_SERIAL_H
-#define _LINUX_SERIAL_H
-
-#include <linux/types.h>
-
-#include <linux/tty_flags.h>
-
-
-struct serial_struct {
- int type;
- int line;
- unsigned int port;
- int irq;
- int flags;
- int xmit_fifo_size;
- int custom_divisor;
- int baud_base;
- unsigned short close_delay;
- char io_type;
- char reserved_char[1];
- int hub6;
- unsigned short closing_wait; /* time to wait before closing */
- unsigned short closing_wait2; /* no longer used... */
- unsigned char *iomem_base;
- unsigned short iomem_reg_shift;
- unsigned int port_high;
- unsigned long iomap_base; /* cookie passed into ioremap */
-};
-
-/*
- * For the close wait times, 0 means wait forever for serial port to
- * flush its output. 65535 means don't wait at all.
- */
-#define ASYNC_CLOSING_WAIT_INF 0
-#define ASYNC_CLOSING_WAIT_NONE 65535
-
-/*
- * These are the supported serial types.
- */
-#define PORT_UNKNOWN 0
-#define PORT_8250 1
-#define PORT_16450 2
-#define PORT_16550 3
-#define PORT_16550A 4
-#define PORT_CIRRUS 5 /* usurped by cyclades.c */
-#define PORT_16650 6
-#define PORT_16650V2 7
-#define PORT_16750 8
-#define PORT_STARTECH 9 /* usurped by cyclades.c */
-#define PORT_16C950 10 /* Oxford Semiconductor */
-#define PORT_16654 11
-#define PORT_16850 12
-#define PORT_RSA 13 /* RSA-DV II/S card */
-#define PORT_MAX 13
-
-#define SERIAL_IO_PORT 0
-#define SERIAL_IO_HUB6 1
-#define SERIAL_IO_MEM 2
-#define SERIAL_IO_MEM32 3
-#define SERIAL_IO_AU 4
-#define SERIAL_IO_TSI 5
-#define SERIAL_IO_MEM32BE 6
-#define SERIAL_IO_MEM16 7
-
-#define UART_CLEAR_FIFO 0x01
-#define UART_USE_FIFO 0x02
-#define UART_STARTECH 0x04
-#define UART_NATSEMI 0x08
-
-
-/*
- * Multiport serial configuration structure --- external structure
- */
-struct serial_multiport_struct {
- int irq;
- int port1;
- unsigned char mask1, match1;
- int port2;
- unsigned char mask2, match2;
- int port3;
- unsigned char mask3, match3;
- int port4;
- unsigned char mask4, match4;
- int port_monitor;
- int reserved[32];
-};
-
-/*
- * Serial input interrupt line counters -- external structure
- * Four lines can interrupt: CTS, DSR, RI, DCD
- */
-struct serial_icounter_struct {
- int cts, dsr, rng, dcd;
- int rx, tx;
- int frame, overrun, parity, brk;
- int buf_overrun;
- int reserved[9];
-};
-
-/*
- * Serial interface for controlling RS485 settings on chips with suitable
- * support. Set with TIOCSRS485 and get with TIOCGRS485 if supported by your
- * platform. The set function returns the new state, with any unsupported bits
- * reverted appropriately.
- */
-
-struct serial_rs485 {
- __u32 flags; /* RS485 feature flags */
-#define SER_RS485_ENABLED (1 << 0) /* If enabled */
-#define SER_RS485_RTS_ON_SEND (1 << 1) /* Logical level for
- RTS pin when
- sending */
-#define SER_RS485_RTS_AFTER_SEND (1 << 2) /* Logical level for
- RTS pin after sent*/
-#define SER_RS485_RX_DURING_TX (1 << 4)
- __u32 delay_rts_before_send; /* Delay before send (milliseconds) */
- __u32 delay_rts_after_send; /* Delay after send (milliseconds) */
- __u32 padding[5]; /* Memory is cheap, new structs
- are a royal PITA .. */
-};
-
-#endif /* _LINUX_SERIAL_H */
diff --git a/linux-headers/include/linux/serial_core.h b/linux-headers/include/linux/serial_core.h
deleted file mode 100644
index 547eff3..0000000
--- a/linux-headers/include/linux/serial_core.h
+++ /dev/null
@@ -1,267 +0,0 @@
-/*
- * linux/drivers/char/serial_core.h
- *
- * Copyright (C) 2000 Deep Blue Solutions Ltd.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-#ifndef LINUX_SERIAL_CORE_H
-#define LINUX_SERIAL_CORE_H
-
-#include <linux/serial.h>
-
-/*
- * The type definitions. These are from Ted Ts'o's serial.h
- */
-#define PORT_UNKNOWN 0
-#define PORT_8250 1
-#define PORT_16450 2
-#define PORT_16550 3
-#define PORT_16550A 4
-#define PORT_CIRRUS 5
-#define PORT_16650 6
-#define PORT_16650V2 7
-#define PORT_16750 8
-#define PORT_STARTECH 9
-#define PORT_16C950 10
-#define PORT_16654 11
-#define PORT_16850 12
-#define PORT_RSA 13
-#define PORT_NS16550A 14
-#define PORT_XSCALE 15
-#define PORT_RM9000 16 /* PMC-Sierra RM9xxx internal UART */
-#define PORT_OCTEON 17 /* Cavium OCTEON internal UART */
-#define PORT_AR7 18 /* Texas Instruments AR7 internal UART */
-#define PORT_U6_16550A 19 /* ST-Ericsson U6xxx internal UART */
-#define PORT_TEGRA 20 /* NVIDIA Tegra internal UART */
-#define PORT_XR17D15X 21 /* Exar XR17D15x UART */
-#define PORT_LPC3220 22 /* NXP LPC32xx SoC "Standard" UART */
-#define PORT_8250_CIR 23 /* CIR infrared port, has its own driver */
-#define PORT_XR17V35X 24 /* Exar XR17V35x UARTs */
-#define PORT_BRCM_TRUMANAGE 25
-#define PORT_ALTR_16550_F32 26 /* Altera 16550 UART with 32 FIFOs */
-#define PORT_ALTR_16550_F64 27 /* Altera 16550 UART with 64 FIFOs */
-#define PORT_ALTR_16550_F128 28 /* Altera 16550 UART with 128 FIFOs */
-#define PORT_RT2880 29 /* Ralink RT2880 internal UART */
-#define PORT_16550A_FSL64 30 /* Freescale 16550 UART with 64 FIFOs */
-#define PORT_MAX_8250 30 /* max port ID */
-
-/*
- * ARM specific type numbers. These are not currently guaranteed
- * to be implemented, and will change in the future. These are
- * separate so any additions to the old serial.c that occur before
- * we are merged can be easily merged here.
- */
-#define PORT_PXA 31
-#define PORT_AMBA 32
-#define PORT_CLPS711X 33
-#define PORT_SA1100 34
-#define PORT_UART00 35
-#define PORT_21285 37
-
-/* Sparc type numbers. */
-#define PORT_SUNZILOG 38
-#define PORT_SUNSAB 39
-
-/* DEC */
-#define PORT_DZ 46
-#define PORT_ZS 47
-
-/* Parisc type numbers. */
-#define PORT_MUX 48
-
-/* Atmel AT91 / AT32 SoC */
-#define PORT_ATMEL 49
-
-/* Macintosh Zilog type numbers */
-#define PORT_MAC_ZILOG 50 /* m68k : not yet implemented */
-#define PORT_PMAC_ZILOG 51
-
-/* SH-SCI */
-#define PORT_SCI 52
-#define PORT_SCIF 53
-#define PORT_IRDA 54
-
-/* Samsung S3C2410 SoC and derivatives thereof */
-#define PORT_S3C2410 55
-
-/* SGI IP22 aka Indy / Challenge S / Indigo 2 */
-#define PORT_IP22ZILOG 56
-
-/* Sharp LH7a40x -- an ARM9 SoC series */
-#define PORT_LH7A40X 57
-
-/* PPC CPM type number */
-#define PORT_CPM 58
-
-/* MPC52xx (and MPC512x) type numbers */
-#define PORT_MPC52xx 59
-
-/* IBM icom */
-#define PORT_ICOM 60
-
-/* Samsung S3C2440 SoC */
-#define PORT_S3C2440 61
-
-/* Motorola i.MX SoC */
-#define PORT_IMX 62
-
-/* Marvell MPSC */
-#define PORT_MPSC 63
-
-/* TXX9 type number */
-#define PORT_TXX9 64
-
-/* NEC VR4100 series SIU/DSIU */
-#define PORT_VR41XX_SIU 65
-#define PORT_VR41XX_DSIU 66
-
-/* Samsung S3C2400 SoC */
-#define PORT_S3C2400 67
-
-/* M32R SIO */
-#define PORT_M32R_SIO 68
-
-/*Digi jsm */
-#define PORT_JSM 69
-
-#define PORT_PNX8XXX 70
-
-/* Hilscher netx */
-#define PORT_NETX 71
-
-/* SUN4V Hypervisor Console */
-#define PORT_SUNHV 72
-
-#define PORT_S3C2412 73
-
-/* Xilinx uartlite */
-#define PORT_UARTLITE 74
-
-/* Blackfin bf5xx */
-#define PORT_BFIN 75
-
-/* Micrel KS8695 */
-#define PORT_KS8695 76
-
-/* Broadcom SB1250, etc. SOC */
-#define PORT_SB1250_DUART 77
-
-/* Freescale ColdFire */
-#define PORT_MCF 78
-
-/* Blackfin SPORT */
-#define PORT_BFIN_SPORT 79
-
-/* MN10300 on-chip UART numbers */
-#define PORT_MN10300 80
-#define PORT_MN10300_CTS 81
-
-#define PORT_SC26XX 82
-
-/* SH-SCI */
-#define PORT_SCIFA 83
-
-#define PORT_S3C6400 84
-
-/* NWPSERIAL, now removed */
-#define PORT_NWPSERIAL 85
-
-/* MAX3100 */
-#define PORT_MAX3100 86
-
-/* Timberdale UART */
-#define PORT_TIMBUART 87
-
-/* Qualcomm MSM SoCs */
-#define PORT_MSM 88
-
-/* BCM63xx family SoCs */
-#define PORT_BCM63XX 89
-
-/* Aeroflex Gaisler GRLIB APBUART */
-#define PORT_APBUART 90
-
-/* Altera UARTs */
-#define PORT_ALTERA_JTAGUART 91
-#define PORT_ALTERA_UART 92
-
-/* SH-SCI */
-#define PORT_SCIFB 93
-
-/* MAX310X */
-#define PORT_MAX310X 94
-
-/* High Speed UART for Medfield */
-#define PORT_MFD 95
-
-/* TI OMAP-UART */
-#define PORT_OMAP 96
-
-/* VIA VT8500 SoC */
-#define PORT_VT8500 97
-
-/* Cadence (Xilinx Zynq) UART */
-#define PORT_XUARTPS 98
-
-/* Atheros AR933X SoC */
-#define PORT_AR933X 99
-
-/* Energy Micro efm32 SoC */
-#define PORT_EFMUART 100
-
-/* ARC (Synopsys) on-chip UART */
-#define PORT_ARC 101
-
-/* Rocketport EXPRESS/INFINITY */
-#define PORT_RP2 102
-
-/* Freescale lpuart */
-#define PORT_LPUART 103
-
-/* SH-SCI */
-#define PORT_HSCIF 104
-
-/* ST ASC type numbers */
-#define PORT_ASC 105
-
-/* Tilera TILE-Gx UART */
-#define PORT_TILEGX 106
-
-/* MEN 16z135 UART */
-#define PORT_MEN_Z135 107
-
-/* SC16IS74xx */
-#define PORT_SC16IS7XX 108
-
-/* MESON */
-#define PORT_MESON 109
-
-/* Conexant Digicolor */
-#define PORT_DIGICOLOR 110
-
-/* SPRD SERIAL */
-#define PORT_SPRD 111
-
-/* Cris v10 / v32 SoC */
-#define PORT_CRIS 112
-
-/* STM32 USART */
-#define PORT_STM32 113
-
-/* MVEBU UART */
-#define PORT_MVEBU 114
-
-#endif /* LINUX_SERIAL_CORE_H */
diff --git a/linux-headers/include/linux/serial_reg.h b/linux-headers/include/linux/serial_reg.h
deleted file mode 100644
index 1e5ac4e..0000000
--- a/linux-headers/include/linux/serial_reg.h
+++ /dev/null
@@ -1,380 +0,0 @@
-/*
- * include/linux/serial_reg.h
- *
- * Copyright (C) 1992, 1994 by Theodore Ts'o.
- *
- * Redistribution of this file is permitted under the terms of the GNU
- * Public License (GPL)
- *
- * These are the UART port assignments, expressed as offsets from the base
- * register. These assignments should hold for any serial port based on
- * a 8250, 16450, or 16550(A).
- */
-
-#ifndef _LINUX_SERIAL_REG_H
-#define _LINUX_SERIAL_REG_H
-
-/*
- * DLAB=0
- */
-#define UART_RX 0 /* In: Receive buffer */
-#define UART_TX 0 /* Out: Transmit buffer */
-
-#define UART_IER 1 /* Out: Interrupt Enable Register */
-#define UART_IER_MSI 0x08 /* Enable Modem status interrupt */
-#define UART_IER_RLSI 0x04 /* Enable receiver line status interrupt */
-#define UART_IER_THRI 0x02 /* Enable Transmitter holding register int. */
-#define UART_IER_RDI 0x01 /* Enable receiver data interrupt */
-/*
- * Sleep mode for ST16650 and TI16750. For the ST16650, EFR[4]=1
- */
-#define UART_IERX_SLEEP 0x10 /* Enable sleep mode */
-
-#define UART_IIR 2 /* In: Interrupt ID Register */
-#define UART_IIR_NO_INT 0x01 /* No interrupts pending */
-#define UART_IIR_ID 0x0e /* Mask for the interrupt ID */
-#define UART_IIR_MSI 0x00 /* Modem status interrupt */
-#define UART_IIR_THRI 0x02 /* Transmitter holding register empty */
-#define UART_IIR_RDI 0x04 /* Receiver data interrupt */
-#define UART_IIR_RLSI 0x06 /* Receiver line status interrupt */
-
-#define UART_IIR_BUSY 0x07 /* DesignWare APB Busy Detect */
-
-#define UART_IIR_RX_TIMEOUT 0x0c /* OMAP RX Timeout interrupt */
-#define UART_IIR_XOFF 0x10 /* OMAP XOFF/Special Character */
-#define UART_IIR_CTS_RTS_DSR 0x20 /* OMAP CTS/RTS/DSR Change */
-
-#define UART_FCR 2 /* Out: FIFO Control Register */
-#define UART_FCR_ENABLE_FIFO 0x01 /* Enable the FIFO */
-#define UART_FCR_CLEAR_RCVR 0x02 /* Clear the RCVR FIFO */
-#define UART_FCR_CLEAR_XMIT 0x04 /* Clear the XMIT FIFO */
-#define UART_FCR_DMA_SELECT 0x08 /* For DMA applications */
-/*
- * Note: The FIFO trigger levels are chip specific:
- * RX:76 = 00 01 10 11 TX:54 = 00 01 10 11
- * PC16550D: 1 4 8 14 xx xx xx xx
- * TI16C550A: 1 4 8 14 xx xx xx xx
- * TI16C550C: 1 4 8 14 xx xx xx xx
- * ST16C550: 1 4 8 14 xx xx xx xx
- * ST16C650: 8 16 24 28 16 8 24 30 PORT_16650V2
- * NS16C552: 1 4 8 14 xx xx xx xx
- * ST16C654: 8 16 56 60 8 16 32 56 PORT_16654
- * TI16C750: 1 16 32 56 xx xx xx xx PORT_16750
- * TI16C752: 8 16 56 60 8 16 32 56
- * Tegra: 1 4 8 14 16 8 4 1 PORT_TEGRA
- */
-#define UART_FCR_R_TRIG_00 0x00
-#define UART_FCR_R_TRIG_01 0x40
-#define UART_FCR_R_TRIG_10 0x80
-#define UART_FCR_R_TRIG_11 0xc0
-#define UART_FCR_T_TRIG_00 0x00
-#define UART_FCR_T_TRIG_01 0x10
-#define UART_FCR_T_TRIG_10 0x20
-#define UART_FCR_T_TRIG_11 0x30
-
-#define UART_FCR_TRIGGER_MASK 0xC0 /* Mask for the FIFO trigger range */
-#define UART_FCR_TRIGGER_1 0x00 /* Mask for trigger set at 1 */
-#define UART_FCR_TRIGGER_4 0x40 /* Mask for trigger set at 4 */
-#define UART_FCR_TRIGGER_8 0x80 /* Mask for trigger set at 8 */
-#define UART_FCR_TRIGGER_14 0xC0 /* Mask for trigger set at 14 */
-/* 16650 definitions */
-#define UART_FCR6_R_TRIGGER_8 0x00 /* Mask for receive trigger set at 1 */
-#define UART_FCR6_R_TRIGGER_16 0x40 /* Mask for receive trigger set at 4 */
-#define UART_FCR6_R_TRIGGER_24 0x80 /* Mask for receive trigger set at 8 */
-#define UART_FCR6_R_TRIGGER_28 0xC0 /* Mask for receive trigger set at 14 */
-#define UART_FCR6_T_TRIGGER_16 0x00 /* Mask for transmit trigger set at 16 */
-#define UART_FCR6_T_TRIGGER_8 0x10 /* Mask for transmit trigger set at 8 */
-#define UART_FCR6_T_TRIGGER_24 0x20 /* Mask for transmit trigger set at 24 */
-#define UART_FCR6_T_TRIGGER_30 0x30 /* Mask for transmit trigger set at 30 */
-#define UART_FCR7_64BYTE 0x20 /* Go into 64 byte mode (TI16C750 and
- some Freescale UARTs) */
-
-#define UART_FCR_R_TRIG_SHIFT 6
-#define UART_FCR_R_TRIG_BITS(x) \
- (((x) & UART_FCR_TRIGGER_MASK) >> UART_FCR_R_TRIG_SHIFT)
-#define UART_FCR_R_TRIG_MAX_STATE 4
-
-#define UART_LCR 3 /* Out: Line Control Register */
-/*
- * Note: if the word length is 5 bits (UART_LCR_WLEN5), then setting
- * UART_LCR_STOP will select 1.5 stop bits, not 2 stop bits.
- */
-#define UART_LCR_DLAB 0x80 /* Divisor latch access bit */
-#define UART_LCR_SBC 0x40 /* Set break control */
-#define UART_LCR_SPAR 0x20 /* Stick parity (?) */
-#define UART_LCR_EPAR 0x10 /* Even parity select */
-#define UART_LCR_PARITY 0x08 /* Parity Enable */
-#define UART_LCR_STOP 0x04 /* Stop bits: 0=1 bit, 1=2 bits */
-#define UART_LCR_WLEN5 0x00 /* Wordlength: 5 bits */
-#define UART_LCR_WLEN6 0x01 /* Wordlength: 6 bits */
-#define UART_LCR_WLEN7 0x02 /* Wordlength: 7 bits */
-#define UART_LCR_WLEN8 0x03 /* Wordlength: 8 bits */
-
-/*
- * Access to some registers depends on register access / configuration
- * mode.
- */
-#define UART_LCR_CONF_MODE_A UART_LCR_DLAB /* Configutation mode A */
-#define UART_LCR_CONF_MODE_B 0xBF /* Configutation mode B */
-
-#define UART_MCR 4 /* Out: Modem Control Register */
-#define UART_MCR_CLKSEL 0x80 /* Divide clock by 4 (TI16C752, EFR[4]=1) */
-#define UART_MCR_TCRTLR 0x40 /* Access TCR/TLR (TI16C752, EFR[4]=1) */
-#define UART_MCR_XONANY 0x20 /* Enable Xon Any (TI16C752, EFR[4]=1) */
-#define UART_MCR_AFE 0x20 /* Enable auto-RTS/CTS (TI16C550C/TI16C750) */
-#define UART_MCR_LOOP 0x10 /* Enable loopback test mode */
-#define UART_MCR_OUT2 0x08 /* Out2 complement */
-#define UART_MCR_OUT1 0x04 /* Out1 complement */
-#define UART_MCR_RTS 0x02 /* RTS complement */
-#define UART_MCR_DTR 0x01 /* DTR complement */
-
-#define UART_LSR 5 /* In: Line Status Register */
-#define UART_LSR_FIFOE 0x80 /* Fifo error */
-#define UART_LSR_TEMT 0x40 /* Transmitter empty */
-#define UART_LSR_THRE 0x20 /* Transmit-hold-register empty */
-#define UART_LSR_BI 0x10 /* Break interrupt indicator */
-#define UART_LSR_FE 0x08 /* Frame error indicator */
-#define UART_LSR_PE 0x04 /* Parity error indicator */
-#define UART_LSR_OE 0x02 /* Overrun error indicator */
-#define UART_LSR_DR 0x01 /* Receiver data ready */
-#define UART_LSR_BRK_ERROR_BITS 0x1E /* BI, FE, PE, OE bits */
-
-#define UART_MSR 6 /* In: Modem Status Register */
-#define UART_MSR_DCD 0x80 /* Data Carrier Detect */
-#define UART_MSR_RI 0x40 /* Ring Indicator */
-#define UART_MSR_DSR 0x20 /* Data Set Ready */
-#define UART_MSR_CTS 0x10 /* Clear to Send */
-#define UART_MSR_DDCD 0x08 /* Delta DCD */
-#define UART_MSR_TERI 0x04 /* Trailing edge ring indicator */
-#define UART_MSR_DDSR 0x02 /* Delta DSR */
-#define UART_MSR_DCTS 0x01 /* Delta CTS */
-#define UART_MSR_ANY_DELTA 0x0F /* Any of the delta bits! */
-
-#define UART_SCR 7 /* I/O: Scratch Register */
-
-/*
- * DLAB=1
- */
-#define UART_DLL 0 /* Out: Divisor Latch Low */
-#define UART_DLM 1 /* Out: Divisor Latch High */
-
-/*
- * LCR=0xBF (or DLAB=1 for 16C660)
- */
-#define UART_EFR 2 /* I/O: Extended Features Register */
-#define UART_XR_EFR 9 /* I/O: Extended Features Register (XR17D15x) */
-#define UART_EFR_CTS 0x80 /* CTS flow control */
-#define UART_EFR_RTS 0x40 /* RTS flow control */
-#define UART_EFR_SCD 0x20 /* Special character detect */
-#define UART_EFR_ECB 0x10 /* Enhanced control bit */
-/*
- * the low four bits control software flow control
- */
-
-/*
- * LCR=0xBF, TI16C752, ST16650, ST16650A, ST16654
- */
-#define UART_XON1 4 /* I/O: Xon character 1 */
-#define UART_XON2 5 /* I/O: Xon character 2 */
-#define UART_XOFF1 6 /* I/O: Xoff character 1 */
-#define UART_XOFF2 7 /* I/O: Xoff character 2 */
-
-/*
- * EFR[4]=1 MCR[6]=1, TI16C752
- */
-#define UART_TI752_TCR 6 /* I/O: transmission control register */
-#define UART_TI752_TLR 7 /* I/O: trigger level register */
-
-/*
- * LCR=0xBF, XR16C85x
- */
-#define UART_TRG 0 /* FCTR bit 7 selects Rx or Tx
- * In: Fifo count
- * Out: Fifo custom trigger levels */
-/*
- * These are the definitions for the Programmable Trigger Register
- */
-#define UART_TRG_1 0x01
-#define UART_TRG_4 0x04
-#define UART_TRG_8 0x08
-#define UART_TRG_16 0x10
-#define UART_TRG_32 0x20
-#define UART_TRG_64 0x40
-#define UART_TRG_96 0x60
-#define UART_TRG_120 0x78
-#define UART_TRG_128 0x80
-
-#define UART_FCTR 1 /* Feature Control Register */
-#define UART_FCTR_RTS_NODELAY 0x00 /* RTS flow control delay */
-#define UART_FCTR_RTS_4DELAY 0x01
-#define UART_FCTR_RTS_6DELAY 0x02
-#define UART_FCTR_RTS_8DELAY 0x03
-#define UART_FCTR_IRDA 0x04 /* IrDa data encode select */
-#define UART_FCTR_TX_INT 0x08 /* Tx interrupt type select */
-#define UART_FCTR_TRGA 0x00 /* Tx/Rx 550 trigger table select */
-#define UART_FCTR_TRGB 0x10 /* Tx/Rx 650 trigger table select */
-#define UART_FCTR_TRGC 0x20 /* Tx/Rx 654 trigger table select */
-#define UART_FCTR_TRGD 0x30 /* Tx/Rx 850 programmable trigger select */
-#define UART_FCTR_SCR_SWAP 0x40 /* Scratch pad register swap */
-#define UART_FCTR_RX 0x00 /* Programmable trigger mode select */
-#define UART_FCTR_TX 0x80 /* Programmable trigger mode select */
-
-/*
- * LCR=0xBF, FCTR[6]=1
- */
-#define UART_EMSR 7 /* Extended Mode Select Register */
-#define UART_EMSR_FIFO_COUNT 0x01 /* Rx/Tx select */
-#define UART_EMSR_ALT_COUNT 0x02 /* Alternating count select */
-
-/*
- * The Intel XScale on-chip UARTs define these bits
- */
-#define UART_IER_DMAE 0x80 /* DMA Requests Enable */
-#define UART_IER_UUE 0x40 /* UART Unit Enable */
-#define UART_IER_NRZE 0x20 /* NRZ coding Enable */
-#define UART_IER_RTOIE 0x10 /* Receiver Time Out Interrupt Enable */
-
-#define UART_IIR_TOD 0x08 /* Character Timeout Indication Detected */
-
-#define UART_FCR_PXAR1 0x00 /* receive FIFO threshold = 1 */
-#define UART_FCR_PXAR8 0x40 /* receive FIFO threshold = 8 */
-#define UART_FCR_PXAR16 0x80 /* receive FIFO threshold = 16 */
-#define UART_FCR_PXAR32 0xc0 /* receive FIFO threshold = 32 */
-
-/*
- * These register definitions are for the 16C950
- */
-#define UART_ASR 0x01 /* Additional Status Register */
-#define UART_RFL 0x03 /* Receiver FIFO level */
-#define UART_TFL 0x04 /* Transmitter FIFO level */
-#define UART_ICR 0x05 /* Index Control Register */
-
-/* The 16950 ICR registers */
-#define UART_ACR 0x00 /* Additional Control Register */
-#define UART_CPR 0x01 /* Clock Prescalar Register */
-#define UART_TCR 0x02 /* Times Clock Register */
-#define UART_CKS 0x03 /* Clock Select Register */
-#define UART_TTL 0x04 /* Transmitter Interrupt Trigger Level */
-#define UART_RTL 0x05 /* Receiver Interrupt Trigger Level */
-#define UART_FCL 0x06 /* Flow Control Level Lower */
-#define UART_FCH 0x07 /* Flow Control Level Higher */
-#define UART_ID1 0x08 /* ID #1 */
-#define UART_ID2 0x09 /* ID #2 */
-#define UART_ID3 0x0A /* ID #3 */
-#define UART_REV 0x0B /* Revision */
-#define UART_CSR 0x0C /* Channel Software Reset */
-#define UART_NMR 0x0D /* Nine-bit Mode Register */
-#define UART_CTR 0xFF
-
-/*
- * The 16C950 Additional Control Register
- */
-#define UART_ACR_RXDIS 0x01 /* Receiver disable */
-#define UART_ACR_TXDIS 0x02 /* Transmitter disable */
-#define UART_ACR_DSRFC 0x04 /* DSR Flow Control */
-#define UART_ACR_TLENB 0x20 /* 950 trigger levels enable */
-#define UART_ACR_ICRRD 0x40 /* ICR Read enable */
-#define UART_ACR_ASREN 0x80 /* Additional status enable */
-
-
-
-/*
- * These definitions are for the RSA-DV II/S card, from
- *
- * Kiyokazu SUTO <suto@ks-and-ks.ne.jp>
- */
-
-#define UART_RSA_BASE (-8)
-
-#define UART_RSA_MSR ((UART_RSA_BASE) + 0) /* I/O: Mode Select Register */
-
-#define UART_RSA_MSR_SWAP (1 << 0) /* Swap low/high 8 bytes in I/O port addr */
-#define UART_RSA_MSR_FIFO (1 << 2) /* Enable the external FIFO */
-#define UART_RSA_MSR_FLOW (1 << 3) /* Enable the auto RTS/CTS flow control */
-#define UART_RSA_MSR_ITYP (1 << 4) /* Level (1) / Edge triger (0) */
-
-#define UART_RSA_IER ((UART_RSA_BASE) + 1) /* I/O: Interrupt Enable Register */
-
-#define UART_RSA_IER_Rx_FIFO_H (1 << 0) /* Enable Rx FIFO half full int. */
-#define UART_RSA_IER_Tx_FIFO_H (1 << 1) /* Enable Tx FIFO half full int. */
-#define UART_RSA_IER_Tx_FIFO_E (1 << 2) /* Enable Tx FIFO empty int. */
-#define UART_RSA_IER_Rx_TOUT (1 << 3) /* Enable char receive timeout int */
-#define UART_RSA_IER_TIMER (1 << 4) /* Enable timer interrupt */
-
-#define UART_RSA_SRR ((UART_RSA_BASE) + 2) /* IN: Status Read Register */
-
-#define UART_RSA_SRR_Tx_FIFO_NEMP (1 << 0) /* Tx FIFO is not empty (1) */
-#define UART_RSA_SRR_Tx_FIFO_NHFL (1 << 1) /* Tx FIFO is not half full (1) */
-#define UART_RSA_SRR_Tx_FIFO_NFUL (1 << 2) /* Tx FIFO is not full (1) */
-#define UART_RSA_SRR_Rx_FIFO_NEMP (1 << 3) /* Rx FIFO is not empty (1) */
-#define UART_RSA_SRR_Rx_FIFO_NHFL (1 << 4) /* Rx FIFO is not half full (1) */
-#define UART_RSA_SRR_Rx_FIFO_NFUL (1 << 5) /* Rx FIFO is not full (1) */
-#define UART_RSA_SRR_Rx_TOUT (1 << 6) /* Character reception timeout occurred (1) */
-#define UART_RSA_SRR_TIMER (1 << 7) /* Timer interrupt occurred */
-
-#define UART_RSA_FRR ((UART_RSA_BASE) + 2) /* OUT: FIFO Reset Register */
-
-#define UART_RSA_TIVSR ((UART_RSA_BASE) + 3) /* I/O: Timer Interval Value Set Register */
-
-#define UART_RSA_TCR ((UART_RSA_BASE) + 4) /* OUT: Timer Control Register */
-
-#define UART_RSA_TCR_SWITCH (1 << 0) /* Timer on */
-
-/*
- * The RSA DSV/II board has two fixed clock frequencies. One is the
- * standard rate, and the other is 8 times faster.
- */
-#define SERIAL_RSA_BAUD_BASE (921600)
-#define SERIAL_RSA_BAUD_BASE_LO (SERIAL_RSA_BAUD_BASE / 8)
-
-/*
- * Extra serial register definitions for the internal UARTs
- * in TI OMAP processors.
- */
-#define OMAP1_UART1_BASE 0xfffb0000
-#define OMAP1_UART2_BASE 0xfffb0800
-#define OMAP1_UART3_BASE 0xfffb9800
-#define UART_OMAP_MDR1 0x08 /* Mode definition register */
-#define UART_OMAP_MDR2 0x09 /* Mode definition register 2 */
-#define UART_OMAP_SCR 0x10 /* Supplementary control register */
-#define UART_OMAP_SSR 0x11 /* Supplementary status register */
-#define UART_OMAP_EBLR 0x12 /* BOF length register */
-#define UART_OMAP_OSC_12M_SEL 0x13 /* OMAP1510 12MHz osc select */
-#define UART_OMAP_MVER 0x14 /* Module version register */
-#define UART_OMAP_SYSC 0x15 /* System configuration register */
-#define UART_OMAP_SYSS 0x16 /* System status register */
-#define UART_OMAP_WER 0x17 /* Wake-up enable register */
-#define UART_OMAP_TX_LVL 0x1a /* TX FIFO level register */
-
-/*
- * These are the definitions for the MDR1 register
- */
-#define UART_OMAP_MDR1_16X_MODE 0x00 /* UART 16x mode */
-#define UART_OMAP_MDR1_SIR_MODE 0x01 /* SIR mode */
-#define UART_OMAP_MDR1_16X_ABAUD_MODE 0x02 /* UART 16x auto-baud */
-#define UART_OMAP_MDR1_13X_MODE 0x03 /* UART 13x mode */
-#define UART_OMAP_MDR1_MIR_MODE 0x04 /* MIR mode */
-#define UART_OMAP_MDR1_FIR_MODE 0x05 /* FIR mode */
-#define UART_OMAP_MDR1_CIR_MODE 0x06 /* CIR mode */
-#define UART_OMAP_MDR1_DISABLE 0x07 /* Disable (default state) */
-
-/*
- * These are definitions for the Exar XR17V35X and XR17(C|D)15X
- */
-#define UART_EXAR_8XMODE 0x88 /* 8X sampling rate select */
-#define UART_EXAR_SLEEP 0x8b /* Sleep mode */
-#define UART_EXAR_DVID 0x8d /* Device identification */
-
-#define UART_EXAR_FCTR 0x08 /* Feature Control Register */
-#define UART_FCTR_EXAR_IRDA 0x08 /* IrDa data encode select */
-#define UART_FCTR_EXAR_485 0x10 /* Auto 485 half duplex dir ctl */
-#define UART_FCTR_EXAR_TRGA 0x00 /* FIFO trigger table A */
-#define UART_FCTR_EXAR_TRGB 0x60 /* FIFO trigger table B */
-#define UART_FCTR_EXAR_TRGC 0x80 /* FIFO trigger table C */
-#define UART_FCTR_EXAR_TRGD 0xc0 /* FIFO trigger table D programmable */
-
-#define UART_EXAR_TXTRG 0x0a /* Tx FIFO trigger level write-only */
-#define UART_EXAR_RXTRG 0x0b /* Rx FIFO trigger level write-only */
-
-#endif /* _LINUX_SERIAL_REG_H */
-
diff --git a/linux-headers/include/linux/serio.h b/linux-headers/include/linux/serio.h
deleted file mode 100644
index 4f3d70a..0000000
--- a/linux-headers/include/linux/serio.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (C) 1999-2002 Vojtech Pavlik
-*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License version 2 as published by
- * the Free Software Foundation.
- */
-#ifndef _SERIO_H
-#define _SERIO_H
-
-
-#include <linux/ioctl.h>
-
-#define SPIOCSTYPE _IOW('q', 0x01, unsigned long)
-
-
-/*
- * bit masks for use in "interrupt" flags (3rd argument)
- */
-#define SERIO_TIMEOUT 1
-#define SERIO_PARITY 2
-#define SERIO_FRAME 4
-
-/*
- * Serio types
- */
-#define SERIO_XT 0x00
-#define SERIO_8042 0x01
-#define SERIO_RS232 0x02
-#define SERIO_HIL_MLC 0x03
-#define SERIO_PS_PSTHRU 0x05
-#define SERIO_8042_XL 0x06
-
-/*
- * Serio protocols
- */
-#define SERIO_UNKNOWN 0x00
-#define SERIO_MSC 0x01
-#define SERIO_SUN 0x02
-#define SERIO_MS 0x03
-#define SERIO_MP 0x04
-#define SERIO_MZ 0x05
-#define SERIO_MZP 0x06
-#define SERIO_MZPP 0x07
-#define SERIO_VSXXXAA 0x08
-#define SERIO_SUNKBD 0x10
-#define SERIO_WARRIOR 0x18
-#define SERIO_SPACEORB 0x19
-#define SERIO_MAGELLAN 0x1a
-#define SERIO_SPACEBALL 0x1b
-#define SERIO_GUNZE 0x1c
-#define SERIO_IFORCE 0x1d
-#define SERIO_STINGER 0x1e
-#define SERIO_NEWTON 0x1f
-#define SERIO_STOWAWAY 0x20
-#define SERIO_H3600 0x21
-#define SERIO_PS2SER 0x22
-#define SERIO_TWIDKBD 0x23
-#define SERIO_TWIDJOY 0x24
-#define SERIO_HIL 0x25
-#define SERIO_SNES232 0x26
-#define SERIO_SEMTECH 0x27
-#define SERIO_LKKBD 0x28
-#define SERIO_ELO 0x29
-#define SERIO_MICROTOUCH 0x30
-#define SERIO_PENMOUNT 0x31
-#define SERIO_TOUCHRIGHT 0x32
-#define SERIO_TOUCHWIN 0x33
-#define SERIO_TAOSEVM 0x34
-#define SERIO_FUJITSU 0x35
-#define SERIO_ZHENHUA 0x36
-#define SERIO_INEXIO 0x37
-#define SERIO_TOUCHIT213 0x38
-#define SERIO_W8001 0x39
-#define SERIO_DYNAPRO 0x3a
-#define SERIO_HAMPSHIRE 0x3b
-#define SERIO_PS2MULT 0x3c
-#define SERIO_TSC40 0x3d
-#define SERIO_WACOM_IV 0x3e
-#define SERIO_EGALAX 0x3f
-
-#endif /* _SERIO_H */
diff --git a/linux-headers/include/linux/shm.h b/linux-headers/include/linux/shm.h
deleted file mode 100644
index 18dac98..0000000
--- a/linux-headers/include/linux/shm.h
+++ /dev/null
@@ -1,78 +0,0 @@
-#ifndef _LINUX_SHM_H_
-#define _LINUX_SHM_H_
-
-#include <linux/ipc.h>
-#include <linux/errno.h>
-#include <unistd.h>
-
-/*
- * SHMMNI, SHMMAX and SHMALL are default upper limits which can be
- * modified by sysctl. The SHMMAX and SHMALL values have been chosen to
- * be as large possible without facilitating scenarios where userspace
- * causes overflows when adjusting the limits via operations of the form
- * "retrieve current limit; add X; update limit". It is therefore not
- * advised to make SHMMAX and SHMALL any larger. These limits are
- * suitable for both 32 and 64-bit systems.
- */
-#define SHMMIN 1 /* min shared seg size (bytes) */
-#define SHMMNI 4096 /* max num of segs system wide */
-#define SHMMAX (ULONG_MAX - (1UL << 24)) /* max shared seg size (bytes) */
-#define SHMALL (ULONG_MAX - (1UL << 24)) /* max shm system wide (pages) */
-#define SHMSEG SHMMNI /* max shared segs per process */
-
-/* Obsolete, used only for backwards compatibility and libc5 compiles */
-struct shmid_ds {
- struct ipc_perm shm_perm; /* operation perms */
- int shm_segsz; /* size of segment (bytes) */
- __kernel_time_t shm_atime; /* last attach time */
- __kernel_time_t shm_dtime; /* last detach time */
- __kernel_time_t shm_ctime; /* last change time */
- __kernel_ipc_pid_t shm_cpid; /* pid of creator */
- __kernel_ipc_pid_t shm_lpid; /* pid of last operator */
- unsigned short shm_nattch; /* no. of current attaches */
- unsigned short shm_unused; /* compatibility */
- void *shm_unused2; /* ditto - used by DIPC */
- void *shm_unused3; /* unused */
-};
-
-/* Include the definition of shmid64_ds and shminfo64 */
-#include <asm/shmbuf.h>
-
-/* permission flag for shmget */
-#define SHM_R 0400 /* or S_IRUGO from <linux/stat.h> */
-#define SHM_W 0200 /* or S_IWUGO from <linux/stat.h> */
-
-/* mode for attach */
-#define SHM_RDONLY 010000 /* read-only access */
-#define SHM_RND 020000 /* round attach address to SHMLBA boundary */
-#define SHM_REMAP 040000 /* take-over region on attach */
-#define SHM_EXEC 0100000 /* execution access */
-
-/* super user shmctl commands */
-#define SHM_LOCK 11
-#define SHM_UNLOCK 12
-
-/* ipcs ctl commands */
-#define SHM_STAT 13
-#define SHM_INFO 14
-
-/* Obsolete, used only for backwards compatibility */
-struct shminfo {
- int shmmax;
- int shmmin;
- int shmmni;
- int shmseg;
- int shmall;
-};
-
-struct shm_info {
- int used_ids;
- __kernel_ulong_t shm_tot; /* total allocated shm */
- __kernel_ulong_t shm_rss; /* total resident shm */
- __kernel_ulong_t shm_swp; /* total swapped shm */
- __kernel_ulong_t swap_attempts;
- __kernel_ulong_t swap_successes;
-};
-
-
-#endif /* _LINUX_SHM_H_ */
diff --git a/linux-headers/include/linux/signal.h b/linux-headers/include/linux/signal.h
deleted file mode 100644
index 94dc2e6..0000000
--- a/linux-headers/include/linux/signal.h
+++ /dev/null
@@ -1,10 +0,0 @@
-#ifndef _LINUX_SIGNAL_H
-#define _LINUX_SIGNAL_H
-
-#include <asm/signal.h>
-#include <asm/siginfo.h>
-
-#define SS_ONSTACK 1
-#define SS_DISABLE 2
-
-#endif /* _LINUX_SIGNAL_H */
diff --git a/linux-headers/include/linux/signalfd.h b/linux-headers/include/linux/signalfd.h
deleted file mode 100644
index 90e689a..0000000
--- a/linux-headers/include/linux/signalfd.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * include/linux/signalfd.h
- *
- * Copyright (C) 2007 Davide Libenzi <davidel@xmailserver.org>
- *
- */
-
-#ifndef _LINUX_SIGNALFD_H
-#define _LINUX_SIGNALFD_H
-
-#include <linux/types.h>
-/* For O_CLOEXEC and O_NONBLOCK */
-#include <linux/fcntl.h>
-
-/* Flags for signalfd4. */
-#define SFD_CLOEXEC O_CLOEXEC
-#define SFD_NONBLOCK O_NONBLOCK
-
-struct signalfd_siginfo {
- __u32 ssi_signo;
- __s32 ssi_errno;
- __s32 ssi_code;
- __u32 ssi_pid;
- __u32 ssi_uid;
- __s32 ssi_fd;
- __u32 ssi_tid;
- __u32 ssi_band;
- __u32 ssi_overrun;
- __u32 ssi_trapno;
- __s32 ssi_status;
- __s32 ssi_int;
- __u64 ssi_ptr;
- __u64 ssi_utime;
- __u64 ssi_stime;
- __u64 ssi_addr;
- __u16 ssi_addr_lsb;
-
- /*
- * Pad strcture to 128 bytes. Remember to update the
- * pad size when you add new members. We use a fixed
- * size structure to avoid compatibility problems with
- * future versions, and we leave extra space for additional
- * members. We use fixed size members because this strcture
- * comes out of a read(2) and we really don't want to have
- * a compat on read(2).
- */
- __u8 __pad[46];
-};
-
-
-
-#endif /* _LINUX_SIGNALFD_H */
diff --git a/linux-headers/include/linux/smiapp.h b/linux-headers/include/linux/smiapp.h
deleted file mode 100644
index 53938f4..0000000
--- a/linux-headers/include/linux/smiapp.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * include/uapi/linux/smiapp.h
- *
- * Generic driver for SMIA/SMIA++ compliant camera modules
- *
- * Copyright (C) 2014 Intel Corporation
- * Contact: Sakari Ailus <sakari.ailus@iki.fi>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- */
-
-#ifndef __UAPI_LINUX_SMIAPP_H_
-#define __UAPI_LINUX_SMIAPP_H_
-
-#define V4L2_SMIAPP_TEST_PATTERN_MODE_DISABLED 0
-#define V4L2_SMIAPP_TEST_PATTERN_MODE_SOLID_COLOUR 1
-#define V4L2_SMIAPP_TEST_PATTERN_MODE_COLOUR_BARS 2
-#define V4L2_SMIAPP_TEST_PATTERN_MODE_COLOUR_BARS_GREY 3
-#define V4L2_SMIAPP_TEST_PATTERN_MODE_PN9 4
-
-#endif /* __UAPI_LINUX_SMIAPP_H_ */
diff --git a/linux-headers/include/linux/snmp.h b/linux-headers/include/linux/snmp.h
deleted file mode 100644
index 25a9ad8..0000000
--- a/linux-headers/include/linux/snmp.h
+++ /dev/null
@@ -1,321 +0,0 @@
-/*
- * Definitions for MIBs
- *
- * Author: Hideaki YOSHIFUJI <yoshfuji@linux-ipv6.org>
- */
-
-#ifndef _LINUX_SNMP_H
-#define _LINUX_SNMP_H
-
-/* ipstats mib definitions */
-/*
- * RFC 1213: MIB-II
- * RFC 2011 (updates 1213): SNMPv2-MIB-IP
- * RFC 2863: Interfaces Group MIB
- * RFC 2465: IPv6 MIB: General Group
- * draft-ietf-ipv6-rfc2011-update-10.txt: MIB for IP: IP Statistics Tables
- */
-enum
-{
- IPSTATS_MIB_NUM = 0,
-/* frequently written fields in fast path, kept in same cache line */
- IPSTATS_MIB_INPKTS, /* InReceives */
- IPSTATS_MIB_INOCTETS, /* InOctets */
- IPSTATS_MIB_INDELIVERS, /* InDelivers */
- IPSTATS_MIB_OUTFORWDATAGRAMS, /* OutForwDatagrams */
- IPSTATS_MIB_OUTPKTS, /* OutRequests */
- IPSTATS_MIB_OUTOCTETS, /* OutOctets */
-/* other fields */
- IPSTATS_MIB_INHDRERRORS, /* InHdrErrors */
- IPSTATS_MIB_INTOOBIGERRORS, /* InTooBigErrors */
- IPSTATS_MIB_INNOROUTES, /* InNoRoutes */
- IPSTATS_MIB_INADDRERRORS, /* InAddrErrors */
- IPSTATS_MIB_INUNKNOWNPROTOS, /* InUnknownProtos */
- IPSTATS_MIB_INTRUNCATEDPKTS, /* InTruncatedPkts */
- IPSTATS_MIB_INDISCARDS, /* InDiscards */
- IPSTATS_MIB_OUTDISCARDS, /* OutDiscards */
- IPSTATS_MIB_OUTNOROUTES, /* OutNoRoutes */
- IPSTATS_MIB_REASMTIMEOUT, /* ReasmTimeout */
- IPSTATS_MIB_REASMREQDS, /* ReasmReqds */
- IPSTATS_MIB_REASMOKS, /* ReasmOKs */
- IPSTATS_MIB_REASMFAILS, /* ReasmFails */
- IPSTATS_MIB_FRAGOKS, /* FragOKs */
- IPSTATS_MIB_FRAGFAILS, /* FragFails */
- IPSTATS_MIB_FRAGCREATES, /* FragCreates */
- IPSTATS_MIB_INMCASTPKTS, /* InMcastPkts */
- IPSTATS_MIB_OUTMCASTPKTS, /* OutMcastPkts */
- IPSTATS_MIB_INBCASTPKTS, /* InBcastPkts */
- IPSTATS_MIB_OUTBCASTPKTS, /* OutBcastPkts */
- IPSTATS_MIB_INMCASTOCTETS, /* InMcastOctets */
- IPSTATS_MIB_OUTMCASTOCTETS, /* OutMcastOctets */
- IPSTATS_MIB_INBCASTOCTETS, /* InBcastOctets */
- IPSTATS_MIB_OUTBCASTOCTETS, /* OutBcastOctets */
- IPSTATS_MIB_CSUMERRORS, /* InCsumErrors */
- IPSTATS_MIB_NOECTPKTS, /* InNoECTPkts */
- IPSTATS_MIB_ECT1PKTS, /* InECT1Pkts */
- IPSTATS_MIB_ECT0PKTS, /* InECT0Pkts */
- IPSTATS_MIB_CEPKTS, /* InCEPkts */
- __IPSTATS_MIB_MAX
-};
-
-/* icmp mib definitions */
-/*
- * RFC 1213: MIB-II ICMP Group
- * RFC 2011 (updates 1213): SNMPv2 MIB for IP: ICMP group
- */
-enum
-{
- ICMP_MIB_NUM = 0,
- ICMP_MIB_INMSGS, /* InMsgs */
- ICMP_MIB_INERRORS, /* InErrors */
- ICMP_MIB_INDESTUNREACHS, /* InDestUnreachs */
- ICMP_MIB_INTIMEEXCDS, /* InTimeExcds */
- ICMP_MIB_INPARMPROBS, /* InParmProbs */
- ICMP_MIB_INSRCQUENCHS, /* InSrcQuenchs */
- ICMP_MIB_INREDIRECTS, /* InRedirects */
- ICMP_MIB_INECHOS, /* InEchos */
- ICMP_MIB_INECHOREPS, /* InEchoReps */
- ICMP_MIB_INTIMESTAMPS, /* InTimestamps */
- ICMP_MIB_INTIMESTAMPREPS, /* InTimestampReps */
- ICMP_MIB_INADDRMASKS, /* InAddrMasks */
- ICMP_MIB_INADDRMASKREPS, /* InAddrMaskReps */
- ICMP_MIB_OUTMSGS, /* OutMsgs */
- ICMP_MIB_OUTERRORS, /* OutErrors */
- ICMP_MIB_OUTDESTUNREACHS, /* OutDestUnreachs */
- ICMP_MIB_OUTTIMEEXCDS, /* OutTimeExcds */
- ICMP_MIB_OUTPARMPROBS, /* OutParmProbs */
- ICMP_MIB_OUTSRCQUENCHS, /* OutSrcQuenchs */
- ICMP_MIB_OUTREDIRECTS, /* OutRedirects */
- ICMP_MIB_OUTECHOS, /* OutEchos */
- ICMP_MIB_OUTECHOREPS, /* OutEchoReps */
- ICMP_MIB_OUTTIMESTAMPS, /* OutTimestamps */
- ICMP_MIB_OUTTIMESTAMPREPS, /* OutTimestampReps */
- ICMP_MIB_OUTADDRMASKS, /* OutAddrMasks */
- ICMP_MIB_OUTADDRMASKREPS, /* OutAddrMaskReps */
- ICMP_MIB_CSUMERRORS, /* InCsumErrors */
- __ICMP_MIB_MAX
-};
-
-#define __ICMPMSG_MIB_MAX 512 /* Out+In for all 8-bit ICMP types */
-
-/* icmp6 mib definitions */
-/*
- * RFC 2466: ICMPv6-MIB
- */
-enum
-{
- ICMP6_MIB_NUM = 0,
- ICMP6_MIB_INMSGS, /* InMsgs */
- ICMP6_MIB_INERRORS, /* InErrors */
- ICMP6_MIB_OUTMSGS, /* OutMsgs */
- ICMP6_MIB_OUTERRORS, /* OutErrors */
- ICMP6_MIB_CSUMERRORS, /* InCsumErrors */
- __ICMP6_MIB_MAX
-};
-
-#define __ICMP6MSG_MIB_MAX 512 /* Out+In for all 8-bit ICMPv6 types */
-
-/* tcp mib definitions */
-/*
- * RFC 1213: MIB-II TCP group
- * RFC 2012 (updates 1213): SNMPv2-MIB-TCP
- */
-enum
-{
- TCP_MIB_NUM = 0,
- TCP_MIB_RTOALGORITHM, /* RtoAlgorithm */
- TCP_MIB_RTOMIN, /* RtoMin */
- TCP_MIB_RTOMAX, /* RtoMax */
- TCP_MIB_MAXCONN, /* MaxConn */
- TCP_MIB_ACTIVEOPENS, /* ActiveOpens */
- TCP_MIB_PASSIVEOPENS, /* PassiveOpens */
- TCP_MIB_ATTEMPTFAILS, /* AttemptFails */
- TCP_MIB_ESTABRESETS, /* EstabResets */
- TCP_MIB_CURRESTAB, /* CurrEstab */
- TCP_MIB_INSEGS, /* InSegs */
- TCP_MIB_OUTSEGS, /* OutSegs */
- TCP_MIB_RETRANSSEGS, /* RetransSegs */
- TCP_MIB_INERRS, /* InErrs */
- TCP_MIB_OUTRSTS, /* OutRsts */
- TCP_MIB_CSUMERRORS, /* InCsumErrors */
- __TCP_MIB_MAX
-};
-
-/* udp mib definitions */
-/*
- * RFC 1213: MIB-II UDP group
- * RFC 2013 (updates 1213): SNMPv2-MIB-UDP
- */
-enum
-{
- UDP_MIB_NUM = 0,
- UDP_MIB_INDATAGRAMS, /* InDatagrams */
- UDP_MIB_NOPORTS, /* NoPorts */
- UDP_MIB_INERRORS, /* InErrors */
- UDP_MIB_OUTDATAGRAMS, /* OutDatagrams */
- UDP_MIB_RCVBUFERRORS, /* RcvbufErrors */
- UDP_MIB_SNDBUFERRORS, /* SndbufErrors */
- UDP_MIB_CSUMERRORS, /* InCsumErrors */
- UDP_MIB_IGNOREDMULTI, /* IgnoredMulti */
- __UDP_MIB_MAX
-};
-
-/* linux mib definitions */
-enum
-{
- LINUX_MIB_NUM = 0,
- LINUX_MIB_SYNCOOKIESSENT, /* SyncookiesSent */
- LINUX_MIB_SYNCOOKIESRECV, /* SyncookiesRecv */
- LINUX_MIB_SYNCOOKIESFAILED, /* SyncookiesFailed */
- LINUX_MIB_EMBRYONICRSTS, /* EmbryonicRsts */
- LINUX_MIB_PRUNECALLED, /* PruneCalled */
- LINUX_MIB_RCVPRUNED, /* RcvPruned */
- LINUX_MIB_OFOPRUNED, /* OfoPruned */
- LINUX_MIB_OUTOFWINDOWICMPS, /* OutOfWindowIcmps */
- LINUX_MIB_LOCKDROPPEDICMPS, /* LockDroppedIcmps */
- LINUX_MIB_ARPFILTER, /* ArpFilter */
- LINUX_MIB_TIMEWAITED, /* TimeWaited */
- LINUX_MIB_TIMEWAITRECYCLED, /* TimeWaitRecycled */
- LINUX_MIB_TIMEWAITKILLED, /* TimeWaitKilled */
- LINUX_MIB_PAWSPASSIVEREJECTED, /* PAWSPassiveRejected */
- LINUX_MIB_PAWSACTIVEREJECTED, /* PAWSActiveRejected */
- LINUX_MIB_PAWSESTABREJECTED, /* PAWSEstabRejected */
- LINUX_MIB_DELAYEDACKS, /* DelayedACKs */
- LINUX_MIB_DELAYEDACKLOCKED, /* DelayedACKLocked */
- LINUX_MIB_DELAYEDACKLOST, /* DelayedACKLost */
- LINUX_MIB_LISTENOVERFLOWS, /* ListenOverflows */
- LINUX_MIB_LISTENDROPS, /* ListenDrops */
- LINUX_MIB_TCPPREQUEUED, /* TCPPrequeued */
- LINUX_MIB_TCPDIRECTCOPYFROMBACKLOG, /* TCPDirectCopyFromBacklog */
- LINUX_MIB_TCPDIRECTCOPYFROMPREQUEUE, /* TCPDirectCopyFromPrequeue */
- LINUX_MIB_TCPPREQUEUEDROPPED, /* TCPPrequeueDropped */
- LINUX_MIB_TCPHPHITS, /* TCPHPHits */
- LINUX_MIB_TCPHPHITSTOUSER, /* TCPHPHitsToUser */
- LINUX_MIB_TCPPUREACKS, /* TCPPureAcks */
- LINUX_MIB_TCPHPACKS, /* TCPHPAcks */
- LINUX_MIB_TCPRENORECOVERY, /* TCPRenoRecovery */
- LINUX_MIB_TCPSACKRECOVERY, /* TCPSackRecovery */
- LINUX_MIB_TCPSACKRENEGING, /* TCPSACKReneging */
- LINUX_MIB_TCPFACKREORDER, /* TCPFACKReorder */
- LINUX_MIB_TCPSACKREORDER, /* TCPSACKReorder */
- LINUX_MIB_TCPRENOREORDER, /* TCPRenoReorder */
- LINUX_MIB_TCPTSREORDER, /* TCPTSReorder */
- LINUX_MIB_TCPFULLUNDO, /* TCPFullUndo */
- LINUX_MIB_TCPPARTIALUNDO, /* TCPPartialUndo */
- LINUX_MIB_TCPDSACKUNDO, /* TCPDSACKUndo */
- LINUX_MIB_TCPLOSSUNDO, /* TCPLossUndo */
- LINUX_MIB_TCPLOSTRETRANSMIT, /* TCPLostRetransmit */
- LINUX_MIB_TCPRENOFAILURES, /* TCPRenoFailures */
- LINUX_MIB_TCPSACKFAILURES, /* TCPSackFailures */
- LINUX_MIB_TCPLOSSFAILURES, /* TCPLossFailures */
- LINUX_MIB_TCPFASTRETRANS, /* TCPFastRetrans */
- LINUX_MIB_TCPFORWARDRETRANS, /* TCPForwardRetrans */
- LINUX_MIB_TCPSLOWSTARTRETRANS, /* TCPSlowStartRetrans */
- LINUX_MIB_TCPTIMEOUTS, /* TCPTimeouts */
- LINUX_MIB_TCPLOSSPROBES, /* TCPLossProbes */
- LINUX_MIB_TCPLOSSPROBERECOVERY, /* TCPLossProbeRecovery */
- LINUX_MIB_TCPRENORECOVERYFAIL, /* TCPRenoRecoveryFail */
- LINUX_MIB_TCPSACKRECOVERYFAIL, /* TCPSackRecoveryFail */
- LINUX_MIB_TCPSCHEDULERFAILED, /* TCPSchedulerFailed */
- LINUX_MIB_TCPRCVCOLLAPSED, /* TCPRcvCollapsed */
- LINUX_MIB_TCPDSACKOLDSENT, /* TCPDSACKOldSent */
- LINUX_MIB_TCPDSACKOFOSENT, /* TCPDSACKOfoSent */
- LINUX_MIB_TCPDSACKRECV, /* TCPDSACKRecv */
- LINUX_MIB_TCPDSACKOFORECV, /* TCPDSACKOfoRecv */
- LINUX_MIB_TCPABORTONDATA, /* TCPAbortOnData */
- LINUX_MIB_TCPABORTONCLOSE, /* TCPAbortOnClose */
- LINUX_MIB_TCPABORTONMEMORY, /* TCPAbortOnMemory */
- LINUX_MIB_TCPABORTONTIMEOUT, /* TCPAbortOnTimeout */
- LINUX_MIB_TCPABORTONLINGER, /* TCPAbortOnLinger */
- LINUX_MIB_TCPABORTFAILED, /* TCPAbortFailed */
- LINUX_MIB_TCPMEMORYPRESSURES, /* TCPMemoryPressures */
- LINUX_MIB_TCPSACKDISCARD, /* TCPSACKDiscard */
- LINUX_MIB_TCPDSACKIGNOREDOLD, /* TCPSACKIgnoredOld */
- LINUX_MIB_TCPDSACKIGNOREDNOUNDO, /* TCPSACKIgnoredNoUndo */
- LINUX_MIB_TCPSPURIOUSRTOS, /* TCPSpuriousRTOs */
- LINUX_MIB_TCPMD5NOTFOUND, /* TCPMD5NotFound */
- LINUX_MIB_TCPMD5UNEXPECTED, /* TCPMD5Unexpected */
- LINUX_MIB_SACKSHIFTED,
- LINUX_MIB_SACKMERGED,
- LINUX_MIB_SACKSHIFTFALLBACK,
- LINUX_MIB_TCPBACKLOGDROP,
- LINUX_MIB_TCPMINTTLDROP, /* RFC 5082 */
- LINUX_MIB_TCPDEFERACCEPTDROP,
- LINUX_MIB_IPRPFILTER, /* IP Reverse Path Filter (rp_filter) */
- LINUX_MIB_TCPTIMEWAITOVERFLOW, /* TCPTimeWaitOverflow */
- LINUX_MIB_TCPREQQFULLDOCOOKIES, /* TCPReqQFullDoCookies */
- LINUX_MIB_TCPREQQFULLDROP, /* TCPReqQFullDrop */
- LINUX_MIB_TCPRETRANSFAIL, /* TCPRetransFail */
- LINUX_MIB_TCPRCVCOALESCE, /* TCPRcvCoalesce */
- LINUX_MIB_TCPOFOQUEUE, /* TCPOFOQueue */
- LINUX_MIB_TCPOFODROP, /* TCPOFODrop */
- LINUX_MIB_TCPOFOMERGE, /* TCPOFOMerge */
- LINUX_MIB_TCPCHALLENGEACK, /* TCPChallengeACK */
- LINUX_MIB_TCPSYNCHALLENGE, /* TCPSYNChallenge */
- LINUX_MIB_TCPFASTOPENACTIVE, /* TCPFastOpenActive */
- LINUX_MIB_TCPFASTOPENACTIVEFAIL, /* TCPFastOpenActiveFail */
- LINUX_MIB_TCPFASTOPENPASSIVE, /* TCPFastOpenPassive*/
- LINUX_MIB_TCPFASTOPENPASSIVEFAIL, /* TCPFastOpenPassiveFail */
- LINUX_MIB_TCPFASTOPENLISTENOVERFLOW, /* TCPFastOpenListenOverflow */
- LINUX_MIB_TCPFASTOPENCOOKIEREQD, /* TCPFastOpenCookieReqd */
- LINUX_MIB_TCPSPURIOUS_RTX_HOSTQUEUES, /* TCPSpuriousRtxHostQueues */
- LINUX_MIB_BUSYPOLLRXPACKETS, /* BusyPollRxPackets */
- LINUX_MIB_TCPAUTOCORKING, /* TCPAutoCorking */
- LINUX_MIB_TCPFROMZEROWINDOWADV, /* TCPFromZeroWindowAdv */
- LINUX_MIB_TCPTOZEROWINDOWADV, /* TCPToZeroWindowAdv */
- LINUX_MIB_TCPWANTZEROWINDOWADV, /* TCPWantZeroWindowAdv */
- LINUX_MIB_TCPSYNRETRANS, /* TCPSynRetrans */
- LINUX_MIB_TCPORIGDATASENT, /* TCPOrigDataSent */
- LINUX_MIB_TCPHYSTARTTRAINDETECT, /* TCPHystartTrainDetect */
- LINUX_MIB_TCPHYSTARTTRAINCWND, /* TCPHystartTrainCwnd */
- LINUX_MIB_TCPHYSTARTDELAYDETECT, /* TCPHystartDelayDetect */
- LINUX_MIB_TCPHYSTARTDELAYCWND, /* TCPHystartDelayCwnd */
- LINUX_MIB_TCPACKSKIPPEDSYNRECV, /* TCPACKSkippedSynRecv */
- LINUX_MIB_TCPACKSKIPPEDPAWS, /* TCPACKSkippedPAWS */
- LINUX_MIB_TCPACKSKIPPEDSEQ, /* TCPACKSkippedSeq */
- LINUX_MIB_TCPACKSKIPPEDFINWAIT2, /* TCPACKSkippedFinWait2 */
- LINUX_MIB_TCPACKSKIPPEDTIMEWAIT, /* TCPACKSkippedTimeWait */
- LINUX_MIB_TCPACKSKIPPEDCHALLENGE, /* TCPACKSkippedChallenge */
- LINUX_MIB_TCPWINPROBE, /* TCPWinProbe */
- LINUX_MIB_TCPKEEPALIVE, /* TCPKeepAlive */
- LINUX_MIB_TCPMTUPFAIL, /* TCPMTUPFail */
- LINUX_MIB_TCPMTUPSUCCESS, /* TCPMTUPSuccess */
- __LINUX_MIB_MAX
-};
-
-/* linux Xfrm mib definitions */
-enum
-{
- LINUX_MIB_XFRMNUM = 0,
- LINUX_MIB_XFRMINERROR, /* XfrmInError */
- LINUX_MIB_XFRMINBUFFERERROR, /* XfrmInBufferError */
- LINUX_MIB_XFRMINHDRERROR, /* XfrmInHdrError */
- LINUX_MIB_XFRMINNOSTATES, /* XfrmInNoStates */
- LINUX_MIB_XFRMINSTATEPROTOERROR, /* XfrmInStateProtoError */
- LINUX_MIB_XFRMINSTATEMODEERROR, /* XfrmInStateModeError */
- LINUX_MIB_XFRMINSTATESEQERROR, /* XfrmInStateSeqError */
- LINUX_MIB_XFRMINSTATEEXPIRED, /* XfrmInStateExpired */
- LINUX_MIB_XFRMINSTATEMISMATCH, /* XfrmInStateMismatch */
- LINUX_MIB_XFRMINSTATEINVALID, /* XfrmInStateInvalid */
- LINUX_MIB_XFRMINTMPLMISMATCH, /* XfrmInTmplMismatch */
- LINUX_MIB_XFRMINNOPOLS, /* XfrmInNoPols */
- LINUX_MIB_XFRMINPOLBLOCK, /* XfrmInPolBlock */
- LINUX_MIB_XFRMINPOLERROR, /* XfrmInPolError */
- LINUX_MIB_XFRMOUTERROR, /* XfrmOutError */
- LINUX_MIB_XFRMOUTBUNDLEGENERROR, /* XfrmOutBundleGenError */
- LINUX_MIB_XFRMOUTBUNDLECHECKERROR, /* XfrmOutBundleCheckError */
- LINUX_MIB_XFRMOUTNOSTATES, /* XfrmOutNoStates */
- LINUX_MIB_XFRMOUTSTATEPROTOERROR, /* XfrmOutStateProtoError */
- LINUX_MIB_XFRMOUTSTATEMODEERROR, /* XfrmOutStateModeError */
- LINUX_MIB_XFRMOUTSTATESEQERROR, /* XfrmOutStateSeqError */
- LINUX_MIB_XFRMOUTSTATEEXPIRED, /* XfrmOutStateExpired */
- LINUX_MIB_XFRMOUTPOLBLOCK, /* XfrmOutPolBlock */
- LINUX_MIB_XFRMOUTPOLDEAD, /* XfrmOutPolDead */
- LINUX_MIB_XFRMOUTPOLERROR, /* XfrmOutPolError */
- LINUX_MIB_XFRMFWDHDRERROR, /* XfrmFwdHdrError*/
- LINUX_MIB_XFRMOUTSTATEINVALID, /* XfrmOutStateInvalid */
- LINUX_MIB_XFRMACQUIREERROR, /* XfrmAcquireError */
- __LINUX_MIB_XFRMMAX
-};
-
-#endif /* _LINUX_SNMP_H */
diff --git a/linux-headers/include/linux/sock_diag.h b/linux-headers/include/linux/sock_diag.h
deleted file mode 100644
index dafcb89..0000000
--- a/linux-headers/include/linux/sock_diag.h
+++ /dev/null
@@ -1,37 +0,0 @@
-#ifndef __SOCK_DIAG_H__
-#define __SOCK_DIAG_H__
-
-#include <linux/types.h>
-
-#define SOCK_DIAG_BY_FAMILY 20
-#define SOCK_DESTROY 21
-
-struct sock_diag_req {
- __u8 sdiag_family;
- __u8 sdiag_protocol;
-};
-
-enum {
- SK_MEMINFO_RMEM_ALLOC,
- SK_MEMINFO_RCVBUF,
- SK_MEMINFO_WMEM_ALLOC,
- SK_MEMINFO_SNDBUF,
- SK_MEMINFO_FWD_ALLOC,
- SK_MEMINFO_WMEM_QUEUED,
- SK_MEMINFO_OPTMEM,
- SK_MEMINFO_BACKLOG,
-
- SK_MEMINFO_VARS,
-};
-
-enum sknetlink_groups {
- SKNLGRP_NONE,
- SKNLGRP_INET_TCP_DESTROY,
- SKNLGRP_INET_UDP_DESTROY,
- SKNLGRP_INET6_TCP_DESTROY,
- SKNLGRP_INET6_UDP_DESTROY,
- __SKNLGRP_MAX,
-};
-#define SKNLGRP_MAX (__SKNLGRP_MAX - 1)
-
-#endif /* __SOCK_DIAG_H__ */
diff --git a/linux-headers/include/linux/socket.h b/linux-headers/include/linux/socket.h
deleted file mode 100644
index 8c1e501..0000000
--- a/linux-headers/include/linux/socket.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _LINUX_SOCKET_H
-#define _LINUX_SOCKET_H
-
-/*
- * Desired design of maximum size and alignment (see RFC2553)
- */
-#define _K_SS_MAXSIZE 128 /* Implementation specific max size */
-#define _K_SS_ALIGNSIZE (__alignof__ (struct sockaddr *))
- /* Implementation specific desired alignment */
-
-typedef unsigned short __kernel_sa_family_t;
-
-struct __kernel_sockaddr_storage {
- __kernel_sa_family_t ss_family; /* address family */
- /* Following field(s) are implementation specific */
- char __data[_K_SS_MAXSIZE - sizeof(unsigned short)];
- /* space to achieve desired size, */
- /* _SS_MAXSIZE value minus size of ss_family */
-} __attribute__ ((aligned(_K_SS_ALIGNSIZE))); /* force desired alignment */
-
-#endif /* _LINUX_SOCKET_H */
diff --git a/linux-headers/include/linux/sockios.h b/linux-headers/include/linux/sockios.h
deleted file mode 100644
index 8e7890b..0000000
--- a/linux-headers/include/linux/sockios.h
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions of the socket-level I/O control calls.
- *
- * Version: @(#)sockios.h 1.0.2 03/09/93
- *
- * Authors: Ross Biro
- * Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_SOCKIOS_H
-#define _LINUX_SOCKIOS_H
-
-#include <asm/sockios.h>
-
-/* Linux-specific socket ioctls */
-#define SIOCINQ FIONREAD
-#define SIOCOUTQ TIOCOUTQ /* output queue size (not sent + not acked) */
-
-/* Routing table calls. */
-#define SIOCADDRT 0x890B /* add routing table entry */
-#define SIOCDELRT 0x890C /* delete routing table entry */
-#define SIOCRTMSG 0x890D /* unused */
-
-/* Socket configuration controls. */
-#define SIOCGIFNAME 0x8910 /* get iface name */
-#define SIOCSIFLINK 0x8911 /* set iface channel */
-#define SIOCGIFCONF 0x8912 /* get iface list */
-#define SIOCGIFFLAGS 0x8913 /* get flags */
-#define SIOCSIFFLAGS 0x8914 /* set flags */
-#define SIOCGIFADDR 0x8915 /* get PA address */
-#define SIOCSIFADDR 0x8916 /* set PA address */
-#define SIOCGIFDSTADDR 0x8917 /* get remote PA address */
-#define SIOCSIFDSTADDR 0x8918 /* set remote PA address */
-#define SIOCGIFBRDADDR 0x8919 /* get broadcast PA address */
-#define SIOCSIFBRDADDR 0x891a /* set broadcast PA address */
-#define SIOCGIFNETMASK 0x891b /* get network PA mask */
-#define SIOCSIFNETMASK 0x891c /* set network PA mask */
-#define SIOCGIFMETRIC 0x891d /* get metric */
-#define SIOCSIFMETRIC 0x891e /* set metric */
-#define SIOCGIFMEM 0x891f /* get memory address (BSD) */
-#define SIOCSIFMEM 0x8920 /* set memory address (BSD) */
-#define SIOCGIFMTU 0x8921 /* get MTU size */
-#define SIOCSIFMTU 0x8922 /* set MTU size */
-#define SIOCSIFNAME 0x8923 /* set interface name */
-#define SIOCSIFHWADDR 0x8924 /* set hardware address */
-#define SIOCGIFENCAP 0x8925 /* get/set encapsulations */
-#define SIOCSIFENCAP 0x8926
-#define SIOCGIFHWADDR 0x8927 /* Get hardware address */
-#define SIOCGIFSLAVE 0x8929 /* Driver slaving support */
-#define SIOCSIFSLAVE 0x8930
-#define SIOCADDMULTI 0x8931 /* Multicast address lists */
-#define SIOCDELMULTI 0x8932
-#define SIOCGIFINDEX 0x8933 /* name -> if_index mapping */
-#define SIOGIFINDEX SIOCGIFINDEX /* misprint compatibility :-) */
-#define SIOCSIFPFLAGS 0x8934 /* set/get extended flags set */
-#define SIOCGIFPFLAGS 0x8935
-#define SIOCDIFADDR 0x8936 /* delete PA address */
-#define SIOCSIFHWBROADCAST 0x8937 /* set hardware broadcast addr */
-#define SIOCGIFCOUNT 0x8938 /* get number of devices */
-
-#define SIOCGIFBR 0x8940 /* Bridging support */
-#define SIOCSIFBR 0x8941 /* Set bridging options */
-
-#define SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */
-#define SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */
-
-/* SIOCGIFDIVERT was: 0x8944 Frame diversion support */
-/* SIOCSIFDIVERT was: 0x8945 Set frame diversion options */
-
-#define SIOCETHTOOL 0x8946 /* Ethtool interface */
-
-#define SIOCGMIIPHY 0x8947 /* Get address of MII PHY in use. */
-#define SIOCGMIIREG 0x8948 /* Read MII PHY register. */
-#define SIOCSMIIREG 0x8949 /* Write MII PHY register. */
-
-#define SIOCWANDEV 0x894A /* get/set netdev parameters */
-
-#define SIOCOUTQNSD 0x894B /* output queue size (not sent only) */
-
-/* ARP cache control calls. */
- /* 0x8950 - 0x8952 * obsolete calls, don't re-use */
-#define SIOCDARP 0x8953 /* delete ARP table entry */
-#define SIOCGARP 0x8954 /* get ARP table entry */
-#define SIOCSARP 0x8955 /* set ARP table entry */
-
-/* RARP cache control calls. */
-#define SIOCDRARP 0x8960 /* delete RARP table entry */
-#define SIOCGRARP 0x8961 /* get RARP table entry */
-#define SIOCSRARP 0x8962 /* set RARP table entry */
-
-/* Driver configuration calls */
-
-#define SIOCGIFMAP 0x8970 /* Get device parameters */
-#define SIOCSIFMAP 0x8971 /* Set device parameters */
-
-/* DLCI configuration calls */
-
-#define SIOCADDDLCI 0x8980 /* Create new DLCI device */
-#define SIOCDELDLCI 0x8981 /* Delete DLCI device */
-
-#define SIOCGIFVLAN 0x8982 /* 802.1Q VLAN support */
-#define SIOCSIFVLAN 0x8983 /* Set 802.1Q VLAN options */
-
-/* bonding calls */
-
-#define SIOCBONDENSLAVE 0x8990 /* enslave a device to the bond */
-#define SIOCBONDRELEASE 0x8991 /* release a slave from the bond*/
-#define SIOCBONDSETHWADDR 0x8992 /* set the hw addr of the bond */
-#define SIOCBONDSLAVEINFOQUERY 0x8993 /* rtn info about slave state */
-#define SIOCBONDINFOQUERY 0x8994 /* rtn info about bond state */
-#define SIOCBONDCHANGEACTIVE 0x8995 /* update to a new active slave */
-
-/* bridge calls */
-#define SIOCBRADDBR 0x89a0 /* create new bridge device */
-#define SIOCBRDELBR 0x89a1 /* remove bridge device */
-#define SIOCBRADDIF 0x89a2 /* add interface to bridge */
-#define SIOCBRDELIF 0x89a3 /* remove interface from bridge */
-
-/* hardware time stamping: parameters in linux/net_tstamp.h */
-#define SIOCSHWTSTAMP 0x89b0 /* set and get config */
-#define SIOCGHWTSTAMP 0x89b1 /* get config */
-
-/* Device private ioctl calls */
-
-/*
- * These 16 ioctls are available to devices via the do_ioctl() device
- * vector. Each device should include this file and redefine these names
- * as their own. Because these are device dependent it is a good idea
- * _NOT_ to issue them to random objects and hope.
- *
- * THESE IOCTLS ARE _DEPRECATED_ AND WILL DISAPPEAR IN 2.5.X -DaveM
- */
-
-#define SIOCDEVPRIVATE 0x89F0 /* to 89FF */
-
-/*
- * These 16 ioctl calls are protocol private
- */
-
-#define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */
-#endif /* _LINUX_SOCKIOS_H */
diff --git a/linux-headers/include/linux/sonet.h b/linux-headers/include/linux/sonet.h
deleted file mode 100644
index 77c834a..0000000
--- a/linux-headers/include/linux/sonet.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/* sonet.h - SONET/SHD physical layer control */
-
-/* Written 1995-2000 by Werner Almesberger, EPFL LRC/ICA */
-
-
-#ifndef LINUX_SONET_H
-#define LINUX_SONET_H
-
-#define __SONET_ITEMS \
- __HANDLE_ITEM(section_bip); /* section parity errors (B1) */ \
- __HANDLE_ITEM(line_bip); /* line parity errors (B2) */ \
- __HANDLE_ITEM(path_bip); /* path parity errors (B3) */ \
- __HANDLE_ITEM(line_febe); /* line parity errors at remote */ \
- __HANDLE_ITEM(path_febe); /* path parity errors at remote */ \
- __HANDLE_ITEM(corr_hcs); /* correctable header errors */ \
- __HANDLE_ITEM(uncorr_hcs); /* uncorrectable header errors */ \
- __HANDLE_ITEM(tx_cells); /* cells sent */ \
- __HANDLE_ITEM(rx_cells); /* cells received */
-
-struct sonet_stats {
-#define __HANDLE_ITEM(i) int i
- __SONET_ITEMS
-#undef __HANDLE_ITEM
-} __attribute__ ((packed));
-
-
-#define SONET_GETSTAT _IOR('a',ATMIOC_PHYTYP,struct sonet_stats)
- /* get statistics */
-#define SONET_GETSTATZ _IOR('a',ATMIOC_PHYTYP+1,struct sonet_stats)
- /* ... and zero counters */
-#define SONET_SETDIAG _IOWR('a',ATMIOC_PHYTYP+2,int)
- /* set error insertion */
-#define SONET_CLRDIAG _IOWR('a',ATMIOC_PHYTYP+3,int)
- /* clear error insertion */
-#define SONET_GETDIAG _IOR('a',ATMIOC_PHYTYP+4,int)
- /* query error insertion */
-#define SONET_SETFRAMING _IOW('a',ATMIOC_PHYTYP+5,int)
- /* set framing mode (SONET/SDH) */
-#define SONET_GETFRAMING _IOR('a',ATMIOC_PHYTYP+6,int)
- /* get framing mode */
-#define SONET_GETFRSENSE _IOR('a',ATMIOC_PHYTYP+7, \
- unsigned char[SONET_FRSENSE_SIZE]) /* get framing sense information */
-
-#define SONET_INS_SBIP 1 /* section BIP */
-#define SONET_INS_LBIP 2 /* line BIP */
-#define SONET_INS_PBIP 4 /* path BIP */
-#define SONET_INS_FRAME 8 /* out of frame */
-#define SONET_INS_LOS 16 /* set line to zero */
-#define SONET_INS_LAIS 32 /* line alarm indication signal */
-#define SONET_INS_PAIS 64 /* path alarm indication signal */
-#define SONET_INS_HCS 128 /* insert HCS error */
-
-#define SONET_FRAME_SONET 0 /* SONET STS-3 framing */
-#define SONET_FRAME_SDH 1 /* SDH STM-1 framing */
-
-#define SONET_FRSENSE_SIZE 6 /* C1[3],H1[3] (0xff for unknown) */
-
-
-
-#endif /* LINUX_SONET_H */
diff --git a/linux-headers/include/linux/sonypi.h b/linux-headers/include/linux/sonypi.h
deleted file mode 100644
index 1c0a25f..0000000
--- a/linux-headers/include/linux/sonypi.h
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Sony Programmable I/O Control Device driver for VAIO
- *
- * Copyright (C) 2001-2005 Stelian Pop <stelian@popies.net>
- *
- * Copyright (C) 2005 Narayanan R S <nars@kadamba.org>
-
- * Copyright (C) 2001-2002 Alcôve <www.alcove.com>
- *
- * Copyright (C) 2001 Michael Ashley <m.ashley@unsw.edu.au>
- *
- * Copyright (C) 2001 Junichi Morita <jun1m@mars.dti.ne.jp>
- *
- * Copyright (C) 2000 Takaya Kinjo <t-kinjo@tc4.so-net.ne.jp>
- *
- * Copyright (C) 2000 Andrew Tridgell <tridge@valinux.com>
- *
- * Earlier work by Werner Almesberger, Paul `Rusty' Russell and Paul Mackerras.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- */
-
-#ifndef _SONYPI_H_
-#define _SONYPI_H_
-
-#include <linux/types.h>
-
-/* events the user application reading /dev/sonypi can use */
-
-#define SONYPI_EVENT_IGNORE 0
-#define SONYPI_EVENT_JOGDIAL_DOWN 1
-#define SONYPI_EVENT_JOGDIAL_UP 2
-#define SONYPI_EVENT_JOGDIAL_DOWN_PRESSED 3
-#define SONYPI_EVENT_JOGDIAL_UP_PRESSED 4
-#define SONYPI_EVENT_JOGDIAL_PRESSED 5
-#define SONYPI_EVENT_JOGDIAL_RELEASED 6 /* obsolete */
-#define SONYPI_EVENT_CAPTURE_PRESSED 7
-#define SONYPI_EVENT_CAPTURE_RELEASED 8 /* obsolete */
-#define SONYPI_EVENT_CAPTURE_PARTIALPRESSED 9
-#define SONYPI_EVENT_CAPTURE_PARTIALRELEASED 10
-#define SONYPI_EVENT_FNKEY_ESC 11
-#define SONYPI_EVENT_FNKEY_F1 12
-#define SONYPI_EVENT_FNKEY_F2 13
-#define SONYPI_EVENT_FNKEY_F3 14
-#define SONYPI_EVENT_FNKEY_F4 15
-#define SONYPI_EVENT_FNKEY_F5 16
-#define SONYPI_EVENT_FNKEY_F6 17
-#define SONYPI_EVENT_FNKEY_F7 18
-#define SONYPI_EVENT_FNKEY_F8 19
-#define SONYPI_EVENT_FNKEY_F9 20
-#define SONYPI_EVENT_FNKEY_F10 21
-#define SONYPI_EVENT_FNKEY_F11 22
-#define SONYPI_EVENT_FNKEY_F12 23
-#define SONYPI_EVENT_FNKEY_1 24
-#define SONYPI_EVENT_FNKEY_2 25
-#define SONYPI_EVENT_FNKEY_D 26
-#define SONYPI_EVENT_FNKEY_E 27
-#define SONYPI_EVENT_FNKEY_F 28
-#define SONYPI_EVENT_FNKEY_S 29
-#define SONYPI_EVENT_FNKEY_B 30
-#define SONYPI_EVENT_BLUETOOTH_PRESSED 31
-#define SONYPI_EVENT_PKEY_P1 32
-#define SONYPI_EVENT_PKEY_P2 33
-#define SONYPI_EVENT_PKEY_P3 34
-#define SONYPI_EVENT_BACK_PRESSED 35
-#define SONYPI_EVENT_LID_CLOSED 36
-#define SONYPI_EVENT_LID_OPENED 37
-#define SONYPI_EVENT_BLUETOOTH_ON 38
-#define SONYPI_EVENT_BLUETOOTH_OFF 39
-#define SONYPI_EVENT_HELP_PRESSED 40
-#define SONYPI_EVENT_FNKEY_ONLY 41
-#define SONYPI_EVENT_JOGDIAL_FAST_DOWN 42
-#define SONYPI_EVENT_JOGDIAL_FAST_UP 43
-#define SONYPI_EVENT_JOGDIAL_FAST_DOWN_PRESSED 44
-#define SONYPI_EVENT_JOGDIAL_FAST_UP_PRESSED 45
-#define SONYPI_EVENT_JOGDIAL_VFAST_DOWN 46
-#define SONYPI_EVENT_JOGDIAL_VFAST_UP 47
-#define SONYPI_EVENT_JOGDIAL_VFAST_DOWN_PRESSED 48
-#define SONYPI_EVENT_JOGDIAL_VFAST_UP_PRESSED 49
-#define SONYPI_EVENT_ZOOM_PRESSED 50
-#define SONYPI_EVENT_THUMBPHRASE_PRESSED 51
-#define SONYPI_EVENT_MEYE_FACE 52
-#define SONYPI_EVENT_MEYE_OPPOSITE 53
-#define SONYPI_EVENT_MEMORYSTICK_INSERT 54
-#define SONYPI_EVENT_MEMORYSTICK_EJECT 55
-#define SONYPI_EVENT_ANYBUTTON_RELEASED 56
-#define SONYPI_EVENT_BATTERY_INSERT 57
-#define SONYPI_EVENT_BATTERY_REMOVE 58
-#define SONYPI_EVENT_FNKEY_RELEASED 59
-#define SONYPI_EVENT_WIRELESS_ON 60
-#define SONYPI_EVENT_WIRELESS_OFF 61
-#define SONYPI_EVENT_ZOOM_IN_PRESSED 62
-#define SONYPI_EVENT_ZOOM_OUT_PRESSED 63
-#define SONYPI_EVENT_CD_EJECT_PRESSED 64
-#define SONYPI_EVENT_MODEKEY_PRESSED 65
-#define SONYPI_EVENT_PKEY_P4 66
-#define SONYPI_EVENT_PKEY_P5 67
-#define SONYPI_EVENT_SETTINGKEY_PRESSED 68
-#define SONYPI_EVENT_VOLUME_INC_PRESSED 69
-#define SONYPI_EVENT_VOLUME_DEC_PRESSED 70
-#define SONYPI_EVENT_BRIGHTNESS_PRESSED 71
-#define SONYPI_EVENT_MEDIA_PRESSED 72
-#define SONYPI_EVENT_VENDOR_PRESSED 73
-
-/* get/set brightness */
-#define SONYPI_IOCGBRT _IOR('v', 0, __u8)
-#define SONYPI_IOCSBRT _IOW('v', 0, __u8)
-
-/* get battery full capacity/remaining capacity */
-#define SONYPI_IOCGBAT1CAP _IOR('v', 2, __u16)
-#define SONYPI_IOCGBAT1REM _IOR('v', 3, __u16)
-#define SONYPI_IOCGBAT2CAP _IOR('v', 4, __u16)
-#define SONYPI_IOCGBAT2REM _IOR('v', 5, __u16)
-
-/* get battery flags: battery1/battery2/ac adapter present */
-#define SONYPI_BFLAGS_B1 0x01
-#define SONYPI_BFLAGS_B2 0x02
-#define SONYPI_BFLAGS_AC 0x04
-#define SONYPI_IOCGBATFLAGS _IOR('v', 7, __u8)
-
-/* get/set bluetooth subsystem state on/off */
-#define SONYPI_IOCGBLUE _IOR('v', 8, __u8)
-#define SONYPI_IOCSBLUE _IOW('v', 9, __u8)
-
-/* get/set fan state on/off */
-#define SONYPI_IOCGFAN _IOR('v', 10, __u8)
-#define SONYPI_IOCSFAN _IOW('v', 11, __u8)
-
-/* get temperature (C) */
-#define SONYPI_IOCGTEMP _IOR('v', 12, __u8)
-
-
-#endif /* _SONYPI_H_ */
diff --git a/linux-headers/include/linux/sound.h b/linux-headers/include/linux/sound.h
deleted file mode 100644
index a1d0682..0000000
--- a/linux-headers/include/linux/sound.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifndef _LINUX_SOUND_H
-#define _LINUX_SOUND_H
-
-/*
- * Minor numbers for the sound driver.
- */
-
-#include <linux/fs.h>
-
-#define SND_DEV_CTL 0 /* Control port /dev/mixer */
-#define SND_DEV_SEQ 1 /* Sequencer output /dev/sequencer (FM
- synthesizer and MIDI output) */
-#define SND_DEV_MIDIN 2 /* Raw midi access */
-#define SND_DEV_DSP 3 /* Digitized voice /dev/dsp */
-#define SND_DEV_AUDIO 4 /* Sparc compatible /dev/audio */
-#define SND_DEV_DSP16 5 /* Like /dev/dsp but 16 bits/sample */
-/* #define SND_DEV_STATUS 6 */ /* /dev/sndstat (obsolete) */
-#define SND_DEV_UNUSED 6
-#define SND_DEV_AWFM 7 /* Reserved */
-#define SND_DEV_SEQ2 8 /* /dev/sequencer, level 2 interface */
-/* #define SND_DEV_SNDPROC 9 */ /* /dev/sndproc for programmable devices (not used) */
-/* #define SND_DEV_DMMIDI 9 */
-#define SND_DEV_SYNTH 9 /* Raw synth access /dev/synth (same as /dev/dmfm) */
-#define SND_DEV_DMFM 10 /* Raw synth access /dev/dmfm */
-#define SND_DEV_UNKNOWN11 11
-#define SND_DEV_ADSP 12 /* Like /dev/dsp (obsolete) */
-#define SND_DEV_AMIDI 13 /* Like /dev/midi (obsolete) */
-#define SND_DEV_ADMMIDI 14 /* Like /dev/dmmidi (onsolete) */
-
-
-#endif /* _LINUX_SOUND_H */
diff --git a/linux-headers/include/linux/soundcard.h b/linux-headers/include/linux/soundcard.h
deleted file mode 100644
index c5abf86..0000000
--- a/linux-headers/include/linux/soundcard.h
+++ /dev/null
@@ -1,1276 +0,0 @@
-/*
- * Copyright by Hannu Savolainen 1993-1997
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are
- * met: 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer. 2.
- * Redistributions in binary form must reproduce the above copyright notice,
- * this list of conditions and the following disclaimer in the documentation
- * and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
- * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
- * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
- * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-#ifndef SOUNDCARD_H
-#define SOUNDCARD_H
-
-
-/*
- * OSS interface version. With versions earlier than 3.6 this value is
- * an integer with value less than 361. In versions 3.6 and later
- * it's a six digit hexadecimal value. For example value
- * of 0x030600 represents OSS version 3.6.0.
- * Use ioctl(fd, OSS_GETVERSION, &int) to get the version number of
- * the currently active driver.
- */
-#define SOUND_VERSION 0x030802
-#define OPEN_SOUND_SYSTEM
-
-/* In Linux we need to be prepared for cross compiling */
-#include <linux/ioctl.h>
-
-/* Endian macros. */
-# include <endian.h>
-
-/*
- * Supported card ID numbers (Should be somewhere else?)
- */
-
-#define SNDCARD_ADLIB 1
-#define SNDCARD_SB 2
-#define SNDCARD_PAS 3
-#define SNDCARD_GUS 4
-#define SNDCARD_MPU401 5
-#define SNDCARD_SB16 6
-#define SNDCARD_SB16MIDI 7
-#define SNDCARD_UART6850 8
-#define SNDCARD_GUS16 9
-#define SNDCARD_MSS 10
-#define SNDCARD_PSS 11
-#define SNDCARD_SSCAPE 12
-#define SNDCARD_PSS_MPU 13
-#define SNDCARD_PSS_MSS 14
-#define SNDCARD_SSCAPE_MSS 15
-#define SNDCARD_TRXPRO 16
-#define SNDCARD_TRXPRO_SB 17
-#define SNDCARD_TRXPRO_MPU 18
-#define SNDCARD_MAD16 19
-#define SNDCARD_MAD16_MPU 20
-#define SNDCARD_CS4232 21
-#define SNDCARD_CS4232_MPU 22
-#define SNDCARD_MAUI 23
-#define SNDCARD_PSEUDO_MSS 24
-#define SNDCARD_GUSPNP 25
-#define SNDCARD_UART401 26
-/* Sound card numbers 27 to N are reserved. Don't add more numbers here. */
-
-/***********************************
- * IOCTL Commands for /dev/sequencer
- */
-
-#ifndef _SIOWR
-#if defined(_IOWR) && (defined(_AIX) || (!defined(sun) && !defined(sparc) && !defined(__sparc__) && !defined(__INCioctlh) && !defined(__Lynx__)))
-/* Use already defined ioctl defines if they exist (except with Sun or Sparc) */
-#define SIOCPARM_MASK IOCPARM_MASK
-#define SIOC_VOID IOC_VOID
-#define SIOC_OUT IOC_OUT
-#define SIOC_IN IOC_IN
-#define SIOC_INOUT IOC_INOUT
-#define _SIOC_SIZE _IOC_SIZE
-#define _SIOC_DIR _IOC_DIR
-#define _SIOC_NONE _IOC_NONE
-#define _SIOC_READ _IOC_READ
-#define _SIOC_WRITE _IOC_WRITE
-#define _SIO _IO
-#define _SIOR _IOR
-#define _SIOW _IOW
-#define _SIOWR _IOWR
-#else
-
-/* Ioctl's have the command encoded in the lower word,
- * and the size of any in or out parameters in the upper
- * word. The high 2 bits of the upper word are used
- * to encode the in/out status of the parameter; for now
- * we restrict parameters to at most 8191 bytes.
- */
-/* #define SIOCTYPE (0xff<<8) */
-#define SIOCPARM_MASK 0x1fff /* parameters must be < 8192 bytes */
-#define SIOC_VOID 0x00000000 /* no parameters */
-#define SIOC_OUT 0x20000000 /* copy out parameters */
-#define SIOC_IN 0x40000000 /* copy in parameters */
-#define SIOC_INOUT (SIOC_IN|SIOC_OUT)
-/* the 0x20000000 is so we can distinguish new ioctl's from old */
-#define _SIO(x,y) ((int)(SIOC_VOID|(x<<8)|y))
-#define _SIOR(x,y,t) ((int)(SIOC_OUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-#define _SIOW(x,y,t) ((int)(SIOC_IN|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-/* this should be _SIORW, but stdio got there first */
-#define _SIOWR(x,y,t) ((int)(SIOC_INOUT|((sizeof(t)&SIOCPARM_MASK)<<16)|(x<<8)|y))
-#define _SIOC_SIZE(x) ((x>>16)&SIOCPARM_MASK)
-#define _SIOC_DIR(x) (x & 0xf0000000)
-#define _SIOC_NONE SIOC_VOID
-#define _SIOC_READ SIOC_OUT
-#define _SIOC_WRITE SIOC_IN
-# endif /* _IOWR */
-#endif /* !_SIOWR */
-
-#define SNDCTL_SEQ_RESET _SIO ('Q', 0)
-#define SNDCTL_SEQ_SYNC _SIO ('Q', 1)
-#define SNDCTL_SYNTH_INFO _SIOWR('Q', 2, struct synth_info)
-#define SNDCTL_SEQ_CTRLRATE _SIOWR('Q', 3, int) /* Set/get timer resolution (HZ) */
-#define SNDCTL_SEQ_GETOUTCOUNT _SIOR ('Q', 4, int)
-#define SNDCTL_SEQ_GETINCOUNT _SIOR ('Q', 5, int)
-#define SNDCTL_SEQ_PERCMODE _SIOW ('Q', 6, int)
-#define SNDCTL_FM_LOAD_INSTR _SIOW ('Q', 7, struct sbi_instrument) /* Obsolete. Don't use!!!!!! */
-#define SNDCTL_SEQ_TESTMIDI _SIOW ('Q', 8, int)
-#define SNDCTL_SEQ_RESETSAMPLES _SIOW ('Q', 9, int)
-#define SNDCTL_SEQ_NRSYNTHS _SIOR ('Q',10, int)
-#define SNDCTL_SEQ_NRMIDIS _SIOR ('Q',11, int)
-#define SNDCTL_MIDI_INFO _SIOWR('Q',12, struct midi_info)
-#define SNDCTL_SEQ_THRESHOLD _SIOW ('Q',13, int)
-#define SNDCTL_SYNTH_MEMAVL _SIOWR('Q',14, int) /* in=dev#, out=memsize */
-#define SNDCTL_FM_4OP_ENABLE _SIOW ('Q',15, int) /* in=dev# */
-#define SNDCTL_SEQ_PANIC _SIO ('Q',17)
-#define SNDCTL_SEQ_OUTOFBAND _SIOW ('Q',18, struct seq_event_rec)
-#define SNDCTL_SEQ_GETTIME _SIOR ('Q',19, int)
-#define SNDCTL_SYNTH_ID _SIOWR('Q',20, struct synth_info)
-#define SNDCTL_SYNTH_CONTROL _SIOWR('Q',21, struct synth_control)
-#define SNDCTL_SYNTH_REMOVESAMPLE _SIOWR('Q',22, struct remove_sample)
-
-typedef struct synth_control
-{
- int devno; /* Synthesizer # */
- char data[4000]; /* Device spesific command/data record */
-}synth_control;
-
-typedef struct remove_sample
-{
- int devno; /* Synthesizer # */
- int bankno; /* MIDI bank # (0=General MIDI) */
- int instrno; /* MIDI instrument number */
-} remove_sample;
-
-typedef struct seq_event_rec {
- unsigned char arr[8];
-} seq_event_rec;
-
-#define SNDCTL_TMR_TIMEBASE _SIOWR('T', 1, int)
-#define SNDCTL_TMR_START _SIO ('T', 2)
-#define SNDCTL_TMR_STOP _SIO ('T', 3)
-#define SNDCTL_TMR_CONTINUE _SIO ('T', 4)
-#define SNDCTL_TMR_TEMPO _SIOWR('T', 5, int)
-#define SNDCTL_TMR_SOURCE _SIOWR('T', 6, int)
-# define TMR_INTERNAL 0x00000001
-# define TMR_EXTERNAL 0x00000002
-# define TMR_MODE_MIDI 0x00000010
-# define TMR_MODE_FSK 0x00000020
-# define TMR_MODE_CLS 0x00000040
-# define TMR_MODE_SMPTE 0x00000080
-#define SNDCTL_TMR_METRONOME _SIOW ('T', 7, int)
-#define SNDCTL_TMR_SELECT _SIOW ('T', 8, int)
-
-/*
- * Some big endian/little endian handling macros
- */
-
-#define _LINUX_PATCHKEY_H_INDIRECT
-#include <linux/patchkey.h>
-#undef _LINUX_PATCHKEY_H_INDIRECT
-
-# if defined(__BYTE_ORDER)
-# if __BYTE_ORDER == __BIG_ENDIAN
-# define AFMT_S16_NE AFMT_S16_BE
-# elif __BYTE_ORDER == __LITTLE_ENDIAN
-# define AFMT_S16_NE AFMT_S16_LE
-# else
-# error "could not determine byte order"
-# endif
-# endif
-
-/*
- * Sample loading mechanism for internal synthesizers (/dev/sequencer)
- * The following patch_info structure has been designed to support
- * Gravis UltraSound. It tries to be universal format for uploading
- * sample based patches but is probably too limited.
- *
- * (PBD) As Hannu guessed, the GUS structure is too limited for
- * the WaveFront, but this is the right place for a constant definition.
- */
-
-struct patch_info {
- unsigned short key; /* Use WAVE_PATCH here */
-#define WAVE_PATCH _PATCHKEY(0x04)
-#define GUS_PATCH WAVE_PATCH
-#define WAVEFRONT_PATCH _PATCHKEY(0x06)
-
- short device_no; /* Synthesizer number */
- short instr_no; /* Midi pgm# */
-
- unsigned int mode;
-/*
- * The least significant byte has the same format than the GUS .PAT
- * files
- */
-#define WAVE_16_BITS 0x01 /* bit 0 = 8 or 16 bit wave data. */
-#define WAVE_UNSIGNED 0x02 /* bit 1 = Signed - Unsigned data. */
-#define WAVE_LOOPING 0x04 /* bit 2 = looping enabled-1. */
-#define WAVE_BIDIR_LOOP 0x08 /* bit 3 = Set is bidirectional looping. */
-#define WAVE_LOOP_BACK 0x10 /* bit 4 = Set is looping backward. */
-#define WAVE_SUSTAIN_ON 0x20 /* bit 5 = Turn sustaining on. (Env. pts. 3)*/
-#define WAVE_ENVELOPES 0x40 /* bit 6 = Enable envelopes - 1 */
-#define WAVE_FAST_RELEASE 0x80 /* bit 7 = Shut off immediately after note off */
- /* (use the env_rate/env_offs fields). */
-/* Linux specific bits */
-#define WAVE_VIBRATO 0x00010000 /* The vibrato info is valid */
-#define WAVE_TREMOLO 0x00020000 /* The tremolo info is valid */
-#define WAVE_SCALE 0x00040000 /* The scaling info is valid */
-#define WAVE_FRACTIONS 0x00080000 /* Fraction information is valid */
-/* Reserved bits */
-#define WAVE_ROM 0x40000000 /* For future use */
-#define WAVE_MULAW 0x20000000 /* For future use */
-/* Other bits must be zeroed */
-
- int len; /* Size of the wave data in bytes */
- int loop_start, loop_end; /* Byte offsets from the beginning */
-
-/*
- * The base_freq and base_note fields are used when computing the
- * playback speed for a note. The base_note defines the tone frequency
- * which is heard if the sample is played using the base_freq as the
- * playback speed.
- *
- * The low_note and high_note fields define the minimum and maximum note
- * frequencies for which this sample is valid. It is possible to define
- * more than one samples for an instrument number at the same time. The
- * low_note and high_note fields are used to select the most suitable one.
- *
- * The fields base_note, high_note and low_note should contain
- * the note frequency multiplied by 1000. For example value for the
- * middle A is 440*1000.
- */
-
- unsigned int base_freq;
- unsigned int base_note;
- unsigned int high_note;
- unsigned int low_note;
- int panning; /* -128=left, 127=right */
- int detuning;
-
-/* New fields introduced in version 1.99.5 */
-
- /* Envelope. Enabled by mode bit WAVE_ENVELOPES */
- unsigned char env_rate[ 6 ]; /* GUS HW ramping rate */
- unsigned char env_offset[ 6 ]; /* 255 == 100% */
-
- /*
- * The tremolo, vibrato and scale info are not supported yet.
- * Enable by setting the mode bits WAVE_TREMOLO, WAVE_VIBRATO or
- * WAVE_SCALE
- */
-
- unsigned char tremolo_sweep;
- unsigned char tremolo_rate;
- unsigned char tremolo_depth;
-
- unsigned char vibrato_sweep;
- unsigned char vibrato_rate;
- unsigned char vibrato_depth;
-
- int scale_frequency;
- unsigned int scale_factor; /* from 0 to 2048 or 0 to 2 */
-
- int volume;
- int fractions;
- int reserved1;
- int spare[2];
- char data[1]; /* The waveform data starts here */
- };
-
-struct sysex_info {
- short key; /* Use SYSEX_PATCH or MAUI_PATCH here */
-#define SYSEX_PATCH _PATCHKEY(0x05)
-#define MAUI_PATCH _PATCHKEY(0x06)
- short device_no; /* Synthesizer number */
- int len; /* Size of the sysex data in bytes */
- unsigned char data[1]; /* Sysex data starts here */
- };
-
-/*
- * /dev/sequencer input events.
- *
- * The data written to the /dev/sequencer is a stream of events. Events
- * are records of 4 or 8 bytes. The first byte defines the size.
- * Any number of events can be written with a write call. There
- * is a set of macros for sending these events. Use these macros if you
- * want to maximize portability of your program.
- *
- * Events SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO. Are also input events.
- * (All input events are currently 4 bytes long. Be prepared to support
- * 8 byte events also. If you receive any event having first byte >= 128,
- * it's a 8 byte event.
- *
- * The events are documented at the end of this file.
- *
- * Normal events (4 bytes)
- * There is also a 8 byte version of most of the 4 byte events. The
- * 8 byte one is recommended.
- */
-#define SEQ_NOTEOFF 0
-#define SEQ_FMNOTEOFF SEQ_NOTEOFF /* Just old name */
-#define SEQ_NOTEON 1
-#define SEQ_FMNOTEON SEQ_NOTEON
-#define SEQ_WAIT TMR_WAIT_ABS
-#define SEQ_PGMCHANGE 3
-#define SEQ_FMPGMCHANGE SEQ_PGMCHANGE
-#define SEQ_SYNCTIMER TMR_START
-#define SEQ_MIDIPUTC 5
-#define SEQ_DRUMON 6 /*** OBSOLETE ***/
-#define SEQ_DRUMOFF 7 /*** OBSOLETE ***/
-#define SEQ_ECHO TMR_ECHO /* For synching programs with output */
-#define SEQ_AFTERTOUCH 9
-#define SEQ_CONTROLLER 10
-
-/*******************************************
- * Midi controller numbers
- *******************************************
- * Controllers 0 to 31 (0x00 to 0x1f) and
- * 32 to 63 (0x20 to 0x3f) are continuous
- * controllers.
- * In the MIDI 1.0 these controllers are sent using
- * two messages. Controller numbers 0 to 31 are used
- * to send the MSB and the controller numbers 32 to 63
- * are for the LSB. Note that just 7 bits are used in MIDI bytes.
- */
-
-#define CTL_BANK_SELECT 0x00
-#define CTL_MODWHEEL 0x01
-#define CTL_BREATH 0x02
-/* undefined 0x03 */
-#define CTL_FOOT 0x04
-#define CTL_PORTAMENTO_TIME 0x05
-#define CTL_DATA_ENTRY 0x06
-#define CTL_MAIN_VOLUME 0x07
-#define CTL_BALANCE 0x08
-/* undefined 0x09 */
-#define CTL_PAN 0x0a
-#define CTL_EXPRESSION 0x0b
-/* undefined 0x0c */
-/* undefined 0x0d */
-/* undefined 0x0e */
-/* undefined 0x0f */
-#define CTL_GENERAL_PURPOSE1 0x10
-#define CTL_GENERAL_PURPOSE2 0x11
-#define CTL_GENERAL_PURPOSE3 0x12
-#define CTL_GENERAL_PURPOSE4 0x13
-/* undefined 0x14 - 0x1f */
-
-/* undefined 0x20 */
-/* The controller numbers 0x21 to 0x3f are reserved for the */
-/* least significant bytes of the controllers 0x00 to 0x1f. */
-/* These controllers are not recognised by the driver. */
-
-/* Controllers 64 to 69 (0x40 to 0x45) are on/off switches. */
-/* 0=OFF and 127=ON (intermediate values are possible) */
-#define CTL_DAMPER_PEDAL 0x40
-#define CTL_SUSTAIN 0x40 /* Alias */
-#define CTL_HOLD 0x40 /* Alias */
-#define CTL_PORTAMENTO 0x41
-#define CTL_SOSTENUTO 0x42
-#define CTL_SOFT_PEDAL 0x43
-/* undefined 0x44 */
-#define CTL_HOLD2 0x45
-/* undefined 0x46 - 0x4f */
-
-#define CTL_GENERAL_PURPOSE5 0x50
-#define CTL_GENERAL_PURPOSE6 0x51
-#define CTL_GENERAL_PURPOSE7 0x52
-#define CTL_GENERAL_PURPOSE8 0x53
-/* undefined 0x54 - 0x5a */
-#define CTL_EXT_EFF_DEPTH 0x5b
-#define CTL_TREMOLO_DEPTH 0x5c
-#define CTL_CHORUS_DEPTH 0x5d
-#define CTL_DETUNE_DEPTH 0x5e
-#define CTL_CELESTE_DEPTH 0x5e /* Alias for the above one */
-#define CTL_PHASER_DEPTH 0x5f
-#define CTL_DATA_INCREMENT 0x60
-#define CTL_DATA_DECREMENT 0x61
-#define CTL_NONREG_PARM_NUM_LSB 0x62
-#define CTL_NONREG_PARM_NUM_MSB 0x63
-#define CTL_REGIST_PARM_NUM_LSB 0x64
-#define CTL_REGIST_PARM_NUM_MSB 0x65
-/* undefined 0x66 - 0x78 */
-/* reserved 0x79 - 0x7f */
-
-/* Pseudo controllers (not midi compatible) */
-#define CTRL_PITCH_BENDER 255
-#define CTRL_PITCH_BENDER_RANGE 254
-#define CTRL_EXPRESSION 253 /* Obsolete */
-#define CTRL_MAIN_VOLUME 252 /* Obsolete */
-#define SEQ_BALANCE 11
-#define SEQ_VOLMODE 12
-
-/*
- * Volume mode decides how volumes are used
- */
-
-#define VOL_METHOD_ADAGIO 1
-#define VOL_METHOD_LINEAR 2
-
-/*
- * Note! SEQ_WAIT, SEQ_MIDIPUTC and SEQ_ECHO are used also as
- * input events.
- */
-
-/*
- * Event codes 0xf0 to 0xfc are reserved for future extensions.
- */
-
-#define SEQ_FULLSIZE 0xfd /* Long events */
-/*
- * SEQ_FULLSIZE events are used for loading patches/samples to the
- * synthesizer devices. These events are passed directly to the driver
- * of the associated synthesizer device. There is no limit to the size
- * of the extended events. These events are not queued but executed
- * immediately when the write() is called (execution can take several
- * seconds of time).
- *
- * When a SEQ_FULLSIZE message is written to the device, it must
- * be written using exactly one write() call. Other events cannot
- * be mixed to the same write.
- *
- * For FM synths (YM3812/OPL3) use struct sbi_instrument and write it to the
- * /dev/sequencer. Don't write other data together with the instrument structure
- * Set the key field of the structure to FM_PATCH. The device field is used to
- * route the patch to the corresponding device.
- *
- * For wave table use struct patch_info. Initialize the key field
- * to WAVE_PATCH.
- */
-#define SEQ_PRIVATE 0xfe /* Low level HW dependent events (8 bytes) */
-#define SEQ_EXTENDED 0xff /* Extended events (8 bytes) OBSOLETE */
-
-/*
- * Record for FM patches
- */
-
-typedef unsigned char sbi_instr_data[32];
-
-struct sbi_instrument {
- unsigned short key; /* FM_PATCH or OPL3_PATCH */
-#define FM_PATCH _PATCHKEY(0x01)
-#define OPL3_PATCH _PATCHKEY(0x03)
- short device; /* Synth# (0-4) */
- int channel; /* Program# to be initialized */
- sbi_instr_data operators; /* Register settings for operator cells (.SBI format) */
- };
-
-struct synth_info { /* Read only */
- char name[30];
- int device; /* 0-N. INITIALIZE BEFORE CALLING */
- int synth_type;
-#define SYNTH_TYPE_FM 0
-#define SYNTH_TYPE_SAMPLE 1
-#define SYNTH_TYPE_MIDI 2 /* Midi interface */
-
- int synth_subtype;
-#define FM_TYPE_ADLIB 0x00
-#define FM_TYPE_OPL3 0x01
-#define MIDI_TYPE_MPU401 0x401
-
-#define SAMPLE_TYPE_BASIC 0x10
-#define SAMPLE_TYPE_GUS SAMPLE_TYPE_BASIC
-#define SAMPLE_TYPE_WAVEFRONT 0x11
-
- int perc_mode; /* No longer supported */
- int nr_voices;
- int nr_drums; /* Obsolete field */
- int instr_bank_size;
- unsigned int capabilities;
-#define SYNTH_CAP_PERCMODE 0x00000001 /* No longer used */
-#define SYNTH_CAP_OPL3 0x00000002 /* Set if OPL3 supported */
-#define SYNTH_CAP_INPUT 0x00000004 /* Input (MIDI) device */
- int dummies[19]; /* Reserve space */
- };
-
-struct sound_timer_info {
- char name[32];
- int caps;
- };
-
-#define MIDI_CAP_MPU401 1 /* MPU-401 intelligent mode */
-
-struct midi_info {
- char name[30];
- int device; /* 0-N. INITIALIZE BEFORE CALLING */
- unsigned int capabilities; /* To be defined later */
- int dev_type;
- int dummies[18]; /* Reserve space */
- };
-
-/********************************************
- * ioctl commands for the /dev/midi##
- */
-typedef struct {
- unsigned char cmd;
- char nr_args, nr_returns;
- unsigned char data[30];
- } mpu_command_rec;
-
-#define SNDCTL_MIDI_PRETIME _SIOWR('m', 0, int)
-#define SNDCTL_MIDI_MPUMODE _SIOWR('m', 1, int)
-#define SNDCTL_MIDI_MPUCMD _SIOWR('m', 2, mpu_command_rec)
-
-/********************************************
- * IOCTL commands for /dev/dsp and /dev/audio
- */
-
-#define SNDCTL_DSP_RESET _SIO ('P', 0)
-#define SNDCTL_DSP_SYNC _SIO ('P', 1)
-#define SNDCTL_DSP_SPEED _SIOWR('P', 2, int)
-#define SNDCTL_DSP_STEREO _SIOWR('P', 3, int)
-#define SNDCTL_DSP_GETBLKSIZE _SIOWR('P', 4, int)
-#define SNDCTL_DSP_SAMPLESIZE SNDCTL_DSP_SETFMT
-#define SNDCTL_DSP_CHANNELS _SIOWR('P', 6, int)
-#define SOUND_PCM_WRITE_CHANNELS SNDCTL_DSP_CHANNELS
-#define SOUND_PCM_WRITE_FILTER _SIOWR('P', 7, int)
-#define SNDCTL_DSP_POST _SIO ('P', 8)
-#define SNDCTL_DSP_SUBDIVIDE _SIOWR('P', 9, int)
-#define SNDCTL_DSP_SETFRAGMENT _SIOWR('P',10, int)
-
-/* Audio data formats (Note! U8=8 and S16_LE=16 for compatibility) */
-#define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int) /* Returns a mask */
-#define SNDCTL_DSP_SETFMT _SIOWR('P',5, int) /* Selects ONE fmt*/
-# define AFMT_QUERY 0x00000000 /* Return current fmt */
-# define AFMT_MU_LAW 0x00000001
-# define AFMT_A_LAW 0x00000002
-# define AFMT_IMA_ADPCM 0x00000004
-# define AFMT_U8 0x00000008
-# define AFMT_S16_LE 0x00000010 /* Little endian signed 16*/
-# define AFMT_S16_BE 0x00000020 /* Big endian signed 16 */
-# define AFMT_S8 0x00000040
-# define AFMT_U16_LE 0x00000080 /* Little endian U16 */
-# define AFMT_U16_BE 0x00000100 /* Big endian U16 */
-# define AFMT_MPEG 0x00000200 /* MPEG (2) audio */
-# define AFMT_AC3 0x00000400 /* Dolby Digital AC3 */
-
-/*
- * Buffer status queries.
- */
-typedef struct audio_buf_info {
- int fragments; /* # of available fragments (partially usend ones not counted) */
- int fragstotal; /* Total # of fragments allocated */
- int fragsize; /* Size of a fragment in bytes */
-
- int bytes; /* Available space in bytes (includes partially used fragments) */
- /* Note! 'bytes' could be more than fragments*fragsize */
- } audio_buf_info;
-
-#define SNDCTL_DSP_GETOSPACE _SIOR ('P',12, audio_buf_info)
-#define SNDCTL_DSP_GETISPACE _SIOR ('P',13, audio_buf_info)
-#define SNDCTL_DSP_NONBLOCK _SIO ('P',14)
-#define SNDCTL_DSP_GETCAPS _SIOR ('P',15, int)
-# define DSP_CAP_REVISION 0x000000ff /* Bits for revision level (0 to 255) */
-# define DSP_CAP_DUPLEX 0x00000100 /* Full duplex record/playback */
-# define DSP_CAP_REALTIME 0x00000200 /* Real time capability */
-# define DSP_CAP_BATCH 0x00000400 /* Device has some kind of */
- /* internal buffers which may */
- /* cause some delays and */
- /* decrease precision of timing */
-# define DSP_CAP_COPROC 0x00000800 /* Has a coprocessor */
- /* Sometimes it's a DSP */
- /* but usually not */
-# define DSP_CAP_TRIGGER 0x00001000 /* Supports SETTRIGGER */
-# define DSP_CAP_MMAP 0x00002000 /* Supports mmap() */
-# define DSP_CAP_MULTI 0x00004000 /* support multiple open */
-# define DSP_CAP_BIND 0x00008000 /* channel binding to front/rear/cneter/lfe */
-
-
-#define SNDCTL_DSP_GETTRIGGER _SIOR ('P',16, int)
-#define SNDCTL_DSP_SETTRIGGER _SIOW ('P',16, int)
-# define PCM_ENABLE_INPUT 0x00000001
-# define PCM_ENABLE_OUTPUT 0x00000002
-
-typedef struct count_info {
- int bytes; /* Total # of bytes processed */
- int blocks; /* # of fragment transitions since last time */
- int ptr; /* Current DMA pointer value */
- } count_info;
-
-#define SNDCTL_DSP_GETIPTR _SIOR ('P',17, count_info)
-#define SNDCTL_DSP_GETOPTR _SIOR ('P',18, count_info)
-
-typedef struct buffmem_desc {
- unsigned *buffer;
- int size;
- } buffmem_desc;
-#define SNDCTL_DSP_MAPINBUF _SIOR ('P', 19, buffmem_desc)
-#define SNDCTL_DSP_MAPOUTBUF _SIOR ('P', 20, buffmem_desc)
-#define SNDCTL_DSP_SETSYNCRO _SIO ('P', 21)
-#define SNDCTL_DSP_SETDUPLEX _SIO ('P', 22)
-#define SNDCTL_DSP_GETODELAY _SIOR ('P', 23, int)
-
-#define SNDCTL_DSP_GETCHANNELMASK _SIOWR('P', 64, int)
-#define SNDCTL_DSP_BIND_CHANNEL _SIOWR('P', 65, int)
-# define DSP_BIND_QUERY 0x00000000
-# define DSP_BIND_FRONT 0x00000001
-# define DSP_BIND_SURR 0x00000002
-# define DSP_BIND_CENTER_LFE 0x00000004
-# define DSP_BIND_HANDSET 0x00000008
-# define DSP_BIND_MIC 0x00000010
-# define DSP_BIND_MODEM1 0x00000020
-# define DSP_BIND_MODEM2 0x00000040
-# define DSP_BIND_I2S 0x00000080
-# define DSP_BIND_SPDIF 0x00000100
-
-#define SNDCTL_DSP_SETSPDIF _SIOW ('P', 66, int)
-#define SNDCTL_DSP_GETSPDIF _SIOR ('P', 67, int)
-# define SPDIF_PRO 0x0001
-# define SPDIF_N_AUD 0x0002
-# define SPDIF_COPY 0x0004
-# define SPDIF_PRE 0x0008
-# define SPDIF_CC 0x07f0
-# define SPDIF_L 0x0800
-# define SPDIF_DRS 0x4000
-# define SPDIF_V 0x8000
-
-/*
- * Application's profile defines the way how playback underrun situations should be handled.
- *
- * APF_NORMAL (the default) and APF_NETWORK make the driver to cleanup the
- * playback buffer whenever an underrun occurs. This consumes some time
- * prevents looping the existing buffer.
- * APF_CPUINTENS is intended to be set by CPU intensive applications which
- * are likely to run out of time occasionally. In this mode the buffer cleanup is
- * disabled which saves CPU time but also let's the previous buffer content to
- * be played during the "pause" after the underrun.
- */
-#define SNDCTL_DSP_PROFILE _SIOW ('P', 23, int)
-#define APF_NORMAL 0 /* Normal applications */
-#define APF_NETWORK 1 /* Underruns probably caused by an "external" delay */
-#define APF_CPUINTENS 2 /* Underruns probably caused by "overheating" the CPU */
-
-#define SOUND_PCM_READ_RATE _SIOR ('P', 2, int)
-#define SOUND_PCM_READ_CHANNELS _SIOR ('P', 6, int)
-#define SOUND_PCM_READ_BITS _SIOR ('P', 5, int)
-#define SOUND_PCM_READ_FILTER _SIOR ('P', 7, int)
-
-/* Some alias names */
-#define SOUND_PCM_WRITE_BITS SNDCTL_DSP_SETFMT
-#define SOUND_PCM_WRITE_RATE SNDCTL_DSP_SPEED
-#define SOUND_PCM_POST SNDCTL_DSP_POST
-#define SOUND_PCM_RESET SNDCTL_DSP_RESET
-#define SOUND_PCM_SYNC SNDCTL_DSP_SYNC
-#define SOUND_PCM_SUBDIVIDE SNDCTL_DSP_SUBDIVIDE
-#define SOUND_PCM_SETFRAGMENT SNDCTL_DSP_SETFRAGMENT
-#define SOUND_PCM_GETFMTS SNDCTL_DSP_GETFMTS
-#define SOUND_PCM_SETFMT SNDCTL_DSP_SETFMT
-#define SOUND_PCM_GETOSPACE SNDCTL_DSP_GETOSPACE
-#define SOUND_PCM_GETISPACE SNDCTL_DSP_GETISPACE
-#define SOUND_PCM_NONBLOCK SNDCTL_DSP_NONBLOCK
-#define SOUND_PCM_GETCAPS SNDCTL_DSP_GETCAPS
-#define SOUND_PCM_GETTRIGGER SNDCTL_DSP_GETTRIGGER
-#define SOUND_PCM_SETTRIGGER SNDCTL_DSP_SETTRIGGER
-#define SOUND_PCM_SETSYNCRO SNDCTL_DSP_SETSYNCRO
-#define SOUND_PCM_GETIPTR SNDCTL_DSP_GETIPTR
-#define SOUND_PCM_GETOPTR SNDCTL_DSP_GETOPTR
-#define SOUND_PCM_MAPINBUF SNDCTL_DSP_MAPINBUF
-#define SOUND_PCM_MAPOUTBUF SNDCTL_DSP_MAPOUTBUF
-
-/*
- * ioctl calls to be used in communication with coprocessors and
- * DSP chips.
- */
-
-typedef struct copr_buffer {
- int command; /* Set to 0 if not used */
- int flags;
-#define CPF_NONE 0x0000
-#define CPF_FIRST 0x0001 /* First block */
-#define CPF_LAST 0x0002 /* Last block */
- int len;
- int offs; /* If required by the device (0 if not used) */
-
- unsigned char data[4000]; /* NOTE! 4000 is not 4k */
- } copr_buffer;
-
-typedef struct copr_debug_buf {
- int command; /* Used internally. Set to 0 */
- int parm1;
- int parm2;
- int flags;
- int len; /* Length of data in bytes */
- } copr_debug_buf;
-
-typedef struct copr_msg {
- int len;
- unsigned char data[4000];
- } copr_msg;
-
-#define SNDCTL_COPR_RESET _SIO ('C', 0)
-#define SNDCTL_COPR_LOAD _SIOWR('C', 1, copr_buffer)
-#define SNDCTL_COPR_RDATA _SIOWR('C', 2, copr_debug_buf)
-#define SNDCTL_COPR_RCODE _SIOWR('C', 3, copr_debug_buf)
-#define SNDCTL_COPR_WDATA _SIOW ('C', 4, copr_debug_buf)
-#define SNDCTL_COPR_WCODE _SIOW ('C', 5, copr_debug_buf)
-#define SNDCTL_COPR_RUN _SIOWR('C', 6, copr_debug_buf)
-#define SNDCTL_COPR_HALT _SIOWR('C', 7, copr_debug_buf)
-#define SNDCTL_COPR_SENDMSG _SIOWR('C', 8, copr_msg)
-#define SNDCTL_COPR_RCVMSG _SIOR ('C', 9, copr_msg)
-
-/*********************************************
- * IOCTL commands for /dev/mixer
- */
-
-/*
- * Mixer devices
- *
- * There can be up to 20 different analog mixer channels. The
- * SOUND_MIXER_NRDEVICES gives the currently supported maximum.
- * The SOUND_MIXER_READ_DEVMASK returns a bitmask which tells
- * the devices supported by the particular mixer.
- */
-
-#define SOUND_MIXER_NRDEVICES 25
-#define SOUND_MIXER_VOLUME 0
-#define SOUND_MIXER_BASS 1
-#define SOUND_MIXER_TREBLE 2
-#define SOUND_MIXER_SYNTH 3
-#define SOUND_MIXER_PCM 4
-#define SOUND_MIXER_SPEAKER 5
-#define SOUND_MIXER_LINE 6
-#define SOUND_MIXER_MIC 7
-#define SOUND_MIXER_CD 8
-#define SOUND_MIXER_IMIX 9 /* Recording monitor */
-#define SOUND_MIXER_ALTPCM 10
-#define SOUND_MIXER_RECLEV 11 /* Recording level */
-#define SOUND_MIXER_IGAIN 12 /* Input gain */
-#define SOUND_MIXER_OGAIN 13 /* Output gain */
-/*
- * The AD1848 codec and compatibles have three line level inputs
- * (line, aux1 and aux2). Since each card manufacturer have assigned
- * different meanings to these inputs, it's inpractical to assign
- * specific meanings (line, cd, synth etc.) to them.
- */
-#define SOUND_MIXER_LINE1 14 /* Input source 1 (aux1) */
-#define SOUND_MIXER_LINE2 15 /* Input source 2 (aux2) */
-#define SOUND_MIXER_LINE3 16 /* Input source 3 (line) */
-#define SOUND_MIXER_DIGITAL1 17 /* Digital (input) 1 */
-#define SOUND_MIXER_DIGITAL2 18 /* Digital (input) 2 */
-#define SOUND_MIXER_DIGITAL3 19 /* Digital (input) 3 */
-#define SOUND_MIXER_PHONEIN 20 /* Phone input */
-#define SOUND_MIXER_PHONEOUT 21 /* Phone output */
-#define SOUND_MIXER_VIDEO 22 /* Video/TV (audio) in */
-#define SOUND_MIXER_RADIO 23 /* Radio in */
-#define SOUND_MIXER_MONITOR 24 /* Monitor (usually mic) volume */
-
-/* Some on/off settings (SOUND_SPECIAL_MIN - SOUND_SPECIAL_MAX) */
-/* Not counted to SOUND_MIXER_NRDEVICES, but use the same number space */
-#define SOUND_ONOFF_MIN 28
-#define SOUND_ONOFF_MAX 30
-
-/* Note! Number 31 cannot be used since the sign bit is reserved */
-#define SOUND_MIXER_NONE 31
-
-/*
- * The following unsupported macros are no longer functional.
- * Use SOUND_MIXER_PRIVATE# macros in future.
- */
-#define SOUND_MIXER_ENHANCE SOUND_MIXER_NONE
-#define SOUND_MIXER_MUTE SOUND_MIXER_NONE
-#define SOUND_MIXER_LOUD SOUND_MIXER_NONE
-
-
-#define SOUND_DEVICE_LABELS {"Vol ", "Bass ", "Trebl", "Synth", "Pcm ", "Spkr ", "Line ", \
- "Mic ", "CD ", "Mix ", "Pcm2 ", "Rec ", "IGain", "OGain", \
- "Line1", "Line2", "Line3", "Digital1", "Digital2", "Digital3", \
- "PhoneIn", "PhoneOut", "Video", "Radio", "Monitor"}
-
-#define SOUND_DEVICE_NAMES {"vol", "bass", "treble", "synth", "pcm", "speaker", "line", \
- "mic", "cd", "mix", "pcm2", "rec", "igain", "ogain", \
- "line1", "line2", "line3", "dig1", "dig2", "dig3", \
- "phin", "phout", "video", "radio", "monitor"}
-
-/* Device bitmask identifiers */
-
-#define SOUND_MIXER_RECSRC 0xff /* Arg contains a bit for each recording source */
-#define SOUND_MIXER_DEVMASK 0xfe /* Arg contains a bit for each supported device */
-#define SOUND_MIXER_RECMASK 0xfd /* Arg contains a bit for each supported recording source */
-#define SOUND_MIXER_CAPS 0xfc
-# define SOUND_CAP_EXCL_INPUT 0x00000001 /* Only one recording source at a time */
-#define SOUND_MIXER_STEREODEVS 0xfb /* Mixer channels supporting stereo */
-#define SOUND_MIXER_OUTSRC 0xfa /* Arg contains a bit for each input source to output */
-#define SOUND_MIXER_OUTMASK 0xf9 /* Arg contains a bit for each supported input source to output */
-
-/* Device mask bits */
-
-#define SOUND_MASK_VOLUME (1 << SOUND_MIXER_VOLUME)
-#define SOUND_MASK_BASS (1 << SOUND_MIXER_BASS)
-#define SOUND_MASK_TREBLE (1 << SOUND_MIXER_TREBLE)
-#define SOUND_MASK_SYNTH (1 << SOUND_MIXER_SYNTH)
-#define SOUND_MASK_PCM (1 << SOUND_MIXER_PCM)
-#define SOUND_MASK_SPEAKER (1 << SOUND_MIXER_SPEAKER)
-#define SOUND_MASK_LINE (1 << SOUND_MIXER_LINE)
-#define SOUND_MASK_MIC (1 << SOUND_MIXER_MIC)
-#define SOUND_MASK_CD (1 << SOUND_MIXER_CD)
-#define SOUND_MASK_IMIX (1 << SOUND_MIXER_IMIX)
-#define SOUND_MASK_ALTPCM (1 << SOUND_MIXER_ALTPCM)
-#define SOUND_MASK_RECLEV (1 << SOUND_MIXER_RECLEV)
-#define SOUND_MASK_IGAIN (1 << SOUND_MIXER_IGAIN)
-#define SOUND_MASK_OGAIN (1 << SOUND_MIXER_OGAIN)
-#define SOUND_MASK_LINE1 (1 << SOUND_MIXER_LINE1)
-#define SOUND_MASK_LINE2 (1 << SOUND_MIXER_LINE2)
-#define SOUND_MASK_LINE3 (1 << SOUND_MIXER_LINE3)
-#define SOUND_MASK_DIGITAL1 (1 << SOUND_MIXER_DIGITAL1)
-#define SOUND_MASK_DIGITAL2 (1 << SOUND_MIXER_DIGITAL2)
-#define SOUND_MASK_DIGITAL3 (1 << SOUND_MIXER_DIGITAL3)
-#define SOUND_MASK_PHONEIN (1 << SOUND_MIXER_PHONEIN)
-#define SOUND_MASK_PHONEOUT (1 << SOUND_MIXER_PHONEOUT)
-#define SOUND_MASK_RADIO (1 << SOUND_MIXER_RADIO)
-#define SOUND_MASK_VIDEO (1 << SOUND_MIXER_VIDEO)
-#define SOUND_MASK_MONITOR (1 << SOUND_MIXER_MONITOR)
-
-/* Obsolete macros */
-#define SOUND_MASK_MUTE (1 << SOUND_MIXER_MUTE)
-#define SOUND_MASK_ENHANCE (1 << SOUND_MIXER_ENHANCE)
-#define SOUND_MASK_LOUD (1 << SOUND_MIXER_LOUD)
-
-#define MIXER_READ(dev) _SIOR('M', dev, int)
-#define SOUND_MIXER_READ_VOLUME MIXER_READ(SOUND_MIXER_VOLUME)
-#define SOUND_MIXER_READ_BASS MIXER_READ(SOUND_MIXER_BASS)
-#define SOUND_MIXER_READ_TREBLE MIXER_READ(SOUND_MIXER_TREBLE)
-#define SOUND_MIXER_READ_SYNTH MIXER_READ(SOUND_MIXER_SYNTH)
-#define SOUND_MIXER_READ_PCM MIXER_READ(SOUND_MIXER_PCM)
-#define SOUND_MIXER_READ_SPEAKER MIXER_READ(SOUND_MIXER_SPEAKER)
-#define SOUND_MIXER_READ_LINE MIXER_READ(SOUND_MIXER_LINE)
-#define SOUND_MIXER_READ_MIC MIXER_READ(SOUND_MIXER_MIC)
-#define SOUND_MIXER_READ_CD MIXER_READ(SOUND_MIXER_CD)
-#define SOUND_MIXER_READ_IMIX MIXER_READ(SOUND_MIXER_IMIX)
-#define SOUND_MIXER_READ_ALTPCM MIXER_READ(SOUND_MIXER_ALTPCM)
-#define SOUND_MIXER_READ_RECLEV MIXER_READ(SOUND_MIXER_RECLEV)
-#define SOUND_MIXER_READ_IGAIN MIXER_READ(SOUND_MIXER_IGAIN)
-#define SOUND_MIXER_READ_OGAIN MIXER_READ(SOUND_MIXER_OGAIN)
-#define SOUND_MIXER_READ_LINE1 MIXER_READ(SOUND_MIXER_LINE1)
-#define SOUND_MIXER_READ_LINE2 MIXER_READ(SOUND_MIXER_LINE2)
-#define SOUND_MIXER_READ_LINE3 MIXER_READ(SOUND_MIXER_LINE3)
-
-/* Obsolete macros */
-#define SOUND_MIXER_READ_MUTE MIXER_READ(SOUND_MIXER_MUTE)
-#define SOUND_MIXER_READ_ENHANCE MIXER_READ(SOUND_MIXER_ENHANCE)
-#define SOUND_MIXER_READ_LOUD MIXER_READ(SOUND_MIXER_LOUD)
-
-#define SOUND_MIXER_READ_RECSRC MIXER_READ(SOUND_MIXER_RECSRC)
-#define SOUND_MIXER_READ_DEVMASK MIXER_READ(SOUND_MIXER_DEVMASK)
-#define SOUND_MIXER_READ_RECMASK MIXER_READ(SOUND_MIXER_RECMASK)
-#define SOUND_MIXER_READ_STEREODEVS MIXER_READ(SOUND_MIXER_STEREODEVS)
-#define SOUND_MIXER_READ_CAPS MIXER_READ(SOUND_MIXER_CAPS)
-
-#define MIXER_WRITE(dev) _SIOWR('M', dev, int)
-#define SOUND_MIXER_WRITE_VOLUME MIXER_WRITE(SOUND_MIXER_VOLUME)
-#define SOUND_MIXER_WRITE_BASS MIXER_WRITE(SOUND_MIXER_BASS)
-#define SOUND_MIXER_WRITE_TREBLE MIXER_WRITE(SOUND_MIXER_TREBLE)
-#define SOUND_MIXER_WRITE_SYNTH MIXER_WRITE(SOUND_MIXER_SYNTH)
-#define SOUND_MIXER_WRITE_PCM MIXER_WRITE(SOUND_MIXER_PCM)
-#define SOUND_MIXER_WRITE_SPEAKER MIXER_WRITE(SOUND_MIXER_SPEAKER)
-#define SOUND_MIXER_WRITE_LINE MIXER_WRITE(SOUND_MIXER_LINE)
-#define SOUND_MIXER_WRITE_MIC MIXER_WRITE(SOUND_MIXER_MIC)
-#define SOUND_MIXER_WRITE_CD MIXER_WRITE(SOUND_MIXER_CD)
-#define SOUND_MIXER_WRITE_IMIX MIXER_WRITE(SOUND_MIXER_IMIX)
-#define SOUND_MIXER_WRITE_ALTPCM MIXER_WRITE(SOUND_MIXER_ALTPCM)
-#define SOUND_MIXER_WRITE_RECLEV MIXER_WRITE(SOUND_MIXER_RECLEV)
-#define SOUND_MIXER_WRITE_IGAIN MIXER_WRITE(SOUND_MIXER_IGAIN)
-#define SOUND_MIXER_WRITE_OGAIN MIXER_WRITE(SOUND_MIXER_OGAIN)
-#define SOUND_MIXER_WRITE_LINE1 MIXER_WRITE(SOUND_MIXER_LINE1)
-#define SOUND_MIXER_WRITE_LINE2 MIXER_WRITE(SOUND_MIXER_LINE2)
-#define SOUND_MIXER_WRITE_LINE3 MIXER_WRITE(SOUND_MIXER_LINE3)
-
-/* Obsolete macros */
-#define SOUND_MIXER_WRITE_MUTE MIXER_WRITE(SOUND_MIXER_MUTE)
-#define SOUND_MIXER_WRITE_ENHANCE MIXER_WRITE(SOUND_MIXER_ENHANCE)
-#define SOUND_MIXER_WRITE_LOUD MIXER_WRITE(SOUND_MIXER_LOUD)
-
-#define SOUND_MIXER_WRITE_RECSRC MIXER_WRITE(SOUND_MIXER_RECSRC)
-
-typedef struct mixer_info
-{
- char id[16];
- char name[32];
- int modify_counter;
- int fillers[10];
-} mixer_info;
-
-typedef struct _old_mixer_info /* Obsolete */
-{
- char id[16];
- char name[32];
-} _old_mixer_info;
-
-#define SOUND_MIXER_INFO _SIOR ('M', 101, mixer_info)
-#define SOUND_OLD_MIXER_INFO _SIOR ('M', 101, _old_mixer_info)
-
-/*
- * A mechanism for accessing "proprietary" mixer features. This method
- * permits passing 128 bytes of arbitrary data between a mixer application
- * and the mixer driver. Interpretation of the record is defined by
- * the particular mixer driver.
- */
-typedef unsigned char mixer_record[128];
-
-#define SOUND_MIXER_ACCESS _SIOWR('M', 102, mixer_record)
-
-/*
- * Two ioctls for special souncard function
- */
-#define SOUND_MIXER_AGC _SIOWR('M', 103, int)
-#define SOUND_MIXER_3DSE _SIOWR('M', 104, int)
-
-/*
- * The SOUND_MIXER_PRIVATE# commands can be redefined by low level drivers.
- * These features can be used when accessing device specific features.
- */
-#define SOUND_MIXER_PRIVATE1 _SIOWR('M', 111, int)
-#define SOUND_MIXER_PRIVATE2 _SIOWR('M', 112, int)
-#define SOUND_MIXER_PRIVATE3 _SIOWR('M', 113, int)
-#define SOUND_MIXER_PRIVATE4 _SIOWR('M', 114, int)
-#define SOUND_MIXER_PRIVATE5 _SIOWR('M', 115, int)
-
-/*
- * SOUND_MIXER_GETLEVELS and SOUND_MIXER_SETLEVELS calls can be used
- * for querying current mixer settings from the driver and for loading
- * default volume settings _prior_ activating the mixer (loading
- * doesn't affect current state of the mixer hardware). These calls
- * are for internal use only.
- */
-
-typedef struct mixer_vol_table {
- int num; /* Index to volume table */
- char name[32];
- int levels[32];
-} mixer_vol_table;
-
-#define SOUND_MIXER_GETLEVELS _SIOWR('M', 116, mixer_vol_table)
-#define SOUND_MIXER_SETLEVELS _SIOWR('M', 117, mixer_vol_table)
-
-/*
- * An ioctl for identifying the driver version. It will return value
- * of the SOUND_VERSION macro used when compiling the driver.
- * This call was introduced in OSS version 3.6 and it will not work
- * with earlier versions (returns EINVAL).
- */
-#define OSS_GETVERSION _SIOR ('M', 118, int)
-
-/*
- * Level 2 event types for /dev/sequencer
- */
-
-/*
- * The 4 most significant bits of byte 0 specify the class of
- * the event:
- *
- * 0x8X = system level events,
- * 0x9X = device/port specific events, event[1] = device/port,
- * The last 4 bits give the subtype:
- * 0x02 = Channel event (event[3] = chn).
- * 0x01 = note event (event[4] = note).
- * (0x01 is not used alone but always with bit 0x02).
- * event[2] = MIDI message code (0x80=note off etc.)
- *
- */
-
-#define EV_SEQ_LOCAL 0x80
-#define EV_TIMING 0x81
-#define EV_CHN_COMMON 0x92
-#define EV_CHN_VOICE 0x93
-#define EV_SYSEX 0x94
-/*
- * Event types 200 to 220 are reserved for application use.
- * These numbers will not be used by the driver.
- */
-
-/*
- * Events for event type EV_CHN_VOICE
- */
-
-#define MIDI_NOTEOFF 0x80
-#define MIDI_NOTEON 0x90
-#define MIDI_KEY_PRESSURE 0xA0
-
-/*
- * Events for event type EV_CHN_COMMON
- */
-
-#define MIDI_CTL_CHANGE 0xB0
-#define MIDI_PGM_CHANGE 0xC0
-#define MIDI_CHN_PRESSURE 0xD0
-#define MIDI_PITCH_BEND 0xE0
-
-#define MIDI_SYSTEM_PREFIX 0xF0
-
-/*
- * Timer event types
- */
-#define TMR_WAIT_REL 1 /* Time relative to the prev time */
-#define TMR_WAIT_ABS 2 /* Absolute time since TMR_START */
-#define TMR_STOP 3
-#define TMR_START 4
-#define TMR_CONTINUE 5
-#define TMR_TEMPO 6
-#define TMR_ECHO 8
-#define TMR_CLOCK 9 /* MIDI clock */
-#define TMR_SPP 10 /* Song position pointer */
-#define TMR_TIMESIG 11 /* Time signature */
-
-/*
- * Local event types
- */
-#define LOCL_STARTAUDIO 1
-
-/*
- * Some convenience macros to simplify programming of the
- * /dev/sequencer interface
- *
- * This is a legacy interface for applications written against
- * the OSSlib-3.8 style interface. It is no longer possible
- * to actually link against OSSlib with this header, but we
- * still provide these macros for programs using them.
- *
- * If you want to use OSSlib, it is recommended that you get
- * the GPL version of OSS-4.x and build against that version
- * of the header.
- *
- * We redefine the extern keyword so that make headers_check
- * does not complain about SEQ_USE_EXTBUF.
- */
-#define SEQ_DECLAREBUF() SEQ_USE_EXTBUF()
-
-void seqbuf_dump(void); /* This function must be provided by programs */
-
-#define SEQ_PM_DEFINES int __foo_bar___
-
-#define SEQ_LOAD_GMINSTR(dev, instr)
-#define SEQ_LOAD_GMDRUM(dev, drum)
-
-#define _SEQ_EXTERN extern
-#define SEQ_USE_EXTBUF() \
- _SEQ_EXTERN unsigned char _seqbuf[]; \
- _SEQ_EXTERN int _seqbuflen; _SEQ_EXTERN int _seqbufptr
-
-#ifndef USE_SIMPLE_MACROS
-/* Sample seqbuf_dump() implementation:
- *
- * SEQ_DEFINEBUF (2048); -- Defines a buffer for 2048 bytes
- *
- * int seqfd; -- The file descriptor for /dev/sequencer.
- *
- * void
- * seqbuf_dump ()
- * {
- * if (_seqbufptr)
- * if (write (seqfd, _seqbuf, _seqbufptr) == -1)
- * {
- * perror ("write /dev/sequencer");
- * exit (-1);
- * }
- * _seqbufptr = 0;
- * }
- */
-
-#define SEQ_DEFINEBUF(len) unsigned char _seqbuf[len]; int _seqbuflen = len;int _seqbufptr = 0
-#define _SEQ_NEEDBUF(len) if ((_seqbufptr+(len)) > _seqbuflen) seqbuf_dump()
-#define _SEQ_ADVBUF(len) _seqbufptr += len
-#define SEQ_DUMPBUF seqbuf_dump
-#else
-/*
- * This variation of the sequencer macros is used just to format one event
- * using fixed buffer.
- *
- * The program using the macro library must define the following macros before
- * using this library.
- *
- * #define _seqbuf name of the buffer (unsigned char[])
- * #define _SEQ_ADVBUF(len) If the applic needs to know the exact
- * size of the event, this macro can be used.
- * Otherwise this must be defined as empty.
- * #define _seqbufptr Define the name of index variable or 0 if
- * not required.
- */
-#define _SEQ_NEEDBUF(len) /* empty */
-#endif
-
-#define SEQ_VOLUME_MODE(dev, mode) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = SEQ_EXTENDED;\
- _seqbuf[_seqbufptr+1] = SEQ_VOLMODE;\
- _seqbuf[_seqbufptr+2] = (dev);\
- _seqbuf[_seqbufptr+3] = (mode);\
- _seqbuf[_seqbufptr+4] = 0;\
- _seqbuf[_seqbufptr+5] = 0;\
- _seqbuf[_seqbufptr+6] = 0;\
- _seqbuf[_seqbufptr+7] = 0;\
- _SEQ_ADVBUF(8);}
-
-/*
- * Midi voice messages
- */
-
-#define _CHN_VOICE(dev, event, chn, note, parm) \
- {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = EV_CHN_VOICE;\
- _seqbuf[_seqbufptr+1] = (dev);\
- _seqbuf[_seqbufptr+2] = (event);\
- _seqbuf[_seqbufptr+3] = (chn);\
- _seqbuf[_seqbufptr+4] = (note);\
- _seqbuf[_seqbufptr+5] = (parm);\
- _seqbuf[_seqbufptr+6] = (0);\
- _seqbuf[_seqbufptr+7] = 0;\
- _SEQ_ADVBUF(8);}
-
-#define SEQ_START_NOTE(dev, chn, note, vol) \
- _CHN_VOICE(dev, MIDI_NOTEON, chn, note, vol)
-
-#define SEQ_STOP_NOTE(dev, chn, note, vol) \
- _CHN_VOICE(dev, MIDI_NOTEOFF, chn, note, vol)
-
-#define SEQ_KEY_PRESSURE(dev, chn, note, pressure) \
- _CHN_VOICE(dev, MIDI_KEY_PRESSURE, chn, note, pressure)
-
-/*
- * Midi channel messages
- */
-
-#define _CHN_COMMON(dev, event, chn, p1, p2, w14) \
- {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = EV_CHN_COMMON;\
- _seqbuf[_seqbufptr+1] = (dev);\
- _seqbuf[_seqbufptr+2] = (event);\
- _seqbuf[_seqbufptr+3] = (chn);\
- _seqbuf[_seqbufptr+4] = (p1);\
- _seqbuf[_seqbufptr+5] = (p2);\
- *(short *)&_seqbuf[_seqbufptr+6] = (w14);\
- _SEQ_ADVBUF(8);}
-/*
- * SEQ_SYSEX permits sending of sysex messages. (It may look that it permits
- * sending any MIDI bytes but it's absolutely not possible. Trying to do
- * so _will_ cause problems with MPU401 intelligent mode).
- *
- * Sysex messages are sent in blocks of 1 to 6 bytes. Longer messages must be
- * sent by calling SEQ_SYSEX() several times (there must be no other events
- * between them). First sysex fragment must have 0xf0 in the first byte
- * and the last byte (buf[len-1] of the last fragment must be 0xf7. No byte
- * between these sysex start and end markers cannot be larger than 0x7f. Also
- * lengths of each fragments (except the last one) must be 6.
- *
- * Breaking the above rules may work with some MIDI ports but is likely to
- * cause fatal problems with some other devices (such as MPU401).
- */
-#define SEQ_SYSEX(dev, buf, len) \
- {int ii, ll=(len); \
- unsigned char *bufp=buf;\
- if (ll>6)ll=6;\
- _SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = EV_SYSEX;\
- _seqbuf[_seqbufptr+1] = (dev);\
- for(ii=0;ii<ll;ii++)\
- _seqbuf[_seqbufptr+ii+2] = bufp[ii];\
- for(ii=ll;ii<6;ii++)\
- _seqbuf[_seqbufptr+ii+2] = 0xff;\
- _SEQ_ADVBUF(8);}
-
-#define SEQ_CHN_PRESSURE(dev, chn, pressure) \
- _CHN_COMMON(dev, MIDI_CHN_PRESSURE, chn, pressure, 0, 0)
-
-#define SEQ_SET_PATCH SEQ_PGM_CHANGE
-#define SEQ_PGM_CHANGE(dev, chn, patch) \
- _CHN_COMMON(dev, MIDI_PGM_CHANGE, chn, patch, 0, 0)
-
-#define SEQ_CONTROL(dev, chn, controller, value) \
- _CHN_COMMON(dev, MIDI_CTL_CHANGE, chn, controller, 0, value)
-
-#define SEQ_BENDER(dev, chn, value) \
- _CHN_COMMON(dev, MIDI_PITCH_BEND, chn, 0, 0, value)
-
-
-#define SEQ_V2_X_CONTROL(dev, voice, controller, value) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr] = SEQ_EXTENDED;\
- _seqbuf[_seqbufptr+1] = SEQ_CONTROLLER;\
- _seqbuf[_seqbufptr+2] = (dev);\
- _seqbuf[_seqbufptr+3] = (voice);\
- _seqbuf[_seqbufptr+4] = (controller);\
- _seqbuf[_seqbufptr+5] = ((value)&0xff);\
- _seqbuf[_seqbufptr+6] = ((value>>8)&0xff);\
- _seqbuf[_seqbufptr+7] = 0;\
- _SEQ_ADVBUF(8);}
-/*
- * The following 5 macros are incorrectly implemented and obsolete.
- * Use SEQ_BENDER and SEQ_CONTROL (with proper controller) instead.
- */
-#define SEQ_PITCHBEND(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER, value)
-#define SEQ_BENDER_RANGE(dev, voice, value) SEQ_V2_X_CONTROL(dev, voice, CTRL_PITCH_BENDER_RANGE, value)
-#define SEQ_EXPRESSION(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_EXPRESSION, value*128)
-#define SEQ_MAIN_VOLUME(dev, voice, value) SEQ_CONTROL(dev, voice, CTL_MAIN_VOLUME, (value*16383)/100)
-#define SEQ_PANNING(dev, voice, pos) SEQ_CONTROL(dev, voice, CTL_PAN, (pos+128) / 2)
-
-/*
- * Timing and synchronization macros
- */
-
-#define _TIMER_EVENT(ev, parm) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr+0] = EV_TIMING; \
- _seqbuf[_seqbufptr+1] = (ev); \
- _seqbuf[_seqbufptr+2] = 0;\
- _seqbuf[_seqbufptr+3] = 0;\
- *(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \
- _SEQ_ADVBUF(8);}
-
-#define SEQ_START_TIMER() _TIMER_EVENT(TMR_START, 0)
-#define SEQ_STOP_TIMER() _TIMER_EVENT(TMR_STOP, 0)
-#define SEQ_CONTINUE_TIMER() _TIMER_EVENT(TMR_CONTINUE, 0)
-#define SEQ_WAIT_TIME(ticks) _TIMER_EVENT(TMR_WAIT_ABS, ticks)
-#define SEQ_DELTA_TIME(ticks) _TIMER_EVENT(TMR_WAIT_REL, ticks)
-#define SEQ_ECHO_BACK(key) _TIMER_EVENT(TMR_ECHO, key)
-#define SEQ_SET_TEMPO(value) _TIMER_EVENT(TMR_TEMPO, value)
-#define SEQ_SONGPOS(pos) _TIMER_EVENT(TMR_SPP, pos)
-#define SEQ_TIME_SIGNATURE(sig) _TIMER_EVENT(TMR_TIMESIG, sig)
-
-/*
- * Local control events
- */
-
-#define _LOCAL_EVENT(ev, parm) {_SEQ_NEEDBUF(8);\
- _seqbuf[_seqbufptr+0] = EV_SEQ_LOCAL; \
- _seqbuf[_seqbufptr+1] = (ev); \
- _seqbuf[_seqbufptr+2] = 0;\
- _seqbuf[_seqbufptr+3] = 0;\
- *(unsigned int *)&_seqbuf[_seqbufptr+4] = (parm); \
- _SEQ_ADVBUF(8);}
-
-#define SEQ_PLAYAUDIO(devmask) _LOCAL_EVENT(LOCL_STARTAUDIO, devmask)
-/*
- * Events for the level 1 interface only
- */
-
-#define SEQ_MIDIOUT(device, byte) {_SEQ_NEEDBUF(4);\
- _seqbuf[_seqbufptr] = SEQ_MIDIPUTC;\
- _seqbuf[_seqbufptr+1] = (byte);\
- _seqbuf[_seqbufptr+2] = (device);\
- _seqbuf[_seqbufptr+3] = 0;\
- _SEQ_ADVBUF(4);}
-
-/*
- * Patch loading.
- */
-#define SEQ_WRPATCH(patchx, len) \
- {if (_seqbufptr) SEQ_DUMPBUF();\
- if (write(seqfd, (char*)(patchx), len)==-1) \
- perror("Write patch: /dev/sequencer");}
-#define SEQ_WRPATCH2(patchx, len) \
- (SEQ_DUMPBUF(), write(seqfd, (char*)(patchx), len))
-
-#endif /* SOUNDCARD_H */
diff --git a/linux-headers/include/linux/spi/spidev.h b/linux-headers/include/linux/spi/spidev.h
deleted file mode 100644
index dd5f21e..0000000
--- a/linux-headers/include/linux/spi/spidev.h
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * include/linux/spi/spidev.h
- *
- * Copyright (C) 2006 SWAPP
- * Andrea Paterniani <a.paterniani@swapp-eng.it>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#ifndef SPIDEV_H
-#define SPIDEV_H
-
-#include <linux/types.h>
-
-/* User space versions of kernel symbols for SPI clocking modes,
- * matching <linux/spi/spi.h>
- */
-
-#define SPI_CPHA 0x01
-#define SPI_CPOL 0x02
-
-#define SPI_MODE_0 (0|0)
-#define SPI_MODE_1 (0|SPI_CPHA)
-#define SPI_MODE_2 (SPI_CPOL|0)
-#define SPI_MODE_3 (SPI_CPOL|SPI_CPHA)
-
-#define SPI_CS_HIGH 0x04
-#define SPI_LSB_FIRST 0x08
-#define SPI_3WIRE 0x10
-#define SPI_LOOP 0x20
-#define SPI_NO_CS 0x40
-#define SPI_READY 0x80
-#define SPI_TX_DUAL 0x100
-#define SPI_TX_QUAD 0x200
-#define SPI_RX_DUAL 0x400
-#define SPI_RX_QUAD 0x800
-
-/*---------------------------------------------------------------------------*/
-
-/* IOCTL commands */
-
-#define SPI_IOC_MAGIC 'k'
-
-/**
- * struct spi_ioc_transfer - describes a single SPI transfer
- * @tx_buf: Holds pointer to userspace buffer with transmit data, or null.
- * If no data is provided, zeroes are shifted out.
- * @rx_buf: Holds pointer to userspace buffer for receive data, or null.
- * @len: Length of tx and rx buffers, in bytes.
- * @speed_hz: Temporary override of the device's bitrate.
- * @bits_per_word: Temporary override of the device's wordsize.
- * @delay_usecs: If nonzero, how long to delay after the last bit transfer
- * before optionally deselecting the device before the next transfer.
- * @cs_change: True to deselect device before starting the next transfer.
- *
- * This structure is mapped directly to the kernel spi_transfer structure;
- * the fields have the same meanings, except of course that the pointers
- * are in a different address space (and may be of different sizes in some
- * cases, such as 32-bit i386 userspace over a 64-bit x86_64 kernel).
- * Zero-initialize the structure, including currently unused fields, to
- * accommodate potential future updates.
- *
- * SPI_IOC_MESSAGE gives userspace the equivalent of kernel spi_sync().
- * Pass it an array of related transfers, they'll execute together.
- * Each transfer may be half duplex (either direction) or full duplex.
- *
- * struct spi_ioc_transfer mesg[4];
- * ...
- * status = ioctl(fd, SPI_IOC_MESSAGE(4), mesg);
- *
- * So for example one transfer might send a nine bit command (right aligned
- * in a 16-bit word), the next could read a block of 8-bit data before
- * terminating that command by temporarily deselecting the chip; the next
- * could send a different nine bit command (re-selecting the chip), and the
- * last transfer might write some register values.
- */
-struct spi_ioc_transfer {
- __u64 tx_buf;
- __u64 rx_buf;
-
- __u32 len;
- __u32 speed_hz;
-
- __u16 delay_usecs;
- __u8 bits_per_word;
- __u8 cs_change;
- __u8 tx_nbits;
- __u8 rx_nbits;
- __u16 pad;
-
- /* If the contents of 'struct spi_ioc_transfer' ever change
- * incompatibly, then the ioctl number (currently 0) must change;
- * ioctls with constant size fields get a bit more in the way of
- * error checking than ones (like this) where that field varies.
- *
- * NOTE: struct layout is the same in 64bit and 32bit userspace.
- */
-};
-
-/* not all platforms use <asm-generic/ioctl.h> or _IOC_TYPECHECK() ... */
-#define SPI_MSGSIZE(N) \
- ((((N)*(sizeof (struct spi_ioc_transfer))) < (1 << _IOC_SIZEBITS)) \
- ? ((N)*(sizeof (struct spi_ioc_transfer))) : 0)
-#define SPI_IOC_MESSAGE(N) _IOW(SPI_IOC_MAGIC, 0, char[SPI_MSGSIZE(N)])
-
-
-/* Read / Write of SPI mode (SPI_MODE_0..SPI_MODE_3) (limited to 8 bits) */
-#define SPI_IOC_RD_MODE _IOR(SPI_IOC_MAGIC, 1, __u8)
-#define SPI_IOC_WR_MODE _IOW(SPI_IOC_MAGIC, 1, __u8)
-
-/* Read / Write SPI bit justification */
-#define SPI_IOC_RD_LSB_FIRST _IOR(SPI_IOC_MAGIC, 2, __u8)
-#define SPI_IOC_WR_LSB_FIRST _IOW(SPI_IOC_MAGIC, 2, __u8)
-
-/* Read / Write SPI device word length (1..N) */
-#define SPI_IOC_RD_BITS_PER_WORD _IOR(SPI_IOC_MAGIC, 3, __u8)
-#define SPI_IOC_WR_BITS_PER_WORD _IOW(SPI_IOC_MAGIC, 3, __u8)
-
-/* Read / Write SPI device default max speed hz */
-#define SPI_IOC_RD_MAX_SPEED_HZ _IOR(SPI_IOC_MAGIC, 4, __u32)
-#define SPI_IOC_WR_MAX_SPEED_HZ _IOW(SPI_IOC_MAGIC, 4, __u32)
-
-/* Read / Write of the SPI mode field */
-#define SPI_IOC_RD_MODE32 _IOR(SPI_IOC_MAGIC, 5, __u32)
-#define SPI_IOC_WR_MODE32 _IOW(SPI_IOC_MAGIC, 5, __u32)
-
-
-
-#endif /* SPIDEV_H */
diff --git a/linux-headers/include/linux/stat.h b/linux-headers/include/linux/stat.h
deleted file mode 100644
index b014ce4..0000000
--- a/linux-headers/include/linux/stat.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _LINUX_STAT_H
-#define _LINUX_STAT_H
-
-
-#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2)
-
-#define S_IFMT 00170000
-#define S_IFSOCK 0140000
-#define S_IFLNK 0120000
-#define S_IFREG 0100000
-#define S_IFBLK 0060000
-#define S_IFDIR 0040000
-#define S_IFCHR 0020000
-#define S_IFIFO 0010000
-#define S_ISUID 0004000
-#define S_ISGID 0002000
-#define S_ISVTX 0001000
-
-#define S_ISLNK(m) (((m) & S_IFMT) == S_IFLNK)
-#define S_ISREG(m) (((m) & S_IFMT) == S_IFREG)
-#define S_ISDIR(m) (((m) & S_IFMT) == S_IFDIR)
-#define S_ISCHR(m) (((m) & S_IFMT) == S_IFCHR)
-#define S_ISBLK(m) (((m) & S_IFMT) == S_IFBLK)
-#define S_ISFIFO(m) (((m) & S_IFMT) == S_IFIFO)
-#define S_ISSOCK(m) (((m) & S_IFMT) == S_IFSOCK)
-
-#define S_IRWXU 00700
-#define S_IRUSR 00400
-#define S_IWUSR 00200
-#define S_IXUSR 00100
-
-#define S_IRWXG 00070
-#define S_IRGRP 00040
-#define S_IWGRP 00020
-#define S_IXGRP 00010
-
-#define S_IRWXO 00007
-#define S_IROTH 00004
-#define S_IWOTH 00002
-#define S_IXOTH 00001
-
-#endif
-
-
-#endif /* _LINUX_STAT_H */
diff --git a/linux-headers/include/linux/stddef.h b/linux-headers/include/linux/stddef.h
deleted file mode 100644
index 4bb69de..0000000
--- a/linux-headers/include/linux/stddef.h
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-#ifndef __always_inline
-#define __always_inline __inline__
-#endif
diff --git a/linux-headers/include/linux/string.h b/linux-headers/include/linux/string.h
deleted file mode 100644
index d7ed844..0000000
--- a/linux-headers/include/linux/string.h
+++ /dev/null
@@ -1,7 +0,0 @@
-#ifndef _LINUX_STRING_H_
-#define _LINUX_STRING_H_
-
-/* We don't want strings.h stuff being used by user stuff by accident */
-
-#include <string.h>
-#endif /* _LINUX_STRING_H_ */
diff --git a/linux-headers/include/linux/sunrpc/debug.h b/linux-headers/include/linux/sunrpc/debug.h
deleted file mode 100644
index 4ead318..0000000
--- a/linux-headers/include/linux/sunrpc/debug.h
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * linux/include/linux/sunrpc/debug.h
- *
- * Debugging support for sunrpc module
- *
- * Copyright (C) 1996, Olaf Kirch <okir@monad.swb.de>
- */
-
-#ifndef _LINUX_SUNRPC_DEBUG_H_
-#define _LINUX_SUNRPC_DEBUG_H_
-
-/*
- * RPC debug facilities
- */
-#define RPCDBG_XPRT 0x0001
-#define RPCDBG_CALL 0x0002
-#define RPCDBG_DEBUG 0x0004
-#define RPCDBG_NFS 0x0008
-#define RPCDBG_AUTH 0x0010
-#define RPCDBG_BIND 0x0020
-#define RPCDBG_SCHED 0x0040
-#define RPCDBG_TRANS 0x0080
-#define RPCDBG_SVCXPRT 0x0100
-#define RPCDBG_SVCDSP 0x0200
-#define RPCDBG_MISC 0x0400
-#define RPCDBG_CACHE 0x0800
-#define RPCDBG_ALL 0x7fff
-
-
-/*
- * Declarations for the sysctl debug interface, which allows to read or
- * change the debug flags for rpc, nfs, nfsd, and lockd. Since the sunrpc
- * module currently registers its sysctl table dynamically, the sysctl path
- * for module FOO is <CTL_SUNRPC, CTL_FOODEBUG>.
- */
-
-enum {
- CTL_RPCDEBUG = 1,
- CTL_NFSDEBUG,
- CTL_NFSDDEBUG,
- CTL_NLMDEBUG,
- CTL_SLOTTABLE_UDP,
- CTL_SLOTTABLE_TCP,
- CTL_MIN_RESVPORT,
- CTL_MAX_RESVPORT,
-};
-
-#endif /* _LINUX_SUNRPC_DEBUG_H_ */
diff --git a/linux-headers/include/linux/suspend_ioctls.h b/linux-headers/include/linux/suspend_ioctls.h
deleted file mode 100644
index 0b30382..0000000
--- a/linux-headers/include/linux/suspend_ioctls.h
+++ /dev/null
@@ -1,33 +0,0 @@
-#ifndef _LINUX_SUSPEND_IOCTLS_H
-#define _LINUX_SUSPEND_IOCTLS_H
-
-#include <linux/types.h>
-/*
- * This structure is used to pass the values needed for the identification
- * of the resume swap area from a user space to the kernel via the
- * SNAPSHOT_SET_SWAP_AREA ioctl
- */
-struct resume_swap_area {
- __kernel_loff_t offset;
- __u32 dev;
-} __attribute__((packed));
-
-#define SNAPSHOT_IOC_MAGIC '3'
-#define SNAPSHOT_FREEZE _IO(SNAPSHOT_IOC_MAGIC, 1)
-#define SNAPSHOT_UNFREEZE _IO(SNAPSHOT_IOC_MAGIC, 2)
-#define SNAPSHOT_ATOMIC_RESTORE _IO(SNAPSHOT_IOC_MAGIC, 4)
-#define SNAPSHOT_FREE _IO(SNAPSHOT_IOC_MAGIC, 5)
-#define SNAPSHOT_FREE_SWAP_PAGES _IO(SNAPSHOT_IOC_MAGIC, 9)
-#define SNAPSHOT_S2RAM _IO(SNAPSHOT_IOC_MAGIC, 11)
-#define SNAPSHOT_SET_SWAP_AREA _IOW(SNAPSHOT_IOC_MAGIC, 13, \
- struct resume_swap_area)
-#define SNAPSHOT_GET_IMAGE_SIZE _IOR(SNAPSHOT_IOC_MAGIC, 14, __kernel_loff_t)
-#define SNAPSHOT_PLATFORM_SUPPORT _IO(SNAPSHOT_IOC_MAGIC, 15)
-#define SNAPSHOT_POWER_OFF _IO(SNAPSHOT_IOC_MAGIC, 16)
-#define SNAPSHOT_CREATE_IMAGE _IOW(SNAPSHOT_IOC_MAGIC, 17, int)
-#define SNAPSHOT_PREF_IMAGE_SIZE _IO(SNAPSHOT_IOC_MAGIC, 18)
-#define SNAPSHOT_AVAIL_SWAP_SIZE _IOR(SNAPSHOT_IOC_MAGIC, 19, __kernel_loff_t)
-#define SNAPSHOT_ALLOC_SWAP_PAGE _IOR(SNAPSHOT_IOC_MAGIC, 20, __kernel_loff_t)
-#define SNAPSHOT_IOC_MAXNR 20
-
-#endif /* _LINUX_SUSPEND_IOCTLS_H */
diff --git a/linux-headers/include/linux/swab.h b/linux-headers/include/linux/swab.h
deleted file mode 100644
index 88f551a..0000000
--- a/linux-headers/include/linux/swab.h
+++ /dev/null
@@ -1,294 +0,0 @@
-#ifndef _LINUX_SWAB_H
-#define _LINUX_SWAB_H
-
-#include <linux/types.h>
-
-#include <asm/swab.h>
-
-/*
- * casts are necessary for constants, because we never know how for sure
- * how U/UL/ULL map to __u16, __u32, __u64. At least not in a portable way.
- */
-#define ___constant_swab16(x) ((__u16)( \
- (((__u16)(x) & (__u16)0x00ffU) << 8) | \
- (((__u16)(x) & (__u16)0xff00U) >> 8)))
-
-#define ___constant_swab32(x) ((__u32)( \
- (((__u32)(x) & (__u32)0x000000ffUL) << 24) | \
- (((__u32)(x) & (__u32)0x0000ff00UL) << 8) | \
- (((__u32)(x) & (__u32)0x00ff0000UL) >> 8) | \
- (((__u32)(x) & (__u32)0xff000000UL) >> 24)))
-
-#define ___constant_swab64(x) ((__u64)( \
- (((__u64)(x) & (__u64)0x00000000000000ffULL) << 56) | \
- (((__u64)(x) & (__u64)0x000000000000ff00ULL) << 40) | \
- (((__u64)(x) & (__u64)0x0000000000ff0000ULL) << 24) | \
- (((__u64)(x) & (__u64)0x00000000ff000000ULL) << 8) | \
- (((__u64)(x) & (__u64)0x000000ff00000000ULL) >> 8) | \
- (((__u64)(x) & (__u64)0x0000ff0000000000ULL) >> 24) | \
- (((__u64)(x) & (__u64)0x00ff000000000000ULL) >> 40) | \
- (((__u64)(x) & (__u64)0xff00000000000000ULL) >> 56)))
-
-#define ___constant_swahw32(x) ((__u32)( \
- (((__u32)(x) & (__u32)0x0000ffffUL) << 16) | \
- (((__u32)(x) & (__u32)0xffff0000UL) >> 16)))
-
-#define ___constant_swahb32(x) ((__u32)( \
- (((__u32)(x) & (__u32)0x00ff00ffUL) << 8) | \
- (((__u32)(x) & (__u32)0xff00ff00UL) >> 8)))
-
-/*
- * Implement the following as inlines, but define the interface using
- * macros to allow constant folding when possible:
- * ___swab16, ___swab32, ___swab64, ___swahw32, ___swahb32
- */
-
-static __inline__ __u16 __fswab16(__u16 val)
-{
-#if defined (__arch_swab16)
- return __arch_swab16(val);
-#else
- return ___constant_swab16(val);
-#endif
-}
-
-static __inline__ __u32 __fswab32(__u32 val)
-{
-#if defined(__arch_swab32)
- return __arch_swab32(val);
-#else
- return ___constant_swab32(val);
-#endif
-}
-
-static __inline__ __u64 __fswab64(__u64 val)
-{
-#if defined (__arch_swab64)
- return __arch_swab64(val);
-#elif defined(__SWAB_64_THRU_32__)
- __u32 h = val >> 32;
- __u32 l = val & ((1ULL << 32) - 1);
- return (((__u64)__fswab32(l)) << 32) | ((__u64)(__fswab32(h)));
-#else
- return ___constant_swab64(val);
-#endif
-}
-
-static __inline__ __u32 __fswahw32(__u32 val)
-{
-#ifdef __arch_swahw32
- return __arch_swahw32(val);
-#else
- return ___constant_swahw32(val);
-#endif
-}
-
-static __inline__ __u32 __fswahb32(__u32 val)
-{
-#ifdef __arch_swahb32
- return __arch_swahb32(val);
-#else
- return ___constant_swahb32(val);
-#endif
-}
-
-/**
- * __swab16 - return a byteswapped 16-bit value
- * @x: value to byteswap
- */
-#ifdef __HAVE_BUILTIN_BSWAP16__
-#define __swab16(x) (__u16)__builtin_bswap16((__u16)(x))
-#else
-#define __swab16(x) \
- (__builtin_constant_p((__u16)(x)) ? \
- ___constant_swab16(x) : \
- __fswab16(x))
-#endif
-
-/**
- * __swab32 - return a byteswapped 32-bit value
- * @x: value to byteswap
- */
-#ifdef __HAVE_BUILTIN_BSWAP32__
-#define __swab32(x) (__u32)__builtin_bswap32((__u32)(x))
-#else
-#define __swab32(x) \
- (__builtin_constant_p((__u32)(x)) ? \
- ___constant_swab32(x) : \
- __fswab32(x))
-#endif
-
-/**
- * __swab64 - return a byteswapped 64-bit value
- * @x: value to byteswap
- */
-#ifdef __HAVE_BUILTIN_BSWAP64__
-#define __swab64(x) (__u64)__builtin_bswap64((__u64)(x))
-#else
-#define __swab64(x) \
- (__builtin_constant_p((__u64)(x)) ? \
- ___constant_swab64(x) : \
- __fswab64(x))
-#endif
-
-/**
- * __swahw32 - return a word-swapped 32-bit value
- * @x: value to wordswap
- *
- * __swahw32(0x12340000) is 0x00001234
- */
-#define __swahw32(x) \
- (__builtin_constant_p((__u32)(x)) ? \
- ___constant_swahw32(x) : \
- __fswahw32(x))
-
-/**
- * __swahb32 - return a high and low byte-swapped 32-bit value
- * @x: value to byteswap
- *
- * __swahb32(0x12345678) is 0x34127856
- */
-#define __swahb32(x) \
- (__builtin_constant_p((__u32)(x)) ? \
- ___constant_swahb32(x) : \
- __fswahb32(x))
-
-/**
- * __swab16p - return a byteswapped 16-bit value from a pointer
- * @p: pointer to a naturally-aligned 16-bit value
- */
-static __always_inline __u16 __swab16p(const __u16 *p)
-{
-#ifdef __arch_swab16p
- return __arch_swab16p(p);
-#else
- return __swab16(*p);
-#endif
-}
-
-/**
- * __swab32p - return a byteswapped 32-bit value from a pointer
- * @p: pointer to a naturally-aligned 32-bit value
- */
-static __always_inline __u32 __swab32p(const __u32 *p)
-{
-#ifdef __arch_swab32p
- return __arch_swab32p(p);
-#else
- return __swab32(*p);
-#endif
-}
-
-/**
- * __swab64p - return a byteswapped 64-bit value from a pointer
- * @p: pointer to a naturally-aligned 64-bit value
- */
-static __always_inline __u64 __swab64p(const __u64 *p)
-{
-#ifdef __arch_swab64p
- return __arch_swab64p(p);
-#else
- return __swab64(*p);
-#endif
-}
-
-/**
- * __swahw32p - return a wordswapped 32-bit value from a pointer
- * @p: pointer to a naturally-aligned 32-bit value
- *
- * See __swahw32() for details of wordswapping.
- */
-static __inline__ __u32 __swahw32p(const __u32 *p)
-{
-#ifdef __arch_swahw32p
- return __arch_swahw32p(p);
-#else
- return __swahw32(*p);
-#endif
-}
-
-/**
- * __swahb32p - return a high and low byteswapped 32-bit value from a pointer
- * @p: pointer to a naturally-aligned 32-bit value
- *
- * See __swahb32() for details of high/low byteswapping.
- */
-static __inline__ __u32 __swahb32p(const __u32 *p)
-{
-#ifdef __arch_swahb32p
- return __arch_swahb32p(p);
-#else
- return __swahb32(*p);
-#endif
-}
-
-/**
- * __swab16s - byteswap a 16-bit value in-place
- * @p: pointer to a naturally-aligned 16-bit value
- */
-static __inline__ void __swab16s(__u16 *p)
-{
-#ifdef __arch_swab16s
- __arch_swab16s(p);
-#else
- *p = __swab16p(p);
-#endif
-}
-/**
- * __swab32s - byteswap a 32-bit value in-place
- * @p: pointer to a naturally-aligned 32-bit value
- */
-static __always_inline void __swab32s(__u32 *p)
-{
-#ifdef __arch_swab32s
- __arch_swab32s(p);
-#else
- *p = __swab32p(p);
-#endif
-}
-
-/**
- * __swab64s - byteswap a 64-bit value in-place
- * @p: pointer to a naturally-aligned 64-bit value
- */
-static __always_inline void __swab64s(__u64 *p)
-{
-#ifdef __arch_swab64s
- __arch_swab64s(p);
-#else
- *p = __swab64p(p);
-#endif
-}
-
-/**
- * __swahw32s - wordswap a 32-bit value in-place
- * @p: pointer to a naturally-aligned 32-bit value
- *
- * See __swahw32() for details of wordswapping
- */
-static __inline__ void __swahw32s(__u32 *p)
-{
-#ifdef __arch_swahw32s
- __arch_swahw32s(p);
-#else
- *p = __swahw32p(p);
-#endif
-}
-
-/**
- * __swahb32s - high and low byteswap a 32-bit value in-place
- * @p: pointer to a naturally-aligned 32-bit value
- *
- * See __swahb32() for details of high and low byte swapping
- */
-static __inline__ void __swahb32s(__u32 *p)
-{
-#ifdef __arch_swahb32s
- __arch_swahb32s(p);
-#else
- *p = __swahb32p(p);
-#endif
-}
-
-
-#endif /* _LINUX_SWAB_H */
diff --git a/linux-headers/include/linux/synclink.h b/linux-headers/include/linux/synclink.h
deleted file mode 100644
index 0818434..0000000
--- a/linux-headers/include/linux/synclink.h
+++ /dev/null
@@ -1,300 +0,0 @@
-/*
- * SyncLink Multiprotocol Serial Adapter Driver
- *
- * $Id: synclink.h,v 3.14 2006/07/17 20:15:43 paulkf Exp $
- *
- * Copyright (C) 1998-2000 by Microgate Corporation
- *
- * Redistribution of this file is permitted under
- * the terms of the GNU Public License (GPL)
- */
-
-#ifndef _SYNCLINK_H_
-#define _SYNCLINK_H_
-#define SYNCLINK_H_VERSION 3.6
-
-#include <linux/types.h>
-
-#define BIT0 0x0001
-#define BIT1 0x0002
-#define BIT2 0x0004
-#define BIT3 0x0008
-#define BIT4 0x0010
-#define BIT5 0x0020
-#define BIT6 0x0040
-#define BIT7 0x0080
-#define BIT8 0x0100
-#define BIT9 0x0200
-#define BIT10 0x0400
-#define BIT11 0x0800
-#define BIT12 0x1000
-#define BIT13 0x2000
-#define BIT14 0x4000
-#define BIT15 0x8000
-#define BIT16 0x00010000
-#define BIT17 0x00020000
-#define BIT18 0x00040000
-#define BIT19 0x00080000
-#define BIT20 0x00100000
-#define BIT21 0x00200000
-#define BIT22 0x00400000
-#define BIT23 0x00800000
-#define BIT24 0x01000000
-#define BIT25 0x02000000
-#define BIT26 0x04000000
-#define BIT27 0x08000000
-#define BIT28 0x10000000
-#define BIT29 0x20000000
-#define BIT30 0x40000000
-#define BIT31 0x80000000
-
-
-#define HDLC_MAX_FRAME_SIZE 65535
-#define MAX_ASYNC_TRANSMIT 4096
-#define MAX_ASYNC_BUFFER_SIZE 4096
-
-#define ASYNC_PARITY_NONE 0
-#define ASYNC_PARITY_EVEN 1
-#define ASYNC_PARITY_ODD 2
-#define ASYNC_PARITY_SPACE 3
-
-#define HDLC_FLAG_UNDERRUN_ABORT7 0x0000
-#define HDLC_FLAG_UNDERRUN_ABORT15 0x0001
-#define HDLC_FLAG_UNDERRUN_FLAG 0x0002
-#define HDLC_FLAG_UNDERRUN_CRC 0x0004
-#define HDLC_FLAG_SHARE_ZERO 0x0010
-#define HDLC_FLAG_AUTO_CTS 0x0020
-#define HDLC_FLAG_AUTO_DCD 0x0040
-#define HDLC_FLAG_AUTO_RTS 0x0080
-#define HDLC_FLAG_RXC_DPLL 0x0100
-#define HDLC_FLAG_RXC_BRG 0x0200
-#define HDLC_FLAG_RXC_TXCPIN 0x8000
-#define HDLC_FLAG_RXC_RXCPIN 0x0000
-#define HDLC_FLAG_TXC_DPLL 0x0400
-#define HDLC_FLAG_TXC_BRG 0x0800
-#define HDLC_FLAG_TXC_TXCPIN 0x0000
-#define HDLC_FLAG_TXC_RXCPIN 0x0008
-#define HDLC_FLAG_DPLL_DIV8 0x1000
-#define HDLC_FLAG_DPLL_DIV16 0x2000
-#define HDLC_FLAG_DPLL_DIV32 0x0000
-#define HDLC_FLAG_HDLC_LOOPMODE 0x4000
-
-#define HDLC_CRC_NONE 0
-#define HDLC_CRC_16_CCITT 1
-#define HDLC_CRC_32_CCITT 2
-#define HDLC_CRC_MASK 0x00ff
-#define HDLC_CRC_RETURN_EX 0x8000
-
-#define RX_OK 0
-#define RX_CRC_ERROR 1
-
-#define HDLC_TXIDLE_FLAGS 0
-#define HDLC_TXIDLE_ALT_ZEROS_ONES 1
-#define HDLC_TXIDLE_ZEROS 2
-#define HDLC_TXIDLE_ONES 3
-#define HDLC_TXIDLE_ALT_MARK_SPACE 4
-#define HDLC_TXIDLE_SPACE 5
-#define HDLC_TXIDLE_MARK 6
-#define HDLC_TXIDLE_CUSTOM_8 0x10000000
-#define HDLC_TXIDLE_CUSTOM_16 0x20000000
-
-#define HDLC_ENCODING_NRZ 0
-#define HDLC_ENCODING_NRZB 1
-#define HDLC_ENCODING_NRZI_MARK 2
-#define HDLC_ENCODING_NRZI_SPACE 3
-#define HDLC_ENCODING_NRZI HDLC_ENCODING_NRZI_SPACE
-#define HDLC_ENCODING_BIPHASE_MARK 4
-#define HDLC_ENCODING_BIPHASE_SPACE 5
-#define HDLC_ENCODING_BIPHASE_LEVEL 6
-#define HDLC_ENCODING_DIFF_BIPHASE_LEVEL 7
-
-#define HDLC_PREAMBLE_LENGTH_8BITS 0
-#define HDLC_PREAMBLE_LENGTH_16BITS 1
-#define HDLC_PREAMBLE_LENGTH_32BITS 2
-#define HDLC_PREAMBLE_LENGTH_64BITS 3
-
-#define HDLC_PREAMBLE_PATTERN_NONE 0
-#define HDLC_PREAMBLE_PATTERN_ZEROS 1
-#define HDLC_PREAMBLE_PATTERN_FLAGS 2
-#define HDLC_PREAMBLE_PATTERN_10 3
-#define HDLC_PREAMBLE_PATTERN_01 4
-#define HDLC_PREAMBLE_PATTERN_ONES 5
-
-#define MGSL_MODE_ASYNC 1
-#define MGSL_MODE_HDLC 2
-#define MGSL_MODE_MONOSYNC 3
-#define MGSL_MODE_BISYNC 4
-#define MGSL_MODE_RAW 6
-#define MGSL_MODE_BASE_CLOCK 7
-#define MGSL_MODE_XSYNC 8
-
-#define MGSL_BUS_TYPE_ISA 1
-#define MGSL_BUS_TYPE_EISA 2
-#define MGSL_BUS_TYPE_PCI 5
-
-#define MGSL_INTERFACE_MASK 0xf
-#define MGSL_INTERFACE_DISABLE 0
-#define MGSL_INTERFACE_RS232 1
-#define MGSL_INTERFACE_V35 2
-#define MGSL_INTERFACE_RS422 3
-#define MGSL_INTERFACE_RTS_EN 0x10
-#define MGSL_INTERFACE_LL 0x20
-#define MGSL_INTERFACE_RL 0x40
-#define MGSL_INTERFACE_MSB_FIRST 0x80
-
-typedef struct _MGSL_PARAMS
-{
- /* Common */
-
- unsigned long mode; /* Asynchronous or HDLC */
- unsigned char loopback; /* internal loopback mode */
-
- /* HDLC Only */
-
- unsigned short flags;
- unsigned char encoding; /* NRZ, NRZI, etc. */
- unsigned long clock_speed; /* external clock speed in bits per second */
- unsigned char addr_filter; /* receive HDLC address filter, 0xFF = disable */
- unsigned short crc_type; /* None, CRC16-CCITT, or CRC32-CCITT */
- unsigned char preamble_length;
- unsigned char preamble;
-
- /* Async Only */
-
- unsigned long data_rate; /* bits per second */
- unsigned char data_bits; /* 7 or 8 data bits */
- unsigned char stop_bits; /* 1 or 2 stop bits */
- unsigned char parity; /* none, even, or odd */
-
-} MGSL_PARAMS, *PMGSL_PARAMS;
-
-#define MICROGATE_VENDOR_ID 0x13c0
-#define SYNCLINK_DEVICE_ID 0x0010
-#define MGSCC_DEVICE_ID 0x0020
-#define SYNCLINK_SCA_DEVICE_ID 0x0030
-#define SYNCLINK_GT_DEVICE_ID 0x0070
-#define SYNCLINK_GT4_DEVICE_ID 0x0080
-#define SYNCLINK_AC_DEVICE_ID 0x0090
-#define SYNCLINK_GT2_DEVICE_ID 0x00A0
-#define MGSL_MAX_SERIAL_NUMBER 30
-
-/*
-** device diagnostics status
-*/
-
-#define DiagStatus_OK 0
-#define DiagStatus_AddressFailure 1
-#define DiagStatus_AddressConflict 2
-#define DiagStatus_IrqFailure 3
-#define DiagStatus_IrqConflict 4
-#define DiagStatus_DmaFailure 5
-#define DiagStatus_DmaConflict 6
-#define DiagStatus_PciAdapterNotFound 7
-#define DiagStatus_CantAssignPciResources 8
-#define DiagStatus_CantAssignPciMemAddr 9
-#define DiagStatus_CantAssignPciIoAddr 10
-#define DiagStatus_CantAssignPciIrq 11
-#define DiagStatus_MemoryError 12
-
-#define SerialSignal_DCD 0x01 /* Data Carrier Detect */
-#define SerialSignal_TXD 0x02 /* Transmit Data */
-#define SerialSignal_RI 0x04 /* Ring Indicator */
-#define SerialSignal_RXD 0x08 /* Receive Data */
-#define SerialSignal_CTS 0x10 /* Clear to Send */
-#define SerialSignal_RTS 0x20 /* Request to Send */
-#define SerialSignal_DSR 0x40 /* Data Set Ready */
-#define SerialSignal_DTR 0x80 /* Data Terminal Ready */
-
-
-/*
- * Counters of the input lines (CTS, DSR, RI, CD) interrupts
- */
-struct mgsl_icount {
- __u32 cts, dsr, rng, dcd, tx, rx;
- __u32 frame, parity, overrun, brk;
- __u32 buf_overrun;
- __u32 txok;
- __u32 txunder;
- __u32 txabort;
- __u32 txtimeout;
- __u32 rxshort;
- __u32 rxlong;
- __u32 rxabort;
- __u32 rxover;
- __u32 rxcrc;
- __u32 rxok;
- __u32 exithunt;
- __u32 rxidle;
-};
-
-struct gpio_desc {
- __u32 state;
- __u32 smask;
- __u32 dir;
- __u32 dmask;
-};
-
-#define DEBUG_LEVEL_DATA 1
-#define DEBUG_LEVEL_ERROR 2
-#define DEBUG_LEVEL_INFO 3
-#define DEBUG_LEVEL_BH 4
-#define DEBUG_LEVEL_ISR 5
-
-/*
-** Event bit flags for use with MgslWaitEvent
-*/
-
-#define MgslEvent_DsrActive 0x0001
-#define MgslEvent_DsrInactive 0x0002
-#define MgslEvent_Dsr 0x0003
-#define MgslEvent_CtsActive 0x0004
-#define MgslEvent_CtsInactive 0x0008
-#define MgslEvent_Cts 0x000c
-#define MgslEvent_DcdActive 0x0010
-#define MgslEvent_DcdInactive 0x0020
-#define MgslEvent_Dcd 0x0030
-#define MgslEvent_RiActive 0x0040
-#define MgslEvent_RiInactive 0x0080
-#define MgslEvent_Ri 0x00c0
-#define MgslEvent_ExitHuntMode 0x0100
-#define MgslEvent_IdleReceived 0x0200
-
-/* Private IOCTL codes:
- *
- * MGSL_IOCSPARAMS set MGSL_PARAMS structure values
- * MGSL_IOCGPARAMS get current MGSL_PARAMS structure values
- * MGSL_IOCSTXIDLE set current transmit idle mode
- * MGSL_IOCGTXIDLE get current transmit idle mode
- * MGSL_IOCTXENABLE enable or disable transmitter
- * MGSL_IOCRXENABLE enable or disable receiver
- * MGSL_IOCTXABORT abort transmitting frame (HDLC)
- * MGSL_IOCGSTATS return current statistics
- * MGSL_IOCWAITEVENT wait for specified event to occur
- * MGSL_LOOPTXDONE transmit in HDLC LoopMode done
- * MGSL_IOCSIF set the serial interface type
- * MGSL_IOCGIF get the serial interface type
- */
-#define MGSL_MAGIC_IOC 'm'
-#define MGSL_IOCSPARAMS _IOW(MGSL_MAGIC_IOC,0,struct _MGSL_PARAMS)
-#define MGSL_IOCGPARAMS _IOR(MGSL_MAGIC_IOC,1,struct _MGSL_PARAMS)
-#define MGSL_IOCSTXIDLE _IO(MGSL_MAGIC_IOC,2)
-#define MGSL_IOCGTXIDLE _IO(MGSL_MAGIC_IOC,3)
-#define MGSL_IOCTXENABLE _IO(MGSL_MAGIC_IOC,4)
-#define MGSL_IOCRXENABLE _IO(MGSL_MAGIC_IOC,5)
-#define MGSL_IOCTXABORT _IO(MGSL_MAGIC_IOC,6)
-#define MGSL_IOCGSTATS _IO(MGSL_MAGIC_IOC,7)
-#define MGSL_IOCWAITEVENT _IOWR(MGSL_MAGIC_IOC,8,int)
-#define MGSL_IOCCLRMODCOUNT _IO(MGSL_MAGIC_IOC,15)
-#define MGSL_IOCLOOPTXDONE _IO(MGSL_MAGIC_IOC,9)
-#define MGSL_IOCSIF _IO(MGSL_MAGIC_IOC,10)
-#define MGSL_IOCGIF _IO(MGSL_MAGIC_IOC,11)
-#define MGSL_IOCSGPIO _IOW(MGSL_MAGIC_IOC,16,struct gpio_desc)
-#define MGSL_IOCGGPIO _IOR(MGSL_MAGIC_IOC,17,struct gpio_desc)
-#define MGSL_IOCWAITGPIO _IOWR(MGSL_MAGIC_IOC,18,struct gpio_desc)
-#define MGSL_IOCSXSYNC _IO(MGSL_MAGIC_IOC, 19)
-#define MGSL_IOCGXSYNC _IO(MGSL_MAGIC_IOC, 20)
-#define MGSL_IOCSXCTRL _IO(MGSL_MAGIC_IOC, 21)
-#define MGSL_IOCGXCTRL _IO(MGSL_MAGIC_IOC, 22)
-
-
-#endif /* _SYNCLINK_H_ */
diff --git a/linux-headers/include/linux/sysctl.h b/linux-headers/include/linux/sysctl.h
deleted file mode 100644
index af4d004..0000000
--- a/linux-headers/include/linux/sysctl.h
+++ /dev/null
@@ -1,934 +0,0 @@
-/*
- * sysctl.h: General linux system control interface
- *
- * Begun 24 March 1995, Stephen Tweedie
- *
- ****************************************************************
- ****************************************************************
- **
- ** WARNING:
- ** The values in this file are exported to user space via
- ** the sysctl() binary interface. Do *NOT* change the
- ** numbering of any existing values here, and do not change
- ** any numbers within any one set of values. If you have to
- ** redefine an existing interface, use a new number for it.
- ** The kernel will then return -ENOTDIR to any application using
- ** the old binary interface.
- **
- ****************************************************************
- ****************************************************************
- */
-
-#ifndef _LINUX_SYSCTL_H
-#define _LINUX_SYSCTL_H
-
-#include <linux/kernel.h>
-#include <linux/types.h>
-
-
-struct completion;
-
-#define CTL_MAXNAME 10 /* how many path components do we allow in a
- call to sysctl? In other words, what is
- the largest acceptable value for the nlen
- member of a struct __sysctl_args to have? */
-
-struct __sysctl_args {
- int *name;
- int nlen;
- void *oldval;
- size_t *oldlenp;
- void *newval;
- size_t newlen;
- unsigned long __unused[4];
-};
-
-/* Define sysctl names first */
-
-/* Top-level names: */
-
-enum
-{
- CTL_KERN=1, /* General kernel info and control */
- CTL_VM=2, /* VM management */
- CTL_NET=3, /* Networking */
- CTL_PROC=4, /* removal breaks strace(1) compilation */
- CTL_FS=5, /* Filesystems */
- CTL_DEBUG=6, /* Debugging */
- CTL_DEV=7, /* Devices */
- CTL_BUS=8, /* Busses */
- CTL_ABI=9, /* Binary emulation */
- CTL_CPU=10, /* CPU stuff (speed scaling, etc) */
- CTL_ARLAN=254, /* arlan wireless driver */
- CTL_S390DBF=5677, /* s390 debug */
- CTL_SUNRPC=7249, /* sunrpc debug */
- CTL_PM=9899, /* frv power management */
- CTL_FRV=9898, /* frv specific sysctls */
-};
-
-/* CTL_BUS names: */
-enum
-{
- CTL_BUS_ISA=1 /* ISA */
-};
-
-/* /proc/sys/fs/inotify/ */
-enum
-{
- INOTIFY_MAX_USER_INSTANCES=1, /* max instances per user */
- INOTIFY_MAX_USER_WATCHES=2, /* max watches per user */
- INOTIFY_MAX_QUEUED_EVENTS=3 /* max queued events per instance */
-};
-
-/* CTL_KERN names: */
-enum
-{
- KERN_OSTYPE=1, /* string: system version */
- KERN_OSRELEASE=2, /* string: system release */
- KERN_OSREV=3, /* int: system revision */
- KERN_VERSION=4, /* string: compile time info */
- KERN_SECUREMASK=5, /* struct: maximum rights mask */
- KERN_PROF=6, /* table: profiling information */
- KERN_NODENAME=7, /* string: hostname */
- KERN_DOMAINNAME=8, /* string: domainname */
-
- KERN_PANIC=15, /* int: panic timeout */
- KERN_REALROOTDEV=16, /* real root device to mount after initrd */
-
- KERN_SPARC_REBOOT=21, /* reboot command on Sparc */
- KERN_CTLALTDEL=22, /* int: allow ctl-alt-del to reboot */
- KERN_PRINTK=23, /* struct: control printk logging parameters */
- KERN_NAMETRANS=24, /* Name translation */
- KERN_PPC_HTABRECLAIM=25, /* turn htab reclaimation on/off on PPC */
- KERN_PPC_ZEROPAGED=26, /* turn idle page zeroing on/off on PPC */
- KERN_PPC_POWERSAVE_NAP=27, /* use nap mode for power saving */
- KERN_MODPROBE=28, /* string: modprobe path */
- KERN_SG_BIG_BUFF=29, /* int: sg driver reserved buffer size */
- KERN_ACCT=30, /* BSD process accounting parameters */
- KERN_PPC_L2CR=31, /* l2cr register on PPC */
-
- KERN_RTSIGNR=32, /* Number of rt sigs queued */
- KERN_RTSIGMAX=33, /* Max queuable */
-
- KERN_SHMMAX=34, /* long: Maximum shared memory segment */
- KERN_MSGMAX=35, /* int: Maximum size of a messege */
- KERN_MSGMNB=36, /* int: Maximum message queue size */
- KERN_MSGPOOL=37, /* int: Maximum system message pool size */
- KERN_SYSRQ=38, /* int: Sysreq enable */
- KERN_MAX_THREADS=39, /* int: Maximum nr of threads in the system */
- KERN_RANDOM=40, /* Random driver */
- KERN_SHMALL=41, /* int: Maximum size of shared memory */
- KERN_MSGMNI=42, /* int: msg queue identifiers */
- KERN_SEM=43, /* struct: sysv semaphore limits */
- KERN_SPARC_STOP_A=44, /* int: Sparc Stop-A enable */
- KERN_SHMMNI=45, /* int: shm array identifiers */
- KERN_OVERFLOWUID=46, /* int: overflow UID */
- KERN_OVERFLOWGID=47, /* int: overflow GID */
- KERN_SHMPATH=48, /* string: path to shm fs */
- KERN_HOTPLUG=49, /* string: path to uevent helper (deprecated) */
- KERN_IEEE_EMULATION_WARNINGS=50, /* int: unimplemented ieee instructions */
- KERN_S390_USER_DEBUG_LOGGING=51, /* int: dumps of user faults */
- KERN_CORE_USES_PID=52, /* int: use core or core.%pid */
- KERN_TAINTED=53, /* int: various kernel tainted flags */
- KERN_CADPID=54, /* int: PID of the process to notify on CAD */
- KERN_PIDMAX=55, /* int: PID # limit */
- KERN_CORE_PATTERN=56, /* string: pattern for core-file names */
- KERN_PANIC_ON_OOPS=57, /* int: whether we will panic on an oops */
- KERN_HPPA_PWRSW=58, /* int: hppa soft-power enable */
- KERN_HPPA_UNALIGNED=59, /* int: hppa unaligned-trap enable */
- KERN_PRINTK_RATELIMIT=60, /* int: tune printk ratelimiting */
- KERN_PRINTK_RATELIMIT_BURST=61, /* int: tune printk ratelimiting */
- KERN_PTY=62, /* dir: pty driver */
- KERN_NGROUPS_MAX=63, /* int: NGROUPS_MAX */
- KERN_SPARC_SCONS_PWROFF=64, /* int: serial console power-off halt */
- KERN_HZ_TIMER=65, /* int: hz timer on or off */
- KERN_UNKNOWN_NMI_PANIC=66, /* int: unknown nmi panic flag */
- KERN_BOOTLOADER_TYPE=67, /* int: boot loader type */
- KERN_RANDOMIZE=68, /* int: randomize virtual address space */
- KERN_SETUID_DUMPABLE=69, /* int: behaviour of dumps for setuid core */
- KERN_SPIN_RETRY=70, /* int: number of spinlock retries */
- KERN_ACPI_VIDEO_FLAGS=71, /* int: flags for setting up video after ACPI sleep */
- KERN_IA64_UNALIGNED=72, /* int: ia64 unaligned userland trap enable */
- KERN_COMPAT_LOG=73, /* int: print compat layer messages */
- KERN_MAX_LOCK_DEPTH=74, /* int: rtmutex's maximum lock depth */
- KERN_NMI_WATCHDOG=75, /* int: enable/disable nmi watchdog */
- KERN_PANIC_ON_NMI=76, /* int: whether we will panic on an unrecovered */
- KERN_PANIC_ON_WARN=77, /* int: call panic() in WARN() functions */
-};
-
-
-
-/* CTL_VM names: */
-enum
-{
- VM_UNUSED1=1, /* was: struct: Set vm swapping control */
- VM_UNUSED2=2, /* was; int: Linear or sqrt() swapout for hogs */
- VM_UNUSED3=3, /* was: struct: Set free page thresholds */
- VM_UNUSED4=4, /* Spare */
- VM_OVERCOMMIT_MEMORY=5, /* Turn off the virtual memory safety limit */
- VM_UNUSED5=6, /* was: struct: Set buffer memory thresholds */
- VM_UNUSED7=7, /* was: struct: Set cache memory thresholds */
- VM_UNUSED8=8, /* was: struct: Control kswapd behaviour */
- VM_UNUSED9=9, /* was: struct: Set page table cache parameters */
- VM_PAGE_CLUSTER=10, /* int: set number of pages to swap together */
- VM_DIRTY_BACKGROUND=11, /* dirty_background_ratio */
- VM_DIRTY_RATIO=12, /* dirty_ratio */
- VM_DIRTY_WB_CS=13, /* dirty_writeback_centisecs */
- VM_DIRTY_EXPIRE_CS=14, /* dirty_expire_centisecs */
- VM_NR_PDFLUSH_THREADS=15, /* nr_pdflush_threads */
- VM_OVERCOMMIT_RATIO=16, /* percent of RAM to allow overcommit in */
- VM_PAGEBUF=17, /* struct: Control pagebuf parameters */
- VM_HUGETLB_PAGES=18, /* int: Number of available Huge Pages */
- VM_SWAPPINESS=19, /* Tendency to steal mapped memory */
- VM_LOWMEM_RESERVE_RATIO=20,/* reservation ratio for lower memory zones */
- VM_MIN_FREE_KBYTES=21, /* Minimum free kilobytes to maintain */
- VM_MAX_MAP_COUNT=22, /* int: Maximum number of mmaps/address-space */
- VM_LAPTOP_MODE=23, /* vm laptop mode */
- VM_BLOCK_DUMP=24, /* block dump mode */
- VM_HUGETLB_GROUP=25, /* permitted hugetlb group */
- VM_VFS_CACHE_PRESSURE=26, /* dcache/icache reclaim pressure */
- VM_LEGACY_VA_LAYOUT=27, /* legacy/compatibility virtual address space layout */
- VM_SWAP_TOKEN_TIMEOUT=28, /* default time for token time out */
- VM_DROP_PAGECACHE=29, /* int: nuke lots of pagecache */
- VM_PERCPU_PAGELIST_FRACTION=30,/* int: fraction of pages in each percpu_pagelist */
- VM_ZONE_RECLAIM_MODE=31, /* reclaim local zone memory before going off node */
- VM_MIN_UNMAPPED=32, /* Set min percent of unmapped pages */
- VM_PANIC_ON_OOM=33, /* panic at out-of-memory */
- VM_VDSO_ENABLED=34, /* map VDSO into new processes? */
- VM_MIN_SLAB=35, /* Percent pages ignored by zone reclaim */
-};
-
-
-/* CTL_NET names: */
-enum
-{
- NET_CORE=1,
- NET_ETHER=2,
- NET_802=3,
- NET_UNIX=4,
- NET_IPV4=5,
- NET_IPX=6,
- NET_ATALK=7,
- NET_NETROM=8,
- NET_AX25=9,
- NET_BRIDGE=10,
- NET_ROSE=11,
- NET_IPV6=12,
- NET_X25=13,
- NET_TR=14,
- NET_DECNET=15,
- NET_ECONET=16,
- NET_SCTP=17,
- NET_LLC=18,
- NET_NETFILTER=19,
- NET_DCCP=20,
- NET_IRDA=412,
-};
-
-/* /proc/sys/kernel/random */
-enum
-{
- RANDOM_POOLSIZE=1,
- RANDOM_ENTROPY_COUNT=2,
- RANDOM_READ_THRESH=3,
- RANDOM_WRITE_THRESH=4,
- RANDOM_BOOT_ID=5,
- RANDOM_UUID=6
-};
-
-/* /proc/sys/kernel/pty */
-enum
-{
- PTY_MAX=1,
- PTY_NR=2
-};
-
-/* /proc/sys/bus/isa */
-enum
-{
- BUS_ISA_MEM_BASE=1,
- BUS_ISA_PORT_BASE=2,
- BUS_ISA_PORT_SHIFT=3
-};
-
-/* /proc/sys/net/core */
-enum
-{
- NET_CORE_WMEM_MAX=1,
- NET_CORE_RMEM_MAX=2,
- NET_CORE_WMEM_DEFAULT=3,
- NET_CORE_RMEM_DEFAULT=4,
-/* was NET_CORE_DESTROY_DELAY */
- NET_CORE_MAX_BACKLOG=6,
- NET_CORE_FASTROUTE=7,
- NET_CORE_MSG_COST=8,
- NET_CORE_MSG_BURST=9,
- NET_CORE_OPTMEM_MAX=10,
- NET_CORE_HOT_LIST_LENGTH=11,
- NET_CORE_DIVERT_VERSION=12,
- NET_CORE_NO_CONG_THRESH=13,
- NET_CORE_NO_CONG=14,
- NET_CORE_LO_CONG=15,
- NET_CORE_MOD_CONG=16,
- NET_CORE_DEV_WEIGHT=17,
- NET_CORE_SOMAXCONN=18,
- NET_CORE_BUDGET=19,
- NET_CORE_AEVENT_ETIME=20,
- NET_CORE_AEVENT_RSEQTH=21,
- NET_CORE_WARNINGS=22,
-};
-
-/* /proc/sys/net/ethernet */
-
-/* /proc/sys/net/802 */
-
-/* /proc/sys/net/unix */
-
-enum
-{
- NET_UNIX_DESTROY_DELAY=1,
- NET_UNIX_DELETE_DELAY=2,
- NET_UNIX_MAX_DGRAM_QLEN=3,
-};
-
-/* /proc/sys/net/netfilter */
-enum
-{
- NET_NF_CONNTRACK_MAX=1,
- NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
- NET_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
- NET_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
- NET_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
- NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
- NET_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
- NET_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
- NET_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
- NET_NF_CONNTRACK_UDP_TIMEOUT=10,
- NET_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
- NET_NF_CONNTRACK_ICMP_TIMEOUT=12,
- NET_NF_CONNTRACK_GENERIC_TIMEOUT=13,
- NET_NF_CONNTRACK_BUCKETS=14,
- NET_NF_CONNTRACK_LOG_INVALID=15,
- NET_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
- NET_NF_CONNTRACK_TCP_LOOSE=17,
- NET_NF_CONNTRACK_TCP_BE_LIBERAL=18,
- NET_NF_CONNTRACK_TCP_MAX_RETRANS=19,
- NET_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
- NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
- NET_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
- NET_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
- NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
- NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
- NET_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
- NET_NF_CONNTRACK_COUNT=27,
- NET_NF_CONNTRACK_ICMPV6_TIMEOUT=28,
- NET_NF_CONNTRACK_FRAG6_TIMEOUT=29,
- NET_NF_CONNTRACK_FRAG6_LOW_THRESH=30,
- NET_NF_CONNTRACK_FRAG6_HIGH_THRESH=31,
- NET_NF_CONNTRACK_CHECKSUM=32,
-};
-
-/* /proc/sys/net/ipv4 */
-enum
-{
- /* v2.0 compatibile variables */
- NET_IPV4_FORWARD=8,
- NET_IPV4_DYNADDR=9,
-
- NET_IPV4_CONF=16,
- NET_IPV4_NEIGH=17,
- NET_IPV4_ROUTE=18,
- NET_IPV4_FIB_HASH=19,
- NET_IPV4_NETFILTER=20,
-
- NET_IPV4_TCP_TIMESTAMPS=33,
- NET_IPV4_TCP_WINDOW_SCALING=34,
- NET_IPV4_TCP_SACK=35,
- NET_IPV4_TCP_RETRANS_COLLAPSE=36,
- NET_IPV4_DEFAULT_TTL=37,
- NET_IPV4_AUTOCONFIG=38,
- NET_IPV4_NO_PMTU_DISC=39,
- NET_IPV4_TCP_SYN_RETRIES=40,
- NET_IPV4_IPFRAG_HIGH_THRESH=41,
- NET_IPV4_IPFRAG_LOW_THRESH=42,
- NET_IPV4_IPFRAG_TIME=43,
- NET_IPV4_TCP_MAX_KA_PROBES=44,
- NET_IPV4_TCP_KEEPALIVE_TIME=45,
- NET_IPV4_TCP_KEEPALIVE_PROBES=46,
- NET_IPV4_TCP_RETRIES1=47,
- NET_IPV4_TCP_RETRIES2=48,
- NET_IPV4_TCP_FIN_TIMEOUT=49,
- NET_IPV4_IP_MASQ_DEBUG=50,
- NET_TCP_SYNCOOKIES=51,
- NET_TCP_STDURG=52,
- NET_TCP_RFC1337=53,
- NET_TCP_SYN_TAILDROP=54,
- NET_TCP_MAX_SYN_BACKLOG=55,
- NET_IPV4_LOCAL_PORT_RANGE=56,
- NET_IPV4_ICMP_ECHO_IGNORE_ALL=57,
- NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS=58,
- NET_IPV4_ICMP_SOURCEQUENCH_RATE=59,
- NET_IPV4_ICMP_DESTUNREACH_RATE=60,
- NET_IPV4_ICMP_TIMEEXCEED_RATE=61,
- NET_IPV4_ICMP_PARAMPROB_RATE=62,
- NET_IPV4_ICMP_ECHOREPLY_RATE=63,
- NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES=64,
- NET_IPV4_IGMP_MAX_MEMBERSHIPS=65,
- NET_TCP_TW_RECYCLE=66,
- NET_IPV4_ALWAYS_DEFRAG=67,
- NET_IPV4_TCP_KEEPALIVE_INTVL=68,
- NET_IPV4_INET_PEER_THRESHOLD=69,
- NET_IPV4_INET_PEER_MINTTL=70,
- NET_IPV4_INET_PEER_MAXTTL=71,
- NET_IPV4_INET_PEER_GC_MINTIME=72,
- NET_IPV4_INET_PEER_GC_MAXTIME=73,
- NET_TCP_ORPHAN_RETRIES=74,
- NET_TCP_ABORT_ON_OVERFLOW=75,
- NET_TCP_SYNACK_RETRIES=76,
- NET_TCP_MAX_ORPHANS=77,
- NET_TCP_MAX_TW_BUCKETS=78,
- NET_TCP_FACK=79,
- NET_TCP_REORDERING=80,
- NET_TCP_ECN=81,
- NET_TCP_DSACK=82,
- NET_TCP_MEM=83,
- NET_TCP_WMEM=84,
- NET_TCP_RMEM=85,
- NET_TCP_APP_WIN=86,
- NET_TCP_ADV_WIN_SCALE=87,
- NET_IPV4_NONLOCAL_BIND=88,
- NET_IPV4_ICMP_RATELIMIT=89,
- NET_IPV4_ICMP_RATEMASK=90,
- NET_TCP_TW_REUSE=91,
- NET_TCP_FRTO=92,
- NET_TCP_LOW_LATENCY=93,
- NET_IPV4_IPFRAG_SECRET_INTERVAL=94,
- NET_IPV4_IGMP_MAX_MSF=96,
- NET_TCP_NO_METRICS_SAVE=97,
- NET_TCP_DEFAULT_WIN_SCALE=105,
- NET_TCP_MODERATE_RCVBUF=106,
- NET_TCP_TSO_WIN_DIVISOR=107,
- NET_TCP_BIC_BETA=108,
- NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR=109,
- NET_TCP_CONG_CONTROL=110,
- NET_TCP_ABC=111,
- NET_IPV4_IPFRAG_MAX_DIST=112,
- NET_TCP_MTU_PROBING=113,
- NET_TCP_BASE_MSS=114,
- NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS=115,
- NET_TCP_DMA_COPYBREAK=116,
- NET_TCP_SLOW_START_AFTER_IDLE=117,
- NET_CIPSOV4_CACHE_ENABLE=118,
- NET_CIPSOV4_CACHE_BUCKET_SIZE=119,
- NET_CIPSOV4_RBM_OPTFMT=120,
- NET_CIPSOV4_RBM_STRICTVALID=121,
- NET_TCP_AVAIL_CONG_CONTROL=122,
- NET_TCP_ALLOWED_CONG_CONTROL=123,
- NET_TCP_MAX_SSTHRESH=124,
- NET_TCP_FRTO_RESPONSE=125,
-};
-
-enum {
- NET_IPV4_ROUTE_FLUSH=1,
- NET_IPV4_ROUTE_MIN_DELAY=2, /* obsolete since 2.6.25 */
- NET_IPV4_ROUTE_MAX_DELAY=3, /* obsolete since 2.6.25 */
- NET_IPV4_ROUTE_GC_THRESH=4,
- NET_IPV4_ROUTE_MAX_SIZE=5,
- NET_IPV4_ROUTE_GC_MIN_INTERVAL=6,
- NET_IPV4_ROUTE_GC_TIMEOUT=7,
- NET_IPV4_ROUTE_GC_INTERVAL=8, /* obsolete since 2.6.38 */
- NET_IPV4_ROUTE_REDIRECT_LOAD=9,
- NET_IPV4_ROUTE_REDIRECT_NUMBER=10,
- NET_IPV4_ROUTE_REDIRECT_SILENCE=11,
- NET_IPV4_ROUTE_ERROR_COST=12,
- NET_IPV4_ROUTE_ERROR_BURST=13,
- NET_IPV4_ROUTE_GC_ELASTICITY=14,
- NET_IPV4_ROUTE_MTU_EXPIRES=15,
- NET_IPV4_ROUTE_MIN_PMTU=16,
- NET_IPV4_ROUTE_MIN_ADVMSS=17,
- NET_IPV4_ROUTE_SECRET_INTERVAL=18,
- NET_IPV4_ROUTE_GC_MIN_INTERVAL_MS=19,
-};
-
-enum
-{
- NET_PROTO_CONF_ALL=-2,
- NET_PROTO_CONF_DEFAULT=-3
-
- /* And device ifindices ... */
-};
-
-enum
-{
- NET_IPV4_CONF_FORWARDING=1,
- NET_IPV4_CONF_MC_FORWARDING=2,
- NET_IPV4_CONF_PROXY_ARP=3,
- NET_IPV4_CONF_ACCEPT_REDIRECTS=4,
- NET_IPV4_CONF_SECURE_REDIRECTS=5,
- NET_IPV4_CONF_SEND_REDIRECTS=6,
- NET_IPV4_CONF_SHARED_MEDIA=7,
- NET_IPV4_CONF_RP_FILTER=8,
- NET_IPV4_CONF_ACCEPT_SOURCE_ROUTE=9,
- NET_IPV4_CONF_BOOTP_RELAY=10,
- NET_IPV4_CONF_LOG_MARTIANS=11,
- NET_IPV4_CONF_TAG=12,
- NET_IPV4_CONF_ARPFILTER=13,
- NET_IPV4_CONF_MEDIUM_ID=14,
- NET_IPV4_CONF_NOXFRM=15,
- NET_IPV4_CONF_NOPOLICY=16,
- NET_IPV4_CONF_FORCE_IGMP_VERSION=17,
- NET_IPV4_CONF_ARP_ANNOUNCE=18,
- NET_IPV4_CONF_ARP_IGNORE=19,
- NET_IPV4_CONF_PROMOTE_SECONDARIES=20,
- NET_IPV4_CONF_ARP_ACCEPT=21,
- NET_IPV4_CONF_ARP_NOTIFY=22,
-};
-
-/* /proc/sys/net/ipv4/netfilter */
-enum
-{
- NET_IPV4_NF_CONNTRACK_MAX=1,
- NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_SENT=2,
- NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_SYN_RECV=3,
- NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_ESTABLISHED=4,
- NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_FIN_WAIT=5,
- NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE_WAIT=6,
- NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_LAST_ACK=7,
- NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_TIME_WAIT=8,
- NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_CLOSE=9,
- NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT=10,
- NET_IPV4_NF_CONNTRACK_UDP_TIMEOUT_STREAM=11,
- NET_IPV4_NF_CONNTRACK_ICMP_TIMEOUT=12,
- NET_IPV4_NF_CONNTRACK_GENERIC_TIMEOUT=13,
- NET_IPV4_NF_CONNTRACK_BUCKETS=14,
- NET_IPV4_NF_CONNTRACK_LOG_INVALID=15,
- NET_IPV4_NF_CONNTRACK_TCP_TIMEOUT_MAX_RETRANS=16,
- NET_IPV4_NF_CONNTRACK_TCP_LOOSE=17,
- NET_IPV4_NF_CONNTRACK_TCP_BE_LIBERAL=18,
- NET_IPV4_NF_CONNTRACK_TCP_MAX_RETRANS=19,
- NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_CLOSED=20,
- NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_WAIT=21,
- NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_COOKIE_ECHOED=22,
- NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_ESTABLISHED=23,
- NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_SENT=24,
- NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_RECD=25,
- NET_IPV4_NF_CONNTRACK_SCTP_TIMEOUT_SHUTDOWN_ACK_SENT=26,
- NET_IPV4_NF_CONNTRACK_COUNT=27,
- NET_IPV4_NF_CONNTRACK_CHECKSUM=28,
-};
-
-/* /proc/sys/net/ipv6 */
-enum {
- NET_IPV6_CONF=16,
- NET_IPV6_NEIGH=17,
- NET_IPV6_ROUTE=18,
- NET_IPV6_ICMP=19,
- NET_IPV6_BINDV6ONLY=20,
- NET_IPV6_IP6FRAG_HIGH_THRESH=21,
- NET_IPV6_IP6FRAG_LOW_THRESH=22,
- NET_IPV6_IP6FRAG_TIME=23,
- NET_IPV6_IP6FRAG_SECRET_INTERVAL=24,
- NET_IPV6_MLD_MAX_MSF=25,
-};
-
-enum {
- NET_IPV6_ROUTE_FLUSH=1,
- NET_IPV6_ROUTE_GC_THRESH=2,
- NET_IPV6_ROUTE_MAX_SIZE=3,
- NET_IPV6_ROUTE_GC_MIN_INTERVAL=4,
- NET_IPV6_ROUTE_GC_TIMEOUT=5,
- NET_IPV6_ROUTE_GC_INTERVAL=6,
- NET_IPV6_ROUTE_GC_ELASTICITY=7,
- NET_IPV6_ROUTE_MTU_EXPIRES=8,
- NET_IPV6_ROUTE_MIN_ADVMSS=9,
- NET_IPV6_ROUTE_GC_MIN_INTERVAL_MS=10
-};
-
-enum {
- NET_IPV6_FORWARDING=1,
- NET_IPV6_HOP_LIMIT=2,
- NET_IPV6_MTU=3,
- NET_IPV6_ACCEPT_RA=4,
- NET_IPV6_ACCEPT_REDIRECTS=5,
- NET_IPV6_AUTOCONF=6,
- NET_IPV6_DAD_TRANSMITS=7,
- NET_IPV6_RTR_SOLICITS=8,
- NET_IPV6_RTR_SOLICIT_INTERVAL=9,
- NET_IPV6_RTR_SOLICIT_DELAY=10,
- NET_IPV6_USE_TEMPADDR=11,
- NET_IPV6_TEMP_VALID_LFT=12,
- NET_IPV6_TEMP_PREFERED_LFT=13,
- NET_IPV6_REGEN_MAX_RETRY=14,
- NET_IPV6_MAX_DESYNC_FACTOR=15,
- NET_IPV6_MAX_ADDRESSES=16,
- NET_IPV6_FORCE_MLD_VERSION=17,
- NET_IPV6_ACCEPT_RA_DEFRTR=18,
- NET_IPV6_ACCEPT_RA_PINFO=19,
- NET_IPV6_ACCEPT_RA_RTR_PREF=20,
- NET_IPV6_RTR_PROBE_INTERVAL=21,
- NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22,
- NET_IPV6_PROXY_NDP=23,
- NET_IPV6_ACCEPT_SOURCE_ROUTE=25,
- NET_IPV6_ACCEPT_RA_FROM_LOCAL=26,
- __NET_IPV6_MAX
-};
-
-/* /proc/sys/net/ipv6/icmp */
-enum {
- NET_IPV6_ICMP_RATELIMIT=1
-};
-
-/* /proc/sys/net/<protocol>/neigh/<dev> */
-enum {
- NET_NEIGH_MCAST_SOLICIT=1,
- NET_NEIGH_UCAST_SOLICIT=2,
- NET_NEIGH_APP_SOLICIT=3,
- NET_NEIGH_RETRANS_TIME=4,
- NET_NEIGH_REACHABLE_TIME=5,
- NET_NEIGH_DELAY_PROBE_TIME=6,
- NET_NEIGH_GC_STALE_TIME=7,
- NET_NEIGH_UNRES_QLEN=8,
- NET_NEIGH_PROXY_QLEN=9,
- NET_NEIGH_ANYCAST_DELAY=10,
- NET_NEIGH_PROXY_DELAY=11,
- NET_NEIGH_LOCKTIME=12,
- NET_NEIGH_GC_INTERVAL=13,
- NET_NEIGH_GC_THRESH1=14,
- NET_NEIGH_GC_THRESH2=15,
- NET_NEIGH_GC_THRESH3=16,
- NET_NEIGH_RETRANS_TIME_MS=17,
- NET_NEIGH_REACHABLE_TIME_MS=18,
-};
-
-/* /proc/sys/net/dccp */
-enum {
- NET_DCCP_DEFAULT=1,
-};
-
-/* /proc/sys/net/ipx */
-enum {
- NET_IPX_PPROP_BROADCASTING=1,
- NET_IPX_FORWARDING=2
-};
-
-/* /proc/sys/net/llc */
-enum {
- NET_LLC2=1,
- NET_LLC_STATION=2,
-};
-
-/* /proc/sys/net/llc/llc2 */
-enum {
- NET_LLC2_TIMEOUT=1,
-};
-
-/* /proc/sys/net/llc/station */
-enum {
- NET_LLC_STATION_ACK_TIMEOUT=1,
-};
-
-/* /proc/sys/net/llc/llc2/timeout */
-enum {
- NET_LLC2_ACK_TIMEOUT=1,
- NET_LLC2_P_TIMEOUT=2,
- NET_LLC2_REJ_TIMEOUT=3,
- NET_LLC2_BUSY_TIMEOUT=4,
-};
-
-/* /proc/sys/net/appletalk */
-enum {
- NET_ATALK_AARP_EXPIRY_TIME=1,
- NET_ATALK_AARP_TICK_TIME=2,
- NET_ATALK_AARP_RETRANSMIT_LIMIT=3,
- NET_ATALK_AARP_RESOLVE_TIME=4
-};
-
-
-/* /proc/sys/net/netrom */
-enum {
- NET_NETROM_DEFAULT_PATH_QUALITY=1,
- NET_NETROM_OBSOLESCENCE_COUNT_INITIALISER=2,
- NET_NETROM_NETWORK_TTL_INITIALISER=3,
- NET_NETROM_TRANSPORT_TIMEOUT=4,
- NET_NETROM_TRANSPORT_MAXIMUM_TRIES=5,
- NET_NETROM_TRANSPORT_ACKNOWLEDGE_DELAY=6,
- NET_NETROM_TRANSPORT_BUSY_DELAY=7,
- NET_NETROM_TRANSPORT_REQUESTED_WINDOW_SIZE=8,
- NET_NETROM_TRANSPORT_NO_ACTIVITY_TIMEOUT=9,
- NET_NETROM_ROUTING_CONTROL=10,
- NET_NETROM_LINK_FAILS_COUNT=11,
- NET_NETROM_RESET=12
-};
-
-/* /proc/sys/net/ax25 */
-enum {
- NET_AX25_IP_DEFAULT_MODE=1,
- NET_AX25_DEFAULT_MODE=2,
- NET_AX25_BACKOFF_TYPE=3,
- NET_AX25_CONNECT_MODE=4,
- NET_AX25_STANDARD_WINDOW=5,
- NET_AX25_EXTENDED_WINDOW=6,
- NET_AX25_T1_TIMEOUT=7,
- NET_AX25_T2_TIMEOUT=8,
- NET_AX25_T3_TIMEOUT=9,
- NET_AX25_IDLE_TIMEOUT=10,
- NET_AX25_N2=11,
- NET_AX25_PACLEN=12,
- NET_AX25_PROTOCOL=13,
- NET_AX25_DAMA_SLAVE_TIMEOUT=14
-};
-
-/* /proc/sys/net/rose */
-enum {
- NET_ROSE_RESTART_REQUEST_TIMEOUT=1,
- NET_ROSE_CALL_REQUEST_TIMEOUT=2,
- NET_ROSE_RESET_REQUEST_TIMEOUT=3,
- NET_ROSE_CLEAR_REQUEST_TIMEOUT=4,
- NET_ROSE_ACK_HOLD_BACK_TIMEOUT=5,
- NET_ROSE_ROUTING_CONTROL=6,
- NET_ROSE_LINK_FAIL_TIMEOUT=7,
- NET_ROSE_MAX_VCS=8,
- NET_ROSE_WINDOW_SIZE=9,
- NET_ROSE_NO_ACTIVITY_TIMEOUT=10
-};
-
-/* /proc/sys/net/x25 */
-enum {
- NET_X25_RESTART_REQUEST_TIMEOUT=1,
- NET_X25_CALL_REQUEST_TIMEOUT=2,
- NET_X25_RESET_REQUEST_TIMEOUT=3,
- NET_X25_CLEAR_REQUEST_TIMEOUT=4,
- NET_X25_ACK_HOLD_BACK_TIMEOUT=5,
- NET_X25_FORWARD=6
-};
-
-/* /proc/sys/net/token-ring */
-enum
-{
- NET_TR_RIF_TIMEOUT=1
-};
-
-/* /proc/sys/net/decnet/ */
-enum {
- NET_DECNET_NODE_TYPE = 1,
- NET_DECNET_NODE_ADDRESS = 2,
- NET_DECNET_NODE_NAME = 3,
- NET_DECNET_DEFAULT_DEVICE = 4,
- NET_DECNET_TIME_WAIT = 5,
- NET_DECNET_DN_COUNT = 6,
- NET_DECNET_DI_COUNT = 7,
- NET_DECNET_DR_COUNT = 8,
- NET_DECNET_DST_GC_INTERVAL = 9,
- NET_DECNET_CONF = 10,
- NET_DECNET_NO_FC_MAX_CWND = 11,
- NET_DECNET_MEM = 12,
- NET_DECNET_RMEM = 13,
- NET_DECNET_WMEM = 14,
- NET_DECNET_DEBUG_LEVEL = 255
-};
-
-/* /proc/sys/net/decnet/conf/<dev> */
-enum {
- NET_DECNET_CONF_LOOPBACK = -2,
- NET_DECNET_CONF_DDCMP = -3,
- NET_DECNET_CONF_PPP = -4,
- NET_DECNET_CONF_X25 = -5,
- NET_DECNET_CONF_GRE = -6,
- NET_DECNET_CONF_ETHER = -7
-
- /* ... and ifindex of devices */
-};
-
-/* /proc/sys/net/decnet/conf/<dev>/ */
-enum {
- NET_DECNET_CONF_DEV_PRIORITY = 1,
- NET_DECNET_CONF_DEV_T1 = 2,
- NET_DECNET_CONF_DEV_T2 = 3,
- NET_DECNET_CONF_DEV_T3 = 4,
- NET_DECNET_CONF_DEV_FORWARDING = 5,
- NET_DECNET_CONF_DEV_BLKSIZE = 6,
- NET_DECNET_CONF_DEV_STATE = 7
-};
-
-/* /proc/sys/net/sctp */
-enum {
- NET_SCTP_RTO_INITIAL = 1,
- NET_SCTP_RTO_MIN = 2,
- NET_SCTP_RTO_MAX = 3,
- NET_SCTP_RTO_ALPHA = 4,
- NET_SCTP_RTO_BETA = 5,
- NET_SCTP_VALID_COOKIE_LIFE = 6,
- NET_SCTP_ASSOCIATION_MAX_RETRANS = 7,
- NET_SCTP_PATH_MAX_RETRANS = 8,
- NET_SCTP_MAX_INIT_RETRANSMITS = 9,
- NET_SCTP_HB_INTERVAL = 10,
- NET_SCTP_PRESERVE_ENABLE = 11,
- NET_SCTP_MAX_BURST = 12,
- NET_SCTP_ADDIP_ENABLE = 13,
- NET_SCTP_PRSCTP_ENABLE = 14,
- NET_SCTP_SNDBUF_POLICY = 15,
- NET_SCTP_SACK_TIMEOUT = 16,
- NET_SCTP_RCVBUF_POLICY = 17,
-};
-
-/* /proc/sys/net/bridge */
-enum {
- NET_BRIDGE_NF_CALL_ARPTABLES = 1,
- NET_BRIDGE_NF_CALL_IPTABLES = 2,
- NET_BRIDGE_NF_CALL_IP6TABLES = 3,
- NET_BRIDGE_NF_FILTER_VLAN_TAGGED = 4,
- NET_BRIDGE_NF_FILTER_PPPOE_TAGGED = 5,
-};
-
-/* proc/sys/net/irda */
-enum {
- NET_IRDA_DISCOVERY=1,
- NET_IRDA_DEVNAME=2,
- NET_IRDA_DEBUG=3,
- NET_IRDA_FAST_POLL=4,
- NET_IRDA_DISCOVERY_SLOTS=5,
- NET_IRDA_DISCOVERY_TIMEOUT=6,
- NET_IRDA_SLOT_TIMEOUT=7,
- NET_IRDA_MAX_BAUD_RATE=8,
- NET_IRDA_MIN_TX_TURN_TIME=9,
- NET_IRDA_MAX_TX_DATA_SIZE=10,
- NET_IRDA_MAX_TX_WINDOW=11,
- NET_IRDA_MAX_NOREPLY_TIME=12,
- NET_IRDA_WARN_NOREPLY_TIME=13,
- NET_IRDA_LAP_KEEPALIVE_TIME=14,
-};
-
-
-/* CTL_FS names: */
-enum
-{
- FS_NRINODE=1, /* int:current number of allocated inodes */
- FS_STATINODE=2,
- FS_MAXINODE=3, /* int:maximum number of inodes that can be allocated */
- FS_NRDQUOT=4, /* int:current number of allocated dquots */
- FS_MAXDQUOT=5, /* int:maximum number of dquots that can be allocated */
- FS_NRFILE=6, /* int:current number of allocated filedescriptors */
- FS_MAXFILE=7, /* int:maximum number of filedescriptors that can be allocated */
- FS_DENTRY=8,
- FS_NRSUPER=9, /* int:current number of allocated super_blocks */
- FS_MAXSUPER=10, /* int:maximum number of super_blocks that can be allocated */
- FS_OVERFLOWUID=11, /* int: overflow UID */
- FS_OVERFLOWGID=12, /* int: overflow GID */
- FS_LEASES=13, /* int: leases enabled */
- FS_DIR_NOTIFY=14, /* int: directory notification enabled */
- FS_LEASE_TIME=15, /* int: maximum time to wait for a lease break */
- FS_DQSTATS=16, /* disc quota usage statistics and control */
- FS_XFS=17, /* struct: control xfs parameters */
- FS_AIO_NR=18, /* current system-wide number of aio requests */
- FS_AIO_MAX_NR=19, /* system-wide maximum number of aio requests */
- FS_INOTIFY=20, /* inotify submenu */
- FS_OCFS2=988, /* ocfs2 */
-};
-
-/* /proc/sys/fs/quota/ */
-enum {
- FS_DQ_LOOKUPS = 1,
- FS_DQ_DROPS = 2,
- FS_DQ_READS = 3,
- FS_DQ_WRITES = 4,
- FS_DQ_CACHE_HITS = 5,
- FS_DQ_ALLOCATED = 6,
- FS_DQ_FREE = 7,
- FS_DQ_SYNCS = 8,
- FS_DQ_WARNINGS = 9,
-};
-
-/* CTL_DEBUG names: */
-
-/* CTL_DEV names: */
-enum {
- DEV_CDROM=1,
- DEV_HWMON=2,
- DEV_PARPORT=3,
- DEV_RAID=4,
- DEV_MAC_HID=5,
- DEV_SCSI=6,
- DEV_IPMI=7,
-};
-
-/* /proc/sys/dev/cdrom */
-enum {
- DEV_CDROM_INFO=1,
- DEV_CDROM_AUTOCLOSE=2,
- DEV_CDROM_AUTOEJECT=3,
- DEV_CDROM_DEBUG=4,
- DEV_CDROM_LOCK=5,
- DEV_CDROM_CHECK_MEDIA=6
-};
-
-/* /proc/sys/dev/parport */
-enum {
- DEV_PARPORT_DEFAULT=-3
-};
-
-/* /proc/sys/dev/raid */
-enum {
- DEV_RAID_SPEED_LIMIT_MIN=1,
- DEV_RAID_SPEED_LIMIT_MAX=2
-};
-
-/* /proc/sys/dev/parport/default */
-enum {
- DEV_PARPORT_DEFAULT_TIMESLICE=1,
- DEV_PARPORT_DEFAULT_SPINTIME=2
-};
-
-/* /proc/sys/dev/parport/parport n */
-enum {
- DEV_PARPORT_SPINTIME=1,
- DEV_PARPORT_BASE_ADDR=2,
- DEV_PARPORT_IRQ=3,
- DEV_PARPORT_DMA=4,
- DEV_PARPORT_MODES=5,
- DEV_PARPORT_DEVICES=6,
- DEV_PARPORT_AUTOPROBE=16
-};
-
-/* /proc/sys/dev/parport/parport n/devices/ */
-enum {
- DEV_PARPORT_DEVICES_ACTIVE=-3,
-};
-
-/* /proc/sys/dev/parport/parport n/devices/device n */
-enum {
- DEV_PARPORT_DEVICE_TIMESLICE=1,
-};
-
-/* /proc/sys/dev/mac_hid */
-enum {
- DEV_MAC_HID_KEYBOARD_SENDS_LINUX_KEYCODES=1,
- DEV_MAC_HID_KEYBOARD_LOCK_KEYCODES=2,
- DEV_MAC_HID_MOUSE_BUTTON_EMULATION=3,
- DEV_MAC_HID_MOUSE_BUTTON2_KEYCODE=4,
- DEV_MAC_HID_MOUSE_BUTTON3_KEYCODE=5,
- DEV_MAC_HID_ADB_MOUSE_SENDS_KEYCODES=6
-};
-
-/* /proc/sys/dev/scsi */
-enum {
- DEV_SCSI_LOGGING_LEVEL=1,
-};
-
-/* /proc/sys/dev/ipmi */
-enum {
- DEV_IPMI_POWEROFF_POWERCYCLE=1,
-};
-
-/* /proc/sys/abi */
-enum
-{
- ABI_DEFHANDLER_COFF=1, /* default handler for coff binaries */
- ABI_DEFHANDLER_ELF=2, /* default handler for ELF binaries */
- ABI_DEFHANDLER_LCALL7=3,/* default handler for procs using lcall7 */
- ABI_DEFHANDLER_LIBCSO=4,/* default handler for an libc.so ELF interp */
- ABI_TRACE=5, /* tracing flags */
- ABI_FAKE_UTSNAME=6, /* fake target utsname information */
-};
-
-
-#endif /* _LINUX_SYSCTL_H */
diff --git a/linux-headers/include/linux/sysinfo.h b/linux-headers/include/linux/sysinfo.h
deleted file mode 100644
index 934335a..0000000
--- a/linux-headers/include/linux/sysinfo.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef _LINUX_SYSINFO_H
-#define _LINUX_SYSINFO_H
-
-#include <linux/types.h>
-
-#define SI_LOAD_SHIFT 16
-struct sysinfo {
- __kernel_long_t uptime; /* Seconds since boot */
- __kernel_ulong_t loads[3]; /* 1, 5, and 15 minute load averages */
- __kernel_ulong_t totalram; /* Total usable main memory size */
- __kernel_ulong_t freeram; /* Available memory size */
- __kernel_ulong_t sharedram; /* Amount of shared memory */
- __kernel_ulong_t bufferram; /* Memory used by buffers */
- __kernel_ulong_t totalswap; /* Total swap space size */
- __kernel_ulong_t freeswap; /* swap space still available */
- __u16 procs; /* Number of current processes */
- __u16 pad; /* Explicit padding for m68k */
- __kernel_ulong_t totalhigh; /* Total high memory size */
- __kernel_ulong_t freehigh; /* Available high memory size */
- __u32 mem_unit; /* Memory unit size in bytes */
- char _f[20-2*sizeof(__kernel_ulong_t)-sizeof(__u32)]; /* Padding: libc5 uses this.. */
-};
-
-#endif /* _LINUX_SYSINFO_H */
diff --git a/linux-headers/include/linux/target_core_user.h b/linux-headers/include/linux/target_core_user.h
deleted file mode 100644
index 7cad9e0..0000000
--- a/linux-headers/include/linux/target_core_user.h
+++ /dev/null
@@ -1,145 +0,0 @@
-#ifndef __TARGET_CORE_USER_H
-#define __TARGET_CORE_USER_H
-
-/* This header will be used by application too */
-
-#include <linux/types.h>
-#include <linux/uio.h>
-
-#define TCMU_VERSION "2.0"
-
-/*
- * Ring Design
- * -----------
- *
- * The mmaped area is divided into three parts:
- * 1) The mailbox (struct tcmu_mailbox, below)
- * 2) The command ring
- * 3) Everything beyond the command ring (data)
- *
- * The mailbox tells userspace the offset of the command ring from the
- * start of the shared memory region, and how big the command ring is.
- *
- * The kernel passes SCSI commands to userspace by putting a struct
- * tcmu_cmd_entry in the ring, updating mailbox->cmd_head, and poking
- * userspace via uio's interrupt mechanism.
- *
- * tcmu_cmd_entry contains a header. If the header type is PAD,
- * userspace should skip hdr->length bytes (mod cmdr_size) to find the
- * next cmd_entry.
- *
- * Otherwise, the entry will contain offsets into the mmaped area that
- * contain the cdb and data buffers -- the latter accessible via the
- * iov array. iov addresses are also offsets into the shared area.
- *
- * When userspace is completed handling the command, set
- * entry->rsp.scsi_status, fill in rsp.sense_buffer if appropriate,
- * and also set mailbox->cmd_tail equal to the old cmd_tail plus
- * hdr->length, mod cmdr_size. If cmd_tail doesn't equal cmd_head, it
- * should process the next packet the same way, and so on.
- */
-
-#define TCMU_MAILBOX_VERSION 2
-#define ALIGN_SIZE 64 /* Should be enough for most CPUs */
-#define TCMU_MAILBOX_FLAG_CAP_OOOC (1 << 0) /* Out-of-order completions */
-
-struct tcmu_mailbox {
- __u16 version;
- __u16 flags;
- __u32 cmdr_off;
- __u32 cmdr_size;
-
- __u32 cmd_head;
-
- /* Updated by user. On its own cacheline */
- __u32 cmd_tail __attribute__((__aligned__(ALIGN_SIZE)));
-
-} __attribute__((packed));
-
-enum tcmu_opcode {
- TCMU_OP_PAD = 0,
- TCMU_OP_CMD,
-};
-
-/*
- * Only a few opcodes, and length is 8-byte aligned, so use low bits for opcode.
- */
-struct tcmu_cmd_entry_hdr {
- __u32 len_op;
- __u16 cmd_id;
- __u8 kflags;
-#define TCMU_UFLAG_UNKNOWN_OP 0x1
- __u8 uflags;
-
-} __attribute__((packed));
-
-#define TCMU_OP_MASK 0x7
-
-static __inline__ enum tcmu_opcode tcmu_hdr_get_op(__u32 len_op)
-{
- return len_op & TCMU_OP_MASK;
-}
-
-static __inline__ void tcmu_hdr_set_op(__u32 *len_op, enum tcmu_opcode op)
-{
- *len_op &= ~TCMU_OP_MASK;
- *len_op |= (op & TCMU_OP_MASK);
-}
-
-static __inline__ __u32 tcmu_hdr_get_len(__u32 len_op)
-{
- return len_op & ~TCMU_OP_MASK;
-}
-
-static __inline__ void tcmu_hdr_set_len(__u32 *len_op, __u32 len)
-{
- *len_op &= TCMU_OP_MASK;
- *len_op |= len;
-}
-
-/* Currently the same as SCSI_SENSE_BUFFERSIZE */
-#define TCMU_SENSE_BUFFERSIZE 96
-
-struct tcmu_cmd_entry {
- struct tcmu_cmd_entry_hdr hdr;
-
- union {
- struct {
- uint32_t iov_cnt;
- uint32_t iov_bidi_cnt;
- uint32_t iov_dif_cnt;
- uint64_t cdb_off;
- uint64_t __pad1;
- uint64_t __pad2;
- struct iovec iov[0];
- } req;
- struct {
- uint8_t scsi_status;
- uint8_t __pad1;
- uint16_t __pad2;
- uint32_t __pad3;
- char sense_buffer[TCMU_SENSE_BUFFERSIZE];
- } rsp;
- };
-
-} __attribute__((packed));
-
-#define TCMU_OP_ALIGN_SIZE sizeof(uint64_t)
-
-enum tcmu_genl_cmd {
- TCMU_CMD_UNSPEC,
- TCMU_CMD_ADDED_DEVICE,
- TCMU_CMD_REMOVED_DEVICE,
- __TCMU_CMD_MAX,
-};
-#define TCMU_CMD_MAX (__TCMU_CMD_MAX - 1)
-
-enum tcmu_genl_attr {
- TCMU_ATTR_UNSPEC,
- TCMU_ATTR_DEVICE,
- TCMU_ATTR_MINOR,
- __TCMU_ATTR_MAX,
-};
-#define TCMU_ATTR_MAX (__TCMU_ATTR_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/taskstats.h b/linux-headers/include/linux/taskstats.h
deleted file mode 100644
index 2466e55..0000000
--- a/linux-headers/include/linux/taskstats.h
+++ /dev/null
@@ -1,213 +0,0 @@
-/* taskstats.h - exporting per-task statistics
- *
- * Copyright (C) Shailabh Nagar, IBM Corp. 2006
- * (C) Balbir Singh, IBM Corp. 2006
- * (C) Jay Lan, SGI, 2006
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of version 2.1 of the GNU Lesser General Public License
- * as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it would be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
- */
-
-#ifndef _LINUX_TASKSTATS_H
-#define _LINUX_TASKSTATS_H
-
-#include <linux/types.h>
-
-/* Format for per-task data returned to userland when
- * - a task exits
- * - listener requests stats for a task
- *
- * The struct is versioned. Newer versions should only add fields to
- * the bottom of the struct to maintain backward compatibility.
- *
- *
- * To add new fields
- * a) bump up TASKSTATS_VERSION
- * b) add comment indicating new version number at end of struct
- * c) add new fields after version comment; maintain 64-bit alignment
- */
-
-
-#define TASKSTATS_VERSION 8
-#define TS_COMM_LEN 32 /* should be >= TASK_COMM_LEN
- * in linux/sched.h */
-
-struct taskstats {
-
- /* The version number of this struct. This field is always set to
- * TAKSTATS_VERSION, which is defined in <linux/taskstats.h>.
- * Each time the struct is changed, the value should be incremented.
- */
- __u16 version;
- __u32 ac_exitcode; /* Exit status */
-
- /* The accounting flags of a task as defined in <linux/acct.h>
- * Defined values are AFORK, ASU, ACOMPAT, ACORE, and AXSIG.
- */
- __u8 ac_flag; /* Record flags */
- __u8 ac_nice; /* task_nice */
-
- /* Delay accounting fields start
- *
- * All values, until comment "Delay accounting fields end" are
- * available only if delay accounting is enabled, even though the last
- * few fields are not delays
- *
- * xxx_count is the number of delay values recorded
- * xxx_delay_total is the corresponding cumulative delay in nanoseconds
- *
- * xxx_delay_total wraps around to zero on overflow
- * xxx_count incremented regardless of overflow
- */
-
- /* Delay waiting for cpu, while runnable
- * count, delay_total NOT updated atomically
- */
- __u64 cpu_count __attribute__((aligned(8)));
- __u64 cpu_delay_total;
-
- /* Following four fields atomically updated using task->delays->lock */
-
- /* Delay waiting for synchronous block I/O to complete
- * does not account for delays in I/O submission
- */
- __u64 blkio_count;
- __u64 blkio_delay_total;
-
- /* Delay waiting for page fault I/O (swap in only) */
- __u64 swapin_count;
- __u64 swapin_delay_total;
-
- /* cpu "wall-clock" running time
- * On some architectures, value will adjust for cpu time stolen
- * from the kernel in involuntary waits due to virtualization.
- * Value is cumulative, in nanoseconds, without a corresponding count
- * and wraps around to zero silently on overflow
- */
- __u64 cpu_run_real_total;
-
- /* cpu "virtual" running time
- * Uses time intervals seen by the kernel i.e. no adjustment
- * for kernel's involuntary waits due to virtualization.
- * Value is cumulative, in nanoseconds, without a corresponding count
- * and wraps around to zero silently on overflow
- */
- __u64 cpu_run_virtual_total;
- /* Delay accounting fields end */
- /* version 1 ends here */
-
- /* Basic Accounting Fields start */
- char ac_comm[TS_COMM_LEN]; /* Command name */
- __u8 ac_sched __attribute__((aligned(8)));
- /* Scheduling discipline */
- __u8 ac_pad[3];
- __u32 ac_uid __attribute__((aligned(8)));
- /* User ID */
- __u32 ac_gid; /* Group ID */
- __u32 ac_pid; /* Process ID */
- __u32 ac_ppid; /* Parent process ID */
- __u32 ac_btime; /* Begin time [sec since 1970] */
- __u64 ac_etime __attribute__((aligned(8)));
- /* Elapsed time [usec] */
- __u64 ac_utime; /* User CPU time [usec] */
- __u64 ac_stime; /* SYstem CPU time [usec] */
- __u64 ac_minflt; /* Minor Page Fault Count */
- __u64 ac_majflt; /* Major Page Fault Count */
- /* Basic Accounting Fields end */
-
- /* Extended accounting fields start */
- /* Accumulated RSS usage in duration of a task, in MBytes-usecs.
- * The current rss usage is added to this counter every time
- * a tick is charged to a task's system time. So, at the end we
- * will have memory usage multiplied by system time. Thus an
- * average usage per system time unit can be calculated.
- */
- __u64 coremem; /* accumulated RSS usage in MB-usec */
- /* Accumulated virtual memory usage in duration of a task.
- * Same as acct_rss_mem1 above except that we keep track of VM usage.
- */
- __u64 virtmem; /* accumulated VM usage in MB-usec */
-
- /* High watermark of RSS and virtual memory usage in duration of
- * a task, in KBytes.
- */
- __u64 hiwater_rss; /* High-watermark of RSS usage, in KB */
- __u64 hiwater_vm; /* High-water VM usage, in KB */
-
- /* The following four fields are I/O statistics of a task. */
- __u64 read_char; /* bytes read */
- __u64 write_char; /* bytes written */
- __u64 read_syscalls; /* read syscalls */
- __u64 write_syscalls; /* write syscalls */
- /* Extended accounting fields end */
-
-#define TASKSTATS_HAS_IO_ACCOUNTING
- /* Per-task storage I/O accounting starts */
- __u64 read_bytes; /* bytes of read I/O */
- __u64 write_bytes; /* bytes of write I/O */
- __u64 cancelled_write_bytes; /* bytes of cancelled write I/O */
-
- __u64 nvcsw; /* voluntary_ctxt_switches */
- __u64 nivcsw; /* nonvoluntary_ctxt_switches */
-
- /* time accounting for SMT machines */
- __u64 ac_utimescaled; /* utime scaled on frequency etc */
- __u64 ac_stimescaled; /* stime scaled on frequency etc */
- __u64 cpu_scaled_run_real_total; /* scaled cpu_run_real_total */
-
- /* Delay waiting for memory reclaim */
- __u64 freepages_count;
- __u64 freepages_delay_total;
-};
-
-
-/*
- * Commands sent from userspace
- * Not versioned. New commands should only be inserted at the enum's end
- * prior to __TASKSTATS_CMD_MAX
- */
-
-enum {
- TASKSTATS_CMD_UNSPEC = 0, /* Reserved */
- TASKSTATS_CMD_GET, /* user->kernel request/get-response */
- TASKSTATS_CMD_NEW, /* kernel->user event */
- __TASKSTATS_CMD_MAX,
-};
-
-#define TASKSTATS_CMD_MAX (__TASKSTATS_CMD_MAX - 1)
-
-enum {
- TASKSTATS_TYPE_UNSPEC = 0, /* Reserved */
- TASKSTATS_TYPE_PID, /* Process id */
- TASKSTATS_TYPE_TGID, /* Thread group id */
- TASKSTATS_TYPE_STATS, /* taskstats structure */
- TASKSTATS_TYPE_AGGR_PID, /* contains pid + stats */
- TASKSTATS_TYPE_AGGR_TGID, /* contains tgid + stats */
- TASKSTATS_TYPE_NULL, /* contains nothing */
- __TASKSTATS_TYPE_MAX,
-};
-
-#define TASKSTATS_TYPE_MAX (__TASKSTATS_TYPE_MAX - 1)
-
-enum {
- TASKSTATS_CMD_ATTR_UNSPEC = 0,
- TASKSTATS_CMD_ATTR_PID,
- TASKSTATS_CMD_ATTR_TGID,
- TASKSTATS_CMD_ATTR_REGISTER_CPUMASK,
- TASKSTATS_CMD_ATTR_DEREGISTER_CPUMASK,
- __TASKSTATS_CMD_ATTR_MAX,
-};
-
-#define TASKSTATS_CMD_ATTR_MAX (__TASKSTATS_CMD_ATTR_MAX - 1)
-
-/* NETLINK_GENERIC related info */
-
-#define TASKSTATS_GENL_NAME "TASKSTATS"
-#define TASKSTATS_GENL_VERSION 0x1
-
-#endif /* _LINUX_TASKSTATS_H */
diff --git a/linux-headers/include/linux/tc_act/tc_bpf.h b/linux-headers/include/linux/tc_act/tc_bpf.h
deleted file mode 100644
index 07f17cc..0000000
--- a/linux-headers/include/linux/tc_act/tc_bpf.h
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (c) 2015 Jiri Pirko <jiri@resnulli.us>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef __LINUX_TC_BPF_H
-#define __LINUX_TC_BPF_H
-
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_BPF 13
-
-struct tc_act_bpf {
- tc_gen;
-};
-
-enum {
- TCA_ACT_BPF_UNSPEC,
- TCA_ACT_BPF_TM,
- TCA_ACT_BPF_PARMS,
- TCA_ACT_BPF_OPS_LEN,
- TCA_ACT_BPF_OPS,
- TCA_ACT_BPF_FD,
- TCA_ACT_BPF_NAME,
- __TCA_ACT_BPF_MAX,
-};
-#define TCA_ACT_BPF_MAX (__TCA_ACT_BPF_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_connmark.h b/linux-headers/include/linux/tc_act/tc_connmark.h
deleted file mode 100644
index 994b097..0000000
--- a/linux-headers/include/linux/tc_act/tc_connmark.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef __UAPI_TC_CONNMARK_H
-#define __UAPI_TC_CONNMARK_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_CONNMARK 14
-
-struct tc_connmark {
- tc_gen;
- __u16 zone;
-};
-
-enum {
- TCA_CONNMARK_UNSPEC,
- TCA_CONNMARK_PARMS,
- TCA_CONNMARK_TM,
- __TCA_CONNMARK_MAX
-};
-#define TCA_CONNMARK_MAX (__TCA_CONNMARK_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_csum.h b/linux-headers/include/linux/tc_act/tc_csum.h
deleted file mode 100644
index a047c49..0000000
--- a/linux-headers/include/linux/tc_act/tc_csum.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __LINUX_TC_CSUM_H
-#define __LINUX_TC_CSUM_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_CSUM 16
-
-enum {
- TCA_CSUM_UNSPEC,
- TCA_CSUM_PARMS,
- TCA_CSUM_TM,
- __TCA_CSUM_MAX
-};
-#define TCA_CSUM_MAX (__TCA_CSUM_MAX - 1)
-
-enum {
- TCA_CSUM_UPDATE_FLAG_IPV4HDR = 1,
- TCA_CSUM_UPDATE_FLAG_ICMP = 2,
- TCA_CSUM_UPDATE_FLAG_IGMP = 4,
- TCA_CSUM_UPDATE_FLAG_TCP = 8,
- TCA_CSUM_UPDATE_FLAG_UDP = 16,
- TCA_CSUM_UPDATE_FLAG_UDPLITE = 32
-};
-
-struct tc_csum {
- tc_gen;
-
- __u32 update_flags;
-};
-
-#endif /* __LINUX_TC_CSUM_H */
diff --git a/linux-headers/include/linux/tc_act/tc_defact.h b/linux-headers/include/linux/tc_act/tc_defact.h
deleted file mode 100644
index 17dddb4..0000000
--- a/linux-headers/include/linux/tc_act/tc_defact.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __LINUX_TC_DEF_H
-#define __LINUX_TC_DEF_H
-
-#include <linux/pkt_cls.h>
-
-struct tc_defact {
- tc_gen;
-};
-
-enum {
- TCA_DEF_UNSPEC,
- TCA_DEF_TM,
- TCA_DEF_PARMS,
- TCA_DEF_DATA,
- __TCA_DEF_MAX
-};
-#define TCA_DEF_MAX (__TCA_DEF_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_gact.h b/linux-headers/include/linux/tc_act/tc_gact.h
deleted file mode 100644
index f7bf94e..0000000
--- a/linux-headers/include/linux/tc_act/tc_gact.h
+++ /dev/null
@@ -1,32 +0,0 @@
-#ifndef __LINUX_TC_GACT_H
-#define __LINUX_TC_GACT_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_GACT 5
-struct tc_gact {
- tc_gen;
-
-};
-
-struct tc_gact_p {
-#define PGACT_NONE 0
-#define PGACT_NETRAND 1
-#define PGACT_DETERM 2
-#define MAX_RAND (PGACT_DETERM + 1 )
- __u16 ptype;
- __u16 pval;
- int paction;
-};
-
-enum {
- TCA_GACT_UNSPEC,
- TCA_GACT_TM,
- TCA_GACT_PARMS,
- TCA_GACT_PROB,
- __TCA_GACT_MAX
-};
-#define TCA_GACT_MAX (__TCA_GACT_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_ife.h b/linux-headers/include/linux/tc_act/tc_ife.h
deleted file mode 100644
index d648ff6..0000000
--- a/linux-headers/include/linux/tc_act/tc_ife.h
+++ /dev/null
@@ -1,38 +0,0 @@
-#ifndef __UAPI_TC_IFE_H
-#define __UAPI_TC_IFE_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_IFE 25
-/* Flag bits for now just encoding/decoding; mutually exclusive */
-#define IFE_ENCODE 1
-#define IFE_DECODE 0
-
-struct tc_ife {
- tc_gen;
- __u16 flags;
-};
-
-/*XXX: We need to encode the total number of bytes consumed */
-enum {
- TCA_IFE_UNSPEC,
- TCA_IFE_PARMS,
- TCA_IFE_TM,
- TCA_IFE_DMAC,
- TCA_IFE_SMAC,
- TCA_IFE_TYPE,
- TCA_IFE_METALST,
- __TCA_IFE_MAX
-};
-#define TCA_IFE_MAX (__TCA_IFE_MAX - 1)
-
-#define IFE_META_SKBMARK 1
-#define IFE_META_HASHID 2
-#define IFE_META_PRIO 3
-#define IFE_META_QMAP 4
-/*Can be overridden at runtime by module option*/
-#define __IFE_META_MAX 5
-#define IFE_META_MAX (__IFE_META_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_ipt.h b/linux-headers/include/linux/tc_act/tc_ipt.h
deleted file mode 100644
index 130aaad..0000000
--- a/linux-headers/include/linux/tc_act/tc_ipt.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef __LINUX_TC_IPT_H
-#define __LINUX_TC_IPT_H
-
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_IPT 6
-#define TCA_ACT_XT 10
-
-enum {
- TCA_IPT_UNSPEC,
- TCA_IPT_TABLE,
- TCA_IPT_HOOK,
- TCA_IPT_INDEX,
- TCA_IPT_CNT,
- TCA_IPT_TM,
- TCA_IPT_TARG,
- __TCA_IPT_MAX
-};
-#define TCA_IPT_MAX (__TCA_IPT_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_mirred.h b/linux-headers/include/linux/tc_act/tc_mirred.h
deleted file mode 100644
index 7561750..0000000
--- a/linux-headers/include/linux/tc_act/tc_mirred.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef __LINUX_TC_MIR_H
-#define __LINUX_TC_MIR_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_MIRRED 8
-#define TCA_EGRESS_REDIR 1 /* packet redirect to EGRESS*/
-#define TCA_EGRESS_MIRROR 2 /* mirror packet to EGRESS */
-#define TCA_INGRESS_REDIR 3 /* packet redirect to INGRESS*/
-#define TCA_INGRESS_MIRROR 4 /* mirror packet to INGRESS */
-
-struct tc_mirred {
- tc_gen;
- int eaction; /* one of IN/EGRESS_MIRROR/REDIR */
- __u32 ifindex; /* ifindex of egress port */
-};
-
-enum {
- TCA_MIRRED_UNSPEC,
- TCA_MIRRED_TM,
- TCA_MIRRED_PARMS,
- __TCA_MIRRED_MAX
-};
-#define TCA_MIRRED_MAX (__TCA_MIRRED_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_nat.h b/linux-headers/include/linux/tc_act/tc_nat.h
deleted file mode 100644
index 6663aeb..0000000
--- a/linux-headers/include/linux/tc_act/tc_nat.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef __LINUX_TC_NAT_H
-#define __LINUX_TC_NAT_H
-
-#include <linux/pkt_cls.h>
-#include <linux/types.h>
-
-#define TCA_ACT_NAT 9
-
-enum {
- TCA_NAT_UNSPEC,
- TCA_NAT_PARMS,
- TCA_NAT_TM,
- __TCA_NAT_MAX
-};
-#define TCA_NAT_MAX (__TCA_NAT_MAX - 1)
-
-#define TCA_NAT_FLAG_EGRESS 1
-
-struct tc_nat {
- tc_gen;
- __be32 old_addr;
- __be32 new_addr;
- __be32 mask;
- __u32 flags;
-};
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_pedit.h b/linux-headers/include/linux/tc_act/tc_pedit.h
deleted file mode 100644
index 716cfab..0000000
--- a/linux-headers/include/linux/tc_act/tc_pedit.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef __LINUX_TC_PED_H
-#define __LINUX_TC_PED_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_PEDIT 7
-
-enum {
- TCA_PEDIT_UNSPEC,
- TCA_PEDIT_TM,
- TCA_PEDIT_PARMS,
- __TCA_PEDIT_MAX
-};
-#define TCA_PEDIT_MAX (__TCA_PEDIT_MAX - 1)
-
-struct tc_pedit_key {
- __u32 mask; /* AND */
- __u32 val; /*XOR */
- __u32 off; /*offset */
- __u32 at;
- __u32 offmask;
- __u32 shift;
-};
-
-struct tc_pedit_sel {
- tc_gen;
- unsigned char nkeys;
- unsigned char flags;
- struct tc_pedit_key keys[0];
-};
-#define tc_pedit tc_pedit_sel
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_skbedit.h b/linux-headers/include/linux/tc_act/tc_skbedit.h
deleted file mode 100644
index 7a2e910..0000000
--- a/linux-headers/include/linux/tc_act/tc_skbedit.h
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 2008, Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc., 59 Temple
- * Place - Suite 330, Boston, MA 02111-1307 USA.
- *
- * Author: Alexander Duyck <alexander.h.duyck@intel.com>
- */
-
-#ifndef __LINUX_TC_SKBEDIT_H
-#define __LINUX_TC_SKBEDIT_H
-
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_SKBEDIT 11
-
-#define SKBEDIT_F_PRIORITY 0x1
-#define SKBEDIT_F_QUEUE_MAPPING 0x2
-#define SKBEDIT_F_MARK 0x4
-
-struct tc_skbedit {
- tc_gen;
-};
-
-enum {
- TCA_SKBEDIT_UNSPEC,
- TCA_SKBEDIT_TM,
- TCA_SKBEDIT_PARMS,
- TCA_SKBEDIT_PRIORITY,
- TCA_SKBEDIT_QUEUE_MAPPING,
- TCA_SKBEDIT_MARK,
- __TCA_SKBEDIT_MAX
-};
-#define TCA_SKBEDIT_MAX (__TCA_SKBEDIT_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/tc_act/tc_vlan.h b/linux-headers/include/linux/tc_act/tc_vlan.h
deleted file mode 100644
index f7b8d44..0000000
--- a/linux-headers/include/linux/tc_act/tc_vlan.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 2014 Jiri Pirko <jiri@resnulli.us>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- */
-
-#ifndef __LINUX_TC_VLAN_H
-#define __LINUX_TC_VLAN_H
-
-#include <linux/pkt_cls.h>
-
-#define TCA_ACT_VLAN 12
-
-#define TCA_VLAN_ACT_POP 1
-#define TCA_VLAN_ACT_PUSH 2
-
-struct tc_vlan {
- tc_gen;
- int v_action;
-};
-
-enum {
- TCA_VLAN_UNSPEC,
- TCA_VLAN_TM,
- TCA_VLAN_PARMS,
- TCA_VLAN_PUSH_VLAN_ID,
- TCA_VLAN_PUSH_VLAN_PROTOCOL,
- __TCA_VLAN_MAX,
-};
-#define TCA_VLAN_MAX (__TCA_VLAN_MAX - 1)
-
-#endif
diff --git a/linux-headers/include/linux/tc_ematch/tc_em_cmp.h b/linux-headers/include/linux/tc_ematch/tc_em_cmp.h
deleted file mode 100644
index f34bb1b..0000000
--- a/linux-headers/include/linux/tc_ematch/tc_em_cmp.h
+++ /dev/null
@@ -1,25 +0,0 @@
-#ifndef __LINUX_TC_EM_CMP_H
-#define __LINUX_TC_EM_CMP_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-struct tcf_em_cmp {
- __u32 val;
- __u32 mask;
- __u16 off;
- __u8 align:4;
- __u8 flags:4;
- __u8 layer:4;
- __u8 opnd:4;
-};
-
-enum {
- TCF_EM_ALIGN_U8 = 1,
- TCF_EM_ALIGN_U16 = 2,
- TCF_EM_ALIGN_U32 = 4
-};
-
-#define TCF_EM_CMP_TRANS 1
-
-#endif
diff --git a/linux-headers/include/linux/tc_ematch/tc_em_meta.h b/linux-headers/include/linux/tc_ematch/tc_em_meta.h
deleted file mode 100644
index b11f8ce..0000000
--- a/linux-headers/include/linux/tc_ematch/tc_em_meta.h
+++ /dev/null
@@ -1,92 +0,0 @@
-#ifndef __LINUX_TC_EM_META_H
-#define __LINUX_TC_EM_META_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-enum {
- TCA_EM_META_UNSPEC,
- TCA_EM_META_HDR,
- TCA_EM_META_LVALUE,
- TCA_EM_META_RVALUE,
- __TCA_EM_META_MAX
-};
-#define TCA_EM_META_MAX (__TCA_EM_META_MAX - 1)
-
-struct tcf_meta_val {
- __u16 kind;
- __u8 shift;
- __u8 op;
-};
-
-#define TCF_META_TYPE_MASK (0xf << 12)
-#define TCF_META_TYPE(kind) (((kind) & TCF_META_TYPE_MASK) >> 12)
-#define TCF_META_ID_MASK 0x7ff
-#define TCF_META_ID(kind) ((kind) & TCF_META_ID_MASK)
-
-enum {
- TCF_META_TYPE_VAR,
- TCF_META_TYPE_INT,
- __TCF_META_TYPE_MAX
-};
-#define TCF_META_TYPE_MAX (__TCF_META_TYPE_MAX - 1)
-
-enum {
- TCF_META_ID_VALUE,
- TCF_META_ID_RANDOM,
- TCF_META_ID_LOADAVG_0,
- TCF_META_ID_LOADAVG_1,
- TCF_META_ID_LOADAVG_2,
- TCF_META_ID_DEV,
- TCF_META_ID_PRIORITY,
- TCF_META_ID_PROTOCOL,
- TCF_META_ID_PKTTYPE,
- TCF_META_ID_PKTLEN,
- TCF_META_ID_DATALEN,
- TCF_META_ID_MACLEN,
- TCF_META_ID_NFMARK,
- TCF_META_ID_TCINDEX,
- TCF_META_ID_RTCLASSID,
- TCF_META_ID_RTIIF,
- TCF_META_ID_SK_FAMILY,
- TCF_META_ID_SK_STATE,
- TCF_META_ID_SK_REUSE,
- TCF_META_ID_SK_BOUND_IF,
- TCF_META_ID_SK_REFCNT,
- TCF_META_ID_SK_SHUTDOWN,
- TCF_META_ID_SK_PROTO,
- TCF_META_ID_SK_TYPE,
- TCF_META_ID_SK_RCVBUF,
- TCF_META_ID_SK_RMEM_ALLOC,
- TCF_META_ID_SK_WMEM_ALLOC,
- TCF_META_ID_SK_OMEM_ALLOC,
- TCF_META_ID_SK_WMEM_QUEUED,
- TCF_META_ID_SK_RCV_QLEN,
- TCF_META_ID_SK_SND_QLEN,
- TCF_META_ID_SK_ERR_QLEN,
- TCF_META_ID_SK_FORWARD_ALLOCS,
- TCF_META_ID_SK_SNDBUF,
- TCF_META_ID_SK_ALLOCS,
- __TCF_META_ID_SK_ROUTE_CAPS, /* unimplemented but in ABI already */
- TCF_META_ID_SK_HASH,
- TCF_META_ID_SK_LINGERTIME,
- TCF_META_ID_SK_ACK_BACKLOG,
- TCF_META_ID_SK_MAX_ACK_BACKLOG,
- TCF_META_ID_SK_PRIO,
- TCF_META_ID_SK_RCVLOWAT,
- TCF_META_ID_SK_RCVTIMEO,
- TCF_META_ID_SK_SNDTIMEO,
- TCF_META_ID_SK_SENDMSG_OFF,
- TCF_META_ID_SK_WRITE_PENDING,
- TCF_META_ID_VLAN_TAG,
- TCF_META_ID_RXHASH,
- __TCF_META_ID_MAX
-};
-#define TCF_META_ID_MAX (__TCF_META_ID_MAX - 1)
-
-struct tcf_meta_hdr {
- struct tcf_meta_val left;
- struct tcf_meta_val right;
-};
-
-#endif
diff --git a/linux-headers/include/linux/tc_ematch/tc_em_nbyte.h b/linux-headers/include/linux/tc_ematch/tc_em_nbyte.h
deleted file mode 100644
index 7172cfb..0000000
--- a/linux-headers/include/linux/tc_ematch/tc_em_nbyte.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __LINUX_TC_EM_NBYTE_H
-#define __LINUX_TC_EM_NBYTE_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-struct tcf_em_nbyte {
- __u16 off;
- __u16 len:12;
- __u8 layer:4;
-};
-
-#endif
diff --git a/linux-headers/include/linux/tc_ematch/tc_em_text.h b/linux-headers/include/linux/tc_ematch/tc_em_text.h
deleted file mode 100644
index 5aac404..0000000
--- a/linux-headers/include/linux/tc_ematch/tc_em_text.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef __LINUX_TC_EM_TEXT_H
-#define __LINUX_TC_EM_TEXT_H
-
-#include <linux/types.h>
-#include <linux/pkt_cls.h>
-
-#define TC_EM_TEXT_ALGOSIZ 16
-
-struct tcf_em_text {
- char algo[TC_EM_TEXT_ALGOSIZ];
- __u16 from_offset;
- __u16 to_offset;
- __u16 pattern_len;
- __u8 from_layer:4;
- __u8 to_layer:4;
- __u8 pad;
-};
-
-#endif
diff --git a/linux-headers/include/linux/tcp.h b/linux-headers/include/linux/tcp.h
deleted file mode 100644
index 7f21db9..0000000
--- a/linux-headers/include/linux/tcp.h
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the TCP protocol.
- *
- * Version: @(#)tcp.h 1.0.2 04/28/93
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_TCP_H
-#define _LINUX_TCP_H
-
-#include <linux/types.h>
-#include <asm/byteorder.h>
-#include <linux/socket.h>
-
-struct tcphdr {
- __be16 source;
- __be16 dest;
- __be32 seq;
- __be32 ack_seq;
-#if defined(__LITTLE_ENDIAN_BITFIELD)
- __u16 res1:4,
- doff:4,
- fin:1,
- syn:1,
- rst:1,
- psh:1,
- ack:1,
- urg:1,
- ece:1,
- cwr:1;
-#elif defined(__BIG_ENDIAN_BITFIELD)
- __u16 doff:4,
- res1:4,
- cwr:1,
- ece:1,
- urg:1,
- ack:1,
- psh:1,
- rst:1,
- syn:1,
- fin:1;
-#else
-#error "Adjust your <asm/byteorder.h> defines"
-#endif
- __be16 window;
- __sum16 check;
- __be16 urg_ptr;
-};
-
-/*
- * The union cast uses a gcc extension to avoid aliasing problems
- * (union is compatible to any of its members)
- * This means this part of the code is -fstrict-aliasing safe now.
- */
-union tcp_word_hdr {
- struct tcphdr hdr;
- __be32 words[5];
-};
-
-#define tcp_flag_word(tp) ( ((union tcp_word_hdr *)(tp))->words [3])
-
-enum {
- TCP_FLAG_CWR = __constant_cpu_to_be32(0x00800000),
- TCP_FLAG_ECE = __constant_cpu_to_be32(0x00400000),
- TCP_FLAG_URG = __constant_cpu_to_be32(0x00200000),
- TCP_FLAG_ACK = __constant_cpu_to_be32(0x00100000),
- TCP_FLAG_PSH = __constant_cpu_to_be32(0x00080000),
- TCP_FLAG_RST = __constant_cpu_to_be32(0x00040000),
- TCP_FLAG_SYN = __constant_cpu_to_be32(0x00020000),
- TCP_FLAG_FIN = __constant_cpu_to_be32(0x00010000),
- TCP_RESERVED_BITS = __constant_cpu_to_be32(0x0F000000),
- TCP_DATA_OFFSET = __constant_cpu_to_be32(0xF0000000)
-};
-
-/*
- * TCP general constants
- */
-#define TCP_MSS_DEFAULT 536U /* IPv4 (RFC1122, RFC2581) */
-#define TCP_MSS_DESIRED 1220U /* IPv6 (tunneled), EDNS0 (RFC3226) */
-
-/* TCP socket options */
-#define TCP_NODELAY 1 /* Turn off Nagle's algorithm. */
-#define TCP_MAXSEG 2 /* Limit MSS */
-#define TCP_CORK 3 /* Never send partially complete segments */
-#define TCP_KEEPIDLE 4 /* Start keeplives after this period */
-#define TCP_KEEPINTVL 5 /* Interval between keepalives */
-#define TCP_KEEPCNT 6 /* Number of keepalives before death */
-#define TCP_SYNCNT 7 /* Number of SYN retransmits */
-#define TCP_LINGER2 8 /* Life time of orphaned FIN-WAIT-2 state */
-#define TCP_DEFER_ACCEPT 9 /* Wake up listener only when data arrive */
-#define TCP_WINDOW_CLAMP 10 /* Bound advertised window */
-#define TCP_INFO 11 /* Information about this connection. */
-#define TCP_QUICKACK 12 /* Block/reenable quick acks */
-#define TCP_CONGESTION 13 /* Congestion control algorithm */
-#define TCP_MD5SIG 14 /* TCP MD5 Signature (RFC2385) */
-#define TCP_THIN_LINEAR_TIMEOUTS 16 /* Use linear timeouts for thin streams*/
-#define TCP_THIN_DUPACK 17 /* Fast retrans. after 1 dupack */
-#define TCP_USER_TIMEOUT 18 /* How long for loss retry before timeout */
-#define TCP_REPAIR 19 /* TCP sock is under repair right now */
-#define TCP_REPAIR_QUEUE 20
-#define TCP_QUEUE_SEQ 21
-#define TCP_REPAIR_OPTIONS 22
-#define TCP_FASTOPEN 23 /* Enable FastOpen on listeners */
-#define TCP_TIMESTAMP 24
-#define TCP_NOTSENT_LOWAT 25 /* limit number of unsent bytes in write queue */
-#define TCP_CC_INFO 26 /* Get Congestion Control (optional) info */
-#define TCP_SAVE_SYN 27 /* Record SYN headers for new connections */
-#define TCP_SAVED_SYN 28 /* Get SYN headers recorded for connection */
-
-struct tcp_repair_opt {
- __u32 opt_code;
- __u32 opt_val;
-};
-
-enum {
- TCP_NO_QUEUE,
- TCP_RECV_QUEUE,
- TCP_SEND_QUEUE,
- TCP_QUEUES_NR,
-};
-
-/* for TCP_INFO socket option */
-#define TCPI_OPT_TIMESTAMPS 1
-#define TCPI_OPT_SACK 2
-#define TCPI_OPT_WSCALE 4
-#define TCPI_OPT_ECN 8 /* ECN was negociated at TCP session init */
-#define TCPI_OPT_ECN_SEEN 16 /* we received at least one packet with ECT */
-#define TCPI_OPT_SYN_DATA 32 /* SYN-ACK acked data in SYN sent or rcvd */
-
-enum tcp_ca_state {
- TCP_CA_Open = 0,
-#define TCPF_CA_Open (1<<TCP_CA_Open)
- TCP_CA_Disorder = 1,
-#define TCPF_CA_Disorder (1<<TCP_CA_Disorder)
- TCP_CA_CWR = 2,
-#define TCPF_CA_CWR (1<<TCP_CA_CWR)
- TCP_CA_Recovery = 3,
-#define TCPF_CA_Recovery (1<<TCP_CA_Recovery)
- TCP_CA_Loss = 4
-#define TCPF_CA_Loss (1<<TCP_CA_Loss)
-};
-
-struct tcp_info {
- __u8 tcpi_state;
- __u8 tcpi_ca_state;
- __u8 tcpi_retransmits;
- __u8 tcpi_probes;
- __u8 tcpi_backoff;
- __u8 tcpi_options;
- __u8 tcpi_snd_wscale : 4, tcpi_rcv_wscale : 4;
-
- __u32 tcpi_rto;
- __u32 tcpi_ato;
- __u32 tcpi_snd_mss;
- __u32 tcpi_rcv_mss;
-
- __u32 tcpi_unacked;
- __u32 tcpi_sacked;
- __u32 tcpi_lost;
- __u32 tcpi_retrans;
- __u32 tcpi_fackets;
-
- /* Times. */
- __u32 tcpi_last_data_sent;
- __u32 tcpi_last_ack_sent; /* Not remembered, sorry. */
- __u32 tcpi_last_data_recv;
- __u32 tcpi_last_ack_recv;
-
- /* Metrics. */
- __u32 tcpi_pmtu;
- __u32 tcpi_rcv_ssthresh;
- __u32 tcpi_rtt;
- __u32 tcpi_rttvar;
- __u32 tcpi_snd_ssthresh;
- __u32 tcpi_snd_cwnd;
- __u32 tcpi_advmss;
- __u32 tcpi_reordering;
-
- __u32 tcpi_rcv_rtt;
- __u32 tcpi_rcv_space;
-
- __u32 tcpi_total_retrans;
-
- __u64 tcpi_pacing_rate;
- __u64 tcpi_max_pacing_rate;
- __u64 tcpi_bytes_acked; /* RFC4898 tcpEStatsAppHCThruOctetsAcked */
- __u64 tcpi_bytes_received; /* RFC4898 tcpEStatsAppHCThruOctetsReceived */
- __u32 tcpi_segs_out; /* RFC4898 tcpEStatsPerfSegsOut */
- __u32 tcpi_segs_in; /* RFC4898 tcpEStatsPerfSegsIn */
-
- __u32 tcpi_notsent_bytes;
- __u32 tcpi_min_rtt;
- __u32 tcpi_data_segs_in; /* RFC4898 tcpEStatsDataSegsIn */
- __u32 tcpi_data_segs_out; /* RFC4898 tcpEStatsDataSegsOut */
-};
-
-/* for TCP_MD5SIG socket option */
-#define TCP_MD5SIG_MAXKEYLEN 80
-
-struct tcp_md5sig {
- struct __kernel_sockaddr_storage tcpm_addr; /* address associated */
- __u16 __tcpm_pad1; /* zero */
- __u16 tcpm_keylen; /* key length */
- __u32 __tcpm_pad2; /* zero */
- __u8 tcpm_key[TCP_MD5SIG_MAXKEYLEN]; /* key (binary) */
-};
-
-#endif /* _LINUX_TCP_H */
diff --git a/linux-headers/include/linux/tcp_metrics.h b/linux-headers/include/linux/tcp_metrics.h
deleted file mode 100644
index 9353392..0000000
--- a/linux-headers/include/linux/tcp_metrics.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* tcp_metrics.h - TCP Metrics Interface */
-
-#ifndef _LINUX_TCP_METRICS_H
-#define _LINUX_TCP_METRICS_H
-
-#include <linux/types.h>
-
-/* NETLINK_GENERIC related info
- */
-#define TCP_METRICS_GENL_NAME "tcp_metrics"
-#define TCP_METRICS_GENL_VERSION 0x1
-
-enum tcp_metric_index {
- TCP_METRIC_RTT, /* in ms units */
- TCP_METRIC_RTTVAR, /* in ms units */
- TCP_METRIC_SSTHRESH,
- TCP_METRIC_CWND,
- TCP_METRIC_REORDERING,
-
- TCP_METRIC_RTT_US, /* in usec units */
- TCP_METRIC_RTTVAR_US, /* in usec units */
-
- /* Always last. */
- __TCP_METRIC_MAX,
-};
-
-#define TCP_METRIC_MAX (__TCP_METRIC_MAX - 1)
-
-enum {
- TCP_METRICS_ATTR_UNSPEC,
- TCP_METRICS_ATTR_ADDR_IPV4, /* u32 */
- TCP_METRICS_ATTR_ADDR_IPV6, /* binary */
- TCP_METRICS_ATTR_AGE, /* msecs */
- TCP_METRICS_ATTR_TW_TSVAL, /* u32, raw, rcv tsval */
- TCP_METRICS_ATTR_TW_TS_STAMP, /* s32, sec age */
- TCP_METRICS_ATTR_VALS, /* nested +1, u32 */
- TCP_METRICS_ATTR_FOPEN_MSS, /* u16 */
- TCP_METRICS_ATTR_FOPEN_SYN_DROPS, /* u16, count of drops */
- TCP_METRICS_ATTR_FOPEN_SYN_DROP_TS, /* msecs age */
- TCP_METRICS_ATTR_FOPEN_COOKIE, /* binary */
- TCP_METRICS_ATTR_SADDR_IPV4, /* u32 */
- TCP_METRICS_ATTR_SADDR_IPV6, /* binary */
-
- __TCP_METRICS_ATTR_MAX,
-};
-
-#define TCP_METRICS_ATTR_MAX (__TCP_METRICS_ATTR_MAX - 1)
-
-enum {
- TCP_METRICS_CMD_UNSPEC,
- TCP_METRICS_CMD_GET,
- TCP_METRICS_CMD_DEL,
-
- __TCP_METRICS_CMD_MAX,
-};
-
-#define TCP_METRICS_CMD_MAX (__TCP_METRICS_CMD_MAX - 1)
-
-#endif /* _LINUX_TCP_METRICS_H */
diff --git a/linux-headers/include/linux/telephony.h b/linux-headers/include/linux/telephony.h
deleted file mode 100644
index f63afe3..0000000
--- a/linux-headers/include/linux/telephony.h
+++ /dev/null
@@ -1,262 +0,0 @@
-/******************************************************************************
- *
- * telephony.h
- *
- * Basic Linux Telephony Interface
- *
- * (c) Copyright 1999-2001 Quicknet Technologies, Inc.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- *
- * Authors: Ed Okerson, <eokerson@quicknet.net>
- * Greg Herlein, <gherlein@quicknet.net>
- *
- * Contributors: Alan Cox, <alan@lxorguk.ukuu.org.uk>
- * David W. Erhart, <derhart@quicknet.net>
- *
- * IN NO EVENT SHALL QUICKNET TECHNOLOGIES, INC. BE LIABLE TO ANY PARTY FOR
- * DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OUT
- * OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF QUICKNET
- * TECHNOLOGIES, INC. HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * QUICKNET TECHNOLOGIES, INC. SPECIFICALLY DISCLAIMS ANY WARRANTIES,
- * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
- * AND FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
- * ON AN "AS IS" BASIS, AND QUICKNET TECHNOLOGIES, INC. HAS NO OBLIGATION
- * TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
- *
- *****************************************************************************/
-
-#ifndef TELEPHONY_H
-#define TELEPHONY_H
-
-#define TELEPHONY_VERSION 3013
-
-#define PHONE_VENDOR_IXJ 1
-#define PHONE_VENDOR_QUICKNET PHONE_VENDOR_IXJ
-#define PHONE_VENDOR_VOICETRONIX 2
-#define PHONE_VENDOR_ACULAB 3
-#define PHONE_VENDOR_DIGI 4
-#define PHONE_VENDOR_FRANKLIN 5
-
-/******************************************************************************
- * Vendor Summary Information Area
- *
- * Quicknet Technologies, Inc. - makes low density analog telephony cards
- * with audio compression, POTS and PSTN interfaces (www.quicknet.net)
- *
- * (other vendors following this API shuld add a short description of
- * the telephony products they support under Linux)
- *
- *****************************************************************************/
-#define QTI_PHONEJACK 100
-#define QTI_LINEJACK 300
-#define QTI_PHONEJACK_LITE 400
-#define QTI_PHONEJACK_PCI 500
-#define QTI_PHONECARD 600
-
-/******************************************************************************
-*
-* The capabilities ioctls can inform you of the capabilities of each phone
-* device installed in your system. The PHONECTL_CAPABILITIES ioctl
-* returns an integer value indicating the number of capabilities the
-* device has. The PHONECTL_CAPABILITIES_LIST will fill an array of
-* capability structs with all of its capabilities. The
-* PHONECTL_CAPABILITIES_CHECK takes a single capability struct and returns
-* a TRUE if the device has that capability, otherwise it returns false.
-*
-******************************************************************************/
-typedef enum {
- vendor = 0,
- device,
- port,
- codec,
- dsp
-} phone_cap;
-
-struct phone_capability {
- char desc[80];
- phone_cap captype;
- int cap;
- int handle;
-};
-
-typedef enum {
- pots = 0,
- pstn,
- handset,
- speaker
-} phone_ports;
-
-#define PHONE_CAPABILITIES _IO ('q', 0x80)
-#define PHONE_CAPABILITIES_LIST _IOR ('q', 0x81, struct phone_capability *)
-#define PHONE_CAPABILITIES_CHECK _IOW ('q', 0x82, struct phone_capability *)
-
-typedef struct {
- char month[3];
- char day[3];
- char hour[3];
- char min[3];
- int numlen;
- char number[11];
- int namelen;
- char name[80];
-} PHONE_CID;
-
-#define PHONE_RING _IO ('q', 0x83)
-#define PHONE_HOOKSTATE _IO ('q', 0x84)
-#define PHONE_MAXRINGS _IOW ('q', 0x85, char)
-#define PHONE_RING_CADENCE _IOW ('q', 0x86, short)
-#define OLD_PHONE_RING_START _IO ('q', 0x87)
-#define PHONE_RING_START _IOW ('q', 0x87, PHONE_CID *)
-#define PHONE_RING_STOP _IO ('q', 0x88)
-
-#define USA_RING_CADENCE 0xC0C0
-
-#define PHONE_REC_CODEC _IOW ('q', 0x89, int)
-#define PHONE_REC_START _IO ('q', 0x8A)
-#define PHONE_REC_STOP _IO ('q', 0x8B)
-#define PHONE_REC_DEPTH _IOW ('q', 0x8C, int)
-#define PHONE_FRAME _IOW ('q', 0x8D, int)
-#define PHONE_REC_VOLUME _IOW ('q', 0x8E, int)
-#define PHONE_REC_VOLUME_LINEAR _IOW ('q', 0xDB, int)
-#define PHONE_REC_LEVEL _IO ('q', 0x8F)
-
-#define PHONE_PLAY_CODEC _IOW ('q', 0x90, int)
-#define PHONE_PLAY_START _IO ('q', 0x91)
-#define PHONE_PLAY_STOP _IO ('q', 0x92)
-#define PHONE_PLAY_DEPTH _IOW ('q', 0x93, int)
-#define PHONE_PLAY_VOLUME _IOW ('q', 0x94, int)
-#define PHONE_PLAY_VOLUME_LINEAR _IOW ('q', 0xDC, int)
-#define PHONE_PLAY_LEVEL _IO ('q', 0x95)
-#define PHONE_DTMF_READY _IOR ('q', 0x96, int)
-#define PHONE_GET_DTMF _IOR ('q', 0x97, int)
-#define PHONE_GET_DTMF_ASCII _IOR ('q', 0x98, int)
-#define PHONE_DTMF_OOB _IOW ('q', 0x99, int)
-#define PHONE_EXCEPTION _IOR ('q', 0x9A, int)
-#define PHONE_PLAY_TONE _IOW ('q', 0x9B, char)
-#define PHONE_SET_TONE_ON_TIME _IOW ('q', 0x9C, int)
-#define PHONE_SET_TONE_OFF_TIME _IOW ('q', 0x9D, int)
-#define PHONE_GET_TONE_ON_TIME _IO ('q', 0x9E)
-#define PHONE_GET_TONE_OFF_TIME _IO ('q', 0x9F)
-#define PHONE_GET_TONE_STATE _IO ('q', 0xA0)
-#define PHONE_BUSY _IO ('q', 0xA1)
-#define PHONE_RINGBACK _IO ('q', 0xA2)
-#define PHONE_DIALTONE _IO ('q', 0xA3)
-#define PHONE_CPT_STOP _IO ('q', 0xA4)
-
-#define PHONE_PSTN_SET_STATE _IOW ('q', 0xA4, int)
-#define PHONE_PSTN_GET_STATE _IO ('q', 0xA5)
-
-#define PSTN_ON_HOOK 0
-#define PSTN_RINGING 1
-#define PSTN_OFF_HOOK 2
-#define PSTN_PULSE_DIAL 3
-
-/******************************************************************************
-*
-* The wink duration is tunable with this ioctl. The default wink duration
-* is 320ms. You do not need to use this ioctl if you do not require a
-* different wink duration.
-*
-******************************************************************************/
-#define PHONE_WINK_DURATION _IOW ('q', 0xA6, int)
-#define PHONE_WINK _IOW ('q', 0xAA, int)
-
-/******************************************************************************
-*
-* Codec Definitions
-*
-******************************************************************************/
-typedef enum {
- G723_63 = 1,
- G723_53 = 2,
- TS85 = 3,
- TS48 = 4,
- TS41 = 5,
- G728 = 6,
- G729 = 7,
- ULAW = 8,
- ALAW = 9,
- LINEAR16 = 10,
- LINEAR8 = 11,
- WSS = 12,
- G729B = 13
-} phone_codec;
-
-struct phone_codec_data
-{
- phone_codec type;
- unsigned short buf_min, buf_opt, buf_max;
-};
-
-#define PHONE_QUERY_CODEC _IOWR ('q', 0xA7, struct phone_codec_data *)
-#define PHONE_PSTN_LINETEST _IO ('q', 0xA8)
-
-/******************************************************************************
-*
-* This controls the VAD/CNG functionality of G.723.1. The driver will
-* always pass full size frames, any unused bytes will be padded with zeros,
-* and frames passed to the driver should also be padded with zeros. The
-* frame type is encoded in the least significant two bits of the first
-* WORD of the frame as follows:
-*
-* bits 1-0 Frame Type Data Rate Significant Words
-* 00 0 G.723.1 6.3 12
-* 01 1 G.723.1 5.3 10
-* 10 2 VAD/CNG 2
-* 11 3 Repeat last CNG 2 bits
-*
-******************************************************************************/
-#define PHONE_VAD _IOW ('q', 0xA9, int)
-
-
-/******************************************************************************
-*
-* The exception structure allows us to multiplex multiple events onto the
-* select() exception set. If any of these flags are set select() will
-* return with a positive indication on the exception set. The dtmf_ready
-* bit indicates if there is data waiting in the DTMF buffer. The
-* hookstate bit is set if there is a change in hookstate status, it does not
-* indicate the current state of the hookswitch. The pstn_ring bit
-* indicates that the DAA on a LineJACK card has detected ring voltage on
-* the PSTN port. The caller_id bit indicates that caller_id data has been
-* received and is available. The pstn_wink bit indicates that the DAA on
-* the LineJACK has received a wink from the telco switch. The f0, f1, f2
-* and f3 bits indicate that the filter has been triggered by detecting the
-* frequency programmed into that filter.
-*
-* The remaining bits should be set to zero. They will become defined over time
-* for other interface cards and their needs.
-*
-******************************************************************************/
-struct phone_except
-{
- unsigned int dtmf_ready:1;
- unsigned int hookstate:1;
- unsigned int pstn_ring:1;
- unsigned int caller_id:1;
- unsigned int pstn_wink:1;
- unsigned int f0:1;
- unsigned int f1:1;
- unsigned int f2:1;
- unsigned int f3:1;
- unsigned int flash:1;
- unsigned int fc0:1;
- unsigned int fc1:1;
- unsigned int fc2:1;
- unsigned int fc3:1;
- unsigned int reserved:18;
-};
-
-union telephony_exception {
- struct phone_except bits;
- unsigned int bytes;
-};
-
-
-#endif /* TELEPHONY_H */
-
diff --git a/linux-headers/include/linux/termios.h b/linux-headers/include/linux/termios.h
deleted file mode 100644
index 2acd0c1..0000000
--- a/linux-headers/include/linux/termios.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef _LINUX_TERMIOS_H
-#define _LINUX_TERMIOS_H
-
-#include <linux/types.h>
-#include <asm/termios.h>
-
-#define NFF 5
-
-struct termiox
-{
- __u16 x_hflag;
- __u16 x_cflag;
- __u16 x_rflag[NFF];
- __u16 x_sflag;
-};
-
-#define RTSXOFF 0x0001 /* RTS flow control on input */
-#define CTSXON 0x0002 /* CTS flow control on output */
-#define DTRXOFF 0x0004 /* DTR flow control on input */
-#define DSRXON 0x0008 /* DCD flow control on output */
-
-#endif
diff --git a/linux-headers/include/linux/thermal.h b/linux-headers/include/linux/thermal.h
deleted file mode 100644
index 7843937..0000000
--- a/linux-headers/include/linux/thermal.h
+++ /dev/null
@@ -1,35 +0,0 @@
-#ifndef _LINUX_THERMAL_H
-#define _LINUX_THERMAL_H
-
-#define THERMAL_NAME_LENGTH 20
-
-/* Adding event notification support elements */
-#define THERMAL_GENL_FAMILY_NAME "thermal_event"
-#define THERMAL_GENL_VERSION 0x01
-#define THERMAL_GENL_MCAST_GROUP_NAME "thermal_mc_grp"
-
-/* Events supported by Thermal Netlink */
-enum events {
- THERMAL_AUX0,
- THERMAL_AUX1,
- THERMAL_CRITICAL,
- THERMAL_DEV_FAULT,
-};
-
-/* attributes of thermal_genl_family */
-enum {
- THERMAL_GENL_ATTR_UNSPEC,
- THERMAL_GENL_ATTR_EVENT,
- __THERMAL_GENL_ATTR_MAX,
-};
-#define THERMAL_GENL_ATTR_MAX (__THERMAL_GENL_ATTR_MAX - 1)
-
-/* commands supported by the thermal_genl_family */
-enum {
- THERMAL_GENL_CMD_UNSPEC,
- THERMAL_GENL_CMD_EVENT,
- __THERMAL_GENL_CMD_MAX,
-};
-#define THERMAL_GENL_CMD_MAX (__THERMAL_GENL_CMD_MAX - 1)
-
-#endif /* _LINUX_THERMAL_H */
diff --git a/linux-headers/include/linux/time.h b/linux-headers/include/linux/time.h
deleted file mode 100644
index 3d7a29d..0000000
--- a/linux-headers/include/linux/time.h
+++ /dev/null
@@ -1,69 +0,0 @@
-#ifndef _LINUX_TIME_H
-#define _LINUX_TIME_H
-
-#include <linux/types.h>
-
-
-#ifndef _STRUCT_TIMESPEC
-#define _STRUCT_TIMESPEC
-struct timespec {
- __kernel_time_t tv_sec; /* seconds */
- long tv_nsec; /* nanoseconds */
-};
-#endif
-
-struct timeval {
- __kernel_time_t tv_sec; /* seconds */
- __kernel_suseconds_t tv_usec; /* microseconds */
-};
-
-struct timezone {
- int tz_minuteswest; /* minutes west of Greenwich */
- int tz_dsttime; /* type of dst correction */
-};
-
-
-/*
- * Names of the interval timers, and structure
- * defining a timer setting:
- */
-#define ITIMER_REAL 0
-#define ITIMER_VIRTUAL 1
-#define ITIMER_PROF 2
-
-struct itimerspec {
- struct timespec it_interval; /* timer period */
- struct timespec it_value; /* timer expiration */
-};
-
-struct itimerval {
- struct timeval it_interval; /* timer interval */
- struct timeval it_value; /* current value */
-};
-
-/*
- * The IDs of the various system clocks (for POSIX.1b interval timers):
- */
-#define CLOCK_REALTIME 0
-#define CLOCK_MONOTONIC 1
-#define CLOCK_PROCESS_CPUTIME_ID 2
-#define CLOCK_THREAD_CPUTIME_ID 3
-#define CLOCK_MONOTONIC_RAW 4
-#define CLOCK_REALTIME_COARSE 5
-#define CLOCK_MONOTONIC_COARSE 6
-#define CLOCK_BOOTTIME 7
-#define CLOCK_REALTIME_ALARM 8
-#define CLOCK_BOOTTIME_ALARM 9
-#define CLOCK_SGI_CYCLE 10 /* Hardware specific */
-#define CLOCK_TAI 11
-
-#define MAX_CLOCKS 16
-#define CLOCKS_MASK (CLOCK_REALTIME | CLOCK_MONOTONIC)
-#define CLOCKS_MONO CLOCK_MONOTONIC
-
-/*
- * The various flags for setting POSIX.1b interval timers:
- */
-#define TIMER_ABSTIME 0x01
-
-#endif /* _LINUX_TIME_H */
diff --git a/linux-headers/include/linux/times.h b/linux-headers/include/linux/times.h
deleted file mode 100644
index 87b6261..0000000
--- a/linux-headers/include/linux/times.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _LINUX_TIMES_H
-#define _LINUX_TIMES_H
-
-#include <linux/types.h>
-
-struct tms {
- __kernel_clock_t tms_utime;
- __kernel_clock_t tms_stime;
- __kernel_clock_t tms_cutime;
- __kernel_clock_t tms_cstime;
-};
-
-#endif
diff --git a/linux-headers/include/linux/timex.h b/linux-headers/include/linux/timex.h
deleted file mode 100644
index 9249c77..0000000
--- a/linux-headers/include/linux/timex.h
+++ /dev/null
@@ -1,164 +0,0 @@
-/*****************************************************************************
- * *
- * Copyright (c) David L. Mills 1993 *
- * *
- * Permission to use, copy, modify, and distribute this software and its *
- * documentation for any purpose and without fee is hereby granted, provided *
- * that the above copyright notice appears in all copies and that both the *
- * copyright notice and this permission notice appear in supporting *
- * documentation, and that the name University of Delaware not be used in *
- * advertising or publicity pertaining to distribution of the software *
- * without specific, written prior permission. The University of Delaware *
- * makes no representations about the suitability this software for any *
- * purpose. It is provided "as is" without express or implied warranty. *
- * *
- *****************************************************************************/
-
-/*
- * Modification history timex.h
- *
- * 29 Dec 97 Russell King
- * Moved CLOCK_TICK_RATE, CLOCK_TICK_FACTOR and FINETUNE to asm/timex.h
- * for ARM machines
- *
- * 9 Jan 97 Adrian Sun
- * Shifted LATCH define to allow access to alpha machines.
- *
- * 26 Sep 94 David L. Mills
- * Added defines for hybrid phase/frequency-lock loop.
- *
- * 19 Mar 94 David L. Mills
- * Moved defines from kernel routines to header file and added new
- * defines for PPS phase-lock loop.
- *
- * 20 Feb 94 David L. Mills
- * Revised status codes and structures for external clock and PPS
- * signal discipline.
- *
- * 28 Nov 93 David L. Mills
- * Adjusted parameters to improve stability and increase poll
- * interval.
- *
- * 17 Sep 93 David L. Mills
- * Created file $NTP/include/sys/timex.h
- * 07 Oct 93 Torsten Duwe
- * Derived linux/timex.h
- * 1995-08-13 Torsten Duwe
- * kernel PLL updated to 1994-12-13 specs (rfc-1589)
- * 1997-08-30 Ulrich Windl
- * Added new constant NTP_PHASE_LIMIT
- * 2004-08-12 Christoph Lameter
- * Reworked time interpolation logic
- */
-#ifndef _LINUX_TIMEX_H
-#define _LINUX_TIMEX_H
-
-#include <linux/time.h>
-
-#define NTP_API 4 /* NTP API version */
-
-/*
- * syscall interface - used (mainly by NTP daemon)
- * to discipline kernel clock oscillator
- */
-struct timex {
- unsigned int modes; /* mode selector */
- __kernel_long_t offset; /* time offset (usec) */
- __kernel_long_t freq; /* frequency offset (scaled ppm) */
- __kernel_long_t maxerror;/* maximum error (usec) */
- __kernel_long_t esterror;/* estimated error (usec) */
- int status; /* clock command/status */
- __kernel_long_t constant;/* pll time constant */
- __kernel_long_t precision;/* clock precision (usec) (read only) */
- __kernel_long_t tolerance;/* clock frequency tolerance (ppm)
- * (read only)
- */
- struct timeval time; /* (read only, except for ADJ_SETOFFSET) */
- __kernel_long_t tick; /* (modified) usecs between clock ticks */
-
- __kernel_long_t ppsfreq;/* pps frequency (scaled ppm) (ro) */
- __kernel_long_t jitter; /* pps jitter (us) (ro) */
- int shift; /* interval duration (s) (shift) (ro) */
- __kernel_long_t stabil; /* pps stability (scaled ppm) (ro) */
- __kernel_long_t jitcnt; /* jitter limit exceeded (ro) */
- __kernel_long_t calcnt; /* calibration intervals (ro) */
- __kernel_long_t errcnt; /* calibration errors (ro) */
- __kernel_long_t stbcnt; /* stability limit exceeded (ro) */
-
- int tai; /* TAI offset (ro) */
-
- int :32; int :32; int :32; int :32;
- int :32; int :32; int :32; int :32;
- int :32; int :32; int :32;
-};
-
-/*
- * Mode codes (timex.mode)
- */
-#define ADJ_OFFSET 0x0001 /* time offset */
-#define ADJ_FREQUENCY 0x0002 /* frequency offset */
-#define ADJ_MAXERROR 0x0004 /* maximum time error */
-#define ADJ_ESTERROR 0x0008 /* estimated time error */
-#define ADJ_STATUS 0x0010 /* clock status */
-#define ADJ_TIMECONST 0x0020 /* pll time constant */
-#define ADJ_TAI 0x0080 /* set TAI offset */
-#define ADJ_SETOFFSET 0x0100 /* add 'time' to current time */
-#define ADJ_MICRO 0x1000 /* select microsecond resolution */
-#define ADJ_NANO 0x2000 /* select nanosecond resolution */
-#define ADJ_TICK 0x4000 /* tick value */
-
-#define ADJ_OFFSET_SINGLESHOT 0x8001 /* old-fashioned adjtime */
-#define ADJ_OFFSET_SS_READ 0xa001 /* read-only adjtime */
-
-/* NTP userland likes the MOD_ prefix better */
-#define MOD_OFFSET ADJ_OFFSET
-#define MOD_FREQUENCY ADJ_FREQUENCY
-#define MOD_MAXERROR ADJ_MAXERROR
-#define MOD_ESTERROR ADJ_ESTERROR
-#define MOD_STATUS ADJ_STATUS
-#define MOD_TIMECONST ADJ_TIMECONST
-#define MOD_TAI ADJ_TAI
-#define MOD_MICRO ADJ_MICRO
-#define MOD_NANO ADJ_NANO
-
-
-/*
- * Status codes (timex.status)
- */
-#define STA_PLL 0x0001 /* enable PLL updates (rw) */
-#define STA_PPSFREQ 0x0002 /* enable PPS freq discipline (rw) */
-#define STA_PPSTIME 0x0004 /* enable PPS time discipline (rw) */
-#define STA_FLL 0x0008 /* select frequency-lock mode (rw) */
-
-#define STA_INS 0x0010 /* insert leap (rw) */
-#define STA_DEL 0x0020 /* delete leap (rw) */
-#define STA_UNSYNC 0x0040 /* clock unsynchronized (rw) */
-#define STA_FREQHOLD 0x0080 /* hold frequency (rw) */
-
-#define STA_PPSSIGNAL 0x0100 /* PPS signal present (ro) */
-#define STA_PPSJITTER 0x0200 /* PPS signal jitter exceeded (ro) */
-#define STA_PPSWANDER 0x0400 /* PPS signal wander exceeded (ro) */
-#define STA_PPSERROR 0x0800 /* PPS signal calibration error (ro) */
-
-#define STA_CLOCKERR 0x1000 /* clock hardware fault (ro) */
-#define STA_NANO 0x2000 /* resolution (0 = us, 1 = ns) (ro) */
-#define STA_MODE 0x4000 /* mode (0 = PLL, 1 = FLL) (ro) */
-#define STA_CLK 0x8000 /* clock source (0 = A, 1 = B) (ro) */
-
-/* read-only bits */
-#define STA_RONLY (STA_PPSSIGNAL | STA_PPSJITTER | STA_PPSWANDER | \
- STA_PPSERROR | STA_CLOCKERR | STA_NANO | STA_MODE | STA_CLK)
-
-/*
- * Clock states (time_state)
- */
-#define TIME_OK 0 /* clock synchronized, no leap second */
-#define TIME_INS 1 /* insert leap second */
-#define TIME_DEL 2 /* delete leap second */
-#define TIME_OOP 3 /* leap second in progress */
-#define TIME_WAIT 4 /* leap second has occurred */
-#define TIME_ERROR 5 /* clock not synchronized */
-#define TIME_BAD TIME_ERROR /* bw compat */
-
-
-#endif /* _LINUX_TIMEX_H */
diff --git a/linux-headers/include/linux/tiocl.h b/linux-headers/include/linux/tiocl.h
deleted file mode 100644
index 4756862..0000000
--- a/linux-headers/include/linux/tiocl.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef _LINUX_TIOCL_H
-#define _LINUX_TIOCL_H
-
-#define TIOCL_SETSEL 2 /* set a selection */
-#define TIOCL_SELCHAR 0 /* select characters */
-#define TIOCL_SELWORD 1 /* select whole words */
-#define TIOCL_SELLINE 2 /* select whole lines */
-#define TIOCL_SELPOINTER 3 /* show the pointer */
-#define TIOCL_SELCLEAR 4 /* clear visibility of selection */
-#define TIOCL_SELMOUSEREPORT 16 /* report beginning of selection */
-#define TIOCL_SELBUTTONMASK 15 /* button mask for report */
-/* selection extent */
-struct tiocl_selection {
- unsigned short xs; /* X start */
- unsigned short ys; /* Y start */
- unsigned short xe; /* X end */
- unsigned short ye; /* Y end */
- unsigned short sel_mode; /* selection mode */
-};
-
-#define TIOCL_PASTESEL 3 /* paste previous selection */
-#define TIOCL_UNBLANKSCREEN 4 /* unblank screen */
-
-#define TIOCL_SELLOADLUT 5
- /* set characters to be considered alphabetic when selecting */
- /* u32[8] bit array, 4 bytes-aligned with type */
-
-/* these two don't return a value: they write it back in the type */
-#define TIOCL_GETSHIFTSTATE 6 /* write shift state */
-#define TIOCL_GETMOUSEREPORTING 7 /* write whether mouse event are reported */
-#define TIOCL_SETVESABLANK 10 /* set vesa blanking mode */
-#define TIOCL_SETKMSGREDIRECT 11 /* restrict kernel messages to a vt */
-#define TIOCL_GETFGCONSOLE 12 /* get foreground vt */
-#define TIOCL_SCROLLCONSOLE 13 /* scroll console */
-#define TIOCL_BLANKSCREEN 14 /* keep screen blank even if a key is pressed */
-#define TIOCL_BLANKEDSCREEN 15 /* return which vt was blanked */
-#define TIOCL_GETKMSGREDIRECT 17 /* get the vt the kernel messages are restricted to */
-
-#endif /* _LINUX_TIOCL_H */
diff --git a/linux-headers/include/linux/tipc.h b/linux-headers/include/linux/tipc.h
deleted file mode 100644
index ebd3b63..0000000
--- a/linux-headers/include/linux/tipc.h
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * include/uapi/linux/tipc.h: Header for TIPC socket interface
- *
- * Copyright (c) 2003-2006, Ericsson AB
- * Copyright (c) 2005, 2010-2011, Wind River Systems
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the names of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _LINUX_TIPC_H_
-#define _LINUX_TIPC_H_
-
-#include <linux/types.h>
-#include <linux/sockios.h>
-
-/*
- * TIPC addressing primitives
- */
-
-struct tipc_portid {
- __u32 ref;
- __u32 node;
-};
-
-struct tipc_name {
- __u32 type;
- __u32 instance;
-};
-
-struct tipc_name_seq {
- __u32 type;
- __u32 lower;
- __u32 upper;
-};
-
-static __inline__ __u32 tipc_addr(unsigned int zone,
- unsigned int cluster,
- unsigned int node)
-{
- return (zone << 24) | (cluster << 12) | node;
-}
-
-static __inline__ unsigned int tipc_zone(__u32 addr)
-{
- return addr >> 24;
-}
-
-static __inline__ unsigned int tipc_cluster(__u32 addr)
-{
- return (addr >> 12) & 0xfff;
-}
-
-static __inline__ unsigned int tipc_node(__u32 addr)
-{
- return addr & 0xfff;
-}
-
-/*
- * Application-accessible port name types
- */
-
-#define TIPC_CFG_SRV 0 /* configuration service name type */
-#define TIPC_TOP_SRV 1 /* topology service name type */
-#define TIPC_LINK_STATE 2 /* link state name type */
-#define TIPC_RESERVED_TYPES 64 /* lowest user-publishable name type */
-
-/*
- * Publication scopes when binding port names and port name sequences
- */
-
-#define TIPC_ZONE_SCOPE 1
-#define TIPC_CLUSTER_SCOPE 2
-#define TIPC_NODE_SCOPE 3
-
-/*
- * Limiting values for messages
- */
-
-#define TIPC_MAX_USER_MSG_SIZE 66000U
-
-/*
- * Message importance levels
- */
-
-#define TIPC_LOW_IMPORTANCE 0
-#define TIPC_MEDIUM_IMPORTANCE 1
-#define TIPC_HIGH_IMPORTANCE 2
-#define TIPC_CRITICAL_IMPORTANCE 3
-
-/*
- * Msg rejection/connection shutdown reasons
- */
-
-#define TIPC_OK 0
-#define TIPC_ERR_NO_NAME 1
-#define TIPC_ERR_NO_PORT 2
-#define TIPC_ERR_NO_NODE 3
-#define TIPC_ERR_OVERLOAD 4
-#define TIPC_CONN_SHUTDOWN 5
-
-/*
- * TIPC topology subscription service definitions
- */
-
-#define TIPC_SUB_PORTS 0x01 /* filter for port availability */
-#define TIPC_SUB_SERVICE 0x02 /* filter for service availability */
-#define TIPC_SUB_CANCEL 0x04 /* cancel a subscription */
-
-#define TIPC_WAIT_FOREVER (~0) /* timeout for permanent subscription */
-
-struct tipc_subscr {
- struct tipc_name_seq seq; /* name sequence of interest */
- __u32 timeout; /* subscription duration (in ms) */
- __u32 filter; /* bitmask of filter options */
- char usr_handle[8]; /* available for subscriber use */
-};
-
-#define TIPC_PUBLISHED 1 /* publication event */
-#define TIPC_WITHDRAWN 2 /* withdraw event */
-#define TIPC_SUBSCR_TIMEOUT 3 /* subscription timeout event */
-
-struct tipc_event {
- __u32 event; /* event type */
- __u32 found_lower; /* matching name seq instances */
- __u32 found_upper; /* " " " " */
- struct tipc_portid port; /* associated port */
- struct tipc_subscr s; /* associated subscription */
-};
-
-/*
- * Socket API
- */
-
-#ifndef AF_TIPC
-#define AF_TIPC 30
-#endif
-
-#ifndef PF_TIPC
-#define PF_TIPC AF_TIPC
-#endif
-
-#ifndef SOL_TIPC
-#define SOL_TIPC 271
-#endif
-
-#define TIPC_ADDR_NAMESEQ 1
-#define TIPC_ADDR_MCAST 1
-#define TIPC_ADDR_NAME 2
-#define TIPC_ADDR_ID 3
-
-struct sockaddr_tipc {
- unsigned short family;
- unsigned char addrtype;
- signed char scope;
- union {
- struct tipc_portid id;
- struct tipc_name_seq nameseq;
- struct {
- struct tipc_name name;
- __u32 domain;
- } name;
- } addr;
-};
-
-/*
- * Ancillary data objects supported by recvmsg()
- */
-
-#define TIPC_ERRINFO 1 /* error info */
-#define TIPC_RETDATA 2 /* returned data */
-#define TIPC_DESTNAME 3 /* destination name */
-
-/*
- * TIPC-specific socket option values
- */
-
-#define TIPC_IMPORTANCE 127 /* Default: TIPC_LOW_IMPORTANCE */
-#define TIPC_SRC_DROPPABLE 128 /* Default: based on socket type */
-#define TIPC_DEST_DROPPABLE 129 /* Default: based on socket type */
-#define TIPC_CONN_TIMEOUT 130 /* Default: 8000 (ms) */
-#define TIPC_NODE_RECVQ_DEPTH 131 /* Default: none (read only) */
-#define TIPC_SOCK_RECVQ_DEPTH 132 /* Default: none (read only) */
-
-/*
- * Maximum sizes of TIPC bearer-related names (including terminating NULL)
- * The string formatting for each name element is:
- * media: media
- * interface: media:interface name
- * link: Z.C.N:interface-Z.C.N:interface
- *
- */
-
-#define TIPC_MAX_MEDIA_NAME 16
-#define TIPC_MAX_IF_NAME 16
-#define TIPC_MAX_BEARER_NAME 32
-#define TIPC_MAX_LINK_NAME 60
-
-#define SIOCGETLINKNAME SIOCPROTOPRIVATE
-
-struct tipc_sioc_ln_req {
- __u32 peer;
- __u32 bearer_id;
- char linkname[TIPC_MAX_LINK_NAME];
-};
-#endif
diff --git a/linux-headers/include/linux/tipc_config.h b/linux-headers/include/linux/tipc_config.h
deleted file mode 100644
index 89f667c..0000000
--- a/linux-headers/include/linux/tipc_config.h
+++ /dev/null
@@ -1,405 +0,0 @@
-/*
- * include/uapi/linux/tipc_config.h: Header for TIPC configuration interface
- *
- * Copyright (c) 2003-2006, Ericsson AB
- * Copyright (c) 2005-2007, 2010-2011, Wind River Systems
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the names of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _LINUX_TIPC_CONFIG_H_
-#define _LINUX_TIPC_CONFIG_H_
-
-#include <linux/types.h>
-#include <linux/string.h>
-#include <linux/tipc.h>
-#include <asm/byteorder.h>
-
-#include <arpa/inet.h> /* for ntohs etc. */
-
-/*
- * Configuration
- *
- * All configuration management messaging involves sending a request message
- * to the TIPC configuration service on a node, which sends a reply message
- * back. (In the future multi-message replies may be supported.)
- *
- * Both request and reply messages consist of a transport header and payload.
- * The transport header contains info about the desired operation;
- * the payload consists of zero or more type/length/value (TLV) items
- * which specify parameters or results for the operation.
- *
- * For many operations, the request and reply messages have a fixed number
- * of TLVs (usually zero or one); however, some reply messages may return
- * a variable number of TLVs. A failed request is denoted by the presence
- * of an "error string" TLV in the reply message instead of the TLV(s) the
- * reply should contain if the request succeeds.
- */
-
-/*
- * Public commands:
- * May be issued by any process.
- * Accepted by own node, or by remote node only if remote management enabled.
- */
-
-#define TIPC_CMD_NOOP 0x0000 /* tx none, rx none */
-#define TIPC_CMD_GET_NODES 0x0001 /* tx net_addr, rx node_info(s) */
-#define TIPC_CMD_GET_MEDIA_NAMES 0x0002 /* tx none, rx media_name(s) */
-#define TIPC_CMD_GET_BEARER_NAMES 0x0003 /* tx none, rx bearer_name(s) */
-#define TIPC_CMD_GET_LINKS 0x0004 /* tx net_addr, rx link_info(s) */
-#define TIPC_CMD_SHOW_NAME_TABLE 0x0005 /* tx name_tbl_query, rx ultra_string */
-#define TIPC_CMD_SHOW_PORTS 0x0006 /* tx none, rx ultra_string */
-#define TIPC_CMD_SHOW_LINK_STATS 0x000B /* tx link_name, rx ultra_string */
-#define TIPC_CMD_SHOW_STATS 0x000F /* tx unsigned, rx ultra_string */
-
-/*
- * Protected commands:
- * May only be issued by "network administration capable" process.
- * Accepted by own node, or by remote node only if remote management enabled
- * and this node is zone manager.
- */
-
-#define TIPC_CMD_GET_REMOTE_MNG 0x4003 /* tx none, rx unsigned */
-#define TIPC_CMD_GET_MAX_PORTS 0x4004 /* tx none, rx unsigned */
-#define TIPC_CMD_GET_MAX_PUBL 0x4005 /* obsoleted */
-#define TIPC_CMD_GET_MAX_SUBSCR 0x4006 /* obsoleted */
-#define TIPC_CMD_GET_MAX_ZONES 0x4007 /* obsoleted */
-#define TIPC_CMD_GET_MAX_CLUSTERS 0x4008 /* obsoleted */
-#define TIPC_CMD_GET_MAX_NODES 0x4009 /* obsoleted */
-#define TIPC_CMD_GET_MAX_SLAVES 0x400A /* obsoleted */
-#define TIPC_CMD_GET_NETID 0x400B /* tx none, rx unsigned */
-
-#define TIPC_CMD_ENABLE_BEARER 0x4101 /* tx bearer_config, rx none */
-#define TIPC_CMD_DISABLE_BEARER 0x4102 /* tx bearer_name, rx none */
-#define TIPC_CMD_SET_LINK_TOL 0x4107 /* tx link_config, rx none */
-#define TIPC_CMD_SET_LINK_PRI 0x4108 /* tx link_config, rx none */
-#define TIPC_CMD_SET_LINK_WINDOW 0x4109 /* tx link_config, rx none */
-#define TIPC_CMD_SET_LOG_SIZE 0x410A /* obsoleted */
-#define TIPC_CMD_DUMP_LOG 0x410B /* obsoleted */
-#define TIPC_CMD_RESET_LINK_STATS 0x410C /* tx link_name, rx none */
-
-/*
- * Private commands:
- * May only be issued by "network administration capable" process.
- * Accepted by own node only; cannot be used on a remote node.
- */
-
-#define TIPC_CMD_SET_NODE_ADDR 0x8001 /* tx net_addr, rx none */
-#define TIPC_CMD_SET_REMOTE_MNG 0x8003 /* tx unsigned, rx none */
-#define TIPC_CMD_SET_MAX_PORTS 0x8004 /* tx unsigned, rx none */
-#define TIPC_CMD_SET_MAX_PUBL 0x8005 /* obsoleted */
-#define TIPC_CMD_SET_MAX_SUBSCR 0x8006 /* obsoleted */
-#define TIPC_CMD_SET_MAX_ZONES 0x8007 /* obsoleted */
-#define TIPC_CMD_SET_MAX_CLUSTERS 0x8008 /* obsoleted */
-#define TIPC_CMD_SET_MAX_NODES 0x8009 /* obsoleted */
-#define TIPC_CMD_SET_MAX_SLAVES 0x800A /* obsoleted */
-#define TIPC_CMD_SET_NETID 0x800B /* tx unsigned, rx none */
-
-/*
- * Reserved commands:
- * May not be issued by any process.
- * Used internally by TIPC.
- */
-
-#define TIPC_CMD_NOT_NET_ADMIN 0xC001 /* tx none, rx none */
-
-/*
- * TLV types defined for TIPC
- */
-
-#define TIPC_TLV_NONE 0 /* no TLV present */
-#define TIPC_TLV_VOID 1 /* empty TLV (0 data bytes)*/
-#define TIPC_TLV_UNSIGNED 2 /* 32-bit integer */
-#define TIPC_TLV_STRING 3 /* char[128] (max) */
-#define TIPC_TLV_LARGE_STRING 4 /* char[2048] (max) */
-#define TIPC_TLV_ULTRA_STRING 5 /* char[32768] (max) */
-
-#define TIPC_TLV_ERROR_STRING 16 /* char[128] containing "error code" */
-#define TIPC_TLV_NET_ADDR 17 /* 32-bit integer denoting <Z.C.N> */
-#define TIPC_TLV_MEDIA_NAME 18 /* char[TIPC_MAX_MEDIA_NAME] */
-#define TIPC_TLV_BEARER_NAME 19 /* char[TIPC_MAX_BEARER_NAME] */
-#define TIPC_TLV_LINK_NAME 20 /* char[TIPC_MAX_LINK_NAME] */
-#define TIPC_TLV_NODE_INFO 21 /* struct tipc_node_info */
-#define TIPC_TLV_LINK_INFO 22 /* struct tipc_link_info */
-#define TIPC_TLV_BEARER_CONFIG 23 /* struct tipc_bearer_config */
-#define TIPC_TLV_LINK_CONFIG 24 /* struct tipc_link_config */
-#define TIPC_TLV_NAME_TBL_QUERY 25 /* struct tipc_name_table_query */
-#define TIPC_TLV_PORT_REF 26 /* 32-bit port reference */
-
-/*
- * Link priority limits (min, default, max, media default)
- */
-
-#define TIPC_MIN_LINK_PRI 0
-#define TIPC_DEF_LINK_PRI 10
-#define TIPC_MAX_LINK_PRI 31
-#define TIPC_MEDIA_LINK_PRI (TIPC_MAX_LINK_PRI + 1)
-
-/*
- * Link tolerance limits (min, default, max), in ms
- */
-
-#define TIPC_MIN_LINK_TOL 50
-#define TIPC_DEF_LINK_TOL 1500
-#define TIPC_MAX_LINK_TOL 30000
-
-#if (TIPC_MIN_LINK_TOL < 16)
-#error "TIPC_MIN_LINK_TOL is too small (abort limit may be NaN)"
-#endif
-
-/*
- * Link window limits (min, default, max), in packets
- */
-
-#define TIPC_MIN_LINK_WIN 16
-#define TIPC_DEF_LINK_WIN 50
-#define TIPC_MAX_LINK_WIN 8191
-
-
-struct tipc_node_info {
- __be32 addr; /* network address of node */
- __be32 up; /* 0=down, 1= up */
-};
-
-struct tipc_link_info {
- __be32 dest; /* network address of peer node */
- __be32 up; /* 0=down, 1=up */
- char str[TIPC_MAX_LINK_NAME]; /* link name */
-};
-
-struct tipc_bearer_config {
- __be32 priority; /* Range [1,31]. Override per link */
- __be32 disc_domain; /* <Z.C.N> describing desired nodes */
- char name[TIPC_MAX_BEARER_NAME];
-};
-
-struct tipc_link_config {
- __be32 value;
- char name[TIPC_MAX_LINK_NAME];
-};
-
-#define TIPC_NTQ_ALLTYPES 0x80000000
-
-struct tipc_name_table_query {
- __be32 depth; /* 1:type, 2:+name info, 3:+port info, 4+:+debug info */
- __be32 type; /* {t,l,u} info ignored if high bit of "depth" is set */
- __be32 lowbound; /* (i.e. displays all entries of name table) */
- __be32 upbound;
-};
-
-/*
- * The error string TLV is a null-terminated string describing the cause
- * of the request failure. To simplify error processing (and to save space)
- * the first character of the string can be a special error code character
- * (lying by the range 0x80 to 0xFF) which represents a pre-defined reason.
- */
-
-#define TIPC_CFG_TLV_ERROR "\x80" /* request contains incorrect TLV(s) */
-#define TIPC_CFG_NOT_NET_ADMIN "\x81" /* must be network administrator */
-#define TIPC_CFG_NOT_ZONE_MSTR "\x82" /* must be zone master */
-#define TIPC_CFG_NO_REMOTE "\x83" /* remote management not enabled */
-#define TIPC_CFG_NOT_SUPPORTED "\x84" /* request is not supported by TIPC */
-#define TIPC_CFG_INVALID_VALUE "\x85" /* request has invalid argument value */
-
-/*
- * A TLV consists of a descriptor, followed by the TLV value.
- * TLV descriptor fields are stored in network byte order;
- * TLV values must also be stored in network byte order (where applicable).
- * TLV descriptors must be aligned to addresses which are multiple of 4,
- * so up to 3 bytes of padding may exist at the end of the TLV value area.
- * There must not be any padding between the TLV descriptor and its value.
- */
-
-struct tlv_desc {
- __be16 tlv_len; /* TLV length (descriptor + value) */
- __be16 tlv_type; /* TLV identifier */
-};
-
-#define TLV_ALIGNTO 4
-
-#define TLV_ALIGN(datalen) (((datalen)+(TLV_ALIGNTO-1)) & ~(TLV_ALIGNTO-1))
-#define TLV_LENGTH(datalen) (sizeof(struct tlv_desc) + (datalen))
-#define TLV_SPACE(datalen) (TLV_ALIGN(TLV_LENGTH(datalen)))
-#define TLV_DATA(tlv) ((void *)((char *)(tlv) + TLV_LENGTH(0)))
-
-static __inline__ int TLV_OK(const void *tlv, __u16 space)
-{
- /*
- * Would also like to check that "tlv" is a multiple of 4,
- * but don't know how to do this in a portable way.
- * - Tried doing (!(tlv & (TLV_ALIGNTO-1))), but GCC compiler
- * won't allow binary "&" with a pointer.
- * - Tried casting "tlv" to integer type, but causes warning about size
- * mismatch when pointer is bigger than chosen type (int, long, ...).
- */
-
- return (space >= TLV_SPACE(0)) &&
- (ntohs(((struct tlv_desc *)tlv)->tlv_len) <= space);
-}
-
-static __inline__ int TLV_CHECK(const void *tlv, __u16 space, __u16 exp_type)
-{
- return TLV_OK(tlv, space) &&
- (ntohs(((struct tlv_desc *)tlv)->tlv_type) == exp_type);
-}
-
-static __inline__ int TLV_GET_LEN(struct tlv_desc *tlv)
-{
- return ntohs(tlv->tlv_len);
-}
-
-static __inline__ void TLV_SET_LEN(struct tlv_desc *tlv, __u16 len)
-{
- tlv->tlv_len = htons(len);
-}
-
-static __inline__ int TLV_CHECK_TYPE(struct tlv_desc *tlv, __u16 type)
-{
- return (ntohs(tlv->tlv_type) == type);
-}
-
-static __inline__ void TLV_SET_TYPE(struct tlv_desc *tlv, __u16 type)
-{
- tlv->tlv_type = htons(type);
-}
-
-static __inline__ int TLV_SET(void *tlv, __u16 type, void *data, __u16 len)
-{
- struct tlv_desc *tlv_ptr;
- int tlv_len;
-
- tlv_len = TLV_LENGTH(len);
- tlv_ptr = (struct tlv_desc *)tlv;
- tlv_ptr->tlv_type = htons(type);
- tlv_ptr->tlv_len = htons(tlv_len);
- if (len && data)
- memcpy(TLV_DATA(tlv_ptr), data, tlv_len);
- return TLV_SPACE(len);
-}
-
-/*
- * A TLV list descriptor simplifies processing of messages
- * containing multiple TLVs.
- */
-
-struct tlv_list_desc {
- struct tlv_desc *tlv_ptr; /* ptr to current TLV */
- __u32 tlv_space; /* # bytes from curr TLV to list end */
-};
-
-static __inline__ void TLV_LIST_INIT(struct tlv_list_desc *list,
- void *data, __u32 space)
-{
- list->tlv_ptr = (struct tlv_desc *)data;
- list->tlv_space = space;
-}
-
-static __inline__ int TLV_LIST_EMPTY(struct tlv_list_desc *list)
-{
- return (list->tlv_space == 0);
-}
-
-static __inline__ int TLV_LIST_CHECK(struct tlv_list_desc *list, __u16 exp_type)
-{
- return TLV_CHECK(list->tlv_ptr, list->tlv_space, exp_type);
-}
-
-static __inline__ void *TLV_LIST_DATA(struct tlv_list_desc *list)
-{
- return TLV_DATA(list->tlv_ptr);
-}
-
-static __inline__ void TLV_LIST_STEP(struct tlv_list_desc *list)
-{
- __u16 tlv_space = TLV_ALIGN(ntohs(list->tlv_ptr->tlv_len));
-
- list->tlv_ptr = (struct tlv_desc *)((char *)list->tlv_ptr + tlv_space);
- list->tlv_space -= tlv_space;
-}
-
-/*
- * Configuration messages exchanged via NETLINK_GENERIC use the following
- * family id, name, version and command.
- */
-#define TIPC_GENL_NAME "TIPC"
-#define TIPC_GENL_VERSION 0x1
-#define TIPC_GENL_CMD 0x1
-
-/*
- * TIPC specific header used in NETLINK_GENERIC requests.
- */
-struct tipc_genlmsghdr {
- __u32 dest; /* Destination address */
- __u16 cmd; /* Command */
- __u16 reserved; /* Unused */
-};
-
-#define TIPC_GENL_HDRLEN NLMSG_ALIGN(sizeof(struct tipc_genlmsghdr))
-
-/*
- * Configuration messages exchanged via TIPC sockets use the TIPC configuration
- * message header, which is defined below. This structure is analogous
- * to the Netlink message header, but fields are stored in network byte order
- * and no padding is permitted between the header and the message data
- * that follows.
- */
-
-struct tipc_cfg_msg_hdr {
- __be32 tcm_len; /* Message length (including header) */
- __be16 tcm_type; /* Command type */
- __be16 tcm_flags; /* Additional flags */
- char tcm_reserved[8]; /* Unused */
-};
-
-#define TCM_F_REQUEST 0x1 /* Flag: Request message */
-#define TCM_F_MORE 0x2 /* Flag: Message to be continued */
-
-#define TCM_ALIGN(datalen) (((datalen)+3) & ~3)
-#define TCM_LENGTH(datalen) (sizeof(struct tipc_cfg_msg_hdr) + datalen)
-#define TCM_SPACE(datalen) (TCM_ALIGN(TCM_LENGTH(datalen)))
-#define TCM_DATA(tcm_hdr) ((void *)((char *)(tcm_hdr) + TCM_LENGTH(0)))
-
-static __inline__ int TCM_SET(void *msg, __u16 cmd, __u16 flags,
- void *data, __u16 data_len)
-{
- struct tipc_cfg_msg_hdr *tcm_hdr;
- int msg_len;
-
- msg_len = TCM_LENGTH(data_len);
- tcm_hdr = (struct tipc_cfg_msg_hdr *)msg;
- tcm_hdr->tcm_len = htonl(msg_len);
- tcm_hdr->tcm_type = htons(cmd);
- tcm_hdr->tcm_flags = htons(flags);
- if (data_len && data)
- memcpy(TCM_DATA(msg), data, data_len);
- return TCM_SPACE(data_len);
-}
-
-#endif
diff --git a/linux-headers/include/linux/tipc_netlink.h b/linux-headers/include/linux/tipc_netlink.h
deleted file mode 100644
index d4c8f14..0000000
--- a/linux-headers/include/linux/tipc_netlink.h
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright (c) 2014, Ericsson AB
- * All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the names of the copyright holders nor the names of its
- * contributors may be used to endorse or promote products derived from
- * this software without specific prior written permission.
- *
- * Alternatively, this software may be distributed under the terms of the
- * GNU General Public License ("GPL") version 2 as published by the Free
- * Software Foundation.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _LINUX_TIPC_NETLINK_H_
-#define _LINUX_TIPC_NETLINK_H_
-
-#define TIPC_GENL_V2_NAME "TIPCv2"
-#define TIPC_GENL_V2_VERSION 0x1
-
-/* Netlink commands */
-enum {
- TIPC_NL_UNSPEC,
- TIPC_NL_LEGACY,
- TIPC_NL_BEARER_DISABLE,
- TIPC_NL_BEARER_ENABLE,
- TIPC_NL_BEARER_GET,
- TIPC_NL_BEARER_SET,
- TIPC_NL_SOCK_GET,
- TIPC_NL_PUBL_GET,
- TIPC_NL_LINK_GET,
- TIPC_NL_LINK_SET,
- TIPC_NL_LINK_RESET_STATS,
- TIPC_NL_MEDIA_GET,
- TIPC_NL_MEDIA_SET,
- TIPC_NL_NODE_GET,
- TIPC_NL_NET_GET,
- TIPC_NL_NET_SET,
- TIPC_NL_NAME_TABLE_GET,
-
- __TIPC_NL_CMD_MAX,
- TIPC_NL_CMD_MAX = __TIPC_NL_CMD_MAX - 1
-};
-
-/* Top level netlink attributes */
-enum {
- TIPC_NLA_UNSPEC,
- TIPC_NLA_BEARER, /* nest */
- TIPC_NLA_SOCK, /* nest */
- TIPC_NLA_PUBL, /* nest */
- TIPC_NLA_LINK, /* nest */
- TIPC_NLA_MEDIA, /* nest */
- TIPC_NLA_NODE, /* nest */
- TIPC_NLA_NET, /* nest */
- TIPC_NLA_NAME_TABLE, /* nest */
-
- __TIPC_NLA_MAX,
- TIPC_NLA_MAX = __TIPC_NLA_MAX - 1
-};
-
-/* Bearer info */
-enum {
- TIPC_NLA_BEARER_UNSPEC,
- TIPC_NLA_BEARER_NAME, /* string */
- TIPC_NLA_BEARER_PROP, /* nest */
- TIPC_NLA_BEARER_DOMAIN, /* u32 */
- TIPC_NLA_BEARER_UDP_OPTS, /* nest */
-
- __TIPC_NLA_BEARER_MAX,
- TIPC_NLA_BEARER_MAX = __TIPC_NLA_BEARER_MAX - 1
-};
-
-enum {
- TIPC_NLA_UDP_UNSPEC,
- TIPC_NLA_UDP_LOCAL, /* sockaddr_storage */
- TIPC_NLA_UDP_REMOTE, /* sockaddr_storage */
-
- __TIPC_NLA_UDP_MAX,
- TIPC_NLA_UDP_MAX = __TIPC_NLA_UDP_MAX - 1
-};
-/* Socket info */
-enum {
- TIPC_NLA_SOCK_UNSPEC,
- TIPC_NLA_SOCK_ADDR, /* u32 */
- TIPC_NLA_SOCK_REF, /* u32 */
- TIPC_NLA_SOCK_CON, /* nest */
- TIPC_NLA_SOCK_HAS_PUBL, /* flag */
-
- __TIPC_NLA_SOCK_MAX,
- TIPC_NLA_SOCK_MAX = __TIPC_NLA_SOCK_MAX - 1
-};
-
-/* Link info */
-enum {
- TIPC_NLA_LINK_UNSPEC,
- TIPC_NLA_LINK_NAME, /* string */
- TIPC_NLA_LINK_DEST, /* u32 */
- TIPC_NLA_LINK_MTU, /* u32 */
- TIPC_NLA_LINK_BROADCAST, /* flag */
- TIPC_NLA_LINK_UP, /* flag */
- TIPC_NLA_LINK_ACTIVE, /* flag */
- TIPC_NLA_LINK_PROP, /* nest */
- TIPC_NLA_LINK_STATS, /* nest */
- TIPC_NLA_LINK_RX, /* u32 */
- TIPC_NLA_LINK_TX, /* u32 */
-
- __TIPC_NLA_LINK_MAX,
- TIPC_NLA_LINK_MAX = __TIPC_NLA_LINK_MAX - 1
-};
-
-/* Media info */
-enum {
- TIPC_NLA_MEDIA_UNSPEC,
- TIPC_NLA_MEDIA_NAME, /* string */
- TIPC_NLA_MEDIA_PROP, /* nest */
-
- __TIPC_NLA_MEDIA_MAX,
- TIPC_NLA_MEDIA_MAX = __TIPC_NLA_MEDIA_MAX - 1
-};
-
-/* Node info */
-enum {
- TIPC_NLA_NODE_UNSPEC,
- TIPC_NLA_NODE_ADDR, /* u32 */
- TIPC_NLA_NODE_UP, /* flag */
-
- __TIPC_NLA_NODE_MAX,
- TIPC_NLA_NODE_MAX = __TIPC_NLA_NODE_MAX - 1
-};
-
-/* Net info */
-enum {
- TIPC_NLA_NET_UNSPEC,
- TIPC_NLA_NET_ID, /* u32 */
- TIPC_NLA_NET_ADDR, /* u32 */
-
- __TIPC_NLA_NET_MAX,
- TIPC_NLA_NET_MAX = __TIPC_NLA_NET_MAX - 1
-};
-
-/* Name table info */
-enum {
- TIPC_NLA_NAME_TABLE_UNSPEC,
- TIPC_NLA_NAME_TABLE_PUBL, /* nest */
-
- __TIPC_NLA_NAME_TABLE_MAX,
- TIPC_NLA_NAME_TABLE_MAX = __TIPC_NLA_NAME_TABLE_MAX - 1
-};
-
-/* Publication info */
-enum {
- TIPC_NLA_PUBL_UNSPEC,
-
- TIPC_NLA_PUBL_TYPE, /* u32 */
- TIPC_NLA_PUBL_LOWER, /* u32 */
- TIPC_NLA_PUBL_UPPER, /* u32 */
- TIPC_NLA_PUBL_SCOPE, /* u32 */
- TIPC_NLA_PUBL_NODE, /* u32 */
- TIPC_NLA_PUBL_REF, /* u32 */
- TIPC_NLA_PUBL_KEY, /* u32 */
-
- __TIPC_NLA_PUBL_MAX,
- TIPC_NLA_PUBL_MAX = __TIPC_NLA_PUBL_MAX - 1
-};
-
-/* Nest, connection info */
-enum {
- TIPC_NLA_CON_UNSPEC,
-
- TIPC_NLA_CON_FLAG, /* flag */
- TIPC_NLA_CON_NODE, /* u32 */
- TIPC_NLA_CON_SOCK, /* u32 */
- TIPC_NLA_CON_TYPE, /* u32 */
- TIPC_NLA_CON_INST, /* u32 */
-
- __TIPC_NLA_CON_MAX,
- TIPC_NLA_CON_MAX = __TIPC_NLA_CON_MAX - 1
-};
-
-/* Nest, link propreties. Valid for link, media and bearer */
-enum {
- TIPC_NLA_PROP_UNSPEC,
-
- TIPC_NLA_PROP_PRIO, /* u32 */
- TIPC_NLA_PROP_TOL, /* u32 */
- TIPC_NLA_PROP_WIN, /* u32 */
-
- __TIPC_NLA_PROP_MAX,
- TIPC_NLA_PROP_MAX = __TIPC_NLA_PROP_MAX - 1
-};
-
-/* Nest, statistics info */
-enum {
- TIPC_NLA_STATS_UNSPEC,
-
- TIPC_NLA_STATS_RX_INFO, /* u32 */
- TIPC_NLA_STATS_RX_FRAGMENTS, /* u32 */
- TIPC_NLA_STATS_RX_FRAGMENTED, /* u32 */
- TIPC_NLA_STATS_RX_BUNDLES, /* u32 */
- TIPC_NLA_STATS_RX_BUNDLED, /* u32 */
- TIPC_NLA_STATS_TX_INFO, /* u32 */
- TIPC_NLA_STATS_TX_FRAGMENTS, /* u32 */
- TIPC_NLA_STATS_TX_FRAGMENTED, /* u32 */
- TIPC_NLA_STATS_TX_BUNDLES, /* u32 */
- TIPC_NLA_STATS_TX_BUNDLED, /* u32 */
- TIPC_NLA_STATS_MSG_PROF_TOT, /* u32 */
- TIPC_NLA_STATS_MSG_LEN_CNT, /* u32 */
- TIPC_NLA_STATS_MSG_LEN_TOT, /* u32 */
- TIPC_NLA_STATS_MSG_LEN_P0, /* u32 */
- TIPC_NLA_STATS_MSG_LEN_P1, /* u32 */
- TIPC_NLA_STATS_MSG_LEN_P2, /* u32 */
- TIPC_NLA_STATS_MSG_LEN_P3, /* u32 */
- TIPC_NLA_STATS_MSG_LEN_P4, /* u32 */
- TIPC_NLA_STATS_MSG_LEN_P5, /* u32 */
- TIPC_NLA_STATS_MSG_LEN_P6, /* u32 */
- TIPC_NLA_STATS_RX_STATES, /* u32 */
- TIPC_NLA_STATS_RX_PROBES, /* u32 */
- TIPC_NLA_STATS_RX_NACKS, /* u32 */
- TIPC_NLA_STATS_RX_DEFERRED, /* u32 */
- TIPC_NLA_STATS_TX_STATES, /* u32 */
- TIPC_NLA_STATS_TX_PROBES, /* u32 */
- TIPC_NLA_STATS_TX_NACKS, /* u32 */
- TIPC_NLA_STATS_TX_ACKS, /* u32 */
- TIPC_NLA_STATS_RETRANSMITTED, /* u32 */
- TIPC_NLA_STATS_DUPLICATES, /* u32 */
- TIPC_NLA_STATS_LINK_CONGS, /* u32 */
- TIPC_NLA_STATS_MAX_QUEUE, /* u32 */
- TIPC_NLA_STATS_AVG_QUEUE, /* u32 */
-
- __TIPC_NLA_STATS_MAX,
- TIPC_NLA_STATS_MAX = __TIPC_NLA_STATS_MAX - 1
-};
-
-#endif
diff --git a/linux-headers/include/linux/toshiba.h b/linux-headers/include/linux/toshiba.h
deleted file mode 100644
index 42f2f11..0000000
--- a/linux-headers/include/linux/toshiba.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/* toshiba.h -- Linux driver for accessing the SMM on Toshiba laptops
- *
- * Copyright (c) 1996-2000 Jonathan A. Buzzard (jonathan@buzzard.org.uk)
- * Copyright (c) 2015 Azael Avalos <coproscefalo@gmail.com>
- *
- * Thanks to Juergen Heinzl <juergen@monocerus.demon.co.uk> for the pointers
- * on making sure the structure is aligned and packed.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the
- * Free Software Foundation; either version 2, or (at your option) any
- * later version.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- */
-
-#ifndef _LINUX_TOSHIBA_H
-#define _LINUX_TOSHIBA_H
-
-/*
- * Toshiba modules paths
- */
-
-#define TOSH_PROC "/proc/toshiba"
-#define TOSH_DEVICE "/dev/toshiba"
-#define TOSHIBA_ACPI_PROC "/proc/acpi/toshiba"
-#define TOSHIBA_ACPI_DEVICE "/dev/toshiba_acpi"
-
-/*
- * Toshiba SMM structure
- */
-
-typedef struct {
- unsigned int eax;
- unsigned int ebx __attribute__ ((packed));
- unsigned int ecx __attribute__ ((packed));
- unsigned int edx __attribute__ ((packed));
- unsigned int esi __attribute__ ((packed));
- unsigned int edi __attribute__ ((packed));
-} SMMRegisters;
-
-/*
- * IOCTLs (0x90 - 0x91)
- */
-
-#define TOSH_SMM _IOWR('t', 0x90, SMMRegisters)
-/*
- * Convenience toshiba_acpi command.
- *
- * The System Configuration Interface (SCI) is opened/closed internally
- * to avoid userspace of buggy BIOSes.
- *
- * The toshiba_acpi module checks whether the eax register is set with
- * SCI_GET (0xf300) or SCI_SET (0xf400), returning -EINVAL if not.
- */
-#define TOSHIBA_ACPI_SCI _IOWR('t', 0x91, SMMRegisters)
-
-
-#endif /* _LINUX_TOSHIBA_H */
diff --git a/linux-headers/include/linux/tty.h b/linux-headers/include/linux/tty.h
deleted file mode 100644
index 31156e5..0000000
--- a/linux-headers/include/linux/tty.h
+++ /dev/null
@@ -1,39 +0,0 @@
-#ifndef _LINUX_TTY_H
-#define _LINUX_TTY_H
-
-/*
- * 'tty.h' defines some structures used by tty_io.c and some defines.
- */
-
-#define NR_LDISCS 30
-
-/* line disciplines */
-#define N_TTY 0
-#define N_SLIP 1
-#define N_MOUSE 2
-#define N_PPP 3
-#define N_STRIP 4
-#define N_AX25 5
-#define N_X25 6 /* X.25 async */
-#define N_6PACK 7
-#define N_MASC 8 /* Reserved for Mobitex module <kaz@cafe.net> */
-#define N_R3964 9 /* Reserved for Simatic R3964 module */
-#define N_PROFIBUS_FDL 10 /* Reserved for Profibus */
-#define N_IRDA 11 /* Linux IrDa - http://irda.sourceforge.net/ */
-#define N_SMSBLOCK 12 /* SMS block mode - for talking to GSM data */
- /* cards about SMS messages */
-#define N_HDLC 13 /* synchronous HDLC */
-#define N_SYNC_PPP 14 /* synchronous PPP */
-#define N_HCI 15 /* Bluetooth HCI UART */
-#define N_GIGASET_M101 16 /* Siemens Gigaset M101 serial DECT adapter */
-#define N_SLCAN 17 /* Serial / USB serial CAN Adaptors */
-#define N_PPS 18 /* Pulse per Second */
-#define N_V253 19 /* Codec control over voice modem */
-#define N_CAIF 20 /* CAIF protocol for talking to modems */
-#define N_GSM0710 21 /* GSM 0710 Mux */
-#define N_TI_WL 22 /* for TI's WL BT, FM, GPS combo chips */
-#define N_TRACESINK 23 /* Trace data routing for MIPI P1149.7 */
-#define N_TRACEROUTER 24 /* Trace data routing for MIPI P1149.7 */
-#define N_NCI 25 /* NFC NCI UART */
-
-#endif /* _LINUX_TTY_H */
diff --git a/linux-headers/include/linux/tty_flags.h b/linux-headers/include/linux/tty_flags.h
deleted file mode 100644
index 072e41e..0000000
--- a/linux-headers/include/linux/tty_flags.h
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef _LINUX_TTY_FLAGS_H
-#define _LINUX_TTY_FLAGS_H
-
-/*
- * Definitions for async_struct (and serial_struct) flags field also
- * shared by the tty_port flags structures.
- *
- * Define ASYNCB_* for convenient use with {test,set,clear}_bit.
- *
- * Bits [0..ASYNCB_LAST_USER] are userspace defined/visible/changeable
- * [x] in the bit comments indicates the flag is defunct and no longer used.
- */
-#define ASYNCB_HUP_NOTIFY 0 /* Notify getty on hangups and closes
- * on the callout port */
-#define ASYNCB_FOURPORT 1 /* Set OU1, OUT2 per AST Fourport settings */
-#define ASYNCB_SAK 2 /* Secure Attention Key (Orange book) */
-#define ASYNCB_SPLIT_TERMIOS 3 /* [x] Separate termios for dialin/callout */
-#define ASYNCB_SPD_HI 4 /* Use 57600 instead of 38400 bps */
-#define ASYNCB_SPD_VHI 5 /* Use 115200 instead of 38400 bps */
-#define ASYNCB_SKIP_TEST 6 /* Skip UART test during autoconfiguration */
-#define ASYNCB_AUTO_IRQ 7 /* Do automatic IRQ during
- * autoconfiguration */
-#define ASYNCB_SESSION_LOCKOUT 8 /* [x] Lock out cua opens based on session */
-#define ASYNCB_PGRP_LOCKOUT 9 /* [x] Lock out cua opens based on pgrp */
-#define ASYNCB_CALLOUT_NOHUP 10 /* [x] Don't do hangups for cua device */
-#define ASYNCB_HARDPPS_CD 11 /* Call hardpps when CD goes high */
-#define ASYNCB_SPD_SHI 12 /* Use 230400 instead of 38400 bps */
-#define ASYNCB_LOW_LATENCY 13 /* Request low latency behaviour */
-#define ASYNCB_BUGGY_UART 14 /* This is a buggy UART, skip some safety
- * checks. Note: can be dangerous! */
-#define ASYNCB_AUTOPROBE 15 /* [x] Port was autoprobed by PCI/PNP code */
-#define ASYNCB_MAGIC_MULTIPLIER 16 /* Use special CLK or divisor */
-#define ASYNCB_LAST_USER 16
-
-/* Internal flags used only by kernel */
-#define ASYNCB_INITIALIZED 31 /* Serial port was initialized */
-#define ASYNCB_SUSPENDED 30 /* Serial port is suspended */
-#define ASYNCB_NORMAL_ACTIVE 29 /* Normal device is active */
-#define ASYNCB_BOOT_AUTOCONF 28 /* Autoconfigure port on bootup */
-#define ASYNCB_CLOSING 27 /* Serial port is closing */
-#define ASYNCB_CTS_FLOW 26 /* Do CTS flow control */
-#define ASYNCB_CHECK_CD 25 /* i.e., CLOCAL */
-#define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */
-#define ASYNCB_CONS_FLOW 23 /* flow control for console */
-#define ASYNCB_FIRST_KERNEL 22
-
-#define ASYNC_HUP_NOTIFY (1U << ASYNCB_HUP_NOTIFY)
-#define ASYNC_SUSPENDED (1U << ASYNCB_SUSPENDED)
-#define ASYNC_FOURPORT (1U << ASYNCB_FOURPORT)
-#define ASYNC_SAK (1U << ASYNCB_SAK)
-#define ASYNC_SPLIT_TERMIOS (1U << ASYNCB_SPLIT_TERMIOS)
-#define ASYNC_SPD_HI (1U << ASYNCB_SPD_HI)
-#define ASYNC_SPD_VHI (1U << ASYNCB_SPD_VHI)
-#define ASYNC_SKIP_TEST (1U << ASYNCB_SKIP_TEST)
-#define ASYNC_AUTO_IRQ (1U << ASYNCB_AUTO_IRQ)
-#define ASYNC_SESSION_LOCKOUT (1U << ASYNCB_SESSION_LOCKOUT)
-#define ASYNC_PGRP_LOCKOUT (1U << ASYNCB_PGRP_LOCKOUT)
-#define ASYNC_CALLOUT_NOHUP (1U << ASYNCB_CALLOUT_NOHUP)
-#define ASYNC_HARDPPS_CD (1U << ASYNCB_HARDPPS_CD)
-#define ASYNC_SPD_SHI (1U << ASYNCB_SPD_SHI)
-#define ASYNC_LOW_LATENCY (1U << ASYNCB_LOW_LATENCY)
-#define ASYNC_BUGGY_UART (1U << ASYNCB_BUGGY_UART)
-#define ASYNC_AUTOPROBE (1U << ASYNCB_AUTOPROBE)
-#define ASYNC_MAGIC_MULTIPLIER (1U << ASYNCB_MAGIC_MULTIPLIER)
-
-#define ASYNC_FLAGS ((1U << (ASYNCB_LAST_USER + 1)) - 1)
-#define ASYNC_DEPRECATED (ASYNC_SESSION_LOCKOUT | ASYNC_PGRP_LOCKOUT | \
- ASYNC_CALLOUT_NOHUP | ASYNC_AUTOPROBE)
-#define ASYNC_USR_MASK (ASYNC_SPD_MASK|ASYNC_CALLOUT_NOHUP| \
- ASYNC_LOW_LATENCY)
-#define ASYNC_SPD_CUST (ASYNC_SPD_HI|ASYNC_SPD_VHI)
-#define ASYNC_SPD_WARP (ASYNC_SPD_HI|ASYNC_SPD_SHI)
-#define ASYNC_SPD_MASK (ASYNC_SPD_HI|ASYNC_SPD_VHI|ASYNC_SPD_SHI)
-
-#define ASYNC_INITIALIZED (1U << ASYNCB_INITIALIZED)
-#define ASYNC_NORMAL_ACTIVE (1U << ASYNCB_NORMAL_ACTIVE)
-#define ASYNC_BOOT_AUTOCONF (1U << ASYNCB_BOOT_AUTOCONF)
-#define ASYNC_CLOSING (1U << ASYNCB_CLOSING)
-#define ASYNC_CTS_FLOW (1U << ASYNCB_CTS_FLOW)
-#define ASYNC_CHECK_CD (1U << ASYNCB_CHECK_CD)
-#define ASYNC_SHARE_IRQ (1U << ASYNCB_SHARE_IRQ)
-#define ASYNC_CONS_FLOW (1U << ASYNCB_CONS_FLOW)
-#define ASYNC_INTERNAL_FLAGS (~((1U << ASYNCB_FIRST_KERNEL) - 1))
-
-#endif
diff --git a/linux-headers/include/linux/types.h b/linux-headers/include/linux/types.h
deleted file mode 100644
index 23ea78f..0000000
--- a/linux-headers/include/linux/types.h
+++ /dev/null
@@ -1,51 +0,0 @@
-#ifndef _LINUX_TYPES_H
-#define _LINUX_TYPES_H
-
-#include <asm/types.h>
-
-#ifndef __ASSEMBLY__
-
-#include <linux/posix_types.h>
-
-
-/*
- * Below are truly Linux-specific types that should never collide with
- * any application/library that wants linux/types.h.
- */
-
-#ifdef __CHECKER__
-#define __bitwise__ __attribute__((bitwise))
-#else
-#define __bitwise__
-#endif
-#ifdef __CHECK_ENDIAN__
-#define __bitwise __bitwise__
-#else
-#define __bitwise
-#endif
-
-typedef __u16 __bitwise __le16;
-typedef __u16 __bitwise __be16;
-typedef __u32 __bitwise __le32;
-typedef __u32 __bitwise __be32;
-typedef __u64 __bitwise __le64;
-typedef __u64 __bitwise __be64;
-
-typedef __u16 __bitwise __sum16;
-typedef __u32 __bitwise __wsum;
-
-/*
- * aligned_u64 should be used in defining kernel<->userspace ABIs to avoid
- * common 32/64-bit compat problems.
- * 64-bit values align to 4-byte boundaries on x86_32 (and possibly other
- * architectures) and to 8-byte boundaries on 64-bit architectures. The new
- * aligned_64 type enforces 8-byte alignment so that structs containing
- * aligned_64 values have the same alignment on 32-bit and 64-bit architectures.
- * No conversions are necessary between 32-bit user-space and a 64-bit kernel.
- */
-#define __aligned_u64 __u64 __attribute__((aligned(8)))
-#define __aligned_be64 __be64 __attribute__((aligned(8)))
-#define __aligned_le64 __le64 __attribute__((aligned(8)))
-
-#endif /* __ASSEMBLY__ */
-#endif /* _LINUX_TYPES_H */
diff --git a/linux-headers/include/linux/udf_fs_i.h b/linux-headers/include/linux/udf_fs_i.h
deleted file mode 100644
index 3536965..0000000
--- a/linux-headers/include/linux/udf_fs_i.h
+++ /dev/null
@@ -1,21 +0,0 @@
-/*
- * udf_fs_i.h
- *
- * This file is intended for the Linux kernel/module.
- *
- * COPYRIGHT
- * This file is distributed under the terms of the GNU General Public
- * License (GPL). Copies of the GPL can be obtained from:
- * ftp://prep.ai.mit.edu/pub/gnu/GPL
- * Each contributing author retains all rights to their own work.
- */
-#ifndef _UDF_FS_I_H
-#define _UDF_FS_I_H 1
-
-/* exported IOCTLs, we have 'l', 0x40-0x7f */
-#define UDF_GETEASIZE _IOR('l', 0x40, int)
-#define UDF_GETEABLOCK _IOR('l', 0x41, void *)
-#define UDF_GETVOLIDENT _IOR('l', 0x42, void *)
-#define UDF_RELOCATE_BLOCKS _IOWR('l', 0x43, long)
-
-#endif /* _UDF_FS_I_H */
diff --git a/linux-headers/include/linux/udp.h b/linux-headers/include/linux/udp.h
deleted file mode 100644
index ab05413..0000000
--- a/linux-headers/include/linux/udp.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * INET An implementation of the TCP/IP protocol suite for the LINUX
- * operating system. INET is implemented using the BSD Socket
- * interface as the means of communication with the user level.
- *
- * Definitions for the UDP protocol.
- *
- * Version: @(#)udp.h 1.0.2 04/28/93
- *
- * Author: Fred N. van Kempen, <waltje@uWalt.NL.Mugnet.ORG>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef _LINUX_UDP_H
-#define _LINUX_UDP_H
-
-#include <linux/types.h>
-
-struct udphdr {
- __be16 source;
- __be16 dest;
- __be16 len;
- __sum16 check;
-};
-
-/* UDP socket options */
-#define UDP_CORK 1 /* Never send partially complete segments */
-#define UDP_ENCAP 100 /* Set the socket to accept encapsulated packets */
-#define UDP_NO_CHECK6_TX 101 /* Disable sending checksum for UDP6X */
-#define UDP_NO_CHECK6_RX 102 /* Disable accpeting checksum for UDP6 */
-
-/* UDP encapsulation types */
-#define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
-#define UDP_ENCAP_ESPINUDP 2 /* draft-ietf-ipsec-udp-encaps-06 */
-#define UDP_ENCAP_L2TPINUDP 3 /* rfc2661 */
-
-
-#endif /* _LINUX_UDP_H */
diff --git a/linux-headers/include/linux/uhid.h b/linux-headers/include/linux/uhid.h
deleted file mode 100644
index 0ef73d4..0000000
--- a/linux-headers/include/linux/uhid.h
+++ /dev/null
@@ -1,199 +0,0 @@
-#ifndef __UHID_H_
-#define __UHID_H_
-
-/*
- * User-space I/O driver support for HID subsystem
- * Copyright (c) 2012 David Herrmann
- */
-
-/*
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation; either version 2 of the License, or (at your option)
- * any later version.
- */
-
-/*
- * Public header for user-space communication. We try to keep every structure
- * aligned but to be safe we also use __attribute__((__packed__)). Therefore,
- * the communication should be ABI compatible even between architectures.
- */
-
-#include <linux/input.h>
-#include <linux/types.h>
-#include <linux/hid.h>
-
-enum uhid_event_type {
- __UHID_LEGACY_CREATE,
- UHID_DESTROY,
- UHID_START,
- UHID_STOP,
- UHID_OPEN,
- UHID_CLOSE,
- UHID_OUTPUT,
- __UHID_LEGACY_OUTPUT_EV,
- __UHID_LEGACY_INPUT,
- UHID_GET_REPORT,
- UHID_GET_REPORT_REPLY,
- UHID_CREATE2,
- UHID_INPUT2,
- UHID_SET_REPORT,
- UHID_SET_REPORT_REPLY,
-};
-
-struct uhid_create2_req {
- __u8 name[128];
- __u8 phys[64];
- __u8 uniq[64];
- __u16 rd_size;
- __u16 bus;
- __u32 vendor;
- __u32 product;
- __u32 version;
- __u32 country;
- __u8 rd_data[HID_MAX_DESCRIPTOR_SIZE];
-} __attribute__((__packed__));
-
-enum uhid_dev_flag {
- UHID_DEV_NUMBERED_FEATURE_REPORTS = (1ULL << 0),
- UHID_DEV_NUMBERED_OUTPUT_REPORTS = (1ULL << 1),
- UHID_DEV_NUMBERED_INPUT_REPORTS = (1ULL << 2),
-};
-
-struct uhid_start_req {
- __u64 dev_flags;
-};
-
-#define UHID_DATA_MAX 4096
-
-enum uhid_report_type {
- UHID_FEATURE_REPORT,
- UHID_OUTPUT_REPORT,
- UHID_INPUT_REPORT,
-};
-
-struct uhid_input2_req {
- __u16 size;
- __u8 data[UHID_DATA_MAX];
-} __attribute__((__packed__));
-
-struct uhid_output_req {
- __u8 data[UHID_DATA_MAX];
- __u16 size;
- __u8 rtype;
-} __attribute__((__packed__));
-
-struct uhid_get_report_req {
- __u32 id;
- __u8 rnum;
- __u8 rtype;
-} __attribute__((__packed__));
-
-struct uhid_get_report_reply_req {
- __u32 id;
- __u16 err;
- __u16 size;
- __u8 data[UHID_DATA_MAX];
-} __attribute__((__packed__));
-
-struct uhid_set_report_req {
- __u32 id;
- __u8 rnum;
- __u8 rtype;
- __u16 size;
- __u8 data[UHID_DATA_MAX];
-} __attribute__((__packed__));
-
-struct uhid_set_report_reply_req {
- __u32 id;
- __u16 err;
-} __attribute__((__packed__));
-
-/*
- * Compat Layer
- * All these commands and requests are obsolete. You should avoid using them in
- * new code. We support them for backwards-compatibility, but you might not get
- * access to new feature in case you use them.
- */
-
-enum uhid_legacy_event_type {
- UHID_CREATE = __UHID_LEGACY_CREATE,
- UHID_OUTPUT_EV = __UHID_LEGACY_OUTPUT_EV,
- UHID_INPUT = __UHID_LEGACY_INPUT,
- UHID_FEATURE = UHID_GET_REPORT,
- UHID_FEATURE_ANSWER = UHID_GET_REPORT_REPLY,
-};
-
-/* Obsolete! Use UHID_CREATE2. */
-struct uhid_create_req {
- __u8 name[128];
- __u8 phys[64];
- __u8 uniq[64];
- __u8 *rd_data;
- __u16 rd_size;
-
- __u16 bus;
- __u32 vendor;
- __u32 product;
- __u32 version;
- __u32 country;
-} __attribute__((__packed__));
-
-/* Obsolete! Use UHID_INPUT2. */
-struct uhid_input_req {
- __u8 data[UHID_DATA_MAX];
- __u16 size;
-} __attribute__((__packed__));
-
-/* Obsolete! Kernel uses UHID_OUTPUT exclusively now. */
-struct uhid_output_ev_req {
- __u16 type;
- __u16 code;
- __s32 value;
-} __attribute__((__packed__));
-
-/* Obsolete! Kernel uses ABI compatible UHID_GET_REPORT. */
-struct uhid_feature_req {
- __u32 id;
- __u8 rnum;
- __u8 rtype;
-} __attribute__((__packed__));
-
-/* Obsolete! Use ABI compatible UHID_GET_REPORT_REPLY. */
-struct uhid_feature_answer_req {
- __u32 id;
- __u16 err;
- __u16 size;
- __u8 data[UHID_DATA_MAX];
-} __attribute__((__packed__));
-
-/*
- * UHID Events
- * All UHID events from and to the kernel are encoded as "struct uhid_event".
- * The "type" field contains a UHID_* type identifier. All payload depends on
- * that type and can be accessed via ev->u.XYZ accordingly.
- * If user-space writes short events, they're extended with 0s by the kernel. If
- * the kernel writes short events, user-space shall extend them with 0s.
- */
-
-struct uhid_event {
- __u32 type;
-
- union {
- struct uhid_create_req create;
- struct uhid_input_req input;
- struct uhid_output_req output;
- struct uhid_output_ev_req output_ev;
- struct uhid_feature_req feature;
- struct uhid_get_report_req get_report;
- struct uhid_feature_answer_req feature_answer;
- struct uhid_get_report_reply_req get_report_reply;
- struct uhid_create2_req create2;
- struct uhid_input2_req input2;
- struct uhid_set_report_req set_report;
- struct uhid_set_report_reply_req set_report_reply;
- struct uhid_start_req start;
- } u;
-} __attribute__((__packed__));
-
-#endif /* __UHID_H_ */
diff --git a/linux-headers/include/linux/uinput.h b/linux-headers/include/linux/uinput.h
deleted file mode 100644
index 434f02d..0000000
--- a/linux-headers/include/linux/uinput.h
+++ /dev/null
@@ -1,231 +0,0 @@
-/*
- * User level driver support for input subsystem
- *
- * Heavily based on evdev.c by Vojtech Pavlik
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Aristeu Sergio Rozanski Filho <aris@cathedrallabs.org>
- *
- * Changes/Revisions:
- * 0.5 08/13/2015 (David Herrmann <dh.herrmann@gmail.com> &
- * Benjamin Tissoires <benjamin.tissoires@redhat.com>)
- * - add UI_DEV_SETUP ioctl
- * - add UI_ABS_SETUP ioctl
- * - add UI_GET_VERSION ioctl
- * 0.4 01/09/2014 (Benjamin Tissoires <benjamin.tissoires@redhat.com>)
- * - add UI_GET_SYSNAME ioctl
- * 0.3 24/05/2006 (Anssi Hannula <anssi.hannulagmail.com>)
- * - update ff support for the changes in kernel interface
- * - add UINPUT_VERSION
- * 0.2 16/10/2004 (Micah Dowty <micah@navi.cx>)
- * - added force feedback support
- * - added UI_SET_PHYS
- * 0.1 20/06/2002
- * - first public version
- */
-#ifndef __UINPUT_H_
-#define __UINPUT_H_
-
-#include <linux/types.h>
-#include <linux/input.h>
-
-#define UINPUT_VERSION 5
-#define UINPUT_MAX_NAME_SIZE 80
-
-struct uinput_ff_upload {
- __u32 request_id;
- __s32 retval;
- struct ff_effect effect;
- struct ff_effect old;
-};
-
-struct uinput_ff_erase {
- __u32 request_id;
- __s32 retval;
- __u32 effect_id;
-};
-
-/* ioctl */
-#define UINPUT_IOCTL_BASE 'U'
-#define UI_DEV_CREATE _IO(UINPUT_IOCTL_BASE, 1)
-#define UI_DEV_DESTROY _IO(UINPUT_IOCTL_BASE, 2)
-
-struct uinput_setup {
- struct input_id id;
- char name[UINPUT_MAX_NAME_SIZE];
- __u32 ff_effects_max;
-};
-
-/**
- * UI_DEV_SETUP - Set device parameters for setup
- *
- * This ioctl sets parameters for the input device to be created. It
- * supersedes the old "struct uinput_user_dev" method, which wrote this data
- * via write(). To actually set the absolute axes UI_ABS_SETUP should be
- * used.
- *
- * The ioctl takes a "struct uinput_setup" object as argument. The fields of
- * this object are as follows:
- * id: See the description of "struct input_id". This field is
- * copied unchanged into the new device.
- * name: This is used unchanged as name for the new device.
- * ff_effects_max: This limits the maximum numbers of force-feedback effects.
- * See below for a description of FF with uinput.
- *
- * This ioctl can be called multiple times and will overwrite previous values.
- * If this ioctl fails with -EINVAL, it is recommended to use the old
- * "uinput_user_dev" method via write() as a fallback, in case you run on an
- * old kernel that does not support this ioctl.
- *
- * This ioctl may fail with -EINVAL if it is not supported or if you passed
- * incorrect values, -ENOMEM if the kernel runs out of memory or -EFAULT if the
- * passed uinput_setup object cannot be read/written.
- * If this call fails, partial data may have already been applied to the
- * internal device.
- */
-#define UI_DEV_SETUP _IOW(UINPUT_IOCTL_BASE, 3, struct uinput_setup)
-
-struct uinput_abs_setup {
- __u16 code; /* axis code */
- /* __u16 filler; */
- struct input_absinfo absinfo;
-};
-
-/**
- * UI_ABS_SETUP - Set absolute axis information for the device to setup
- *
- * This ioctl sets one absolute axis information for the input device to be
- * created. It supersedes the old "struct uinput_user_dev" method, which wrote
- * part of this data and the content of UI_DEV_SETUP via write().
- *
- * The ioctl takes a "struct uinput_abs_setup" object as argument. The fields
- * of this object are as follows:
- * code: The corresponding input code associated with this axis
- * (ABS_X, ABS_Y, etc...)
- * absinfo: See "struct input_absinfo" for a description of this field.
- * This field is copied unchanged into the kernel for the
- * specified axis. If the axis is not enabled via
- * UI_SET_ABSBIT, this ioctl will enable it.
- *
- * This ioctl can be called multiple times and will overwrite previous values.
- * If this ioctl fails with -EINVAL, it is recommended to use the old
- * "uinput_user_dev" method via write() as a fallback, in case you run on an
- * old kernel that does not support this ioctl.
- *
- * This ioctl may fail with -EINVAL if it is not supported or if you passed
- * incorrect values, -ENOMEM if the kernel runs out of memory or -EFAULT if the
- * passed uinput_setup object cannot be read/written.
- * If this call fails, partial data may have already been applied to the
- * internal device.
- */
-#define UI_ABS_SETUP _IOW(UINPUT_IOCTL_BASE, 4, struct uinput_abs_setup)
-
-#define UI_SET_EVBIT _IOW(UINPUT_IOCTL_BASE, 100, int)
-#define UI_SET_KEYBIT _IOW(UINPUT_IOCTL_BASE, 101, int)
-#define UI_SET_RELBIT _IOW(UINPUT_IOCTL_BASE, 102, int)
-#define UI_SET_ABSBIT _IOW(UINPUT_IOCTL_BASE, 103, int)
-#define UI_SET_MSCBIT _IOW(UINPUT_IOCTL_BASE, 104, int)
-#define UI_SET_LEDBIT _IOW(UINPUT_IOCTL_BASE, 105, int)
-#define UI_SET_SNDBIT _IOW(UINPUT_IOCTL_BASE, 106, int)
-#define UI_SET_FFBIT _IOW(UINPUT_IOCTL_BASE, 107, int)
-#define UI_SET_PHYS _IOW(UINPUT_IOCTL_BASE, 108, char*)
-#define UI_SET_SWBIT _IOW(UINPUT_IOCTL_BASE, 109, int)
-#define UI_SET_PROPBIT _IOW(UINPUT_IOCTL_BASE, 110, int)
-
-#define UI_BEGIN_FF_UPLOAD _IOWR(UINPUT_IOCTL_BASE, 200, struct uinput_ff_upload)
-#define UI_END_FF_UPLOAD _IOW(UINPUT_IOCTL_BASE, 201, struct uinput_ff_upload)
-#define UI_BEGIN_FF_ERASE _IOWR(UINPUT_IOCTL_BASE, 202, struct uinput_ff_erase)
-#define UI_END_FF_ERASE _IOW(UINPUT_IOCTL_BASE, 203, struct uinput_ff_erase)
-
-/**
- * UI_GET_SYSNAME - get the sysfs name of the created uinput device
- *
- * @return the sysfs name of the created virtual input device.
- * The complete sysfs path is then /sys/devices/virtual/input/--NAME--
- * Usually, it is in the form "inputN"
- */
-#define UI_GET_SYSNAME(len) _IOC(_IOC_READ, UINPUT_IOCTL_BASE, 44, len)
-
-/**
- * UI_GET_VERSION - Return version of uinput protocol
- *
- * This writes uinput protocol version implemented by the kernel into
- * the integer pointed to by the ioctl argument. The protocol version
- * is hard-coded in the kernel and is independent of the uinput device.
- */
-#define UI_GET_VERSION _IOR(UINPUT_IOCTL_BASE, 45, unsigned int)
-
-/*
- * To write a force-feedback-capable driver, the upload_effect
- * and erase_effect callbacks in input_dev must be implemented.
- * The uinput driver will generate a fake input event when one of
- * these callbacks are invoked. The userspace code then uses
- * ioctls to retrieve additional parameters and send the return code.
- * The callback blocks until this return code is sent.
- *
- * The described callback mechanism is only used if ff_effects_max
- * is set.
- *
- * To implement upload_effect():
- * 1. Wait for an event with type == EV_UINPUT and code == UI_FF_UPLOAD.
- * A request ID will be given in 'value'.
- * 2. Allocate a uinput_ff_upload struct, fill in request_id with
- * the 'value' from the EV_UINPUT event.
- * 3. Issue a UI_BEGIN_FF_UPLOAD ioctl, giving it the
- * uinput_ff_upload struct. It will be filled in with the
- * ff_effects passed to upload_effect().
- * 4. Perform the effect upload, and place a return code back into
- the uinput_ff_upload struct.
- * 5. Issue a UI_END_FF_UPLOAD ioctl, also giving it the
- * uinput_ff_upload_effect struct. This will complete execution
- * of our upload_effect() handler.
- *
- * To implement erase_effect():
- * 1. Wait for an event with type == EV_UINPUT and code == UI_FF_ERASE.
- * A request ID will be given in 'value'.
- * 2. Allocate a uinput_ff_erase struct, fill in request_id with
- * the 'value' from the EV_UINPUT event.
- * 3. Issue a UI_BEGIN_FF_ERASE ioctl, giving it the
- * uinput_ff_erase struct. It will be filled in with the
- * effect ID passed to erase_effect().
- * 4. Perform the effect erasure, and place a return code back
- * into the uinput_ff_erase struct.
- * 5. Issue a UI_END_FF_ERASE ioctl, also giving it the
- * uinput_ff_erase_effect struct. This will complete execution
- * of our erase_effect() handler.
- */
-
-/*
- * This is the new event type, used only by uinput.
- * 'code' is UI_FF_UPLOAD or UI_FF_ERASE, and 'value'
- * is the unique request ID. This number was picked
- * arbitrarily, above EV_MAX (since the input system
- * never sees it) but in the range of a 16-bit int.
- */
-#define EV_UINPUT 0x0101
-#define UI_FF_UPLOAD 1
-#define UI_FF_ERASE 2
-
-struct uinput_user_dev {
- char name[UINPUT_MAX_NAME_SIZE];
- struct input_id id;
- __u32 ff_effects_max;
- __s32 absmax[ABS_CNT];
- __s32 absmin[ABS_CNT];
- __s32 absfuzz[ABS_CNT];
- __s32 absflat[ABS_CNT];
-};
-#endif /* __UINPUT_H_ */
diff --git a/linux-headers/include/linux/uio.h b/linux-headers/include/linux/uio.h
deleted file mode 100644
index d0978de..0000000
--- a/linux-headers/include/linux/uio.h
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Berkeley style UIO structures - Alan Cox 1994.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-#ifndef __LINUX_UIO_H
-#define __LINUX_UIO_H
-
-
-#include <linux/types.h>
-
-
-struct iovec
-{
- void *iov_base; /* BSD uses caddr_t (1003.1g requires void *) */
- __kernel_size_t iov_len; /* Must be size_t (1003.1g) */
-};
-
-/*
- * UIO_MAXIOV shall be at least 16 1003.1g (5.4.1.1)
- */
-
-#define UIO_FASTIOV 8
-#define UIO_MAXIOV 1024
-
-
-#endif /* __LINUX_UIO_H */
diff --git a/linux-headers/include/linux/ultrasound.h b/linux-headers/include/linux/ultrasound.h
deleted file mode 100644
index 71339dc..0000000
--- a/linux-headers/include/linux/ultrasound.h
+++ /dev/null
@@ -1,103 +0,0 @@
-#ifndef _ULTRASOUND_H_
-#define _ULTRASOUND_H_
-/*
- * ultrasound.h - Macros for programming the Gravis Ultrasound
- * These macros are extremely device dependent
- * and not portable.
- */
-/*
- * Copyright (C) by Hannu Savolainen 1993-1997
- *
- * OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
- * Version 2 (June 1991). See the "COPYING" file distributed with this software
- * for more info.
- */
-
-
-/*
- * Private events for Gravis Ultrasound (GUS)
- *
- * Format:
- * byte 0 - SEQ_PRIVATE (0xfe)
- * byte 1 - Synthesizer device number (0-N)
- * byte 2 - Command (see below)
- * byte 3 - Voice number (0-31)
- * bytes 4 and 5 - parameter P1 (unsigned short)
- * bytes 6 and 7 - parameter P2 (unsigned short)
- *
- * Commands:
- * Each command affects one voice defined in byte 3.
- * Unused parameters (P1 and/or P2 *MUST* be initialized to zero).
- * _GUS_NUMVOICES - Sets max. number of concurrent voices (P1=14-31, default 16)
- * _GUS_VOICESAMPLE- ************ OBSOLETE *************
- * _GUS_VOICEON - Starts voice (P1=voice mode)
- * _GUS_VOICEOFF - Stops voice (no parameters)
- * _GUS_VOICEFADE - Stops the voice smoothly.
- * _GUS_VOICEMODE - Alters the voice mode, don't start or stop voice (P1=voice mode)
- * _GUS_VOICEBALA - Sets voice balance (P1, 0=left, 7=middle and 15=right, default 7)
- * _GUS_VOICEFREQ - Sets voice (sample) playback frequency (P1=Hz)
- * _GUS_VOICEVOL - Sets voice volume (P1=volume, 0xfff=max, 0xeff=half, 0x000=off)
- * _GUS_VOICEVOL2 - Sets voice volume (P1=volume, 0xfff=max, 0xeff=half, 0x000=off)
- * (Like GUS_VOICEVOL but doesn't change the hw
- * volume. It just updates volume in the voice table).
- *
- * _GUS_RAMPRANGE - Sets limits for volume ramping (P1=low volume, P2=high volume)
- * _GUS_RAMPRATE - Sets the speed for volume ramping (P1=scale, P2=rate)
- * _GUS_RAMPMODE - Sets the volume ramping mode (P1=ramping mode)
- * _GUS_RAMPON - Starts volume ramping (no parameters)
- * _GUS_RAMPOFF - Stops volume ramping (no parameters)
- * _GUS_VOLUME_SCALE - Changes the volume calculation constants
- * for all voices.
- */
-
-#define _GUS_NUMVOICES 0x00
-#define _GUS_VOICESAMPLE 0x01 /* OBSOLETE */
-#define _GUS_VOICEON 0x02
-#define _GUS_VOICEOFF 0x03
-#define _GUS_VOICEMODE 0x04
-#define _GUS_VOICEBALA 0x05
-#define _GUS_VOICEFREQ 0x06
-#define _GUS_VOICEVOL 0x07
-#define _GUS_RAMPRANGE 0x08
-#define _GUS_RAMPRATE 0x09
-#define _GUS_RAMPMODE 0x0a
-#define _GUS_RAMPON 0x0b
-#define _GUS_RAMPOFF 0x0c
-#define _GUS_VOICEFADE 0x0d
-#define _GUS_VOLUME_SCALE 0x0e
-#define _GUS_VOICEVOL2 0x0f
-#define _GUS_VOICE_POS 0x10
-
-/*
- * GUS API macros
- */
-
-#define _GUS_CMD(chn, voice, cmd, p1, p2) \
- {_SEQ_NEEDBUF(8); _seqbuf[_seqbufptr] = SEQ_PRIVATE;\
- _seqbuf[_seqbufptr+1] = (chn); _seqbuf[_seqbufptr+2] = cmd;\
- _seqbuf[_seqbufptr+3] = voice;\
- *(unsigned short*)&_seqbuf[_seqbufptr+4] = p1;\
- *(unsigned short*)&_seqbuf[_seqbufptr+6] = p2;\
- _SEQ_ADVBUF(8);}
-
-#define GUS_NUMVOICES(chn, p1) _GUS_CMD(chn, 0, _GUS_NUMVOICES, (p1), 0)
-#define GUS_VOICESAMPLE(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICESAMPLE, (p1), 0) /* OBSOLETE */
-#define GUS_VOICEON(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEON, (p1), 0)
-#define GUS_VOICEOFF(chn, voice) _GUS_CMD(chn, voice, _GUS_VOICEOFF, 0, 0)
-#define GUS_VOICEFADE(chn, voice) _GUS_CMD(chn, voice, _GUS_VOICEFADE, 0, 0)
-#define GUS_VOICEMODE(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEMODE, (p1), 0)
-#define GUS_VOICEBALA(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEBALA, (p1), 0)
-#define GUS_VOICEFREQ(chn, voice, p) _GUS_CMD(chn, voice, _GUS_VOICEFREQ, \
- (p) & 0xffff, ((p) >> 16) & 0xffff)
-#define GUS_VOICEVOL(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEVOL, (p1), 0)
-#define GUS_VOICEVOL2(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_VOICEVOL2, (p1), 0)
-#define GUS_RAMPRANGE(chn, voice, low, high) _GUS_CMD(chn, voice, _GUS_RAMPRANGE, (low), (high))
-#define GUS_RAMPRATE(chn, voice, p1, p2) _GUS_CMD(chn, voice, _GUS_RAMPRATE, (p1), (p2))
-#define GUS_RAMPMODE(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_RAMPMODE, (p1), 0)
-#define GUS_RAMPON(chn, voice, p1) _GUS_CMD(chn, voice, _GUS_RAMPON, (p1), 0)
-#define GUS_RAMPOFF(chn, voice) _GUS_CMD(chn, voice, _GUS_RAMPOFF, 0, 0)
-#define GUS_VOLUME_SCALE(chn, voice, p1, p2) _GUS_CMD(chn, voice, _GUS_VOLUME_SCALE, (p1), (p2))
-#define GUS_VOICE_POS(chn, voice, p) _GUS_CMD(chn, voice, _GUS_VOICE_POS, \
- (p) & 0xffff, ((p) >> 16) & 0xffff)
-
-#endif
diff --git a/linux-headers/include/linux/un.h b/linux-headers/include/linux/un.h
deleted file mode 100644
index 3ed3e46..0000000
--- a/linux-headers/include/linux/un.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef _LINUX_UN_H
-#define _LINUX_UN_H
-
-#include <linux/socket.h>
-
-#define UNIX_PATH_MAX 108
-
-struct sockaddr_un {
- __kernel_sa_family_t sun_family; /* AF_UNIX */
- char sun_path[UNIX_PATH_MAX]; /* pathname */
-};
-
-#endif /* _LINUX_UN_H */
diff --git a/linux-headers/include/linux/unistd.h b/linux-headers/include/linux/unistd.h
deleted file mode 100644
index aa8d5b5..0000000
--- a/linux-headers/include/linux/unistd.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef _LINUX_UNISTD_H_
-#define _LINUX_UNISTD_H_
-
-/*
- * Include machine specific syscall numbers
- */
-#include <asm/unistd.h>
-
-#endif /* _LINUX_UNISTD_H_ */
diff --git a/linux-headers/include/linux/unix_diag.h b/linux-headers/include/linux/unix_diag.h
deleted file mode 100644
index 1eb0b8d..0000000
--- a/linux-headers/include/linux/unix_diag.h
+++ /dev/null
@@ -1,58 +0,0 @@
-#ifndef __UNIX_DIAG_H__
-#define __UNIX_DIAG_H__
-
-#include <linux/types.h>
-
-struct unix_diag_req {
- __u8 sdiag_family;
- __u8 sdiag_protocol;
- __u16 pad;
- __u32 udiag_states;
- __u32 udiag_ino;
- __u32 udiag_show;
- __u32 udiag_cookie[2];
-};
-
-#define UDIAG_SHOW_NAME 0x00000001 /* show name (not path) */
-#define UDIAG_SHOW_VFS 0x00000002 /* show VFS inode info */
-#define UDIAG_SHOW_PEER 0x00000004 /* show peer socket info */
-#define UDIAG_SHOW_ICONS 0x00000008 /* show pending connections */
-#define UDIAG_SHOW_RQLEN 0x00000010 /* show skb receive queue len */
-#define UDIAG_SHOW_MEMINFO 0x00000020 /* show memory info of a socket */
-
-struct unix_diag_msg {
- __u8 udiag_family;
- __u8 udiag_type;
- __u8 udiag_state;
- __u8 pad;
-
- __u32 udiag_ino;
- __u32 udiag_cookie[2];
-};
-
-enum {
- /* UNIX_DIAG_NONE, standard nl API requires this attribute! */
- UNIX_DIAG_NAME,
- UNIX_DIAG_VFS,
- UNIX_DIAG_PEER,
- UNIX_DIAG_ICONS,
- UNIX_DIAG_RQLEN,
- UNIX_DIAG_MEMINFO,
- UNIX_DIAG_SHUTDOWN,
-
- __UNIX_DIAG_MAX,
-};
-
-#define UNIX_DIAG_MAX (__UNIX_DIAG_MAX - 1)
-
-struct unix_diag_vfs {
- __u32 udiag_vfs_ino;
- __u32 udiag_vfs_dev;
-};
-
-struct unix_diag_rqlen {
- __u32 udiag_rqueue;
- __u32 udiag_wqueue;
-};
-
-#endif
diff --git a/linux-headers/include/linux/usb/audio.h b/linux-headers/include/linux/usb/audio.h
deleted file mode 100644
index 210f2f5..0000000
--- a/linux-headers/include/linux/usb/audio.h
+++ /dev/null
@@ -1,547 +0,0 @@
-/*
- * <linux/usb/audio.h> -- USB Audio definitions.
- *
- * Copyright (C) 2006 Thumtronics Pty Ltd.
- * Developed for Thumtronics by Grey Innovation
- * Ben Williamson <ben.williamson@greyinnovation.com>
- *
- * This software is distributed under the terms of the GNU General Public
- * License ("GPL") version 2, as published by the Free Software Foundation.
- *
- * This file holds USB constants and structures defined
- * by the USB Device Class Definition for Audio Devices.
- * Comments below reference relevant sections of that document:
- *
- * http://www.usb.org/developers/devclass_docs/audio10.pdf
- *
- * Types and defines in this file are either specific to version 1.0 of
- * this standard or common for newer versions.
- */
-
-#ifndef __LINUX_USB_AUDIO_H
-#define __LINUX_USB_AUDIO_H
-
-#include <linux/types.h>
-
-/* bInterfaceProtocol values to denote the version of the standard used */
-#define UAC_VERSION_1 0x00
-#define UAC_VERSION_2 0x20
-
-/* A.2 Audio Interface Subclass Codes */
-#define USB_SUBCLASS_AUDIOCONTROL 0x01
-#define USB_SUBCLASS_AUDIOSTREAMING 0x02
-#define USB_SUBCLASS_MIDISTREAMING 0x03
-
-/* A.5 Audio Class-Specific AC Interface Descriptor Subtypes */
-#define UAC_HEADER 0x01
-#define UAC_INPUT_TERMINAL 0x02
-#define UAC_OUTPUT_TERMINAL 0x03
-#define UAC_MIXER_UNIT 0x04
-#define UAC_SELECTOR_UNIT 0x05
-#define UAC_FEATURE_UNIT 0x06
-#define UAC1_PROCESSING_UNIT 0x07
-#define UAC1_EXTENSION_UNIT 0x08
-
-/* A.6 Audio Class-Specific AS Interface Descriptor Subtypes */
-#define UAC_AS_GENERAL 0x01
-#define UAC_FORMAT_TYPE 0x02
-#define UAC_FORMAT_SPECIFIC 0x03
-
-/* A.7 Processing Unit Process Types */
-#define UAC_PROCESS_UNDEFINED 0x00
-#define UAC_PROCESS_UP_DOWNMIX 0x01
-#define UAC_PROCESS_DOLBY_PROLOGIC 0x02
-#define UAC_PROCESS_STEREO_EXTENDER 0x03
-#define UAC_PROCESS_REVERB 0x04
-#define UAC_PROCESS_CHORUS 0x05
-#define UAC_PROCESS_DYN_RANGE_COMP 0x06
-
-/* A.8 Audio Class-Specific Endpoint Descriptor Subtypes */
-#define UAC_EP_GENERAL 0x01
-
-/* A.9 Audio Class-Specific Request Codes */
-#define UAC_SET_ 0x00
-#define UAC_GET_ 0x80
-
-#define UAC__CUR 0x1
-#define UAC__MIN 0x2
-#define UAC__MAX 0x3
-#define UAC__RES 0x4
-#define UAC__MEM 0x5
-
-#define UAC_SET_CUR (UAC_SET_ | UAC__CUR)
-#define UAC_GET_CUR (UAC_GET_ | UAC__CUR)
-#define UAC_SET_MIN (UAC_SET_ | UAC__MIN)
-#define UAC_GET_MIN (UAC_GET_ | UAC__MIN)
-#define UAC_SET_MAX (UAC_SET_ | UAC__MAX)
-#define UAC_GET_MAX (UAC_GET_ | UAC__MAX)
-#define UAC_SET_RES (UAC_SET_ | UAC__RES)
-#define UAC_GET_RES (UAC_GET_ | UAC__RES)
-#define UAC_SET_MEM (UAC_SET_ | UAC__MEM)
-#define UAC_GET_MEM (UAC_GET_ | UAC__MEM)
-
-#define UAC_GET_STAT 0xff
-
-/* A.10 Control Selector Codes */
-
-/* A.10.1 Terminal Control Selectors */
-#define UAC_TERM_COPY_PROTECT 0x01
-
-/* A.10.2 Feature Unit Control Selectors */
-#define UAC_FU_MUTE 0x01
-#define UAC_FU_VOLUME 0x02
-#define UAC_FU_BASS 0x03
-#define UAC_FU_MID 0x04
-#define UAC_FU_TREBLE 0x05
-#define UAC_FU_GRAPHIC_EQUALIZER 0x06
-#define UAC_FU_AUTOMATIC_GAIN 0x07
-#define UAC_FU_DELAY 0x08
-#define UAC_FU_BASS_BOOST 0x09
-#define UAC_FU_LOUDNESS 0x0a
-
-#define UAC_CONTROL_BIT(CS) (1 << ((CS) - 1))
-
-/* A.10.3.1 Up/Down-mix Processing Unit Controls Selectors */
-#define UAC_UD_ENABLE 0x01
-#define UAC_UD_MODE_SELECT 0x02
-
-/* A.10.3.2 Dolby Prologic (tm) Processing Unit Controls Selectors */
-#define UAC_DP_ENABLE 0x01
-#define UAC_DP_MODE_SELECT 0x02
-
-/* A.10.3.3 3D Stereo Extender Processing Unit Control Selectors */
-#define UAC_3D_ENABLE 0x01
-#define UAC_3D_SPACE 0x02
-
-/* A.10.3.4 Reverberation Processing Unit Control Selectors */
-#define UAC_REVERB_ENABLE 0x01
-#define UAC_REVERB_LEVEL 0x02
-#define UAC_REVERB_TIME 0x03
-#define UAC_REVERB_FEEDBACK 0x04
-
-/* A.10.3.5 Chorus Processing Unit Control Selectors */
-#define UAC_CHORUS_ENABLE 0x01
-#define UAC_CHORUS_LEVEL 0x02
-#define UAC_CHORUS_RATE 0x03
-#define UAC_CHORUS_DEPTH 0x04
-
-/* A.10.3.6 Dynamic Range Compressor Unit Control Selectors */
-#define UAC_DCR_ENABLE 0x01
-#define UAC_DCR_RATE 0x02
-#define UAC_DCR_MAXAMPL 0x03
-#define UAC_DCR_THRESHOLD 0x04
-#define UAC_DCR_ATTACK_TIME 0x05
-#define UAC_DCR_RELEASE_TIME 0x06
-
-/* A.10.4 Extension Unit Control Selectors */
-#define UAC_XU_ENABLE 0x01
-
-/* MIDI - A.1 MS Class-Specific Interface Descriptor Subtypes */
-#define UAC_MS_HEADER 0x01
-#define UAC_MIDI_IN_JACK 0x02
-#define UAC_MIDI_OUT_JACK 0x03
-
-/* MIDI - A.1 MS Class-Specific Endpoint Descriptor Subtypes */
-#define UAC_MS_GENERAL 0x01
-
-/* Terminals - 2.1 USB Terminal Types */
-#define UAC_TERMINAL_UNDEFINED 0x100
-#define UAC_TERMINAL_STREAMING 0x101
-#define UAC_TERMINAL_VENDOR_SPEC 0x1FF
-
-/* Terminal Control Selectors */
-/* 4.3.2 Class-Specific AC Interface Descriptor */
-struct uac1_ac_header_descriptor {
- __u8 bLength; /* 8 + n */
- __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
- __u8 bDescriptorSubtype; /* UAC_MS_HEADER */
- __le16 bcdADC; /* 0x0100 */
- __le16 wTotalLength; /* includes Unit and Terminal desc. */
- __u8 bInCollection; /* n */
- __u8 baInterfaceNr[]; /* [n] */
-} __attribute__ ((packed));
-
-#define UAC_DT_AC_HEADER_SIZE(n) (8 + (n))
-
-/* As above, but more useful for defining your own descriptors: */
-#define DECLARE_UAC_AC_HEADER_DESCRIPTOR(n) \
-struct uac1_ac_header_descriptor_##n { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubtype; \
- __le16 bcdADC; \
- __le16 wTotalLength; \
- __u8 bInCollection; \
- __u8 baInterfaceNr[n]; \
-} __attribute__ ((packed))
-
-/* 4.3.2.1 Input Terminal Descriptor */
-struct uac_input_terminal_descriptor {
- __u8 bLength; /* in bytes: 12 */
- __u8 bDescriptorType; /* CS_INTERFACE descriptor type */
- __u8 bDescriptorSubtype; /* INPUT_TERMINAL descriptor subtype */
- __u8 bTerminalID; /* Constant uniquely terminal ID */
- __le16 wTerminalType; /* USB Audio Terminal Types */
- __u8 bAssocTerminal; /* ID of the Output Terminal associated */
- __u8 bNrChannels; /* Number of logical output channels */
- __le16 wChannelConfig;
- __u8 iChannelNames;
- __u8 iTerminal;
-} __attribute__ ((packed));
-
-#define UAC_DT_INPUT_TERMINAL_SIZE 12
-
-/* Terminals - 2.2 Input Terminal Types */
-#define UAC_INPUT_TERMINAL_UNDEFINED 0x200
-#define UAC_INPUT_TERMINAL_MICROPHONE 0x201
-#define UAC_INPUT_TERMINAL_DESKTOP_MICROPHONE 0x202
-#define UAC_INPUT_TERMINAL_PERSONAL_MICROPHONE 0x203
-#define UAC_INPUT_TERMINAL_OMNI_DIR_MICROPHONE 0x204
-#define UAC_INPUT_TERMINAL_MICROPHONE_ARRAY 0x205
-#define UAC_INPUT_TERMINAL_PROC_MICROPHONE_ARRAY 0x206
-
-/* Terminals - control selectors */
-
-#define UAC_TERMINAL_CS_COPY_PROTECT_CONTROL 0x01
-
-/* 4.3.2.2 Output Terminal Descriptor */
-struct uac1_output_terminal_descriptor {
- __u8 bLength; /* in bytes: 9 */
- __u8 bDescriptorType; /* CS_INTERFACE descriptor type */
- __u8 bDescriptorSubtype; /* OUTPUT_TERMINAL descriptor subtype */
- __u8 bTerminalID; /* Constant uniquely terminal ID */
- __le16 wTerminalType; /* USB Audio Terminal Types */
- __u8 bAssocTerminal; /* ID of the Input Terminal associated */
- __u8 bSourceID; /* ID of the connected Unit or Terminal*/
- __u8 iTerminal;
-} __attribute__ ((packed));
-
-#define UAC_DT_OUTPUT_TERMINAL_SIZE 9
-
-/* Terminals - 2.3 Output Terminal Types */
-#define UAC_OUTPUT_TERMINAL_UNDEFINED 0x300
-#define UAC_OUTPUT_TERMINAL_SPEAKER 0x301
-#define UAC_OUTPUT_TERMINAL_HEADPHONES 0x302
-#define UAC_OUTPUT_TERMINAL_HEAD_MOUNTED_DISPLAY_AUDIO 0x303
-#define UAC_OUTPUT_TERMINAL_DESKTOP_SPEAKER 0x304
-#define UAC_OUTPUT_TERMINAL_ROOM_SPEAKER 0x305
-#define UAC_OUTPUT_TERMINAL_COMMUNICATION_SPEAKER 0x306
-#define UAC_OUTPUT_TERMINAL_LOW_FREQ_EFFECTS_SPEAKER 0x307
-
-/* Set bControlSize = 2 as default setting */
-#define UAC_DT_FEATURE_UNIT_SIZE(ch) (7 + ((ch) + 1) * 2)
-
-/* As above, but more useful for defining your own descriptors: */
-#define DECLARE_UAC_FEATURE_UNIT_DESCRIPTOR(ch) \
-struct uac_feature_unit_descriptor_##ch { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubtype; \
- __u8 bUnitID; \
- __u8 bSourceID; \
- __u8 bControlSize; \
- __le16 bmaControls[ch + 1]; \
- __u8 iFeature; \
-} __attribute__ ((packed))
-
-/* 4.3.2.3 Mixer Unit Descriptor */
-struct uac_mixer_unit_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubtype;
- __u8 bUnitID;
- __u8 bNrInPins;
- __u8 baSourceID[];
-} __attribute__ ((packed));
-
-static __inline__ __u8 uac_mixer_unit_bNrChannels(struct uac_mixer_unit_descriptor *desc)
-{
- return desc->baSourceID[desc->bNrInPins];
-}
-
-static __inline__ __u32 uac_mixer_unit_wChannelConfig(struct uac_mixer_unit_descriptor *desc,
- int protocol)
-{
- if (protocol == UAC_VERSION_1)
- return (desc->baSourceID[desc->bNrInPins + 2] << 8) |
- desc->baSourceID[desc->bNrInPins + 1];
- else
- return (desc->baSourceID[desc->bNrInPins + 4] << 24) |
- (desc->baSourceID[desc->bNrInPins + 3] << 16) |
- (desc->baSourceID[desc->bNrInPins + 2] << 8) |
- (desc->baSourceID[desc->bNrInPins + 1]);
-}
-
-static __inline__ __u8 uac_mixer_unit_iChannelNames(struct uac_mixer_unit_descriptor *desc,
- int protocol)
-{
- return (protocol == UAC_VERSION_1) ?
- desc->baSourceID[desc->bNrInPins + 3] :
- desc->baSourceID[desc->bNrInPins + 5];
-}
-
-static __inline__ __u8 *uac_mixer_unit_bmControls(struct uac_mixer_unit_descriptor *desc,
- int protocol)
-{
- return (protocol == UAC_VERSION_1) ?
- &desc->baSourceID[desc->bNrInPins + 4] :
- &desc->baSourceID[desc->bNrInPins + 6];
-}
-
-static __inline__ __u8 uac_mixer_unit_iMixer(struct uac_mixer_unit_descriptor *desc)
-{
- __u8 *raw = (__u8 *) desc;
- return raw[desc->bLength - 1];
-}
-
-/* 4.3.2.4 Selector Unit Descriptor */
-struct uac_selector_unit_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubtype;
- __u8 bUintID;
- __u8 bNrInPins;
- __u8 baSourceID[];
-} __attribute__ ((packed));
-
-static __inline__ __u8 uac_selector_unit_iSelector(struct uac_selector_unit_descriptor *desc)
-{
- __u8 *raw = (__u8 *) desc;
- return raw[desc->bLength - 1];
-}
-
-/* 4.3.2.5 Feature Unit Descriptor */
-struct uac_feature_unit_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubtype;
- __u8 bUnitID;
- __u8 bSourceID;
- __u8 bControlSize;
- __u8 bmaControls[0]; /* variable length */
-} __attribute__((packed));
-
-static __inline__ __u8 uac_feature_unit_iFeature(struct uac_feature_unit_descriptor *desc)
-{
- __u8 *raw = (__u8 *) desc;
- return raw[desc->bLength - 1];
-}
-
-/* 4.3.2.6 Processing Unit Descriptors */
-struct uac_processing_unit_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubtype;
- __u8 bUnitID;
- __u16 wProcessType;
- __u8 bNrInPins;
- __u8 baSourceID[];
-} __attribute__ ((packed));
-
-static __inline__ __u8 uac_processing_unit_bNrChannels(struct uac_processing_unit_descriptor *desc)
-{
- return desc->baSourceID[desc->bNrInPins];
-}
-
-static __inline__ __u32 uac_processing_unit_wChannelConfig(struct uac_processing_unit_descriptor *desc,
- int protocol)
-{
- if (protocol == UAC_VERSION_1)
- return (desc->baSourceID[desc->bNrInPins + 2] << 8) |
- desc->baSourceID[desc->bNrInPins + 1];
- else
- return (desc->baSourceID[desc->bNrInPins + 4] << 24) |
- (desc->baSourceID[desc->bNrInPins + 3] << 16) |
- (desc->baSourceID[desc->bNrInPins + 2] << 8) |
- (desc->baSourceID[desc->bNrInPins + 1]);
-}
-
-static __inline__ __u8 uac_processing_unit_iChannelNames(struct uac_processing_unit_descriptor *desc,
- int protocol)
-{
- return (protocol == UAC_VERSION_1) ?
- desc->baSourceID[desc->bNrInPins + 3] :
- desc->baSourceID[desc->bNrInPins + 5];
-}
-
-static __inline__ __u8 uac_processing_unit_bControlSize(struct uac_processing_unit_descriptor *desc,
- int protocol)
-{
- return (protocol == UAC_VERSION_1) ?
- desc->baSourceID[desc->bNrInPins + 4] :
- desc->baSourceID[desc->bNrInPins + 6];
-}
-
-static __inline__ __u8 *uac_processing_unit_bmControls(struct uac_processing_unit_descriptor *desc,
- int protocol)
-{
- return (protocol == UAC_VERSION_1) ?
- &desc->baSourceID[desc->bNrInPins + 5] :
- &desc->baSourceID[desc->bNrInPins + 7];
-}
-
-static __inline__ __u8 uac_processing_unit_iProcessing(struct uac_processing_unit_descriptor *desc,
- int protocol)
-{
- __u8 control_size = uac_processing_unit_bControlSize(desc, protocol);
- return *(uac_processing_unit_bmControls(desc, protocol)
- + control_size);
-}
-
-static __inline__ __u8 *uac_processing_unit_specific(struct uac_processing_unit_descriptor *desc,
- int protocol)
-{
- __u8 control_size = uac_processing_unit_bControlSize(desc, protocol);
- return uac_processing_unit_bmControls(desc, protocol)
- + control_size + 1;
-}
-
-/* 4.5.2 Class-Specific AS Interface Descriptor */
-struct uac1_as_header_descriptor {
- __u8 bLength; /* in bytes: 7 */
- __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
- __u8 bDescriptorSubtype; /* AS_GENERAL */
- __u8 bTerminalLink; /* Terminal ID of connected Terminal */
- __u8 bDelay; /* Delay introduced by the data path */
- __le16 wFormatTag; /* The Audio Data Format */
-} __attribute__ ((packed));
-
-#define UAC_DT_AS_HEADER_SIZE 7
-
-/* Formats - A.1.1 Audio Data Format Type I Codes */
-#define UAC_FORMAT_TYPE_I_UNDEFINED 0x0
-#define UAC_FORMAT_TYPE_I_PCM 0x1
-#define UAC_FORMAT_TYPE_I_PCM8 0x2
-#define UAC_FORMAT_TYPE_I_IEEE_FLOAT 0x3
-#define UAC_FORMAT_TYPE_I_ALAW 0x4
-#define UAC_FORMAT_TYPE_I_MULAW 0x5
-
-struct uac_format_type_i_continuous_descriptor {
- __u8 bLength; /* in bytes: 8 + (ns * 3) */
- __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
- __u8 bDescriptorSubtype; /* FORMAT_TYPE */
- __u8 bFormatType; /* FORMAT_TYPE_1 */
- __u8 bNrChannels; /* physical channels in the stream */
- __u8 bSubframeSize; /* */
- __u8 bBitResolution;
- __u8 bSamFreqType;
- __u8 tLowerSamFreq[3];
- __u8 tUpperSamFreq[3];
-} __attribute__ ((packed));
-
-#define UAC_FORMAT_TYPE_I_CONTINUOUS_DESC_SIZE 14
-
-struct uac_format_type_i_discrete_descriptor {
- __u8 bLength; /* in bytes: 8 + (ns * 3) */
- __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
- __u8 bDescriptorSubtype; /* FORMAT_TYPE */
- __u8 bFormatType; /* FORMAT_TYPE_1 */
- __u8 bNrChannels; /* physical channels in the stream */
- __u8 bSubframeSize; /* */
- __u8 bBitResolution;
- __u8 bSamFreqType;
- __u8 tSamFreq[][3];
-} __attribute__ ((packed));
-
-#define DECLARE_UAC_FORMAT_TYPE_I_DISCRETE_DESC(n) \
-struct uac_format_type_i_discrete_descriptor_##n { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubtype; \
- __u8 bFormatType; \
- __u8 bNrChannels; \
- __u8 bSubframeSize; \
- __u8 bBitResolution; \
- __u8 bSamFreqType; \
- __u8 tSamFreq[n][3]; \
-} __attribute__ ((packed))
-
-#define UAC_FORMAT_TYPE_I_DISCRETE_DESC_SIZE(n) (8 + (n * 3))
-
-struct uac_format_type_i_ext_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubtype;
- __u8 bFormatType;
- __u8 bSubslotSize;
- __u8 bBitResolution;
- __u8 bHeaderLength;
- __u8 bControlSize;
- __u8 bSideBandProtocol;
-} __attribute__((packed));
-
-/* Formats - Audio Data Format Type I Codes */
-
-#define UAC_FORMAT_TYPE_II_MPEG 0x1001
-#define UAC_FORMAT_TYPE_II_AC3 0x1002
-
-struct uac_format_type_ii_discrete_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubtype;
- __u8 bFormatType;
- __le16 wMaxBitRate;
- __le16 wSamplesPerFrame;
- __u8 bSamFreqType;
- __u8 tSamFreq[][3];
-} __attribute__((packed));
-
-struct uac_format_type_ii_ext_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubtype;
- __u8 bFormatType;
- __u16 wMaxBitRate;
- __u16 wSamplesPerFrame;
- __u8 bHeaderLength;
- __u8 bSideBandProtocol;
-} __attribute__((packed));
-
-/* type III */
-#define UAC_FORMAT_TYPE_III_IEC1937_AC3 0x2001
-#define UAC_FORMAT_TYPE_III_IEC1937_MPEG1_LAYER1 0x2002
-#define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_NOEXT 0x2003
-#define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_EXT 0x2004
-#define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_LAYER1_LS 0x2005
-#define UAC_FORMAT_TYPE_III_IEC1937_MPEG2_LAYER23_LS 0x2006
-
-/* Formats - A.2 Format Type Codes */
-#define UAC_FORMAT_TYPE_UNDEFINED 0x0
-#define UAC_FORMAT_TYPE_I 0x1
-#define UAC_FORMAT_TYPE_II 0x2
-#define UAC_FORMAT_TYPE_III 0x3
-#define UAC_EXT_FORMAT_TYPE_I 0x81
-#define UAC_EXT_FORMAT_TYPE_II 0x82
-#define UAC_EXT_FORMAT_TYPE_III 0x83
-
-struct uac_iso_endpoint_descriptor {
- __u8 bLength; /* in bytes: 7 */
- __u8 bDescriptorType; /* USB_DT_CS_ENDPOINT */
- __u8 bDescriptorSubtype; /* EP_GENERAL */
- __u8 bmAttributes;
- __u8 bLockDelayUnits;
- __le16 wLockDelay;
-} __attribute__((packed));
-#define UAC_ISO_ENDPOINT_DESC_SIZE 7
-
-#define UAC_EP_CS_ATTR_SAMPLE_RATE 0x01
-#define UAC_EP_CS_ATTR_PITCH_CONTROL 0x02
-#define UAC_EP_CS_ATTR_FILL_MAX 0x80
-
-/* status word format (3.7.1.1) */
-
-#define UAC1_STATUS_TYPE_ORIG_MASK 0x0f
-#define UAC1_STATUS_TYPE_ORIG_AUDIO_CONTROL_IF 0x0
-#define UAC1_STATUS_TYPE_ORIG_AUDIO_STREAM_IF 0x1
-#define UAC1_STATUS_TYPE_ORIG_AUDIO_STREAM_EP 0x2
-
-#define UAC1_STATUS_TYPE_IRQ_PENDING (1 << 7)
-#define UAC1_STATUS_TYPE_MEM_CHANGED (1 << 6)
-
-struct uac1_status_word {
- __u8 bStatusType;
- __u8 bOriginator;
-} __attribute__((packed));
-
-
-#endif /* __LINUX_USB_AUDIO_H */
diff --git a/linux-headers/include/linux/usb/cdc-wdm.h b/linux-headers/include/linux/usb/cdc-wdm.h
deleted file mode 100644
index a794493..0000000
--- a/linux-headers/include/linux/usb/cdc-wdm.h
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
- * USB CDC Device Management userspace API definitions
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- */
-
-#ifndef __LINUX_USB_CDC_WDM_H
-#define __LINUX_USB_CDC_WDM_H
-
-#include <linux/types.h>
-
-/*
- * This IOCTL is used to retrieve the wMaxCommand for the device,
- * defining the message limit for both reading and writing.
- *
- * For CDC WDM functions this will be the wMaxCommand field of the
- * Device Management Functional Descriptor.
- */
-#define IOCTL_WDM_MAX_COMMAND _IOR('H', 0xA0, __u16)
-
-#endif /* __LINUX_USB_CDC_WDM_H */
diff --git a/linux-headers/include/linux/usb/cdc.h b/linux-headers/include/linux/usb/cdc.h
deleted file mode 100644
index e2bc417..0000000
--- a/linux-headers/include/linux/usb/cdc.h
+++ /dev/null
@@ -1,447 +0,0 @@
-/*
- * USB Communications Device Class (CDC) definitions
- *
- * CDC says how to talk to lots of different types of network adapters,
- * notably ethernet adapters and various modems. It's used mostly with
- * firmware based USB peripherals.
- */
-
-#ifndef __UAPI_LINUX_USB_CDC_H
-#define __UAPI_LINUX_USB_CDC_H
-
-#include <linux/types.h>
-
-#define USB_CDC_SUBCLASS_ACM 0x02
-#define USB_CDC_SUBCLASS_ETHERNET 0x06
-#define USB_CDC_SUBCLASS_WHCM 0x08
-#define USB_CDC_SUBCLASS_DMM 0x09
-#define USB_CDC_SUBCLASS_MDLM 0x0a
-#define USB_CDC_SUBCLASS_OBEX 0x0b
-#define USB_CDC_SUBCLASS_EEM 0x0c
-#define USB_CDC_SUBCLASS_NCM 0x0d
-#define USB_CDC_SUBCLASS_MBIM 0x0e
-
-#define USB_CDC_PROTO_NONE 0
-
-#define USB_CDC_ACM_PROTO_AT_V25TER 1
-#define USB_CDC_ACM_PROTO_AT_PCCA101 2
-#define USB_CDC_ACM_PROTO_AT_PCCA101_WAKE 3
-#define USB_CDC_ACM_PROTO_AT_GSM 4
-#define USB_CDC_ACM_PROTO_AT_3G 5
-#define USB_CDC_ACM_PROTO_AT_CDMA 6
-#define USB_CDC_ACM_PROTO_VENDOR 0xff
-
-#define USB_CDC_PROTO_EEM 7
-
-#define USB_CDC_NCM_PROTO_NTB 1
-#define USB_CDC_MBIM_PROTO_NTB 2
-
-/*-------------------------------------------------------------------------*/
-
-/*
- * Class-Specific descriptors ... there are a couple dozen of them
- */
-
-#define USB_CDC_HEADER_TYPE 0x00 /* header_desc */
-#define USB_CDC_CALL_MANAGEMENT_TYPE 0x01 /* call_mgmt_descriptor */
-#define USB_CDC_ACM_TYPE 0x02 /* acm_descriptor */
-#define USB_CDC_UNION_TYPE 0x06 /* union_desc */
-#define USB_CDC_COUNTRY_TYPE 0x07
-#define USB_CDC_NETWORK_TERMINAL_TYPE 0x0a /* network_terminal_desc */
-#define USB_CDC_ETHERNET_TYPE 0x0f /* ether_desc */
-#define USB_CDC_WHCM_TYPE 0x11
-#define USB_CDC_MDLM_TYPE 0x12 /* mdlm_desc */
-#define USB_CDC_MDLM_DETAIL_TYPE 0x13 /* mdlm_detail_desc */
-#define USB_CDC_DMM_TYPE 0x14
-#define USB_CDC_OBEX_TYPE 0x15
-#define USB_CDC_NCM_TYPE 0x1a
-#define USB_CDC_MBIM_TYPE 0x1b
-#define USB_CDC_MBIM_EXTENDED_TYPE 0x1c
-
-/* "Header Functional Descriptor" from CDC spec 5.2.3.1 */
-struct usb_cdc_header_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __le16 bcdCDC;
-} __attribute__ ((packed));
-
-/* "Call Management Descriptor" from CDC spec 5.2.3.2 */
-struct usb_cdc_call_mgmt_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __u8 bmCapabilities;
-#define USB_CDC_CALL_MGMT_CAP_CALL_MGMT 0x01
-#define USB_CDC_CALL_MGMT_CAP_DATA_INTF 0x02
-
- __u8 bDataInterface;
-} __attribute__ ((packed));
-
-/* "Abstract Control Management Descriptor" from CDC spec 5.2.3.3 */
-struct usb_cdc_acm_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __u8 bmCapabilities;
-} __attribute__ ((packed));
-
-/* capabilities from 5.2.3.3 */
-
-#define USB_CDC_COMM_FEATURE 0x01
-#define USB_CDC_CAP_LINE 0x02
-#define USB_CDC_CAP_BRK 0x04
-#define USB_CDC_CAP_NOTIFY 0x08
-
-/* "Union Functional Descriptor" from CDC spec 5.2.3.8 */
-struct usb_cdc_union_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __u8 bMasterInterface0;
- __u8 bSlaveInterface0;
- /* ... and there could be other slave interfaces */
-} __attribute__ ((packed));
-
-/* "Country Selection Functional Descriptor" from CDC spec 5.2.3.9 */
-struct usb_cdc_country_functional_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __u8 iCountryCodeRelDate;
- __le16 wCountyCode0;
- /* ... and there can be a lot of country codes */
-} __attribute__ ((packed));
-
-/* "Network Channel Terminal Functional Descriptor" from CDC spec 5.2.3.11 */
-struct usb_cdc_network_terminal_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __u8 bEntityId;
- __u8 iName;
- __u8 bChannelIndex;
- __u8 bPhysicalInterface;
-} __attribute__ ((packed));
-
-/* "Ethernet Networking Functional Descriptor" from CDC spec 5.2.3.16 */
-struct usb_cdc_ether_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __u8 iMACAddress;
- __le32 bmEthernetStatistics;
- __le16 wMaxSegmentSize;
- __le16 wNumberMCFilters;
- __u8 bNumberPowerFilters;
-} __attribute__ ((packed));
-
-/* "Telephone Control Model Functional Descriptor" from CDC WMC spec 6.3..3 */
-struct usb_cdc_dmm_desc {
- __u8 bFunctionLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubtype;
- __u16 bcdVersion;
- __le16 wMaxCommand;
-} __attribute__ ((packed));
-
-/* "MDLM Functional Descriptor" from CDC WMC spec 6.7.2.3 */
-struct usb_cdc_mdlm_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __le16 bcdVersion;
- __u8 bGUID[16];
-} __attribute__ ((packed));
-
-/* "MDLM Detail Functional Descriptor" from CDC WMC spec 6.7.2.4 */
-struct usb_cdc_mdlm_detail_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- /* type is associated with mdlm_desc.bGUID */
- __u8 bGuidDescriptorType;
- __u8 bDetailData[0];
-} __attribute__ ((packed));
-
-/* "OBEX Control Model Functional Descriptor" */
-struct usb_cdc_obex_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __le16 bcdVersion;
-} __attribute__ ((packed));
-
-/* "NCM Control Model Functional Descriptor" */
-struct usb_cdc_ncm_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __le16 bcdNcmVersion;
- __u8 bmNetworkCapabilities;
-} __attribute__ ((packed));
-
-/* "MBIM Control Model Functional Descriptor" */
-struct usb_cdc_mbim_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __le16 bcdMBIMVersion;
- __le16 wMaxControlMessage;
- __u8 bNumberFilters;
- __u8 bMaxFilterSize;
- __le16 wMaxSegmentSize;
- __u8 bmNetworkCapabilities;
-} __attribute__ ((packed));
-
-/* "MBIM Extended Functional Descriptor" from CDC MBIM spec 1.0 errata-1 */
-struct usb_cdc_mbim_extended_desc {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-
- __le16 bcdMBIMExtendedVersion;
- __u8 bMaxOutstandingCommandMessages;
- __le16 wMTU;
-} __attribute__ ((packed));
-
-/*-------------------------------------------------------------------------*/
-
-/*
- * Class-Specific Control Requests (6.2)
- *
- * section 3.6.2.1 table 4 has the ACM profile, for modems.
- * section 3.8.2 table 10 has the ethernet profile.
- *
- * Microsoft's RNDIS stack for Ethernet is a vendor-specific CDC ACM variant,
- * heavily dependent on the encapsulated (proprietary) command mechanism.
- */
-
-#define USB_CDC_SEND_ENCAPSULATED_COMMAND 0x00
-#define USB_CDC_GET_ENCAPSULATED_RESPONSE 0x01
-#define USB_CDC_REQ_SET_LINE_CODING 0x20
-#define USB_CDC_REQ_GET_LINE_CODING 0x21
-#define USB_CDC_REQ_SET_CONTROL_LINE_STATE 0x22
-#define USB_CDC_REQ_SEND_BREAK 0x23
-#define USB_CDC_SET_ETHERNET_MULTICAST_FILTERS 0x40
-#define USB_CDC_SET_ETHERNET_PM_PATTERN_FILTER 0x41
-#define USB_CDC_GET_ETHERNET_PM_PATTERN_FILTER 0x42
-#define USB_CDC_SET_ETHERNET_PACKET_FILTER 0x43
-#define USB_CDC_GET_ETHERNET_STATISTIC 0x44
-#define USB_CDC_GET_NTB_PARAMETERS 0x80
-#define USB_CDC_GET_NET_ADDRESS 0x81
-#define USB_CDC_SET_NET_ADDRESS 0x82
-#define USB_CDC_GET_NTB_FORMAT 0x83
-#define USB_CDC_SET_NTB_FORMAT 0x84
-#define USB_CDC_GET_NTB_INPUT_SIZE 0x85
-#define USB_CDC_SET_NTB_INPUT_SIZE 0x86
-#define USB_CDC_GET_MAX_DATAGRAM_SIZE 0x87
-#define USB_CDC_SET_MAX_DATAGRAM_SIZE 0x88
-#define USB_CDC_GET_CRC_MODE 0x89
-#define USB_CDC_SET_CRC_MODE 0x8a
-
-/* Line Coding Structure from CDC spec 6.2.13 */
-struct usb_cdc_line_coding {
- __le32 dwDTERate;
- __u8 bCharFormat;
-#define USB_CDC_1_STOP_BITS 0
-#define USB_CDC_1_5_STOP_BITS 1
-#define USB_CDC_2_STOP_BITS 2
-
- __u8 bParityType;
-#define USB_CDC_NO_PARITY 0
-#define USB_CDC_ODD_PARITY 1
-#define USB_CDC_EVEN_PARITY 2
-#define USB_CDC_MARK_PARITY 3
-#define USB_CDC_SPACE_PARITY 4
-
- __u8 bDataBits;
-} __attribute__ ((packed));
-
-/* table 62; bits in multicast filter */
-#define USB_CDC_PACKET_TYPE_PROMISCUOUS (1 << 0)
-#define USB_CDC_PACKET_TYPE_ALL_MULTICAST (1 << 1) /* no filter */
-#define USB_CDC_PACKET_TYPE_DIRECTED (1 << 2)
-#define USB_CDC_PACKET_TYPE_BROADCAST (1 << 3)
-#define USB_CDC_PACKET_TYPE_MULTICAST (1 << 4) /* filtered */
-
-
-/*-------------------------------------------------------------------------*/
-
-/*
- * Class-Specific Notifications (6.3) sent by interrupt transfers
- *
- * section 3.8.2 table 11 of the CDC spec lists Ethernet notifications
- * section 3.6.2.1 table 5 specifies ACM notifications, accepted by RNDIS
- * RNDIS also defines its own bit-incompatible notifications
- */
-
-#define USB_CDC_NOTIFY_NETWORK_CONNECTION 0x00
-#define USB_CDC_NOTIFY_RESPONSE_AVAILABLE 0x01
-#define USB_CDC_NOTIFY_SERIAL_STATE 0x20
-#define USB_CDC_NOTIFY_SPEED_CHANGE 0x2a
-
-struct usb_cdc_notification {
- __u8 bmRequestType;
- __u8 bNotificationType;
- __le16 wValue;
- __le16 wIndex;
- __le16 wLength;
-} __attribute__ ((packed));
-
-struct usb_cdc_speed_change {
- __le32 DLBitRRate; /* contains the downlink bit rate (IN pipe) */
- __le32 ULBitRate; /* contains the uplink bit rate (OUT pipe) */
-} __attribute__ ((packed));
-
-/*-------------------------------------------------------------------------*/
-
-/*
- * Class Specific structures and constants
- *
- * CDC NCM NTB parameters structure, CDC NCM subclass 6.2.1
- *
- */
-
-struct usb_cdc_ncm_ntb_parameters {
- __le16 wLength;
- __le16 bmNtbFormatsSupported;
- __le32 dwNtbInMaxSize;
- __le16 wNdpInDivisor;
- __le16 wNdpInPayloadRemainder;
- __le16 wNdpInAlignment;
- __le16 wPadding1;
- __le32 dwNtbOutMaxSize;
- __le16 wNdpOutDivisor;
- __le16 wNdpOutPayloadRemainder;
- __le16 wNdpOutAlignment;
- __le16 wNtbOutMaxDatagrams;
-} __attribute__ ((packed));
-
-/*
- * CDC NCM transfer headers, CDC NCM subclass 3.2
- */
-
-#define USB_CDC_NCM_NTH16_SIGN 0x484D434E /* NCMH */
-#define USB_CDC_NCM_NTH32_SIGN 0x686D636E /* ncmh */
-
-struct usb_cdc_ncm_nth16 {
- __le32 dwSignature;
- __le16 wHeaderLength;
- __le16 wSequence;
- __le16 wBlockLength;
- __le16 wNdpIndex;
-} __attribute__ ((packed));
-
-struct usb_cdc_ncm_nth32 {
- __le32 dwSignature;
- __le16 wHeaderLength;
- __le16 wSequence;
- __le32 dwBlockLength;
- __le32 dwNdpIndex;
-} __attribute__ ((packed));
-
-/*
- * CDC NCM datagram pointers, CDC NCM subclass 3.3
- */
-
-#define USB_CDC_NCM_NDP16_CRC_SIGN 0x314D434E /* NCM1 */
-#define USB_CDC_NCM_NDP16_NOCRC_SIGN 0x304D434E /* NCM0 */
-#define USB_CDC_NCM_NDP32_CRC_SIGN 0x316D636E /* ncm1 */
-#define USB_CDC_NCM_NDP32_NOCRC_SIGN 0x306D636E /* ncm0 */
-
-#define USB_CDC_MBIM_NDP16_IPS_SIGN 0x00535049 /* IPS<sessionID> : IPS0 for now */
-#define USB_CDC_MBIM_NDP32_IPS_SIGN 0x00737069 /* ips<sessionID> : ips0 for now */
-#define USB_CDC_MBIM_NDP16_DSS_SIGN 0x00535344 /* DSS<sessionID> */
-#define USB_CDC_MBIM_NDP32_DSS_SIGN 0x00737364 /* dss<sessionID> */
-
-/* 16-bit NCM Datagram Pointer Entry */
-struct usb_cdc_ncm_dpe16 {
- __le16 wDatagramIndex;
- __le16 wDatagramLength;
-} __attribute__((__packed__));
-
-/* 16-bit NCM Datagram Pointer Table */
-struct usb_cdc_ncm_ndp16 {
- __le32 dwSignature;
- __le16 wLength;
- __le16 wNextNdpIndex;
- struct usb_cdc_ncm_dpe16 dpe16[0];
-} __attribute__ ((packed));
-
-/* 32-bit NCM Datagram Pointer Entry */
-struct usb_cdc_ncm_dpe32 {
- __le32 dwDatagramIndex;
- __le32 dwDatagramLength;
-} __attribute__((__packed__));
-
-/* 32-bit NCM Datagram Pointer Table */
-struct usb_cdc_ncm_ndp32 {
- __le32 dwSignature;
- __le16 wLength;
- __le16 wReserved6;
- __le32 dwNextNdpIndex;
- __le32 dwReserved12;
- struct usb_cdc_ncm_dpe32 dpe32[0];
-} __attribute__ ((packed));
-
-/* CDC NCM subclass 3.2.1 and 3.2.2 */
-#define USB_CDC_NCM_NDP16_INDEX_MIN 0x000C
-#define USB_CDC_NCM_NDP32_INDEX_MIN 0x0010
-
-/* CDC NCM subclass 3.3.3 Datagram Formatting */
-#define USB_CDC_NCM_DATAGRAM_FORMAT_CRC 0x30
-#define USB_CDC_NCM_DATAGRAM_FORMAT_NOCRC 0X31
-
-/* CDC NCM subclass 4.2 NCM Communications Interface Protocol Code */
-#define USB_CDC_NCM_PROTO_CODE_NO_ENCAP_COMMANDS 0x00
-#define USB_CDC_NCM_PROTO_CODE_EXTERN_PROTO 0xFE
-
-/* CDC NCM subclass 5.2.1 NCM Functional Descriptor, bmNetworkCapabilities */
-#define USB_CDC_NCM_NCAP_ETH_FILTER (1 << 0)
-#define USB_CDC_NCM_NCAP_NET_ADDRESS (1 << 1)
-#define USB_CDC_NCM_NCAP_ENCAP_COMMAND (1 << 2)
-#define USB_CDC_NCM_NCAP_MAX_DATAGRAM_SIZE (1 << 3)
-#define USB_CDC_NCM_NCAP_CRC_MODE (1 << 4)
-#define USB_CDC_NCM_NCAP_NTB_INPUT_SIZE (1 << 5)
-
-/* CDC NCM subclass Table 6-3: NTB Parameter Structure */
-#define USB_CDC_NCM_NTB16_SUPPORTED (1 << 0)
-#define USB_CDC_NCM_NTB32_SUPPORTED (1 << 1)
-
-/* CDC NCM subclass Table 6-3: NTB Parameter Structure */
-#define USB_CDC_NCM_NDP_ALIGN_MIN_SIZE 0x04
-#define USB_CDC_NCM_NTB_MAX_LENGTH 0x1C
-
-/* CDC NCM subclass 6.2.5 SetNtbFormat */
-#define USB_CDC_NCM_NTB16_FORMAT 0x00
-#define USB_CDC_NCM_NTB32_FORMAT 0x01
-
-/* CDC NCM subclass 6.2.7 SetNtbInputSize */
-#define USB_CDC_NCM_NTB_MIN_IN_SIZE 2048
-#define USB_CDC_NCM_NTB_MIN_OUT_SIZE 2048
-
-/* NTB Input Size Structure */
-struct usb_cdc_ncm_ndp_input_size {
- __le32 dwNtbInMaxSize;
- __le16 wNtbInMaxDatagrams;
- __le16 wReserved;
-} __attribute__ ((packed));
-
-/* CDC NCM subclass 6.2.11 SetCrcMode */
-#define USB_CDC_NCM_CRC_NOT_APPENDED 0x00
-#define USB_CDC_NCM_CRC_APPENDED 0x01
-
-#endif /* __UAPI_LINUX_USB_CDC_H */
diff --git a/linux-headers/include/linux/usb/ch11.h b/linux-headers/include/linux/usb/ch11.h
deleted file mode 100644
index 361297e..0000000
--- a/linux-headers/include/linux/usb/ch11.h
+++ /dev/null
@@ -1,298 +0,0 @@
-/*
- * This file holds Hub protocol constants and data structures that are
- * defined in chapter 11 (Hub Specification) of the USB 2.0 specification.
- *
- * It is used/shared between the USB core, the HCDs and couple of other USB
- * drivers.
- */
-
-#ifndef __LINUX_CH11_H
-#define __LINUX_CH11_H
-
-#include <linux/types.h> /* __u8 etc */
-
-/* This is arbitrary.
- * From USB 2.0 spec Table 11-13, offset 7, a hub can
- * have up to 255 ports. The most yet reported is 10.
- *
- * Current Wireless USB host hardware (Intel i1480 for example) allows
- * up to 22 devices to connect. Upcoming hardware might raise that
- * limit. Because the arrays need to add a bit for hub status data, we
- * use 31, so plus one evens out to four bytes.
- */
-#define USB_MAXCHILDREN 31
-
-/*
- * Hub request types
- */
-
-#define USB_RT_HUB (USB_TYPE_CLASS | USB_RECIP_DEVICE)
-#define USB_RT_PORT (USB_TYPE_CLASS | USB_RECIP_OTHER)
-
-/*
- * Port status type for GetPortStatus requests added in USB 3.1
- * See USB 3.1 spec Table 10-12
- */
-#define HUB_PORT_STATUS 0
-#define HUB_PORT_PD_STATUS 1
-#define HUB_EXT_PORT_STATUS 2
-
-/*
- * Hub class requests
- * See USB 2.0 spec Table 11-16
- */
-#define HUB_CLEAR_TT_BUFFER 8
-#define HUB_RESET_TT 9
-#define HUB_GET_TT_STATE 10
-#define HUB_STOP_TT 11
-
-/*
- * Hub class additional requests defined by USB 3.0 spec
- * See USB 3.0 spec Table 10-6
- */
-#define HUB_SET_DEPTH 12
-#define HUB_GET_PORT_ERR_COUNT 13
-
-/*
- * Hub Class feature numbers
- * See USB 2.0 spec Table 11-17
- */
-#define C_HUB_LOCAL_POWER 0
-#define C_HUB_OVER_CURRENT 1
-
-/*
- * Port feature numbers
- * See USB 2.0 spec Table 11-17
- */
-#define USB_PORT_FEAT_CONNECTION 0
-#define USB_PORT_FEAT_ENABLE 1
-#define USB_PORT_FEAT_SUSPEND 2 /* L2 suspend */
-#define USB_PORT_FEAT_OVER_CURRENT 3
-#define USB_PORT_FEAT_RESET 4
-#define USB_PORT_FEAT_L1 5 /* L1 suspend */
-#define USB_PORT_FEAT_POWER 8
-#define USB_PORT_FEAT_LOWSPEED 9 /* Should never be used */
-#define USB_PORT_FEAT_C_CONNECTION 16
-#define USB_PORT_FEAT_C_ENABLE 17
-#define USB_PORT_FEAT_C_SUSPEND 18
-#define USB_PORT_FEAT_C_OVER_CURRENT 19
-#define USB_PORT_FEAT_C_RESET 20
-#define USB_PORT_FEAT_TEST 21
-#define USB_PORT_FEAT_INDICATOR 22
-#define USB_PORT_FEAT_C_PORT_L1 23
-
-/*
- * Port feature selectors added by USB 3.0 spec.
- * See USB 3.0 spec Table 10-7
- */
-#define USB_PORT_FEAT_LINK_STATE 5
-#define USB_PORT_FEAT_U1_TIMEOUT 23
-#define USB_PORT_FEAT_U2_TIMEOUT 24
-#define USB_PORT_FEAT_C_PORT_LINK_STATE 25
-#define USB_PORT_FEAT_C_PORT_CONFIG_ERROR 26
-#define USB_PORT_FEAT_REMOTE_WAKE_MASK 27
-#define USB_PORT_FEAT_BH_PORT_RESET 28
-#define USB_PORT_FEAT_C_BH_PORT_RESET 29
-#define USB_PORT_FEAT_FORCE_LINKPM_ACCEPT 30
-
-#define USB_PORT_LPM_TIMEOUT(p) (((p) & 0xff) << 8)
-
-/* USB 3.0 hub remote wake mask bits, see table 10-14 */
-#define USB_PORT_FEAT_REMOTE_WAKE_CONNECT (1 << 8)
-#define USB_PORT_FEAT_REMOTE_WAKE_DISCONNECT (1 << 9)
-#define USB_PORT_FEAT_REMOTE_WAKE_OVER_CURRENT (1 << 10)
-
-/*
- * Hub Status and Hub Change results
- * See USB 2.0 spec Table 11-19 and Table 11-20
- * USB 3.1 extends the port status request and may return 4 additional bytes.
- * See USB 3.1 spec section 10.16.2.6 Table 10-12 and 10-15
- */
-struct usb_port_status {
- __le16 wPortStatus;
- __le16 wPortChange;
- __le32 dwExtPortStatus;
-} __attribute__ ((packed));
-
-/*
- * wPortStatus bit field
- * See USB 2.0 spec Table 11-21
- */
-#define USB_PORT_STAT_CONNECTION 0x0001
-#define USB_PORT_STAT_ENABLE 0x0002
-#define USB_PORT_STAT_SUSPEND 0x0004
-#define USB_PORT_STAT_OVERCURRENT 0x0008
-#define USB_PORT_STAT_RESET 0x0010
-#define USB_PORT_STAT_L1 0x0020
-/* bits 6 to 7 are reserved */
-#define USB_PORT_STAT_POWER 0x0100
-#define USB_PORT_STAT_LOW_SPEED 0x0200
-#define USB_PORT_STAT_HIGH_SPEED 0x0400
-#define USB_PORT_STAT_TEST 0x0800
-#define USB_PORT_STAT_INDICATOR 0x1000
-/* bits 13 to 15 are reserved */
-
-/*
- * Additions to wPortStatus bit field from USB 3.0
- * See USB 3.0 spec Table 10-10
- */
-#define USB_PORT_STAT_LINK_STATE 0x01e0
-#define USB_SS_PORT_STAT_POWER 0x0200
-#define USB_SS_PORT_STAT_SPEED 0x1c00
-#define USB_PORT_STAT_SPEED_5GBPS 0x0000
-/* Valid only if port is enabled */
-/* Bits that are the same from USB 2.0 */
-#define USB_SS_PORT_STAT_MASK (USB_PORT_STAT_CONNECTION | \
- USB_PORT_STAT_ENABLE | \
- USB_PORT_STAT_OVERCURRENT | \
- USB_PORT_STAT_RESET)
-
-/*
- * Definitions for PORT_LINK_STATE values
- * (bits 5-8) in wPortStatus
- */
-#define USB_SS_PORT_LS_U0 0x0000
-#define USB_SS_PORT_LS_U1 0x0020
-#define USB_SS_PORT_LS_U2 0x0040
-#define USB_SS_PORT_LS_U3 0x0060
-#define USB_SS_PORT_LS_SS_DISABLED 0x0080
-#define USB_SS_PORT_LS_RX_DETECT 0x00a0
-#define USB_SS_PORT_LS_SS_INACTIVE 0x00c0
-#define USB_SS_PORT_LS_POLLING 0x00e0
-#define USB_SS_PORT_LS_RECOVERY 0x0100
-#define USB_SS_PORT_LS_HOT_RESET 0x0120
-#define USB_SS_PORT_LS_COMP_MOD 0x0140
-#define USB_SS_PORT_LS_LOOPBACK 0x0160
-
-/*
- * wPortChange bit field
- * See USB 2.0 spec Table 11-22 and USB 2.0 LPM ECN Table-4.10
- * Bits 0 to 5 shown, bits 6 to 15 are reserved
- */
-#define USB_PORT_STAT_C_CONNECTION 0x0001
-#define USB_PORT_STAT_C_ENABLE 0x0002
-#define USB_PORT_STAT_C_SUSPEND 0x0004
-#define USB_PORT_STAT_C_OVERCURRENT 0x0008
-#define USB_PORT_STAT_C_RESET 0x0010
-#define USB_PORT_STAT_C_L1 0x0020
-/*
- * USB 3.0 wPortChange bit fields
- * See USB 3.0 spec Table 10-11
- */
-#define USB_PORT_STAT_C_BH_RESET 0x0020
-#define USB_PORT_STAT_C_LINK_STATE 0x0040
-#define USB_PORT_STAT_C_CONFIG_ERROR 0x0080
-
-/*
- * USB 3.1 dwExtPortStatus field masks
- * See USB 3.1 spec 10.16.2.6.3 Table 10-15
- */
-
-#define USB_EXT_PORT_STAT_RX_SPEED_ID 0x0000000f
-#define USB_EXT_PORT_STAT_TX_SPEED_ID 0x000000f0
-#define USB_EXT_PORT_STAT_RX_LANES 0x00000f00
-#define USB_EXT_PORT_STAT_TX_LANES 0x0000f000
-
-/*
- * wHubCharacteristics (masks)
- * See USB 2.0 spec Table 11-13, offset 3
- */
-#define HUB_CHAR_LPSM 0x0003 /* Logical Power Switching Mode mask */
-#define HUB_CHAR_COMMON_LPSM 0x0000 /* All ports power control at once */
-#define HUB_CHAR_INDV_PORT_LPSM 0x0001 /* per-port power control */
-#define HUB_CHAR_NO_LPSM 0x0002 /* no power switching */
-
-#define HUB_CHAR_COMPOUND 0x0004 /* hub is part of a compound device */
-
-#define HUB_CHAR_OCPM 0x0018 /* Over-Current Protection Mode mask */
-#define HUB_CHAR_COMMON_OCPM 0x0000 /* All ports Over-Current reporting */
-#define HUB_CHAR_INDV_PORT_OCPM 0x0008 /* per-port Over-current reporting */
-#define HUB_CHAR_NO_OCPM 0x0010 /* No Over-current Protection support */
-
-#define HUB_CHAR_TTTT 0x0060 /* TT Think Time mask */
-#define HUB_CHAR_PORTIND 0x0080 /* per-port indicators (LEDs) */
-
-struct usb_hub_status {
- __le16 wHubStatus;
- __le16 wHubChange;
-} __attribute__ ((packed));
-
-/*
- * Hub Status & Hub Change bit masks
- * See USB 2.0 spec Table 11-19 and Table 11-20
- * Bits 0 and 1 for wHubStatus and wHubChange
- * Bits 2 to 15 are reserved for both
- */
-#define HUB_STATUS_LOCAL_POWER 0x0001
-#define HUB_STATUS_OVERCURRENT 0x0002
-#define HUB_CHANGE_LOCAL_POWER 0x0001
-#define HUB_CHANGE_OVERCURRENT 0x0002
-
-
-/*
- * Hub descriptor
- * See USB 2.0 spec Table 11-13
- */
-
-#define USB_DT_HUB (USB_TYPE_CLASS | 0x09)
-#define USB_DT_SS_HUB (USB_TYPE_CLASS | 0x0a)
-#define USB_DT_HUB_NONVAR_SIZE 7
-#define USB_DT_SS_HUB_SIZE 12
-
-/*
- * Hub Device descriptor
- * USB Hub class device protocols
- */
-
-#define USB_HUB_PR_FS 0 /* Full speed hub */
-#define USB_HUB_PR_HS_NO_TT 0 /* Hi-speed hub without TT */
-#define USB_HUB_PR_HS_SINGLE_TT 1 /* Hi-speed hub with single TT */
-#define USB_HUB_PR_HS_MULTI_TT 2 /* Hi-speed hub with multiple TT */
-#define USB_HUB_PR_SS 3 /* Super speed hub */
-
-struct usb_hub_descriptor {
- __u8 bDescLength;
- __u8 bDescriptorType;
- __u8 bNbrPorts;
- __le16 wHubCharacteristics;
- __u8 bPwrOn2PwrGood;
- __u8 bHubContrCurrent;
-
- /* 2.0 and 3.0 hubs differ here */
- union {
- struct {
- /* add 1 bit for hub status change; round to bytes */
- __u8 DeviceRemovable[(USB_MAXCHILDREN + 1 + 7) / 8];
- __u8 PortPwrCtrlMask[(USB_MAXCHILDREN + 1 + 7) / 8];
- } __attribute__ ((packed)) hs;
-
- struct {
- __u8 bHubHdrDecLat;
- __le16 wHubDelay;
- __le16 DeviceRemovable;
- } __attribute__ ((packed)) ss;
- } u;
-} __attribute__ ((packed));
-
-/* port indicator status selectors, tables 11-7 and 11-25 */
-#define HUB_LED_AUTO 0
-#define HUB_LED_AMBER 1
-#define HUB_LED_GREEN 2
-#define HUB_LED_OFF 3
-
-enum hub_led_mode {
- INDICATOR_AUTO = 0,
- INDICATOR_CYCLE,
- /* software blinks for attention: software, hardware, reserved */
- INDICATOR_GREEN_BLINK, INDICATOR_GREEN_BLINK_OFF,
- INDICATOR_AMBER_BLINK, INDICATOR_AMBER_BLINK_OFF,
- INDICATOR_ALT_BLINK, INDICATOR_ALT_BLINK_OFF
-} __attribute__ ((packed));
-
-/* Transaction Translator Think Times, in bits */
-#define HUB_TTTT_8_BITS 0x00
-#define HUB_TTTT_16_BITS 0x20
-#define HUB_TTTT_24_BITS 0x40
-#define HUB_TTTT_32_BITS 0x60
-
-#endif /* __LINUX_CH11_H */
diff --git a/linux-headers/include/linux/usb/ch9.h b/linux-headers/include/linux/usb/ch9.h
deleted file mode 100644
index cac2ca6..0000000
--- a/linux-headers/include/linux/usb/ch9.h
+++ /dev/null
@@ -1,1076 +0,0 @@
-/*
- * This file holds USB constants and structures that are needed for
- * USB device APIs. These are used by the USB device model, which is
- * defined in chapter 9 of the USB 2.0 specification and in the
- * Wireless USB 1.0 (spread around). Linux has several APIs in C that
- * need these:
- *
- * - the master/host side Linux-USB kernel driver API;
- * - the "usbfs" user space API; and
- * - the Linux "gadget" slave/device/peripheral side driver API.
- *
- * USB 2.0 adds an additional "On The Go" (OTG) mode, which lets systems
- * act either as a USB master/host or as a USB slave/device. That means
- * the master and slave side APIs benefit from working well together.
- *
- * There's also "Wireless USB", using low power short range radios for
- * peripheral interconnection but otherwise building on the USB framework.
- *
- * Note all descriptors are declared '__attribute__((packed))' so that:
- *
- * [a] they never get padded, either internally (USB spec writers
- * probably handled that) or externally;
- *
- * [b] so that accessing bigger-than-a-bytes fields will never
- * generate bus errors on any platform, even when the location of
- * its descriptor inside a bundle isn't "naturally aligned", and
- *
- * [c] for consistency, removing all doubt even when it appears to
- * someone that the two other points are non-issues for that
- * particular descriptor type.
- */
-
-#ifndef __LINUX_USB_CH9_H
-#define __LINUX_USB_CH9_H
-
-#include <linux/types.h> /* __u8 etc */
-#include <asm/byteorder.h> /* le16_to_cpu */
-
-/*-------------------------------------------------------------------------*/
-
-/* CONTROL REQUEST SUPPORT */
-
-/*
- * USB directions
- *
- * This bit flag is used in endpoint descriptors' bEndpointAddress field.
- * It's also one of three fields in control requests bRequestType.
- */
-#define USB_DIR_OUT 0 /* to device */
-#define USB_DIR_IN 0x80 /* to host */
-
-/*
- * USB types, the second of three bRequestType fields
- */
-#define USB_TYPE_MASK (0x03 << 5)
-#define USB_TYPE_STANDARD (0x00 << 5)
-#define USB_TYPE_CLASS (0x01 << 5)
-#define USB_TYPE_VENDOR (0x02 << 5)
-#define USB_TYPE_RESERVED (0x03 << 5)
-
-/*
- * USB recipients, the third of three bRequestType fields
- */
-#define USB_RECIP_MASK 0x1f
-#define USB_RECIP_DEVICE 0x00
-#define USB_RECIP_INTERFACE 0x01
-#define USB_RECIP_ENDPOINT 0x02
-#define USB_RECIP_OTHER 0x03
-/* From Wireless USB 1.0 */
-#define USB_RECIP_PORT 0x04
-#define USB_RECIP_RPIPE 0x05
-
-/*
- * Standard requests, for the bRequest field of a SETUP packet.
- *
- * These are qualified by the bRequestType field, so that for example
- * TYPE_CLASS or TYPE_VENDOR specific feature flags could be retrieved
- * by a GET_STATUS request.
- */
-#define USB_REQ_GET_STATUS 0x00
-#define USB_REQ_CLEAR_FEATURE 0x01
-#define USB_REQ_SET_FEATURE 0x03
-#define USB_REQ_SET_ADDRESS 0x05
-#define USB_REQ_GET_DESCRIPTOR 0x06
-#define USB_REQ_SET_DESCRIPTOR 0x07
-#define USB_REQ_GET_CONFIGURATION 0x08
-#define USB_REQ_SET_CONFIGURATION 0x09
-#define USB_REQ_GET_INTERFACE 0x0A
-#define USB_REQ_SET_INTERFACE 0x0B
-#define USB_REQ_SYNCH_FRAME 0x0C
-#define USB_REQ_SET_SEL 0x30
-#define USB_REQ_SET_ISOCH_DELAY 0x31
-
-#define USB_REQ_SET_ENCRYPTION 0x0D /* Wireless USB */
-#define USB_REQ_GET_ENCRYPTION 0x0E
-#define USB_REQ_RPIPE_ABORT 0x0E
-#define USB_REQ_SET_HANDSHAKE 0x0F
-#define USB_REQ_RPIPE_RESET 0x0F
-#define USB_REQ_GET_HANDSHAKE 0x10
-#define USB_REQ_SET_CONNECTION 0x11
-#define USB_REQ_SET_SECURITY_DATA 0x12
-#define USB_REQ_GET_SECURITY_DATA 0x13
-#define USB_REQ_SET_WUSB_DATA 0x14
-#define USB_REQ_LOOPBACK_DATA_WRITE 0x15
-#define USB_REQ_LOOPBACK_DATA_READ 0x16
-#define USB_REQ_SET_INTERFACE_DS 0x17
-
-/* The Link Power Management (LPM) ECN defines USB_REQ_TEST_AND_SET command,
- * used by hubs to put ports into a new L1 suspend state, except that it
- * forgot to define its number ...
- */
-
-/*
- * USB feature flags are written using USB_REQ_{CLEAR,SET}_FEATURE, and
- * are read as a bit array returned by USB_REQ_GET_STATUS. (So there
- * are at most sixteen features of each type.) Hubs may also support a
- * new USB_REQ_TEST_AND_SET_FEATURE to put ports into L1 suspend.
- */
-#define USB_DEVICE_SELF_POWERED 0 /* (read only) */
-#define USB_DEVICE_REMOTE_WAKEUP 1 /* dev may initiate wakeup */
-#define USB_DEVICE_TEST_MODE 2 /* (wired high speed only) */
-#define USB_DEVICE_BATTERY 2 /* (wireless) */
-#define USB_DEVICE_B_HNP_ENABLE 3 /* (otg) dev may initiate HNP */
-#define USB_DEVICE_WUSB_DEVICE 3 /* (wireless)*/
-#define USB_DEVICE_A_HNP_SUPPORT 4 /* (otg) RH port supports HNP */
-#define USB_DEVICE_A_ALT_HNP_SUPPORT 5 /* (otg) other RH port does */
-#define USB_DEVICE_DEBUG_MODE 6 /* (special devices only) */
-
-/*
- * Test Mode Selectors
- * See USB 2.0 spec Table 9-7
- */
-#define TEST_J 1
-#define TEST_K 2
-#define TEST_SE0_NAK 3
-#define TEST_PACKET 4
-#define TEST_FORCE_EN 5
-
-/*
- * New Feature Selectors as added by USB 3.0
- * See USB 3.0 spec Table 9-7
- */
-#define USB_DEVICE_U1_ENABLE 48 /* dev may initiate U1 transition */
-#define USB_DEVICE_U2_ENABLE 49 /* dev may initiate U2 transition */
-#define USB_DEVICE_LTM_ENABLE 50 /* dev may send LTM */
-#define USB_INTRF_FUNC_SUSPEND 0 /* function suspend */
-
-#define USB_INTR_FUNC_SUSPEND_OPT_MASK 0xFF00
-/*
- * Suspend Options, Table 9-8 USB 3.0 spec
- */
-#define USB_INTRF_FUNC_SUSPEND_LP (1 << (8 + 0))
-#define USB_INTRF_FUNC_SUSPEND_RW (1 << (8 + 1))
-
-/*
- * Interface status, Figure 9-5 USB 3.0 spec
- */
-#define USB_INTRF_STAT_FUNC_RW_CAP 1
-#define USB_INTRF_STAT_FUNC_RW 2
-
-#define USB_ENDPOINT_HALT 0 /* IN/OUT will STALL */
-
-/* Bit array elements as returned by the USB_REQ_GET_STATUS request. */
-#define USB_DEV_STAT_U1_ENABLED 2 /* transition into U1 state */
-#define USB_DEV_STAT_U2_ENABLED 3 /* transition into U2 state */
-#define USB_DEV_STAT_LTM_ENABLED 4 /* Latency tolerance messages */
-
-/**
- * struct usb_ctrlrequest - SETUP data for a USB device control request
- * @bRequestType: matches the USB bmRequestType field
- * @bRequest: matches the USB bRequest field
- * @wValue: matches the USB wValue field (le16 byte order)
- * @wIndex: matches the USB wIndex field (le16 byte order)
- * @wLength: matches the USB wLength field (le16 byte order)
- *
- * This structure is used to send control requests to a USB device. It matches
- * the different fields of the USB 2.0 Spec section 9.3, table 9-2. See the
- * USB spec for a fuller description of the different fields, and what they are
- * used for.
- *
- * Note that the driver for any interface can issue control requests.
- * For most devices, interfaces don't coordinate with each other, so
- * such requests may be made at any time.
- */
-struct usb_ctrlrequest {
- __u8 bRequestType;
- __u8 bRequest;
- __le16 wValue;
- __le16 wIndex;
- __le16 wLength;
-} __attribute__ ((packed));
-
-/*-------------------------------------------------------------------------*/
-
-/*
- * STANDARD DESCRIPTORS ... as returned by GET_DESCRIPTOR, or
- * (rarely) accepted by SET_DESCRIPTOR.
- *
- * Note that all multi-byte values here are encoded in little endian
- * byte order "on the wire". Within the kernel and when exposed
- * through the Linux-USB APIs, they are not converted to cpu byte
- * order; it is the responsibility of the client code to do this.
- * The single exception is when device and configuration descriptors (but
- * not other descriptors) are read from usbfs (i.e. /proc/bus/usb/BBB/DDD);
- * in this case the fields are converted to host endianness by the kernel.
- */
-
-/*
- * Descriptor types ... USB 2.0 spec table 9.5
- */
-#define USB_DT_DEVICE 0x01
-#define USB_DT_CONFIG 0x02
-#define USB_DT_STRING 0x03
-#define USB_DT_INTERFACE 0x04
-#define USB_DT_ENDPOINT 0x05
-#define USB_DT_DEVICE_QUALIFIER 0x06
-#define USB_DT_OTHER_SPEED_CONFIG 0x07
-#define USB_DT_INTERFACE_POWER 0x08
-/* these are from a minor usb 2.0 revision (ECN) */
-#define USB_DT_OTG 0x09
-#define USB_DT_DEBUG 0x0a
-#define USB_DT_INTERFACE_ASSOCIATION 0x0b
-/* these are from the Wireless USB spec */
-#define USB_DT_SECURITY 0x0c
-#define USB_DT_KEY 0x0d
-#define USB_DT_ENCRYPTION_TYPE 0x0e
-#define USB_DT_BOS 0x0f
-#define USB_DT_DEVICE_CAPABILITY 0x10
-#define USB_DT_WIRELESS_ENDPOINT_COMP 0x11
-#define USB_DT_WIRE_ADAPTER 0x21
-#define USB_DT_RPIPE 0x22
-#define USB_DT_CS_RADIO_CONTROL 0x23
-/* From the T10 UAS specification */
-#define USB_DT_PIPE_USAGE 0x24
-/* From the USB 3.0 spec */
-#define USB_DT_SS_ENDPOINT_COMP 0x30
-/* From the USB 3.1 spec */
-#define USB_DT_SSP_ISOC_ENDPOINT_COMP 0x31
-
-/* Conventional codes for class-specific descriptors. The convention is
- * defined in the USB "Common Class" Spec (3.11). Individual class specs
- * are authoritative for their usage, not the "common class" writeup.
- */
-#define USB_DT_CS_DEVICE (USB_TYPE_CLASS | USB_DT_DEVICE)
-#define USB_DT_CS_CONFIG (USB_TYPE_CLASS | USB_DT_CONFIG)
-#define USB_DT_CS_STRING (USB_TYPE_CLASS | USB_DT_STRING)
-#define USB_DT_CS_INTERFACE (USB_TYPE_CLASS | USB_DT_INTERFACE)
-#define USB_DT_CS_ENDPOINT (USB_TYPE_CLASS | USB_DT_ENDPOINT)
-
-/* All standard descriptors have these 2 fields at the beginning */
-struct usb_descriptor_header {
- __u8 bLength;
- __u8 bDescriptorType;
-} __attribute__ ((packed));
-
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_DEVICE: Device descriptor */
-struct usb_device_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __le16 bcdUSB;
- __u8 bDeviceClass;
- __u8 bDeviceSubClass;
- __u8 bDeviceProtocol;
- __u8 bMaxPacketSize0;
- __le16 idVendor;
- __le16 idProduct;
- __le16 bcdDevice;
- __u8 iManufacturer;
- __u8 iProduct;
- __u8 iSerialNumber;
- __u8 bNumConfigurations;
-} __attribute__ ((packed));
-
-#define USB_DT_DEVICE_SIZE 18
-
-
-/*
- * Device and/or Interface Class codes
- * as found in bDeviceClass or bInterfaceClass
- * and defined by www.usb.org documents
- */
-#define USB_CLASS_PER_INTERFACE 0 /* for DeviceClass */
-#define USB_CLASS_AUDIO 1
-#define USB_CLASS_COMM 2
-#define USB_CLASS_HID 3
-#define USB_CLASS_PHYSICAL 5
-#define USB_CLASS_STILL_IMAGE 6
-#define USB_CLASS_PRINTER 7
-#define USB_CLASS_MASS_STORAGE 8
-#define USB_CLASS_HUB 9
-#define USB_CLASS_CDC_DATA 0x0a
-#define USB_CLASS_CSCID 0x0b /* chip+ smart card */
-#define USB_CLASS_CONTENT_SEC 0x0d /* content security */
-#define USB_CLASS_VIDEO 0x0e
-#define USB_CLASS_WIRELESS_CONTROLLER 0xe0
-#define USB_CLASS_MISC 0xef
-#define USB_CLASS_APP_SPEC 0xfe
-#define USB_CLASS_VENDOR_SPEC 0xff
-
-#define USB_SUBCLASS_VENDOR_SPEC 0xff
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_CONFIG: Configuration descriptor information.
- *
- * USB_DT_OTHER_SPEED_CONFIG is the same descriptor, except that the
- * descriptor type is different. Highspeed-capable devices can look
- * different depending on what speed they're currently running. Only
- * devices with a USB_DT_DEVICE_QUALIFIER have any OTHER_SPEED_CONFIG
- * descriptors.
- */
-struct usb_config_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __le16 wTotalLength;
- __u8 bNumInterfaces;
- __u8 bConfigurationValue;
- __u8 iConfiguration;
- __u8 bmAttributes;
- __u8 bMaxPower;
-} __attribute__ ((packed));
-
-#define USB_DT_CONFIG_SIZE 9
-
-/* from config descriptor bmAttributes */
-#define USB_CONFIG_ATT_ONE (1 << 7) /* must be set */
-#define USB_CONFIG_ATT_SELFPOWER (1 << 6) /* self powered */
-#define USB_CONFIG_ATT_WAKEUP (1 << 5) /* can wakeup */
-#define USB_CONFIG_ATT_BATTERY (1 << 4) /* battery powered */
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_STRING: String descriptor */
-struct usb_string_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __le16 wData[1]; /* UTF-16LE encoded */
-} __attribute__ ((packed));
-
-/* note that "string" zero is special, it holds language codes that
- * the device supports, not Unicode characters.
- */
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_INTERFACE: Interface descriptor */
-struct usb_interface_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 bInterfaceNumber;
- __u8 bAlternateSetting;
- __u8 bNumEndpoints;
- __u8 bInterfaceClass;
- __u8 bInterfaceSubClass;
- __u8 bInterfaceProtocol;
- __u8 iInterface;
-} __attribute__ ((packed));
-
-#define USB_DT_INTERFACE_SIZE 9
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_ENDPOINT: Endpoint descriptor */
-struct usb_endpoint_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 bEndpointAddress;
- __u8 bmAttributes;
- __le16 wMaxPacketSize;
- __u8 bInterval;
-
- /* NOTE: these two are _only_ in audio endpoints. */
- /* use USB_DT_ENDPOINT*_SIZE in bLength, not sizeof. */
- __u8 bRefresh;
- __u8 bSynchAddress;
-} __attribute__ ((packed));
-
-#define USB_DT_ENDPOINT_SIZE 7
-#define USB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */
-
-
-/*
- * Endpoints
- */
-#define USB_ENDPOINT_NUMBER_MASK 0x0f /* in bEndpointAddress */
-#define USB_ENDPOINT_DIR_MASK 0x80
-
-#define USB_ENDPOINT_XFERTYPE_MASK 0x03 /* in bmAttributes */
-#define USB_ENDPOINT_XFER_CONTROL 0
-#define USB_ENDPOINT_XFER_ISOC 1
-#define USB_ENDPOINT_XFER_BULK 2
-#define USB_ENDPOINT_XFER_INT 3
-#define USB_ENDPOINT_MAX_ADJUSTABLE 0x80
-
-/* The USB 3.0 spec redefines bits 5:4 of bmAttributes as interrupt ep type. */
-#define USB_ENDPOINT_INTRTYPE 0x30
-#define USB_ENDPOINT_INTR_PERIODIC (0 << 4)
-#define USB_ENDPOINT_INTR_NOTIFICATION (1 << 4)
-
-#define USB_ENDPOINT_SYNCTYPE 0x0c
-#define USB_ENDPOINT_SYNC_NONE (0 << 2)
-#define USB_ENDPOINT_SYNC_ASYNC (1 << 2)
-#define USB_ENDPOINT_SYNC_ADAPTIVE (2 << 2)
-#define USB_ENDPOINT_SYNC_SYNC (3 << 2)
-
-#define USB_ENDPOINT_USAGE_MASK 0x30
-#define USB_ENDPOINT_USAGE_DATA 0x00
-#define USB_ENDPOINT_USAGE_FEEDBACK 0x10
-#define USB_ENDPOINT_USAGE_IMPLICIT_FB 0x20 /* Implicit feedback Data endpoint */
-
-/*-------------------------------------------------------------------------*/
-
-/**
- * usb_endpoint_num - get the endpoint's number
- * @epd: endpoint to be checked
- *
- * Returns @epd's number: 0 to 15.
- */
-static __inline__ int usb_endpoint_num(const struct usb_endpoint_descriptor *epd)
-{
- return epd->bEndpointAddress & USB_ENDPOINT_NUMBER_MASK;
-}
-
-/**
- * usb_endpoint_type - get the endpoint's transfer type
- * @epd: endpoint to be checked
- *
- * Returns one of USB_ENDPOINT_XFER_{CONTROL, ISOC, BULK, INT} according
- * to @epd's transfer type.
- */
-static __inline__ int usb_endpoint_type(const struct usb_endpoint_descriptor *epd)
-{
- return epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK;
-}
-
-/**
- * usb_endpoint_dir_in - check if the endpoint has IN direction
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint is of type IN, otherwise it returns false.
- */
-static __inline__ int usb_endpoint_dir_in(const struct usb_endpoint_descriptor *epd)
-{
- return ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_IN);
-}
-
-/**
- * usb_endpoint_dir_out - check if the endpoint has OUT direction
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint is of type OUT, otherwise it returns false.
- */
-static __inline__ int usb_endpoint_dir_out(
- const struct usb_endpoint_descriptor *epd)
-{
- return ((epd->bEndpointAddress & USB_ENDPOINT_DIR_MASK) == USB_DIR_OUT);
-}
-
-/**
- * usb_endpoint_xfer_bulk - check if the endpoint has bulk transfer type
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint is of type bulk, otherwise it returns false.
- */
-static __inline__ int usb_endpoint_xfer_bulk(
- const struct usb_endpoint_descriptor *epd)
-{
- return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
- USB_ENDPOINT_XFER_BULK);
-}
-
-/**
- * usb_endpoint_xfer_control - check if the endpoint has control transfer type
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint is of type control, otherwise it returns false.
- */
-static __inline__ int usb_endpoint_xfer_control(
- const struct usb_endpoint_descriptor *epd)
-{
- return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
- USB_ENDPOINT_XFER_CONTROL);
-}
-
-/**
- * usb_endpoint_xfer_int - check if the endpoint has interrupt transfer type
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint is of type interrupt, otherwise it returns
- * false.
- */
-static __inline__ int usb_endpoint_xfer_int(
- const struct usb_endpoint_descriptor *epd)
-{
- return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
- USB_ENDPOINT_XFER_INT);
-}
-
-/**
- * usb_endpoint_xfer_isoc - check if the endpoint has isochronous transfer type
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint is of type isochronous, otherwise it returns
- * false.
- */
-static __inline__ int usb_endpoint_xfer_isoc(
- const struct usb_endpoint_descriptor *epd)
-{
- return ((epd->bmAttributes & USB_ENDPOINT_XFERTYPE_MASK) ==
- USB_ENDPOINT_XFER_ISOC);
-}
-
-/**
- * usb_endpoint_is_bulk_in - check if the endpoint is bulk IN
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint has bulk transfer type and IN direction,
- * otherwise it returns false.
- */
-static __inline__ int usb_endpoint_is_bulk_in(
- const struct usb_endpoint_descriptor *epd)
-{
- return usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_in(epd);
-}
-
-/**
- * usb_endpoint_is_bulk_out - check if the endpoint is bulk OUT
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint has bulk transfer type and OUT direction,
- * otherwise it returns false.
- */
-static __inline__ int usb_endpoint_is_bulk_out(
- const struct usb_endpoint_descriptor *epd)
-{
- return usb_endpoint_xfer_bulk(epd) && usb_endpoint_dir_out(epd);
-}
-
-/**
- * usb_endpoint_is_int_in - check if the endpoint is interrupt IN
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint has interrupt transfer type and IN direction,
- * otherwise it returns false.
- */
-static __inline__ int usb_endpoint_is_int_in(
- const struct usb_endpoint_descriptor *epd)
-{
- return usb_endpoint_xfer_int(epd) && usb_endpoint_dir_in(epd);
-}
-
-/**
- * usb_endpoint_is_int_out - check if the endpoint is interrupt OUT
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint has interrupt transfer type and OUT direction,
- * otherwise it returns false.
- */
-static __inline__ int usb_endpoint_is_int_out(
- const struct usb_endpoint_descriptor *epd)
-{
- return usb_endpoint_xfer_int(epd) && usb_endpoint_dir_out(epd);
-}
-
-/**
- * usb_endpoint_is_isoc_in - check if the endpoint is isochronous IN
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint has isochronous transfer type and IN direction,
- * otherwise it returns false.
- */
-static __inline__ int usb_endpoint_is_isoc_in(
- const struct usb_endpoint_descriptor *epd)
-{
- return usb_endpoint_xfer_isoc(epd) && usb_endpoint_dir_in(epd);
-}
-
-/**
- * usb_endpoint_is_isoc_out - check if the endpoint is isochronous OUT
- * @epd: endpoint to be checked
- *
- * Returns true if the endpoint has isochronous transfer type and OUT direction,
- * otherwise it returns false.
- */
-static __inline__ int usb_endpoint_is_isoc_out(
- const struct usb_endpoint_descriptor *epd)
-{
- return usb_endpoint_xfer_isoc(epd) && usb_endpoint_dir_out(epd);
-}
-
-/**
- * usb_endpoint_maxp - get endpoint's max packet size
- * @epd: endpoint to be checked
- *
- * Returns @epd's max packet
- */
-static __inline__ int usb_endpoint_maxp(const struct usb_endpoint_descriptor *epd)
-{
- return __le16_to_cpu(epd->wMaxPacketSize);
-}
-
-static __inline__ int usb_endpoint_interrupt_type(
- const struct usb_endpoint_descriptor *epd)
-{
- return epd->bmAttributes & USB_ENDPOINT_INTRTYPE;
-}
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_SSP_ISOC_ENDPOINT_COMP: SuperSpeedPlus Isochronous Endpoint Companion
- * descriptor
- */
-struct usb_ssp_isoc_ep_comp_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __le16 wReseved;
- __le32 dwBytesPerInterval;
-} __attribute__ ((packed));
-
-#define USB_DT_SSP_ISOC_EP_COMP_SIZE 8
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_SS_ENDPOINT_COMP: SuperSpeed Endpoint Companion descriptor */
-struct usb_ss_ep_comp_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 bMaxBurst;
- __u8 bmAttributes;
- __le16 wBytesPerInterval;
-} __attribute__ ((packed));
-
-#define USB_DT_SS_EP_COMP_SIZE 6
-
-/* Bits 4:0 of bmAttributes if this is a bulk endpoint */
-static __inline__ int
-usb_ss_max_streams(const struct usb_ss_ep_comp_descriptor *comp)
-{
- int max_streams;
-
- if (!comp)
- return 0;
-
- max_streams = comp->bmAttributes & 0x1f;
-
- if (!max_streams)
- return 0;
-
- max_streams = 1 << max_streams;
-
- return max_streams;
-}
-
-/* Bits 1:0 of bmAttributes if this is an isoc endpoint */
-#define USB_SS_MULT(p) (1 + ((p) & 0x3))
-/* Bit 7 of bmAttributes if a SSP isoc endpoint companion descriptor exists */
-#define USB_SS_SSP_ISOC_COMP(p) ((p) & (1 << 7))
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_DEVICE_QUALIFIER: Device Qualifier descriptor */
-struct usb_qualifier_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __le16 bcdUSB;
- __u8 bDeviceClass;
- __u8 bDeviceSubClass;
- __u8 bDeviceProtocol;
- __u8 bMaxPacketSize0;
- __u8 bNumConfigurations;
- __u8 bRESERVED;
-} __attribute__ ((packed));
-
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_OTG (from OTG 1.0a supplement) */
-struct usb_otg_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 bmAttributes; /* support for HNP, SRP, etc */
-} __attribute__ ((packed));
-
-/* USB_DT_OTG (from OTG 2.0 supplement) */
-struct usb_otg20_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 bmAttributes; /* support for HNP, SRP and ADP, etc */
- __le16 bcdOTG; /* OTG and EH supplement release number
- * in binary-coded decimal(i.e. 2.0 is 0200H)
- */
-} __attribute__ ((packed));
-
-/* from usb_otg_descriptor.bmAttributes */
-#define USB_OTG_SRP (1 << 0)
-#define USB_OTG_HNP (1 << 1) /* swap host/device roles */
-#define USB_OTG_ADP (1 << 2) /* support ADP */
-
-#define OTG_STS_SELECTOR 0xF000 /* OTG status selector */
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_DEBUG: for special highspeed devices, replacing serial console */
-struct usb_debug_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- /* bulk endpoints with 8 byte maxpacket */
- __u8 bDebugInEndpoint;
- __u8 bDebugOutEndpoint;
-} __attribute__((packed));
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_INTERFACE_ASSOCIATION: groups interfaces */
-struct usb_interface_assoc_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 bFirstInterface;
- __u8 bInterfaceCount;
- __u8 bFunctionClass;
- __u8 bFunctionSubClass;
- __u8 bFunctionProtocol;
- __u8 iFunction;
-} __attribute__ ((packed));
-
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_SECURITY: group of wireless security descriptors, including
- * encryption types available for setting up a CC/association.
- */
-struct usb_security_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __le16 wTotalLength;
- __u8 bNumEncryptionTypes;
-} __attribute__((packed));
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_KEY: used with {GET,SET}_SECURITY_DATA; only public keys
- * may be retrieved.
- */
-struct usb_key_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 tTKID[3];
- __u8 bReserved;
- __u8 bKeyData[0];
-} __attribute__((packed));
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_ENCRYPTION_TYPE: bundled in DT_SECURITY groups */
-struct usb_encryption_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 bEncryptionType;
-#define USB_ENC_TYPE_UNSECURE 0
-#define USB_ENC_TYPE_WIRED 1 /* non-wireless mode */
-#define USB_ENC_TYPE_CCM_1 2 /* aes128/cbc session */
-#define USB_ENC_TYPE_RSA_1 3 /* rsa3072/sha1 auth */
- __u8 bEncryptionValue; /* use in SET_ENCRYPTION */
- __u8 bAuthKeyIndex;
-} __attribute__((packed));
-
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_BOS: group of device-level capabilities */
-struct usb_bos_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __le16 wTotalLength;
- __u8 bNumDeviceCaps;
-} __attribute__((packed));
-
-#define USB_DT_BOS_SIZE 5
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_DEVICE_CAPABILITY: grouped with BOS */
-struct usb_dev_cap_header {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDevCapabilityType;
-} __attribute__((packed));
-
-#define USB_CAP_TYPE_WIRELESS_USB 1
-
-struct usb_wireless_cap_descriptor { /* Ultra Wide Band */
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDevCapabilityType;
-
- __u8 bmAttributes;
-#define USB_WIRELESS_P2P_DRD (1 << 1)
-#define USB_WIRELESS_BEACON_MASK (3 << 2)
-#define USB_WIRELESS_BEACON_SELF (1 << 2)
-#define USB_WIRELESS_BEACON_DIRECTED (2 << 2)
-#define USB_WIRELESS_BEACON_NONE (3 << 2)
- __le16 wPHYRates; /* bit rates, Mbps */
-#define USB_WIRELESS_PHY_53 (1 << 0) /* always set */
-#define USB_WIRELESS_PHY_80 (1 << 1)
-#define USB_WIRELESS_PHY_107 (1 << 2) /* always set */
-#define USB_WIRELESS_PHY_160 (1 << 3)
-#define USB_WIRELESS_PHY_200 (1 << 4) /* always set */
-#define USB_WIRELESS_PHY_320 (1 << 5)
-#define USB_WIRELESS_PHY_400 (1 << 6)
-#define USB_WIRELESS_PHY_480 (1 << 7)
- __u8 bmTFITXPowerInfo; /* TFI power levels */
- __u8 bmFFITXPowerInfo; /* FFI power levels */
- __le16 bmBandGroup;
- __u8 bReserved;
-} __attribute__((packed));
-
-/* USB 2.0 Extension descriptor */
-#define USB_CAP_TYPE_EXT 2
-
-struct usb_ext_cap_descriptor { /* Link Power Management */
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDevCapabilityType;
- __le32 bmAttributes;
-#define USB_LPM_SUPPORT (1 << 1) /* supports LPM */
-#define USB_BESL_SUPPORT (1 << 2) /* supports BESL */
-#define USB_BESL_BASELINE_VALID (1 << 3) /* Baseline BESL valid*/
-#define USB_BESL_DEEP_VALID (1 << 4) /* Deep BESL valid */
-#define USB_GET_BESL_BASELINE(p) (((p) & (0xf << 8)) >> 8)
-#define USB_GET_BESL_DEEP(p) (((p) & (0xf << 12)) >> 12)
-} __attribute__((packed));
-
-#define USB_DT_USB_EXT_CAP_SIZE 7
-
-/*
- * SuperSpeed USB Capability descriptor: Defines the set of SuperSpeed USB
- * specific device level capabilities
- */
-#define USB_SS_CAP_TYPE 3
-struct usb_ss_cap_descriptor { /* Link Power Management */
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDevCapabilityType;
- __u8 bmAttributes;
-#define USB_LTM_SUPPORT (1 << 1) /* supports LTM */
- __le16 wSpeedSupported;
-#define USB_LOW_SPEED_OPERATION (1) /* Low speed operation */
-#define USB_FULL_SPEED_OPERATION (1 << 1) /* Full speed operation */
-#define USB_HIGH_SPEED_OPERATION (1 << 2) /* High speed operation */
-#define USB_5GBPS_OPERATION (1 << 3) /* Operation at 5Gbps */
- __u8 bFunctionalitySupport;
- __u8 bU1devExitLat;
- __le16 bU2DevExitLat;
-} __attribute__((packed));
-
-#define USB_DT_USB_SS_CAP_SIZE 10
-
-/*
- * Container ID Capability descriptor: Defines the instance unique ID used to
- * identify the instance across all operating modes
- */
-#define CONTAINER_ID_TYPE 4
-struct usb_ss_container_id_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDevCapabilityType;
- __u8 bReserved;
- __u8 ContainerID[16]; /* 128-bit number */
-} __attribute__((packed));
-
-#define USB_DT_USB_SS_CONTN_ID_SIZE 20
-
-/*
- * SuperSpeed Plus USB Capability descriptor: Defines the set of
- * SuperSpeed Plus USB specific device level capabilities
- */
-#define USB_SSP_CAP_TYPE 0xa
-struct usb_ssp_cap_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDevCapabilityType;
- __u8 bReserved;
- __le32 bmAttributes;
-#define USB_SSP_SUBLINK_SPEED_ATTRIBS (0x1f << 0) /* sublink speed entries */
-#define USB_SSP_SUBLINK_SPEED_IDS (0xf << 5) /* speed ID entries */
- __le16 wFunctionalitySupport;
-#define USB_SSP_MIN_SUBLINK_SPEED_ATTRIBUTE_ID (0xf)
-#define USB_SSP_MIN_RX_LANE_COUNT (0xf << 8)
-#define USB_SSP_MIN_TX_LANE_COUNT (0xf << 12)
- __le16 wReserved;
- __le32 bmSublinkSpeedAttr[1]; /* list of sublink speed attrib entries */
-#define USB_SSP_SUBLINK_SPEED_SSID (0xf) /* sublink speed ID */
-#define USB_SSP_SUBLINK_SPEED_LSE (0x3 << 4) /* Lanespeed exponent */
-#define USB_SSP_SUBLINK_SPEED_ST (0x3 << 6) /* Sublink type */
-#define USB_SSP_SUBLINK_SPEED_RSVD (0x3f << 8) /* Reserved */
-#define USB_SSP_SUBLINK_SPEED_LP (0x3 << 14) /* Link protocol */
-#define USB_SSP_SUBLINK_SPEED_LSM (0xff << 16) /* Lanespeed mantissa */
-} __attribute__((packed));
-
-/*
- * Precision time measurement capability descriptor: advertised by devices and
- * hubs that support PTM
- */
-#define USB_PTM_CAP_TYPE 0xb
-struct usb_ptm_cap_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDevCapabilityType;
-} __attribute__((packed));
-
-/*
- * The size of the descriptor for the Sublink Speed Attribute Count
- * (SSAC) specified in bmAttributes[4:0].
- */
-#define USB_DT_USB_SSP_CAP_SIZE(ssac) (16 + ssac * 4)
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_DT_WIRELESS_ENDPOINT_COMP: companion descriptor associated with
- * each endpoint descriptor for a wireless device
- */
-struct usb_wireless_ep_comp_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 bMaxBurst;
- __u8 bMaxSequence;
- __le16 wMaxStreamDelay;
- __le16 wOverTheAirPacketSize;
- __u8 bOverTheAirInterval;
- __u8 bmCompAttributes;
-#define USB_ENDPOINT_SWITCH_MASK 0x03 /* in bmCompAttributes */
-#define USB_ENDPOINT_SWITCH_NO 0
-#define USB_ENDPOINT_SWITCH_SWITCH 1
-#define USB_ENDPOINT_SWITCH_SCALE 2
-} __attribute__((packed));
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_REQ_SET_HANDSHAKE is a four-way handshake used between a wireless
- * host and a device for connection set up, mutual authentication, and
- * exchanging short lived session keys. The handshake depends on a CC.
- */
-struct usb_handshake {
- __u8 bMessageNumber;
- __u8 bStatus;
- __u8 tTKID[3];
- __u8 bReserved;
- __u8 CDID[16];
- __u8 nonce[16];
- __u8 MIC[8];
-} __attribute__((packed));
-
-/*-------------------------------------------------------------------------*/
-
-/* USB_REQ_SET_CONNECTION modifies or revokes a connection context (CC).
- * A CC may also be set up using non-wireless secure channels (including
- * wired USB!), and some devices may support CCs with multiple hosts.
- */
-struct usb_connection_context {
- __u8 CHID[16]; /* persistent host id */
- __u8 CDID[16]; /* device id (unique w/in host context) */
- __u8 CK[16]; /* connection key */
-} __attribute__((packed));
-
-/*-------------------------------------------------------------------------*/
-
-/* USB 2.0 defines three speeds, here's how Linux identifies them */
-
-enum usb_device_speed {
- USB_SPEED_UNKNOWN = 0, /* enumerating */
- USB_SPEED_LOW, USB_SPEED_FULL, /* usb 1.1 */
- USB_SPEED_HIGH, /* usb 2.0 */
- USB_SPEED_WIRELESS, /* wireless (usb 2.5) */
- USB_SPEED_SUPER, /* usb 3.0 */
- USB_SPEED_SUPER_PLUS, /* usb 3.1 */
-};
-
-
-enum usb_device_state {
- /* NOTATTACHED isn't in the USB spec, and this state acts
- * the same as ATTACHED ... but it's clearer this way.
- */
- USB_STATE_NOTATTACHED = 0,
-
- /* chapter 9 and authentication (wireless) device states */
- USB_STATE_ATTACHED,
- USB_STATE_POWERED, /* wired */
- USB_STATE_RECONNECTING, /* auth */
- USB_STATE_UNAUTHENTICATED, /* auth */
- USB_STATE_DEFAULT, /* limited function */
- USB_STATE_ADDRESS,
- USB_STATE_CONFIGURED, /* most functions */
-
- USB_STATE_SUSPENDED
-
- /* NOTE: there are actually four different SUSPENDED
- * states, returning to POWERED, DEFAULT, ADDRESS, or
- * CONFIGURED respectively when SOF tokens flow again.
- * At this level there's no difference between L1 and L2
- * suspend states. (L2 being original USB 1.1 suspend.)
- */
-};
-
-enum usb3_link_state {
- USB3_LPM_U0 = 0,
- USB3_LPM_U1,
- USB3_LPM_U2,
- USB3_LPM_U3
-};
-
-/*
- * A U1 timeout of 0x0 means the parent hub will reject any transitions to U1.
- * 0xff means the parent hub will accept transitions to U1, but will not
- * initiate a transition.
- *
- * A U1 timeout of 0x1 to 0x7F also causes the hub to initiate a transition to
- * U1 after that many microseconds. Timeouts of 0x80 to 0xFE are reserved
- * values.
- *
- * A U2 timeout of 0x0 means the parent hub will reject any transitions to U2.
- * 0xff means the parent hub will accept transitions to U2, but will not
- * initiate a transition.
- *
- * A U2 timeout of 0x1 to 0xFE also causes the hub to initiate a transition to
- * U2 after N*256 microseconds. Therefore a U2 timeout value of 0x1 means a U2
- * idle timer of 256 microseconds, 0x2 means 512 microseconds, 0xFE means
- * 65.024ms.
- */
-#define USB3_LPM_DISABLED 0x0
-#define USB3_LPM_U1_MAX_TIMEOUT 0x7F
-#define USB3_LPM_U2_MAX_TIMEOUT 0xFE
-#define USB3_LPM_DEVICE_INITIATED 0xFF
-
-struct usb_set_sel_req {
- __u8 u1_sel;
- __u8 u1_pel;
- __le16 u2_sel;
- __le16 u2_pel;
-} __attribute__ ((packed));
-
-/*
- * The Set System Exit Latency control transfer provides one byte each for
- * U1 SEL and U1 PEL, so the max exit latency is 0xFF. U2 SEL and U2 PEL each
- * are two bytes long.
- */
-#define USB3_LPM_MAX_U1_SEL_PEL 0xFF
-#define USB3_LPM_MAX_U2_SEL_PEL 0xFFFF
-
-/*-------------------------------------------------------------------------*/
-
-/*
- * As per USB compliance update, a device that is actively drawing
- * more than 100mA from USB must report itself as bus-powered in
- * the GetStatus(DEVICE) call.
- * http://compliance.usb.org/index.asp?UpdateFile=Electrical&Format=Standard#34
- */
-#define USB_SELF_POWER_VBUS_MAX_DRAW 100
-
-#endif /* __LINUX_USB_CH9_H */
diff --git a/linux-headers/include/linux/usb/functionfs.h b/linux-headers/include/linux/usb/functionfs.h
deleted file mode 100644
index 3585d3c..0000000
--- a/linux-headers/include/linux/usb/functionfs.h
+++ /dev/null
@@ -1,286 +0,0 @@
-#ifndef __LINUX_FUNCTIONFS_H__
-#define __LINUX_FUNCTIONFS_H__
-
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-#include <linux/usb/ch9.h>
-
-
-enum {
- FUNCTIONFS_DESCRIPTORS_MAGIC = 1,
- FUNCTIONFS_STRINGS_MAGIC = 2,
- FUNCTIONFS_DESCRIPTORS_MAGIC_V2 = 3,
-};
-
-enum functionfs_flags {
- FUNCTIONFS_HAS_FS_DESC = 1,
- FUNCTIONFS_HAS_HS_DESC = 2,
- FUNCTIONFS_HAS_SS_DESC = 4,
- FUNCTIONFS_HAS_MS_OS_DESC = 8,
- FUNCTIONFS_VIRTUAL_ADDR = 16,
- FUNCTIONFS_EVENTFD = 32,
-};
-
-/* Descriptor of an non-audio endpoint */
-struct usb_endpoint_descriptor_no_audio {
- __u8 bLength;
- __u8 bDescriptorType;
-
- __u8 bEndpointAddress;
- __u8 bmAttributes;
- __le16 wMaxPacketSize;
- __u8 bInterval;
-} __attribute__((packed));
-
-struct usb_functionfs_descs_head_v2 {
- __le32 magic;
- __le32 length;
- __le32 flags;
- /*
- * __le32 fs_count, hs_count, fs_count; must be included manually in
- * the structure taking flags into consideration.
- */
-} __attribute__((packed));
-
-/* Legacy format, deprecated as of 3.14. */
-struct usb_functionfs_descs_head {
- __le32 magic;
- __le32 length;
- __le32 fs_count;
- __le32 hs_count;
-} __attribute__((packed, deprecated));
-
-/* MS OS Descriptor header */
-struct usb_os_desc_header {
- __u8 interface;
- __le32 dwLength;
- __le16 bcdVersion;
- __le16 wIndex;
- union {
- struct {
- __u8 bCount;
- __u8 Reserved;
- };
- __le16 wCount;
- };
-} __attribute__((packed));
-
-struct usb_ext_compat_desc {
- __u8 bFirstInterfaceNumber;
- __u8 Reserved1;
- __u8 CompatibleID[8];
- __u8 SubCompatibleID[8];
- __u8 Reserved2[6];
-};
-
-struct usb_ext_prop_desc {
- __le32 dwSize;
- __le32 dwPropertyDataType;
- __le16 wPropertyNameLength;
-} __attribute__((packed));
-
-
-/*
- * Descriptors format:
- *
- * | off | name | type | description |
- * |-----+-----------+--------------+--------------------------------------|
- * | 0 | magic | LE32 | FUNCTIONFS_DESCRIPTORS_MAGIC_V2 |
- * | 4 | length | LE32 | length of the whole data chunk |
- * | 8 | flags | LE32 | combination of functionfs_flags |
- * | | fs_count | LE32 | number of full-speed descriptors |
- * | | hs_count | LE32 | number of high-speed descriptors |
- * | | ss_count | LE32 | number of super-speed descriptors |
- * | | os_count | LE32 | number of MS OS descriptors |
- * | | fs_descrs | Descriptor[] | list of full-speed descriptors |
- * | | hs_descrs | Descriptor[] | list of high-speed descriptors |
- * | | ss_descrs | Descriptor[] | list of super-speed descriptors |
- * | | os_descrs | OSDesc[] | list of MS OS descriptors |
- *
- * Depending on which flags are set, various fields may be missing in the
- * structure. Any flags that are not recognised cause the whole block to be
- * rejected with -ENOSYS.
- *
- * Legacy descriptors format (deprecated as of 3.14):
- *
- * | off | name | type | description |
- * |-----+-----------+--------------+--------------------------------------|
- * | 0 | magic | LE32 | FUNCTIONFS_DESCRIPTORS_MAGIC |
- * | 4 | length | LE32 | length of the whole data chunk |
- * | 8 | fs_count | LE32 | number of full-speed descriptors |
- * | 12 | hs_count | LE32 | number of high-speed descriptors |
- * | 16 | fs_descrs | Descriptor[] | list of full-speed descriptors |
- * | | hs_descrs | Descriptor[] | list of high-speed descriptors |
- *
- * All numbers must be in little endian order.
- *
- * Descriptor[] is an array of valid USB descriptors which have the following
- * format:
- *
- * | off | name | type | description |
- * |-----+-----------------+------+--------------------------|
- * | 0 | bLength | U8 | length of the descriptor |
- * | 1 | bDescriptorType | U8 | descriptor type |
- * | 2 | payload | | descriptor's payload |
- *
- * OSDesc[] is an array of valid MS OS Feature Descriptors which have one of
- * the following formats:
- *
- * | off | name | type | description |
- * |-----+-----------------+------+--------------------------|
- * | 0 | inteface | U8 | related interface number |
- * | 1 | dwLength | U32 | length of the descriptor |
- * | 5 | bcdVersion | U16 | currently supported: 1 |
- * | 7 | wIndex | U16 | currently supported: 4 |
- * | 9 | bCount | U8 | number of ext. compat. |
- * | 10 | Reserved | U8 | 0 |
- * | 11 | ExtCompat[] | | list of ext. compat. d. |
- *
- * | off | name | type | description |
- * |-----+-----------------+------+--------------------------|
- * | 0 | inteface | U8 | related interface number |
- * | 1 | dwLength | U32 | length of the descriptor |
- * | 5 | bcdVersion | U16 | currently supported: 1 |
- * | 7 | wIndex | U16 | currently supported: 5 |
- * | 9 | wCount | U16 | number of ext. compat. |
- * | 11 | ExtProp[] | | list of ext. prop. d. |
- *
- * ExtCompat[] is an array of valid Extended Compatiblity descriptors
- * which have the following format:
- *
- * | off | name | type | description |
- * |-----+-----------------------+------+-------------------------------------|
- * | 0 | bFirstInterfaceNumber | U8 | index of the interface or of the 1st|
- * | | | | interface in an IAD group |
- * | 1 | Reserved | U8 | 0 |
- * | 2 | CompatibleID | U8[8]| compatible ID string |
- * | 10 | SubCompatibleID | U8[8]| subcompatible ID string |
- * | 18 | Reserved | U8[6]| 0 |
- *
- * ExtProp[] is an array of valid Extended Properties descriptors
- * which have the following format:
- *
- * | off | name | type | description |
- * |-----+-----------------------+------+-------------------------------------|
- * | 0 | dwSize | U32 | length of the descriptor |
- * | 4 | dwPropertyDataType | U32 | 1..7 |
- * | 8 | wPropertyNameLength | U16 | bPropertyName length (NL) |
- * | 10 | bPropertyName |U8[NL]| name of this property |
- * |10+NL| dwPropertyDataLength | U32 | bPropertyData length (DL) |
- * |14+NL| bProperty |U8[DL]| payload of this property |
- */
-
-struct usb_functionfs_strings_head {
- __le32 magic;
- __le32 length;
- __le32 str_count;
- __le32 lang_count;
-} __attribute__((packed));
-
-/*
- * Strings format:
- *
- * | off | name | type | description |
- * |-----+------------+-----------------------+----------------------------|
- * | 0 | magic | LE32 | FUNCTIONFS_STRINGS_MAGIC |
- * | 4 | length | LE32 | length of the data chunk |
- * | 8 | str_count | LE32 | number of strings |
- * | 12 | lang_count | LE32 | number of languages |
- * | 16 | stringtab | StringTab[lang_count] | table of strings per lang |
- *
- * For each language there is one stringtab entry (ie. there are lang_count
- * stringtab entires). Each StringTab has following format:
- *
- * | off | name | type | description |
- * |-----+---------+-------------------+------------------------------------|
- * | 0 | lang | LE16 | language code |
- * | 2 | strings | String[str_count] | array of strings in given language |
- *
- * For each string there is one strings entry (ie. there are str_count
- * string entries). Each String is a NUL terminated string encoded in
- * UTF-8.
- */
-
-
-
-/*
- * Events are delivered on the ep0 file descriptor, when the user mode driver
- * reads from this file descriptor after writing the descriptors. Don't
- * stop polling this descriptor.
- */
-
-enum usb_functionfs_event_type {
- FUNCTIONFS_BIND,
- FUNCTIONFS_UNBIND,
-
- FUNCTIONFS_ENABLE,
- FUNCTIONFS_DISABLE,
-
- FUNCTIONFS_SETUP,
-
- FUNCTIONFS_SUSPEND,
- FUNCTIONFS_RESUME
-};
-
-/* NOTE: this structure must stay the same size and layout on
- * both 32-bit and 64-bit kernels.
- */
-struct usb_functionfs_event {
- union {
- /* SETUP: packet; DATA phase i/o precedes next event
- *(setup.bmRequestType & USB_DIR_IN) flags direction */
- struct usb_ctrlrequest setup;
- } __attribute__((packed)) u;
-
- /* enum usb_functionfs_event_type */
- __u8 type;
- __u8 _pad[3];
-} __attribute__((packed));
-
-
-/* Endpoint ioctls */
-/* The same as in gadgetfs */
-
-/* IN transfers may be reported to the gadget driver as complete
- * when the fifo is loaded, before the host reads the data;
- * OUT transfers may be reported to the host's "client" driver as
- * complete when they're sitting in the FIFO unread.
- * THIS returns how many bytes are "unclaimed" in the endpoint fifo
- * (needed for precise fault handling, when the hardware allows it)
- */
-#define FUNCTIONFS_FIFO_STATUS _IO('g', 1)
-
-/* discards any unclaimed data in the fifo. */
-#define FUNCTIONFS_FIFO_FLUSH _IO('g', 2)
-
-/* resets endpoint halt+toggle; used to implement set_interface.
- * some hardware (like pxa2xx) can't support this.
- */
-#define FUNCTIONFS_CLEAR_HALT _IO('g', 3)
-
-/* Specific for functionfs */
-
-/*
- * Returns reverse mapping of an interface. Called on EP0. If there
- * is no such interface returns -EDOM. If function is not active
- * returns -ENODEV.
- */
-#define FUNCTIONFS_INTERFACE_REVMAP _IO('g', 128)
-
-/*
- * Returns real bEndpointAddress of an endpoint. If function is not
- * active returns -ENODEV.
- */
-#define FUNCTIONFS_ENDPOINT_REVMAP _IO('g', 129)
-
-/*
- * Returns endpoint descriptor. If function is not active returns -ENODEV.
- */
-#define FUNCTIONFS_ENDPOINT_DESC _IOR('g', 130, \
- struct usb_endpoint_descriptor)
-
-
-
-#endif /* __LINUX_FUNCTIONFS_H__ */
diff --git a/linux-headers/include/linux/usb/g_printer.h b/linux-headers/include/linux/usb/g_printer.h
deleted file mode 100644
index 6178fde..0000000
--- a/linux-headers/include/linux/usb/g_printer.h
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * g_printer.h -- Header file for USB Printer gadget driver
- *
- * Copyright (C) 2007 Craig W. Nadler
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef __LINUX_USB_G_PRINTER_H
-#define __LINUX_USB_G_PRINTER_H
-
-#define PRINTER_NOT_ERROR 0x08
-#define PRINTER_SELECTED 0x10
-#define PRINTER_PAPER_EMPTY 0x20
-
-/* The 'g' code is also used by gadgetfs ioctl requests.
- * Don't add any colliding codes to either driver, and keep
- * them in unique ranges (size 0x20 for now).
- */
-#define GADGET_GET_PRINTER_STATUS _IOR('g', 0x21, unsigned char)
-#define GADGET_SET_PRINTER_STATUS _IOWR('g', 0x22, unsigned char)
-
-#endif /* __LINUX_USB_G_PRINTER_H */
diff --git a/linux-headers/include/linux/usb/gadgetfs.h b/linux-headers/include/linux/usb/gadgetfs.h
deleted file mode 100644
index 0bb12e0..0000000
--- a/linux-headers/include/linux/usb/gadgetfs.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Filesystem based user-mode API to USB Gadget controller hardware
- *
- * Other than ep0 operations, most things are done by read() and write()
- * on endpoint files found in one directory. They are configured by
- * writing descriptors, and then may be used for normal stream style
- * i/o requests. When ep0 is configured, the device can enumerate;
- * when it's closed, the device disconnects from usb. Operations on
- * ep0 require ioctl() operations.
- *
- * Configuration and device descriptors get written to /dev/gadget/$CHIP,
- * which may then be used to read usb_gadgetfs_event structs. The driver
- * may activate endpoints as it handles SET_CONFIGURATION setup events,
- * or earlier; writing endpoint descriptors to /dev/gadget/$ENDPOINT
- * then performing data transfers by reading or writing.
- */
-
-#ifndef __LINUX_USB_GADGETFS_H
-#define __LINUX_USB_GADGETFS_H
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-#include <linux/usb/ch9.h>
-
-/*
- * Events are delivered on the ep0 file descriptor, when the user mode driver
- * reads from this file descriptor after writing the descriptors. Don't
- * stop polling this descriptor.
- */
-
-enum usb_gadgetfs_event_type {
- GADGETFS_NOP = 0,
-
- GADGETFS_CONNECT,
- GADGETFS_DISCONNECT,
- GADGETFS_SETUP,
- GADGETFS_SUSPEND,
- /* and likely more ! */
-};
-
-/* NOTE: this structure must stay the same size and layout on
- * both 32-bit and 64-bit kernels.
- */
-struct usb_gadgetfs_event {
- union {
- /* NOP, DISCONNECT, SUSPEND: nothing
- * ... some hardware can't report disconnection
- */
-
- /* CONNECT: just the speed */
- enum usb_device_speed speed;
-
- /* SETUP: packet; DATA phase i/o precedes next event
- *(setup.bmRequestType & USB_DIR_IN) flags direction
- * ... includes SET_CONFIGURATION, SET_INTERFACE
- */
- struct usb_ctrlrequest setup;
- } u;
- enum usb_gadgetfs_event_type type;
-};
-
-
-/* The 'g' code is also used by printer gadget ioctl requests.
- * Don't add any colliding codes to either driver, and keep
- * them in unique ranges (size 0x20 for now).
- */
-
-/* endpoint ioctls */
-
-/* IN transfers may be reported to the gadget driver as complete
- * when the fifo is loaded, before the host reads the data;
- * OUT transfers may be reported to the host's "client" driver as
- * complete when they're sitting in the FIFO unread.
- * THIS returns how many bytes are "unclaimed" in the endpoint fifo
- * (needed for precise fault handling, when the hardware allows it)
- */
-#define GADGETFS_FIFO_STATUS _IO('g', 1)
-
-/* discards any unclaimed data in the fifo. */
-#define GADGETFS_FIFO_FLUSH _IO('g', 2)
-
-/* resets endpoint halt+toggle; used to implement set_interface.
- * some hardware (like pxa2xx) can't support this.
- */
-#define GADGETFS_CLEAR_HALT _IO('g', 3)
-
-#endif /* __LINUX_USB_GADGETFS_H */
diff --git a/linux-headers/include/linux/usb/midi.h b/linux-headers/include/linux/usb/midi.h
deleted file mode 100644
index c8c52e3..0000000
--- a/linux-headers/include/linux/usb/midi.h
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * <linux/usb/midi.h> -- USB MIDI definitions.
- *
- * Copyright (C) 2006 Thumtronics Pty Ltd.
- * Developed for Thumtronics by Grey Innovation
- * Ben Williamson <ben.williamson@greyinnovation.com>
- *
- * This software is distributed under the terms of the GNU General Public
- * License ("GPL") version 2, as published by the Free Software Foundation.
- *
- * This file holds USB constants and structures defined
- * by the USB Device Class Definition for MIDI Devices.
- * Comments below reference relevant sections of that document:
- *
- * http://www.usb.org/developers/devclass_docs/midi10.pdf
- */
-
-#ifndef __LINUX_USB_MIDI_H
-#define __LINUX_USB_MIDI_H
-
-#include <linux/types.h>
-
-/* A.1 MS Class-Specific Interface Descriptor Subtypes */
-#define USB_MS_HEADER 0x01
-#define USB_MS_MIDI_IN_JACK 0x02
-#define USB_MS_MIDI_OUT_JACK 0x03
-#define USB_MS_ELEMENT 0x04
-
-/* A.2 MS Class-Specific Endpoint Descriptor Subtypes */
-#define USB_MS_GENERAL 0x01
-
-/* A.3 MS MIDI IN and OUT Jack Types */
-#define USB_MS_EMBEDDED 0x01
-#define USB_MS_EXTERNAL 0x02
-
-/* 6.1.2.1 Class-Specific MS Interface Header Descriptor */
-struct usb_ms_header_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubtype;
- __le16 bcdMSC;
- __le16 wTotalLength;
-} __attribute__ ((packed));
-
-#define USB_DT_MS_HEADER_SIZE 7
-
-/* 6.1.2.2 MIDI IN Jack Descriptor */
-struct usb_midi_in_jack_descriptor {
- __u8 bLength;
- __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
- __u8 bDescriptorSubtype; /* USB_MS_MIDI_IN_JACK */
- __u8 bJackType; /* USB_MS_EMBEDDED/EXTERNAL */
- __u8 bJackID;
- __u8 iJack;
-} __attribute__ ((packed));
-
-#define USB_DT_MIDI_IN_SIZE 6
-
-struct usb_midi_source_pin {
- __u8 baSourceID;
- __u8 baSourcePin;
-} __attribute__ ((packed));
-
-/* 6.1.2.3 MIDI OUT Jack Descriptor */
-struct usb_midi_out_jack_descriptor {
- __u8 bLength;
- __u8 bDescriptorType; /* USB_DT_CS_INTERFACE */
- __u8 bDescriptorSubtype; /* USB_MS_MIDI_OUT_JACK */
- __u8 bJackType; /* USB_MS_EMBEDDED/EXTERNAL */
- __u8 bJackID;
- __u8 bNrInputPins; /* p */
- struct usb_midi_source_pin pins[]; /* [p] */
- /*__u8 iJack; -- omitted due to variable-sized pins[] */
-} __attribute__ ((packed));
-
-#define USB_DT_MIDI_OUT_SIZE(p) (7 + 2 * (p))
-
-/* As above, but more useful for defining your own descriptors: */
-#define DECLARE_USB_MIDI_OUT_JACK_DESCRIPTOR(p) \
-struct usb_midi_out_jack_descriptor_##p { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubtype; \
- __u8 bJackType; \
- __u8 bJackID; \
- __u8 bNrInputPins; \
- struct usb_midi_source_pin pins[p]; \
- __u8 iJack; \
-} __attribute__ ((packed))
-
-/* 6.2.2 Class-Specific MS Bulk Data Endpoint Descriptor */
-struct usb_ms_endpoint_descriptor {
- __u8 bLength; /* 4+n */
- __u8 bDescriptorType; /* USB_DT_CS_ENDPOINT */
- __u8 bDescriptorSubtype; /* USB_MS_GENERAL */
- __u8 bNumEmbMIDIJack; /* n */
- __u8 baAssocJackID[]; /* [n] */
-} __attribute__ ((packed));
-
-#define USB_DT_MS_ENDPOINT_SIZE(n) (4 + (n))
-
-/* As above, but more useful for defining your own descriptors: */
-#define DECLARE_USB_MS_ENDPOINT_DESCRIPTOR(n) \
-struct usb_ms_endpoint_descriptor_##n { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubtype; \
- __u8 bNumEmbMIDIJack; \
- __u8 baAssocJackID[n]; \
-} __attribute__ ((packed))
-
-#endif /* __LINUX_USB_MIDI_H */
diff --git a/linux-headers/include/linux/usb/tmc.h b/linux-headers/include/linux/usb/tmc.h
deleted file mode 100644
index 2e59d9c..0000000
--- a/linux-headers/include/linux/usb/tmc.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (C) 2007 Stefan Kopp, Gechingen, Germany
- * Copyright (C) 2008 Novell, Inc.
- * Copyright (C) 2008 Greg Kroah-Hartman <gregkh@suse.de>
- * Copyright (C) 2015 Dave Penkler <dpenkler@gmail.com>
- *
- * This file holds USB constants defined by the USB Device Class
- * and USB488 Subclass Definitions for Test and Measurement devices
- * published by the USB-IF.
- *
- * It also has the ioctl and capability definitions for the
- * usbtmc kernel driver that userspace needs to know about.
- */
-
-#ifndef __LINUX_USB_TMC_H
-#define __LINUX_USB_TMC_H
-
-/* USB TMC status values */
-#define USBTMC_STATUS_SUCCESS 0x01
-#define USBTMC_STATUS_PENDING 0x02
-#define USBTMC_STATUS_FAILED 0x80
-#define USBTMC_STATUS_TRANSFER_NOT_IN_PROGRESS 0x81
-#define USBTMC_STATUS_SPLIT_NOT_IN_PROGRESS 0x82
-#define USBTMC_STATUS_SPLIT_IN_PROGRESS 0x83
-
-/* USB TMC requests values */
-#define USBTMC_REQUEST_INITIATE_ABORT_BULK_OUT 1
-#define USBTMC_REQUEST_CHECK_ABORT_BULK_OUT_STATUS 2
-#define USBTMC_REQUEST_INITIATE_ABORT_BULK_IN 3
-#define USBTMC_REQUEST_CHECK_ABORT_BULK_IN_STATUS 4
-#define USBTMC_REQUEST_INITIATE_CLEAR 5
-#define USBTMC_REQUEST_CHECK_CLEAR_STATUS 6
-#define USBTMC_REQUEST_GET_CAPABILITIES 7
-#define USBTMC_REQUEST_INDICATOR_PULSE 64
-#define USBTMC488_REQUEST_READ_STATUS_BYTE 128
-#define USBTMC488_REQUEST_REN_CONTROL 160
-#define USBTMC488_REQUEST_GOTO_LOCAL 161
-#define USBTMC488_REQUEST_LOCAL_LOCKOUT 162
-
-/* Request values for USBTMC driver's ioctl entry point */
-#define USBTMC_IOC_NR 91
-#define USBTMC_IOCTL_INDICATOR_PULSE _IO(USBTMC_IOC_NR, 1)
-#define USBTMC_IOCTL_CLEAR _IO(USBTMC_IOC_NR, 2)
-#define USBTMC_IOCTL_ABORT_BULK_OUT _IO(USBTMC_IOC_NR, 3)
-#define USBTMC_IOCTL_ABORT_BULK_IN _IO(USBTMC_IOC_NR, 4)
-#define USBTMC_IOCTL_CLEAR_OUT_HALT _IO(USBTMC_IOC_NR, 6)
-#define USBTMC_IOCTL_CLEAR_IN_HALT _IO(USBTMC_IOC_NR, 7)
-#define USBTMC488_IOCTL_GET_CAPS _IOR(USBTMC_IOC_NR, 17, unsigned char)
-#define USBTMC488_IOCTL_READ_STB _IOR(USBTMC_IOC_NR, 18, unsigned char)
-#define USBTMC488_IOCTL_REN_CONTROL _IOW(USBTMC_IOC_NR, 19, unsigned char)
-#define USBTMC488_IOCTL_GOTO_LOCAL _IO(USBTMC_IOC_NR, 20)
-#define USBTMC488_IOCTL_LOCAL_LOCKOUT _IO(USBTMC_IOC_NR, 21)
-
-/* Driver encoded usb488 capabilities */
-#define USBTMC488_CAPABILITY_TRIGGER 1
-#define USBTMC488_CAPABILITY_SIMPLE 2
-#define USBTMC488_CAPABILITY_REN_CONTROL 2
-#define USBTMC488_CAPABILITY_GOTO_LOCAL 2
-#define USBTMC488_CAPABILITY_LOCAL_LOCKOUT 2
-#define USBTMC488_CAPABILITY_488_DOT_2 4
-#define USBTMC488_CAPABILITY_DT1 16
-#define USBTMC488_CAPABILITY_RL1 32
-#define USBTMC488_CAPABILITY_SR1 64
-#define USBTMC488_CAPABILITY_FULL_SCPI 128
-
-#endif
diff --git a/linux-headers/include/linux/usb/video.h b/linux-headers/include/linux/usb/video.h
deleted file mode 100644
index 69ab695..0000000
--- a/linux-headers/include/linux/usb/video.h
+++ /dev/null
@@ -1,569 +0,0 @@
-/*
- * USB Video Class definitions.
- *
- * Copyright (C) 2009 Laurent Pinchart <laurent.pinchart@skynet.be>
- *
- * This file holds USB constants and structures defined by the USB Device
- * Class Definition for Video Devices. Unless otherwise stated, comments
- * below reference relevant sections of the USB Video Class 1.1 specification
- * available at
- *
- * http://www.usb.org/developers/devclass_docs/USB_Video_Class_1_1.zip
- */
-
-#ifndef __LINUX_USB_VIDEO_H
-#define __LINUX_USB_VIDEO_H
-
-#include <linux/types.h>
-
-/* --------------------------------------------------------------------------
- * UVC constants
- */
-
-/* A.2. Video Interface Subclass Codes */
-#define UVC_SC_UNDEFINED 0x00
-#define UVC_SC_VIDEOCONTROL 0x01
-#define UVC_SC_VIDEOSTREAMING 0x02
-#define UVC_SC_VIDEO_INTERFACE_COLLECTION 0x03
-
-/* A.3. Video Interface Protocol Codes */
-#define UVC_PC_PROTOCOL_UNDEFINED 0x00
-#define UVC_PC_PROTOCOL_15 0x01
-
-/* A.5. Video Class-Specific VC Interface Descriptor Subtypes */
-#define UVC_VC_DESCRIPTOR_UNDEFINED 0x00
-#define UVC_VC_HEADER 0x01
-#define UVC_VC_INPUT_TERMINAL 0x02
-#define UVC_VC_OUTPUT_TERMINAL 0x03
-#define UVC_VC_SELECTOR_UNIT 0x04
-#define UVC_VC_PROCESSING_UNIT 0x05
-#define UVC_VC_EXTENSION_UNIT 0x06
-
-/* A.6. Video Class-Specific VS Interface Descriptor Subtypes */
-#define UVC_VS_UNDEFINED 0x00
-#define UVC_VS_INPUT_HEADER 0x01
-#define UVC_VS_OUTPUT_HEADER 0x02
-#define UVC_VS_STILL_IMAGE_FRAME 0x03
-#define UVC_VS_FORMAT_UNCOMPRESSED 0x04
-#define UVC_VS_FRAME_UNCOMPRESSED 0x05
-#define UVC_VS_FORMAT_MJPEG 0x06
-#define UVC_VS_FRAME_MJPEG 0x07
-#define UVC_VS_FORMAT_MPEG2TS 0x0a
-#define UVC_VS_FORMAT_DV 0x0c
-#define UVC_VS_COLORFORMAT 0x0d
-#define UVC_VS_FORMAT_FRAME_BASED 0x10
-#define UVC_VS_FRAME_FRAME_BASED 0x11
-#define UVC_VS_FORMAT_STREAM_BASED 0x12
-
-/* A.7. Video Class-Specific Endpoint Descriptor Subtypes */
-#define UVC_EP_UNDEFINED 0x00
-#define UVC_EP_GENERAL 0x01
-#define UVC_EP_ENDPOINT 0x02
-#define UVC_EP_INTERRUPT 0x03
-
-/* A.8. Video Class-Specific Request Codes */
-#define UVC_RC_UNDEFINED 0x00
-#define UVC_SET_CUR 0x01
-#define UVC_GET_CUR 0x81
-#define UVC_GET_MIN 0x82
-#define UVC_GET_MAX 0x83
-#define UVC_GET_RES 0x84
-#define UVC_GET_LEN 0x85
-#define UVC_GET_INFO 0x86
-#define UVC_GET_DEF 0x87
-
-/* A.9.1. VideoControl Interface Control Selectors */
-#define UVC_VC_CONTROL_UNDEFINED 0x00
-#define UVC_VC_VIDEO_POWER_MODE_CONTROL 0x01
-#define UVC_VC_REQUEST_ERROR_CODE_CONTROL 0x02
-
-/* A.9.2. Terminal Control Selectors */
-#define UVC_TE_CONTROL_UNDEFINED 0x00
-
-/* A.9.3. Selector Unit Control Selectors */
-#define UVC_SU_CONTROL_UNDEFINED 0x00
-#define UVC_SU_INPUT_SELECT_CONTROL 0x01
-
-/* A.9.4. Camera Terminal Control Selectors */
-#define UVC_CT_CONTROL_UNDEFINED 0x00
-#define UVC_CT_SCANNING_MODE_CONTROL 0x01
-#define UVC_CT_AE_MODE_CONTROL 0x02
-#define UVC_CT_AE_PRIORITY_CONTROL 0x03
-#define UVC_CT_EXPOSURE_TIME_ABSOLUTE_CONTROL 0x04
-#define UVC_CT_EXPOSURE_TIME_RELATIVE_CONTROL 0x05
-#define UVC_CT_FOCUS_ABSOLUTE_CONTROL 0x06
-#define UVC_CT_FOCUS_RELATIVE_CONTROL 0x07
-#define UVC_CT_FOCUS_AUTO_CONTROL 0x08
-#define UVC_CT_IRIS_ABSOLUTE_CONTROL 0x09
-#define UVC_CT_IRIS_RELATIVE_CONTROL 0x0a
-#define UVC_CT_ZOOM_ABSOLUTE_CONTROL 0x0b
-#define UVC_CT_ZOOM_RELATIVE_CONTROL 0x0c
-#define UVC_CT_PANTILT_ABSOLUTE_CONTROL 0x0d
-#define UVC_CT_PANTILT_RELATIVE_CONTROL 0x0e
-#define UVC_CT_ROLL_ABSOLUTE_CONTROL 0x0f
-#define UVC_CT_ROLL_RELATIVE_CONTROL 0x10
-#define UVC_CT_PRIVACY_CONTROL 0x11
-
-/* A.9.5. Processing Unit Control Selectors */
-#define UVC_PU_CONTROL_UNDEFINED 0x00
-#define UVC_PU_BACKLIGHT_COMPENSATION_CONTROL 0x01
-#define UVC_PU_BRIGHTNESS_CONTROL 0x02
-#define UVC_PU_CONTRAST_CONTROL 0x03
-#define UVC_PU_GAIN_CONTROL 0x04
-#define UVC_PU_POWER_LINE_FREQUENCY_CONTROL 0x05
-#define UVC_PU_HUE_CONTROL 0x06
-#define UVC_PU_SATURATION_CONTROL 0x07
-#define UVC_PU_SHARPNESS_CONTROL 0x08
-#define UVC_PU_GAMMA_CONTROL 0x09
-#define UVC_PU_WHITE_BALANCE_TEMPERATURE_CONTROL 0x0a
-#define UVC_PU_WHITE_BALANCE_TEMPERATURE_AUTO_CONTROL 0x0b
-#define UVC_PU_WHITE_BALANCE_COMPONENT_CONTROL 0x0c
-#define UVC_PU_WHITE_BALANCE_COMPONENT_AUTO_CONTROL 0x0d
-#define UVC_PU_DIGITAL_MULTIPLIER_CONTROL 0x0e
-#define UVC_PU_DIGITAL_MULTIPLIER_LIMIT_CONTROL 0x0f
-#define UVC_PU_HUE_AUTO_CONTROL 0x10
-#define UVC_PU_ANALOG_VIDEO_STANDARD_CONTROL 0x11
-#define UVC_PU_ANALOG_LOCK_STATUS_CONTROL 0x12
-
-/* A.9.7. VideoStreaming Interface Control Selectors */
-#define UVC_VS_CONTROL_UNDEFINED 0x00
-#define UVC_VS_PROBE_CONTROL 0x01
-#define UVC_VS_COMMIT_CONTROL 0x02
-#define UVC_VS_STILL_PROBE_CONTROL 0x03
-#define UVC_VS_STILL_COMMIT_CONTROL 0x04
-#define UVC_VS_STILL_IMAGE_TRIGGER_CONTROL 0x05
-#define UVC_VS_STREAM_ERROR_CODE_CONTROL 0x06
-#define UVC_VS_GENERATE_KEY_FRAME_CONTROL 0x07
-#define UVC_VS_UPDATE_FRAME_SEGMENT_CONTROL 0x08
-#define UVC_VS_SYNC_DELAY_CONTROL 0x09
-
-/* B.1. USB Terminal Types */
-#define UVC_TT_VENDOR_SPECIFIC 0x0100
-#define UVC_TT_STREAMING 0x0101
-
-/* B.2. Input Terminal Types */
-#define UVC_ITT_VENDOR_SPECIFIC 0x0200
-#define UVC_ITT_CAMERA 0x0201
-#define UVC_ITT_MEDIA_TRANSPORT_INPUT 0x0202
-
-/* B.3. Output Terminal Types */
-#define UVC_OTT_VENDOR_SPECIFIC 0x0300
-#define UVC_OTT_DISPLAY 0x0301
-#define UVC_OTT_MEDIA_TRANSPORT_OUTPUT 0x0302
-
-/* B.4. External Terminal Types */
-#define UVC_EXTERNAL_VENDOR_SPECIFIC 0x0400
-#define UVC_COMPOSITE_CONNECTOR 0x0401
-#define UVC_SVIDEO_CONNECTOR 0x0402
-#define UVC_COMPONENT_CONNECTOR 0x0403
-
-/* 2.4.2.2. Status Packet Type */
-#define UVC_STATUS_TYPE_CONTROL 1
-#define UVC_STATUS_TYPE_STREAMING 2
-
-/* 2.4.3.3. Payload Header Information */
-#define UVC_STREAM_EOH (1 << 7)
-#define UVC_STREAM_ERR (1 << 6)
-#define UVC_STREAM_STI (1 << 5)
-#define UVC_STREAM_RES (1 << 4)
-#define UVC_STREAM_SCR (1 << 3)
-#define UVC_STREAM_PTS (1 << 2)
-#define UVC_STREAM_EOF (1 << 1)
-#define UVC_STREAM_FID (1 << 0)
-
-/* 4.1.2. Control Capabilities */
-#define UVC_CONTROL_CAP_GET (1 << 0)
-#define UVC_CONTROL_CAP_SET (1 << 1)
-#define UVC_CONTROL_CAP_DISABLED (1 << 2)
-#define UVC_CONTROL_CAP_AUTOUPDATE (1 << 3)
-#define UVC_CONTROL_CAP_ASYNCHRONOUS (1 << 4)
-
-/* ------------------------------------------------------------------------
- * UVC structures
- */
-
-/* All UVC descriptors have these 3 fields at the beginning */
-struct uvc_descriptor_header {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
-} __attribute__((packed));
-
-/* 3.7.2. Video Control Interface Header Descriptor */
-struct uvc_header_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u16 bcdUVC;
- __u16 wTotalLength;
- __u32 dwClockFrequency;
- __u8 bInCollection;
- __u8 baInterfaceNr[];
-} __attribute__((__packed__));
-
-#define UVC_DT_HEADER_SIZE(n) (12+(n))
-
-#define UVC_HEADER_DESCRIPTOR(n) \
- uvc_header_descriptor_##n
-
-#define DECLARE_UVC_HEADER_DESCRIPTOR(n) \
-struct UVC_HEADER_DESCRIPTOR(n) { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubType; \
- __u16 bcdUVC; \
- __u16 wTotalLength; \
- __u32 dwClockFrequency; \
- __u8 bInCollection; \
- __u8 baInterfaceNr[n]; \
-} __attribute__ ((packed))
-
-/* 3.7.2.1. Input Terminal Descriptor */
-struct uvc_input_terminal_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bTerminalID;
- __u16 wTerminalType;
- __u8 bAssocTerminal;
- __u8 iTerminal;
-} __attribute__((__packed__));
-
-#define UVC_DT_INPUT_TERMINAL_SIZE 8
-
-/* 3.7.2.2. Output Terminal Descriptor */
-struct uvc_output_terminal_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bTerminalID;
- __u16 wTerminalType;
- __u8 bAssocTerminal;
- __u8 bSourceID;
- __u8 iTerminal;
-} __attribute__((__packed__));
-
-#define UVC_DT_OUTPUT_TERMINAL_SIZE 9
-
-/* 3.7.2.3. Camera Terminal Descriptor */
-struct uvc_camera_terminal_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bTerminalID;
- __u16 wTerminalType;
- __u8 bAssocTerminal;
- __u8 iTerminal;
- __u16 wObjectiveFocalLengthMin;
- __u16 wObjectiveFocalLengthMax;
- __u16 wOcularFocalLength;
- __u8 bControlSize;
- __u8 bmControls[3];
-} __attribute__((__packed__));
-
-#define UVC_DT_CAMERA_TERMINAL_SIZE(n) (15+(n))
-
-/* 3.7.2.4. Selector Unit Descriptor */
-struct uvc_selector_unit_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bUnitID;
- __u8 bNrInPins;
- __u8 baSourceID[0];
- __u8 iSelector;
-} __attribute__((__packed__));
-
-#define UVC_DT_SELECTOR_UNIT_SIZE(n) (6+(n))
-
-#define UVC_SELECTOR_UNIT_DESCRIPTOR(n) \
- uvc_selector_unit_descriptor_##n
-
-#define DECLARE_UVC_SELECTOR_UNIT_DESCRIPTOR(n) \
-struct UVC_SELECTOR_UNIT_DESCRIPTOR(n) { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubType; \
- __u8 bUnitID; \
- __u8 bNrInPins; \
- __u8 baSourceID[n]; \
- __u8 iSelector; \
-} __attribute__ ((packed))
-
-/* 3.7.2.5. Processing Unit Descriptor */
-struct uvc_processing_unit_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bUnitID;
- __u8 bSourceID;
- __u16 wMaxMultiplier;
- __u8 bControlSize;
- __u8 bmControls[2];
- __u8 iProcessing;
-} __attribute__((__packed__));
-
-#define UVC_DT_PROCESSING_UNIT_SIZE(n) (9+(n))
-
-/* 3.7.2.6. Extension Unit Descriptor */
-struct uvc_extension_unit_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bUnitID;
- __u8 guidExtensionCode[16];
- __u8 bNumControls;
- __u8 bNrInPins;
- __u8 baSourceID[0];
- __u8 bControlSize;
- __u8 bmControls[0];
- __u8 iExtension;
-} __attribute__((__packed__));
-
-#define UVC_DT_EXTENSION_UNIT_SIZE(p, n) (24+(p)+(n))
-
-#define UVC_EXTENSION_UNIT_DESCRIPTOR(p, n) \
- uvc_extension_unit_descriptor_##p_##n
-
-#define DECLARE_UVC_EXTENSION_UNIT_DESCRIPTOR(p, n) \
-struct UVC_EXTENSION_UNIT_DESCRIPTOR(p, n) { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubType; \
- __u8 bUnitID; \
- __u8 guidExtensionCode[16]; \
- __u8 bNumControls; \
- __u8 bNrInPins; \
- __u8 baSourceID[p]; \
- __u8 bControlSize; \
- __u8 bmControls[n]; \
- __u8 iExtension; \
-} __attribute__ ((packed))
-
-/* 3.8.2.2. Video Control Interrupt Endpoint Descriptor */
-struct uvc_control_endpoint_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u16 wMaxTransferSize;
-} __attribute__((__packed__));
-
-#define UVC_DT_CONTROL_ENDPOINT_SIZE 5
-
-/* 3.9.2.1. Input Header Descriptor */
-struct uvc_input_header_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bNumFormats;
- __u16 wTotalLength;
- __u8 bEndpointAddress;
- __u8 bmInfo;
- __u8 bTerminalLink;
- __u8 bStillCaptureMethod;
- __u8 bTriggerSupport;
- __u8 bTriggerUsage;
- __u8 bControlSize;
- __u8 bmaControls[];
-} __attribute__((__packed__));
-
-#define UVC_DT_INPUT_HEADER_SIZE(n, p) (13+(n*p))
-
-#define UVC_INPUT_HEADER_DESCRIPTOR(n, p) \
- uvc_input_header_descriptor_##n_##p
-
-#define DECLARE_UVC_INPUT_HEADER_DESCRIPTOR(n, p) \
-struct UVC_INPUT_HEADER_DESCRIPTOR(n, p) { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubType; \
- __u8 bNumFormats; \
- __u16 wTotalLength; \
- __u8 bEndpointAddress; \
- __u8 bmInfo; \
- __u8 bTerminalLink; \
- __u8 bStillCaptureMethod; \
- __u8 bTriggerSupport; \
- __u8 bTriggerUsage; \
- __u8 bControlSize; \
- __u8 bmaControls[p][n]; \
-} __attribute__ ((packed))
-
-/* 3.9.2.2. Output Header Descriptor */
-struct uvc_output_header_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bNumFormats;
- __u16 wTotalLength;
- __u8 bEndpointAddress;
- __u8 bTerminalLink;
- __u8 bControlSize;
- __u8 bmaControls[];
-} __attribute__((__packed__));
-
-#define UVC_DT_OUTPUT_HEADER_SIZE(n, p) (9+(n*p))
-
-#define UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) \
- uvc_output_header_descriptor_##n_##p
-
-#define DECLARE_UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) \
-struct UVC_OUTPUT_HEADER_DESCRIPTOR(n, p) { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubType; \
- __u8 bNumFormats; \
- __u16 wTotalLength; \
- __u8 bEndpointAddress; \
- __u8 bTerminalLink; \
- __u8 bControlSize; \
- __u8 bmaControls[p][n]; \
-} __attribute__ ((packed))
-
-/* 3.9.2.6. Color matching descriptor */
-struct uvc_color_matching_descriptor {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bColorPrimaries;
- __u8 bTransferCharacteristics;
- __u8 bMatrixCoefficients;
-} __attribute__((__packed__));
-
-#define UVC_DT_COLOR_MATCHING_SIZE 6
-
-/* 4.3.1.1. Video Probe and Commit Controls */
-struct uvc_streaming_control {
- __u16 bmHint;
- __u8 bFormatIndex;
- __u8 bFrameIndex;
- __u32 dwFrameInterval;
- __u16 wKeyFrameRate;
- __u16 wPFrameRate;
- __u16 wCompQuality;
- __u16 wCompWindowSize;
- __u16 wDelay;
- __u32 dwMaxVideoFrameSize;
- __u32 dwMaxPayloadTransferSize;
- __u32 dwClockFrequency;
- __u8 bmFramingInfo;
- __u8 bPreferedVersion;
- __u8 bMinVersion;
- __u8 bMaxVersion;
-} __attribute__((__packed__));
-
-/* Uncompressed Payload - 3.1.1. Uncompressed Video Format Descriptor */
-struct uvc_format_uncompressed {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bFormatIndex;
- __u8 bNumFrameDescriptors;
- __u8 guidFormat[16];
- __u8 bBitsPerPixel;
- __u8 bDefaultFrameIndex;
- __u8 bAspectRatioX;
- __u8 bAspectRatioY;
- __u8 bmInterfaceFlags;
- __u8 bCopyProtect;
-} __attribute__((__packed__));
-
-#define UVC_DT_FORMAT_UNCOMPRESSED_SIZE 27
-
-/* Uncompressed Payload - 3.1.2. Uncompressed Video Frame Descriptor */
-struct uvc_frame_uncompressed {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bFrameIndex;
- __u8 bmCapabilities;
- __u16 wWidth;
- __u16 wHeight;
- __u32 dwMinBitRate;
- __u32 dwMaxBitRate;
- __u32 dwMaxVideoFrameBufferSize;
- __u32 dwDefaultFrameInterval;
- __u8 bFrameIntervalType;
- __u32 dwFrameInterval[];
-} __attribute__((__packed__));
-
-#define UVC_DT_FRAME_UNCOMPRESSED_SIZE(n) (26+4*(n))
-
-#define UVC_FRAME_UNCOMPRESSED(n) \
- uvc_frame_uncompressed_##n
-
-#define DECLARE_UVC_FRAME_UNCOMPRESSED(n) \
-struct UVC_FRAME_UNCOMPRESSED(n) { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubType; \
- __u8 bFrameIndex; \
- __u8 bmCapabilities; \
- __u16 wWidth; \
- __u16 wHeight; \
- __u32 dwMinBitRate; \
- __u32 dwMaxBitRate; \
- __u32 dwMaxVideoFrameBufferSize; \
- __u32 dwDefaultFrameInterval; \
- __u8 bFrameIntervalType; \
- __u32 dwFrameInterval[n]; \
-} __attribute__ ((packed))
-
-/* MJPEG Payload - 3.1.1. MJPEG Video Format Descriptor */
-struct uvc_format_mjpeg {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bFormatIndex;
- __u8 bNumFrameDescriptors;
- __u8 bmFlags;
- __u8 bDefaultFrameIndex;
- __u8 bAspectRatioX;
- __u8 bAspectRatioY;
- __u8 bmInterfaceFlags;
- __u8 bCopyProtect;
-} __attribute__((__packed__));
-
-#define UVC_DT_FORMAT_MJPEG_SIZE 11
-
-/* MJPEG Payload - 3.1.2. MJPEG Video Frame Descriptor */
-struct uvc_frame_mjpeg {
- __u8 bLength;
- __u8 bDescriptorType;
- __u8 bDescriptorSubType;
- __u8 bFrameIndex;
- __u8 bmCapabilities;
- __u16 wWidth;
- __u16 wHeight;
- __u32 dwMinBitRate;
- __u32 dwMaxBitRate;
- __u32 dwMaxVideoFrameBufferSize;
- __u32 dwDefaultFrameInterval;
- __u8 bFrameIntervalType;
- __u32 dwFrameInterval[];
-} __attribute__((__packed__));
-
-#define UVC_DT_FRAME_MJPEG_SIZE(n) (26+4*(n))
-
-#define UVC_FRAME_MJPEG(n) \
- uvc_frame_mjpeg_##n
-
-#define DECLARE_UVC_FRAME_MJPEG(n) \
-struct UVC_FRAME_MJPEG(n) { \
- __u8 bLength; \
- __u8 bDescriptorType; \
- __u8 bDescriptorSubType; \
- __u8 bFrameIndex; \
- __u8 bmCapabilities; \
- __u16 wWidth; \
- __u16 wHeight; \
- __u32 dwMinBitRate; \
- __u32 dwMaxBitRate; \
- __u32 dwMaxVideoFrameBufferSize; \
- __u32 dwDefaultFrameInterval; \
- __u8 bFrameIntervalType; \
- __u32 dwFrameInterval[n]; \
-} __attribute__ ((packed))
-
-#endif /* __LINUX_USB_VIDEO_H */
-
diff --git a/linux-headers/include/linux/usbdevice_fs.h b/linux-headers/include/linux/usbdevice_fs.h
deleted file mode 100644
index 4d62308..0000000
--- a/linux-headers/include/linux/usbdevice_fs.h
+++ /dev/null
@@ -1,194 +0,0 @@
-/*****************************************************************************/
-
-/*
- * usbdevice_fs.h -- USB device file system.
- *
- * Copyright (C) 2000
- * Thomas Sailer (sailer@ife.ee.ethz.ch)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- *
- * History:
- * 0.1 04.01.2000 Created
- */
-
-/*****************************************************************************/
-
-#ifndef _LINUX_USBDEVICE_FS_H
-#define _LINUX_USBDEVICE_FS_H
-
-#include <linux/types.h>
-#include <linux/magic.h>
-
-/* --------------------------------------------------------------------- */
-
-/* usbdevfs ioctl codes */
-
-struct usbdevfs_ctrltransfer {
- __u8 bRequestType;
- __u8 bRequest;
- __u16 wValue;
- __u16 wIndex;
- __u16 wLength;
- __u32 timeout; /* in milliseconds */
- void *data;
-};
-
-struct usbdevfs_bulktransfer {
- unsigned int ep;
- unsigned int len;
- unsigned int timeout; /* in milliseconds */
- void *data;
-};
-
-struct usbdevfs_setinterface {
- unsigned int interface;
- unsigned int altsetting;
-};
-
-struct usbdevfs_disconnectsignal {
- unsigned int signr;
- void *context;
-};
-
-#define USBDEVFS_MAXDRIVERNAME 255
-
-struct usbdevfs_getdriver {
- unsigned int interface;
- char driver[USBDEVFS_MAXDRIVERNAME + 1];
-};
-
-struct usbdevfs_connectinfo {
- unsigned int devnum;
- unsigned char slow;
-};
-
-#define USBDEVFS_URB_SHORT_NOT_OK 0x01
-#define USBDEVFS_URB_ISO_ASAP 0x02
-#define USBDEVFS_URB_BULK_CONTINUATION 0x04
-#define USBDEVFS_URB_NO_FSBR 0x20
-#define USBDEVFS_URB_ZERO_PACKET 0x40
-#define USBDEVFS_URB_NO_INTERRUPT 0x80
-
-#define USBDEVFS_URB_TYPE_ISO 0
-#define USBDEVFS_URB_TYPE_INTERRUPT 1
-#define USBDEVFS_URB_TYPE_CONTROL 2
-#define USBDEVFS_URB_TYPE_BULK 3
-
-struct usbdevfs_iso_packet_desc {
- unsigned int length;
- unsigned int actual_length;
- unsigned int status;
-};
-
-struct usbdevfs_urb {
- unsigned char type;
- unsigned char endpoint;
- int status;
- unsigned int flags;
- void *buffer;
- int buffer_length;
- int actual_length;
- int start_frame;
- union {
- int number_of_packets; /* Only used for isoc urbs */
- unsigned int stream_id; /* Only used with bulk streams */
- };
- int error_count;
- unsigned int signr; /* signal to be sent on completion,
- or 0 if none should be sent. */
- void *usercontext;
- struct usbdevfs_iso_packet_desc iso_frame_desc[0];
-};
-
-/* ioctls for talking directly to drivers */
-struct usbdevfs_ioctl {
- int ifno; /* interface 0..N ; negative numbers reserved */
- int ioctl_code; /* MUST encode size + direction of data so the
- * macros in <asm/ioctl.h> give correct values */
- void *data; /* param buffer (in, or out) */
-};
-
-/* You can do most things with hubs just through control messages,
- * except find out what device connects to what port. */
-struct usbdevfs_hub_portinfo {
- char nports; /* number of downstream ports in this hub */
- char port [127]; /* e.g. port 3 connects to device 27 */
-};
-
-/* System and bus capability flags */
-#define USBDEVFS_CAP_ZERO_PACKET 0x01
-#define USBDEVFS_CAP_BULK_CONTINUATION 0x02
-#define USBDEVFS_CAP_NO_PACKET_SIZE_LIM 0x04
-#define USBDEVFS_CAP_BULK_SCATTER_GATHER 0x08
-#define USBDEVFS_CAP_REAP_AFTER_DISCONNECT 0x10
-#define USBDEVFS_CAP_MMAP 0x20
-#define USBDEVFS_CAP_DROP_PRIVILEGES 0x40
-
-/* USBDEVFS_DISCONNECT_CLAIM flags & struct */
-
-/* disconnect-and-claim if the driver matches the driver field */
-#define USBDEVFS_DISCONNECT_CLAIM_IF_DRIVER 0x01
-/* disconnect-and-claim except when the driver matches the driver field */
-#define USBDEVFS_DISCONNECT_CLAIM_EXCEPT_DRIVER 0x02
-
-struct usbdevfs_disconnect_claim {
- unsigned int interface;
- unsigned int flags;
- char driver[USBDEVFS_MAXDRIVERNAME + 1];
-};
-
-struct usbdevfs_streams {
- unsigned int num_streams; /* Not used by USBDEVFS_FREE_STREAMS */
- unsigned int num_eps;
- unsigned char eps[0];
-};
-
-#define USBDEVFS_CONTROL _IOWR('U', 0, struct usbdevfs_ctrltransfer)
-#define USBDEVFS_CONTROL32 _IOWR('U', 0, struct usbdevfs_ctrltransfer32)
-#define USBDEVFS_BULK _IOWR('U', 2, struct usbdevfs_bulktransfer)
-#define USBDEVFS_BULK32 _IOWR('U', 2, struct usbdevfs_bulktransfer32)
-#define USBDEVFS_RESETEP _IOR('U', 3, unsigned int)
-#define USBDEVFS_SETINTERFACE _IOR('U', 4, struct usbdevfs_setinterface)
-#define USBDEVFS_SETCONFIGURATION _IOR('U', 5, unsigned int)
-#define USBDEVFS_GETDRIVER _IOW('U', 8, struct usbdevfs_getdriver)
-#define USBDEVFS_SUBMITURB _IOR('U', 10, struct usbdevfs_urb)
-#define USBDEVFS_SUBMITURB32 _IOR('U', 10, struct usbdevfs_urb32)
-#define USBDEVFS_DISCARDURB _IO('U', 11)
-#define USBDEVFS_REAPURB _IOW('U', 12, void *)
-#define USBDEVFS_REAPURB32 _IOW('U', 12, __u32)
-#define USBDEVFS_REAPURBNDELAY _IOW('U', 13, void *)
-#define USBDEVFS_REAPURBNDELAY32 _IOW('U', 13, __u32)
-#define USBDEVFS_DISCSIGNAL _IOR('U', 14, struct usbdevfs_disconnectsignal)
-#define USBDEVFS_DISCSIGNAL32 _IOR('U', 14, struct usbdevfs_disconnectsignal32)
-#define USBDEVFS_CLAIMINTERFACE _IOR('U', 15, unsigned int)
-#define USBDEVFS_RELEASEINTERFACE _IOR('U', 16, unsigned int)
-#define USBDEVFS_CONNECTINFO _IOW('U', 17, struct usbdevfs_connectinfo)
-#define USBDEVFS_IOCTL _IOWR('U', 18, struct usbdevfs_ioctl)
-#define USBDEVFS_IOCTL32 _IOWR('U', 18, struct usbdevfs_ioctl32)
-#define USBDEVFS_HUB_PORTINFO _IOR('U', 19, struct usbdevfs_hub_portinfo)
-#define USBDEVFS_RESET _IO('U', 20)
-#define USBDEVFS_CLEAR_HALT _IOR('U', 21, unsigned int)
-#define USBDEVFS_DISCONNECT _IO('U', 22)
-#define USBDEVFS_CONNECT _IO('U', 23)
-#define USBDEVFS_CLAIM_PORT _IOR('U', 24, unsigned int)
-#define USBDEVFS_RELEASE_PORT _IOR('U', 25, unsigned int)
-#define USBDEVFS_GET_CAPABILITIES _IOR('U', 26, __u32)
-#define USBDEVFS_DISCONNECT_CLAIM _IOR('U', 27, struct usbdevfs_disconnect_claim)
-#define USBDEVFS_ALLOC_STREAMS _IOR('U', 28, struct usbdevfs_streams)
-#define USBDEVFS_FREE_STREAMS _IOR('U', 29, struct usbdevfs_streams)
-#define USBDEVFS_DROP_PRIVILEGES _IOW('U', 30, __u32)
-
-#endif /* _LINUX_USBDEVICE_FS_H */
diff --git a/linux-headers/include/linux/usbip.h b/linux-headers/include/linux/usbip.h
deleted file mode 100644
index 8d4f9a3..0000000
--- a/linux-headers/include/linux/usbip.h
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * usbip.h
- *
- * USBIP uapi defines and function prototypes etc.
-*/
-
-#ifndef _LINUX_USBIP_H
-#define _LINUX_USBIP_H
-
-/* usbip device status - exported in usbip device sysfs status */
-enum usbip_device_status {
- /* sdev is available. */
- SDEV_ST_AVAILABLE = 0x01,
- /* sdev is now used. */
- SDEV_ST_USED,
- /* sdev is unusable because of a fatal error. */
- SDEV_ST_ERROR,
-
- /* vdev does not connect a remote device. */
- VDEV_ST_NULL,
- /* vdev is used, but the USB address is not assigned yet */
- VDEV_ST_NOTASSIGNED,
- VDEV_ST_USED,
- VDEV_ST_ERROR
-};
-#endif /* _LINUX_USBIP_H */
diff --git a/linux-headers/include/linux/userfaultfd.h b/linux-headers/include/linux/userfaultfd.h
deleted file mode 100644
index 19e8453..0000000
--- a/linux-headers/include/linux/userfaultfd.h
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * include/linux/userfaultfd.h
- *
- * Copyright (C) 2007 Davide Libenzi <davidel@xmailserver.org>
- * Copyright (C) 2015 Red Hat, Inc.
- *
- */
-
-#ifndef _LINUX_USERFAULTFD_H
-#define _LINUX_USERFAULTFD_H
-
-#include <linux/types.h>
-
-#define UFFD_API ((__u64)0xAA)
-/*
- * After implementing the respective features it will become:
- * #define UFFD_API_FEATURES (UFFD_FEATURE_PAGEFAULT_FLAG_WP | \
- * UFFD_FEATURE_EVENT_FORK)
- */
-#define UFFD_API_FEATURES (0)
-#define UFFD_API_IOCTLS \
- ((__u64)1 << _UFFDIO_REGISTER | \
- (__u64)1 << _UFFDIO_UNREGISTER | \
- (__u64)1 << _UFFDIO_API)
-#define UFFD_API_RANGE_IOCTLS \
- ((__u64)1 << _UFFDIO_WAKE | \
- (__u64)1 << _UFFDIO_COPY | \
- (__u64)1 << _UFFDIO_ZEROPAGE)
-
-/*
- * Valid ioctl command number range with this API is from 0x00 to
- * 0x3F. UFFDIO_API is the fixed number, everything else can be
- * changed by implementing a different UFFD_API. If sticking to the
- * same UFFD_API more ioctl can be added and userland will be aware of
- * which ioctl the running kernel implements through the ioctl command
- * bitmask written by the UFFDIO_API.
- */
-#define _UFFDIO_REGISTER (0x00)
-#define _UFFDIO_UNREGISTER (0x01)
-#define _UFFDIO_WAKE (0x02)
-#define _UFFDIO_COPY (0x03)
-#define _UFFDIO_ZEROPAGE (0x04)
-#define _UFFDIO_API (0x3F)
-
-/* userfaultfd ioctl ids */
-#define UFFDIO 0xAA
-#define UFFDIO_API _IOWR(UFFDIO, _UFFDIO_API, \
- struct uffdio_api)
-#define UFFDIO_REGISTER _IOWR(UFFDIO, _UFFDIO_REGISTER, \
- struct uffdio_register)
-#define UFFDIO_UNREGISTER _IOR(UFFDIO, _UFFDIO_UNREGISTER, \
- struct uffdio_range)
-#define UFFDIO_WAKE _IOR(UFFDIO, _UFFDIO_WAKE, \
- struct uffdio_range)
-#define UFFDIO_COPY _IOWR(UFFDIO, _UFFDIO_COPY, \
- struct uffdio_copy)
-#define UFFDIO_ZEROPAGE _IOWR(UFFDIO, _UFFDIO_ZEROPAGE, \
- struct uffdio_zeropage)
-
-/* read() structure */
-struct uffd_msg {
- __u8 event;
-
- __u8 reserved1;
- __u16 reserved2;
- __u32 reserved3;
-
- union {
- struct {
- __u64 flags;
- __u64 address;
- } pagefault;
-
- struct {
- /* unused reserved fields */
- __u64 reserved1;
- __u64 reserved2;
- __u64 reserved3;
- } reserved;
- } arg;
-} __attribute__((packed));
-
-/*
- * Start at 0x12 and not at 0 to be more strict against bugs.
- */
-#define UFFD_EVENT_PAGEFAULT 0x12
-#if 0 /* not available yet */
-#define UFFD_EVENT_FORK 0x13
-#endif
-
-/* flags for UFFD_EVENT_PAGEFAULT */
-#define UFFD_PAGEFAULT_FLAG_WRITE (1<<0) /* If this was a write fault */
-#define UFFD_PAGEFAULT_FLAG_WP (1<<1) /* If reason is VM_UFFD_WP */
-
-struct uffdio_api {
- /* userland asks for an API number and the features to enable */
- __u64 api;
- /*
- * Kernel answers below with the all available features for
- * the API, this notifies userland of which events and/or
- * which flags for each event are enabled in the current
- * kernel.
- *
- * Note: UFFD_EVENT_PAGEFAULT and UFFD_PAGEFAULT_FLAG_WRITE
- * are to be considered implicitly always enabled in all kernels as
- * long as the uffdio_api.api requested matches UFFD_API.
- */
-#if 0 /* not available yet */
-#define UFFD_FEATURE_PAGEFAULT_FLAG_WP (1<<0)
-#define UFFD_FEATURE_EVENT_FORK (1<<1)
-#endif
- __u64 features;
-
- __u64 ioctls;
-};
-
-struct uffdio_range {
- __u64 start;
- __u64 len;
-};
-
-struct uffdio_register {
- struct uffdio_range range;
-#define UFFDIO_REGISTER_MODE_MISSING ((__u64)1<<0)
-#define UFFDIO_REGISTER_MODE_WP ((__u64)1<<1)
- __u64 mode;
-
- /*
- * kernel answers which ioctl commands are available for the
- * range, keep at the end as the last 8 bytes aren't read.
- */
- __u64 ioctls;
-};
-
-struct uffdio_copy {
- __u64 dst;
- __u64 src;
- __u64 len;
- /*
- * There will be a wrprotection flag later that allows to map
- * pages wrprotected on the fly. And such a flag will be
- * available if the wrprotection ioctl are implemented for the
- * range according to the uffdio_register.ioctls.
- */
-#define UFFDIO_COPY_MODE_DONTWAKE ((__u64)1<<0)
- __u64 mode;
-
- /*
- * "copy" is written by the ioctl and must be at the end: the
- * copy_from_user will not read the last 8 bytes.
- */
- __s64 copy;
-};
-
-struct uffdio_zeropage {
- struct uffdio_range range;
-#define UFFDIO_ZEROPAGE_MODE_DONTWAKE ((__u64)1<<0)
- __u64 mode;
-
- /*
- * "zeropage" is written by the ioctl and must be at the end:
- * the copy_from_user will not read the last 8 bytes.
- */
- __s64 zeropage;
-};
-
-#endif /* _LINUX_USERFAULTFD_H */
diff --git a/linux-headers/include/linux/utime.h b/linux-headers/include/linux/utime.h
deleted file mode 100644
index 5cdf673..0000000
--- a/linux-headers/include/linux/utime.h
+++ /dev/null
@@ -1,11 +0,0 @@
-#ifndef _LINUX_UTIME_H
-#define _LINUX_UTIME_H
-
-#include <linux/types.h>
-
-struct utimbuf {
- __kernel_time_t actime;
- __kernel_time_t modtime;
-};
-
-#endif
diff --git a/linux-headers/include/linux/utsname.h b/linux-headers/include/linux/utsname.h
deleted file mode 100644
index 6387d45..0000000
--- a/linux-headers/include/linux/utsname.h
+++ /dev/null
@@ -1,34 +0,0 @@
-#ifndef _LINUX_UTSNAME_H
-#define _LINUX_UTSNAME_H
-
-#define __OLD_UTS_LEN 8
-
-struct oldold_utsname {
- char sysname[9];
- char nodename[9];
- char release[9];
- char version[9];
- char machine[9];
-};
-
-#define __NEW_UTS_LEN 64
-
-struct old_utsname {
- char sysname[65];
- char nodename[65];
- char release[65];
- char version[65];
- char machine[65];
-};
-
-struct new_utsname {
- char sysname[__NEW_UTS_LEN + 1];
- char nodename[__NEW_UTS_LEN + 1];
- char release[__NEW_UTS_LEN + 1];
- char version[__NEW_UTS_LEN + 1];
- char machine[__NEW_UTS_LEN + 1];
- char domainname[__NEW_UTS_LEN + 1];
-};
-
-
-#endif /* _LINUX_UTSNAME_H */
diff --git a/linux-headers/include/linux/uuid.h b/linux-headers/include/linux/uuid.h
deleted file mode 100644
index af891a3..0000000
--- a/linux-headers/include/linux/uuid.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * UUID/GUID definition
- *
- * Copyright (C) 2010, Intel Corp.
- * Huang Ying <ying.huang@intel.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License version
- * 2 as published by the Free Software Foundation;
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef _LINUX_UUID_H_
-#define _LINUX_UUID_H_
-
-#include <linux/types.h>
-#include <linux/string.h>
-
-typedef struct {
- __u8 b[16];
-} uuid_le;
-
-typedef struct {
- __u8 b[16];
-} uuid_be;
-
-#define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \
-((uuid_le) \
-{{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
- (b) & 0xff, ((b) >> 8) & 0xff, \
- (c) & 0xff, ((c) >> 8) & 0xff, \
- (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
-
-#define UUID_BE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \
-((uuid_be) \
-{{ ((a) >> 24) & 0xff, ((a) >> 16) & 0xff, ((a) >> 8) & 0xff, (a) & 0xff, \
- ((b) >> 8) & 0xff, (b) & 0xff, \
- ((c) >> 8) & 0xff, (c) & 0xff, \
- (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
-
-#define NULL_UUID_LE \
- UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00)
-
-#define NULL_UUID_BE \
- UUID_BE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, \
- 0x00, 0x00, 0x00, 0x00)
-
-
-#endif /* _LINUX_UUID_H_ */
diff --git a/linux-headers/include/linux/uvcvideo.h b/linux-headers/include/linux/uvcvideo.h
deleted file mode 100644
index faff40e..0000000
--- a/linux-headers/include/linux/uvcvideo.h
+++ /dev/null
@@ -1,70 +0,0 @@
-#ifndef __LINUX_UVCVIDEO_H_
-#define __LINUX_UVCVIDEO_H_
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/*
- * Dynamic controls
- */
-
-/* Data types for UVC control data */
-#define UVC_CTRL_DATA_TYPE_RAW 0
-#define UVC_CTRL_DATA_TYPE_SIGNED 1
-#define UVC_CTRL_DATA_TYPE_UNSIGNED 2
-#define UVC_CTRL_DATA_TYPE_BOOLEAN 3
-#define UVC_CTRL_DATA_TYPE_ENUM 4
-#define UVC_CTRL_DATA_TYPE_BITMASK 5
-
-/* Control flags */
-#define UVC_CTRL_FLAG_SET_CUR (1 << 0)
-#define UVC_CTRL_FLAG_GET_CUR (1 << 1)
-#define UVC_CTRL_FLAG_GET_MIN (1 << 2)
-#define UVC_CTRL_FLAG_GET_MAX (1 << 3)
-#define UVC_CTRL_FLAG_GET_RES (1 << 4)
-#define UVC_CTRL_FLAG_GET_DEF (1 << 5)
-/* Control should be saved at suspend and restored at resume. */
-#define UVC_CTRL_FLAG_RESTORE (1 << 6)
-/* Control can be updated by the camera. */
-#define UVC_CTRL_FLAG_AUTO_UPDATE (1 << 7)
-
-#define UVC_CTRL_FLAG_GET_RANGE \
- (UVC_CTRL_FLAG_GET_CUR | UVC_CTRL_FLAG_GET_MIN | \
- UVC_CTRL_FLAG_GET_MAX | UVC_CTRL_FLAG_GET_RES | \
- UVC_CTRL_FLAG_GET_DEF)
-
-struct uvc_menu_info {
- __u32 value;
- __u8 name[32];
-};
-
-struct uvc_xu_control_mapping {
- __u32 id;
- __u8 name[32];
- __u8 entity[16];
- __u8 selector;
-
- __u8 size;
- __u8 offset;
- __u32 v4l2_type;
- __u32 data_type;
-
- struct uvc_menu_info *menu_info;
- __u32 menu_count;
-
- __u32 reserved[4];
-};
-
-struct uvc_xu_control_query {
- __u8 unit;
- __u8 selector;
- __u8 query; /* Video Class-Specific Request Code, */
- /* defined in linux/usb/video.h A.8. */
- __u16 size;
- __u8 *data;
-};
-
-#define UVCIOC_CTRL_MAP _IOWR('u', 0x20, struct uvc_xu_control_mapping)
-#define UVCIOC_CTRL_QUERY _IOWR('u', 0x21, struct uvc_xu_control_query)
-
-#endif
diff --git a/linux-headers/include/linux/v4l2-common.h b/linux-headers/include/linux/v4l2-common.h
deleted file mode 100644
index 5b3f685..0000000
--- a/linux-headers/include/linux/v4l2-common.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * include/linux/v4l2-common.h
- *
- * Common V4L2 and V4L2 subdev definitions.
- *
- * Users are advised to #include this file either through videodev2.h
- * (V4L2) or through v4l2-subdev.h (V4L2 subdev) rather than to refer
- * to this file directly.
- *
- * Copyright (C) 2012 Nokia Corporation
- * Contact: Sakari Ailus <sakari.ailus@iki.fi>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Alternatively you can redistribute this file under the terms of the
- * BSD license as stated below:
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. The names of its contributors may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-#ifndef __V4L2_COMMON__
-#define __V4L2_COMMON__
-
-#include <linux/types.h>
-
-/*
- *
- * Selection interface definitions
- *
- */
-
-/* Current cropping area */
-#define V4L2_SEL_TGT_CROP 0x0000
-/* Default cropping area */
-#define V4L2_SEL_TGT_CROP_DEFAULT 0x0001
-/* Cropping bounds */
-#define V4L2_SEL_TGT_CROP_BOUNDS 0x0002
-/* Native frame size */
-#define V4L2_SEL_TGT_NATIVE_SIZE 0x0003
-/* Current composing area */
-#define V4L2_SEL_TGT_COMPOSE 0x0100
-/* Default composing area */
-#define V4L2_SEL_TGT_COMPOSE_DEFAULT 0x0101
-/* Composing bounds */
-#define V4L2_SEL_TGT_COMPOSE_BOUNDS 0x0102
-/* Current composing area plus all padding pixels */
-#define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103
-
-/* Backward compatibility target definitions --- to be removed. */
-#define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP
-#define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE
-#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL V4L2_SEL_TGT_CROP
-#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL V4L2_SEL_TGT_COMPOSE
-#define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS V4L2_SEL_TGT_CROP_BOUNDS
-#define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS V4L2_SEL_TGT_COMPOSE_BOUNDS
-
-/* Selection flags */
-#define V4L2_SEL_FLAG_GE (1 << 0)
-#define V4L2_SEL_FLAG_LE (1 << 1)
-#define V4L2_SEL_FLAG_KEEP_CONFIG (1 << 2)
-
-/* Backward compatibility flag definitions --- to be removed. */
-#define V4L2_SUBDEV_SEL_FLAG_SIZE_GE V4L2_SEL_FLAG_GE
-#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE
-#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
-
-struct v4l2_edid {
- __u32 pad;
- __u32 start_block;
- __u32 blocks;
- __u32 reserved[5];
- __u8 *edid;
-};
-
-#endif /* __V4L2_COMMON__ */
diff --git a/linux-headers/include/linux/v4l2-controls.h b/linux-headers/include/linux/v4l2-controls.h
deleted file mode 100644
index b6a357a..0000000
--- a/linux-headers/include/linux/v4l2-controls.h
+++ /dev/null
@@ -1,977 +0,0 @@
-/*
- * Video for Linux Two controls header file
- *
- * Copyright (C) 1999-2012 the contributors
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Alternatively you can redistribute this file under the terms of the
- * BSD license as stated below:
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. The names of its contributors may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * The contents of this header was split off from videodev2.h. All control
- * definitions should be added to this header, which is included by
- * videodev2.h.
- */
-
-#ifndef __LINUX_V4L2_CONTROLS_H
-#define __LINUX_V4L2_CONTROLS_H
-
-/* Control classes */
-#define V4L2_CTRL_CLASS_USER 0x00980000 /* Old-style 'user' controls */
-#define V4L2_CTRL_CLASS_MPEG 0x00990000 /* MPEG-compression controls */
-#define V4L2_CTRL_CLASS_CAMERA 0x009a0000 /* Camera class controls */
-#define V4L2_CTRL_CLASS_FM_TX 0x009b0000 /* FM Modulator controls */
-#define V4L2_CTRL_CLASS_FLASH 0x009c0000 /* Camera flash controls */
-#define V4L2_CTRL_CLASS_JPEG 0x009d0000 /* JPEG-compression controls */
-#define V4L2_CTRL_CLASS_IMAGE_SOURCE 0x009e0000 /* Image source controls */
-#define V4L2_CTRL_CLASS_IMAGE_PROC 0x009f0000 /* Image processing controls */
-#define V4L2_CTRL_CLASS_DV 0x00a00000 /* Digital Video controls */
-#define V4L2_CTRL_CLASS_FM_RX 0x00a10000 /* FM Receiver controls */
-#define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 /* RF tuner controls */
-#define V4L2_CTRL_CLASS_DETECT 0x00a30000 /* Detection controls */
-
-/* User-class control IDs */
-
-#define V4L2_CID_BASE (V4L2_CTRL_CLASS_USER | 0x900)
-#define V4L2_CID_USER_BASE V4L2_CID_BASE
-#define V4L2_CID_USER_CLASS (V4L2_CTRL_CLASS_USER | 1)
-#define V4L2_CID_BRIGHTNESS (V4L2_CID_BASE+0)
-#define V4L2_CID_CONTRAST (V4L2_CID_BASE+1)
-#define V4L2_CID_SATURATION (V4L2_CID_BASE+2)
-#define V4L2_CID_HUE (V4L2_CID_BASE+3)
-#define V4L2_CID_AUDIO_VOLUME (V4L2_CID_BASE+5)
-#define V4L2_CID_AUDIO_BALANCE (V4L2_CID_BASE+6)
-#define V4L2_CID_AUDIO_BASS (V4L2_CID_BASE+7)
-#define V4L2_CID_AUDIO_TREBLE (V4L2_CID_BASE+8)
-#define V4L2_CID_AUDIO_MUTE (V4L2_CID_BASE+9)
-#define V4L2_CID_AUDIO_LOUDNESS (V4L2_CID_BASE+10)
-#define V4L2_CID_BLACK_LEVEL (V4L2_CID_BASE+11) /* Deprecated */
-#define V4L2_CID_AUTO_WHITE_BALANCE (V4L2_CID_BASE+12)
-#define V4L2_CID_DO_WHITE_BALANCE (V4L2_CID_BASE+13)
-#define V4L2_CID_RED_BALANCE (V4L2_CID_BASE+14)
-#define V4L2_CID_BLUE_BALANCE (V4L2_CID_BASE+15)
-#define V4L2_CID_GAMMA (V4L2_CID_BASE+16)
-#define V4L2_CID_WHITENESS (V4L2_CID_GAMMA) /* Deprecated */
-#define V4L2_CID_EXPOSURE (V4L2_CID_BASE+17)
-#define V4L2_CID_AUTOGAIN (V4L2_CID_BASE+18)
-#define V4L2_CID_GAIN (V4L2_CID_BASE+19)
-#define V4L2_CID_HFLIP (V4L2_CID_BASE+20)
-#define V4L2_CID_VFLIP (V4L2_CID_BASE+21)
-
-#define V4L2_CID_POWER_LINE_FREQUENCY (V4L2_CID_BASE+24)
-enum v4l2_power_line_frequency {
- V4L2_CID_POWER_LINE_FREQUENCY_DISABLED = 0,
- V4L2_CID_POWER_LINE_FREQUENCY_50HZ = 1,
- V4L2_CID_POWER_LINE_FREQUENCY_60HZ = 2,
- V4L2_CID_POWER_LINE_FREQUENCY_AUTO = 3,
-};
-#define V4L2_CID_HUE_AUTO (V4L2_CID_BASE+25)
-#define V4L2_CID_WHITE_BALANCE_TEMPERATURE (V4L2_CID_BASE+26)
-#define V4L2_CID_SHARPNESS (V4L2_CID_BASE+27)
-#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28)
-#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29)
-#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30)
-#define V4L2_CID_COLORFX (V4L2_CID_BASE+31)
-enum v4l2_colorfx {
- V4L2_COLORFX_NONE = 0,
- V4L2_COLORFX_BW = 1,
- V4L2_COLORFX_SEPIA = 2,
- V4L2_COLORFX_NEGATIVE = 3,
- V4L2_COLORFX_EMBOSS = 4,
- V4L2_COLORFX_SKETCH = 5,
- V4L2_COLORFX_SKY_BLUE = 6,
- V4L2_COLORFX_GRASS_GREEN = 7,
- V4L2_COLORFX_SKIN_WHITEN = 8,
- V4L2_COLORFX_VIVID = 9,
- V4L2_COLORFX_AQUA = 10,
- V4L2_COLORFX_ART_FREEZE = 11,
- V4L2_COLORFX_SILHOUETTE = 12,
- V4L2_COLORFX_SOLARIZATION = 13,
- V4L2_COLORFX_ANTIQUE = 14,
- V4L2_COLORFX_SET_CBCR = 15,
-};
-#define V4L2_CID_AUTOBRIGHTNESS (V4L2_CID_BASE+32)
-#define V4L2_CID_BAND_STOP_FILTER (V4L2_CID_BASE+33)
-
-#define V4L2_CID_ROTATE (V4L2_CID_BASE+34)
-#define V4L2_CID_BG_COLOR (V4L2_CID_BASE+35)
-
-#define V4L2_CID_CHROMA_GAIN (V4L2_CID_BASE+36)
-
-#define V4L2_CID_ILLUMINATORS_1 (V4L2_CID_BASE+37)
-#define V4L2_CID_ILLUMINATORS_2 (V4L2_CID_BASE+38)
-
-#define V4L2_CID_MIN_BUFFERS_FOR_CAPTURE (V4L2_CID_BASE+39)
-#define V4L2_CID_MIN_BUFFERS_FOR_OUTPUT (V4L2_CID_BASE+40)
-
-#define V4L2_CID_ALPHA_COMPONENT (V4L2_CID_BASE+41)
-#define V4L2_CID_COLORFX_CBCR (V4L2_CID_BASE+42)
-
-/* last CID + 1 */
-#define V4L2_CID_LASTP1 (V4L2_CID_BASE+43)
-
-/* USER-class private control IDs */
-
-/* The base for the meye driver controls. See linux/meye.h for the list
- * of controls. We reserve 16 controls for this driver. */
-#define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000)
-
-/* The base for the bttv driver controls.
- * We reserve 32 controls for this driver. */
-#define V4L2_CID_USER_BTTV_BASE (V4L2_CID_USER_BASE + 0x1010)
-
-
-/* The base for the s2255 driver controls.
- * We reserve 16 controls for this driver. */
-#define V4L2_CID_USER_S2255_BASE (V4L2_CID_USER_BASE + 0x1030)
-
-/*
- * The base for the si476x driver controls. See include/media/drv-intf/si476x.h
- * for the list of controls. Total of 16 controls is reserved for this driver
- */
-#define V4L2_CID_USER_SI476X_BASE (V4L2_CID_USER_BASE + 0x1040)
-
-/* The base for the TI VPE driver controls. Total of 16 controls is reserved for
- * this driver */
-#define V4L2_CID_USER_TI_VPE_BASE (V4L2_CID_USER_BASE + 0x1050)
-
-/* The base for the saa7134 driver controls.
- * We reserve 16 controls for this driver. */
-#define V4L2_CID_USER_SAA7134_BASE (V4L2_CID_USER_BASE + 0x1060)
-
-/* The base for the adv7180 driver controls.
- * We reserve 16 controls for this driver. */
-#define V4L2_CID_USER_ADV7180_BASE (V4L2_CID_USER_BASE + 0x1070)
-
-/* The base for the tc358743 driver controls.
- * We reserve 16 controls for this driver. */
-#define V4L2_CID_USER_TC358743_BASE (V4L2_CID_USER_BASE + 0x1080)
-
-/* MPEG-class control IDs */
-/* The MPEG controls are applicable to all codec controls
- * and the 'MPEG' part of the define is historical */
-
-#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
-#define V4L2_CID_MPEG_CLASS (V4L2_CTRL_CLASS_MPEG | 1)
-
-/* MPEG streams, specific to multiplexed streams */
-#define V4L2_CID_MPEG_STREAM_TYPE (V4L2_CID_MPEG_BASE+0)
-enum v4l2_mpeg_stream_type {
- V4L2_MPEG_STREAM_TYPE_MPEG2_PS = 0, /* MPEG-2 program stream */
- V4L2_MPEG_STREAM_TYPE_MPEG2_TS = 1, /* MPEG-2 transport stream */
- V4L2_MPEG_STREAM_TYPE_MPEG1_SS = 2, /* MPEG-1 system stream */
- V4L2_MPEG_STREAM_TYPE_MPEG2_DVD = 3, /* MPEG-2 DVD-compatible stream */
- V4L2_MPEG_STREAM_TYPE_MPEG1_VCD = 4, /* MPEG-1 VCD-compatible stream */
- V4L2_MPEG_STREAM_TYPE_MPEG2_SVCD = 5, /* MPEG-2 SVCD-compatible stream */
-};
-#define V4L2_CID_MPEG_STREAM_PID_PMT (V4L2_CID_MPEG_BASE+1)
-#define V4L2_CID_MPEG_STREAM_PID_AUDIO (V4L2_CID_MPEG_BASE+2)
-#define V4L2_CID_MPEG_STREAM_PID_VIDEO (V4L2_CID_MPEG_BASE+3)
-#define V4L2_CID_MPEG_STREAM_PID_PCR (V4L2_CID_MPEG_BASE+4)
-#define V4L2_CID_MPEG_STREAM_PES_ID_AUDIO (V4L2_CID_MPEG_BASE+5)
-#define V4L2_CID_MPEG_STREAM_PES_ID_VIDEO (V4L2_CID_MPEG_BASE+6)
-#define V4L2_CID_MPEG_STREAM_VBI_FMT (V4L2_CID_MPEG_BASE+7)
-enum v4l2_mpeg_stream_vbi_fmt {
- V4L2_MPEG_STREAM_VBI_FMT_NONE = 0, /* No VBI in the MPEG stream */
- V4L2_MPEG_STREAM_VBI_FMT_IVTV = 1, /* VBI in private packets, IVTV format */
-};
-
-/* MPEG audio controls specific to multiplexed streams */
-#define V4L2_CID_MPEG_AUDIO_SAMPLING_FREQ (V4L2_CID_MPEG_BASE+100)
-enum v4l2_mpeg_audio_sampling_freq {
- V4L2_MPEG_AUDIO_SAMPLING_FREQ_44100 = 0,
- V4L2_MPEG_AUDIO_SAMPLING_FREQ_48000 = 1,
- V4L2_MPEG_AUDIO_SAMPLING_FREQ_32000 = 2,
-};
-#define V4L2_CID_MPEG_AUDIO_ENCODING (V4L2_CID_MPEG_BASE+101)
-enum v4l2_mpeg_audio_encoding {
- V4L2_MPEG_AUDIO_ENCODING_LAYER_1 = 0,
- V4L2_MPEG_AUDIO_ENCODING_LAYER_2 = 1,
- V4L2_MPEG_AUDIO_ENCODING_LAYER_3 = 2,
- V4L2_MPEG_AUDIO_ENCODING_AAC = 3,
- V4L2_MPEG_AUDIO_ENCODING_AC3 = 4,
-};
-#define V4L2_CID_MPEG_AUDIO_L1_BITRATE (V4L2_CID_MPEG_BASE+102)
-enum v4l2_mpeg_audio_l1_bitrate {
- V4L2_MPEG_AUDIO_L1_BITRATE_32K = 0,
- V4L2_MPEG_AUDIO_L1_BITRATE_64K = 1,
- V4L2_MPEG_AUDIO_L1_BITRATE_96K = 2,
- V4L2_MPEG_AUDIO_L1_BITRATE_128K = 3,
- V4L2_MPEG_AUDIO_L1_BITRATE_160K = 4,
- V4L2_MPEG_AUDIO_L1_BITRATE_192K = 5,
- V4L2_MPEG_AUDIO_L1_BITRATE_224K = 6,
- V4L2_MPEG_AUDIO_L1_BITRATE_256K = 7,
- V4L2_MPEG_AUDIO_L1_BITRATE_288K = 8,
- V4L2_MPEG_AUDIO_L1_BITRATE_320K = 9,
- V4L2_MPEG_AUDIO_L1_BITRATE_352K = 10,
- V4L2_MPEG_AUDIO_L1_BITRATE_384K = 11,
- V4L2_MPEG_AUDIO_L1_BITRATE_416K = 12,
- V4L2_MPEG_AUDIO_L1_BITRATE_448K = 13,
-};
-#define V4L2_CID_MPEG_AUDIO_L2_BITRATE (V4L2_CID_MPEG_BASE+103)
-enum v4l2_mpeg_audio_l2_bitrate {
- V4L2_MPEG_AUDIO_L2_BITRATE_32K = 0,
- V4L2_MPEG_AUDIO_L2_BITRATE_48K = 1,
- V4L2_MPEG_AUDIO_L2_BITRATE_56K = 2,
- V4L2_MPEG_AUDIO_L2_BITRATE_64K = 3,
- V4L2_MPEG_AUDIO_L2_BITRATE_80K = 4,
- V4L2_MPEG_AUDIO_L2_BITRATE_96K = 5,
- V4L2_MPEG_AUDIO_L2_BITRATE_112K = 6,
- V4L2_MPEG_AUDIO_L2_BITRATE_128K = 7,
- V4L2_MPEG_AUDIO_L2_BITRATE_160K = 8,
- V4L2_MPEG_AUDIO_L2_BITRATE_192K = 9,
- V4L2_MPEG_AUDIO_L2_BITRATE_224K = 10,
- V4L2_MPEG_AUDIO_L2_BITRATE_256K = 11,
- V4L2_MPEG_AUDIO_L2_BITRATE_320K = 12,
- V4L2_MPEG_AUDIO_L2_BITRATE_384K = 13,
-};
-#define V4L2_CID_MPEG_AUDIO_L3_BITRATE (V4L2_CID_MPEG_BASE+104)
-enum v4l2_mpeg_audio_l3_bitrate {
- V4L2_MPEG_AUDIO_L3_BITRATE_32K = 0,
- V4L2_MPEG_AUDIO_L3_BITRATE_40K = 1,
- V4L2_MPEG_AUDIO_L3_BITRATE_48K = 2,
- V4L2_MPEG_AUDIO_L3_BITRATE_56K = 3,
- V4L2_MPEG_AUDIO_L3_BITRATE_64K = 4,
- V4L2_MPEG_AUDIO_L3_BITRATE_80K = 5,
- V4L2_MPEG_AUDIO_L3_BITRATE_96K = 6,
- V4L2_MPEG_AUDIO_L3_BITRATE_112K = 7,
- V4L2_MPEG_AUDIO_L3_BITRATE_128K = 8,
- V4L2_MPEG_AUDIO_L3_BITRATE_160K = 9,
- V4L2_MPEG_AUDIO_L3_BITRATE_192K = 10,
- V4L2_MPEG_AUDIO_L3_BITRATE_224K = 11,
- V4L2_MPEG_AUDIO_L3_BITRATE_256K = 12,
- V4L2_MPEG_AUDIO_L3_BITRATE_320K = 13,
-};
-#define V4L2_CID_MPEG_AUDIO_MODE (V4L2_CID_MPEG_BASE+105)
-enum v4l2_mpeg_audio_mode {
- V4L2_MPEG_AUDIO_MODE_STEREO = 0,
- V4L2_MPEG_AUDIO_MODE_JOINT_STEREO = 1,
- V4L2_MPEG_AUDIO_MODE_DUAL = 2,
- V4L2_MPEG_AUDIO_MODE_MONO = 3,
-};
-#define V4L2_CID_MPEG_AUDIO_MODE_EXTENSION (V4L2_CID_MPEG_BASE+106)
-enum v4l2_mpeg_audio_mode_extension {
- V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_4 = 0,
- V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_8 = 1,
- V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_12 = 2,
- V4L2_MPEG_AUDIO_MODE_EXTENSION_BOUND_16 = 3,
-};
-#define V4L2_CID_MPEG_AUDIO_EMPHASIS (V4L2_CID_MPEG_BASE+107)
-enum v4l2_mpeg_audio_emphasis {
- V4L2_MPEG_AUDIO_EMPHASIS_NONE = 0,
- V4L2_MPEG_AUDIO_EMPHASIS_50_DIV_15_uS = 1,
- V4L2_MPEG_AUDIO_EMPHASIS_CCITT_J17 = 2,
-};
-#define V4L2_CID_MPEG_AUDIO_CRC (V4L2_CID_MPEG_BASE+108)
-enum v4l2_mpeg_audio_crc {
- V4L2_MPEG_AUDIO_CRC_NONE = 0,
- V4L2_MPEG_AUDIO_CRC_CRC16 = 1,
-};
-#define V4L2_CID_MPEG_AUDIO_MUTE (V4L2_CID_MPEG_BASE+109)
-#define V4L2_CID_MPEG_AUDIO_AAC_BITRATE (V4L2_CID_MPEG_BASE+110)
-#define V4L2_CID_MPEG_AUDIO_AC3_BITRATE (V4L2_CID_MPEG_BASE+111)
-enum v4l2_mpeg_audio_ac3_bitrate {
- V4L2_MPEG_AUDIO_AC3_BITRATE_32K = 0,
- V4L2_MPEG_AUDIO_AC3_BITRATE_40K = 1,
- V4L2_MPEG_AUDIO_AC3_BITRATE_48K = 2,
- V4L2_MPEG_AUDIO_AC3_BITRATE_56K = 3,
- V4L2_MPEG_AUDIO_AC3_BITRATE_64K = 4,
- V4L2_MPEG_AUDIO_AC3_BITRATE_80K = 5,
- V4L2_MPEG_AUDIO_AC3_BITRATE_96K = 6,
- V4L2_MPEG_AUDIO_AC3_BITRATE_112K = 7,
- V4L2_MPEG_AUDIO_AC3_BITRATE_128K = 8,
- V4L2_MPEG_AUDIO_AC3_BITRATE_160K = 9,
- V4L2_MPEG_AUDIO_AC3_BITRATE_192K = 10,
- V4L2_MPEG_AUDIO_AC3_BITRATE_224K = 11,
- V4L2_MPEG_AUDIO_AC3_BITRATE_256K = 12,
- V4L2_MPEG_AUDIO_AC3_BITRATE_320K = 13,
- V4L2_MPEG_AUDIO_AC3_BITRATE_384K = 14,
- V4L2_MPEG_AUDIO_AC3_BITRATE_448K = 15,
- V4L2_MPEG_AUDIO_AC3_BITRATE_512K = 16,
- V4L2_MPEG_AUDIO_AC3_BITRATE_576K = 17,
- V4L2_MPEG_AUDIO_AC3_BITRATE_640K = 18,
-};
-#define V4L2_CID_MPEG_AUDIO_DEC_PLAYBACK (V4L2_CID_MPEG_BASE+112)
-enum v4l2_mpeg_audio_dec_playback {
- V4L2_MPEG_AUDIO_DEC_PLAYBACK_AUTO = 0,
- V4L2_MPEG_AUDIO_DEC_PLAYBACK_STEREO = 1,
- V4L2_MPEG_AUDIO_DEC_PLAYBACK_LEFT = 2,
- V4L2_MPEG_AUDIO_DEC_PLAYBACK_RIGHT = 3,
- V4L2_MPEG_AUDIO_DEC_PLAYBACK_MONO = 4,
- V4L2_MPEG_AUDIO_DEC_PLAYBACK_SWAPPED_STEREO = 5,
-};
-#define V4L2_CID_MPEG_AUDIO_DEC_MULTILINGUAL_PLAYBACK (V4L2_CID_MPEG_BASE+113)
-
-/* MPEG video controls specific to multiplexed streams */
-#define V4L2_CID_MPEG_VIDEO_ENCODING (V4L2_CID_MPEG_BASE+200)
-enum v4l2_mpeg_video_encoding {
- V4L2_MPEG_VIDEO_ENCODING_MPEG_1 = 0,
- V4L2_MPEG_VIDEO_ENCODING_MPEG_2 = 1,
- V4L2_MPEG_VIDEO_ENCODING_MPEG_4_AVC = 2,
-};
-#define V4L2_CID_MPEG_VIDEO_ASPECT (V4L2_CID_MPEG_BASE+201)
-enum v4l2_mpeg_video_aspect {
- V4L2_MPEG_VIDEO_ASPECT_1x1 = 0,
- V4L2_MPEG_VIDEO_ASPECT_4x3 = 1,
- V4L2_MPEG_VIDEO_ASPECT_16x9 = 2,
- V4L2_MPEG_VIDEO_ASPECT_221x100 = 3,
-};
-#define V4L2_CID_MPEG_VIDEO_B_FRAMES (V4L2_CID_MPEG_BASE+202)
-#define V4L2_CID_MPEG_VIDEO_GOP_SIZE (V4L2_CID_MPEG_BASE+203)
-#define V4L2_CID_MPEG_VIDEO_GOP_CLOSURE (V4L2_CID_MPEG_BASE+204)
-#define V4L2_CID_MPEG_VIDEO_PULLDOWN (V4L2_CID_MPEG_BASE+205)
-#define V4L2_CID_MPEG_VIDEO_BITRATE_MODE (V4L2_CID_MPEG_BASE+206)
-enum v4l2_mpeg_video_bitrate_mode {
- V4L2_MPEG_VIDEO_BITRATE_MODE_VBR = 0,
- V4L2_MPEG_VIDEO_BITRATE_MODE_CBR = 1,
-};
-#define V4L2_CID_MPEG_VIDEO_BITRATE (V4L2_CID_MPEG_BASE+207)
-#define V4L2_CID_MPEG_VIDEO_BITRATE_PEAK (V4L2_CID_MPEG_BASE+208)
-#define V4L2_CID_MPEG_VIDEO_TEMPORAL_DECIMATION (V4L2_CID_MPEG_BASE+209)
-#define V4L2_CID_MPEG_VIDEO_MUTE (V4L2_CID_MPEG_BASE+210)
-#define V4L2_CID_MPEG_VIDEO_MUTE_YUV (V4L2_CID_MPEG_BASE+211)
-#define V4L2_CID_MPEG_VIDEO_DECODER_SLICE_INTERFACE (V4L2_CID_MPEG_BASE+212)
-#define V4L2_CID_MPEG_VIDEO_DECODER_MPEG4_DEBLOCK_FILTER (V4L2_CID_MPEG_BASE+213)
-#define V4L2_CID_MPEG_VIDEO_CYCLIC_INTRA_REFRESH_MB (V4L2_CID_MPEG_BASE+214)
-#define V4L2_CID_MPEG_VIDEO_FRAME_RC_ENABLE (V4L2_CID_MPEG_BASE+215)
-#define V4L2_CID_MPEG_VIDEO_HEADER_MODE (V4L2_CID_MPEG_BASE+216)
-enum v4l2_mpeg_video_header_mode {
- V4L2_MPEG_VIDEO_HEADER_MODE_SEPARATE = 0,
- V4L2_MPEG_VIDEO_HEADER_MODE_JOINED_WITH_1ST_FRAME = 1,
-
-};
-#define V4L2_CID_MPEG_VIDEO_MAX_REF_PIC (V4L2_CID_MPEG_BASE+217)
-#define V4L2_CID_MPEG_VIDEO_MB_RC_ENABLE (V4L2_CID_MPEG_BASE+218)
-#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_BYTES (V4L2_CID_MPEG_BASE+219)
-#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MAX_MB (V4L2_CID_MPEG_BASE+220)
-#define V4L2_CID_MPEG_VIDEO_MULTI_SLICE_MODE (V4L2_CID_MPEG_BASE+221)
-enum v4l2_mpeg_video_multi_slice_mode {
- V4L2_MPEG_VIDEO_MULTI_SLICE_MODE_SINGLE = 0,
- V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_MB = 1,
- V4L2_MPEG_VIDEO_MULTI_SICE_MODE_MAX_BYTES = 2,
-};
-#define V4L2_CID_MPEG_VIDEO_VBV_SIZE (V4L2_CID_MPEG_BASE+222)
-#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223)
-#define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224)
-#define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225)
-#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226)
-#define V4L2_CID_MPEG_VIDEO_MV_H_SEARCH_RANGE (V4L2_CID_MPEG_BASE+227)
-#define V4L2_CID_MPEG_VIDEO_MV_V_SEARCH_RANGE (V4L2_CID_MPEG_BASE+228)
-#define V4L2_CID_MPEG_VIDEO_FORCE_KEY_FRAME (V4L2_CID_MPEG_BASE+229)
-
-#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)
-#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)
-#define V4L2_CID_MPEG_VIDEO_H263_B_FRAME_QP (V4L2_CID_MPEG_BASE+302)
-#define V4L2_CID_MPEG_VIDEO_H263_MIN_QP (V4L2_CID_MPEG_BASE+303)
-#define V4L2_CID_MPEG_VIDEO_H263_MAX_QP (V4L2_CID_MPEG_BASE+304)
-#define V4L2_CID_MPEG_VIDEO_H264_I_FRAME_QP (V4L2_CID_MPEG_BASE+350)
-#define V4L2_CID_MPEG_VIDEO_H264_P_FRAME_QP (V4L2_CID_MPEG_BASE+351)
-#define V4L2_CID_MPEG_VIDEO_H264_B_FRAME_QP (V4L2_CID_MPEG_BASE+352)
-#define V4L2_CID_MPEG_VIDEO_H264_MIN_QP (V4L2_CID_MPEG_BASE+353)
-#define V4L2_CID_MPEG_VIDEO_H264_MAX_QP (V4L2_CID_MPEG_BASE+354)
-#define V4L2_CID_MPEG_VIDEO_H264_8X8_TRANSFORM (V4L2_CID_MPEG_BASE+355)
-#define V4L2_CID_MPEG_VIDEO_H264_CPB_SIZE (V4L2_CID_MPEG_BASE+356)
-#define V4L2_CID_MPEG_VIDEO_H264_ENTROPY_MODE (V4L2_CID_MPEG_BASE+357)
-enum v4l2_mpeg_video_h264_entropy_mode {
- V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CAVLC = 0,
- V4L2_MPEG_VIDEO_H264_ENTROPY_MODE_CABAC = 1,
-};
-#define V4L2_CID_MPEG_VIDEO_H264_I_PERIOD (V4L2_CID_MPEG_BASE+358)
-#define V4L2_CID_MPEG_VIDEO_H264_LEVEL (V4L2_CID_MPEG_BASE+359)
-enum v4l2_mpeg_video_h264_level {
- V4L2_MPEG_VIDEO_H264_LEVEL_1_0 = 0,
- V4L2_MPEG_VIDEO_H264_LEVEL_1B = 1,
- V4L2_MPEG_VIDEO_H264_LEVEL_1_1 = 2,
- V4L2_MPEG_VIDEO_H264_LEVEL_1_2 = 3,
- V4L2_MPEG_VIDEO_H264_LEVEL_1_3 = 4,
- V4L2_MPEG_VIDEO_H264_LEVEL_2_0 = 5,
- V4L2_MPEG_VIDEO_H264_LEVEL_2_1 = 6,
- V4L2_MPEG_VIDEO_H264_LEVEL_2_2 = 7,
- V4L2_MPEG_VIDEO_H264_LEVEL_3_0 = 8,
- V4L2_MPEG_VIDEO_H264_LEVEL_3_1 = 9,
- V4L2_MPEG_VIDEO_H264_LEVEL_3_2 = 10,
- V4L2_MPEG_VIDEO_H264_LEVEL_4_0 = 11,
- V4L2_MPEG_VIDEO_H264_LEVEL_4_1 = 12,
- V4L2_MPEG_VIDEO_H264_LEVEL_4_2 = 13,
- V4L2_MPEG_VIDEO_H264_LEVEL_5_0 = 14,
- V4L2_MPEG_VIDEO_H264_LEVEL_5_1 = 15,
-};
-#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_ALPHA (V4L2_CID_MPEG_BASE+360)
-#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_BETA (V4L2_CID_MPEG_BASE+361)
-#define V4L2_CID_MPEG_VIDEO_H264_LOOP_FILTER_MODE (V4L2_CID_MPEG_BASE+362)
-enum v4l2_mpeg_video_h264_loop_filter_mode {
- V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_ENABLED = 0,
- V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED = 1,
- V4L2_MPEG_VIDEO_H264_LOOP_FILTER_MODE_DISABLED_AT_SLICE_BOUNDARY = 2,
-};
-#define V4L2_CID_MPEG_VIDEO_H264_PROFILE (V4L2_CID_MPEG_BASE+363)
-enum v4l2_mpeg_video_h264_profile {
- V4L2_MPEG_VIDEO_H264_PROFILE_BASELINE = 0,
- V4L2_MPEG_VIDEO_H264_PROFILE_CONSTRAINED_BASELINE = 1,
- V4L2_MPEG_VIDEO_H264_PROFILE_MAIN = 2,
- V4L2_MPEG_VIDEO_H264_PROFILE_EXTENDED = 3,
- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH = 4,
- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10 = 5,
- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422 = 6,
- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_PREDICTIVE = 7,
- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_10_INTRA = 8,
- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_422_INTRA = 9,
- V4L2_MPEG_VIDEO_H264_PROFILE_HIGH_444_INTRA = 10,
- V4L2_MPEG_VIDEO_H264_PROFILE_CAVLC_444_INTRA = 11,
- V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_BASELINE = 12,
- V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH = 13,
- V4L2_MPEG_VIDEO_H264_PROFILE_SCALABLE_HIGH_INTRA = 14,
- V4L2_MPEG_VIDEO_H264_PROFILE_STEREO_HIGH = 15,
- V4L2_MPEG_VIDEO_H264_PROFILE_MULTIVIEW_HIGH = 16,
-};
-#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_HEIGHT (V4L2_CID_MPEG_BASE+364)
-#define V4L2_CID_MPEG_VIDEO_H264_VUI_EXT_SAR_WIDTH (V4L2_CID_MPEG_BASE+365)
-#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_ENABLE (V4L2_CID_MPEG_BASE+366)
-#define V4L2_CID_MPEG_VIDEO_H264_VUI_SAR_IDC (V4L2_CID_MPEG_BASE+367)
-enum v4l2_mpeg_video_h264_vui_sar_idc {
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_UNSPECIFIED = 0,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_1x1 = 1,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_12x11 = 2,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_10x11 = 3,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_16x11 = 4,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_40x33 = 5,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_24x11 = 6,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_20x11 = 7,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_32x11 = 8,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_80x33 = 9,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_18x11 = 10,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_15x11 = 11,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_64x33 = 12,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_160x99 = 13,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_4x3 = 14,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_3x2 = 15,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_2x1 = 16,
- V4L2_MPEG_VIDEO_H264_VUI_SAR_IDC_EXTENDED = 17,
-};
-#define V4L2_CID_MPEG_VIDEO_H264_SEI_FRAME_PACKING (V4L2_CID_MPEG_BASE+368)
-#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_CURRENT_FRAME_0 (V4L2_CID_MPEG_BASE+369)
-#define V4L2_CID_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE (V4L2_CID_MPEG_BASE+370)
-enum v4l2_mpeg_video_h264_sei_fp_arrangement_type {
- V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_CHECKERBOARD = 0,
- V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_COLUMN = 1,
- V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_ROW = 2,
- V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_SIDE_BY_SIDE = 3,
- V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TOP_BOTTOM = 4,
- V4L2_MPEG_VIDEO_H264_SEI_FP_ARRANGEMENT_TYPE_TEMPORAL = 5,
-};
-#define V4L2_CID_MPEG_VIDEO_H264_FMO (V4L2_CID_MPEG_BASE+371)
-#define V4L2_CID_MPEG_VIDEO_H264_FMO_MAP_TYPE (V4L2_CID_MPEG_BASE+372)
-enum v4l2_mpeg_video_h264_fmo_map_type {
- V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_INTERLEAVED_SLICES = 0,
- V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_SCATTERED_SLICES = 1,
- V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_FOREGROUND_WITH_LEFT_OVER = 2,
- V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_BOX_OUT = 3,
- V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_RASTER_SCAN = 4,
- V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_WIPE_SCAN = 5,
- V4L2_MPEG_VIDEO_H264_FMO_MAP_TYPE_EXPLICIT = 6,
-};
-#define V4L2_CID_MPEG_VIDEO_H264_FMO_SLICE_GROUP (V4L2_CID_MPEG_BASE+373)
-#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_DIRECTION (V4L2_CID_MPEG_BASE+374)
-enum v4l2_mpeg_video_h264_fmo_change_dir {
- V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_RIGHT = 0,
- V4L2_MPEG_VIDEO_H264_FMO_CHANGE_DIR_LEFT = 1,
-};
-#define V4L2_CID_MPEG_VIDEO_H264_FMO_CHANGE_RATE (V4L2_CID_MPEG_BASE+375)
-#define V4L2_CID_MPEG_VIDEO_H264_FMO_RUN_LENGTH (V4L2_CID_MPEG_BASE+376)
-#define V4L2_CID_MPEG_VIDEO_H264_ASO (V4L2_CID_MPEG_BASE+377)
-#define V4L2_CID_MPEG_VIDEO_H264_ASO_SLICE_ORDER (V4L2_CID_MPEG_BASE+378)
-#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING (V4L2_CID_MPEG_BASE+379)
-#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_TYPE (V4L2_CID_MPEG_BASE+380)
-enum v4l2_mpeg_video_h264_hierarchical_coding_type {
- V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_B = 0,
- V4L2_MPEG_VIDEO_H264_HIERARCHICAL_CODING_P = 1,
-};
-#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER (V4L2_CID_MPEG_BASE+381)
-#define V4L2_CID_MPEG_VIDEO_H264_HIERARCHICAL_CODING_LAYER_QP (V4L2_CID_MPEG_BASE+382)
-#define V4L2_CID_MPEG_VIDEO_MPEG4_I_FRAME_QP (V4L2_CID_MPEG_BASE+400)
-#define V4L2_CID_MPEG_VIDEO_MPEG4_P_FRAME_QP (V4L2_CID_MPEG_BASE+401)
-#define V4L2_CID_MPEG_VIDEO_MPEG4_B_FRAME_QP (V4L2_CID_MPEG_BASE+402)
-#define V4L2_CID_MPEG_VIDEO_MPEG4_MIN_QP (V4L2_CID_MPEG_BASE+403)
-#define V4L2_CID_MPEG_VIDEO_MPEG4_MAX_QP (V4L2_CID_MPEG_BASE+404)
-#define V4L2_CID_MPEG_VIDEO_MPEG4_LEVEL (V4L2_CID_MPEG_BASE+405)
-enum v4l2_mpeg_video_mpeg4_level {
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_0 = 0,
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_0B = 1,
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_1 = 2,
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_2 = 3,
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_3 = 4,
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_3B = 5,
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_4 = 6,
- V4L2_MPEG_VIDEO_MPEG4_LEVEL_5 = 7,
-};
-#define V4L2_CID_MPEG_VIDEO_MPEG4_PROFILE (V4L2_CID_MPEG_BASE+406)
-enum v4l2_mpeg_video_mpeg4_profile {
- V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE = 0,
- V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_SIMPLE = 1,
- V4L2_MPEG_VIDEO_MPEG4_PROFILE_CORE = 2,
- V4L2_MPEG_VIDEO_MPEG4_PROFILE_SIMPLE_SCALABLE = 3,
- V4L2_MPEG_VIDEO_MPEG4_PROFILE_ADVANCED_CODING_EFFICIENCY = 4,
-};
-#define V4L2_CID_MPEG_VIDEO_MPEG4_QPEL (V4L2_CID_MPEG_BASE+407)
-
-/* Control IDs for VP8 streams
- * Although VP8 is not part of MPEG we add these controls to the MPEG class
- * as that class is already handling other video compression standards
- */
-#define V4L2_CID_MPEG_VIDEO_VPX_NUM_PARTITIONS (V4L2_CID_MPEG_BASE+500)
-enum v4l2_vp8_num_partitions {
- V4L2_CID_MPEG_VIDEO_VPX_1_PARTITION = 0,
- V4L2_CID_MPEG_VIDEO_VPX_2_PARTITIONS = 1,
- V4L2_CID_MPEG_VIDEO_VPX_4_PARTITIONS = 2,
- V4L2_CID_MPEG_VIDEO_VPX_8_PARTITIONS = 3,
-};
-#define V4L2_CID_MPEG_VIDEO_VPX_IMD_DISABLE_4X4 (V4L2_CID_MPEG_BASE+501)
-#define V4L2_CID_MPEG_VIDEO_VPX_NUM_REF_FRAMES (V4L2_CID_MPEG_BASE+502)
-enum v4l2_vp8_num_ref_frames {
- V4L2_CID_MPEG_VIDEO_VPX_1_REF_FRAME = 0,
- V4L2_CID_MPEG_VIDEO_VPX_2_REF_FRAME = 1,
- V4L2_CID_MPEG_VIDEO_VPX_3_REF_FRAME = 2,
-};
-#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_LEVEL (V4L2_CID_MPEG_BASE+503)
-#define V4L2_CID_MPEG_VIDEO_VPX_FILTER_SHARPNESS (V4L2_CID_MPEG_BASE+504)
-#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_REF_PERIOD (V4L2_CID_MPEG_BASE+505)
-#define V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_SEL (V4L2_CID_MPEG_BASE+506)
-enum v4l2_vp8_golden_frame_sel {
- V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_PREV = 0,
- V4L2_CID_MPEG_VIDEO_VPX_GOLDEN_FRAME_USE_REF_PERIOD = 1,
-};
-#define V4L2_CID_MPEG_VIDEO_VPX_MIN_QP (V4L2_CID_MPEG_BASE+507)
-#define V4L2_CID_MPEG_VIDEO_VPX_MAX_QP (V4L2_CID_MPEG_BASE+508)
-#define V4L2_CID_MPEG_VIDEO_VPX_I_FRAME_QP (V4L2_CID_MPEG_BASE+509)
-#define V4L2_CID_MPEG_VIDEO_VPX_P_FRAME_QP (V4L2_CID_MPEG_BASE+510)
-#define V4L2_CID_MPEG_VIDEO_VPX_PROFILE (V4L2_CID_MPEG_BASE+511)
-
-/* MPEG-class control IDs specific to the CX2341x driver as defined by V4L2 */
-#define V4L2_CID_MPEG_CX2341X_BASE (V4L2_CTRL_CLASS_MPEG | 0x1000)
-#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+0)
-enum v4l2_mpeg_cx2341x_video_spatial_filter_mode {
- V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_MANUAL = 0,
- V4L2_MPEG_CX2341X_VIDEO_SPATIAL_FILTER_MODE_AUTO = 1,
-};
-#define V4L2_CID_MPEG_CX2341X_VIDEO_SPATIAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+1)
-#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+2)
-enum v4l2_mpeg_cx2341x_video_luma_spatial_filter_type {
- V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_OFF = 0,
- V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
- V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_1D_VERT = 2,
- V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_HV_SEPARABLE = 3,
- V4L2_MPEG_CX2341X_VIDEO_LUMA_SPATIAL_FILTER_TYPE_2D_SYM_NON_SEPARABLE = 4,
-};
-#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+3)
-enum v4l2_mpeg_cx2341x_video_chroma_spatial_filter_type {
- V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_OFF = 0,
- V4L2_MPEG_CX2341X_VIDEO_CHROMA_SPATIAL_FILTER_TYPE_1D_HOR = 1,
-};
-#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE (V4L2_CID_MPEG_CX2341X_BASE+4)
-enum v4l2_mpeg_cx2341x_video_temporal_filter_mode {
- V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_MANUAL = 0,
- V4L2_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER_MODE_AUTO = 1,
-};
-#define V4L2_CID_MPEG_CX2341X_VIDEO_TEMPORAL_FILTER (V4L2_CID_MPEG_CX2341X_BASE+5)
-#define V4L2_CID_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE (V4L2_CID_MPEG_CX2341X_BASE+6)
-enum v4l2_mpeg_cx2341x_video_median_filter_type {
- V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_OFF = 0,
- V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR = 1,
- V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_VERT = 2,
- V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_HOR_VERT = 3,
- V4L2_MPEG_CX2341X_VIDEO_MEDIAN_FILTER_TYPE_DIAG = 4,
-};
-#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+7)
-#define V4L2_CID_MPEG_CX2341X_VIDEO_LUMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+8)
-#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_BOTTOM (V4L2_CID_MPEG_CX2341X_BASE+9)
-#define V4L2_CID_MPEG_CX2341X_VIDEO_CHROMA_MEDIAN_FILTER_TOP (V4L2_CID_MPEG_CX2341X_BASE+10)
-#define V4L2_CID_MPEG_CX2341X_STREAM_INSERT_NAV_PACKETS (V4L2_CID_MPEG_CX2341X_BASE+11)
-
-/* MPEG-class control IDs specific to the Samsung MFC 5.1 driver as defined by V4L2 */
-#define V4L2_CID_MPEG_MFC51_BASE (V4L2_CTRL_CLASS_MPEG | 0x1100)
-
-#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY (V4L2_CID_MPEG_MFC51_BASE+0)
-#define V4L2_CID_MPEG_MFC51_VIDEO_DECODER_H264_DISPLAY_DELAY_ENABLE (V4L2_CID_MPEG_MFC51_BASE+1)
-#define V4L2_CID_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE (V4L2_CID_MPEG_MFC51_BASE+2)
-enum v4l2_mpeg_mfc51_video_frame_skip_mode {
- V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_DISABLED = 0,
- V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_LEVEL_LIMIT = 1,
- V4L2_MPEG_MFC51_VIDEO_FRAME_SKIP_MODE_BUF_LIMIT = 2,
-};
-#define V4L2_CID_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE (V4L2_CID_MPEG_MFC51_BASE+3)
-enum v4l2_mpeg_mfc51_video_force_frame_type {
- V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_DISABLED = 0,
- V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_I_FRAME = 1,
- V4L2_MPEG_MFC51_VIDEO_FORCE_FRAME_TYPE_NOT_CODED = 2,
-};
-#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING (V4L2_CID_MPEG_MFC51_BASE+4)
-#define V4L2_CID_MPEG_MFC51_VIDEO_PADDING_YUV (V4L2_CID_MPEG_MFC51_BASE+5)
-#define V4L2_CID_MPEG_MFC51_VIDEO_RC_FIXED_TARGET_BIT (V4L2_CID_MPEG_MFC51_BASE+6)
-#define V4L2_CID_MPEG_MFC51_VIDEO_RC_REACTION_COEFF (V4L2_CID_MPEG_MFC51_BASE+7)
-#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_ACTIVITY (V4L2_CID_MPEG_MFC51_BASE+50)
-#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_DARK (V4L2_CID_MPEG_MFC51_BASE+51)
-#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_SMOOTH (V4L2_CID_MPEG_MFC51_BASE+52)
-#define V4L2_CID_MPEG_MFC51_VIDEO_H264_ADAPTIVE_RC_STATIC (V4L2_CID_MPEG_MFC51_BASE+53)
-#define V4L2_CID_MPEG_MFC51_VIDEO_H264_NUM_REF_PIC_FOR_P (V4L2_CID_MPEG_MFC51_BASE+54)
-
-
-/* Camera class control IDs */
-
-#define V4L2_CID_CAMERA_CLASS_BASE (V4L2_CTRL_CLASS_CAMERA | 0x900)
-#define V4L2_CID_CAMERA_CLASS (V4L2_CTRL_CLASS_CAMERA | 1)
-
-#define V4L2_CID_EXPOSURE_AUTO (V4L2_CID_CAMERA_CLASS_BASE+1)
-enum v4l2_exposure_auto_type {
- V4L2_EXPOSURE_AUTO = 0,
- V4L2_EXPOSURE_MANUAL = 1,
- V4L2_EXPOSURE_SHUTTER_PRIORITY = 2,
- V4L2_EXPOSURE_APERTURE_PRIORITY = 3
-};
-#define V4L2_CID_EXPOSURE_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+2)
-#define V4L2_CID_EXPOSURE_AUTO_PRIORITY (V4L2_CID_CAMERA_CLASS_BASE+3)
-
-#define V4L2_CID_PAN_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+4)
-#define V4L2_CID_TILT_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+5)
-#define V4L2_CID_PAN_RESET (V4L2_CID_CAMERA_CLASS_BASE+6)
-#define V4L2_CID_TILT_RESET (V4L2_CID_CAMERA_CLASS_BASE+7)
-
-#define V4L2_CID_PAN_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+8)
-#define V4L2_CID_TILT_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+9)
-
-#define V4L2_CID_FOCUS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+10)
-#define V4L2_CID_FOCUS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+11)
-#define V4L2_CID_FOCUS_AUTO (V4L2_CID_CAMERA_CLASS_BASE+12)
-
-#define V4L2_CID_ZOOM_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+13)
-#define V4L2_CID_ZOOM_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+14)
-#define V4L2_CID_ZOOM_CONTINUOUS (V4L2_CID_CAMERA_CLASS_BASE+15)
-
-#define V4L2_CID_PRIVACY (V4L2_CID_CAMERA_CLASS_BASE+16)
-
-#define V4L2_CID_IRIS_ABSOLUTE (V4L2_CID_CAMERA_CLASS_BASE+17)
-#define V4L2_CID_IRIS_RELATIVE (V4L2_CID_CAMERA_CLASS_BASE+18)
-
-#define V4L2_CID_AUTO_EXPOSURE_BIAS (V4L2_CID_CAMERA_CLASS_BASE+19)
-
-#define V4L2_CID_AUTO_N_PRESET_WHITE_BALANCE (V4L2_CID_CAMERA_CLASS_BASE+20)
-enum v4l2_auto_n_preset_white_balance {
- V4L2_WHITE_BALANCE_MANUAL = 0,
- V4L2_WHITE_BALANCE_AUTO = 1,
- V4L2_WHITE_BALANCE_INCANDESCENT = 2,
- V4L2_WHITE_BALANCE_FLUORESCENT = 3,
- V4L2_WHITE_BALANCE_FLUORESCENT_H = 4,
- V4L2_WHITE_BALANCE_HORIZON = 5,
- V4L2_WHITE_BALANCE_DAYLIGHT = 6,
- V4L2_WHITE_BALANCE_FLASH = 7,
- V4L2_WHITE_BALANCE_CLOUDY = 8,
- V4L2_WHITE_BALANCE_SHADE = 9,
-};
-
-#define V4L2_CID_WIDE_DYNAMIC_RANGE (V4L2_CID_CAMERA_CLASS_BASE+21)
-#define V4L2_CID_IMAGE_STABILIZATION (V4L2_CID_CAMERA_CLASS_BASE+22)
-
-#define V4L2_CID_ISO_SENSITIVITY (V4L2_CID_CAMERA_CLASS_BASE+23)
-#define V4L2_CID_ISO_SENSITIVITY_AUTO (V4L2_CID_CAMERA_CLASS_BASE+24)
-enum v4l2_iso_sensitivity_auto_type {
- V4L2_ISO_SENSITIVITY_MANUAL = 0,
- V4L2_ISO_SENSITIVITY_AUTO = 1,
-};
-
-#define V4L2_CID_EXPOSURE_METERING (V4L2_CID_CAMERA_CLASS_BASE+25)
-enum v4l2_exposure_metering {
- V4L2_EXPOSURE_METERING_AVERAGE = 0,
- V4L2_EXPOSURE_METERING_CENTER_WEIGHTED = 1,
- V4L2_EXPOSURE_METERING_SPOT = 2,
- V4L2_EXPOSURE_METERING_MATRIX = 3,
-};
-
-#define V4L2_CID_SCENE_MODE (V4L2_CID_CAMERA_CLASS_BASE+26)
-enum v4l2_scene_mode {
- V4L2_SCENE_MODE_NONE = 0,
- V4L2_SCENE_MODE_BACKLIGHT = 1,
- V4L2_SCENE_MODE_BEACH_SNOW = 2,
- V4L2_SCENE_MODE_CANDLE_LIGHT = 3,
- V4L2_SCENE_MODE_DAWN_DUSK = 4,
- V4L2_SCENE_MODE_FALL_COLORS = 5,
- V4L2_SCENE_MODE_FIREWORKS = 6,
- V4L2_SCENE_MODE_LANDSCAPE = 7,
- V4L2_SCENE_MODE_NIGHT = 8,
- V4L2_SCENE_MODE_PARTY_INDOOR = 9,
- V4L2_SCENE_MODE_PORTRAIT = 10,
- V4L2_SCENE_MODE_SPORTS = 11,
- V4L2_SCENE_MODE_SUNSET = 12,
- V4L2_SCENE_MODE_TEXT = 13,
-};
-
-#define V4L2_CID_3A_LOCK (V4L2_CID_CAMERA_CLASS_BASE+27)
-#define V4L2_LOCK_EXPOSURE (1 << 0)
-#define V4L2_LOCK_WHITE_BALANCE (1 << 1)
-#define V4L2_LOCK_FOCUS (1 << 2)
-
-#define V4L2_CID_AUTO_FOCUS_START (V4L2_CID_CAMERA_CLASS_BASE+28)
-#define V4L2_CID_AUTO_FOCUS_STOP (V4L2_CID_CAMERA_CLASS_BASE+29)
-#define V4L2_CID_AUTO_FOCUS_STATUS (V4L2_CID_CAMERA_CLASS_BASE+30)
-#define V4L2_AUTO_FOCUS_STATUS_IDLE (0 << 0)
-#define V4L2_AUTO_FOCUS_STATUS_BUSY (1 << 0)
-#define V4L2_AUTO_FOCUS_STATUS_REACHED (1 << 1)
-#define V4L2_AUTO_FOCUS_STATUS_FAILED (1 << 2)
-
-#define V4L2_CID_AUTO_FOCUS_RANGE (V4L2_CID_CAMERA_CLASS_BASE+31)
-enum v4l2_auto_focus_range {
- V4L2_AUTO_FOCUS_RANGE_AUTO = 0,
- V4L2_AUTO_FOCUS_RANGE_NORMAL = 1,
- V4L2_AUTO_FOCUS_RANGE_MACRO = 2,
- V4L2_AUTO_FOCUS_RANGE_INFINITY = 3,
-};
-
-#define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32)
-#define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33)
-
-/* FM Modulator class control IDs */
-
-#define V4L2_CID_FM_TX_CLASS_BASE (V4L2_CTRL_CLASS_FM_TX | 0x900)
-#define V4L2_CID_FM_TX_CLASS (V4L2_CTRL_CLASS_FM_TX | 1)
-
-#define V4L2_CID_RDS_TX_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 1)
-#define V4L2_CID_RDS_TX_PI (V4L2_CID_FM_TX_CLASS_BASE + 2)
-#define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3)
-#define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5)
-#define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6)
-#define V4L2_CID_RDS_TX_MONO_STEREO (V4L2_CID_FM_TX_CLASS_BASE + 7)
-#define V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (V4L2_CID_FM_TX_CLASS_BASE + 8)
-#define V4L2_CID_RDS_TX_COMPRESSED (V4L2_CID_FM_TX_CLASS_BASE + 9)
-#define V4L2_CID_RDS_TX_DYNAMIC_PTY (V4L2_CID_FM_TX_CLASS_BASE + 10)
-#define V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_TX_CLASS_BASE + 11)
-#define V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (V4L2_CID_FM_TX_CLASS_BASE + 12)
-#define V4L2_CID_RDS_TX_MUSIC_SPEECH (V4L2_CID_FM_TX_CLASS_BASE + 13)
-#define V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (V4L2_CID_FM_TX_CLASS_BASE + 14)
-#define V4L2_CID_RDS_TX_ALT_FREQS (V4L2_CID_FM_TX_CLASS_BASE + 15)
-
-#define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64)
-#define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65)
-#define V4L2_CID_AUDIO_LIMITER_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 66)
-
-#define V4L2_CID_AUDIO_COMPRESSION_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 80)
-#define V4L2_CID_AUDIO_COMPRESSION_GAIN (V4L2_CID_FM_TX_CLASS_BASE + 81)
-#define V4L2_CID_AUDIO_COMPRESSION_THRESHOLD (V4L2_CID_FM_TX_CLASS_BASE + 82)
-#define V4L2_CID_AUDIO_COMPRESSION_ATTACK_TIME (V4L2_CID_FM_TX_CLASS_BASE + 83)
-#define V4L2_CID_AUDIO_COMPRESSION_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 84)
-
-#define V4L2_CID_PILOT_TONE_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 96)
-#define V4L2_CID_PILOT_TONE_DEVIATION (V4L2_CID_FM_TX_CLASS_BASE + 97)
-#define V4L2_CID_PILOT_TONE_FREQUENCY (V4L2_CID_FM_TX_CLASS_BASE + 98)
-
-#define V4L2_CID_TUNE_PREEMPHASIS (V4L2_CID_FM_TX_CLASS_BASE + 112)
-enum v4l2_preemphasis {
- V4L2_PREEMPHASIS_DISABLED = 0,
- V4L2_PREEMPHASIS_50_uS = 1,
- V4L2_PREEMPHASIS_75_uS = 2,
-};
-#define V4L2_CID_TUNE_POWER_LEVEL (V4L2_CID_FM_TX_CLASS_BASE + 113)
-#define V4L2_CID_TUNE_ANTENNA_CAPACITOR (V4L2_CID_FM_TX_CLASS_BASE + 114)
-
-
-/* Flash and privacy (indicator) light controls */
-
-#define V4L2_CID_FLASH_CLASS_BASE (V4L2_CTRL_CLASS_FLASH | 0x900)
-#define V4L2_CID_FLASH_CLASS (V4L2_CTRL_CLASS_FLASH | 1)
-
-#define V4L2_CID_FLASH_LED_MODE (V4L2_CID_FLASH_CLASS_BASE + 1)
-enum v4l2_flash_led_mode {
- V4L2_FLASH_LED_MODE_NONE,
- V4L2_FLASH_LED_MODE_FLASH,
- V4L2_FLASH_LED_MODE_TORCH,
-};
-
-#define V4L2_CID_FLASH_STROBE_SOURCE (V4L2_CID_FLASH_CLASS_BASE + 2)
-enum v4l2_flash_strobe_source {
- V4L2_FLASH_STROBE_SOURCE_SOFTWARE,
- V4L2_FLASH_STROBE_SOURCE_EXTERNAL,
-};
-
-#define V4L2_CID_FLASH_STROBE (V4L2_CID_FLASH_CLASS_BASE + 3)
-#define V4L2_CID_FLASH_STROBE_STOP (V4L2_CID_FLASH_CLASS_BASE + 4)
-#define V4L2_CID_FLASH_STROBE_STATUS (V4L2_CID_FLASH_CLASS_BASE + 5)
-
-#define V4L2_CID_FLASH_TIMEOUT (V4L2_CID_FLASH_CLASS_BASE + 6)
-#define V4L2_CID_FLASH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 7)
-#define V4L2_CID_FLASH_TORCH_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 8)
-#define V4L2_CID_FLASH_INDICATOR_INTENSITY (V4L2_CID_FLASH_CLASS_BASE + 9)
-
-#define V4L2_CID_FLASH_FAULT (V4L2_CID_FLASH_CLASS_BASE + 10)
-#define V4L2_FLASH_FAULT_OVER_VOLTAGE (1 << 0)
-#define V4L2_FLASH_FAULT_TIMEOUT (1 << 1)
-#define V4L2_FLASH_FAULT_OVER_TEMPERATURE (1 << 2)
-#define V4L2_FLASH_FAULT_SHORT_CIRCUIT (1 << 3)
-#define V4L2_FLASH_FAULT_OVER_CURRENT (1 << 4)
-#define V4L2_FLASH_FAULT_INDICATOR (1 << 5)
-#define V4L2_FLASH_FAULT_UNDER_VOLTAGE (1 << 6)
-#define V4L2_FLASH_FAULT_INPUT_VOLTAGE (1 << 7)
-#define V4L2_FLASH_FAULT_LED_OVER_TEMPERATURE (1 << 8)
-
-#define V4L2_CID_FLASH_CHARGE (V4L2_CID_FLASH_CLASS_BASE + 11)
-#define V4L2_CID_FLASH_READY (V4L2_CID_FLASH_CLASS_BASE + 12)
-
-
-/* JPEG-class control IDs */
-
-#define V4L2_CID_JPEG_CLASS_BASE (V4L2_CTRL_CLASS_JPEG | 0x900)
-#define V4L2_CID_JPEG_CLASS (V4L2_CTRL_CLASS_JPEG | 1)
-
-#define V4L2_CID_JPEG_CHROMA_SUBSAMPLING (V4L2_CID_JPEG_CLASS_BASE + 1)
-enum v4l2_jpeg_chroma_subsampling {
- V4L2_JPEG_CHROMA_SUBSAMPLING_444 = 0,
- V4L2_JPEG_CHROMA_SUBSAMPLING_422 = 1,
- V4L2_JPEG_CHROMA_SUBSAMPLING_420 = 2,
- V4L2_JPEG_CHROMA_SUBSAMPLING_411 = 3,
- V4L2_JPEG_CHROMA_SUBSAMPLING_410 = 4,
- V4L2_JPEG_CHROMA_SUBSAMPLING_GRAY = 5,
-};
-#define V4L2_CID_JPEG_RESTART_INTERVAL (V4L2_CID_JPEG_CLASS_BASE + 2)
-#define V4L2_CID_JPEG_COMPRESSION_QUALITY (V4L2_CID_JPEG_CLASS_BASE + 3)
-
-#define V4L2_CID_JPEG_ACTIVE_MARKER (V4L2_CID_JPEG_CLASS_BASE + 4)
-#define V4L2_JPEG_ACTIVE_MARKER_APP0 (1 << 0)
-#define V4L2_JPEG_ACTIVE_MARKER_APP1 (1 << 1)
-#define V4L2_JPEG_ACTIVE_MARKER_COM (1 << 16)
-#define V4L2_JPEG_ACTIVE_MARKER_DQT (1 << 17)
-#define V4L2_JPEG_ACTIVE_MARKER_DHT (1 << 18)
-
-
-/* Image source controls */
-#define V4L2_CID_IMAGE_SOURCE_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_SOURCE | 0x900)
-#define V4L2_CID_IMAGE_SOURCE_CLASS (V4L2_CTRL_CLASS_IMAGE_SOURCE | 1)
-
-#define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1)
-#define V4L2_CID_HBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2)
-#define V4L2_CID_ANALOGUE_GAIN (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3)
-#define V4L2_CID_TEST_PATTERN_RED (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4)
-#define V4L2_CID_TEST_PATTERN_GREENR (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5)
-#define V4L2_CID_TEST_PATTERN_BLUE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6)
-#define V4L2_CID_TEST_PATTERN_GREENB (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7)
-
-
-/* Image processing controls */
-
-#define V4L2_CID_IMAGE_PROC_CLASS_BASE (V4L2_CTRL_CLASS_IMAGE_PROC | 0x900)
-#define V4L2_CID_IMAGE_PROC_CLASS (V4L2_CTRL_CLASS_IMAGE_PROC | 1)
-
-#define V4L2_CID_LINK_FREQ (V4L2_CID_IMAGE_PROC_CLASS_BASE + 1)
-#define V4L2_CID_PIXEL_RATE (V4L2_CID_IMAGE_PROC_CLASS_BASE + 2)
-#define V4L2_CID_TEST_PATTERN (V4L2_CID_IMAGE_PROC_CLASS_BASE + 3)
-
-
-/* DV-class control IDs defined by V4L2 */
-#define V4L2_CID_DV_CLASS_BASE (V4L2_CTRL_CLASS_DV | 0x900)
-#define V4L2_CID_DV_CLASS (V4L2_CTRL_CLASS_DV | 1)
-
-#define V4L2_CID_DV_TX_HOTPLUG (V4L2_CID_DV_CLASS_BASE + 1)
-#define V4L2_CID_DV_TX_RXSENSE (V4L2_CID_DV_CLASS_BASE + 2)
-#define V4L2_CID_DV_TX_EDID_PRESENT (V4L2_CID_DV_CLASS_BASE + 3)
-#define V4L2_CID_DV_TX_MODE (V4L2_CID_DV_CLASS_BASE + 4)
-enum v4l2_dv_tx_mode {
- V4L2_DV_TX_MODE_DVI_D = 0,
- V4L2_DV_TX_MODE_HDMI = 1,
-};
-#define V4L2_CID_DV_TX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 5)
-enum v4l2_dv_rgb_range {
- V4L2_DV_RGB_RANGE_AUTO = 0,
- V4L2_DV_RGB_RANGE_LIMITED = 1,
- V4L2_DV_RGB_RANGE_FULL = 2,
-};
-
-#define V4L2_CID_DV_TX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 6)
-enum v4l2_dv_it_content_type {
- V4L2_DV_IT_CONTENT_TYPE_GRAPHICS = 0,
- V4L2_DV_IT_CONTENT_TYPE_PHOTO = 1,
- V4L2_DV_IT_CONTENT_TYPE_CINEMA = 2,
- V4L2_DV_IT_CONTENT_TYPE_GAME = 3,
- V4L2_DV_IT_CONTENT_TYPE_NO_ITC = 4,
-};
-
-#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
-#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
-#define V4L2_CID_DV_RX_IT_CONTENT_TYPE (V4L2_CID_DV_CLASS_BASE + 102)
-
-#define V4L2_CID_FM_RX_CLASS_BASE (V4L2_CTRL_CLASS_FM_RX | 0x900)
-#define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1)
-
-#define V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1)
-enum v4l2_deemphasis {
- V4L2_DEEMPHASIS_DISABLED = V4L2_PREEMPHASIS_DISABLED,
- V4L2_DEEMPHASIS_50_uS = V4L2_PREEMPHASIS_50_uS,
- V4L2_DEEMPHASIS_75_uS = V4L2_PREEMPHASIS_75_uS,
-};
-
-#define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2)
-#define V4L2_CID_RDS_RX_PTY (V4L2_CID_FM_RX_CLASS_BASE + 3)
-#define V4L2_CID_RDS_RX_PS_NAME (V4L2_CID_FM_RX_CLASS_BASE + 4)
-#define V4L2_CID_RDS_RX_RADIO_TEXT (V4L2_CID_FM_RX_CLASS_BASE + 5)
-#define V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_RX_CLASS_BASE + 6)
-#define V4L2_CID_RDS_RX_TRAFFIC_PROGRAM (V4L2_CID_FM_RX_CLASS_BASE + 7)
-#define V4L2_CID_RDS_RX_MUSIC_SPEECH (V4L2_CID_FM_RX_CLASS_BASE + 8)
-
-#define V4L2_CID_RF_TUNER_CLASS_BASE (V4L2_CTRL_CLASS_RF_TUNER | 0x900)
-#define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1)
-
-#define V4L2_CID_RF_TUNER_BANDWIDTH_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 11)
-#define V4L2_CID_RF_TUNER_BANDWIDTH (V4L2_CID_RF_TUNER_CLASS_BASE + 12)
-#define V4L2_CID_RF_TUNER_RF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 32)
-#define V4L2_CID_RF_TUNER_LNA_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 41)
-#define V4L2_CID_RF_TUNER_LNA_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 42)
-#define V4L2_CID_RF_TUNER_MIXER_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 51)
-#define V4L2_CID_RF_TUNER_MIXER_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 52)
-#define V4L2_CID_RF_TUNER_IF_GAIN_AUTO (V4L2_CID_RF_TUNER_CLASS_BASE + 61)
-#define V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62)
-#define V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91)
-
-
-/* Detection-class control IDs defined by V4L2 */
-#define V4L2_CID_DETECT_CLASS_BASE (V4L2_CTRL_CLASS_DETECT | 0x900)
-#define V4L2_CID_DETECT_CLASS (V4L2_CTRL_CLASS_DETECT | 1)
-
-#define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1)
-enum v4l2_detect_md_mode {
- V4L2_DETECT_MD_MODE_DISABLED = 0,
- V4L2_DETECT_MD_MODE_GLOBAL = 1,
- V4L2_DETECT_MD_MODE_THRESHOLD_GRID = 2,
- V4L2_DETECT_MD_MODE_REGION_GRID = 3,
-};
-#define V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD (V4L2_CID_DETECT_CLASS_BASE + 2)
-#define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3)
-#define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4)
-
-#endif
diff --git a/linux-headers/include/linux/v4l2-dv-timings.h b/linux-headers/include/linux/v4l2-dv-timings.h
deleted file mode 100644
index 086168e..0000000
--- a/linux-headers/include/linux/v4l2-dv-timings.h
+++ /dev/null
@@ -1,937 +0,0 @@
-/*
- * V4L2 DV timings header.
- *
- * Copyright (C) 2012 Hans Verkuil <hans.verkuil@cisco.com>
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * version 2 as published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA
- */
-
-#ifndef _V4L2_DV_TIMINGS_H
-#define _V4L2_DV_TIMINGS_H
-
-#if __GNUC__ < 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ < 6))
-/* Sadly gcc versions older than 4.6 have a bug in how they initialize
- anonymous unions where they require additional curly brackets.
- This violates the C1x standard. This workaround adds the curly brackets
- if needed. */
-#define V4L2_INIT_BT_TIMINGS(_width, args...) \
- { .bt = { _width , ## args } }
-#else
-#define V4L2_INIT_BT_TIMINGS(_width, args...) \
- .bt = { _width , ## args }
-#endif
-
-/* CEA-861-E timings (i.e. standard HDTV timings) */
-
-#define V4L2_DV_BT_CEA_640X480P59_94 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \
- 25175000, 16, 96, 48, 10, 2, 33, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, 0) \
-}
-
-/* Note: these are the nominal timings, for HDMI links this format is typically
- * double-clocked to meet the minimum pixelclock requirements. */
-#define V4L2_DV_BT_CEA_720X480I59_94 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(720, 480, 1, 0, \
- 13500000, 19, 62, 57, 4, 3, 15, 4, 3, 16, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_720X480P59_94 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(720, 480, 0, 0, \
- 27000000, 16, 62, 60, 9, 6, 30, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-/* Note: these are the nominal timings, for HDMI links this format is typically
- * double-clocked to meet the minimum pixelclock requirements. */
-#define V4L2_DV_BT_CEA_720X576I50 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(720, 576, 1, 0, \
- 13500000, 12, 63, 69, 2, 3, 19, 2, 3, 20, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_720X576P50 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(720, 576, 0, 0, \
- 27000000, 12, 64, 68, 5, 5, 39, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1280X720P24 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 59400000, 1760, 40, 220, 5, 5, 20, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS) \
-}
-
-#define V4L2_DV_BT_CEA_1280X720P25 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 74250000, 2420, 40, 220, 5, 5, 20, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1280X720P30 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 74250000, 1760, 40, 220, 5, 5, 20, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1280X720P50 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 74250000, 440, 40, 220, 5, 5, 20, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1280X720P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 720, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 74250000, 110, 40, 220, 5, 5, 20, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1920X1080P24 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 74250000, 638, 44, 148, 4, 5, 36, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1920X1080P25 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 74250000, 528, 44, 148, 4, 5, 36, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1920X1080P30 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 74250000, 88, 44, 148, 4, 5, 36, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1920X1080I50 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1080, 1, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 74250000, 528, 44, 148, 2, 5, 15, 2, 5, 16, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1920X1080P50 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 148500000, 528, 44, 148, 4, 5, 36, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1920X1080I60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1080, 1, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 74250000, 88, 44, 148, 2, 5, 15, 2, 5, 16, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | \
- V4L2_DV_FL_HALF_LINE | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_1920X1080P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1080, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 148500000, 88, 44, 148, 4, 5, 36, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_3840X2160P24 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 297000000, 1276, 88, 296, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_3840X2160P25 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 297000000, 1056, 88, 296, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_3840X2160P30 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 297000000, 176, 88, 296, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_3840X2160P50 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 594000000, 1056, 88, 296, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_3840X2160P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(3840, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 594000000, 176, 88, 296, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_4096X2160P24 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 297000000, 1020, 88, 296, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_4096X2160P25 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 297000000, 968, 88, 128, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_4096X2160P30 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 297000000, 88, 88, 128, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_4096X2160P50 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 594000000, 968, 88, 128, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-#define V4L2_DV_BT_CEA_4096X2160P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(4096, 2160, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 594000000, 88, 88, 128, 8, 10, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_CEA861, \
- V4L2_DV_FL_CAN_REDUCE_FPS | V4L2_DV_FL_IS_CE_VIDEO) \
-}
-
-
-/* VESA Discrete Monitor Timings as per version 1.0, revision 12 */
-
-#define V4L2_DV_BT_DMT_640X350P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(640, 350, 0, V4L2_DV_HSYNC_POS_POL, \
- 31500000, 32, 64, 96, 32, 3, 60, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_640X400P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(640, 400, 0, V4L2_DV_VSYNC_POS_POL, \
- 31500000, 32, 64, 96, 1, 3, 41, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_720X400P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(720, 400, 0, V4L2_DV_VSYNC_POS_POL, \
- 35500000, 36, 72, 108, 1, 3, 42, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-/* VGA resolutions */
-#define V4L2_DV_BT_DMT_640X480P60 V4L2_DV_BT_CEA_640X480P59_94
-
-#define V4L2_DV_BT_DMT_640X480P72 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \
- 31500000, 24, 40, 128, 9, 3, 28, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_640X480P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \
- 31500000, 16, 64, 120, 1, 3, 16, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_640X480P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(640, 480, 0, 0, \
- 36000000, 56, 56, 80, 1, 3, 25, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-/* SVGA resolutions */
-#define V4L2_DV_BT_DMT_800X600P56 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(800, 600, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 36000000, 24, 72, 128, 1, 2, 22, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_800X600P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(800, 600, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 40000000, 40, 128, 88, 1, 4, 23, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_800X600P72 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(800, 600, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 50000000, 56, 120, 64, 37, 6, 23, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_800X600P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(800, 600, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 49500000, 16, 80, 160, 1, 3, 21, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_800X600P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(800, 600, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 56250000, 32, 64, 152, 1, 3, 27, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_800X600P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(800, 600, 0, V4L2_DV_HSYNC_POS_POL, \
- 73250000, 48, 32, 80, 3, 4, 29, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_848X480P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(848, 480, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 33750000, 16, 112, 112, 6, 8, 23, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1024X768I43 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1024, 768, 1, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 44900000, 8, 176, 56, 0, 4, 20, 0, 4, 21, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-/* XGA resolutions */
-#define V4L2_DV_BT_DMT_1024X768P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1024, 768, 0, 0, \
- 65000000, 24, 136, 160, 3, 6, 29, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1024X768P70 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1024, 768, 0, 0, \
- 75000000, 24, 136, 144, 3, 6, 29, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1024X768P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1024, 768, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 78750000, 16, 96, 176, 1, 3, 28, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1024X768P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1024, 768, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 94500000, 48, 96, 208, 1, 3, 36, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1024X768P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1024, 768, 0, V4L2_DV_HSYNC_POS_POL, \
- 115500000, 48, 32, 80, 3, 4, 38, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-/* XGA+ resolution */
-#define V4L2_DV_BT_DMT_1152X864P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1152, 864, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 108000000, 64, 128, 256, 1, 3, 32, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X720P60 V4L2_DV_BT_CEA_1280X720P60
-
-/* WXGA resolutions */
-#define V4L2_DV_BT_DMT_1280X768P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_HSYNC_POS_POL, \
- 68250000, 48, 32, 80, 3, 7, 12, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1280X768P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \
- 79500000, 64, 128, 192, 3, 7, 20, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X768P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \
- 102250000, 80, 128, 208, 3, 7, 27, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X768P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_VSYNC_POS_POL, \
- 117500000, 80, 136, 216, 3, 7, 31, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X768P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 768, 0, V4L2_DV_HSYNC_POS_POL, \
- 140250000, 48, 32, 80, 3, 7, 35, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1280X800P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_HSYNC_POS_POL, \
- 71000000, 48, 32, 80, 3, 6, 14, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1280X800P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \
- 83500000, 72, 128, 200, 3, 6, 22, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X800P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \
- 106500000, 80, 128, 208, 3, 6, 29, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X800P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_VSYNC_POS_POL, \
- 122500000, 80, 136, 216, 3, 6, 34, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X800P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 800, 0, V4L2_DV_HSYNC_POS_POL, \
- 146250000, 48, 32, 80, 3, 6, 38, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1280X960P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 960, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 108000000, 96, 112, 312, 1, 3, 36, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X960P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 960, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 148500000, 64, 160, 224, 1, 3, 47, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X960P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 960, 0, V4L2_DV_HSYNC_POS_POL, \
- 175500000, 48, 32, 80, 3, 4, 50, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-/* SXGA resolutions */
-#define V4L2_DV_BT_DMT_1280X1024P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 108000000, 48, 112, 248, 1, 3, 38, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X1024P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 135000000, 16, 144, 248, 1, 3, 38, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X1024P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 1024, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 157500000, 64, 160, 224, 1, 3, 44, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1280X1024P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1280, 1024, 0, V4L2_DV_HSYNC_POS_POL, \
- 187250000, 48, 32, 80, 3, 7, 50, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1360X768P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1360, 768, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 85500000, 64, 112, 256, 3, 6, 18, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1360X768P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1360, 768, 0, V4L2_DV_HSYNC_POS_POL, \
- 148250000, 48, 32, 80, 3, 5, 37, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1366X768P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1366, 768, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 85500000, 70, 143, 213, 3, 3, 24, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1366X768P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1366, 768, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 72000000, 14, 56, 64, 1, 3, 28, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-/* SXGA+ resolutions */
-#define V4L2_DV_BT_DMT_1400X1050P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_HSYNC_POS_POL, \
- 101000000, 48, 32, 80, 3, 4, 23, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1400X1050P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
- 121750000, 88, 144, 232, 3, 4, 32, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1400X1050P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
- 156000000, 104, 144, 248, 3, 4, 42, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1400X1050P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
- 179500000, 104, 152, 256, 3, 4, 48, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1400X1050P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1400, 1050, 0, V4L2_DV_HSYNC_POS_POL, \
- 208000000, 48, 32, 80, 3, 4, 55, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-/* WXGA+ resolutions */
-#define V4L2_DV_BT_DMT_1440X900P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_HSYNC_POS_POL, \
- 88750000, 48, 32, 80, 3, 6, 17, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1440X900P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \
- 106500000, 80, 152, 232, 3, 6, 25, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1440X900P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \
- 136750000, 96, 152, 248, 3, 6, 33, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1440X900P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_VSYNC_POS_POL, \
- 157000000, 104, 152, 256, 3, 6, 39, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1440X900P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1440, 900, 0, V4L2_DV_HSYNC_POS_POL, \
- 182750000, 48, 32, 80, 3, 6, 44, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1600X900P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1600, 900, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 108000000, 24, 80, 96, 1, 3, 96, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-/* UXGA resolutions */
-#define V4L2_DV_BT_DMT_1600X1200P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 162000000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1600X1200P65 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 175500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1600X1200P70 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 189000000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1600X1200P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 202500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1600X1200P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1600, 1200, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 229500000, 64, 192, 304, 1, 3, 46, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1600X1200P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1600, 1200, 0, V4L2_DV_HSYNC_POS_POL, \
- 268250000, 48, 32, 80, 3, 4, 64, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-/* WSXGA+ resolutions */
-#define V4L2_DV_BT_DMT_1680X1050P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_HSYNC_POS_POL, \
- 119000000, 48, 32, 80, 3, 6, 21, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1680X1050P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
- 146250000, 104, 176, 280, 3, 6, 30, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1680X1050P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
- 187000000, 120, 176, 296, 3, 6, 40, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1680X1050P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_VSYNC_POS_POL, \
- 214750000, 128, 176, 304, 3, 6, 46, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1680X1050P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1680, 1050, 0, V4L2_DV_HSYNC_POS_POL, \
- 245500000, 48, 32, 80, 3, 6, 53, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1792X1344P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_VSYNC_POS_POL, \
- 204750000, 128, 200, 328, 1, 3, 46, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1792X1344P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_VSYNC_POS_POL, \
- 261000000, 96, 216, 352, 1, 3, 69, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1792X1344P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1792, 1344, 0, V4L2_DV_HSYNC_POS_POL, \
- 333250000, 48, 32, 80, 3, 4, 72, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1856X1392P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_VSYNC_POS_POL, \
- 218250000, 96, 224, 352, 1, 3, 43, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1856X1392P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_VSYNC_POS_POL, \
- 288000000, 128, 224, 352, 1, 3, 104, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1856X1392P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1856, 1392, 0, V4L2_DV_HSYNC_POS_POL, \
- 356500000, 48, 32, 80, 3, 4, 75, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1920X1080P60 V4L2_DV_BT_CEA_1920X1080P60
-
-/* WUXGA resolutions */
-#define V4L2_DV_BT_DMT_1920X1200P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_HSYNC_POS_POL, \
- 154000000, 48, 32, 80, 3, 6, 26, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1920X1200P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \
- 193250000, 136, 200, 336, 3, 6, 36, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1920X1200P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \
- 245250000, 136, 208, 344, 3, 6, 46, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1920X1200P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_VSYNC_POS_POL, \
- 281250000, 144, 208, 352, 3, 6, 53, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1920X1200P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1200, 0, V4L2_DV_HSYNC_POS_POL, \
- 317000000, 48, 32, 80, 3, 6, 62, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_1920X1440P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_VSYNC_POS_POL, \
- 234000000, 128, 208, 344, 1, 3, 56, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1920X1440P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_VSYNC_POS_POL, \
- 297000000, 144, 224, 352, 1, 3, 56, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_1920X1440P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(1920, 1440, 0, V4L2_DV_HSYNC_POS_POL, \
- 380500000, 48, 32, 80, 3, 4, 78, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_2048X1152P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(2048, 1152, 0, \
- V4L2_DV_HSYNC_POS_POL | V4L2_DV_VSYNC_POS_POL, \
- 162000000, 26, 80, 96, 1, 3, 44, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT, V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-/* WQXGA resolutions */
-#define V4L2_DV_BT_DMT_2560X1600P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_HSYNC_POS_POL, \
- 268500000, 48, 32, 80, 3, 6, 37, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_2560X1600P60 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \
- 348500000, 192, 280, 472, 3, 6, 49, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_2560X1600P75 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \
- 443250000, 208, 280, 488, 3, 6, 63, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_2560X1600P85 { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_VSYNC_POS_POL, \
- 505250000, 208, 280, 488, 3, 6, 73, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, 0) \
-}
-
-#define V4L2_DV_BT_DMT_2560X1600P120_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(2560, 1600, 0, V4L2_DV_HSYNC_POS_POL, \
- 552750000, 48, 32, 80, 3, 6, 85, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-/* 4K resolutions */
-#define V4L2_DV_BT_DMT_4096X2160P60_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
- 556744000, 8, 32, 40, 48, 8, 6, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#define V4L2_DV_BT_DMT_4096X2160P59_94_RB { \
- .type = V4L2_DV_BT_656_1120, \
- V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
- 556188000, 8, 32, 40, 48, 8, 6, 0, 0, 0, \
- V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CVT, \
- V4L2_DV_FL_REDUCED_BLANKING) \
-}
-
-#endif
diff --git a/linux-headers/include/linux/v4l2-mediabus.h b/linux-headers/include/linux/v4l2-mediabus.h
deleted file mode 100644
index dbacc51..0000000
--- a/linux-headers/include/linux/v4l2-mediabus.h
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Media Bus API header
- *
- * Copyright (C) 2009, Guennadi Liakhovetski <g.liakhovetski@gmx.de>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-
-#ifndef __LINUX_V4L2_MEDIABUS_H
-#define __LINUX_V4L2_MEDIABUS_H
-
-#include <linux/media-bus-format.h>
-#include <linux/types.h>
-#include <linux/videodev2.h>
-
-/**
- * struct v4l2_mbus_framefmt - frame format on the media bus
- * @width: frame width
- * @height: frame height
- * @code: data format code (from enum v4l2_mbus_pixelcode)
- * @field: used interlacing type (from enum v4l2_field)
- * @colorspace: colorspace of the data (from enum v4l2_colorspace)
- * @ycbcr_enc: YCbCr encoding of the data (from enum v4l2_ycbcr_encoding)
- * @quantization: quantization of the data (from enum v4l2_quantization)
- * @xfer_func: transfer function of the data (from enum v4l2_xfer_func)
- */
-struct v4l2_mbus_framefmt {
- __u32 width;
- __u32 height;
- __u32 code;
- __u32 field;
- __u32 colorspace;
- __u16 ycbcr_enc;
- __u16 quantization;
- __u16 xfer_func;
- __u16 reserved[11];
-};
-
-/*
- * enum v4l2_mbus_pixelcode and its definitions are now deprecated, and
- * MEDIA_BUS_FMT_ definitions (defined in media-bus-format.h) should be
- * used instead.
- *
- * New defines should only be added to media-bus-format.h. The
- * v4l2_mbus_pixelcode enum is frozen.
- */
-
-#define V4L2_MBUS_FROM_MEDIA_BUS_FMT(name) \
- V4L2_MBUS_FMT_ ## name = MEDIA_BUS_FMT_ ## name
-
-enum v4l2_mbus_pixelcode {
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(FIXED),
-
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_BE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB444_2X8_PADHI_LE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_BE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB555_2X8_PADHI_LE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_BE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(BGR565_2X8_LE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_BE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB565_2X8_LE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB666_1X18),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_1X24),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_BE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(RGB888_2X12_LE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(ARGB8888_1X32),
-
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(UV8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1_5X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1_5X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1_5X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1_5X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_2X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_2X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_2X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_2X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y10_1X10),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_2X10),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_2X10),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_2X10),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_2X10),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(Y12_1X12),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY8_1X16),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY8_1X16),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV8_1X16),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU8_1X16),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YDYUYDYV8_1X16),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY10_1X20),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY10_1X20),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV10_1X20),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU10_1X20),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUV10_1X30),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(AYUV8_1X32),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_2X12),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_2X12),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_2X12),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_2X12),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(UYVY12_1X24),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(VYUY12_1X24),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YUYV12_1X24),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(YVYU12_1X24),
-
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_ALAW8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_ALAW8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_ALAW8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_ALAW8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_DPCM8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_DPCM8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_DPCM8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_DPCM8_1X8),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_BE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADHI_LE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_BE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_2X8_PADLO_LE),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR10_1X10),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG10_1X10),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG10_1X10),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB10_1X10),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SBGGR12_1X12),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGBRG12_1X12),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SGRBG12_1X12),
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(SRGGB12_1X12),
-
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(JPEG_1X8),
-
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(S5C_UYVY_JPEG_1X8),
-
- V4L2_MBUS_FROM_MEDIA_BUS_FMT(AHSV8888_1X32),
-};
-
-#endif
diff --git a/linux-headers/include/linux/v4l2-subdev.h b/linux-headers/include/linux/v4l2-subdev.h
deleted file mode 100644
index dbce2b5..0000000
--- a/linux-headers/include/linux/v4l2-subdev.h
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * V4L2 subdev userspace API
- *
- * Copyright (C) 2010 Nokia Corporation
- *
- * Contacts: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
- * Sakari Ailus <sakari.ailus@iki.fi>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- */
-
-#ifndef __LINUX_V4L2_SUBDEV_H
-#define __LINUX_V4L2_SUBDEV_H
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-#include <linux/v4l2-common.h>
-#include <linux/v4l2-mediabus.h>
-
-/**
- * enum v4l2_subdev_format_whence - Media bus format type
- * @V4L2_SUBDEV_FORMAT_TRY: try format, for negotiation only
- * @V4L2_SUBDEV_FORMAT_ACTIVE: active format, applied to the device
- */
-enum v4l2_subdev_format_whence {
- V4L2_SUBDEV_FORMAT_TRY = 0,
- V4L2_SUBDEV_FORMAT_ACTIVE = 1,
-};
-
-/**
- * struct v4l2_subdev_format - Pad-level media bus format
- * @which: format type (from enum v4l2_subdev_format_whence)
- * @pad: pad number, as reported by the media API
- * @format: media bus format (format code and frame size)
- */
-struct v4l2_subdev_format {
- __u32 which;
- __u32 pad;
- struct v4l2_mbus_framefmt format;
- __u32 reserved[8];
-};
-
-/**
- * struct v4l2_subdev_crop - Pad-level crop settings
- * @which: format type (from enum v4l2_subdev_format_whence)
- * @pad: pad number, as reported by the media API
- * @rect: pad crop rectangle boundaries
- */
-struct v4l2_subdev_crop {
- __u32 which;
- __u32 pad;
- struct v4l2_rect rect;
- __u32 reserved[8];
-};
-
-/**
- * struct v4l2_subdev_mbus_code_enum - Media bus format enumeration
- * @pad: pad number, as reported by the media API
- * @index: format index during enumeration
- * @code: format code (MEDIA_BUS_FMT_ definitions)
- * @which: format type (from enum v4l2_subdev_format_whence)
- */
-struct v4l2_subdev_mbus_code_enum {
- __u32 pad;
- __u32 index;
- __u32 code;
- __u32 which;
- __u32 reserved[8];
-};
-
-/**
- * struct v4l2_subdev_frame_size_enum - Media bus format enumeration
- * @pad: pad number, as reported by the media API
- * @index: format index during enumeration
- * @code: format code (MEDIA_BUS_FMT_ definitions)
- * @which: format type (from enum v4l2_subdev_format_whence)
- */
-struct v4l2_subdev_frame_size_enum {
- __u32 index;
- __u32 pad;
- __u32 code;
- __u32 min_width;
- __u32 max_width;
- __u32 min_height;
- __u32 max_height;
- __u32 which;
- __u32 reserved[8];
-};
-
-/**
- * struct v4l2_subdev_frame_interval - Pad-level frame rate
- * @pad: pad number, as reported by the media API
- * @interval: frame interval in seconds
- */
-struct v4l2_subdev_frame_interval {
- __u32 pad;
- struct v4l2_fract interval;
- __u32 reserved[9];
-};
-
-/**
- * struct v4l2_subdev_frame_interval_enum - Frame interval enumeration
- * @pad: pad number, as reported by the media API
- * @index: frame interval index during enumeration
- * @code: format code (MEDIA_BUS_FMT_ definitions)
- * @width: frame width in pixels
- * @height: frame height in pixels
- * @interval: frame interval in seconds
- * @which: format type (from enum v4l2_subdev_format_whence)
- */
-struct v4l2_subdev_frame_interval_enum {
- __u32 index;
- __u32 pad;
- __u32 code;
- __u32 width;
- __u32 height;
- struct v4l2_fract interval;
- __u32 which;
- __u32 reserved[8];
-};
-
-/**
- * struct v4l2_subdev_selection - selection info
- *
- * @which: either V4L2_SUBDEV_FORMAT_ACTIVE or V4L2_SUBDEV_FORMAT_TRY
- * @pad: pad number, as reported by the media API
- * @target: Selection target, used to choose one of possible rectangles,
- * defined in v4l2-common.h; V4L2_SEL_TGT_* .
- * @flags: constraint flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*.
- * @r: coordinates of the selection window
- * @reserved: for future use, set to zero for now
- *
- * Hardware may use multiple helper windows to process a video stream.
- * The structure is used to exchange this selection areas between
- * an application and a driver.
- */
-struct v4l2_subdev_selection {
- __u32 which;
- __u32 pad;
- __u32 target;
- __u32 flags;
- struct v4l2_rect r;
- __u32 reserved[8];
-};
-
-/* Backwards compatibility define --- to be removed */
-#define v4l2_subdev_edid v4l2_edid
-
-#define VIDIOC_SUBDEV_G_FMT _IOWR('V', 4, struct v4l2_subdev_format)
-#define VIDIOC_SUBDEV_S_FMT _IOWR('V', 5, struct v4l2_subdev_format)
-#define VIDIOC_SUBDEV_G_FRAME_INTERVAL _IOWR('V', 21, struct v4l2_subdev_frame_interval)
-#define VIDIOC_SUBDEV_S_FRAME_INTERVAL _IOWR('V', 22, struct v4l2_subdev_frame_interval)
-#define VIDIOC_SUBDEV_ENUM_MBUS_CODE _IOWR('V', 2, struct v4l2_subdev_mbus_code_enum)
-#define VIDIOC_SUBDEV_ENUM_FRAME_SIZE _IOWR('V', 74, struct v4l2_subdev_frame_size_enum)
-#define VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL _IOWR('V', 75, struct v4l2_subdev_frame_interval_enum)
-#define VIDIOC_SUBDEV_G_CROP _IOWR('V', 59, struct v4l2_subdev_crop)
-#define VIDIOC_SUBDEV_S_CROP _IOWR('V', 60, struct v4l2_subdev_crop)
-#define VIDIOC_SUBDEV_G_SELECTION _IOWR('V', 61, struct v4l2_subdev_selection)
-#define VIDIOC_SUBDEV_S_SELECTION _IOWR('V', 62, struct v4l2_subdev_selection)
-/* The following ioctls are identical to the ioctls in videodev2.h */
-#define VIDIOC_SUBDEV_G_EDID _IOWR('V', 40, struct v4l2_edid)
-#define VIDIOC_SUBDEV_S_EDID _IOWR('V', 41, struct v4l2_edid)
-#define VIDIOC_SUBDEV_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings)
-#define VIDIOC_SUBDEV_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings)
-#define VIDIOC_SUBDEV_ENUM_DV_TIMINGS _IOWR('V', 98, struct v4l2_enum_dv_timings)
-#define VIDIOC_SUBDEV_QUERY_DV_TIMINGS _IOR('V', 99, struct v4l2_dv_timings)
-#define VIDIOC_SUBDEV_DV_TIMINGS_CAP _IOWR('V', 100, struct v4l2_dv_timings_cap)
-
-#endif
diff --git a/linux-headers/include/linux/version.h b/linux-headers/include/linux/version.h
deleted file mode 100644
index a26a192..0000000
--- a/linux-headers/include/linux/version.h
+++ /dev/null
@@ -1,2 +0,0 @@
-#define LINUX_VERSION_CODE 263682
-#define KERNEL_VERSION(a,b,c) (((a) << 16) + ((b) << 8) + (c))
diff --git a/linux-headers/include/linux/veth.h b/linux-headers/include/linux/veth.h
deleted file mode 100644
index 3354c1e..0000000
--- a/linux-headers/include/linux/veth.h
+++ /dev/null
@@ -1,12 +0,0 @@
-#ifndef __NET_VETH_H_
-#define __NET_VETH_H_
-
-enum {
- VETH_INFO_UNSPEC,
- VETH_INFO_PEER,
-
- __VETH_INFO_MAX
-#define VETH_INFO_MAX (__VETH_INFO_MAX - 1)
-};
-
-#endif
diff --git a/linux-headers/include/linux/vfio.h b/linux-headers/include/linux/vfio.h
deleted file mode 100644
index 759b850..0000000
--- a/linux-headers/include/linux/vfio.h
+++ /dev/null
@@ -1,691 +0,0 @@
-/*
- * VFIO API definition
- *
- * Copyright (C) 2012 Red Hat, Inc. All rights reserved.
- * Author: Alex Williamson <alex.williamson@redhat.com>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- */
-#ifndef VFIO_H
-#define VFIO_H
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-#define VFIO_API_VERSION 0
-
-
-/* Kernel & User level defines for VFIO IOCTLs. */
-
-/* Extensions */
-
-#define VFIO_TYPE1_IOMMU 1
-#define VFIO_SPAPR_TCE_IOMMU 2
-#define VFIO_TYPE1v2_IOMMU 3
-/*
- * IOMMU enforces DMA cache coherence (ex. PCIe NoSnoop stripping). This
- * capability is subject to change as groups are added or removed.
- */
-#define VFIO_DMA_CC_IOMMU 4
-
-/* Check if EEH is supported */
-#define VFIO_EEH 5
-
-/* Two-stage IOMMU */
-#define VFIO_TYPE1_NESTING_IOMMU 6 /* Implies v2 */
-
-#define VFIO_SPAPR_TCE_v2_IOMMU 7
-
-/*
- * The No-IOMMU IOMMU offers no translation or isolation for devices and
- * supports no ioctls outside of VFIO_CHECK_EXTENSION. Use of VFIO's No-IOMMU
- * code will taint the host kernel and should be used with extreme caution.
- */
-#define VFIO_NOIOMMU_IOMMU 8
-
-/*
- * The IOCTL interface is designed for extensibility by embedding the
- * structure length (argsz) and flags into structures passed between
- * kernel and userspace. We therefore use the _IO() macro for these
- * defines to avoid implicitly embedding a size into the ioctl request.
- * As structure fields are added, argsz will increase to match and flag
- * bits will be defined to indicate additional fields with valid data.
- * It's *always* the caller's responsibility to indicate the size of
- * the structure passed by setting argsz appropriately.
- */
-
-#define VFIO_TYPE (';')
-#define VFIO_BASE 100
-
-/*
- * For extension of INFO ioctls, VFIO makes use of a capability chain
- * designed after PCI/e capabilities. A flag bit indicates whether
- * this capability chain is supported and a field defined in the fixed
- * structure defines the offset of the first capability in the chain.
- * This field is only valid when the corresponding bit in the flags
- * bitmap is set. This offset field is relative to the start of the
- * INFO buffer, as is the next field within each capability header.
- * The id within the header is a shared address space per INFO ioctl,
- * while the version field is specific to the capability id. The
- * contents following the header are specific to the capability id.
- */
-struct vfio_info_cap_header {
- __u16 id; /* Identifies capability */
- __u16 version; /* Version specific to the capability ID */
- __u32 next; /* Offset of next capability */
-};
-
-/*
- * Callers of INFO ioctls passing insufficiently sized buffers will see
- * the capability chain flag bit set, a zero value for the first capability
- * offset (if available within the provided argsz), and argsz will be
- * updated to report the necessary buffer size. For compatibility, the
- * INFO ioctl will not report error in this case, but the capability chain
- * will not be available.
- */
-
-/* -------- IOCTLs for VFIO file descriptor (/dev/vfio/vfio) -------- */
-
-/**
- * VFIO_GET_API_VERSION - _IO(VFIO_TYPE, VFIO_BASE + 0)
- *
- * Report the version of the VFIO API. This allows us to bump the entire
- * API version should we later need to add or change features in incompatible
- * ways.
- * Return: VFIO_API_VERSION
- * Availability: Always
- */
-#define VFIO_GET_API_VERSION _IO(VFIO_TYPE, VFIO_BASE + 0)
-
-/**
- * VFIO_CHECK_EXTENSION - _IOW(VFIO_TYPE, VFIO_BASE + 1, __u32)
- *
- * Check whether an extension is supported.
- * Return: 0 if not supported, 1 (or some other positive integer) if supported.
- * Availability: Always
- */
-#define VFIO_CHECK_EXTENSION _IO(VFIO_TYPE, VFIO_BASE + 1)
-
-/**
- * VFIO_SET_IOMMU - _IOW(VFIO_TYPE, VFIO_BASE + 2, __s32)
- *
- * Set the iommu to the given type. The type must be supported by an
- * iommu driver as verified by calling CHECK_EXTENSION using the same
- * type. A group must be set to this file descriptor before this
- * ioctl is available. The IOMMU interfaces enabled by this call are
- * specific to the value set.
- * Return: 0 on success, -errno on failure
- * Availability: When VFIO group attached
- */
-#define VFIO_SET_IOMMU _IO(VFIO_TYPE, VFIO_BASE + 2)
-
-/* -------- IOCTLs for GROUP file descriptors (/dev/vfio/$GROUP) -------- */
-
-/**
- * VFIO_GROUP_GET_STATUS - _IOR(VFIO_TYPE, VFIO_BASE + 3,
- * struct vfio_group_status)
- *
- * Retrieve information about the group. Fills in provided
- * struct vfio_group_info. Caller sets argsz.
- * Return: 0 on succes, -errno on failure.
- * Availability: Always
- */
-struct vfio_group_status {
- __u32 argsz;
- __u32 flags;
-#define VFIO_GROUP_FLAGS_VIABLE (1 << 0)
-#define VFIO_GROUP_FLAGS_CONTAINER_SET (1 << 1)
-};
-#define VFIO_GROUP_GET_STATUS _IO(VFIO_TYPE, VFIO_BASE + 3)
-
-/**
- * VFIO_GROUP_SET_CONTAINER - _IOW(VFIO_TYPE, VFIO_BASE + 4, __s32)
- *
- * Set the container for the VFIO group to the open VFIO file
- * descriptor provided. Groups may only belong to a single
- * container. Containers may, at their discretion, support multiple
- * groups. Only when a container is set are all of the interfaces
- * of the VFIO file descriptor and the VFIO group file descriptor
- * available to the user.
- * Return: 0 on success, -errno on failure.
- * Availability: Always
- */
-#define VFIO_GROUP_SET_CONTAINER _IO(VFIO_TYPE, VFIO_BASE + 4)
-
-/**
- * VFIO_GROUP_UNSET_CONTAINER - _IO(VFIO_TYPE, VFIO_BASE + 5)
- *
- * Remove the group from the attached container. This is the
- * opposite of the SET_CONTAINER call and returns the group to
- * an initial state. All device file descriptors must be released
- * prior to calling this interface. When removing the last group
- * from a container, the IOMMU will be disabled and all state lost,
- * effectively also returning the VFIO file descriptor to an initial
- * state.
- * Return: 0 on success, -errno on failure.
- * Availability: When attached to container
- */
-#define VFIO_GROUP_UNSET_CONTAINER _IO(VFIO_TYPE, VFIO_BASE + 5)
-
-/**
- * VFIO_GROUP_GET_DEVICE_FD - _IOW(VFIO_TYPE, VFIO_BASE + 6, char)
- *
- * Return a new file descriptor for the device object described by
- * the provided string. The string should match a device listed in
- * the devices subdirectory of the IOMMU group sysfs entry. The
- * group containing the device must already be added to this context.
- * Return: new file descriptor on success, -errno on failure.
- * Availability: When attached to container
- */
-#define VFIO_GROUP_GET_DEVICE_FD _IO(VFIO_TYPE, VFIO_BASE + 6)
-
-/* --------------- IOCTLs for DEVICE file descriptors --------------- */
-
-/**
- * VFIO_DEVICE_GET_INFO - _IOR(VFIO_TYPE, VFIO_BASE + 7,
- * struct vfio_device_info)
- *
- * Retrieve information about the device. Fills in provided
- * struct vfio_device_info. Caller sets argsz.
- * Return: 0 on success, -errno on failure.
- */
-struct vfio_device_info {
- __u32 argsz;
- __u32 flags;
-#define VFIO_DEVICE_FLAGS_RESET (1 << 0) /* Device supports reset */
-#define VFIO_DEVICE_FLAGS_PCI (1 << 1) /* vfio-pci device */
-#define VFIO_DEVICE_FLAGS_PLATFORM (1 << 2) /* vfio-platform device */
-#define VFIO_DEVICE_FLAGS_AMBA (1 << 3) /* vfio-amba device */
- __u32 num_regions; /* Max region index + 1 */
- __u32 num_irqs; /* Max IRQ index + 1 */
-};
-#define VFIO_DEVICE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 7)
-
-/**
- * VFIO_DEVICE_GET_REGION_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 8,
- * struct vfio_region_info)
- *
- * Retrieve information about a device region. Caller provides
- * struct vfio_region_info with index value set. Caller sets argsz.
- * Implementation of region mapping is bus driver specific. This is
- * intended to describe MMIO, I/O port, as well as bus specific
- * regions (ex. PCI config space). Zero sized regions may be used
- * to describe unimplemented regions (ex. unimplemented PCI BARs).
- * Return: 0 on success, -errno on failure.
- */
-struct vfio_region_info {
- __u32 argsz;
- __u32 flags;
-#define VFIO_REGION_INFO_FLAG_READ (1 << 0) /* Region supports read */
-#define VFIO_REGION_INFO_FLAG_WRITE (1 << 1) /* Region supports write */
-#define VFIO_REGION_INFO_FLAG_MMAP (1 << 2) /* Region supports mmap */
-#define VFIO_REGION_INFO_FLAG_CAPS (1 << 3) /* Info supports caps */
- __u32 index; /* Region index */
- __u32 cap_offset; /* Offset within info struct of first cap */
- __u64 size; /* Region size (bytes) */
- __u64 offset; /* Region offset from start of device fd */
-};
-#define VFIO_DEVICE_GET_REGION_INFO _IO(VFIO_TYPE, VFIO_BASE + 8)
-
-/*
- * The sparse mmap capability allows finer granularity of specifying areas
- * within a region with mmap support. When specified, the user should only
- * mmap the offset ranges specified by the areas array. mmaps outside of the
- * areas specified may fail (such as the range covering a PCI MSI-X table) or
- * may result in improper device behavior.
- *
- * The structures below define version 1 of this capability.
- */
-#define VFIO_REGION_INFO_CAP_SPARSE_MMAP 1
-
-struct vfio_region_sparse_mmap_area {
- __u64 offset; /* Offset of mmap'able area within region */
- __u64 size; /* Size of mmap'able area */
-};
-
-struct vfio_region_info_cap_sparse_mmap {
- struct vfio_info_cap_header header;
- __u32 nr_areas;
- __u32 reserved;
- struct vfio_region_sparse_mmap_area areas[];
-};
-
-/*
- * The device specific type capability allows regions unique to a specific
- * device or class of devices to be exposed. This helps solve the problem for
- * vfio bus drivers of defining which region indexes correspond to which region
- * on the device, without needing to resort to static indexes, as done by
- * vfio-pci. For instance, if we were to go back in time, we might remove
- * VFIO_PCI_VGA_REGION_INDEX and let vfio-pci simply define that all indexes
- * greater than or equal to VFIO_PCI_NUM_REGIONS are device specific and we'd
- * make a "VGA" device specific type to describe the VGA access space. This
- * means that non-VGA devices wouldn't need to waste this index, and thus the
- * address space associated with it due to implementation of device file
- * descriptor offsets in vfio-pci.
- *
- * The current implementation is now part of the user ABI, so we can't use this
- * for VGA, but there are other upcoming use cases, such as opregions for Intel
- * IGD devices and framebuffers for vGPU devices. We missed VGA, but we'll
- * use this for future additions.
- *
- * The structure below defines version 1 of this capability.
- */
-#define VFIO_REGION_INFO_CAP_TYPE 2
-
-struct vfio_region_info_cap_type {
- struct vfio_info_cap_header header;
- __u32 type; /* global per bus driver */
- __u32 subtype; /* type specific */
-};
-
-#define VFIO_REGION_TYPE_PCI_VENDOR_TYPE (1 << 31)
-#define VFIO_REGION_TYPE_PCI_VENDOR_MASK (0xffff)
-
-/* 8086 Vendor sub-types */
-#define VFIO_REGION_SUBTYPE_INTEL_IGD_OPREGION (1)
-#define VFIO_REGION_SUBTYPE_INTEL_IGD_HOST_CFG (2)
-#define VFIO_REGION_SUBTYPE_INTEL_IGD_LPC_CFG (3)
-
-/**
- * VFIO_DEVICE_GET_IRQ_INFO - _IOWR(VFIO_TYPE, VFIO_BASE + 9,
- * struct vfio_irq_info)
- *
- * Retrieve information about a device IRQ. Caller provides
- * struct vfio_irq_info with index value set. Caller sets argsz.
- * Implementation of IRQ mapping is bus driver specific. Indexes
- * using multiple IRQs are primarily intended to support MSI-like
- * interrupt blocks. Zero count irq blocks may be used to describe
- * unimplemented interrupt types.
- *
- * The EVENTFD flag indicates the interrupt index supports eventfd based
- * signaling.
- *
- * The MASKABLE flags indicates the index supports MASK and UNMASK
- * actions described below.
- *
- * AUTOMASKED indicates that after signaling, the interrupt line is
- * automatically masked by VFIO and the user needs to unmask the line
- * to receive new interrupts. This is primarily intended to distinguish
- * level triggered interrupts.
- *
- * The NORESIZE flag indicates that the interrupt lines within the index
- * are setup as a set and new subindexes cannot be enabled without first
- * disabling the entire index. This is used for interrupts like PCI MSI
- * and MSI-X where the driver may only use a subset of the available
- * indexes, but VFIO needs to enable a specific number of vectors
- * upfront. In the case of MSI-X, where the user can enable MSI-X and
- * then add and unmask vectors, it's up to userspace to make the decision
- * whether to allocate the maximum supported number of vectors or tear
- * down setup and incrementally increase the vectors as each is enabled.
- */
-struct vfio_irq_info {
- __u32 argsz;
- __u32 flags;
-#define VFIO_IRQ_INFO_EVENTFD (1 << 0)
-#define VFIO_IRQ_INFO_MASKABLE (1 << 1)
-#define VFIO_IRQ_INFO_AUTOMASKED (1 << 2)
-#define VFIO_IRQ_INFO_NORESIZE (1 << 3)
- __u32 index; /* IRQ index */
- __u32 count; /* Number of IRQs within this index */
-};
-#define VFIO_DEVICE_GET_IRQ_INFO _IO(VFIO_TYPE, VFIO_BASE + 9)
-
-/**
- * VFIO_DEVICE_SET_IRQS - _IOW(VFIO_TYPE, VFIO_BASE + 10, struct vfio_irq_set)
- *
- * Set signaling, masking, and unmasking of interrupts. Caller provides
- * struct vfio_irq_set with all fields set. 'start' and 'count' indicate
- * the range of subindexes being specified.
- *
- * The DATA flags specify the type of data provided. If DATA_NONE, the
- * operation performs the specified action immediately on the specified
- * interrupt(s). For example, to unmask AUTOMASKED interrupt [0,0]:
- * flags = (DATA_NONE|ACTION_UNMASK), index = 0, start = 0, count = 1.
- *
- * DATA_BOOL allows sparse support for the same on arrays of interrupts.
- * For example, to mask interrupts [0,1] and [0,3] (but not [0,2]):
- * flags = (DATA_BOOL|ACTION_MASK), index = 0, start = 1, count = 3,
- * data = {1,0,1}
- *
- * DATA_EVENTFD binds the specified ACTION to the provided __s32 eventfd.
- * A value of -1 can be used to either de-assign interrupts if already
- * assigned or skip un-assigned interrupts. For example, to set an eventfd
- * to be trigger for interrupts [0,0] and [0,2]:
- * flags = (DATA_EVENTFD|ACTION_TRIGGER), index = 0, start = 0, count = 3,
- * data = {fd1, -1, fd2}
- * If index [0,1] is previously set, two count = 1 ioctls calls would be
- * required to set [0,0] and [0,2] without changing [0,1].
- *
- * Once a signaling mechanism is set, DATA_BOOL or DATA_NONE can be used
- * with ACTION_TRIGGER to perform kernel level interrupt loopback testing
- * from userspace (ie. simulate hardware triggering).
- *
- * Setting of an event triggering mechanism to userspace for ACTION_TRIGGER
- * enables the interrupt index for the device. Individual subindex interrupts
- * can be disabled using the -1 value for DATA_EVENTFD or the index can be
- * disabled as a whole with: flags = (DATA_NONE|ACTION_TRIGGER), count = 0.
- *
- * Note that ACTION_[UN]MASK specify user->kernel signaling (irqfds) while
- * ACTION_TRIGGER specifies kernel->user signaling.
- */
-struct vfio_irq_set {
- __u32 argsz;
- __u32 flags;
-#define VFIO_IRQ_SET_DATA_NONE (1 << 0) /* Data not present */
-#define VFIO_IRQ_SET_DATA_BOOL (1 << 1) /* Data is bool (u8) */
-#define VFIO_IRQ_SET_DATA_EVENTFD (1 << 2) /* Data is eventfd (s32) */
-#define VFIO_IRQ_SET_ACTION_MASK (1 << 3) /* Mask interrupt */
-#define VFIO_IRQ_SET_ACTION_UNMASK (1 << 4) /* Unmask interrupt */
-#define VFIO_IRQ_SET_ACTION_TRIGGER (1 << 5) /* Trigger interrupt */
- __u32 index;
- __u32 start;
- __u32 count;
- __u8 data[];
-};
-#define VFIO_DEVICE_SET_IRQS _IO(VFIO_TYPE, VFIO_BASE + 10)
-
-#define VFIO_IRQ_SET_DATA_TYPE_MASK (VFIO_IRQ_SET_DATA_NONE | \
- VFIO_IRQ_SET_DATA_BOOL | \
- VFIO_IRQ_SET_DATA_EVENTFD)
-#define VFIO_IRQ_SET_ACTION_TYPE_MASK (VFIO_IRQ_SET_ACTION_MASK | \
- VFIO_IRQ_SET_ACTION_UNMASK | \
- VFIO_IRQ_SET_ACTION_TRIGGER)
-/**
- * VFIO_DEVICE_RESET - _IO(VFIO_TYPE, VFIO_BASE + 11)
- *
- * Reset a device.
- */
-#define VFIO_DEVICE_RESET _IO(VFIO_TYPE, VFIO_BASE + 11)
-
-/*
- * The VFIO-PCI bus driver makes use of the following fixed region and
- * IRQ index mapping. Unimplemented regions return a size of zero.
- * Unimplemented IRQ types return a count of zero.
- */
-
-enum {
- VFIO_PCI_BAR0_REGION_INDEX,
- VFIO_PCI_BAR1_REGION_INDEX,
- VFIO_PCI_BAR2_REGION_INDEX,
- VFIO_PCI_BAR3_REGION_INDEX,
- VFIO_PCI_BAR4_REGION_INDEX,
- VFIO_PCI_BAR5_REGION_INDEX,
- VFIO_PCI_ROM_REGION_INDEX,
- VFIO_PCI_CONFIG_REGION_INDEX,
- /*
- * Expose VGA regions defined for PCI base class 03, subclass 00.
- * This includes I/O port ranges 0x3b0 to 0x3bb and 0x3c0 to 0x3df
- * as well as the MMIO range 0xa0000 to 0xbffff. Each implemented
- * range is found at it's identity mapped offset from the region
- * offset, for example 0x3b0 is region_info.offset + 0x3b0. Areas
- * between described ranges are unimplemented.
- */
- VFIO_PCI_VGA_REGION_INDEX,
- VFIO_PCI_NUM_REGIONS = 9 /* Fixed user ABI, region indexes >=9 use */
- /* device specific cap to define content. */
-};
-
-enum {
- VFIO_PCI_INTX_IRQ_INDEX,
- VFIO_PCI_MSI_IRQ_INDEX,
- VFIO_PCI_MSIX_IRQ_INDEX,
- VFIO_PCI_ERR_IRQ_INDEX,
- VFIO_PCI_REQ_IRQ_INDEX,
- VFIO_PCI_NUM_IRQS
-};
-
-/**
- * VFIO_DEVICE_GET_PCI_HOT_RESET_INFO - _IORW(VFIO_TYPE, VFIO_BASE + 12,
- * struct vfio_pci_hot_reset_info)
- *
- * Return: 0 on success, -errno on failure:
- * -enospc = insufficient buffer, -enodev = unsupported for device.
- */
-struct vfio_pci_dependent_device {
- __u32 group_id;
- __u16 segment;
- __u8 bus;
- __u8 devfn; /* Use PCI_SLOT/PCI_FUNC */
-};
-
-struct vfio_pci_hot_reset_info {
- __u32 argsz;
- __u32 flags;
- __u32 count;
- struct vfio_pci_dependent_device devices[];
-};
-
-#define VFIO_DEVICE_GET_PCI_HOT_RESET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
-
-/**
- * VFIO_DEVICE_PCI_HOT_RESET - _IOW(VFIO_TYPE, VFIO_BASE + 13,
- * struct vfio_pci_hot_reset)
- *
- * Return: 0 on success, -errno on failure.
- */
-struct vfio_pci_hot_reset {
- __u32 argsz;
- __u32 flags;
- __u32 count;
- __s32 group_fds[];
-};
-
-#define VFIO_DEVICE_PCI_HOT_RESET _IO(VFIO_TYPE, VFIO_BASE + 13)
-
-/* -------- API for Type1 VFIO IOMMU -------- */
-
-/**
- * VFIO_IOMMU_GET_INFO - _IOR(VFIO_TYPE, VFIO_BASE + 12, struct vfio_iommu_info)
- *
- * Retrieve information about the IOMMU object. Fills in provided
- * struct vfio_iommu_info. Caller sets argsz.
- *
- * XXX Should we do these by CHECK_EXTENSION too?
- */
-struct vfio_iommu_type1_info {
- __u32 argsz;
- __u32 flags;
-#define VFIO_IOMMU_INFO_PGSIZES (1 << 0) /* supported page sizes info */
- __u64 iova_pgsizes; /* Bitmap of supported page sizes */
-};
-
-#define VFIO_IOMMU_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
-
-/**
- * VFIO_IOMMU_MAP_DMA - _IOW(VFIO_TYPE, VFIO_BASE + 13, struct vfio_dma_map)
- *
- * Map process virtual addresses to IO virtual addresses using the
- * provided struct vfio_dma_map. Caller sets argsz. READ &/ WRITE required.
- */
-struct vfio_iommu_type1_dma_map {
- __u32 argsz;
- __u32 flags;
-#define VFIO_DMA_MAP_FLAG_READ (1 << 0) /* readable from device */
-#define VFIO_DMA_MAP_FLAG_WRITE (1 << 1) /* writable from device */
- __u64 vaddr; /* Process virtual address */
- __u64 iova; /* IO virtual address */
- __u64 size; /* Size of mapping (bytes) */
-};
-
-#define VFIO_IOMMU_MAP_DMA _IO(VFIO_TYPE, VFIO_BASE + 13)
-
-/**
- * VFIO_IOMMU_UNMAP_DMA - _IOWR(VFIO_TYPE, VFIO_BASE + 14,
- * struct vfio_dma_unmap)
- *
- * Unmap IO virtual addresses using the provided struct vfio_dma_unmap.
- * Caller sets argsz. The actual unmapped size is returned in the size
- * field. No guarantee is made to the user that arbitrary unmaps of iova
- * or size different from those used in the original mapping call will
- * succeed.
- */
-struct vfio_iommu_type1_dma_unmap {
- __u32 argsz;
- __u32 flags;
- __u64 iova; /* IO virtual address */
- __u64 size; /* Size of mapping (bytes) */
-};
-
-#define VFIO_IOMMU_UNMAP_DMA _IO(VFIO_TYPE, VFIO_BASE + 14)
-
-/*
- * IOCTLs to enable/disable IOMMU container usage.
- * No parameters are supported.
- */
-#define VFIO_IOMMU_ENABLE _IO(VFIO_TYPE, VFIO_BASE + 15)
-#define VFIO_IOMMU_DISABLE _IO(VFIO_TYPE, VFIO_BASE + 16)
-
-/* -------- Additional API for SPAPR TCE (Server POWERPC) IOMMU -------- */
-
-/*
- * The SPAPR TCE DDW info struct provides the information about
- * the details of Dynamic DMA window capability.
- *
- * @pgsizes contains a page size bitmask, 4K/64K/16M are supported.
- * @max_dynamic_windows_supported tells the maximum number of windows
- * which the platform can create.
- * @levels tells the maximum number of levels in multi-level IOMMU tables;
- * this allows splitting a table into smaller chunks which reduces
- * the amount of physically contiguous memory required for the table.
- */
-struct vfio_iommu_spapr_tce_ddw_info {
- __u64 pgsizes; /* Bitmap of supported page sizes */
- __u32 max_dynamic_windows_supported;
- __u32 levels;
-};
-
-/*
- * The SPAPR TCE info struct provides the information about the PCI bus
- * address ranges available for DMA, these values are programmed into
- * the hardware so the guest has to know that information.
- *
- * The DMA 32 bit window start is an absolute PCI bus address.
- * The IOVA address passed via map/unmap ioctls are absolute PCI bus
- * addresses too so the window works as a filter rather than an offset
- * for IOVA addresses.
- *
- * Flags supported:
- * - VFIO_IOMMU_SPAPR_INFO_DDW: informs the userspace that dynamic DMA windows
- * (DDW) support is present. @ddw is only supported when DDW is present.
- */
-struct vfio_iommu_spapr_tce_info {
- __u32 argsz;
- __u32 flags;
-#define VFIO_IOMMU_SPAPR_INFO_DDW (1 << 0) /* DDW supported */
- __u32 dma32_window_start; /* 32 bit window start (bytes) */
- __u32 dma32_window_size; /* 32 bit window size (bytes) */
- struct vfio_iommu_spapr_tce_ddw_info ddw;
-};
-
-#define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12)
-
-/*
- * EEH PE operation struct provides ways to:
- * - enable/disable EEH functionality;
- * - unfreeze IO/DMA for frozen PE;
- * - read PE state;
- * - reset PE;
- * - configure PE;
- * - inject EEH error.
- */
-struct vfio_eeh_pe_err {
- __u32 type;
- __u32 func;
- __u64 addr;
- __u64 mask;
-};
-
-struct vfio_eeh_pe_op {
- __u32 argsz;
- __u32 flags;
- __u32 op;
- union {
- struct vfio_eeh_pe_err err;
- };
-};
-
-#define VFIO_EEH_PE_DISABLE 0 /* Disable EEH functionality */
-#define VFIO_EEH_PE_ENABLE 1 /* Enable EEH functionality */
-#define VFIO_EEH_PE_UNFREEZE_IO 2 /* Enable IO for frozen PE */
-#define VFIO_EEH_PE_UNFREEZE_DMA 3 /* Enable DMA for frozen PE */
-#define VFIO_EEH_PE_GET_STATE 4 /* PE state retrieval */
-#define VFIO_EEH_PE_STATE_NORMAL 0 /* PE in functional state */
-#define VFIO_EEH_PE_STATE_RESET 1 /* PE reset in progress */
-#define VFIO_EEH_PE_STATE_STOPPED 2 /* Stopped DMA and IO */
-#define VFIO_EEH_PE_STATE_STOPPED_DMA 4 /* Stopped DMA only */
-#define VFIO_EEH_PE_STATE_UNAVAIL 5 /* State unavailable */
-#define VFIO_EEH_PE_RESET_DEACTIVATE 5 /* Deassert PE reset */
-#define VFIO_EEH_PE_RESET_HOT 6 /* Assert hot reset */
-#define VFIO_EEH_PE_RESET_FUNDAMENTAL 7 /* Assert fundamental reset */
-#define VFIO_EEH_PE_CONFIGURE 8 /* PE configuration */
-#define VFIO_EEH_PE_INJECT_ERR 9 /* Inject EEH error */
-
-#define VFIO_EEH_PE_OP _IO(VFIO_TYPE, VFIO_BASE + 21)
-
-/**
- * VFIO_IOMMU_SPAPR_REGISTER_MEMORY - _IOW(VFIO_TYPE, VFIO_BASE + 17, struct vfio_iommu_spapr_register_memory)
- *
- * Registers user space memory where DMA is allowed. It pins
- * user pages and does the locked memory accounting so
- * subsequent VFIO_IOMMU_MAP_DMA/VFIO_IOMMU_UNMAP_DMA calls
- * get faster.
- */
-struct vfio_iommu_spapr_register_memory {
- __u32 argsz;
- __u32 flags;
- __u64 vaddr; /* Process virtual address */
- __u64 size; /* Size of mapping (bytes) */
-};
-#define VFIO_IOMMU_SPAPR_REGISTER_MEMORY _IO(VFIO_TYPE, VFIO_BASE + 17)
-
-/**
- * VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY - _IOW(VFIO_TYPE, VFIO_BASE + 18, struct vfio_iommu_spapr_register_memory)
- *
- * Unregisters user space memory registered with
- * VFIO_IOMMU_SPAPR_REGISTER_MEMORY.
- * Uses vfio_iommu_spapr_register_memory for parameters.
- */
-#define VFIO_IOMMU_SPAPR_UNREGISTER_MEMORY _IO(VFIO_TYPE, VFIO_BASE + 18)
-
-/**
- * VFIO_IOMMU_SPAPR_TCE_CREATE - _IOWR(VFIO_TYPE, VFIO_BASE + 19, struct vfio_iommu_spapr_tce_create)
- *
- * Creates an additional TCE table and programs it (sets a new DMA window)
- * to every IOMMU group in the container. It receives page shift, window
- * size and number of levels in the TCE table being created.
- *
- * It allocates and returns an offset on a PCI bus of the new DMA window.
- */
-struct vfio_iommu_spapr_tce_create {
- __u32 argsz;
- __u32 flags;
- /* in */
- __u32 page_shift;
- __u32 __resv1;
- __u64 window_size;
- __u32 levels;
- __u32 __resv2;
- /* out */
- __u64 start_addr;
-};
-#define VFIO_IOMMU_SPAPR_TCE_CREATE _IO(VFIO_TYPE, VFIO_BASE + 19)
-
-/**
- * VFIO_IOMMU_SPAPR_TCE_REMOVE - _IOW(VFIO_TYPE, VFIO_BASE + 20, struct vfio_iommu_spapr_tce_remove)
- *
- * Unprograms a TCE table from all groups in the container and destroys it.
- * It receives a PCI bus offset as a window id.
- */
-struct vfio_iommu_spapr_tce_remove {
- __u32 argsz;
- __u32 flags;
- /* in */
- __u64 start_addr;
-};
-#define VFIO_IOMMU_SPAPR_TCE_REMOVE _IO(VFIO_TYPE, VFIO_BASE + 20)
-
-/* ***************************************************************** */
-
-#endif /* VFIO_H */
diff --git a/linux-headers/include/linux/vhost.h b/linux-headers/include/linux/vhost.h
deleted file mode 100644
index 571294c..0000000
--- a/linux-headers/include/linux/vhost.h
+++ /dev/null
@@ -1,178 +0,0 @@
-#ifndef _LINUX_VHOST_H
-#define _LINUX_VHOST_H
-/* Userspace interface for in-kernel virtio accelerators. */
-
-/* vhost is used to reduce the number of system calls involved in virtio.
- *
- * Existing virtio net code is used in the guest without modification.
- *
- * This header includes interface used by userspace hypervisor for
- * device configuration.
- */
-
-#include <linux/types.h>
-
-#include <linux/ioctl.h>
-#include <linux/virtio_config.h>
-#include <linux/virtio_ring.h>
-
-struct vhost_vring_state {
- unsigned int index;
- unsigned int num;
-};
-
-struct vhost_vring_file {
- unsigned int index;
- int fd; /* Pass -1 to unbind from file. */
-
-};
-
-struct vhost_vring_addr {
- unsigned int index;
- /* Option flags. */
- unsigned int flags;
- /* Flag values: */
- /* Whether log address is valid. If set enables logging. */
-#define VHOST_VRING_F_LOG 0
-
- /* Start of array of descriptors (virtually contiguous) */
- __u64 desc_user_addr;
- /* Used structure address. Must be 32 bit aligned */
- __u64 used_user_addr;
- /* Available structure address. Must be 16 bit aligned */
- __u64 avail_user_addr;
- /* Logging support. */
- /* Log writes to used structure, at offset calculated from specified
- * address. Address must be 32 bit aligned. */
- __u64 log_guest_addr;
-};
-
-struct vhost_memory_region {
- __u64 guest_phys_addr;
- __u64 memory_size; /* bytes */
- __u64 userspace_addr;
- __u64 flags_padding; /* No flags are currently specified. */
-};
-
-/* All region addresses and sizes must be 4K aligned. */
-#define VHOST_PAGE_SIZE 0x1000
-
-struct vhost_memory {
- __u32 nregions;
- __u32 padding;
- struct vhost_memory_region regions[0];
-};
-
-/* ioctls */
-
-#define VHOST_VIRTIO 0xAF
-
-/* Features bitmask for forward compatibility. Transport bits are used for
- * vhost specific features. */
-#define VHOST_GET_FEATURES _IOR(VHOST_VIRTIO, 0x00, __u64)
-#define VHOST_SET_FEATURES _IOW(VHOST_VIRTIO, 0x00, __u64)
-
-/* Set current process as the (exclusive) owner of this file descriptor. This
- * must be called before any other vhost command. Further calls to
- * VHOST_OWNER_SET fail until VHOST_OWNER_RESET is called. */
-#define VHOST_SET_OWNER _IO(VHOST_VIRTIO, 0x01)
-/* Give up ownership, and reset the device to default values.
- * Allows subsequent call to VHOST_OWNER_SET to succeed. */
-#define VHOST_RESET_OWNER _IO(VHOST_VIRTIO, 0x02)
-
-/* Set up/modify memory layout */
-#define VHOST_SET_MEM_TABLE _IOW(VHOST_VIRTIO, 0x03, struct vhost_memory)
-
-/* Write logging setup. */
-/* Memory writes can optionally be logged by setting bit at an offset
- * (calculated from the physical address) from specified log base.
- * The bit is set using an atomic 32 bit operation. */
-/* Set base address for logging. */
-#define VHOST_SET_LOG_BASE _IOW(VHOST_VIRTIO, 0x04, __u64)
-/* Specify an eventfd file descriptor to signal on log write. */
-#define VHOST_SET_LOG_FD _IOW(VHOST_VIRTIO, 0x07, int)
-
-/* Ring setup. */
-/* Set number of descriptors in ring. This parameter can not
- * be modified while ring is running (bound to a device). */
-#define VHOST_SET_VRING_NUM _IOW(VHOST_VIRTIO, 0x10, struct vhost_vring_state)
-/* Set addresses for the ring. */
-#define VHOST_SET_VRING_ADDR _IOW(VHOST_VIRTIO, 0x11, struct vhost_vring_addr)
-/* Base value where queue looks for available descriptors */
-#define VHOST_SET_VRING_BASE _IOW(VHOST_VIRTIO, 0x12, struct vhost_vring_state)
-/* Get accessor: reads index, writes value in num */
-#define VHOST_GET_VRING_BASE _IOWR(VHOST_VIRTIO, 0x12, struct vhost_vring_state)
-
-/* Set the vring byte order in num. Valid values are VHOST_VRING_LITTLE_ENDIAN
- * or VHOST_VRING_BIG_ENDIAN (other values return -EINVAL).
- * The byte order cannot be changed while the device is active: trying to do so
- * returns -EBUSY.
- * This is a legacy only API that is simply ignored when VIRTIO_F_VERSION_1 is
- * set.
- * Not all kernel configurations support this ioctl, but all configurations that
- * support SET also support GET.
- */
-#define VHOST_VRING_LITTLE_ENDIAN 0
-#define VHOST_VRING_BIG_ENDIAN 1
-#define VHOST_SET_VRING_ENDIAN _IOW(VHOST_VIRTIO, 0x13, struct vhost_vring_state)
-#define VHOST_GET_VRING_ENDIAN _IOW(VHOST_VIRTIO, 0x14, struct vhost_vring_state)
-
-/* The following ioctls use eventfd file descriptors to signal and poll
- * for events. */
-
-/* Set eventfd to poll for added buffers */
-#define VHOST_SET_VRING_KICK _IOW(VHOST_VIRTIO, 0x20, struct vhost_vring_file)
-/* Set eventfd to signal when buffers have beed used */
-#define VHOST_SET_VRING_CALL _IOW(VHOST_VIRTIO, 0x21, struct vhost_vring_file)
-/* Set eventfd to signal an error */
-#define VHOST_SET_VRING_ERR _IOW(VHOST_VIRTIO, 0x22, struct vhost_vring_file)
-/* Set busy loop timeout (in us) */
-#define VHOST_SET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x23, \
- struct vhost_vring_state)
-/* Get busy loop timeout (in us) */
-#define VHOST_GET_VRING_BUSYLOOP_TIMEOUT _IOW(VHOST_VIRTIO, 0x24, \
- struct vhost_vring_state)
-
-/* VHOST_NET specific defines */
-
-/* Attach virtio net ring to a raw socket, or tap device.
- * The socket must be already bound to an ethernet device, this device will be
- * used for transmit. Pass fd -1 to unbind from the socket and the transmit
- * device. This can be used to stop the ring (e.g. for migration). */
-#define VHOST_NET_SET_BACKEND _IOW(VHOST_VIRTIO, 0x30, struct vhost_vring_file)
-
-/* Feature bits */
-/* Log all write descriptors. Can be changed while device is active. */
-#define VHOST_F_LOG_ALL 26
-/* vhost-net should add virtio_net_hdr for RX, and strip for TX packets. */
-#define VHOST_NET_F_VIRTIO_NET_HDR 27
-
-/* VHOST_SCSI specific definitions */
-
-/*
- * Used by QEMU userspace to ensure a consistent vhost-scsi ABI.
- *
- * ABI Rev 0: July 2012 version starting point for v3.6-rc merge candidate +
- * RFC-v2 vhost-scsi userspace. Add GET_ABI_VERSION ioctl usage
- * ABI Rev 1: January 2013. Ignore vhost_tpgt filed in struct vhost_scsi_target.
- * All the targets under vhost_wwpn can be seen and used by guset.
- */
-
-#define VHOST_SCSI_ABI_VERSION 1
-
-struct vhost_scsi_target {
- int abi_version;
- char vhost_wwpn[224]; /* TRANSPORT_IQN_LEN */
- unsigned short vhost_tpgt;
- unsigned short reserved;
-};
-
-#define VHOST_SCSI_SET_ENDPOINT _IOW(VHOST_VIRTIO, 0x40, struct vhost_scsi_target)
-#define VHOST_SCSI_CLEAR_ENDPOINT _IOW(VHOST_VIRTIO, 0x41, struct vhost_scsi_target)
-/* Changing this breaks userspace. */
-#define VHOST_SCSI_GET_ABI_VERSION _IOW(VHOST_VIRTIO, 0x42, int)
-/* Set and get the events missed flag */
-#define VHOST_SCSI_SET_EVENTS_MISSED _IOW(VHOST_VIRTIO, 0x43, __u32)
-#define VHOST_SCSI_GET_EVENTS_MISSED _IOW(VHOST_VIRTIO, 0x44, __u32)
-
-#endif
diff --git a/linux-headers/include/linux/videodev2.h b/linux-headers/include/linux/videodev2.h
deleted file mode 100644
index c34592a..0000000
--- a/linux-headers/include/linux/videodev2.h
+++ /dev/null
@@ -1,2305 +0,0 @@
-/*
- * Video for Linux Two header file
- *
- * Copyright (C) 1999-2012 the contributors
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * Alternatively you can redistribute this file under the terms of the
- * BSD license as stated below:
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * 3. The names of its contributors may not be used to endorse or promote
- * products derived from this software without specific prior written
- * permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
- * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
- * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
- * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- * Header file for v4l or V4L2 drivers and applications
- * with public API.
- * All kernel-specific stuff were moved to media/v4l2-dev.h, so
- * no #if __KERNEL tests are allowed here
- *
- * See https://linuxtv.org for more info
- *
- * Author: Bill Dirks <bill@thedirks.org>
- * Justin Schoeman
- * Hans Verkuil <hverkuil@xs4all.nl>
- * et al.
- */
-#ifndef __LINUX_VIDEODEV2_H
-#define __LINUX_VIDEODEV2_H
-
-#include <sys/time.h>
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-#include <linux/v4l2-common.h>
-#include <linux/v4l2-controls.h>
-
-/*
- * Common stuff for both V4L1 and V4L2
- * Moved from videodev.h
- */
-#define VIDEO_MAX_FRAME 32
-#define VIDEO_MAX_PLANES 8
-
-/*
- * M I S C E L L A N E O U S
- */
-
-/* Four-character-code (FOURCC) */
-#define v4l2_fourcc(a, b, c, d)\
- ((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24))
-#define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1 << 31))
-
-/*
- * E N U M S
- */
-enum v4l2_field {
- V4L2_FIELD_ANY = 0, /* driver can choose from none,
- top, bottom, interlaced
- depending on whatever it thinks
- is approximate ... */
- V4L2_FIELD_NONE = 1, /* this device has no fields ... */
- V4L2_FIELD_TOP = 2, /* top field only */
- V4L2_FIELD_BOTTOM = 3, /* bottom field only */
- V4L2_FIELD_INTERLACED = 4, /* both fields interlaced */
- V4L2_FIELD_SEQ_TB = 5, /* both fields sequential into one
- buffer, top-bottom order */
- V4L2_FIELD_SEQ_BT = 6, /* same as above + bottom-top order */
- V4L2_FIELD_ALTERNATE = 7, /* both fields alternating into
- separate buffers */
- V4L2_FIELD_INTERLACED_TB = 8, /* both fields interlaced, top field
- first and the top field is
- transmitted first */
- V4L2_FIELD_INTERLACED_BT = 9, /* both fields interlaced, top field
- first and the bottom field is
- transmitted first */
-};
-#define V4L2_FIELD_HAS_TOP(field) \
- ((field) == V4L2_FIELD_TOP ||\
- (field) == V4L2_FIELD_INTERLACED ||\
- (field) == V4L2_FIELD_INTERLACED_TB ||\
- (field) == V4L2_FIELD_INTERLACED_BT ||\
- (field) == V4L2_FIELD_SEQ_TB ||\
- (field) == V4L2_FIELD_SEQ_BT)
-#define V4L2_FIELD_HAS_BOTTOM(field) \
- ((field) == V4L2_FIELD_BOTTOM ||\
- (field) == V4L2_FIELD_INTERLACED ||\
- (field) == V4L2_FIELD_INTERLACED_TB ||\
- (field) == V4L2_FIELD_INTERLACED_BT ||\
- (field) == V4L2_FIELD_SEQ_TB ||\
- (field) == V4L2_FIELD_SEQ_BT)
-#define V4L2_FIELD_HAS_BOTH(field) \
- ((field) == V4L2_FIELD_INTERLACED ||\
- (field) == V4L2_FIELD_INTERLACED_TB ||\
- (field) == V4L2_FIELD_INTERLACED_BT ||\
- (field) == V4L2_FIELD_SEQ_TB ||\
- (field) == V4L2_FIELD_SEQ_BT)
-#define V4L2_FIELD_HAS_T_OR_B(field) \
- ((field) == V4L2_FIELD_BOTTOM ||\
- (field) == V4L2_FIELD_TOP ||\
- (field) == V4L2_FIELD_ALTERNATE)
-
-enum v4l2_buf_type {
- V4L2_BUF_TYPE_VIDEO_CAPTURE = 1,
- V4L2_BUF_TYPE_VIDEO_OUTPUT = 2,
- V4L2_BUF_TYPE_VIDEO_OVERLAY = 3,
- V4L2_BUF_TYPE_VBI_CAPTURE = 4,
- V4L2_BUF_TYPE_VBI_OUTPUT = 5,
- V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6,
- V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7,
-#if 1
- /* Experimental */
- V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY = 8,
-#endif
- V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE = 9,
- V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE = 10,
- V4L2_BUF_TYPE_SDR_CAPTURE = 11,
- V4L2_BUF_TYPE_SDR_OUTPUT = 12,
- /* Deprecated, do not use */
- V4L2_BUF_TYPE_PRIVATE = 0x80,
-};
-
-#define V4L2_TYPE_IS_MULTIPLANAR(type) \
- ((type) == V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE \
- || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE)
-
-#define V4L2_TYPE_IS_OUTPUT(type) \
- ((type) == V4L2_BUF_TYPE_VIDEO_OUTPUT \
- || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_MPLANE \
- || (type) == V4L2_BUF_TYPE_VIDEO_OVERLAY \
- || (type) == V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY \
- || (type) == V4L2_BUF_TYPE_VBI_OUTPUT \
- || (type) == V4L2_BUF_TYPE_SLICED_VBI_OUTPUT \
- || (type) == V4L2_BUF_TYPE_SDR_OUTPUT)
-
-enum v4l2_tuner_type {
- V4L2_TUNER_RADIO = 1,
- V4L2_TUNER_ANALOG_TV = 2,
- V4L2_TUNER_DIGITAL_TV = 3,
- V4L2_TUNER_SDR = 4,
- V4L2_TUNER_RF = 5,
-};
-
-/* Deprecated, do not use */
-#define V4L2_TUNER_ADC V4L2_TUNER_SDR
-
-enum v4l2_memory {
- V4L2_MEMORY_MMAP = 1,
- V4L2_MEMORY_USERPTR = 2,
- V4L2_MEMORY_OVERLAY = 3,
- V4L2_MEMORY_DMABUF = 4,
-};
-
-/* see also http://vektor.theorem.ca/graphics/ycbcr/ */
-enum v4l2_colorspace {
- /*
- * Default colorspace, i.e. let the driver figure it out.
- * Can only be used with video capture.
- */
- V4L2_COLORSPACE_DEFAULT = 0,
-
- /* SMPTE 170M: used for broadcast NTSC/PAL SDTV */
- V4L2_COLORSPACE_SMPTE170M = 1,
-
- /* Obsolete pre-1998 SMPTE 240M HDTV standard, superseded by Rec 709 */
- V4L2_COLORSPACE_SMPTE240M = 2,
-
- /* Rec.709: used for HDTV */
- V4L2_COLORSPACE_REC709 = 3,
-
- /*
- * Deprecated, do not use. No driver will ever return this. This was
- * based on a misunderstanding of the bt878 datasheet.
- */
- V4L2_COLORSPACE_BT878 = 4,
-
- /*
- * NTSC 1953 colorspace. This only makes sense when dealing with
- * really, really old NTSC recordings. Superseded by SMPTE 170M.
- */
- V4L2_COLORSPACE_470_SYSTEM_M = 5,
-
- /*
- * EBU Tech 3213 PAL/SECAM colorspace. This only makes sense when
- * dealing with really old PAL/SECAM recordings. Superseded by
- * SMPTE 170M.
- */
- V4L2_COLORSPACE_470_SYSTEM_BG = 6,
-
- /*
- * Effectively shorthand for V4L2_COLORSPACE_SRGB, V4L2_YCBCR_ENC_601
- * and V4L2_QUANTIZATION_FULL_RANGE. To be used for (Motion-)JPEG.
- */
- V4L2_COLORSPACE_JPEG = 7,
-
- /* For RGB colorspaces such as produces by most webcams. */
- V4L2_COLORSPACE_SRGB = 8,
-
- /* AdobeRGB colorspace */
- V4L2_COLORSPACE_ADOBERGB = 9,
-
- /* BT.2020 colorspace, used for UHDTV. */
- V4L2_COLORSPACE_BT2020 = 10,
-
- /* Raw colorspace: for RAW unprocessed images */
- V4L2_COLORSPACE_RAW = 11,
-
- /* DCI-P3 colorspace, used by cinema projectors */
- V4L2_COLORSPACE_DCI_P3 = 12,
-};
-
-/*
- * Determine how COLORSPACE_DEFAULT should map to a proper colorspace.
- * This depends on whether this is a SDTV image (use SMPTE 170M), an
- * HDTV image (use Rec. 709), or something else (use sRGB).
- */
-#define V4L2_MAP_COLORSPACE_DEFAULT(is_sdtv, is_hdtv) \
- ((is_sdtv) ? V4L2_COLORSPACE_SMPTE170M : \
- ((is_hdtv) ? V4L2_COLORSPACE_REC709 : V4L2_COLORSPACE_SRGB))
-
-enum v4l2_xfer_func {
- /*
- * Mapping of V4L2_XFER_FUNC_DEFAULT to actual transfer functions
- * for the various colorspaces:
- *
- * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M,
- * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_REC709 and
- * V4L2_COLORSPACE_BT2020: V4L2_XFER_FUNC_709
- *
- * V4L2_COLORSPACE_SRGB, V4L2_COLORSPACE_JPEG: V4L2_XFER_FUNC_SRGB
- *
- * V4L2_COLORSPACE_ADOBERGB: V4L2_XFER_FUNC_ADOBERGB
- *
- * V4L2_COLORSPACE_SMPTE240M: V4L2_XFER_FUNC_SMPTE240M
- *
- * V4L2_COLORSPACE_RAW: V4L2_XFER_FUNC_NONE
- *
- * V4L2_COLORSPACE_DCI_P3: V4L2_XFER_FUNC_DCI_P3
- */
- V4L2_XFER_FUNC_DEFAULT = 0,
- V4L2_XFER_FUNC_709 = 1,
- V4L2_XFER_FUNC_SRGB = 2,
- V4L2_XFER_FUNC_ADOBERGB = 3,
- V4L2_XFER_FUNC_SMPTE240M = 4,
- V4L2_XFER_FUNC_NONE = 5,
- V4L2_XFER_FUNC_DCI_P3 = 6,
- V4L2_XFER_FUNC_SMPTE2084 = 7,
-};
-
-/*
- * Determine how XFER_FUNC_DEFAULT should map to a proper transfer function.
- * This depends on the colorspace.
- */
-#define V4L2_MAP_XFER_FUNC_DEFAULT(colsp) \
- ((colsp) == V4L2_COLORSPACE_ADOBERGB ? V4L2_XFER_FUNC_ADOBERGB : \
- ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_XFER_FUNC_SMPTE240M : \
- ((colsp) == V4L2_COLORSPACE_DCI_P3 ? V4L2_XFER_FUNC_DCI_P3 : \
- ((colsp) == V4L2_COLORSPACE_RAW ? V4L2_XFER_FUNC_NONE : \
- ((colsp) == V4L2_COLORSPACE_SRGB || (colsp) == V4L2_COLORSPACE_JPEG ? \
- V4L2_XFER_FUNC_SRGB : V4L2_XFER_FUNC_709)))))
-
-enum v4l2_ycbcr_encoding {
- /*
- * Mapping of V4L2_YCBCR_ENC_DEFAULT to actual encodings for the
- * various colorspaces:
- *
- * V4L2_COLORSPACE_SMPTE170M, V4L2_COLORSPACE_470_SYSTEM_M,
- * V4L2_COLORSPACE_470_SYSTEM_BG, V4L2_COLORSPACE_ADOBERGB and
- * V4L2_COLORSPACE_JPEG: V4L2_YCBCR_ENC_601
- *
- * V4L2_COLORSPACE_REC709 and V4L2_COLORSPACE_DCI_P3: V4L2_YCBCR_ENC_709
- *
- * V4L2_COLORSPACE_SRGB: V4L2_YCBCR_ENC_SYCC
- *
- * V4L2_COLORSPACE_BT2020: V4L2_YCBCR_ENC_BT2020
- *
- * V4L2_COLORSPACE_SMPTE240M: V4L2_YCBCR_ENC_SMPTE240M
- */
- V4L2_YCBCR_ENC_DEFAULT = 0,
-
- /* ITU-R 601 -- SDTV */
- V4L2_YCBCR_ENC_601 = 1,
-
- /* Rec. 709 -- HDTV */
- V4L2_YCBCR_ENC_709 = 2,
-
- /* ITU-R 601/EN 61966-2-4 Extended Gamut -- SDTV */
- V4L2_YCBCR_ENC_XV601 = 3,
-
- /* Rec. 709/EN 61966-2-4 Extended Gamut -- HDTV */
- V4L2_YCBCR_ENC_XV709 = 4,
-
- /* sYCC (Y'CbCr encoding of sRGB) */
- V4L2_YCBCR_ENC_SYCC = 5,
-
- /* BT.2020 Non-constant Luminance Y'CbCr */
- V4L2_YCBCR_ENC_BT2020 = 6,
-
- /* BT.2020 Constant Luminance Y'CbcCrc */
- V4L2_YCBCR_ENC_BT2020_CONST_LUM = 7,
-
- /* SMPTE 240M -- Obsolete HDTV */
- V4L2_YCBCR_ENC_SMPTE240M = 8,
-};
-
-/*
- * Determine how YCBCR_ENC_DEFAULT should map to a proper Y'CbCr encoding.
- * This depends on the colorspace.
- */
-#define V4L2_MAP_YCBCR_ENC_DEFAULT(colsp) \
- (((colsp) == V4L2_COLORSPACE_REC709 || \
- (colsp) == V4L2_COLORSPACE_DCI_P3) ? V4L2_YCBCR_ENC_709 : \
- ((colsp) == V4L2_COLORSPACE_BT2020 ? V4L2_YCBCR_ENC_BT2020 : \
- ((colsp) == V4L2_COLORSPACE_SMPTE240M ? V4L2_YCBCR_ENC_SMPTE240M : \
- V4L2_YCBCR_ENC_601)))
-
-enum v4l2_quantization {
- /*
- * The default for R'G'B' quantization is always full range, except
- * for the BT2020 colorspace. For Y'CbCr the quantization is always
- * limited range, except for COLORSPACE_JPEG, SYCC, XV601 or XV709:
- * those are full range.
- */
- V4L2_QUANTIZATION_DEFAULT = 0,
- V4L2_QUANTIZATION_FULL_RANGE = 1,
- V4L2_QUANTIZATION_LIM_RANGE = 2,
-};
-
-/*
- * Determine how QUANTIZATION_DEFAULT should map to a proper quantization.
- * This depends on whether the image is RGB or not, the colorspace and the
- * Y'CbCr encoding.
- */
-#define V4L2_MAP_QUANTIZATION_DEFAULT(is_rgb, colsp, ycbcr_enc) \
- (((is_rgb) && (colsp) == V4L2_COLORSPACE_BT2020) ? V4L2_QUANTIZATION_LIM_RANGE : \
- (((is_rgb) || (ycbcr_enc) == V4L2_YCBCR_ENC_XV601 || \
- (ycbcr_enc) == V4L2_YCBCR_ENC_XV709 || (colsp) == V4L2_COLORSPACE_JPEG) ? \
- V4L2_QUANTIZATION_FULL_RANGE : V4L2_QUANTIZATION_LIM_RANGE))
-
-enum v4l2_priority {
- V4L2_PRIORITY_UNSET = 0, /* not initialized */
- V4L2_PRIORITY_BACKGROUND = 1,
- V4L2_PRIORITY_INTERACTIVE = 2,
- V4L2_PRIORITY_RECORD = 3,
- V4L2_PRIORITY_DEFAULT = V4L2_PRIORITY_INTERACTIVE,
-};
-
-struct v4l2_rect {
- __s32 left;
- __s32 top;
- __u32 width;
- __u32 height;
-};
-
-struct v4l2_fract {
- __u32 numerator;
- __u32 denominator;
-};
-
-/**
- * struct v4l2_capability - Describes V4L2 device caps returned by VIDIOC_QUERYCAP
- *
- * @driver: name of the driver module (e.g. "bttv")
- * @card: name of the card (e.g. "Hauppauge WinTV")
- * @bus_info: name of the bus (e.g. "PCI:" + pci_name(pci_dev) )
- * @version: KERNEL_VERSION
- * @capabilities: capabilities of the physical device as a whole
- * @device_caps: capabilities accessed via this particular device (node)
- * @reserved: reserved fields for future extensions
- */
-struct v4l2_capability {
- __u8 driver[16];
- __u8 card[32];
- __u8 bus_info[32];
- __u32 version;
- __u32 capabilities;
- __u32 device_caps;
- __u32 reserved[3];
-};
-
-/* Values for 'capabilities' field */
-#define V4L2_CAP_VIDEO_CAPTURE 0x00000001 /* Is a video capture device */
-#define V4L2_CAP_VIDEO_OUTPUT 0x00000002 /* Is a video output device */
-#define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */
-#define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */
-#define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */
-#define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */
-#define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */
-#define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */
-#define V4L2_CAP_VIDEO_OUTPUT_OVERLAY 0x00000200 /* Can do video output overlay */
-#define V4L2_CAP_HW_FREQ_SEEK 0x00000400 /* Can do hardware frequency seek */
-#define V4L2_CAP_RDS_OUTPUT 0x00000800 /* Is an RDS encoder */
-
-/* Is a video capture device that supports multiplanar formats */
-#define V4L2_CAP_VIDEO_CAPTURE_MPLANE 0x00001000
-/* Is a video output device that supports multiplanar formats */
-#define V4L2_CAP_VIDEO_OUTPUT_MPLANE 0x00002000
-/* Is a video mem-to-mem device that supports multiplanar formats */
-#define V4L2_CAP_VIDEO_M2M_MPLANE 0x00004000
-/* Is a video mem-to-mem device */
-#define V4L2_CAP_VIDEO_M2M 0x00008000
-
-#define V4L2_CAP_TUNER 0x00010000 /* has a tuner */
-#define V4L2_CAP_AUDIO 0x00020000 /* has audio support */
-#define V4L2_CAP_RADIO 0x00040000 /* is a radio device */
-#define V4L2_CAP_MODULATOR 0x00080000 /* has a modulator */
-
-#define V4L2_CAP_SDR_CAPTURE 0x00100000 /* Is a SDR capture device */
-#define V4L2_CAP_EXT_PIX_FORMAT 0x00200000 /* Supports the extended pixel format */
-#define V4L2_CAP_SDR_OUTPUT 0x00400000 /* Is a SDR output device */
-
-#define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */
-#define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */
-#define V4L2_CAP_STREAMING 0x04000000 /* streaming I/O ioctls */
-
-#define V4L2_CAP_DEVICE_CAPS 0x80000000 /* sets device capabilities field */
-
-/*
- * V I D E O I M A G E F O R M A T
- */
-struct v4l2_pix_format {
- __u32 width;
- __u32 height;
- __u32 pixelformat;
- __u32 field; /* enum v4l2_field */
- __u32 bytesperline; /* for padding, zero if unused */
- __u32 sizeimage;
- __u32 colorspace; /* enum v4l2_colorspace */
- __u32 priv; /* private data, depends on pixelformat */
- __u32 flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */
- __u32 ycbcr_enc; /* enum v4l2_ycbcr_encoding */
- __u32 quantization; /* enum v4l2_quantization */
- __u32 xfer_func; /* enum v4l2_xfer_func */
-};
-
-/* Pixel format FOURCC depth Description */
-
-/* RGB formats */
-#define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */
-#define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4') /* 16 xxxxrrrr ggggbbbb */
-#define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') /* 16 aaaarrrr ggggbbbb */
-#define V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2') /* 16 xxxxrrrr ggggbbbb */
-#define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */
-#define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */
-#define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */
-#define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */
-#define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */
-#define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16 ARGB-5-5-5 BE */
-#define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16 XRGB-5-5-5 BE */
-#define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */
-#define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */
-#define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */
-#define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */
-#define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */
-#define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4') /* 32 BGRA-8-8-8-8 */
-#define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4') /* 32 BGRX-8-8-8-8 */
-#define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */
-#define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') /* 32 ARGB-8-8-8-8 */
-#define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') /* 32 XRGB-8-8-8-8 */
-
-/* Grey formats */
-#define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */
-#define V4L2_PIX_FMT_Y4 v4l2_fourcc('Y', '0', '4', ' ') /* 4 Greyscale */
-#define V4L2_PIX_FMT_Y6 v4l2_fourcc('Y', '0', '6', ' ') /* 6 Greyscale */
-#define V4L2_PIX_FMT_Y10 v4l2_fourcc('Y', '1', '0', ' ') /* 10 Greyscale */
-#define V4L2_PIX_FMT_Y12 v4l2_fourcc('Y', '1', '2', ' ') /* 12 Greyscale */
-#define V4L2_PIX_FMT_Y16 v4l2_fourcc('Y', '1', '6', ' ') /* 16 Greyscale */
-#define V4L2_PIX_FMT_Y16_BE v4l2_fourcc_be('Y', '1', '6', ' ') /* 16 Greyscale BE */
-
-/* Grey bit-packed formats */
-#define V4L2_PIX_FMT_Y10BPACK v4l2_fourcc('Y', '1', '0', 'B') /* 10 Greyscale bit-packed */
-
-/* Palette formats */
-#define V4L2_PIX_FMT_PAL8 v4l2_fourcc('P', 'A', 'L', '8') /* 8 8-bit palette */
-
-/* Chrominance formats */
-#define V4L2_PIX_FMT_UV8 v4l2_fourcc('U', 'V', '8', ' ') /* 8 UV 4:4 */
-
-/* Luminance+Chrominance formats */
-#define V4L2_PIX_FMT_YVU410 v4l2_fourcc('Y', 'V', 'U', '9') /* 9 YVU 4:1:0 */
-#define V4L2_PIX_FMT_YVU420 v4l2_fourcc('Y', 'V', '1', '2') /* 12 YVU 4:2:0 */
-#define V4L2_PIX_FMT_YUYV v4l2_fourcc('Y', 'U', 'Y', 'V') /* 16 YUV 4:2:2 */
-#define V4L2_PIX_FMT_YYUV v4l2_fourcc('Y', 'Y', 'U', 'V') /* 16 YUV 4:2:2 */
-#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */
-#define V4L2_PIX_FMT_UYVY v4l2_fourcc('U', 'Y', 'V', 'Y') /* 16 YUV 4:2:2 */
-#define V4L2_PIX_FMT_VYUY v4l2_fourcc('V', 'Y', 'U', 'Y') /* 16 YUV 4:2:2 */
-#define V4L2_PIX_FMT_YUV422P v4l2_fourcc('4', '2', '2', 'P') /* 16 YVU422 planar */
-#define V4L2_PIX_FMT_YUV411P v4l2_fourcc('4', '1', '1', 'P') /* 16 YVU411 planar */
-#define V4L2_PIX_FMT_Y41P v4l2_fourcc('Y', '4', '1', 'P') /* 12 YUV 4:1:1 */
-#define V4L2_PIX_FMT_YUV444 v4l2_fourcc('Y', '4', '4', '4') /* 16 xxxxyyyy uuuuvvvv */
-#define V4L2_PIX_FMT_YUV555 v4l2_fourcc('Y', 'U', 'V', 'O') /* 16 YUV-5-5-5 */
-#define V4L2_PIX_FMT_YUV565 v4l2_fourcc('Y', 'U', 'V', 'P') /* 16 YUV-5-6-5 */
-#define V4L2_PIX_FMT_YUV32 v4l2_fourcc('Y', 'U', 'V', '4') /* 32 YUV-8-8-8-8 */
-#define V4L2_PIX_FMT_YUV410 v4l2_fourcc('Y', 'U', 'V', '9') /* 9 YUV 4:1:0 */
-#define V4L2_PIX_FMT_YUV420 v4l2_fourcc('Y', 'U', '1', '2') /* 12 YUV 4:2:0 */
-#define V4L2_PIX_FMT_HI240 v4l2_fourcc('H', 'I', '2', '4') /* 8 8-bit color */
-#define V4L2_PIX_FMT_HM12 v4l2_fourcc('H', 'M', '1', '2') /* 8 YUV 4:2:0 16x16 macroblocks */
-#define V4L2_PIX_FMT_M420 v4l2_fourcc('M', '4', '2', '0') /* 12 YUV 4:2:0 2 lines y, 1 line uv interleaved */
-
-/* two planes -- one Y, one Cr + Cb interleaved */
-#define V4L2_PIX_FMT_NV12 v4l2_fourcc('N', 'V', '1', '2') /* 12 Y/CbCr 4:2:0 */
-#define V4L2_PIX_FMT_NV21 v4l2_fourcc('N', 'V', '2', '1') /* 12 Y/CrCb 4:2:0 */
-#define V4L2_PIX_FMT_NV16 v4l2_fourcc('N', 'V', '1', '6') /* 16 Y/CbCr 4:2:2 */
-#define V4L2_PIX_FMT_NV61 v4l2_fourcc('N', 'V', '6', '1') /* 16 Y/CrCb 4:2:2 */
-#define V4L2_PIX_FMT_NV24 v4l2_fourcc('N', 'V', '2', '4') /* 24 Y/CbCr 4:4:4 */
-#define V4L2_PIX_FMT_NV42 v4l2_fourcc('N', 'V', '4', '2') /* 24 Y/CrCb 4:4:4 */
-
-/* two non contiguous planes - one Y, one Cr + Cb interleaved */
-#define V4L2_PIX_FMT_NV12M v4l2_fourcc('N', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 */
-#define V4L2_PIX_FMT_NV21M v4l2_fourcc('N', 'M', '2', '1') /* 21 Y/CrCb 4:2:0 */
-#define V4L2_PIX_FMT_NV16M v4l2_fourcc('N', 'M', '1', '6') /* 16 Y/CbCr 4:2:2 */
-#define V4L2_PIX_FMT_NV61M v4l2_fourcc('N', 'M', '6', '1') /* 16 Y/CrCb 4:2:2 */
-#define V4L2_PIX_FMT_NV12MT v4l2_fourcc('T', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 64x32 macroblocks */
-#define V4L2_PIX_FMT_NV12MT_16X16 v4l2_fourcc('V', 'M', '1', '2') /* 12 Y/CbCr 4:2:0 16x16 macroblocks */
-
-/* three non contiguous planes - Y, Cb, Cr */
-#define V4L2_PIX_FMT_YUV420M v4l2_fourcc('Y', 'M', '1', '2') /* 12 YUV420 planar */
-#define V4L2_PIX_FMT_YVU420M v4l2_fourcc('Y', 'M', '2', '1') /* 12 YVU420 planar */
-#define V4L2_PIX_FMT_YUV422M v4l2_fourcc('Y', 'M', '1', '6') /* 16 YUV422 planar */
-#define V4L2_PIX_FMT_YVU422M v4l2_fourcc('Y', 'M', '6', '1') /* 16 YVU422 planar */
-#define V4L2_PIX_FMT_YUV444M v4l2_fourcc('Y', 'M', '2', '4') /* 24 YUV444 planar */
-#define V4L2_PIX_FMT_YVU444M v4l2_fourcc('Y', 'M', '4', '2') /* 24 YVU444 planar */
-
-/* Bayer formats - see http://www.siliconimaging.com/RGB%20Bayer.htm */
-#define V4L2_PIX_FMT_SBGGR8 v4l2_fourcc('B', 'A', '8', '1') /* 8 BGBG.. GRGR.. */
-#define V4L2_PIX_FMT_SGBRG8 v4l2_fourcc('G', 'B', 'R', 'G') /* 8 GBGB.. RGRG.. */
-#define V4L2_PIX_FMT_SGRBG8 v4l2_fourcc('G', 'R', 'B', 'G') /* 8 GRGR.. BGBG.. */
-#define V4L2_PIX_FMT_SRGGB8 v4l2_fourcc('R', 'G', 'G', 'B') /* 8 RGRG.. GBGB.. */
-#define V4L2_PIX_FMT_SBGGR10 v4l2_fourcc('B', 'G', '1', '0') /* 10 BGBG.. GRGR.. */
-#define V4L2_PIX_FMT_SGBRG10 v4l2_fourcc('G', 'B', '1', '0') /* 10 GBGB.. RGRG.. */
-#define V4L2_PIX_FMT_SGRBG10 v4l2_fourcc('B', 'A', '1', '0') /* 10 GRGR.. BGBG.. */
-#define V4L2_PIX_FMT_SRGGB10 v4l2_fourcc('R', 'G', '1', '0') /* 10 RGRG.. GBGB.. */
- /* 10bit raw bayer packed, 5 bytes for every 4 pixels */
-#define V4L2_PIX_FMT_SBGGR10P v4l2_fourcc('p', 'B', 'A', 'A')
-#define V4L2_PIX_FMT_SGBRG10P v4l2_fourcc('p', 'G', 'A', 'A')
-#define V4L2_PIX_FMT_SGRBG10P v4l2_fourcc('p', 'g', 'A', 'A')
-#define V4L2_PIX_FMT_SRGGB10P v4l2_fourcc('p', 'R', 'A', 'A')
- /* 10bit raw bayer a-law compressed to 8 bits */
-#define V4L2_PIX_FMT_SBGGR10ALAW8 v4l2_fourcc('a', 'B', 'A', '8')
-#define V4L2_PIX_FMT_SGBRG10ALAW8 v4l2_fourcc('a', 'G', 'A', '8')
-#define V4L2_PIX_FMT_SGRBG10ALAW8 v4l2_fourcc('a', 'g', 'A', '8')
-#define V4L2_PIX_FMT_SRGGB10ALAW8 v4l2_fourcc('a', 'R', 'A', '8')
- /* 10bit raw bayer DPCM compressed to 8 bits */
-#define V4L2_PIX_FMT_SBGGR10DPCM8 v4l2_fourcc('b', 'B', 'A', '8')
-#define V4L2_PIX_FMT_SGBRG10DPCM8 v4l2_fourcc('b', 'G', 'A', '8')
-#define V4L2_PIX_FMT_SGRBG10DPCM8 v4l2_fourcc('B', 'D', '1', '0')
-#define V4L2_PIX_FMT_SRGGB10DPCM8 v4l2_fourcc('b', 'R', 'A', '8')
-#define V4L2_PIX_FMT_SBGGR12 v4l2_fourcc('B', 'G', '1', '2') /* 12 BGBG.. GRGR.. */
-#define V4L2_PIX_FMT_SGBRG12 v4l2_fourcc('G', 'B', '1', '2') /* 12 GBGB.. RGRG.. */
-#define V4L2_PIX_FMT_SGRBG12 v4l2_fourcc('B', 'A', '1', '2') /* 12 GRGR.. BGBG.. */
-#define V4L2_PIX_FMT_SRGGB12 v4l2_fourcc('R', 'G', '1', '2') /* 12 RGRG.. GBGB.. */
-#define V4L2_PIX_FMT_SBGGR16 v4l2_fourcc('B', 'Y', 'R', '2') /* 16 BGBG.. GRGR.. */
-
-/* compressed formats */
-#define V4L2_PIX_FMT_MJPEG v4l2_fourcc('M', 'J', 'P', 'G') /* Motion-JPEG */
-#define V4L2_PIX_FMT_JPEG v4l2_fourcc('J', 'P', 'E', 'G') /* JFIF JPEG */
-#define V4L2_PIX_FMT_DV v4l2_fourcc('d', 'v', 's', 'd') /* 1394 */
-#define V4L2_PIX_FMT_MPEG v4l2_fourcc('M', 'P', 'E', 'G') /* MPEG-1/2/4 Multiplexed */
-#define V4L2_PIX_FMT_H264 v4l2_fourcc('H', '2', '6', '4') /* H264 with start codes */
-#define V4L2_PIX_FMT_H264_NO_SC v4l2_fourcc('A', 'V', 'C', '1') /* H264 without start codes */
-#define V4L2_PIX_FMT_H264_MVC v4l2_fourcc('M', '2', '6', '4') /* H264 MVC */
-#define V4L2_PIX_FMT_H263 v4l2_fourcc('H', '2', '6', '3') /* H263 */
-#define V4L2_PIX_FMT_MPEG1 v4l2_fourcc('M', 'P', 'G', '1') /* MPEG-1 ES */
-#define V4L2_PIX_FMT_MPEG2 v4l2_fourcc('M', 'P', 'G', '2') /* MPEG-2 ES */
-#define V4L2_PIX_FMT_MPEG4 v4l2_fourcc('M', 'P', 'G', '4') /* MPEG-4 part 2 ES */
-#define V4L2_PIX_FMT_XVID v4l2_fourcc('X', 'V', 'I', 'D') /* Xvid */
-#define V4L2_PIX_FMT_VC1_ANNEX_G v4l2_fourcc('V', 'C', '1', 'G') /* SMPTE 421M Annex G compliant stream */
-#define V4L2_PIX_FMT_VC1_ANNEX_L v4l2_fourcc('V', 'C', '1', 'L') /* SMPTE 421M Annex L compliant stream */
-#define V4L2_PIX_FMT_VP8 v4l2_fourcc('V', 'P', '8', '0') /* VP8 */
-
-/* Vendor-specific formats */
-#define V4L2_PIX_FMT_CPIA1 v4l2_fourcc('C', 'P', 'I', 'A') /* cpia1 YUV */
-#define V4L2_PIX_FMT_WNVA v4l2_fourcc('W', 'N', 'V', 'A') /* Winnov hw compress */
-#define V4L2_PIX_FMT_SN9C10X v4l2_fourcc('S', '9', '1', '0') /* SN9C10x compression */
-#define V4L2_PIX_FMT_SN9C20X_I420 v4l2_fourcc('S', '9', '2', '0') /* SN9C20x YUV 4:2:0 */
-#define V4L2_PIX_FMT_PWC1 v4l2_fourcc('P', 'W', 'C', '1') /* pwc older webcam */
-#define V4L2_PIX_FMT_PWC2 v4l2_fourcc('P', 'W', 'C', '2') /* pwc newer webcam */
-#define V4L2_PIX_FMT_ET61X251 v4l2_fourcc('E', '6', '2', '5') /* ET61X251 compression */
-#define V4L2_PIX_FMT_SPCA501 v4l2_fourcc('S', '5', '0', '1') /* YUYV per line */
-#define V4L2_PIX_FMT_SPCA505 v4l2_fourcc('S', '5', '0', '5') /* YYUV per line */
-#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */
-#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
-#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
-#define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */
-#define V4L2_PIX_FMT_JL2005BCD v4l2_fourcc('J', 'L', '2', '0') /* compressed RGGB bayer */
-#define V4L2_PIX_FMT_SN9C2028 v4l2_fourcc('S', 'O', 'N', 'X') /* compressed GBRG bayer */
-#define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */
-#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
-#define V4L2_PIX_FMT_OV511 v4l2_fourcc('O', '5', '1', '1') /* ov511 JPEG */
-#define V4L2_PIX_FMT_OV518 v4l2_fourcc('O', '5', '1', '8') /* ov518 JPEG */
-#define V4L2_PIX_FMT_STV0680 v4l2_fourcc('S', '6', '8', '0') /* stv0680 bayer */
-#define V4L2_PIX_FMT_TM6000 v4l2_fourcc('T', 'M', '6', '0') /* tm5600/tm60x0 */
-#define V4L2_PIX_FMT_CIT_YYVYUY v4l2_fourcc('C', 'I', 'T', 'V') /* one line of Y then 1 line of VYUY */
-#define V4L2_PIX_FMT_KONICA420 v4l2_fourcc('K', 'O', 'N', 'I') /* YUV420 planar in blocks of 256 pixels */
-#define V4L2_PIX_FMT_JPGL v4l2_fourcc('J', 'P', 'G', 'L') /* JPEG-Lite */
-#define V4L2_PIX_FMT_SE401 v4l2_fourcc('S', '4', '0', '1') /* se401 janggu compressed rgb */
-#define V4L2_PIX_FMT_S5C_UYVY_JPG v4l2_fourcc('S', '5', 'C', 'I') /* S5C73M3 interleaved UYVY/JPEG */
-#define V4L2_PIX_FMT_Y8I v4l2_fourcc('Y', '8', 'I', ' ') /* Greyscale 8-bit L/R interleaved */
-#define V4L2_PIX_FMT_Y12I v4l2_fourcc('Y', '1', '2', 'I') /* Greyscale 12-bit L/R interleaved */
-#define V4L2_PIX_FMT_Z16 v4l2_fourcc('Z', '1', '6', ' ') /* Depth data 16-bit */
-
-/* SDR formats - used only for Software Defined Radio devices */
-#define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */
-#define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6') /* IQ u16le */
-#define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */
-#define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */
-#define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */
-
-/* priv field value to indicates that subsequent fields are valid. */
-#define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe
-
-/* Flags */
-#define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 0x00000001
-
-/*
- * F O R M A T E N U M E R A T I O N
- */
-struct v4l2_fmtdesc {
- __u32 index; /* Format number */
- __u32 type; /* enum v4l2_buf_type */
- __u32 flags;
- __u8 description[32]; /* Description string */
- __u32 pixelformat; /* Format fourcc */
- __u32 reserved[4];
-};
-
-#define V4L2_FMT_FLAG_COMPRESSED 0x0001
-#define V4L2_FMT_FLAG_EMULATED 0x0002
-
-#if 1
- /* Experimental Frame Size and frame rate enumeration */
-/*
- * F R A M E S I Z E E N U M E R A T I O N
- */
-enum v4l2_frmsizetypes {
- V4L2_FRMSIZE_TYPE_DISCRETE = 1,
- V4L2_FRMSIZE_TYPE_CONTINUOUS = 2,
- V4L2_FRMSIZE_TYPE_STEPWISE = 3,
-};
-
-struct v4l2_frmsize_discrete {
- __u32 width; /* Frame width [pixel] */
- __u32 height; /* Frame height [pixel] */
-};
-
-struct v4l2_frmsize_stepwise {
- __u32 min_width; /* Minimum frame width [pixel] */
- __u32 max_width; /* Maximum frame width [pixel] */
- __u32 step_width; /* Frame width step size [pixel] */
- __u32 min_height; /* Minimum frame height [pixel] */
- __u32 max_height; /* Maximum frame height [pixel] */
- __u32 step_height; /* Frame height step size [pixel] */
-};
-
-struct v4l2_frmsizeenum {
- __u32 index; /* Frame size number */
- __u32 pixel_format; /* Pixel format */
- __u32 type; /* Frame size type the device supports. */
-
- union { /* Frame size */
- struct v4l2_frmsize_discrete discrete;
- struct v4l2_frmsize_stepwise stepwise;
- };
-
- __u32 reserved[2]; /* Reserved space for future use */
-};
-
-/*
- * F R A M E R A T E E N U M E R A T I O N
- */
-enum v4l2_frmivaltypes {
- V4L2_FRMIVAL_TYPE_DISCRETE = 1,
- V4L2_FRMIVAL_TYPE_CONTINUOUS = 2,
- V4L2_FRMIVAL_TYPE_STEPWISE = 3,
-};
-
-struct v4l2_frmival_stepwise {
- struct v4l2_fract min; /* Minimum frame interval [s] */
- struct v4l2_fract max; /* Maximum frame interval [s] */
- struct v4l2_fract step; /* Frame interval step size [s] */
-};
-
-struct v4l2_frmivalenum {
- __u32 index; /* Frame format index */
- __u32 pixel_format; /* Pixel format */
- __u32 width; /* Frame width */
- __u32 height; /* Frame height */
- __u32 type; /* Frame interval type the device supports. */
-
- union { /* Frame interval */
- struct v4l2_fract discrete;
- struct v4l2_frmival_stepwise stepwise;
- };
-
- __u32 reserved[2]; /* Reserved space for future use */
-};
-#endif
-
-/*
- * T I M E C O D E
- */
-struct v4l2_timecode {
- __u32 type;
- __u32 flags;
- __u8 frames;
- __u8 seconds;
- __u8 minutes;
- __u8 hours;
- __u8 userbits[4];
-};
-
-/* Type */
-#define V4L2_TC_TYPE_24FPS 1
-#define V4L2_TC_TYPE_25FPS 2
-#define V4L2_TC_TYPE_30FPS 3
-#define V4L2_TC_TYPE_50FPS 4
-#define V4L2_TC_TYPE_60FPS 5
-
-/* Flags */
-#define V4L2_TC_FLAG_DROPFRAME 0x0001 /* "drop-frame" mode */
-#define V4L2_TC_FLAG_COLORFRAME 0x0002
-#define V4L2_TC_USERBITS_field 0x000C
-#define V4L2_TC_USERBITS_USERDEFINED 0x0000
-#define V4L2_TC_USERBITS_8BITCHARS 0x0008
-/* The above is based on SMPTE timecodes */
-
-struct v4l2_jpegcompression {
- int quality;
-
- int APPn; /* Number of APP segment to be written,
- * must be 0..15 */
- int APP_len; /* Length of data in JPEG APPn segment */
- char APP_data[60]; /* Data in the JPEG APPn segment. */
-
- int COM_len; /* Length of data in JPEG COM segment */
- char COM_data[60]; /* Data in JPEG COM segment */
-
- __u32 jpeg_markers; /* Which markers should go into the JPEG
- * output. Unless you exactly know what
- * you do, leave them untouched.
- * Including less markers will make the
- * resulting code smaller, but there will
- * be fewer applications which can read it.
- * The presence of the APP and COM marker
- * is influenced by APP_len and COM_len
- * ONLY, not by this property! */
-
-#define V4L2_JPEG_MARKER_DHT (1<<3) /* Define Huffman Tables */
-#define V4L2_JPEG_MARKER_DQT (1<<4) /* Define Quantization Tables */
-#define V4L2_JPEG_MARKER_DRI (1<<5) /* Define Restart Interval */
-#define V4L2_JPEG_MARKER_COM (1<<6) /* Comment segment */
-#define V4L2_JPEG_MARKER_APP (1<<7) /* App segment, driver will
- * always use APP0 */
-};
-
-/*
- * M E M O R Y - M A P P I N G B U F F E R S
- */
-struct v4l2_requestbuffers {
- __u32 count;
- __u32 type; /* enum v4l2_buf_type */
- __u32 memory; /* enum v4l2_memory */
- __u32 reserved[2];
-};
-
-/**
- * struct v4l2_plane - plane info for multi-planar buffers
- * @bytesused: number of bytes occupied by data in the plane (payload)
- * @length: size of this plane (NOT the payload) in bytes
- * @mem_offset: when memory in the associated struct v4l2_buffer is
- * V4L2_MEMORY_MMAP, equals the offset from the start of
- * the device memory for this plane (or is a "cookie" that
- * should be passed to mmap() called on the video node)
- * @userptr: when memory is V4L2_MEMORY_USERPTR, a userspace pointer
- * pointing to this plane
- * @fd: when memory is V4L2_MEMORY_DMABUF, a userspace file
- * descriptor associated with this plane
- * @data_offset: offset in the plane to the start of data; usually 0,
- * unless there is a header in front of the data
- *
- * Multi-planar buffers consist of one or more planes, e.g. an YCbCr buffer
- * with two planes can have one plane for Y, and another for interleaved CbCr
- * components. Each plane can reside in a separate memory buffer, or even in
- * a completely separate memory node (e.g. in embedded devices).
- */
-struct v4l2_plane {
- __u32 bytesused;
- __u32 length;
- union {
- __u32 mem_offset;
- unsigned long userptr;
- __s32 fd;
- } m;
- __u32 data_offset;
- __u32 reserved[11];
-};
-
-/**
- * struct v4l2_buffer - video buffer info
- * @index: id number of the buffer
- * @type: enum v4l2_buf_type; buffer type (type == *_MPLANE for
- * multiplanar buffers);
- * @bytesused: number of bytes occupied by data in the buffer (payload);
- * unused (set to 0) for multiplanar buffers
- * @flags: buffer informational flags
- * @field: enum v4l2_field; field order of the image in the buffer
- * @timestamp: frame timestamp
- * @timecode: frame timecode
- * @sequence: sequence count of this frame
- * @memory: enum v4l2_memory; the method, in which the actual video data is
- * passed
- * @offset: for non-multiplanar buffers with memory == V4L2_MEMORY_MMAP;
- * offset from the start of the device memory for this plane,
- * (or a "cookie" that should be passed to mmap() as offset)
- * @userptr: for non-multiplanar buffers with memory == V4L2_MEMORY_USERPTR;
- * a userspace pointer pointing to this buffer
- * @fd: for non-multiplanar buffers with memory == V4L2_MEMORY_DMABUF;
- * a userspace file descriptor associated with this buffer
- * @planes: for multiplanar buffers; userspace pointer to the array of plane
- * info structs for this buffer
- * @length: size in bytes of the buffer (NOT its payload) for single-plane
- * buffers (when type != *_MPLANE); number of elements in the
- * planes array for multi-plane buffers
- *
- * Contains data exchanged by application and driver using one of the Streaming
- * I/O methods.
- */
-struct v4l2_buffer {
- __u32 index;
- __u32 type;
- __u32 bytesused;
- __u32 flags;
- __u32 field;
- struct timeval timestamp;
- struct v4l2_timecode timecode;
- __u32 sequence;
-
- /* memory location */
- __u32 memory;
- union {
- __u32 offset;
- unsigned long userptr;
- struct v4l2_plane *planes;
- __s32 fd;
- } m;
- __u32 length;
- __u32 reserved2;
- __u32 reserved;
-};
-
-/* Flags for 'flags' field */
-/* Buffer is mapped (flag) */
-#define V4L2_BUF_FLAG_MAPPED 0x00000001
-/* Buffer is queued for processing */
-#define V4L2_BUF_FLAG_QUEUED 0x00000002
-/* Buffer is ready */
-#define V4L2_BUF_FLAG_DONE 0x00000004
-/* Image is a keyframe (I-frame) */
-#define V4L2_BUF_FLAG_KEYFRAME 0x00000008
-/* Image is a P-frame */
-#define V4L2_BUF_FLAG_PFRAME 0x00000010
-/* Image is a B-frame */
-#define V4L2_BUF_FLAG_BFRAME 0x00000020
-/* Buffer is ready, but the data contained within is corrupted. */
-#define V4L2_BUF_FLAG_ERROR 0x00000040
-/* timecode field is valid */
-#define V4L2_BUF_FLAG_TIMECODE 0x00000100
-/* Buffer is prepared for queuing */
-#define V4L2_BUF_FLAG_PREPARED 0x00000400
-/* Cache handling flags */
-#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x00000800
-#define V4L2_BUF_FLAG_NO_CACHE_CLEAN 0x00001000
-/* Timestamp type */
-#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0x0000e000
-#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x00000000
-#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x00002000
-#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x00004000
-/* Timestamp sources. */
-#define V4L2_BUF_FLAG_TSTAMP_SRC_MASK 0x00070000
-#define V4L2_BUF_FLAG_TSTAMP_SRC_EOF 0x00000000
-#define V4L2_BUF_FLAG_TSTAMP_SRC_SOE 0x00010000
-/* mem2mem encoder/decoder */
-#define V4L2_BUF_FLAG_LAST 0x00100000
-
-/**
- * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor
- *
- * @index: id number of the buffer
- * @type: enum v4l2_buf_type; buffer type (type == *_MPLANE for
- * multiplanar buffers);
- * @plane: index of the plane to be exported, 0 for single plane queues
- * @flags: flags for newly created file, currently only O_CLOEXEC is
- * supported, refer to manual of open syscall for more details
- * @fd: file descriptor associated with DMABUF (set by driver)
- *
- * Contains data used for exporting a video buffer as DMABUF file descriptor.
- * The buffer is identified by a 'cookie' returned by VIDIOC_QUERYBUF
- * (identical to the cookie used to mmap() the buffer to userspace). All
- * reserved fields must be set to zero. The field reserved0 is expected to
- * become a structure 'type' allowing an alternative layout of the structure
- * content. Therefore this field should not be used for any other extensions.
- */
-struct v4l2_exportbuffer {
- __u32 type; /* enum v4l2_buf_type */
- __u32 index;
- __u32 plane;
- __u32 flags;
- __s32 fd;
- __u32 reserved[11];
-};
-
-/*
- * O V E R L A Y P R E V I E W
- */
-struct v4l2_framebuffer {
- __u32 capability;
- __u32 flags;
-/* FIXME: in theory we should pass something like PCI device + memory
- * region + offset instead of some physical address */
- void *base;
- struct {
- __u32 width;
- __u32 height;
- __u32 pixelformat;
- __u32 field; /* enum v4l2_field */
- __u32 bytesperline; /* for padding, zero if unused */
- __u32 sizeimage;
- __u32 colorspace; /* enum v4l2_colorspace */
- __u32 priv; /* reserved field, set to 0 */
- } fmt;
-};
-/* Flags for the 'capability' field. Read only */
-#define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001
-#define V4L2_FBUF_CAP_CHROMAKEY 0x0002
-#define V4L2_FBUF_CAP_LIST_CLIPPING 0x0004
-#define V4L2_FBUF_CAP_BITMAP_CLIPPING 0x0008
-#define V4L2_FBUF_CAP_LOCAL_ALPHA 0x0010
-#define V4L2_FBUF_CAP_GLOBAL_ALPHA 0x0020
-#define V4L2_FBUF_CAP_LOCAL_INV_ALPHA 0x0040
-#define V4L2_FBUF_CAP_SRC_CHROMAKEY 0x0080
-/* Flags for the 'flags' field. */
-#define V4L2_FBUF_FLAG_PRIMARY 0x0001
-#define V4L2_FBUF_FLAG_OVERLAY 0x0002
-#define V4L2_FBUF_FLAG_CHROMAKEY 0x0004
-#define V4L2_FBUF_FLAG_LOCAL_ALPHA 0x0008
-#define V4L2_FBUF_FLAG_GLOBAL_ALPHA 0x0010
-#define V4L2_FBUF_FLAG_LOCAL_INV_ALPHA 0x0020
-#define V4L2_FBUF_FLAG_SRC_CHROMAKEY 0x0040
-
-struct v4l2_clip {
- struct v4l2_rect c;
- struct v4l2_clip *next;
-};
-
-struct v4l2_window {
- struct v4l2_rect w;
- __u32 field; /* enum v4l2_field */
- __u32 chromakey;
- struct v4l2_clip *clips;
- __u32 clipcount;
- void *bitmap;
- __u8 global_alpha;
-};
-
-/*
- * C A P T U R E P A R A M E T E R S
- */
-struct v4l2_captureparm {
- __u32 capability; /* Supported modes */
- __u32 capturemode; /* Current mode */
- struct v4l2_fract timeperframe; /* Time per frame in seconds */
- __u32 extendedmode; /* Driver-specific extensions */
- __u32 readbuffers; /* # of buffers for read */
- __u32 reserved[4];
-};
-
-/* Flags for 'capability' and 'capturemode' fields */
-#define V4L2_MODE_HIGHQUALITY 0x0001 /* High quality imaging mode */
-#define V4L2_CAP_TIMEPERFRAME 0x1000 /* timeperframe field is supported */
-
-struct v4l2_outputparm {
- __u32 capability; /* Supported modes */
- __u32 outputmode; /* Current mode */
- struct v4l2_fract timeperframe; /* Time per frame in seconds */
- __u32 extendedmode; /* Driver-specific extensions */
- __u32 writebuffers; /* # of buffers for write */
- __u32 reserved[4];
-};
-
-/*
- * I N P U T I M A G E C R O P P I N G
- */
-struct v4l2_cropcap {
- __u32 type; /* enum v4l2_buf_type */
- struct v4l2_rect bounds;
- struct v4l2_rect defrect;
- struct v4l2_fract pixelaspect;
-};
-
-struct v4l2_crop {
- __u32 type; /* enum v4l2_buf_type */
- struct v4l2_rect c;
-};
-
-/**
- * struct v4l2_selection - selection info
- * @type: buffer type (do not use *_MPLANE types)
- * @target: Selection target, used to choose one of possible rectangles;
- * defined in v4l2-common.h; V4L2_SEL_TGT_* .
- * @flags: constraints flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*.
- * @r: coordinates of selection window
- * @reserved: for future use, rounds structure size to 64 bytes, set to zero
- *
- * Hardware may use multiple helper windows to process a video stream.
- * The structure is used to exchange this selection areas between
- * an application and a driver.
- */
-struct v4l2_selection {
- __u32 type;
- __u32 target;
- __u32 flags;
- struct v4l2_rect r;
- __u32 reserved[9];
-};
-
-
-/*
- * A N A L O G V I D E O S T A N D A R D
- */
-
-typedef __u64 v4l2_std_id;
-
-/* one bit for each */
-#define V4L2_STD_PAL_B ((v4l2_std_id)0x00000001)
-#define V4L2_STD_PAL_B1 ((v4l2_std_id)0x00000002)
-#define V4L2_STD_PAL_G ((v4l2_std_id)0x00000004)
-#define V4L2_STD_PAL_H ((v4l2_std_id)0x00000008)
-#define V4L2_STD_PAL_I ((v4l2_std_id)0x00000010)
-#define V4L2_STD_PAL_D ((v4l2_std_id)0x00000020)
-#define V4L2_STD_PAL_D1 ((v4l2_std_id)0x00000040)
-#define V4L2_STD_PAL_K ((v4l2_std_id)0x00000080)
-
-#define V4L2_STD_PAL_M ((v4l2_std_id)0x00000100)
-#define V4L2_STD_PAL_N ((v4l2_std_id)0x00000200)
-#define V4L2_STD_PAL_Nc ((v4l2_std_id)0x00000400)
-#define V4L2_STD_PAL_60 ((v4l2_std_id)0x00000800)
-
-#define V4L2_STD_NTSC_M ((v4l2_std_id)0x00001000) /* BTSC */
-#define V4L2_STD_NTSC_M_JP ((v4l2_std_id)0x00002000) /* EIA-J */
-#define V4L2_STD_NTSC_443 ((v4l2_std_id)0x00004000)
-#define V4L2_STD_NTSC_M_KR ((v4l2_std_id)0x00008000) /* FM A2 */
-
-#define V4L2_STD_SECAM_B ((v4l2_std_id)0x00010000)
-#define V4L2_STD_SECAM_D ((v4l2_std_id)0x00020000)
-#define V4L2_STD_SECAM_G ((v4l2_std_id)0x00040000)
-#define V4L2_STD_SECAM_H ((v4l2_std_id)0x00080000)
-#define V4L2_STD_SECAM_K ((v4l2_std_id)0x00100000)
-#define V4L2_STD_SECAM_K1 ((v4l2_std_id)0x00200000)
-#define V4L2_STD_SECAM_L ((v4l2_std_id)0x00400000)
-#define V4L2_STD_SECAM_LC ((v4l2_std_id)0x00800000)
-
-/* ATSC/HDTV */
-#define V4L2_STD_ATSC_8_VSB ((v4l2_std_id)0x01000000)
-#define V4L2_STD_ATSC_16_VSB ((v4l2_std_id)0x02000000)
-
-/* FIXME:
- Although std_id is 64 bits, there is an issue on PPC32 architecture that
- makes switch(__u64) to break. So, there's a hack on v4l2-common.c rounding
- this value to 32 bits.
- As, currently, the max value is for V4L2_STD_ATSC_16_VSB (30 bits wide),
- it should work fine. However, if needed to add more than two standards,
- v4l2-common.c should be fixed.
- */
-
-/*
- * Some macros to merge video standards in order to make live easier for the
- * drivers and V4L2 applications
- */
-
-/*
- * "Common" NTSC/M - It should be noticed that V4L2_STD_NTSC_443 is
- * Missing here.
- */
-#define V4L2_STD_NTSC (V4L2_STD_NTSC_M |\
- V4L2_STD_NTSC_M_JP |\
- V4L2_STD_NTSC_M_KR)
-/* Secam macros */
-#define V4L2_STD_SECAM_DK (V4L2_STD_SECAM_D |\
- V4L2_STD_SECAM_K |\
- V4L2_STD_SECAM_K1)
-/* All Secam Standards */
-#define V4L2_STD_SECAM (V4L2_STD_SECAM_B |\
- V4L2_STD_SECAM_G |\
- V4L2_STD_SECAM_H |\
- V4L2_STD_SECAM_DK |\
- V4L2_STD_SECAM_L |\
- V4L2_STD_SECAM_LC)
-/* PAL macros */
-#define V4L2_STD_PAL_BG (V4L2_STD_PAL_B |\
- V4L2_STD_PAL_B1 |\
- V4L2_STD_PAL_G)
-#define V4L2_STD_PAL_DK (V4L2_STD_PAL_D |\
- V4L2_STD_PAL_D1 |\
- V4L2_STD_PAL_K)
-/*
- * "Common" PAL - This macro is there to be compatible with the old
- * V4L1 concept of "PAL": /BGDKHI.
- * Several PAL standards are missing here: /M, /N and /Nc
- */
-#define V4L2_STD_PAL (V4L2_STD_PAL_BG |\
- V4L2_STD_PAL_DK |\
- V4L2_STD_PAL_H |\
- V4L2_STD_PAL_I)
-/* Chroma "agnostic" standards */
-#define V4L2_STD_B (V4L2_STD_PAL_B |\
- V4L2_STD_PAL_B1 |\
- V4L2_STD_SECAM_B)
-#define V4L2_STD_G (V4L2_STD_PAL_G |\
- V4L2_STD_SECAM_G)
-#define V4L2_STD_H (V4L2_STD_PAL_H |\
- V4L2_STD_SECAM_H)
-#define V4L2_STD_L (V4L2_STD_SECAM_L |\
- V4L2_STD_SECAM_LC)
-#define V4L2_STD_GH (V4L2_STD_G |\
- V4L2_STD_H)
-#define V4L2_STD_DK (V4L2_STD_PAL_DK |\
- V4L2_STD_SECAM_DK)
-#define V4L2_STD_BG (V4L2_STD_B |\
- V4L2_STD_G)
-#define V4L2_STD_MN (V4L2_STD_PAL_M |\
- V4L2_STD_PAL_N |\
- V4L2_STD_PAL_Nc |\
- V4L2_STD_NTSC)
-
-/* Standards where MTS/BTSC stereo could be found */
-#define V4L2_STD_MTS (V4L2_STD_NTSC_M |\
- V4L2_STD_PAL_M |\
- V4L2_STD_PAL_N |\
- V4L2_STD_PAL_Nc)
-
-/* Standards for Countries with 60Hz Line frequency */
-#define V4L2_STD_525_60 (V4L2_STD_PAL_M |\
- V4L2_STD_PAL_60 |\
- V4L2_STD_NTSC |\
- V4L2_STD_NTSC_443)
-/* Standards for Countries with 50Hz Line frequency */
-#define V4L2_STD_625_50 (V4L2_STD_PAL |\
- V4L2_STD_PAL_N |\
- V4L2_STD_PAL_Nc |\
- V4L2_STD_SECAM)
-
-#define V4L2_STD_ATSC (V4L2_STD_ATSC_8_VSB |\
- V4L2_STD_ATSC_16_VSB)
-/* Macros with none and all analog standards */
-#define V4L2_STD_UNKNOWN 0
-#define V4L2_STD_ALL (V4L2_STD_525_60 |\
- V4L2_STD_625_50)
-
-struct v4l2_standard {
- __u32 index;
- v4l2_std_id id;
- __u8 name[24];
- struct v4l2_fract frameperiod; /* Frames, not fields */
- __u32 framelines;
- __u32 reserved[4];
-};
-
-/*
- * D V B T T I M I N G S
- */
-
-/** struct v4l2_bt_timings - BT.656/BT.1120 timing data
- * @width: total width of the active video in pixels
- * @height: total height of the active video in lines
- * @interlaced: Interlaced or progressive
- * @polarities: Positive or negative polarities
- * @pixelclock: Pixel clock in HZ. Ex. 74.25MHz->74250000
- * @hfrontporch:Horizontal front porch in pixels
- * @hsync: Horizontal Sync length in pixels
- * @hbackporch: Horizontal back porch in pixels
- * @vfrontporch:Vertical front porch in lines
- * @vsync: Vertical Sync length in lines
- * @vbackporch: Vertical back porch in lines
- * @il_vfrontporch:Vertical front porch for the even field
- * (aka field 2) of interlaced field formats
- * @il_vsync: Vertical Sync length for the even field
- * (aka field 2) of interlaced field formats
- * @il_vbackporch:Vertical back porch for the even field
- * (aka field 2) of interlaced field formats
- * @standards: Standards the timing belongs to
- * @flags: Flags
- * @reserved: Reserved fields, must be zeroed.
- *
- * A note regarding vertical interlaced timings: height refers to the total
- * height of the active video frame (= two fields). The blanking timings refer
- * to the blanking of each field. So the height of the total frame is
- * calculated as follows:
- *
- * tot_height = height + vfrontporch + vsync + vbackporch +
- * il_vfrontporch + il_vsync + il_vbackporch
- *
- * The active height of each field is height / 2.
- */
-struct v4l2_bt_timings {
- __u32 width;
- __u32 height;
- __u32 interlaced;
- __u32 polarities;
- __u64 pixelclock;
- __u32 hfrontporch;
- __u32 hsync;
- __u32 hbackporch;
- __u32 vfrontporch;
- __u32 vsync;
- __u32 vbackporch;
- __u32 il_vfrontporch;
- __u32 il_vsync;
- __u32 il_vbackporch;
- __u32 standards;
- __u32 flags;
- __u32 reserved[14];
-} __attribute__ ((packed));
-
-/* Interlaced or progressive format */
-#define V4L2_DV_PROGRESSIVE 0
-#define V4L2_DV_INTERLACED 1
-
-/* Polarities. If bit is not set, it is assumed to be negative polarity */
-#define V4L2_DV_VSYNC_POS_POL 0x00000001
-#define V4L2_DV_HSYNC_POS_POL 0x00000002
-
-/* Timings standards */
-#define V4L2_DV_BT_STD_CEA861 (1 << 0) /* CEA-861 Digital TV Profile */
-#define V4L2_DV_BT_STD_DMT (1 << 1) /* VESA Discrete Monitor Timings */
-#define V4L2_DV_BT_STD_CVT (1 << 2) /* VESA Coordinated Video Timings */
-#define V4L2_DV_BT_STD_GTF (1 << 3) /* VESA Generalized Timings Formula */
-
-/* Flags */
-
-/* CVT/GTF specific: timing uses reduced blanking (CVT) or the 'Secondary
- GTF' curve (GTF). In both cases the horizontal and/or vertical blanking
- intervals are reduced, allowing a higher resolution over the same
- bandwidth. This is a read-only flag. */
-#define V4L2_DV_FL_REDUCED_BLANKING (1 << 0)
-/* CEA-861 specific: set for CEA-861 formats with a framerate of a multiple
- of six. These formats can be optionally played at 1 / 1.001 speed.
- This is a read-only flag. */
-#define V4L2_DV_FL_CAN_REDUCE_FPS (1 << 1)
-/* CEA-861 specific: only valid for video transmitters, the flag is cleared
- by receivers.
- If the framerate of the format is a multiple of six, then the pixelclock
- used to set up the transmitter is divided by 1.001 to make it compatible
- with 60 Hz based standards such as NTSC and PAL-M that use a framerate of
- 29.97 Hz. Otherwise this flag is cleared. If the transmitter can't generate
- such frequencies, then the flag will also be cleared. */
-#define V4L2_DV_FL_REDUCED_FPS (1 << 2)
-/* Specific to interlaced formats: if set, then field 1 is really one half-line
- longer and field 2 is really one half-line shorter, so each field has
- exactly the same number of half-lines. Whether half-lines can be detected
- or used depends on the hardware. */
-#define V4L2_DV_FL_HALF_LINE (1 << 3)
-/* If set, then this is a Consumer Electronics (CE) video format. Such formats
- * differ from other formats (commonly called IT formats) in that if RGB
- * encoding is used then by default the RGB values use limited range (i.e.
- * use the range 16-235) as opposed to 0-255. All formats defined in CEA-861
- * except for the 640x480 format are CE formats. */
-#define V4L2_DV_FL_IS_CE_VIDEO (1 << 4)
-
-/* A few useful defines to calculate the total blanking and frame sizes */
-#define V4L2_DV_BT_BLANKING_WIDTH(bt) \
- ((bt)->hfrontporch + (bt)->hsync + (bt)->hbackporch)
-#define V4L2_DV_BT_FRAME_WIDTH(bt) \
- ((bt)->width + V4L2_DV_BT_BLANKING_WIDTH(bt))
-#define V4L2_DV_BT_BLANKING_HEIGHT(bt) \
- ((bt)->vfrontporch + (bt)->vsync + (bt)->vbackporch + \
- (bt)->il_vfrontporch + (bt)->il_vsync + (bt)->il_vbackporch)
-#define V4L2_DV_BT_FRAME_HEIGHT(bt) \
- ((bt)->height + V4L2_DV_BT_BLANKING_HEIGHT(bt))
-
-/** struct v4l2_dv_timings - DV timings
- * @type: the type of the timings
- * @bt: BT656/1120 timings
- */
-struct v4l2_dv_timings {
- __u32 type;
- union {
- struct v4l2_bt_timings bt;
- __u32 reserved[32];
- };
-} __attribute__ ((packed));
-
-/* Values for the type field */
-#define V4L2_DV_BT_656_1120 0 /* BT.656/1120 timing type */
-
-
-/** struct v4l2_enum_dv_timings - DV timings enumeration
- * @index: enumeration index
- * @pad: the pad number for which to enumerate timings (used with
- * v4l-subdev nodes only)
- * @reserved: must be zeroed
- * @timings: the timings for the given index
- */
-struct v4l2_enum_dv_timings {
- __u32 index;
- __u32 pad;
- __u32 reserved[2];
- struct v4l2_dv_timings timings;
-};
-
-/** struct v4l2_bt_timings_cap - BT.656/BT.1120 timing capabilities
- * @min_width: width in pixels
- * @max_width: width in pixels
- * @min_height: height in lines
- * @max_height: height in lines
- * @min_pixelclock: Pixel clock in HZ. Ex. 74.25MHz->74250000
- * @max_pixelclock: Pixel clock in HZ. Ex. 74.25MHz->74250000
- * @standards: Supported standards
- * @capabilities: Supported capabilities
- * @reserved: Must be zeroed
- */
-struct v4l2_bt_timings_cap {
- __u32 min_width;
- __u32 max_width;
- __u32 min_height;
- __u32 max_height;
- __u64 min_pixelclock;
- __u64 max_pixelclock;
- __u32 standards;
- __u32 capabilities;
- __u32 reserved[16];
-} __attribute__ ((packed));
-
-/* Supports interlaced formats */
-#define V4L2_DV_BT_CAP_INTERLACED (1 << 0)
-/* Supports progressive formats */
-#define V4L2_DV_BT_CAP_PROGRESSIVE (1 << 1)
-/* Supports CVT/GTF reduced blanking */
-#define V4L2_DV_BT_CAP_REDUCED_BLANKING (1 << 2)
-/* Supports custom formats */
-#define V4L2_DV_BT_CAP_CUSTOM (1 << 3)
-
-/** struct v4l2_dv_timings_cap - DV timings capabilities
- * @type: the type of the timings (same as in struct v4l2_dv_timings)
- * @pad: the pad number for which to query capabilities (used with
- * v4l-subdev nodes only)
- * @bt: the BT656/1120 timings capabilities
- */
-struct v4l2_dv_timings_cap {
- __u32 type;
- __u32 pad;
- __u32 reserved[2];
- union {
- struct v4l2_bt_timings_cap bt;
- __u32 raw_data[32];
- };
-};
-
-
-/*
- * V I D E O I N P U T S
- */
-struct v4l2_input {
- __u32 index; /* Which input */
- __u8 name[32]; /* Label */
- __u32 type; /* Type of input */
- __u32 audioset; /* Associated audios (bitfield) */
- __u32 tuner; /* enum v4l2_tuner_type */
- v4l2_std_id std;
- __u32 status;
- __u32 capabilities;
- __u32 reserved[3];
-};
-
-/* Values for the 'type' field */
-#define V4L2_INPUT_TYPE_TUNER 1
-#define V4L2_INPUT_TYPE_CAMERA 2
-
-/* field 'status' - general */
-#define V4L2_IN_ST_NO_POWER 0x00000001 /* Attached device is off */
-#define V4L2_IN_ST_NO_SIGNAL 0x00000002
-#define V4L2_IN_ST_NO_COLOR 0x00000004
-
-/* field 'status' - sensor orientation */
-/* If sensor is mounted upside down set both bits */
-#define V4L2_IN_ST_HFLIP 0x00000010 /* Frames are flipped horizontally */
-#define V4L2_IN_ST_VFLIP 0x00000020 /* Frames are flipped vertically */
-
-/* field 'status' - analog */
-#define V4L2_IN_ST_NO_H_LOCK 0x00000100 /* No horizontal sync lock */
-#define V4L2_IN_ST_COLOR_KILL 0x00000200 /* Color killer is active */
-
-/* field 'status' - digital */
-#define V4L2_IN_ST_NO_SYNC 0x00010000 /* No synchronization lock */
-#define V4L2_IN_ST_NO_EQU 0x00020000 /* No equalizer lock */
-#define V4L2_IN_ST_NO_CARRIER 0x00040000 /* Carrier recovery failed */
-
-/* field 'status' - VCR and set-top box */
-#define V4L2_IN_ST_MACROVISION 0x01000000 /* Macrovision detected */
-#define V4L2_IN_ST_NO_ACCESS 0x02000000 /* Conditional access denied */
-#define V4L2_IN_ST_VTR 0x04000000 /* VTR time constant */
-
-/* capabilities flags */
-#define V4L2_IN_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */
-#define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS /* For compatibility */
-#define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */
-#define V4L2_IN_CAP_NATIVE_SIZE 0x00000008 /* Supports setting native size */
-
-/*
- * V I D E O O U T P U T S
- */
-struct v4l2_output {
- __u32 index; /* Which output */
- __u8 name[32]; /* Label */
- __u32 type; /* Type of output */
- __u32 audioset; /* Associated audios (bitfield) */
- __u32 modulator; /* Associated modulator */
- v4l2_std_id std;
- __u32 capabilities;
- __u32 reserved[3];
-};
-/* Values for the 'type' field */
-#define V4L2_OUTPUT_TYPE_MODULATOR 1
-#define V4L2_OUTPUT_TYPE_ANALOG 2
-#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3
-
-/* capabilities flags */
-#define V4L2_OUT_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */
-#define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS /* For compatibility */
-#define V4L2_OUT_CAP_STD 0x00000004 /* Supports S_STD */
-#define V4L2_OUT_CAP_NATIVE_SIZE 0x00000008 /* Supports setting native size */
-
-/*
- * C O N T R O L S
- */
-struct v4l2_control {
- __u32 id;
- __s32 value;
-};
-
-struct v4l2_ext_control {
- __u32 id;
- __u32 size;
- __u32 reserved2[1];
- union {
- __s32 value;
- __s64 value64;
- char *string;
- __u8 *p_u8;
- __u16 *p_u16;
- __u32 *p_u32;
- void *ptr;
- };
-} __attribute__ ((packed));
-
-struct v4l2_ext_controls {
- union {
- __u32 ctrl_class;
- __u32 which;
- };
- __u32 count;
- __u32 error_idx;
- __u32 reserved[2];
- struct v4l2_ext_control *controls;
-};
-
-#define V4L2_CTRL_ID_MASK (0x0fffffff)
-#define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL)
-#define V4L2_CTRL_ID2WHICH(id) ((id) & 0x0fff0000UL)
-#define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000)
-#define V4L2_CTRL_MAX_DIMS (4)
-#define V4L2_CTRL_WHICH_CUR_VAL 0
-#define V4L2_CTRL_WHICH_DEF_VAL 0x0f000000
-
-enum v4l2_ctrl_type {
- V4L2_CTRL_TYPE_INTEGER = 1,
- V4L2_CTRL_TYPE_BOOLEAN = 2,
- V4L2_CTRL_TYPE_MENU = 3,
- V4L2_CTRL_TYPE_BUTTON = 4,
- V4L2_CTRL_TYPE_INTEGER64 = 5,
- V4L2_CTRL_TYPE_CTRL_CLASS = 6,
- V4L2_CTRL_TYPE_STRING = 7,
- V4L2_CTRL_TYPE_BITMASK = 8,
- V4L2_CTRL_TYPE_INTEGER_MENU = 9,
-
- /* Compound types are >= 0x0100 */
- V4L2_CTRL_COMPOUND_TYPES = 0x0100,
- V4L2_CTRL_TYPE_U8 = 0x0100,
- V4L2_CTRL_TYPE_U16 = 0x0101,
- V4L2_CTRL_TYPE_U32 = 0x0102,
-};
-
-/* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */
-struct v4l2_queryctrl {
- __u32 id;
- __u32 type; /* enum v4l2_ctrl_type */
- __u8 name[32]; /* Whatever */
- __s32 minimum; /* Note signedness */
- __s32 maximum;
- __s32 step;
- __s32 default_value;
- __u32 flags;
- __u32 reserved[2];
-};
-
-/* Used in the VIDIOC_QUERY_EXT_CTRL ioctl for querying extended controls */
-struct v4l2_query_ext_ctrl {
- __u32 id;
- __u32 type;
- char name[32];
- __s64 minimum;
- __s64 maximum;
- __u64 step;
- __s64 default_value;
- __u32 flags;
- __u32 elem_size;
- __u32 elems;
- __u32 nr_of_dims;
- __u32 dims[V4L2_CTRL_MAX_DIMS];
- __u32 reserved[32];
-};
-
-/* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */
-struct v4l2_querymenu {
- __u32 id;
- __u32 index;
- union {
- __u8 name[32]; /* Whatever */
- __s64 value;
- };
- __u32 reserved;
-} __attribute__ ((packed));
-
-/* Control flags */
-#define V4L2_CTRL_FLAG_DISABLED 0x0001
-#define V4L2_CTRL_FLAG_GRABBED 0x0002
-#define V4L2_CTRL_FLAG_READ_ONLY 0x0004
-#define V4L2_CTRL_FLAG_UPDATE 0x0008
-#define V4L2_CTRL_FLAG_INACTIVE 0x0010
-#define V4L2_CTRL_FLAG_SLIDER 0x0020
-#define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040
-#define V4L2_CTRL_FLAG_VOLATILE 0x0080
-#define V4L2_CTRL_FLAG_HAS_PAYLOAD 0x0100
-#define V4L2_CTRL_FLAG_EXECUTE_ON_WRITE 0x0200
-
-/* Query flags, to be ORed with the control ID */
-#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000
-#define V4L2_CTRL_FLAG_NEXT_COMPOUND 0x40000000
-
-/* User-class control IDs defined by V4L2 */
-#define V4L2_CID_MAX_CTRLS 1024
-/* IDs reserved for driver specific controls */
-#define V4L2_CID_PRIVATE_BASE 0x08000000
-
-
-/*
- * T U N I N G
- */
-struct v4l2_tuner {
- __u32 index;
- __u8 name[32];
- __u32 type; /* enum v4l2_tuner_type */
- __u32 capability;
- __u32 rangelow;
- __u32 rangehigh;
- __u32 rxsubchans;
- __u32 audmode;
- __s32 signal;
- __s32 afc;
- __u32 reserved[4];
-};
-
-struct v4l2_modulator {
- __u32 index;
- __u8 name[32];
- __u32 capability;
- __u32 rangelow;
- __u32 rangehigh;
- __u32 txsubchans;
- __u32 type; /* enum v4l2_tuner_type */
- __u32 reserved[3];
-};
-
-/* Flags for the 'capability' field */
-#define V4L2_TUNER_CAP_LOW 0x0001
-#define V4L2_TUNER_CAP_NORM 0x0002
-#define V4L2_TUNER_CAP_HWSEEK_BOUNDED 0x0004
-#define V4L2_TUNER_CAP_HWSEEK_WRAP 0x0008
-#define V4L2_TUNER_CAP_STEREO 0x0010
-#define V4L2_TUNER_CAP_LANG2 0x0020
-#define V4L2_TUNER_CAP_SAP 0x0020
-#define V4L2_TUNER_CAP_LANG1 0x0040
-#define V4L2_TUNER_CAP_RDS 0x0080
-#define V4L2_TUNER_CAP_RDS_BLOCK_IO 0x0100
-#define V4L2_TUNER_CAP_RDS_CONTROLS 0x0200
-#define V4L2_TUNER_CAP_FREQ_BANDS 0x0400
-#define V4L2_TUNER_CAP_HWSEEK_PROG_LIM 0x0800
-#define V4L2_TUNER_CAP_1HZ 0x1000
-
-/* Flags for the 'rxsubchans' field */
-#define V4L2_TUNER_SUB_MONO 0x0001
-#define V4L2_TUNER_SUB_STEREO 0x0002
-#define V4L2_TUNER_SUB_LANG2 0x0004
-#define V4L2_TUNER_SUB_SAP 0x0004
-#define V4L2_TUNER_SUB_LANG1 0x0008
-#define V4L2_TUNER_SUB_RDS 0x0010
-
-/* Values for the 'audmode' field */
-#define V4L2_TUNER_MODE_MONO 0x0000
-#define V4L2_TUNER_MODE_STEREO 0x0001
-#define V4L2_TUNER_MODE_LANG2 0x0002
-#define V4L2_TUNER_MODE_SAP 0x0002
-#define V4L2_TUNER_MODE_LANG1 0x0003
-#define V4L2_TUNER_MODE_LANG1_LANG2 0x0004
-
-struct v4l2_frequency {
- __u32 tuner;
- __u32 type; /* enum v4l2_tuner_type */
- __u32 frequency;
- __u32 reserved[8];
-};
-
-#define V4L2_BAND_MODULATION_VSB (1 << 1)
-#define V4L2_BAND_MODULATION_FM (1 << 2)
-#define V4L2_BAND_MODULATION_AM (1 << 3)
-
-struct v4l2_frequency_band {
- __u32 tuner;
- __u32 type; /* enum v4l2_tuner_type */
- __u32 index;
- __u32 capability;
- __u32 rangelow;
- __u32 rangehigh;
- __u32 modulation;
- __u32 reserved[9];
-};
-
-struct v4l2_hw_freq_seek {
- __u32 tuner;
- __u32 type; /* enum v4l2_tuner_type */
- __u32 seek_upward;
- __u32 wrap_around;
- __u32 spacing;
- __u32 rangelow;
- __u32 rangehigh;
- __u32 reserved[5];
-};
-
-/*
- * R D S
- */
-
-struct v4l2_rds_data {
- __u8 lsb;
- __u8 msb;
- __u8 block;
-} __attribute__ ((packed));
-
-#define V4L2_RDS_BLOCK_MSK 0x7
-#define V4L2_RDS_BLOCK_A 0
-#define V4L2_RDS_BLOCK_B 1
-#define V4L2_RDS_BLOCK_C 2
-#define V4L2_RDS_BLOCK_D 3
-#define V4L2_RDS_BLOCK_C_ALT 4
-#define V4L2_RDS_BLOCK_INVALID 7
-
-#define V4L2_RDS_BLOCK_CORRECTED 0x40
-#define V4L2_RDS_BLOCK_ERROR 0x80
-
-/*
- * A U D I O
- */
-struct v4l2_audio {
- __u32 index;
- __u8 name[32];
- __u32 capability;
- __u32 mode;
- __u32 reserved[2];
-};
-
-/* Flags for the 'capability' field */
-#define V4L2_AUDCAP_STEREO 0x00001
-#define V4L2_AUDCAP_AVL 0x00002
-
-/* Flags for the 'mode' field */
-#define V4L2_AUDMODE_AVL 0x00001
-
-struct v4l2_audioout {
- __u32 index;
- __u8 name[32];
- __u32 capability;
- __u32 mode;
- __u32 reserved[2];
-};
-
-/*
- * M P E G S E R V I C E S
- *
- * NOTE: EXPERIMENTAL API
- */
-#if 1
-#define V4L2_ENC_IDX_FRAME_I (0)
-#define V4L2_ENC_IDX_FRAME_P (1)
-#define V4L2_ENC_IDX_FRAME_B (2)
-#define V4L2_ENC_IDX_FRAME_MASK (0xf)
-
-struct v4l2_enc_idx_entry {
- __u64 offset;
- __u64 pts;
- __u32 length;
- __u32 flags;
- __u32 reserved[2];
-};
-
-#define V4L2_ENC_IDX_ENTRIES (64)
-struct v4l2_enc_idx {
- __u32 entries;
- __u32 entries_cap;
- __u32 reserved[4];
- struct v4l2_enc_idx_entry entry[V4L2_ENC_IDX_ENTRIES];
-};
-
-
-#define V4L2_ENC_CMD_START (0)
-#define V4L2_ENC_CMD_STOP (1)
-#define V4L2_ENC_CMD_PAUSE (2)
-#define V4L2_ENC_CMD_RESUME (3)
-
-/* Flags for V4L2_ENC_CMD_STOP */
-#define V4L2_ENC_CMD_STOP_AT_GOP_END (1 << 0)
-
-struct v4l2_encoder_cmd {
- __u32 cmd;
- __u32 flags;
- union {
- struct {
- __u32 data[8];
- } raw;
- };
-};
-
-/* Decoder commands */
-#define V4L2_DEC_CMD_START (0)
-#define V4L2_DEC_CMD_STOP (1)
-#define V4L2_DEC_CMD_PAUSE (2)
-#define V4L2_DEC_CMD_RESUME (3)
-
-/* Flags for V4L2_DEC_CMD_START */
-#define V4L2_DEC_CMD_START_MUTE_AUDIO (1 << 0)
-
-/* Flags for V4L2_DEC_CMD_PAUSE */
-#define V4L2_DEC_CMD_PAUSE_TO_BLACK (1 << 0)
-
-/* Flags for V4L2_DEC_CMD_STOP */
-#define V4L2_DEC_CMD_STOP_TO_BLACK (1 << 0)
-#define V4L2_DEC_CMD_STOP_IMMEDIATELY (1 << 1)
-
-/* Play format requirements (returned by the driver): */
-
-/* The decoder has no special format requirements */
-#define V4L2_DEC_START_FMT_NONE (0)
-/* The decoder requires full GOPs */
-#define V4L2_DEC_START_FMT_GOP (1)
-
-/* The structure must be zeroed before use by the application
- This ensures it can be extended safely in the future. */
-struct v4l2_decoder_cmd {
- __u32 cmd;
- __u32 flags;
- union {
- struct {
- __u64 pts;
- } stop;
-
- struct {
- /* 0 or 1000 specifies normal speed,
- 1 specifies forward single stepping,
- -1 specifies backward single stepping,
- >1: playback at speed/1000 of the normal speed,
- <-1: reverse playback at (-speed/1000) of the normal speed. */
- __s32 speed;
- __u32 format;
- } start;
-
- struct {
- __u32 data[16];
- } raw;
- };
-};
-#endif
-
-
-/*
- * D A T A S E R V I C E S ( V B I )
- *
- * Data services API by Michael Schimek
- */
-
-/* Raw VBI */
-struct v4l2_vbi_format {
- __u32 sampling_rate; /* in 1 Hz */
- __u32 offset;
- __u32 samples_per_line;
- __u32 sample_format; /* V4L2_PIX_FMT_* */
- __s32 start[2];
- __u32 count[2];
- __u32 flags; /* V4L2_VBI_* */
- __u32 reserved[2]; /* must be zero */
-};
-
-/* VBI flags */
-#define V4L2_VBI_UNSYNC (1 << 0)
-#define V4L2_VBI_INTERLACED (1 << 1)
-
-/* ITU-R start lines for each field */
-#define V4L2_VBI_ITU_525_F1_START (1)
-#define V4L2_VBI_ITU_525_F2_START (264)
-#define V4L2_VBI_ITU_625_F1_START (1)
-#define V4L2_VBI_ITU_625_F2_START (314)
-
-/* Sliced VBI
- *
- * This implements is a proposal V4L2 API to allow SLICED VBI
- * required for some hardware encoders. It should change without
- * notice in the definitive implementation.
- */
-
-struct v4l2_sliced_vbi_format {
- __u16 service_set;
- /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
- service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
- (equals frame lines 313-336 for 625 line video
- standards, 263-286 for 525 line standards) */
- __u16 service_lines[2][24];
- __u32 io_size;
- __u32 reserved[2]; /* must be zero */
-};
-
-/* Teletext World System Teletext
- (WST), defined on ITU-R BT.653-2 */
-#define V4L2_SLICED_TELETEXT_B (0x0001)
-/* Video Program System, defined on ETS 300 231*/
-#define V4L2_SLICED_VPS (0x0400)
-/* Closed Caption, defined on EIA-608 */
-#define V4L2_SLICED_CAPTION_525 (0x1000)
-/* Wide Screen System, defined on ITU-R BT1119.1 */
-#define V4L2_SLICED_WSS_625 (0x4000)
-
-#define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525)
-#define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625)
-
-struct v4l2_sliced_vbi_cap {
- __u16 service_set;
- /* service_lines[0][...] specifies lines 0-23 (1-23 used) of the first field
- service_lines[1][...] specifies lines 0-23 (1-23 used) of the second field
- (equals frame lines 313-336 for 625 line video
- standards, 263-286 for 525 line standards) */
- __u16 service_lines[2][24];
- __u32 type; /* enum v4l2_buf_type */
- __u32 reserved[3]; /* must be 0 */
-};
-
-struct v4l2_sliced_vbi_data {
- __u32 id;
- __u32 field; /* 0: first field, 1: second field */
- __u32 line; /* 1-23 */
- __u32 reserved; /* must be 0 */
- __u8 data[48];
-};
-
-/*
- * Sliced VBI data inserted into MPEG Streams
- */
-
-/*
- * V4L2_MPEG_STREAM_VBI_FMT_IVTV:
- *
- * Structure of payload contained in an MPEG 2 Private Stream 1 PES Packet in an
- * MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI
- * data
- *
- * Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header
- * definitions are not included here. See the MPEG-2 specifications for details
- * on these headers.
- */
-
-/* Line type IDs */
-#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1)
-#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4)
-#define V4L2_MPEG_VBI_IVTV_WSS_625 (5)
-#define V4L2_MPEG_VBI_IVTV_VPS (7)
-
-struct v4l2_mpeg_vbi_itv0_line {
- __u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */
- __u8 data[42]; /* Sliced VBI data for the line */
-} __attribute__ ((packed));
-
-struct v4l2_mpeg_vbi_itv0 {
- __le32 linemask[2]; /* Bitmasks of VBI service lines present */
- struct v4l2_mpeg_vbi_itv0_line line[35];
-} __attribute__ ((packed));
-
-struct v4l2_mpeg_vbi_ITV0 {
- struct v4l2_mpeg_vbi_itv0_line line[36];
-} __attribute__ ((packed));
-
-#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0"
-#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0"
-
-struct v4l2_mpeg_vbi_fmt_ivtv {
- __u8 magic[4];
- union {
- struct v4l2_mpeg_vbi_itv0 itv0;
- struct v4l2_mpeg_vbi_ITV0 ITV0;
- };
-} __attribute__ ((packed));
-
-/*
- * A G G R E G A T E S T R U C T U R E S
- */
-
-/**
- * struct v4l2_plane_pix_format - additional, per-plane format definition
- * @sizeimage: maximum size in bytes required for data, for which
- * this plane will be used
- * @bytesperline: distance in bytes between the leftmost pixels in two
- * adjacent lines
- */
-struct v4l2_plane_pix_format {
- __u32 sizeimage;
- __u32 bytesperline;
- __u16 reserved[6];
-} __attribute__ ((packed));
-
-/**
- * struct v4l2_pix_format_mplane - multiplanar format definition
- * @width: image width in pixels
- * @height: image height in pixels
- * @pixelformat: little endian four character code (fourcc)
- * @field: enum v4l2_field; field order (for interlaced video)
- * @colorspace: enum v4l2_colorspace; supplemental to pixelformat
- * @plane_fmt: per-plane information
- * @num_planes: number of planes for this format
- * @flags: format flags (V4L2_PIX_FMT_FLAG_*)
- * @ycbcr_enc: enum v4l2_ycbcr_encoding, Y'CbCr encoding
- * @quantization: enum v4l2_quantization, colorspace quantization
- * @xfer_func: enum v4l2_xfer_func, colorspace transfer function
- */
-struct v4l2_pix_format_mplane {
- __u32 width;
- __u32 height;
- __u32 pixelformat;
- __u32 field;
- __u32 colorspace;
-
- struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES];
- __u8 num_planes;
- __u8 flags;
- __u8 ycbcr_enc;
- __u8 quantization;
- __u8 xfer_func;
- __u8 reserved[7];
-} __attribute__ ((packed));
-
-/**
- * struct v4l2_sdr_format - SDR format definition
- * @pixelformat: little endian four character code (fourcc)
- * @buffersize: maximum size in bytes required for data
- */
-struct v4l2_sdr_format {
- __u32 pixelformat;
- __u32 buffersize;
- __u8 reserved[24];
-} __attribute__ ((packed));
-
-/**
- * struct v4l2_format - stream data format
- * @type: enum v4l2_buf_type; type of the data stream
- * @pix: definition of an image format
- * @pix_mp: definition of a multiplanar image format
- * @win: definition of an overlaid image
- * @vbi: raw VBI capture or output parameters
- * @sliced: sliced VBI capture or output parameters
- * @raw_data: placeholder for future extensions and custom formats
- */
-struct v4l2_format {
- __u32 type;
- union {
- struct v4l2_pix_format pix; /* V4L2_BUF_TYPE_VIDEO_CAPTURE */
- struct v4l2_pix_format_mplane pix_mp; /* V4L2_BUF_TYPE_VIDEO_CAPTURE_MPLANE */
- struct v4l2_window win; /* V4L2_BUF_TYPE_VIDEO_OVERLAY */
- struct v4l2_vbi_format vbi; /* V4L2_BUF_TYPE_VBI_CAPTURE */
- struct v4l2_sliced_vbi_format sliced; /* V4L2_BUF_TYPE_SLICED_VBI_CAPTURE */
- struct v4l2_sdr_format sdr; /* V4L2_BUF_TYPE_SDR_CAPTURE */
- __u8 raw_data[200]; /* user-defined */
- } fmt;
-};
-
-/* Stream type-dependent parameters
- */
-struct v4l2_streamparm {
- __u32 type; /* enum v4l2_buf_type */
- union {
- struct v4l2_captureparm capture;
- struct v4l2_outputparm output;
- __u8 raw_data[200]; /* user-defined */
- } parm;
-};
-
-/*
- * E V E N T S
- */
-
-#define V4L2_EVENT_ALL 0
-#define V4L2_EVENT_VSYNC 1
-#define V4L2_EVENT_EOS 2
-#define V4L2_EVENT_CTRL 3
-#define V4L2_EVENT_FRAME_SYNC 4
-#define V4L2_EVENT_SOURCE_CHANGE 5
-#define V4L2_EVENT_MOTION_DET 6
-#define V4L2_EVENT_PRIVATE_START 0x08000000
-
-/* Payload for V4L2_EVENT_VSYNC */
-struct v4l2_event_vsync {
- /* Can be V4L2_FIELD_ANY, _NONE, _TOP or _BOTTOM */
- __u8 field;
-} __attribute__ ((packed));
-
-/* Payload for V4L2_EVENT_CTRL */
-#define V4L2_EVENT_CTRL_CH_VALUE (1 << 0)
-#define V4L2_EVENT_CTRL_CH_FLAGS (1 << 1)
-#define V4L2_EVENT_CTRL_CH_RANGE (1 << 2)
-
-struct v4l2_event_ctrl {
- __u32 changes;
- __u32 type;
- union {
- __s32 value;
- __s64 value64;
- };
- __u32 flags;
- __s32 minimum;
- __s32 maximum;
- __s32 step;
- __s32 default_value;
-};
-
-struct v4l2_event_frame_sync {
- __u32 frame_sequence;
-};
-
-#define V4L2_EVENT_SRC_CH_RESOLUTION (1 << 0)
-
-struct v4l2_event_src_change {
- __u32 changes;
-};
-
-#define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ (1 << 0)
-
-/**
- * struct v4l2_event_motion_det - motion detection event
- * @flags: if V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ is set, then the
- * frame_sequence field is valid.
- * @frame_sequence: the frame sequence number associated with this event.
- * @region_mask: which regions detected motion.
- */
-struct v4l2_event_motion_det {
- __u32 flags;
- __u32 frame_sequence;
- __u32 region_mask;
-};
-
-struct v4l2_event {
- __u32 type;
- union {
- struct v4l2_event_vsync vsync;
- struct v4l2_event_ctrl ctrl;
- struct v4l2_event_frame_sync frame_sync;
- struct v4l2_event_src_change src_change;
- struct v4l2_event_motion_det motion_det;
- __u8 data[64];
- } u;
- __u32 pending;
- __u32 sequence;
- struct timespec timestamp;
- __u32 id;
- __u32 reserved[8];
-};
-
-#define V4L2_EVENT_SUB_FL_SEND_INITIAL (1 << 0)
-#define V4L2_EVENT_SUB_FL_ALLOW_FEEDBACK (1 << 1)
-
-struct v4l2_event_subscription {
- __u32 type;
- __u32 id;
- __u32 flags;
- __u32 reserved[5];
-};
-
-/*
- * A D V A N C E D D E B U G G I N G
- *
- * NOTE: EXPERIMENTAL API, NEVER RELY ON THIS IN APPLICATIONS!
- * FOR DEBUGGING, TESTING AND INTERNAL USE ONLY!
- */
-
-/* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */
-
-#define V4L2_CHIP_MATCH_BRIDGE 0 /* Match against chip ID on the bridge (0 for the bridge) */
-#define V4L2_CHIP_MATCH_SUBDEV 4 /* Match against subdev index */
-
-/* The following four defines are no longer in use */
-#define V4L2_CHIP_MATCH_HOST V4L2_CHIP_MATCH_BRIDGE
-#define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver name */
-#define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */
-#define V4L2_CHIP_MATCH_AC97 3 /* Match against ancillary AC97 chip */
-
-struct v4l2_dbg_match {
- __u32 type; /* Match type */
- union { /* Match this chip, meaning determined by type */
- __u32 addr;
- char name[32];
- };
-} __attribute__ ((packed));
-
-struct v4l2_dbg_register {
- struct v4l2_dbg_match match;
- __u32 size; /* register size in bytes */
- __u64 reg;
- __u64 val;
-} __attribute__ ((packed));
-
-#define V4L2_CHIP_FL_READABLE (1 << 0)
-#define V4L2_CHIP_FL_WRITABLE (1 << 1)
-
-/* VIDIOC_DBG_G_CHIP_INFO */
-struct v4l2_dbg_chip_info {
- struct v4l2_dbg_match match;
- char name[32];
- __u32 flags;
- __u32 reserved[32];
-} __attribute__ ((packed));
-
-/**
- * struct v4l2_create_buffers - VIDIOC_CREATE_BUFS argument
- * @index: on return, index of the first created buffer
- * @count: entry: number of requested buffers,
- * return: number of created buffers
- * @memory: enum v4l2_memory; buffer memory type
- * @format: frame format, for which buffers are requested
- * @reserved: future extensions
- */
-struct v4l2_create_buffers {
- __u32 index;
- __u32 count;
- __u32 memory;
- struct v4l2_format format;
- __u32 reserved[8];
-};
-
-/*
- * I O C T L C O D E S F O R V I D E O D E V I C E S
- *
- */
-#define VIDIOC_QUERYCAP _IOR('V', 0, struct v4l2_capability)
-#define VIDIOC_RESERVED _IO('V', 1)
-#define VIDIOC_ENUM_FMT _IOWR('V', 2, struct v4l2_fmtdesc)
-#define VIDIOC_G_FMT _IOWR('V', 4, struct v4l2_format)
-#define VIDIOC_S_FMT _IOWR('V', 5, struct v4l2_format)
-#define VIDIOC_REQBUFS _IOWR('V', 8, struct v4l2_requestbuffers)
-#define VIDIOC_QUERYBUF _IOWR('V', 9, struct v4l2_buffer)
-#define VIDIOC_G_FBUF _IOR('V', 10, struct v4l2_framebuffer)
-#define VIDIOC_S_FBUF _IOW('V', 11, struct v4l2_framebuffer)
-#define VIDIOC_OVERLAY _IOW('V', 14, int)
-#define VIDIOC_QBUF _IOWR('V', 15, struct v4l2_buffer)
-#define VIDIOC_EXPBUF _IOWR('V', 16, struct v4l2_exportbuffer)
-#define VIDIOC_DQBUF _IOWR('V', 17, struct v4l2_buffer)
-#define VIDIOC_STREAMON _IOW('V', 18, int)
-#define VIDIOC_STREAMOFF _IOW('V', 19, int)
-#define VIDIOC_G_PARM _IOWR('V', 21, struct v4l2_streamparm)
-#define VIDIOC_S_PARM _IOWR('V', 22, struct v4l2_streamparm)
-#define VIDIOC_G_STD _IOR('V', 23, v4l2_std_id)
-#define VIDIOC_S_STD _IOW('V', 24, v4l2_std_id)
-#define VIDIOC_ENUMSTD _IOWR('V', 25, struct v4l2_standard)
-#define VIDIOC_ENUMINPUT _IOWR('V', 26, struct v4l2_input)
-#define VIDIOC_G_CTRL _IOWR('V', 27, struct v4l2_control)
-#define VIDIOC_S_CTRL _IOWR('V', 28, struct v4l2_control)
-#define VIDIOC_G_TUNER _IOWR('V', 29, struct v4l2_tuner)
-#define VIDIOC_S_TUNER _IOW('V', 30, struct v4l2_tuner)
-#define VIDIOC_G_AUDIO _IOR('V', 33, struct v4l2_audio)
-#define VIDIOC_S_AUDIO _IOW('V', 34, struct v4l2_audio)
-#define VIDIOC_QUERYCTRL _IOWR('V', 36, struct v4l2_queryctrl)
-#define VIDIOC_QUERYMENU _IOWR('V', 37, struct v4l2_querymenu)
-#define VIDIOC_G_INPUT _IOR('V', 38, int)
-#define VIDIOC_S_INPUT _IOWR('V', 39, int)
-#define VIDIOC_G_EDID _IOWR('V', 40, struct v4l2_edid)
-#define VIDIOC_S_EDID _IOWR('V', 41, struct v4l2_edid)
-#define VIDIOC_G_OUTPUT _IOR('V', 46, int)
-#define VIDIOC_S_OUTPUT _IOWR('V', 47, int)
-#define VIDIOC_ENUMOUTPUT _IOWR('V', 48, struct v4l2_output)
-#define VIDIOC_G_AUDOUT _IOR('V', 49, struct v4l2_audioout)
-#define VIDIOC_S_AUDOUT _IOW('V', 50, struct v4l2_audioout)
-#define VIDIOC_G_MODULATOR _IOWR('V', 54, struct v4l2_modulator)
-#define VIDIOC_S_MODULATOR _IOW('V', 55, struct v4l2_modulator)
-#define VIDIOC_G_FREQUENCY _IOWR('V', 56, struct v4l2_frequency)
-#define VIDIOC_S_FREQUENCY _IOW('V', 57, struct v4l2_frequency)
-#define VIDIOC_CROPCAP _IOWR('V', 58, struct v4l2_cropcap)
-#define VIDIOC_G_CROP _IOWR('V', 59, struct v4l2_crop)
-#define VIDIOC_S_CROP _IOW('V', 60, struct v4l2_crop)
-#define VIDIOC_G_JPEGCOMP _IOR('V', 61, struct v4l2_jpegcompression)
-#define VIDIOC_S_JPEGCOMP _IOW('V', 62, struct v4l2_jpegcompression)
-#define VIDIOC_QUERYSTD _IOR('V', 63, v4l2_std_id)
-#define VIDIOC_TRY_FMT _IOWR('V', 64, struct v4l2_format)
-#define VIDIOC_ENUMAUDIO _IOWR('V', 65, struct v4l2_audio)
-#define VIDIOC_ENUMAUDOUT _IOWR('V', 66, struct v4l2_audioout)
-#define VIDIOC_G_PRIORITY _IOR('V', 67, __u32) /* enum v4l2_priority */
-#define VIDIOC_S_PRIORITY _IOW('V', 68, __u32) /* enum v4l2_priority */
-#define VIDIOC_G_SLICED_VBI_CAP _IOWR('V', 69, struct v4l2_sliced_vbi_cap)
-#define VIDIOC_LOG_STATUS _IO('V', 70)
-#define VIDIOC_G_EXT_CTRLS _IOWR('V', 71, struct v4l2_ext_controls)
-#define VIDIOC_S_EXT_CTRLS _IOWR('V', 72, struct v4l2_ext_controls)
-#define VIDIOC_TRY_EXT_CTRLS _IOWR('V', 73, struct v4l2_ext_controls)
-#define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct v4l2_frmsizeenum)
-#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR('V', 75, struct v4l2_frmivalenum)
-#define VIDIOC_G_ENC_INDEX _IOR('V', 76, struct v4l2_enc_idx)
-#define VIDIOC_ENCODER_CMD _IOWR('V', 77, struct v4l2_encoder_cmd)
-#define VIDIOC_TRY_ENCODER_CMD _IOWR('V', 78, struct v4l2_encoder_cmd)
-
-/* Experimental, meant for debugging, testing and internal use.
- Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined.
- You must be root to use these ioctls. Never use these in applications! */
-#define VIDIOC_DBG_S_REGISTER _IOW('V', 79, struct v4l2_dbg_register)
-#define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct v4l2_dbg_register)
-
-#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek)
-
-#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings)
-#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings)
-#define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event)
-#define VIDIOC_SUBSCRIBE_EVENT _IOW('V', 90, struct v4l2_event_subscription)
-#define VIDIOC_UNSUBSCRIBE_EVENT _IOW('V', 91, struct v4l2_event_subscription)
-
-/* Experimental, the below two ioctls may change over the next couple of kernel
- versions */
-#define VIDIOC_CREATE_BUFS _IOWR('V', 92, struct v4l2_create_buffers)
-#define VIDIOC_PREPARE_BUF _IOWR('V', 93, struct v4l2_buffer)
-
-/* Experimental selection API */
-#define VIDIOC_G_SELECTION _IOWR('V', 94, struct v4l2_selection)
-#define VIDIOC_S_SELECTION _IOWR('V', 95, struct v4l2_selection)
-
-/* Experimental, these two ioctls may change over the next couple of kernel
- versions. */
-#define VIDIOC_DECODER_CMD _IOWR('V', 96, struct v4l2_decoder_cmd)
-#define VIDIOC_TRY_DECODER_CMD _IOWR('V', 97, struct v4l2_decoder_cmd)
-
-/* Experimental, these three ioctls may change over the next couple of kernel
- versions. */
-#define VIDIOC_ENUM_DV_TIMINGS _IOWR('V', 98, struct v4l2_enum_dv_timings)
-#define VIDIOC_QUERY_DV_TIMINGS _IOR('V', 99, struct v4l2_dv_timings)
-#define VIDIOC_DV_TIMINGS_CAP _IOWR('V', 100, struct v4l2_dv_timings_cap)
-
-/* Experimental, this ioctl may change over the next couple of kernel
- versions. */
-#define VIDIOC_ENUM_FREQ_BANDS _IOWR('V', 101, struct v4l2_frequency_band)
-
-/* Experimental, meant for debugging, testing and internal use.
- Never use these in applications! */
-#define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
-
-#define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl)
-
-/* Reminder: when adding new ioctls please add support for them to
- drivers/media/v4l2-core/v4l2-compat-ioctl32.c as well! */
-
-#define BASE_VIDIOC_PRIVATE 192 /* 192-255 are private */
-
-#endif /* __LINUX_VIDEODEV2_H */
diff --git a/linux-headers/include/linux/virtio_9p.h b/linux-headers/include/linux/virtio_9p.h
deleted file mode 100644
index 277c4ad..0000000
--- a/linux-headers/include/linux/virtio_9p.h
+++ /dev/null
@@ -1,44 +0,0 @@
-#ifndef _LINUX_VIRTIO_9P_H
-#define _LINUX_VIRTIO_9P_H
-/* This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE. */
-#include <linux/types.h>
-#include <linux/virtio_ids.h>
-#include <linux/virtio_config.h>
-
-/* The feature bitmap for virtio 9P */
-
-/* The mount point is specified in a config variable */
-#define VIRTIO_9P_MOUNT_TAG 0
-
-struct virtio_9p_config {
- /* length of the tag name */
- __u16 tag_len;
- /* non-NULL terminated tag name */
- __u8 tag[0];
-} __attribute__((packed));
-
-#endif /* _LINUX_VIRTIO_9P_H */
diff --git a/linux-headers/include/linux/virtio_balloon.h b/linux-headers/include/linux/virtio_balloon.h
deleted file mode 100644
index 343d7dd..0000000
--- a/linux-headers/include/linux/virtio_balloon.h
+++ /dev/null
@@ -1,85 +0,0 @@
-#ifndef _LINUX_VIRTIO_BALLOON_H
-#define _LINUX_VIRTIO_BALLOON_H
-/* This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE. */
-#include <linux/types.h>
-#include <linux/virtio_types.h>
-#include <linux/virtio_ids.h>
-#include <linux/virtio_config.h>
-
-/* The feature bitmap for virtio balloon */
-#define VIRTIO_BALLOON_F_MUST_TELL_HOST 0 /* Tell before reclaiming pages */
-#define VIRTIO_BALLOON_F_STATS_VQ 1 /* Memory Stats virtqueue */
-#define VIRTIO_BALLOON_F_DEFLATE_ON_OOM 2 /* Deflate balloon on OOM */
-
-/* Size of a PFN in the balloon interface. */
-#define VIRTIO_BALLOON_PFN_SHIFT 12
-
-struct virtio_balloon_config {
- /* Number of pages host wants Guest to give up. */
- __u32 num_pages;
- /* Number of pages we've actually got in balloon. */
- __u32 actual;
-};
-
-#define VIRTIO_BALLOON_S_SWAP_IN 0 /* Amount of memory swapped in */
-#define VIRTIO_BALLOON_S_SWAP_OUT 1 /* Amount of memory swapped out */
-#define VIRTIO_BALLOON_S_MAJFLT 2 /* Number of major faults */
-#define VIRTIO_BALLOON_S_MINFLT 3 /* Number of minor faults */
-#define VIRTIO_BALLOON_S_MEMFREE 4 /* Total amount of free memory */
-#define VIRTIO_BALLOON_S_MEMTOT 5 /* Total amount of memory */
-#define VIRTIO_BALLOON_S_AVAIL 6 /* Available memory as in /proc */
-#define VIRTIO_BALLOON_S_NR 7
-
-/*
- * Memory statistics structure.
- * Driver fills an array of these structures and passes to device.
- *
- * NOTE: fields are laid out in a way that would make compiler add padding
- * between and after fields, so we have to use compiler-specific attributes to
- * pack it, to disable this padding. This also often causes compiler to
- * generate suboptimal code.
- *
- * We maintain this statistics structure format for backwards compatibility,
- * but don't follow this example.
- *
- * If implementing a similar structure, do something like the below instead:
- * struct virtio_balloon_stat {
- * __virtio16 tag;
- * __u8 reserved[6];
- * __virtio64 val;
- * };
- *
- * In other words, add explicit reserved fields to align field and
- * structure boundaries at field size, avoiding compiler padding
- * without the packed attribute.
- */
-struct virtio_balloon_stat {
- __virtio16 tag;
- __virtio64 val;
-} __attribute__((packed));
-
-#endif /* _LINUX_VIRTIO_BALLOON_H */
diff --git a/linux-headers/include/linux/virtio_blk.h b/linux-headers/include/linux/virtio_blk.h
deleted file mode 100644
index 0f49dd5..0000000
--- a/linux-headers/include/linux/virtio_blk.h
+++ /dev/null
@@ -1,147 +0,0 @@
-#ifndef _LINUX_VIRTIO_BLK_H
-#define _LINUX_VIRTIO_BLK_H
-/* This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE. */
-#include <linux/types.h>
-#include <linux/virtio_ids.h>
-#include <linux/virtio_config.h>
-#include <linux/virtio_types.h>
-
-/* Feature bits */
-#define VIRTIO_BLK_F_SIZE_MAX 1 /* Indicates maximum segment size */
-#define VIRTIO_BLK_F_SEG_MAX 2 /* Indicates maximum # of segments */
-#define VIRTIO_BLK_F_GEOMETRY 4 /* Legacy geometry available */
-#define VIRTIO_BLK_F_RO 5 /* Disk is read-only */
-#define VIRTIO_BLK_F_BLK_SIZE 6 /* Block size of disk is available*/
-#define VIRTIO_BLK_F_TOPOLOGY 10 /* Topology information is available */
-#define VIRTIO_BLK_F_MQ 12 /* support more than one vq */
-
-/* Legacy feature bits */
-#ifndef VIRTIO_BLK_NO_LEGACY
-#define VIRTIO_BLK_F_BARRIER 0 /* Does host support barriers? */
-#define VIRTIO_BLK_F_SCSI 7 /* Supports scsi command passthru */
-#define VIRTIO_BLK_F_FLUSH 9 /* Flush command supported */
-#define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in config */
-/* Old (deprecated) name for VIRTIO_BLK_F_FLUSH. */
-#define VIRTIO_BLK_F_WCE VIRTIO_BLK_F_FLUSH
-#endif /* !VIRTIO_BLK_NO_LEGACY */
-
-#define VIRTIO_BLK_ID_BYTES 20 /* ID string length */
-
-struct virtio_blk_config {
- /* The capacity (in 512-byte sectors). */
- __u64 capacity;
- /* The maximum segment size (if VIRTIO_BLK_F_SIZE_MAX) */
- __u32 size_max;
- /* The maximum number of segments (if VIRTIO_BLK_F_SEG_MAX) */
- __u32 seg_max;
- /* geometry of the device (if VIRTIO_BLK_F_GEOMETRY) */
- struct virtio_blk_geometry {
- __u16 cylinders;
- __u8 heads;
- __u8 sectors;
- } geometry;
-
- /* block size of device (if VIRTIO_BLK_F_BLK_SIZE) */
- __u32 blk_size;
-
- /* the next 4 entries are guarded by VIRTIO_BLK_F_TOPOLOGY */
- /* exponent for physical block per logical block. */
- __u8 physical_block_exp;
- /* alignment offset in logical blocks. */
- __u8 alignment_offset;
- /* minimum I/O size without performance penalty in logical blocks. */
- __u16 min_io_size;
- /* optimal sustained I/O size in logical blocks. */
- __u32 opt_io_size;
-
- /* writeback mode (if VIRTIO_BLK_F_CONFIG_WCE) */
- __u8 wce;
- __u8 unused;
-
- /* number of vqs, only available when VIRTIO_BLK_F_MQ is set */
- __u16 num_queues;
-} __attribute__((packed));
-
-/*
- * Command types
- *
- * Usage is a bit tricky as some bits are used as flags and some are not.
- *
- * Rules:
- * VIRTIO_BLK_T_OUT may be combined with VIRTIO_BLK_T_SCSI_CMD or
- * VIRTIO_BLK_T_BARRIER. VIRTIO_BLK_T_FLUSH is a command of its own
- * and may not be combined with any of the other flags.
- */
-
-/* These two define direction. */
-#define VIRTIO_BLK_T_IN 0
-#define VIRTIO_BLK_T_OUT 1
-
-#ifndef VIRTIO_BLK_NO_LEGACY
-/* This bit says it's a scsi command, not an actual read or write. */
-#define VIRTIO_BLK_T_SCSI_CMD 2
-#endif /* VIRTIO_BLK_NO_LEGACY */
-
-/* Cache flush command */
-#define VIRTIO_BLK_T_FLUSH 4
-
-/* Get device ID command */
-#define VIRTIO_BLK_T_GET_ID 8
-
-#ifndef VIRTIO_BLK_NO_LEGACY
-/* Barrier before this op. */
-#define VIRTIO_BLK_T_BARRIER 0x80000000
-#endif /* !VIRTIO_BLK_NO_LEGACY */
-
-/*
- * This comes first in the read scatter-gather list.
- * For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated,
- * this is the first element of the read scatter-gather list.
- */
-struct virtio_blk_outhdr {
- /* VIRTIO_BLK_T* */
- __virtio32 type;
- /* io priority. */
- __virtio32 ioprio;
- /* Sector (ie. 512 byte offset) */
- __virtio64 sector;
-};
-
-#ifndef VIRTIO_BLK_NO_LEGACY
-struct virtio_scsi_inhdr {
- __virtio32 errors;
- __virtio32 data_len;
- __virtio32 sense_len;
- __virtio32 residual;
-};
-#endif /* !VIRTIO_BLK_NO_LEGACY */
-
-/* And this is the final byte of the write scatter-gather list. */
-#define VIRTIO_BLK_S_OK 0
-#define VIRTIO_BLK_S_IOERR 1
-#define VIRTIO_BLK_S_UNSUPP 2
-#endif /* _LINUX_VIRTIO_BLK_H */
diff --git a/linux-headers/include/linux/virtio_config.h b/linux-headers/include/linux/virtio_config.h
deleted file mode 100644
index 6a93b56..0000000
--- a/linux-headers/include/linux/virtio_config.h
+++ /dev/null
@@ -1,66 +0,0 @@
-#ifndef _LINUX_VIRTIO_CONFIG_H
-#define _LINUX_VIRTIO_CONFIG_H
-/* This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so
- * anyone can use the definitions to implement compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE. */
-
-/* Virtio devices use a standardized configuration space to define their
- * features and pass configuration information, but each implementation can
- * store and access that space differently. */
-#include <linux/types.h>
-
-/* Status byte for guest to report progress, and synchronize features. */
-/* We have seen device and processed generic fields (VIRTIO_CONFIG_F_VIRTIO) */
-#define VIRTIO_CONFIG_S_ACKNOWLEDGE 1
-/* We have found a driver for the device. */
-#define VIRTIO_CONFIG_S_DRIVER 2
-/* Driver has used its parts of the config, and is happy */
-#define VIRTIO_CONFIG_S_DRIVER_OK 4
-/* Driver has finished configuring features */
-#define VIRTIO_CONFIG_S_FEATURES_OK 8
-/* Device entered invalid state, driver must reset it */
-#define VIRTIO_CONFIG_S_NEEDS_RESET 0x40
-/* We've given up on this device. */
-#define VIRTIO_CONFIG_S_FAILED 0x80
-
-/* Some virtio feature bits (currently bits 28 through 32) are reserved for the
- * transport being used (eg. virtio_ring), the rest are per-device feature
- * bits. */
-#define VIRTIO_TRANSPORT_F_START 28
-#define VIRTIO_TRANSPORT_F_END 33
-
-#ifndef VIRTIO_CONFIG_NO_LEGACY
-/* Do we get callbacks when the ring is completely used, even if we've
- * suppressed them? */
-#define VIRTIO_F_NOTIFY_ON_EMPTY 24
-
-/* Can the device handle any descriptor layout? */
-#define VIRTIO_F_ANY_LAYOUT 27
-#endif /* VIRTIO_CONFIG_NO_LEGACY */
-
-/* v1.0 compliant. */
-#define VIRTIO_F_VERSION_1 32
-
-#endif /* _LINUX_VIRTIO_CONFIG_H */
diff --git a/linux-headers/include/linux/virtio_console.h b/linux-headers/include/linux/virtio_console.h
deleted file mode 100644
index b0be04f..0000000
--- a/linux-headers/include/linux/virtio_console.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * This header, excluding the #ifdef __KERNEL__ part, is BSD licensed so
- * anyone can use the definitions to implement compatible drivers/servers:
- *
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * Copyright (C) Red Hat, Inc., 2009, 2010, 2011
- * Copyright (C) Amit Shah <amit.shah@redhat.com>, 2009, 2010, 2011
- */
-#ifndef _LINUX_VIRTIO_CONSOLE_H
-#define _LINUX_VIRTIO_CONSOLE_H
-#include <linux/types.h>
-#include <linux/virtio_types.h>
-#include <linux/virtio_ids.h>
-#include <linux/virtio_config.h>
-
-/* Feature bits */
-#define VIRTIO_CONSOLE_F_SIZE 0 /* Does host provide console size? */
-#define VIRTIO_CONSOLE_F_MULTIPORT 1 /* Does host provide multiple ports? */
-#define VIRTIO_CONSOLE_F_EMERG_WRITE 2 /* Does host support emergency write? */
-
-#define VIRTIO_CONSOLE_BAD_ID (~(__u32)0)
-
-struct virtio_console_config {
- /* colums of the screens */
- __u16 cols;
- /* rows of the screens */
- __u16 rows;
- /* max. number of ports this device can hold */
- __u32 max_nr_ports;
- /* emergency write register */
- __u32 emerg_wr;
-} __attribute__((packed));
-
-/*
- * A message that's passed between the Host and the Guest for a
- * particular port.
- */
-struct virtio_console_control {
- __virtio32 id; /* Port number */
- __virtio16 event; /* The kind of control event (see below) */
- __virtio16 value; /* Extra information for the key */
-};
-
-/* Some events for control messages */
-#define VIRTIO_CONSOLE_DEVICE_READY 0
-#define VIRTIO_CONSOLE_PORT_ADD 1
-#define VIRTIO_CONSOLE_PORT_REMOVE 2
-#define VIRTIO_CONSOLE_PORT_READY 3
-#define VIRTIO_CONSOLE_CONSOLE_PORT 4
-#define VIRTIO_CONSOLE_RESIZE 5
-#define VIRTIO_CONSOLE_PORT_OPEN 6
-#define VIRTIO_CONSOLE_PORT_NAME 7
-
-
-#endif /* _LINUX_VIRTIO_CONSOLE_H */
diff --git a/linux-headers/include/linux/virtio_gpu.h b/linux-headers/include/linux/virtio_gpu.h
deleted file mode 100644
index 4b04ead..0000000
--- a/linux-headers/include/linux/virtio_gpu.h
+++ /dev/null
@@ -1,316 +0,0 @@
-/*
- * Virtio GPU Device
- *
- * Copyright Red Hat, Inc. 2013-2014
- *
- * Authors:
- * Dave Airlie <airlied@redhat.com>
- * Gerd Hoffmann <kraxel@redhat.com>
- *
- * This header is BSD licensed so anyone can use the definitions
- * to implement compatible drivers/servers:
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IBM OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef VIRTIO_GPU_HW_H
-#define VIRTIO_GPU_HW_H
-
-#include <linux/types.h>
-
-#define VIRTIO_GPU_F_VIRGL 0
-
-enum virtio_gpu_ctrl_type {
- VIRTIO_GPU_UNDEFINED = 0,
-
- /* 2d commands */
- VIRTIO_GPU_CMD_GET_DISPLAY_INFO = 0x0100,
- VIRTIO_GPU_CMD_RESOURCE_CREATE_2D,
- VIRTIO_GPU_CMD_RESOURCE_UNREF,
- VIRTIO_GPU_CMD_SET_SCANOUT,
- VIRTIO_GPU_CMD_RESOURCE_FLUSH,
- VIRTIO_GPU_CMD_TRANSFER_TO_HOST_2D,
- VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING,
- VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING,
- VIRTIO_GPU_CMD_GET_CAPSET_INFO,
- VIRTIO_GPU_CMD_GET_CAPSET,
-
- /* 3d commands */
- VIRTIO_GPU_CMD_CTX_CREATE = 0x0200,
- VIRTIO_GPU_CMD_CTX_DESTROY,
- VIRTIO_GPU_CMD_CTX_ATTACH_RESOURCE,
- VIRTIO_GPU_CMD_CTX_DETACH_RESOURCE,
- VIRTIO_GPU_CMD_RESOURCE_CREATE_3D,
- VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D,
- VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D,
- VIRTIO_GPU_CMD_SUBMIT_3D,
-
- /* cursor commands */
- VIRTIO_GPU_CMD_UPDATE_CURSOR = 0x0300,
- VIRTIO_GPU_CMD_MOVE_CURSOR,
-
- /* success responses */
- VIRTIO_GPU_RESP_OK_NODATA = 0x1100,
- VIRTIO_GPU_RESP_OK_DISPLAY_INFO,
- VIRTIO_GPU_RESP_OK_CAPSET_INFO,
- VIRTIO_GPU_RESP_OK_CAPSET,
-
- /* error responses */
- VIRTIO_GPU_RESP_ERR_UNSPEC = 0x1200,
- VIRTIO_GPU_RESP_ERR_OUT_OF_MEMORY,
- VIRTIO_GPU_RESP_ERR_INVALID_SCANOUT_ID,
- VIRTIO_GPU_RESP_ERR_INVALID_RESOURCE_ID,
- VIRTIO_GPU_RESP_ERR_INVALID_CONTEXT_ID,
- VIRTIO_GPU_RESP_ERR_INVALID_PARAMETER,
-};
-
-#define VIRTIO_GPU_FLAG_FENCE (1 << 0)
-
-struct virtio_gpu_ctrl_hdr {
- __le32 type;
- __le32 flags;
- __le64 fence_id;
- __le32 ctx_id;
- __le32 padding;
-};
-
-/* data passed in the cursor vq */
-
-struct virtio_gpu_cursor_pos {
- __le32 scanout_id;
- __le32 x;
- __le32 y;
- __le32 padding;
-};
-
-/* VIRTIO_GPU_CMD_UPDATE_CURSOR, VIRTIO_GPU_CMD_MOVE_CURSOR */
-struct virtio_gpu_update_cursor {
- struct virtio_gpu_ctrl_hdr hdr;
- struct virtio_gpu_cursor_pos pos; /* update & move */
- __le32 resource_id; /* update only */
- __le32 hot_x; /* update only */
- __le32 hot_y; /* update only */
- __le32 padding;
-};
-
-/* data passed in the control vq, 2d related */
-
-struct virtio_gpu_rect {
- __le32 x;
- __le32 y;
- __le32 width;
- __le32 height;
-};
-
-/* VIRTIO_GPU_CMD_RESOURCE_UNREF */
-struct virtio_gpu_resource_unref {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 resource_id;
- __le32 padding;
-};
-
-/* VIRTIO_GPU_CMD_RESOURCE_CREATE_2D: create a 2d resource with a format */
-struct virtio_gpu_resource_create_2d {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 resource_id;
- __le32 format;
- __le32 width;
- __le32 height;
-};
-
-/* VIRTIO_GPU_CMD_SET_SCANOUT */
-struct virtio_gpu_set_scanout {
- struct virtio_gpu_ctrl_hdr hdr;
- struct virtio_gpu_rect r;
- __le32 scanout_id;
- __le32 resource_id;
-};
-
-/* VIRTIO_GPU_CMD_RESOURCE_FLUSH */
-struct virtio_gpu_resource_flush {
- struct virtio_gpu_ctrl_hdr hdr;
- struct virtio_gpu_rect r;
- __le32 resource_id;
- __le32 padding;
-};
-
-/* VIRTIO_GPU_CMD_TRANSFER_TO_HOST_2D: simple transfer to_host */
-struct virtio_gpu_transfer_to_host_2d {
- struct virtio_gpu_ctrl_hdr hdr;
- struct virtio_gpu_rect r;
- __le64 offset;
- __le32 resource_id;
- __le32 padding;
-};
-
-struct virtio_gpu_mem_entry {
- __le64 addr;
- __le32 length;
- __le32 padding;
-};
-
-/* VIRTIO_GPU_CMD_RESOURCE_ATTACH_BACKING */
-struct virtio_gpu_resource_attach_backing {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 resource_id;
- __le32 nr_entries;
-};
-
-/* VIRTIO_GPU_CMD_RESOURCE_DETACH_BACKING */
-struct virtio_gpu_resource_detach_backing {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 resource_id;
- __le32 padding;
-};
-
-/* VIRTIO_GPU_RESP_OK_DISPLAY_INFO */
-#define VIRTIO_GPU_MAX_SCANOUTS 16
-struct virtio_gpu_resp_display_info {
- struct virtio_gpu_ctrl_hdr hdr;
- struct virtio_gpu_display_one {
- struct virtio_gpu_rect r;
- __le32 enabled;
- __le32 flags;
- } pmodes[VIRTIO_GPU_MAX_SCANOUTS];
-};
-
-/* data passed in the control vq, 3d related */
-
-struct virtio_gpu_box {
- __le32 x, y, z;
- __le32 w, h, d;
-};
-
-/* VIRTIO_GPU_CMD_TRANSFER_TO_HOST_3D, VIRTIO_GPU_CMD_TRANSFER_FROM_HOST_3D */
-struct virtio_gpu_transfer_host_3d {
- struct virtio_gpu_ctrl_hdr hdr;
- struct virtio_gpu_box box;
- __le64 offset;
- __le32 resource_id;
- __le32 level;
- __le32 stride;
- __le32 layer_stride;
-};
-
-/* VIRTIO_GPU_CMD_RESOURCE_CREATE_3D */
-#define VIRTIO_GPU_RESOURCE_FLAG_Y_0_TOP (1 << 0)
-struct virtio_gpu_resource_create_3d {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 resource_id;
- __le32 target;
- __le32 format;
- __le32 bind;
- __le32 width;
- __le32 height;
- __le32 depth;
- __le32 array_size;
- __le32 last_level;
- __le32 nr_samples;
- __le32 flags;
- __le32 padding;
-};
-
-/* VIRTIO_GPU_CMD_CTX_CREATE */
-struct virtio_gpu_ctx_create {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 nlen;
- __le32 padding;
- char debug_name[64];
-};
-
-/* VIRTIO_GPU_CMD_CTX_DESTROY */
-struct virtio_gpu_ctx_destroy {
- struct virtio_gpu_ctrl_hdr hdr;
-};
-
-/* VIRTIO_GPU_CMD_CTX_ATTACH_RESOURCE, VIRTIO_GPU_CMD_CTX_DETACH_RESOURCE */
-struct virtio_gpu_ctx_resource {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 resource_id;
- __le32 padding;
-};
-
-/* VIRTIO_GPU_CMD_SUBMIT_3D */
-struct virtio_gpu_cmd_submit {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 size;
- __le32 padding;
-};
-
-#define VIRTIO_GPU_CAPSET_VIRGL 1
-
-/* VIRTIO_GPU_CMD_GET_CAPSET_INFO */
-struct virtio_gpu_get_capset_info {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 capset_index;
- __le32 padding;
-};
-
-/* VIRTIO_GPU_RESP_OK_CAPSET_INFO */
-struct virtio_gpu_resp_capset_info {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 capset_id;
- __le32 capset_max_version;
- __le32 capset_max_size;
- __le32 padding;
-};
-
-/* VIRTIO_GPU_CMD_GET_CAPSET */
-struct virtio_gpu_get_capset {
- struct virtio_gpu_ctrl_hdr hdr;
- __le32 capset_id;
- __le32 capset_version;
-};
-
-/* VIRTIO_GPU_RESP_OK_CAPSET */
-struct virtio_gpu_resp_capset {
- struct virtio_gpu_ctrl_hdr hdr;
- __u8 capset_data[];
-};
-
-#define VIRTIO_GPU_EVENT_DISPLAY (1 << 0)
-
-struct virtio_gpu_config {
- __u32 events_read;
- __u32 events_clear;
- __u32 num_scanouts;
- __u32 num_capsets;
-};
-
-/* simple formats for fbcon/X use */
-enum virtio_gpu_formats {
- VIRTIO_GPU_FORMAT_B8G8R8A8_UNORM = 1,
- VIRTIO_GPU_FORMAT_B8G8R8X8_UNORM = 2,
- VIRTIO_GPU_FORMAT_A8R8G8B8_UNORM = 3,
- VIRTIO_GPU_FORMAT_X8R8G8B8_UNORM = 4,
-
- VIRTIO_GPU_FORMAT_R8G8B8A8_UNORM = 67,
- VIRTIO_GPU_FORMAT_X8B8G8R8_UNORM = 68,
-
- VIRTIO_GPU_FORMAT_A8B8G8R8_UNORM = 121,
- VIRTIO_GPU_FORMAT_R8G8B8X8_UNORM = 134,
-};
-
-#endif
diff --git a/linux-headers/include/linux/virtio_ids.h b/linux-headers/include/linux/virtio_ids.h
deleted file mode 100644
index 77925f5..0000000
--- a/linux-headers/include/linux/virtio_ids.h
+++ /dev/null
@@ -1,45 +0,0 @@
-#ifndef _LINUX_VIRTIO_IDS_H
-#define _LINUX_VIRTIO_IDS_H
-/*
- * Virtio IDs
- *
- * This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE. */
-
-#define VIRTIO_ID_NET 1 /* virtio net */
-#define VIRTIO_ID_BLOCK 2 /* virtio block */
-#define VIRTIO_ID_CONSOLE 3 /* virtio console */
-#define VIRTIO_ID_RNG 4 /* virtio rng */
-#define VIRTIO_ID_BALLOON 5 /* virtio balloon */
-#define VIRTIO_ID_RPMSG 7 /* virtio remote processor messaging */
-#define VIRTIO_ID_SCSI 8 /* virtio scsi */
-#define VIRTIO_ID_9P 9 /* 9p virtio console */
-#define VIRTIO_ID_RPROC_SERIAL 11 /* virtio remoteproc serial link */
-#define VIRTIO_ID_CAIF 12 /* Virtio caif */
-#define VIRTIO_ID_GPU 16 /* virtio GPU */
-#define VIRTIO_ID_INPUT 18 /* virtio input */
-
-#endif /* _LINUX_VIRTIO_IDS_H */
diff --git a/linux-headers/include/linux/virtio_input.h b/linux-headers/include/linux/virtio_input.h
deleted file mode 100644
index a7fe5c8..0000000
--- a/linux-headers/include/linux/virtio_input.h
+++ /dev/null
@@ -1,76 +0,0 @@
-#ifndef _LINUX_VIRTIO_INPUT_H
-#define _LINUX_VIRTIO_INPUT_H
-/* This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
- * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL IBM OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE. */
-
-#include <linux/types.h>
-
-enum virtio_input_config_select {
- VIRTIO_INPUT_CFG_UNSET = 0x00,
- VIRTIO_INPUT_CFG_ID_NAME = 0x01,
- VIRTIO_INPUT_CFG_ID_SERIAL = 0x02,
- VIRTIO_INPUT_CFG_ID_DEVIDS = 0x03,
- VIRTIO_INPUT_CFG_PROP_BITS = 0x10,
- VIRTIO_INPUT_CFG_EV_BITS = 0x11,
- VIRTIO_INPUT_CFG_ABS_INFO = 0x12,
-};
-
-struct virtio_input_absinfo {
- __u32 min;
- __u32 max;
- __u32 fuzz;
- __u32 flat;
- __u32 res;
-};
-
-struct virtio_input_devids {
- __u16 bustype;
- __u16 vendor;
- __u16 product;
- __u16 version;
-};
-
-struct virtio_input_config {
- __u8 select;
- __u8 subsel;
- __u8 size;
- __u8 reserved[5];
- union {
- char string[128];
- __u8 bitmap[128];
- struct virtio_input_absinfo abs;
- struct virtio_input_devids ids;
- } u;
-};
-
-struct virtio_input_event {
- __le16 type;
- __le16 code;
- __le32 value;
-};
-
-#endif /* _LINUX_VIRTIO_INPUT_H */
diff --git a/linux-headers/include/linux/virtio_net.h b/linux-headers/include/linux/virtio_net.h
deleted file mode 100644
index ec32293..0000000
--- a/linux-headers/include/linux/virtio_net.h
+++ /dev/null
@@ -1,245 +0,0 @@
-#ifndef _LINUX_VIRTIO_NET_H
-#define _LINUX_VIRTIO_NET_H
-/* This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE. */
-#include <linux/types.h>
-#include <linux/virtio_ids.h>
-#include <linux/virtio_config.h>
-#include <linux/virtio_types.h>
-#include <linux/if_ether.h>
-
-/* The feature bitmap for virtio net */
-#define VIRTIO_NET_F_CSUM 0 /* Host handles pkts w/ partial csum */
-#define VIRTIO_NET_F_GUEST_CSUM 1 /* Guest handles pkts w/ partial csum */
-#define VIRTIO_NET_F_CTRL_GUEST_OFFLOADS 2 /* Dynamic offload configuration. */
-#define VIRTIO_NET_F_MAC 5 /* Host has given MAC address. */
-#define VIRTIO_NET_F_GUEST_TSO4 7 /* Guest can handle TSOv4 in. */
-#define VIRTIO_NET_F_GUEST_TSO6 8 /* Guest can handle TSOv6 in. */
-#define VIRTIO_NET_F_GUEST_ECN 9 /* Guest can handle TSO[6] w/ ECN in. */
-#define VIRTIO_NET_F_GUEST_UFO 10 /* Guest can handle UFO in. */
-#define VIRTIO_NET_F_HOST_TSO4 11 /* Host can handle TSOv4 in. */
-#define VIRTIO_NET_F_HOST_TSO6 12 /* Host can handle TSOv6 in. */
-#define VIRTIO_NET_F_HOST_ECN 13 /* Host can handle TSO[6] w/ ECN in. */
-#define VIRTIO_NET_F_HOST_UFO 14 /* Host can handle UFO in. */
-#define VIRTIO_NET_F_MRG_RXBUF 15 /* Host can merge receive buffers. */
-#define VIRTIO_NET_F_STATUS 16 /* virtio_net_config.status available */
-#define VIRTIO_NET_F_CTRL_VQ 17 /* Control channel available */
-#define VIRTIO_NET_F_CTRL_RX 18 /* Control channel RX mode support */
-#define VIRTIO_NET_F_CTRL_VLAN 19 /* Control channel VLAN filtering */
-#define VIRTIO_NET_F_CTRL_RX_EXTRA 20 /* Extra RX mode control support */
-#define VIRTIO_NET_F_GUEST_ANNOUNCE 21 /* Guest can announce device on the
- * network */
-#define VIRTIO_NET_F_MQ 22 /* Device supports Receive Flow
- * Steering */
-#define VIRTIO_NET_F_CTRL_MAC_ADDR 23 /* Set MAC address */
-
-#ifndef VIRTIO_NET_NO_LEGACY
-#define VIRTIO_NET_F_GSO 6 /* Host handles pkts w/ any GSO type */
-#endif /* VIRTIO_NET_NO_LEGACY */
-
-#define VIRTIO_NET_S_LINK_UP 1 /* Link is up */
-#define VIRTIO_NET_S_ANNOUNCE 2 /* Announcement is needed */
-
-struct virtio_net_config {
- /* The config defining mac address (if VIRTIO_NET_F_MAC) */
- __u8 mac[ETH_ALEN];
- /* See VIRTIO_NET_F_STATUS and VIRTIO_NET_S_* above */
- __u16 status;
- /* Maximum number of each of transmit and receive queues;
- * see VIRTIO_NET_F_MQ and VIRTIO_NET_CTRL_MQ.
- * Legal values are between 1 and 0x8000
- */
- __u16 max_virtqueue_pairs;
-} __attribute__((packed));
-
-/*
- * This header comes first in the scatter-gather list. If you don't
- * specify GSO or CSUM features, you can simply ignore the header.
- *
- * This is bitwise-equivalent to the legacy struct virtio_net_hdr_mrg_rxbuf,
- * only flattened.
- */
-struct virtio_net_hdr_v1 {
-#define VIRTIO_NET_HDR_F_NEEDS_CSUM 1 /* Use csum_start, csum_offset */
-#define VIRTIO_NET_HDR_F_DATA_VALID 2 /* Csum is valid */
- __u8 flags;
-#define VIRTIO_NET_HDR_GSO_NONE 0 /* Not a GSO frame */
-#define VIRTIO_NET_HDR_GSO_TCPV4 1 /* GSO frame, IPv4 TCP (TSO) */
-#define VIRTIO_NET_HDR_GSO_UDP 3 /* GSO frame, IPv4 UDP (UFO) */
-#define VIRTIO_NET_HDR_GSO_TCPV6 4 /* GSO frame, IPv6 TCP */
-#define VIRTIO_NET_HDR_GSO_ECN 0x80 /* TCP has ECN set */
- __u8 gso_type;
- __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */
- __virtio16 gso_size; /* Bytes to append to hdr_len per frame */
- __virtio16 csum_start; /* Position to start checksumming from */
- __virtio16 csum_offset; /* Offset after that to place checksum */
- __virtio16 num_buffers; /* Number of merged rx buffers */
-};
-
-#ifndef VIRTIO_NET_NO_LEGACY
-/* This header comes first in the scatter-gather list.
- * For legacy virtio, if VIRTIO_F_ANY_LAYOUT is not negotiated, it must
- * be the first element of the scatter-gather list. If you don't
- * specify GSO or CSUM features, you can simply ignore the header. */
-struct virtio_net_hdr {
- /* See VIRTIO_NET_HDR_F_* */
- __u8 flags;
- /* See VIRTIO_NET_HDR_GSO_* */
- __u8 gso_type;
- __virtio16 hdr_len; /* Ethernet + IP + tcp/udp hdrs */
- __virtio16 gso_size; /* Bytes to append to hdr_len per frame */
- __virtio16 csum_start; /* Position to start checksumming from */
- __virtio16 csum_offset; /* Offset after that to place checksum */
-};
-
-/* This is the version of the header to use when the MRG_RXBUF
- * feature has been negotiated. */
-struct virtio_net_hdr_mrg_rxbuf {
- struct virtio_net_hdr hdr;
- __virtio16 num_buffers; /* Number of merged rx buffers */
-};
-#endif /* ...VIRTIO_NET_NO_LEGACY */
-
-/*
- * Control virtqueue data structures
- *
- * The control virtqueue expects a header in the first sg entry
- * and an ack/status response in the last entry. Data for the
- * command goes in between.
- */
-struct virtio_net_ctrl_hdr {
- __u8 class;
- __u8 cmd;
-} __attribute__((packed));
-
-typedef __u8 virtio_net_ctrl_ack;
-
-#define VIRTIO_NET_OK 0
-#define VIRTIO_NET_ERR 1
-
-/*
- * Control the RX mode, ie. promisucous, allmulti, etc...
- * All commands require an "out" sg entry containing a 1 byte
- * state value, zero = disable, non-zero = enable. Commands
- * 0 and 1 are supported with the VIRTIO_NET_F_CTRL_RX feature.
- * Commands 2-5 are added with VIRTIO_NET_F_CTRL_RX_EXTRA.
- */
-#define VIRTIO_NET_CTRL_RX 0
- #define VIRTIO_NET_CTRL_RX_PROMISC 0
- #define VIRTIO_NET_CTRL_RX_ALLMULTI 1
- #define VIRTIO_NET_CTRL_RX_ALLUNI 2
- #define VIRTIO_NET_CTRL_RX_NOMULTI 3
- #define VIRTIO_NET_CTRL_RX_NOUNI 4
- #define VIRTIO_NET_CTRL_RX_NOBCAST 5
-
-/*
- * Control the MAC
- *
- * The MAC filter table is managed by the hypervisor, the guest should
- * assume the size is infinite. Filtering should be considered
- * non-perfect, ie. based on hypervisor resources, the guest may
- * received packets from sources not specified in the filter list.
- *
- * In addition to the class/cmd header, the TABLE_SET command requires
- * two out scatterlists. Each contains a 4 byte count of entries followed
- * by a concatenated byte stream of the ETH_ALEN MAC addresses. The
- * first sg list contains unicast addresses, the second is for multicast.
- * This functionality is present if the VIRTIO_NET_F_CTRL_RX feature
- * is available.
- *
- * The ADDR_SET command requests one out scatterlist, it contains a
- * 6 bytes MAC address. This functionality is present if the
- * VIRTIO_NET_F_CTRL_MAC_ADDR feature is available.
- */
-struct virtio_net_ctrl_mac {
- __virtio32 entries;
- __u8 macs[][ETH_ALEN];
-} __attribute__((packed));
-
-#define VIRTIO_NET_CTRL_MAC 1
- #define VIRTIO_NET_CTRL_MAC_TABLE_SET 0
- #define VIRTIO_NET_CTRL_MAC_ADDR_SET 1
-
-/*
- * Control VLAN filtering
- *
- * The VLAN filter table is controlled via a simple ADD/DEL interface.
- * VLAN IDs not added may be filterd by the hypervisor. Del is the
- * opposite of add. Both commands expect an out entry containing a 2
- * byte VLAN ID. VLAN filterting is available with the
- * VIRTIO_NET_F_CTRL_VLAN feature bit.
- */
-#define VIRTIO_NET_CTRL_VLAN 2
- #define VIRTIO_NET_CTRL_VLAN_ADD 0
- #define VIRTIO_NET_CTRL_VLAN_DEL 1
-
-/*
- * Control link announce acknowledgement
- *
- * The command VIRTIO_NET_CTRL_ANNOUNCE_ACK is used to indicate that
- * driver has recevied the notification; device would clear the
- * VIRTIO_NET_S_ANNOUNCE bit in the status field after it receives
- * this command.
- */
-#define VIRTIO_NET_CTRL_ANNOUNCE 3
- #define VIRTIO_NET_CTRL_ANNOUNCE_ACK 0
-
-/*
- * Control Receive Flow Steering
- *
- * The command VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET
- * enables Receive Flow Steering, specifying the number of the transmit and
- * receive queues that will be used. After the command is consumed and acked by
- * the device, the device will not steer new packets on receive virtqueues
- * other than specified nor read from transmit virtqueues other than specified.
- * Accordingly, driver should not transmit new packets on virtqueues other than
- * specified.
- */
-struct virtio_net_ctrl_mq {
- __virtio16 virtqueue_pairs;
-};
-
-#define VIRTIO_NET_CTRL_MQ 4
- #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_SET 0
- #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MIN 1
- #define VIRTIO_NET_CTRL_MQ_VQ_PAIRS_MAX 0x8000
-
-/*
- * Control network offloads
- *
- * Reconfigures the network offloads that Guest can handle.
- *
- * Available with the VIRTIO_NET_F_CTRL_GUEST_OFFLOADS feature bit.
- *
- * Command data format matches the feature bit mask exactly.
- *
- * See VIRTIO_NET_F_GUEST_* for the list of offloads
- * that can be enabled/disabled.
- */
-#define VIRTIO_NET_CTRL_GUEST_OFFLOADS 5
-#define VIRTIO_NET_CTRL_GUEST_OFFLOADS_SET 0
-
-#endif /* _LINUX_VIRTIO_NET_H */
diff --git a/linux-headers/include/linux/virtio_pci.h b/linux-headers/include/linux/virtio_pci.h
deleted file mode 100644
index 90007a1..0000000
--- a/linux-headers/include/linux/virtio_pci.h
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Virtio PCI driver
- *
- * This module allows virtio devices to be used over a virtual PCI device.
- * This can be used with QEMU based VMMs like KVM or Xen.
- *
- * Copyright IBM Corp. 2007
- *
- * Authors:
- * Anthony Liguori <aliguori@us.ibm.com>
- *
- * This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _LINUX_VIRTIO_PCI_H
-#define _LINUX_VIRTIO_PCI_H
-
-#include <linux/types.h>
-
-#ifndef VIRTIO_PCI_NO_LEGACY
-
-/* A 32-bit r/o bitmask of the features supported by the host */
-#define VIRTIO_PCI_HOST_FEATURES 0
-
-/* A 32-bit r/w bitmask of features activated by the guest */
-#define VIRTIO_PCI_GUEST_FEATURES 4
-
-/* A 32-bit r/w PFN for the currently selected queue */
-#define VIRTIO_PCI_QUEUE_PFN 8
-
-/* A 16-bit r/o queue size for the currently selected queue */
-#define VIRTIO_PCI_QUEUE_NUM 12
-
-/* A 16-bit r/w queue selector */
-#define VIRTIO_PCI_QUEUE_SEL 14
-
-/* A 16-bit r/w queue notifier */
-#define VIRTIO_PCI_QUEUE_NOTIFY 16
-
-/* An 8-bit device status register. */
-#define VIRTIO_PCI_STATUS 18
-
-/* An 8-bit r/o interrupt status register. Reading the value will return the
- * current contents of the ISR and will also clear it. This is effectively
- * a read-and-acknowledge. */
-#define VIRTIO_PCI_ISR 19
-
-/* MSI-X registers: only enabled if MSI-X is enabled. */
-/* A 16-bit vector for configuration changes. */
-#define VIRTIO_MSI_CONFIG_VECTOR 20
-/* A 16-bit vector for selected queue notifications. */
-#define VIRTIO_MSI_QUEUE_VECTOR 22
-
-/* The remaining space is defined by each driver as the per-driver
- * configuration space */
-#define VIRTIO_PCI_CONFIG_OFF(msix_enabled) ((msix_enabled) ? 24 : 20)
-/* Deprecated: please use VIRTIO_PCI_CONFIG_OFF instead */
-#define VIRTIO_PCI_CONFIG(dev) VIRTIO_PCI_CONFIG_OFF((dev)->msix_enabled)
-
-/* Virtio ABI version, this must match exactly */
-#define VIRTIO_PCI_ABI_VERSION 0
-
-/* How many bits to shift physical queue address written to QUEUE_PFN.
- * 12 is historical, and due to x86 page size. */
-#define VIRTIO_PCI_QUEUE_ADDR_SHIFT 12
-
-/* The alignment to use between consumer and producer parts of vring.
- * x86 pagesize again. */
-#define VIRTIO_PCI_VRING_ALIGN 4096
-
-#endif /* VIRTIO_PCI_NO_LEGACY */
-
-/* The bit of the ISR which indicates a device configuration change. */
-#define VIRTIO_PCI_ISR_CONFIG 0x2
-/* Vector value used to disable MSI for queue */
-#define VIRTIO_MSI_NO_VECTOR 0xffff
-
-#ifndef VIRTIO_PCI_NO_MODERN
-
-/* IDs for different capabilities. Must all exist. */
-
-/* Common configuration */
-#define VIRTIO_PCI_CAP_COMMON_CFG 1
-/* Notifications */
-#define VIRTIO_PCI_CAP_NOTIFY_CFG 2
-/* ISR access */
-#define VIRTIO_PCI_CAP_ISR_CFG 3
-/* Device specific configuration */
-#define VIRTIO_PCI_CAP_DEVICE_CFG 4
-/* PCI configuration access */
-#define VIRTIO_PCI_CAP_PCI_CFG 5
-
-/* This is the PCI capability header: */
-struct virtio_pci_cap {
- __u8 cap_vndr; /* Generic PCI field: PCI_CAP_ID_VNDR */
- __u8 cap_next; /* Generic PCI field: next ptr. */
- __u8 cap_len; /* Generic PCI field: capability length */
- __u8 cfg_type; /* Identifies the structure. */
- __u8 bar; /* Where to find it. */
- __u8 padding[3]; /* Pad to full dword. */
- __le32 offset; /* Offset within bar. */
- __le32 length; /* Length of the structure, in bytes. */
-};
-
-struct virtio_pci_notify_cap {
- struct virtio_pci_cap cap;
- __le32 notify_off_multiplier; /* Multiplier for queue_notify_off. */
-};
-
-/* Fields in VIRTIO_PCI_CAP_COMMON_CFG: */
-struct virtio_pci_common_cfg {
- /* About the whole device. */
- __le32 device_feature_select; /* read-write */
- __le32 device_feature; /* read-only */
- __le32 guest_feature_select; /* read-write */
- __le32 guest_feature; /* read-write */
- __le16 msix_config; /* read-write */
- __le16 num_queues; /* read-only */
- __u8 device_status; /* read-write */
- __u8 config_generation; /* read-only */
-
- /* About a specific virtqueue. */
- __le16 queue_select; /* read-write */
- __le16 queue_size; /* read-write, power of 2. */
- __le16 queue_msix_vector; /* read-write */
- __le16 queue_enable; /* read-write */
- __le16 queue_notify_off; /* read-only */
- __le32 queue_desc_lo; /* read-write */
- __le32 queue_desc_hi; /* read-write */
- __le32 queue_avail_lo; /* read-write */
- __le32 queue_avail_hi; /* read-write */
- __le32 queue_used_lo; /* read-write */
- __le32 queue_used_hi; /* read-write */
-};
-
-/* Fields in VIRTIO_PCI_CAP_PCI_CFG: */
-struct virtio_pci_cfg_cap {
- struct virtio_pci_cap cap;
- __u8 pci_cfg_data[4]; /* Data for BAR access. */
-};
-
-/* Macro versions of offsets for the Old Timers! */
-#define VIRTIO_PCI_CAP_VNDR 0
-#define VIRTIO_PCI_CAP_NEXT 1
-#define VIRTIO_PCI_CAP_LEN 2
-#define VIRTIO_PCI_CAP_CFG_TYPE 3
-#define VIRTIO_PCI_CAP_BAR 4
-#define VIRTIO_PCI_CAP_OFFSET 8
-#define VIRTIO_PCI_CAP_LENGTH 12
-
-#define VIRTIO_PCI_NOTIFY_CAP_MULT 16
-
-#define VIRTIO_PCI_COMMON_DFSELECT 0
-#define VIRTIO_PCI_COMMON_DF 4
-#define VIRTIO_PCI_COMMON_GFSELECT 8
-#define VIRTIO_PCI_COMMON_GF 12
-#define VIRTIO_PCI_COMMON_MSIX 16
-#define VIRTIO_PCI_COMMON_NUMQ 18
-#define VIRTIO_PCI_COMMON_STATUS 20
-#define VIRTIO_PCI_COMMON_CFGGENERATION 21
-#define VIRTIO_PCI_COMMON_Q_SELECT 22
-#define VIRTIO_PCI_COMMON_Q_SIZE 24
-#define VIRTIO_PCI_COMMON_Q_MSIX 26
-#define VIRTIO_PCI_COMMON_Q_ENABLE 28
-#define VIRTIO_PCI_COMMON_Q_NOFF 30
-#define VIRTIO_PCI_COMMON_Q_DESCLO 32
-#define VIRTIO_PCI_COMMON_Q_DESCHI 36
-#define VIRTIO_PCI_COMMON_Q_AVAILLO 40
-#define VIRTIO_PCI_COMMON_Q_AVAILHI 44
-#define VIRTIO_PCI_COMMON_Q_USEDLO 48
-#define VIRTIO_PCI_COMMON_Q_USEDHI 52
-
-#endif /* VIRTIO_PCI_NO_MODERN */
-
-#endif
diff --git a/linux-headers/include/linux/virtio_ring.h b/linux-headers/include/linux/virtio_ring.h
deleted file mode 100644
index 4bdc90c..0000000
--- a/linux-headers/include/linux/virtio_ring.h
+++ /dev/null
@@ -1,172 +0,0 @@
-#ifndef _LINUX_VIRTIO_RING_H
-#define _LINUX_VIRTIO_RING_H
-/* An interface for efficient virtio implementation, currently for use by KVM
- * and lguest, but hopefully others soon. Do NOT change this since it will
- * break existing servers and clients.
- *
- * This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * Copyright Rusty Russell IBM Corporation 2007. */
-#include <stdint.h>
-#include <linux/types.h>
-#include <linux/virtio_types.h>
-
-/* This marks a buffer as continuing via the next field. */
-#define VRING_DESC_F_NEXT 1
-/* This marks a buffer as write-only (otherwise read-only). */
-#define VRING_DESC_F_WRITE 2
-/* This means the buffer contains a list of buffer descriptors. */
-#define VRING_DESC_F_INDIRECT 4
-
-/* The Host uses this in used->flags to advise the Guest: don't kick me when
- * you add a buffer. It's unreliable, so it's simply an optimization. Guest
- * will still kick if it's out of buffers. */
-#define VRING_USED_F_NO_NOTIFY 1
-/* The Guest uses this in avail->flags to advise the Host: don't interrupt me
- * when you consume a buffer. It's unreliable, so it's simply an
- * optimization. */
-#define VRING_AVAIL_F_NO_INTERRUPT 1
-
-/* We support indirect buffer descriptors */
-#define VIRTIO_RING_F_INDIRECT_DESC 28
-
-/* The Guest publishes the used index for which it expects an interrupt
- * at the end of the avail ring. Host should ignore the avail->flags field. */
-/* The Host publishes the avail index for which it expects a kick
- * at the end of the used ring. Guest should ignore the used->flags field. */
-#define VIRTIO_RING_F_EVENT_IDX 29
-
-/* Virtio ring descriptors: 16 bytes. These can chain together via "next". */
-struct vring_desc {
- /* Address (guest-physical). */
- __virtio64 addr;
- /* Length. */
- __virtio32 len;
- /* The flags as indicated above. */
- __virtio16 flags;
- /* We chain unused descriptors via this, too */
- __virtio16 next;
-};
-
-struct vring_avail {
- __virtio16 flags;
- __virtio16 idx;
- __virtio16 ring[];
-};
-
-/* u32 is used here for ids for padding reasons. */
-struct vring_used_elem {
- /* Index of start of used descriptor chain. */
- __virtio32 id;
- /* Total length of the descriptor chain which was used (written to) */
- __virtio32 len;
-};
-
-struct vring_used {
- __virtio16 flags;
- __virtio16 idx;
- struct vring_used_elem ring[];
-};
-
-struct vring {
- unsigned int num;
-
- struct vring_desc *desc;
-
- struct vring_avail *avail;
-
- struct vring_used *used;
-};
-
-/* Alignment requirements for vring elements.
- * When using pre-virtio 1.0 layout, these fall out naturally.
- */
-#define VRING_AVAIL_ALIGN_SIZE 2
-#define VRING_USED_ALIGN_SIZE 4
-#define VRING_DESC_ALIGN_SIZE 16
-
-/* The standard layout for the ring is a continuous chunk of memory which looks
- * like this. We assume num is a power of 2.
- *
- * struct vring
- * {
- * // The actual descriptors (16 bytes each)
- * struct vring_desc desc[num];
- *
- * // A ring of available descriptor heads with free-running index.
- * __virtio16 avail_flags;
- * __virtio16 avail_idx;
- * __virtio16 available[num];
- * __virtio16 used_event_idx;
- *
- * // Padding to the next align boundary.
- * char pad[];
- *
- * // A ring of used descriptor heads with free-running index.
- * __virtio16 used_flags;
- * __virtio16 used_idx;
- * struct vring_used_elem used[num];
- * __virtio16 avail_event_idx;
- * };
- */
-/* We publish the used event index at the end of the available ring, and vice
- * versa. They are at the end for backwards compatibility. */
-#define vring_used_event(vr) ((vr)->avail->ring[(vr)->num])
-#define vring_avail_event(vr) (*(__virtio16 *)&(vr)->used->ring[(vr)->num])
-
-static __inline__ void vring_init(struct vring *vr, unsigned int num, void *p,
- unsigned long align)
-{
- vr->num = num;
- vr->desc = p;
- vr->avail = p + num*sizeof(struct vring_desc);
- vr->used = (void *)(((uintptr_t)&vr->avail->ring[num] + sizeof(__virtio16)
- + align-1) & ~(align - 1));
-}
-
-static __inline__ unsigned vring_size(unsigned int num, unsigned long align)
-{
- return ((sizeof(struct vring_desc) * num + sizeof(__virtio16) * (3 + num)
- + align - 1) & ~(align - 1))
- + sizeof(__virtio16) * 3 + sizeof(struct vring_used_elem) * num;
-}
-
-/* The following is used with USED_EVENT_IDX and AVAIL_EVENT_IDX */
-/* Assuming a given event_idx value from the other side, if
- * we have just incremented index from old to new_idx,
- * should we trigger an event? */
-static __inline__ int vring_need_event(__u16 event_idx, __u16 new_idx, __u16 old)
-{
- /* Note: Xen has similar logic for notification hold-off
- * in include/xen/interface/io/ring.h with req_event and req_prod
- * corresponding to event_idx + 1 and new_idx respectively.
- * Note also that req_event and req_prod in Xen start at 1,
- * event indexes in virtio start at 0. */
- return (__u16)(new_idx - event_idx - 1) < (__u16)(new_idx - old);
-}
-
-#endif /* _LINUX_VIRTIO_RING_H */
diff --git a/linux-headers/include/linux/virtio_rng.h b/linux-headers/include/linux/virtio_rng.h
deleted file mode 100644
index c4d5de8..0000000
--- a/linux-headers/include/linux/virtio_rng.h
+++ /dev/null
@@ -1,8 +0,0 @@
-#ifndef _LINUX_VIRTIO_RNG_H
-#define _LINUX_VIRTIO_RNG_H
-/* This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers. */
-#include <linux/virtio_ids.h>
-#include <linux/virtio_config.h>
-
-#endif /* _LINUX_VIRTIO_RNG_H */
diff --git a/linux-headers/include/linux/virtio_scsi.h b/linux-headers/include/linux/virtio_scsi.h
deleted file mode 100644
index cc18ef8..0000000
--- a/linux-headers/include/linux/virtio_scsi.h
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- */
-
-#ifndef _LINUX_VIRTIO_SCSI_H
-#define _LINUX_VIRTIO_SCSI_H
-
-#include <linux/virtio_types.h>
-
-/* Default values of the CDB and sense data size configuration fields */
-#define VIRTIO_SCSI_CDB_DEFAULT_SIZE 32
-#define VIRTIO_SCSI_SENSE_DEFAULT_SIZE 96
-
-#ifndef VIRTIO_SCSI_CDB_SIZE
-#define VIRTIO_SCSI_CDB_SIZE VIRTIO_SCSI_CDB_DEFAULT_SIZE
-#endif
-#ifndef VIRTIO_SCSI_SENSE_SIZE
-#define VIRTIO_SCSI_SENSE_SIZE VIRTIO_SCSI_SENSE_DEFAULT_SIZE
-#endif
-
-/* SCSI command request, followed by data-out */
-struct virtio_scsi_cmd_req {
- __u8 lun[8]; /* Logical Unit Number */
- __virtio64 tag; /* Command identifier */
- __u8 task_attr; /* Task attribute */
- __u8 prio; /* SAM command priority field */
- __u8 crn;
- __u8 cdb[VIRTIO_SCSI_CDB_SIZE];
-} __attribute__((packed));
-
-/* SCSI command request, followed by protection information */
-struct virtio_scsi_cmd_req_pi {
- __u8 lun[8]; /* Logical Unit Number */
- __virtio64 tag; /* Command identifier */
- __u8 task_attr; /* Task attribute */
- __u8 prio; /* SAM command priority field */
- __u8 crn;
- __virtio32 pi_bytesout; /* DataOUT PI Number of bytes */
- __virtio32 pi_bytesin; /* DataIN PI Number of bytes */
- __u8 cdb[VIRTIO_SCSI_CDB_SIZE];
-} __attribute__((packed));
-
-/* Response, followed by sense data and data-in */
-struct virtio_scsi_cmd_resp {
- __virtio32 sense_len; /* Sense data length */
- __virtio32 resid; /* Residual bytes in data buffer */
- __virtio16 status_qualifier; /* Status qualifier */
- __u8 status; /* Command completion status */
- __u8 response; /* Response values */
- __u8 sense[VIRTIO_SCSI_SENSE_SIZE];
-} __attribute__((packed));
-
-/* Task Management Request */
-struct virtio_scsi_ctrl_tmf_req {
- __virtio32 type;
- __virtio32 subtype;
- __u8 lun[8];
- __virtio64 tag;
-} __attribute__((packed));
-
-struct virtio_scsi_ctrl_tmf_resp {
- __u8 response;
-} __attribute__((packed));
-
-/* Asynchronous notification query/subscription */
-struct virtio_scsi_ctrl_an_req {
- __virtio32 type;
- __u8 lun[8];
- __virtio32 event_requested;
-} __attribute__((packed));
-
-struct virtio_scsi_ctrl_an_resp {
- __virtio32 event_actual;
- __u8 response;
-} __attribute__((packed));
-
-struct virtio_scsi_event {
- __virtio32 event;
- __u8 lun[8];
- __virtio32 reason;
-} __attribute__((packed));
-
-struct virtio_scsi_config {
- __u32 num_queues;
- __u32 seg_max;
- __u32 max_sectors;
- __u32 cmd_per_lun;
- __u32 event_info_size;
- __u32 sense_size;
- __u32 cdb_size;
- __u16 max_channel;
- __u16 max_target;
- __u32 max_lun;
-} __attribute__((packed));
-
-/* Feature Bits */
-#define VIRTIO_SCSI_F_INOUT 0
-#define VIRTIO_SCSI_F_HOTPLUG 1
-#define VIRTIO_SCSI_F_CHANGE 2
-#define VIRTIO_SCSI_F_T10_PI 3
-
-/* Response codes */
-#define VIRTIO_SCSI_S_OK 0
-#define VIRTIO_SCSI_S_OVERRUN 1
-#define VIRTIO_SCSI_S_ABORTED 2
-#define VIRTIO_SCSI_S_BAD_TARGET 3
-#define VIRTIO_SCSI_S_RESET 4
-#define VIRTIO_SCSI_S_BUSY 5
-#define VIRTIO_SCSI_S_TRANSPORT_FAILURE 6
-#define VIRTIO_SCSI_S_TARGET_FAILURE 7
-#define VIRTIO_SCSI_S_NEXUS_FAILURE 8
-#define VIRTIO_SCSI_S_FAILURE 9
-#define VIRTIO_SCSI_S_FUNCTION_SUCCEEDED 10
-#define VIRTIO_SCSI_S_FUNCTION_REJECTED 11
-#define VIRTIO_SCSI_S_INCORRECT_LUN 12
-
-/* Controlq type codes. */
-#define VIRTIO_SCSI_T_TMF 0
-#define VIRTIO_SCSI_T_AN_QUERY 1
-#define VIRTIO_SCSI_T_AN_SUBSCRIBE 2
-
-/* Valid TMF subtypes. */
-#define VIRTIO_SCSI_T_TMF_ABORT_TASK 0
-#define VIRTIO_SCSI_T_TMF_ABORT_TASK_SET 1
-#define VIRTIO_SCSI_T_TMF_CLEAR_ACA 2
-#define VIRTIO_SCSI_T_TMF_CLEAR_TASK_SET 3
-#define VIRTIO_SCSI_T_TMF_I_T_NEXUS_RESET 4
-#define VIRTIO_SCSI_T_TMF_LOGICAL_UNIT_RESET 5
-#define VIRTIO_SCSI_T_TMF_QUERY_TASK 6
-#define VIRTIO_SCSI_T_TMF_QUERY_TASK_SET 7
-
-/* Events. */
-#define VIRTIO_SCSI_T_EVENTS_MISSED 0x80000000
-#define VIRTIO_SCSI_T_NO_EVENT 0
-#define VIRTIO_SCSI_T_TRANSPORT_RESET 1
-#define VIRTIO_SCSI_T_ASYNC_NOTIFY 2
-#define VIRTIO_SCSI_T_PARAM_CHANGE 3
-
-/* Reasons of transport reset event */
-#define VIRTIO_SCSI_EVT_RESET_HARD 0
-#define VIRTIO_SCSI_EVT_RESET_RESCAN 1
-#define VIRTIO_SCSI_EVT_RESET_REMOVED 2
-
-#define VIRTIO_SCSI_S_SIMPLE 0
-#define VIRTIO_SCSI_S_ORDERED 1
-#define VIRTIO_SCSI_S_HEAD 2
-#define VIRTIO_SCSI_S_ACA 3
-
-
-#endif /* _LINUX_VIRTIO_SCSI_H */
diff --git a/linux-headers/include/linux/virtio_types.h b/linux-headers/include/linux/virtio_types.h
deleted file mode 100644
index 6162bdf..0000000
--- a/linux-headers/include/linux/virtio_types.h
+++ /dev/null
@@ -1,46 +0,0 @@
-#ifndef _LINUX_VIRTIO_TYPES_H
-#define _LINUX_VIRTIO_TYPES_H
-/* Type definitions for virtio implementations.
- *
- * This header is BSD licensed so anyone can use the definitions to implement
- * compatible drivers/servers.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. Neither the name of IBM nor the names of its contributors
- * may be used to endorse or promote products derived from this software
- * without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL IBM OR CONTRIBUTORS BE LIABLE
- * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- *
- * Copyright (C) 2014 Red Hat, Inc.
- * Author: Michael S. Tsirkin <mst@redhat.com>
- */
-#include <linux/types.h>
-
-/*
- * __virtio{16,32,64} have the following meaning:
- * - __u{16,32,64} for virtio devices in legacy mode, accessed in native endian
- * - __le{16,32,64} for standard-compliant virtio devices
- */
-
-typedef __u16 __bitwise__ __virtio16;
-typedef __u32 __bitwise__ __virtio32;
-typedef __u64 __bitwise__ __virtio64;
-
-#endif /* _LINUX_VIRTIO_TYPES_H */
diff --git a/linux-headers/include/linux/vm_sockets.h b/linux-headers/include/linux/vm_sockets.h
deleted file mode 100644
index 5216014..0000000
--- a/linux-headers/include/linux/vm_sockets.h
+++ /dev/null
@@ -1,156 +0,0 @@
-/*
- * VMware vSockets Driver
- *
- * Copyright (C) 2007-2013 VMware, Inc. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms of the GNU General Public License as published by the Free
- * Software Foundation version 2 and no later version.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- */
-
-#ifndef _VM_SOCKETS_H
-#define _VM_SOCKETS_H
-
-#include <linux/socket.h>
-
-/* Option name for STREAM socket buffer size. Use as the option name in
- * setsockopt(3) or getsockopt(3) to set or get an unsigned long long that
- * specifies the size of the buffer underlying a vSockets STREAM socket.
- * Value is clamped to the MIN and MAX.
- */
-
-#define SO_VM_SOCKETS_BUFFER_SIZE 0
-
-/* Option name for STREAM socket minimum buffer size. Use as the option name
- * in setsockopt(3) or getsockopt(3) to set or get an unsigned long long that
- * specifies the minimum size allowed for the buffer underlying a vSockets
- * STREAM socket.
- */
-
-#define SO_VM_SOCKETS_BUFFER_MIN_SIZE 1
-
-/* Option name for STREAM socket maximum buffer size. Use as the option name
- * in setsockopt(3) or getsockopt(3) to set or get an unsigned long long
- * that specifies the maximum size allowed for the buffer underlying a
- * vSockets STREAM socket.
- */
-
-#define SO_VM_SOCKETS_BUFFER_MAX_SIZE 2
-
-/* Option name for socket peer's host-specific VM ID. Use as the option name
- * in getsockopt(3) to get a host-specific identifier for the peer endpoint's
- * VM. The identifier is a signed integer.
- * Only available for hypervisor endpoints.
- */
-
-#define SO_VM_SOCKETS_PEER_HOST_VM_ID 3
-
-/* Option name for determining if a socket is trusted. Use as the option name
- * in getsockopt(3) to determine if a socket is trusted. The value is a
- * signed integer.
- */
-
-#define SO_VM_SOCKETS_TRUSTED 5
-
-/* Option name for STREAM socket connection timeout. Use as the option name
- * in setsockopt(3) or getsockopt(3) to set or get the connection
- * timeout for a STREAM socket.
- */
-
-#define SO_VM_SOCKETS_CONNECT_TIMEOUT 6
-
-/* Option name for using non-blocking send/receive. Use as the option name
- * for setsockopt(3) or getsockopt(3) to set or get the non-blocking
- * transmit/receive flag for a STREAM socket. This flag determines whether
- * send() and recv() can be called in non-blocking contexts for the given
- * socket. The value is a signed integer.
- *
- * This option is only relevant to kernel endpoints, where descheduling the
- * thread of execution is not allowed, for example, while holding a spinlock.
- * It is not to be confused with conventional non-blocking socket operations.
- *
- * Only available for hypervisor endpoints.
- */
-
-#define SO_VM_SOCKETS_NONBLOCK_TXRX 7
-
-/* The vSocket equivalent of INADDR_ANY. This works for the svm_cid field of
- * sockaddr_vm and indicates the context ID of the current endpoint.
- */
-
-#define VMADDR_CID_ANY -1U
-
-/* Bind to any available port. Works for the svm_port field of
- * sockaddr_vm.
- */
-
-#define VMADDR_PORT_ANY -1U
-
-/* Use this as the destination CID in an address when referring to the
- * hypervisor. VMCI relies on it being 0, but this would be useful for other
- * transports too.
- */
-
-#define VMADDR_CID_HYPERVISOR 0
-
-/* This CID is specific to VMCI and can be considered reserved (even VMCI
- * doesn't use it anymore, it's a legacy value from an older release).
- */
-
-#define VMADDR_CID_RESERVED 1
-
-/* Use this as the destination CID in an address when referring to the host
- * (any process other than the hypervisor). VMCI relies on it being 2, but
- * this would be useful for other transports too.
- */
-
-#define VMADDR_CID_HOST 2
-
-/* Invalid vSockets version. */
-
-#define VM_SOCKETS_INVALID_VERSION -1U
-
-/* The epoch (first) component of the vSockets version. A single byte
- * representing the epoch component of the vSockets version.
- */
-
-#define VM_SOCKETS_VERSION_EPOCH(_v) (((_v) & 0xFF000000) >> 24)
-
-/* The major (second) component of the vSockets version. A single byte
- * representing the major component of the vSockets version. Typically
- * changes for every major release of a product.
- */
-
-#define VM_SOCKETS_VERSION_MAJOR(_v) (((_v) & 0x00FF0000) >> 16)
-
-/* The minor (third) component of the vSockets version. Two bytes representing
- * the minor component of the vSockets version.
- */
-
-#define VM_SOCKETS_VERSION_MINOR(_v) (((_v) & 0x0000FFFF))
-
-/* Address structure for vSockets. The address family should be set to
- * AF_VSOCK. The structure members should all align on their natural
- * boundaries without resorting to compiler packing directives. The total size
- * of this structure should be exactly the same as that of struct sockaddr.
- */
-
-struct sockaddr_vm {
- __kernel_sa_family_t svm_family;
- unsigned short svm_reserved1;
- unsigned int svm_port;
- unsigned int svm_cid;
- unsigned char svm_zero[sizeof(struct sockaddr) -
- sizeof(sa_family_t) -
- sizeof(unsigned short) -
- sizeof(unsigned int) - sizeof(unsigned int)];
-};
-
-#define IOCTL_VM_SOCKETS_GET_LOCAL_CID _IO(7, 0xb9)
-
-#endif /* _VM_SOCKETS_H */
diff --git a/linux-headers/include/linux/vt.h b/linux-headers/include/linux/vt.h
deleted file mode 100644
index 7ffa11f..0000000
--- a/linux-headers/include/linux/vt.h
+++ /dev/null
@@ -1,87 +0,0 @@
-#ifndef _LINUX_VT_H
-#define _LINUX_VT_H
-
-
-/*
- * These constants are also useful for user-level apps (e.g., VC
- * resizing).
- */
-#define MIN_NR_CONSOLES 1 /* must be at least 1 */
-#define MAX_NR_CONSOLES 63 /* serial lines start at 64 */
-#define MAX_NR_USER_CONSOLES 63 /* must be root to allocate above this */
- /* Note: the ioctl VT_GETSTATE does not work for
- consoles 16 and higher (since it returns a short) */
-
-/* 0x56 is 'V', to avoid collision with termios and kd */
-
-#define VT_OPENQRY 0x5600 /* find available vt */
-
-struct vt_mode {
- char mode; /* vt mode */
- char waitv; /* if set, hang on writes if not active */
- short relsig; /* signal to raise on release req */
- short acqsig; /* signal to raise on acquisition */
- short frsig; /* unused (set to 0) */
-};
-#define VT_GETMODE 0x5601 /* get mode of active vt */
-#define VT_SETMODE 0x5602 /* set mode of active vt */
-#define VT_AUTO 0x00 /* auto vt switching */
-#define VT_PROCESS 0x01 /* process controls switching */
-#define VT_ACKACQ 0x02 /* acknowledge switch */
-
-struct vt_stat {
- unsigned short v_active; /* active vt */
- unsigned short v_signal; /* signal to send */
- unsigned short v_state; /* vt bitmask */
-};
-#define VT_GETSTATE 0x5603 /* get global vt state info */
-#define VT_SENDSIG 0x5604 /* signal to send to bitmask of vts */
-
-#define VT_RELDISP 0x5605 /* release display */
-
-#define VT_ACTIVATE 0x5606 /* make vt active */
-#define VT_WAITACTIVE 0x5607 /* wait for vt active */
-#define VT_DISALLOCATE 0x5608 /* free memory associated to vt */
-
-struct vt_sizes {
- unsigned short v_rows; /* number of rows */
- unsigned short v_cols; /* number of columns */
- unsigned short v_scrollsize; /* number of lines of scrollback */
-};
-#define VT_RESIZE 0x5609 /* set kernel's idea of screensize */
-
-struct vt_consize {
- unsigned short v_rows; /* number of rows */
- unsigned short v_cols; /* number of columns */
- unsigned short v_vlin; /* number of pixel rows on screen */
- unsigned short v_clin; /* number of pixel rows per character */
- unsigned short v_vcol; /* number of pixel columns on screen */
- unsigned short v_ccol; /* number of pixel columns per character */
-};
-#define VT_RESIZEX 0x560A /* set kernel's idea of screensize + more */
-#define VT_LOCKSWITCH 0x560B /* disallow vt switching */
-#define VT_UNLOCKSWITCH 0x560C /* allow vt switching */
-#define VT_GETHIFONTMASK 0x560D /* return hi font mask */
-
-struct vt_event {
- unsigned int event;
-#define VT_EVENT_SWITCH 0x0001 /* Console switch */
-#define VT_EVENT_BLANK 0x0002 /* Screen blank */
-#define VT_EVENT_UNBLANK 0x0004 /* Screen unblank */
-#define VT_EVENT_RESIZE 0x0008 /* Resize display */
-#define VT_MAX_EVENT 0x000F
- unsigned int oldev; /* Old console */
- unsigned int newev; /* New console (if changing) */
- unsigned int pad[4]; /* Padding for expansion */
-};
-
-#define VT_WAITEVENT 0x560E /* Wait for an event */
-
-struct vt_setactivate {
- unsigned int console;
- struct vt_mode mode;
-};
-
-#define VT_SETACTIVATE 0x560F /* Activate and set the mode of a console */
-
-#endif /* _LINUX_VT_H */
diff --git a/linux-headers/include/linux/wait.h b/linux-headers/include/linux/wait.h
deleted file mode 100644
index bb88233..0000000
--- a/linux-headers/include/linux/wait.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _LINUX_WAIT_H
-#define _LINUX_WAIT_H
-
-#define WNOHANG 0x00000001
-#define WUNTRACED 0x00000002
-#define WSTOPPED WUNTRACED
-#define WEXITED 0x00000004
-#define WCONTINUED 0x00000008
-#define WNOWAIT 0x01000000 /* Don't reap, just poll status. */
-
-#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads in this group */
-#define __WALL 0x40000000 /* Wait on all children, regardless of type */
-#define __WCLONE 0x80000000 /* Wait only on non-SIGCHLD children */
-
-/* First argument to waitid: */
-#define P_ALL 0
-#define P_PID 1
-#define P_PGID 2
-
-
-#endif /* _LINUX_WAIT_H */
diff --git a/linux-headers/include/linux/wanrouter.h b/linux-headers/include/linux/wanrouter.h
deleted file mode 100644
index cc61950..0000000
--- a/linux-headers/include/linux/wanrouter.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/*
- * wanrouter.h Legacy declarations kept around until X25 is removed
- */
-
-#ifndef _ROUTER_H
-#define _ROUTER_H
-
-/* 'state' defines */
-enum wan_states
-{
- WAN_UNCONFIGURED, /* link/channel is not configured */
- WAN_DISCONNECTED, /* link/channel is disconnected */
- WAN_CONNECTING, /* connection is in progress */
- WAN_CONNECTED /* link/channel is operational */
-};
-
-#endif /* _ROUTER_H */
diff --git a/linux-headers/include/linux/watchdog.h b/linux-headers/include/linux/watchdog.h
deleted file mode 100644
index a89ed11..0000000
--- a/linux-headers/include/linux/watchdog.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Generic watchdog defines. Derived from..
- *
- * Berkshire PC Watchdog Defines
- * by Ken Hollis <khollis@bitgate.com>
- *
- */
-
-#ifndef _LINUX_WATCHDOG_H
-#define _LINUX_WATCHDOG_H
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-#define WATCHDOG_IOCTL_BASE 'W'
-
-struct watchdog_info {
- __u32 options; /* Options the card/driver supports */
- __u32 firmware_version; /* Firmware version of the card */
- __u8 identity[32]; /* Identity of the board */
-};
-
-#define WDIOC_GETSUPPORT _IOR(WATCHDOG_IOCTL_BASE, 0, struct watchdog_info)
-#define WDIOC_GETSTATUS _IOR(WATCHDOG_IOCTL_BASE, 1, int)
-#define WDIOC_GETBOOTSTATUS _IOR(WATCHDOG_IOCTL_BASE, 2, int)
-#define WDIOC_GETTEMP _IOR(WATCHDOG_IOCTL_BASE, 3, int)
-#define WDIOC_SETOPTIONS _IOR(WATCHDOG_IOCTL_BASE, 4, int)
-#define WDIOC_KEEPALIVE _IOR(WATCHDOG_IOCTL_BASE, 5, int)
-#define WDIOC_SETTIMEOUT _IOWR(WATCHDOG_IOCTL_BASE, 6, int)
-#define WDIOC_GETTIMEOUT _IOR(WATCHDOG_IOCTL_BASE, 7, int)
-#define WDIOC_SETPRETIMEOUT _IOWR(WATCHDOG_IOCTL_BASE, 8, int)
-#define WDIOC_GETPRETIMEOUT _IOR(WATCHDOG_IOCTL_BASE, 9, int)
-#define WDIOC_GETTIMELEFT _IOR(WATCHDOG_IOCTL_BASE, 10, int)
-
-#define WDIOF_UNKNOWN -1 /* Unknown flag error */
-#define WDIOS_UNKNOWN -1 /* Unknown status error */
-
-#define WDIOF_OVERHEAT 0x0001 /* Reset due to CPU overheat */
-#define WDIOF_FANFAULT 0x0002 /* Fan failed */
-#define WDIOF_EXTERN1 0x0004 /* External relay 1 */
-#define WDIOF_EXTERN2 0x0008 /* External relay 2 */
-#define WDIOF_POWERUNDER 0x0010 /* Power bad/power fault */
-#define WDIOF_CARDRESET 0x0020 /* Card previously reset the CPU */
-#define WDIOF_POWEROVER 0x0040 /* Power over voltage */
-#define WDIOF_SETTIMEOUT 0x0080 /* Set timeout (in seconds) */
-#define WDIOF_MAGICCLOSE 0x0100 /* Supports magic close char */
-#define WDIOF_PRETIMEOUT 0x0200 /* Pretimeout (in seconds), get/set */
-#define WDIOF_ALARMONLY 0x0400 /* Watchdog triggers a management or
- other external alarm not a reboot */
-#define WDIOF_KEEPALIVEPING 0x8000 /* Keep alive ping reply */
-
-#define WDIOS_DISABLECARD 0x0001 /* Turn off the watchdog timer */
-#define WDIOS_ENABLECARD 0x0002 /* Turn on the watchdog timer */
-#define WDIOS_TEMPPANIC 0x0004 /* Kernel panic on temperature trip */
-
-
-#endif /* _LINUX_WATCHDOG_H */
diff --git a/linux-headers/include/linux/wimax.h b/linux-headers/include/linux/wimax.h
deleted file mode 100644
index 9f6b77a..0000000
--- a/linux-headers/include/linux/wimax.h
+++ /dev/null
@@ -1,239 +0,0 @@
-/*
- * Linux WiMax
- * API for user space
- *
- *
- * Copyright (C) 2007-2008 Intel Corporation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Intel Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *
- * Intel Corporation <linux-wimax@intel.com>
- * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
- * - Initial implementation
- *
- *
- * This file declares the user/kernel protocol that is spoken over
- * Generic Netlink, as well as any type declaration that is to be used
- * by kernel and user space.
- *
- * It is intended for user space to clone it verbatim to use it as a
- * primary reference for definitions.
- *
- * Stuff intended for kernel usage as well as full protocol and stack
- * documentation is rooted in include/net/wimax.h.
- */
-
-#ifndef __LINUX__WIMAX_H__
-#define __LINUX__WIMAX_H__
-
-#include <linux/types.h>
-
-enum {
- /**
- * Version of the interface (unsigned decimal, MMm, max 25.5)
- * M - Major: change if removing or modifying an existing call.
- * m - minor: change when adding a new call
- */
- WIMAX_GNL_VERSION = 01,
- /* Generic NetLink attributes */
- WIMAX_GNL_ATTR_INVALID = 0x00,
- WIMAX_GNL_ATTR_MAX = 10,
-};
-
-
-/*
- * Generic NetLink operations
- *
- * Most of these map to an API call; _OP_ stands for operation, _RP_
- * for reply and _RE_ for report (aka: signal).
- */
-enum {
- WIMAX_GNL_OP_MSG_FROM_USER, /* User to kernel message */
- WIMAX_GNL_OP_MSG_TO_USER, /* Kernel to user message */
- WIMAX_GNL_OP_RFKILL, /* Run wimax_rfkill() */
- WIMAX_GNL_OP_RESET, /* Run wimax_rfkill() */
- WIMAX_GNL_RE_STATE_CHANGE, /* Report: status change */
- WIMAX_GNL_OP_STATE_GET, /* Request for current state */
-};
-
-
-/* Message from user / to user */
-enum {
- WIMAX_GNL_MSG_IFIDX = 1,
- WIMAX_GNL_MSG_PIPE_NAME,
- WIMAX_GNL_MSG_DATA,
-};
-
-
-/*
- * wimax_rfkill()
- *
- * The state of the radio (ON/OFF) is mapped to the rfkill subsystem's
- * switch state (DISABLED/ENABLED).
- */
-enum wimax_rf_state {
- WIMAX_RF_OFF = 0, /* Radio is off, rfkill on/enabled */
- WIMAX_RF_ON = 1, /* Radio is on, rfkill off/disabled */
- WIMAX_RF_QUERY = 2,
-};
-
-/* Attributes */
-enum {
- WIMAX_GNL_RFKILL_IFIDX = 1,
- WIMAX_GNL_RFKILL_STATE,
-};
-
-
-/* Attributes for wimax_reset() */
-enum {
- WIMAX_GNL_RESET_IFIDX = 1,
-};
-
-/* Attributes for wimax_state_get() */
-enum {
- WIMAX_GNL_STGET_IFIDX = 1,
-};
-
-/*
- * Attributes for the Report State Change
- *
- * For now we just have the old and new states; new attributes might
- * be added later on.
- */
-enum {
- WIMAX_GNL_STCH_IFIDX = 1,
- WIMAX_GNL_STCH_STATE_OLD,
- WIMAX_GNL_STCH_STATE_NEW,
-};
-
-
-/**
- * enum wimax_st - The different states of a WiMAX device
- * @__WIMAX_ST_NULL: The device structure has been allocated and zeroed,
- * but still wimax_dev_add() hasn't been called. There is no state.
- *
- * @WIMAX_ST_DOWN: The device has been registered with the WiMAX and
- * networking stacks, but it is not initialized (normally that is
- * done with 'ifconfig DEV up' [or equivalent], which can upload
- * firmware and enable communications with the device).
- * In this state, the device is powered down and using as less
- * power as possible.
- * This state is the default after a call to wimax_dev_add(). It
- * is ok to have drivers move directly to %WIMAX_ST_UNINITIALIZED
- * or %WIMAX_ST_RADIO_OFF in _probe() after the call to
- * wimax_dev_add().
- * It is recommended that the driver leaves this state when
- * calling 'ifconfig DEV up' and enters it back on 'ifconfig DEV
- * down'.
- *
- * @__WIMAX_ST_QUIESCING: The device is being torn down, so no API
- * operations are allowed to proceed except the ones needed to
- * complete the device clean up process.
- *
- * @WIMAX_ST_UNINITIALIZED: [optional] Communication with the device
- * is setup, but the device still requires some configuration
- * before being operational.
- * Some WiMAX API calls might work.
- *
- * @WIMAX_ST_RADIO_OFF: The device is fully up; radio is off (wether
- * by hardware or software switches).
- * It is recommended to always leave the device in this state
- * after initialization.
- *
- * @WIMAX_ST_READY: The device is fully up and radio is on.
- *
- * @WIMAX_ST_SCANNING: [optional] The device has been instructed to
- * scan. In this state, the device cannot be actively connected to
- * a network.
- *
- * @WIMAX_ST_CONNECTING: The device is connecting to a network. This
- * state exists because in some devices, the connect process can
- * include a number of negotiations between user space, kernel
- * space and the device. User space needs to know what the device
- * is doing. If the connect sequence in a device is atomic and
- * fast, the device can transition directly to CONNECTED
- *
- * @WIMAX_ST_CONNECTED: The device is connected to a network.
- *
- * @__WIMAX_ST_INVALID: This is an invalid state used to mark the
- * maximum numeric value of states.
- *
- * Description:
- *
- * Transitions from one state to another one are atomic and can only
- * be caused in kernel space with wimax_state_change(). To read the
- * state, use wimax_state_get().
- *
- * States starting with __ are internal and shall not be used or
- * referred to by drivers or userspace. They look ugly, but that's the
- * point -- if any use is made non-internal to the stack, it is easier
- * to catch on review.
- *
- * All API operations [with well defined exceptions] will take the
- * device mutex before starting and then check the state. If the state
- * is %__WIMAX_ST_NULL, %WIMAX_ST_DOWN, %WIMAX_ST_UNINITIALIZED or
- * %__WIMAX_ST_QUIESCING, it will drop the lock and quit with
- * -%EINVAL, -%ENOMEDIUM, -%ENOTCONN or -%ESHUTDOWN.
- *
- * The order of the definitions is important, so we can do numerical
- * comparisons (eg: < %WIMAX_ST_RADIO_OFF means the device is not ready
- * to operate).
- */
-/*
- * The allowed state transitions are described in the table below
- * (states in rows can go to states in columns where there is an X):
- *
- * UNINI RADIO READY SCAN CONNEC CONNEC
- * NULL DOWN QUIESCING TIALIZED OFF NING TING TED
- * NULL - x
- * DOWN - x x x
- * QUIESCING x -
- * UNINITIALIZED x - x
- * RADIO_OFF x - x
- * READY x x - x x x
- * SCANNING x x x - x x
- * CONNECTING x x x x - x
- * CONNECTED x x x -
- *
- * This table not available in kernel-doc because the formatting messes it up.
- */
- enum wimax_st {
- __WIMAX_ST_NULL = 0,
- WIMAX_ST_DOWN,
- __WIMAX_ST_QUIESCING,
- WIMAX_ST_UNINITIALIZED,
- WIMAX_ST_RADIO_OFF,
- WIMAX_ST_READY,
- WIMAX_ST_SCANNING,
- WIMAX_ST_CONNECTING,
- WIMAX_ST_CONNECTED,
- __WIMAX_ST_INVALID /* Always keep last */
-};
-
-
-#endif /* #ifndef __LINUX__WIMAX_H__ */
diff --git a/linux-headers/include/linux/wimax/i2400m.h b/linux-headers/include/linux/wimax/i2400m.h
deleted file mode 100644
index fd198bc..0000000
--- a/linux-headers/include/linux/wimax/i2400m.h
+++ /dev/null
@@ -1,572 +0,0 @@
-/*
- * Intel Wireless WiMax Connection 2400m
- * Host-Device protocol interface definitions
- *
- *
- * Copyright (C) 2007-2008 Intel Corporation. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * * Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * * Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * * Neither the name of Intel Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- *
- * Intel Corporation <linux-wimax@intel.com>
- * Inaky Perez-Gonzalez <inaky.perez-gonzalez@intel.com>
- * - Initial implementation
- *
- *
- * This header defines the data structures and constants used to
- * communicate with the device.
- *
- * BOOTMODE/BOOTROM/FIRMWARE UPLOAD PROTOCOL
- *
- * The firmware upload protocol is quite simple and only requires a
- * handful of commands. See drivers/net/wimax/i2400m/fw.c for more
- * details.
- *
- * The BCF data structure is for the firmware file header.
- *
- *
- * THE DATA / CONTROL PROTOCOL
- *
- * This is the normal protocol spoken with the device once the
- * firmware is uploaded. It transports data payloads and control
- * messages back and forth.
- *
- * It consists 'messages' that pack one or more payloads each. The
- * format is described in detail in drivers/net/wimax/i2400m/rx.c and
- * tx.c.
- *
- *
- * THE L3L4 PROTOCOL
- *
- * The term L3L4 refers to Layer 3 (the device), Layer 4 (the
- * driver/host software).
- *
- * This is the control protocol used by the host to control the i2400m
- * device (scan, connect, disconnect...). This is sent to / received
- * as control frames. These frames consist of a header and zero or
- * more TLVs with information. We call each control frame a "message".
- *
- * Each message is composed of:
- *
- * HEADER
- * [TLV0 + PAYLOAD0]
- * [TLV1 + PAYLOAD1]
- * [...]
- * [TLVN + PAYLOADN]
- *
- * The HEADER is defined by 'struct i2400m_l3l4_hdr'. The payloads are
- * defined by a TLV structure (Type Length Value) which is a 'header'
- * (struct i2400m_tlv_hdr) and then the payload.
- *
- * All integers are represented as Little Endian.
- *
- * - REQUESTS AND EVENTS
- *
- * The requests can be clasified as follows:
- *
- * COMMAND: implies a request from the host to the device requesting
- * an action being performed. The device will reply with a
- * message (with the same type as the command), status and
- * no (TLV) payload. Execution of a command might cause
- * events (of different type) to be sent later on as
- * device's state changes.
- *
- * GET/SET: similar to COMMAND, but will not cause other
- * EVENTs. The reply, in the case of GET, will contain
- * TLVs with the requested information.
- *
- * EVENT: asynchronous messages sent from the device, maybe as a
- * consequence of previous COMMANDs but disassociated from
- * them.
- *
- * Only one request might be pending at the same time (ie: don't
- * parallelize nor post another GET request before the previous
- * COMMAND has been acknowledged with it's corresponding reply by the
- * device).
- *
- * The different requests and their formats are described below:
- *
- * I2400M_MT_* Message types
- * I2400M_MS_* Message status (for replies, events)
- * i2400m_tlv_* TLVs
- *
- * data types are named 'struct i2400m_msg_OPNAME', OPNAME matching the
- * operation.
- */
-
-#ifndef __LINUX__WIMAX__I2400M_H__
-#define __LINUX__WIMAX__I2400M_H__
-
-#include <linux/types.h>
-#include <linux/if_ether.h>
-
-/*
- * Host Device Interface (HDI) common to all busses
- */
-
-/* Boot-mode (firmware upload mode) commands */
-
-/* Header for the firmware file */
-struct i2400m_bcf_hdr {
- __le32 module_type;
- __le32 header_len;
- __le32 header_version;
- __le32 module_id;
- __le32 module_vendor;
- __le32 date; /* BCD YYYMMDD */
- __le32 size; /* in dwords */
- __le32 key_size; /* in dwords */
- __le32 modulus_size; /* in dwords */
- __le32 exponent_size; /* in dwords */
- __u8 reserved[88];
-} __attribute__ ((packed));
-
-/* Boot mode opcodes */
-enum i2400m_brh_opcode {
- I2400M_BRH_READ = 1,
- I2400M_BRH_WRITE = 2,
- I2400M_BRH_JUMP = 3,
- I2400M_BRH_SIGNED_JUMP = 8,
- I2400M_BRH_HASH_PAYLOAD_ONLY = 9,
-};
-
-/* Boot mode command masks and stuff */
-enum i2400m_brh {
- I2400M_BRH_SIGNATURE = 0xcbbc0000,
- I2400M_BRH_SIGNATURE_MASK = 0xffff0000,
- I2400M_BRH_SIGNATURE_SHIFT = 16,
- I2400M_BRH_OPCODE_MASK = 0x0000000f,
- I2400M_BRH_RESPONSE_MASK = 0x000000f0,
- I2400M_BRH_RESPONSE_SHIFT = 4,
- I2400M_BRH_DIRECT_ACCESS = 0x00000400,
- I2400M_BRH_RESPONSE_REQUIRED = 0x00000200,
- I2400M_BRH_USE_CHECKSUM = 0x00000100,
-};
-
-
-/**
- * i2400m_bootrom_header - Header for a boot-mode command
- *
- * @cmd: the above command descriptor
- * @target_addr: where on the device memory should the action be performed.
- * @data_size: for read/write, amount of data to be read/written
- * @block_checksum: checksum value (if applicable)
- * @payload: the beginning of data attached to this header
- */
-struct i2400m_bootrom_header {
- __le32 command; /* Compose with enum i2400_brh */
- __le32 target_addr;
- __le32 data_size;
- __le32 block_checksum;
- char payload[0];
-} __attribute__ ((packed));
-
-
-/*
- * Data / control protocol
- */
-
-/* Packet types for the host-device interface */
-enum i2400m_pt {
- I2400M_PT_DATA = 0,
- I2400M_PT_CTRL,
- I2400M_PT_TRACE, /* For device debug */
- I2400M_PT_RESET_WARM, /* device reset */
- I2400M_PT_RESET_COLD, /* USB[transport] reset, like reconnect */
- I2400M_PT_EDATA, /* Extended RX data */
- I2400M_PT_ILLEGAL
-};
-
-
-/*
- * Payload for a data packet
- *
- * This is prefixed to each and every outgoing DATA type.
- */
-struct i2400m_pl_data_hdr {
- __le32 reserved;
-} __attribute__((packed));
-
-
-/*
- * Payload for an extended data packet
- *
- * New in fw v1.4
- *
- * @reorder: if this payload has to be reorder or not (and how)
- * @cs: the type of data in the packet, as defined per (802.16e
- * T11.13.19.1). Currently only 2 (IPv4 packet) supported.
- *
- * This is prefixed to each and every INCOMING DATA packet.
- */
-struct i2400m_pl_edata_hdr {
- __le32 reorder; /* bits defined in i2400m_ro */
- __u8 cs;
- __u8 reserved[11];
-} __attribute__((packed));
-
-enum i2400m_cs {
- I2400M_CS_IPV4_0 = 0,
- I2400M_CS_IPV4 = 2,
-};
-
-enum i2400m_ro {
- I2400M_RO_NEEDED = 0x01,
- I2400M_RO_TYPE = 0x03,
- I2400M_RO_TYPE_SHIFT = 1,
- I2400M_RO_CIN = 0x0f,
- I2400M_RO_CIN_SHIFT = 4,
- I2400M_RO_FBN = 0x07ff,
- I2400M_RO_FBN_SHIFT = 8,
- I2400M_RO_SN = 0x07ff,
- I2400M_RO_SN_SHIFT = 21,
-};
-
-enum i2400m_ro_type {
- I2400M_RO_TYPE_RESET = 0,
- I2400M_RO_TYPE_PACKET,
- I2400M_RO_TYPE_WS,
- I2400M_RO_TYPE_PACKET_WS,
-};
-
-
-/* Misc constants */
-enum {
- I2400M_PL_ALIGN = 16, /* Payload data size alignment */
- I2400M_PL_SIZE_MAX = 0x3EFF,
- I2400M_MAX_PLS_IN_MSG = 60,
- /* protocol barkers: sync sequences; for notifications they
- * are sent in groups of four. */
- I2400M_H2D_PREVIEW_BARKER = 0xcafe900d,
- I2400M_COLD_RESET_BARKER = 0xc01dc01d,
- I2400M_WARM_RESET_BARKER = 0x50f750f7,
- I2400M_NBOOT_BARKER = 0xdeadbeef,
- I2400M_SBOOT_BARKER = 0x0ff1c1a1,
- I2400M_SBOOT_BARKER_6050 = 0x80000001,
- I2400M_ACK_BARKER = 0xfeedbabe,
- I2400M_D2H_MSG_BARKER = 0xbeefbabe,
-};
-
-
-/*
- * Hardware payload descriptor
- *
- * Bitfields encoded in a struct to enforce typing semantics.
- *
- * Look in rx.c and tx.c for a full description of the format.
- */
-struct i2400m_pld {
- __le32 val;
-} __attribute__ ((packed));
-
-#define I2400M_PLD_SIZE_MASK 0x00003fff
-#define I2400M_PLD_TYPE_SHIFT 16
-#define I2400M_PLD_TYPE_MASK 0x000f0000
-
-/*
- * Header for a TX message or RX message
- *
- * @barker: preamble
- * @size: used for management of the FIFO queue buffer; before
- * sending, this is converted to be a real preamble. This
- * indicates the real size of the TX message that starts at this
- * point. If the highest bit is set, then this message is to be
- * skipped.
- * @sequence: sequence number of this message
- * @offset: offset where the message itself starts -- see the comments
- * in the file header about message header and payload descriptor
- * alignment.
- * @num_pls: number of payloads in this message
- * @padding: amount of padding bytes at the end of the message to make
- * it be of block-size aligned
- *
- * Look in rx.c and tx.c for a full description of the format.
- */
-struct i2400m_msg_hdr {
- union {
- __le32 barker;
- __u32 size; /* same size type as barker!! */
- };
- union {
- __le32 sequence;
- __u32 offset; /* same size type as barker!! */
- };
- __le16 num_pls;
- __le16 rsv1;
- __le16 padding;
- __le16 rsv2;
- struct i2400m_pld pld[0];
-} __attribute__ ((packed));
-
-
-
-/*
- * L3/L4 control protocol
- */
-
-enum {
- /* Interface version */
- I2400M_L3L4_VERSION = 0x0100,
-};
-
-/* Message types */
-enum i2400m_mt {
- I2400M_MT_RESERVED = 0x0000,
- I2400M_MT_INVALID = 0xffff,
- I2400M_MT_REPORT_MASK = 0x8000,
-
- I2400M_MT_GET_SCAN_RESULT = 0x4202,
- I2400M_MT_SET_SCAN_PARAM = 0x4402,
- I2400M_MT_CMD_RF_CONTROL = 0x4602,
- I2400M_MT_CMD_SCAN = 0x4603,
- I2400M_MT_CMD_CONNECT = 0x4604,
- I2400M_MT_CMD_DISCONNECT = 0x4605,
- I2400M_MT_CMD_EXIT_IDLE = 0x4606,
- I2400M_MT_GET_LM_VERSION = 0x5201,
- I2400M_MT_GET_DEVICE_INFO = 0x5202,
- I2400M_MT_GET_LINK_STATUS = 0x5203,
- I2400M_MT_GET_STATISTICS = 0x5204,
- I2400M_MT_GET_STATE = 0x5205,
- I2400M_MT_GET_MEDIA_STATUS = 0x5206,
- I2400M_MT_SET_INIT_CONFIG = 0x5404,
- I2400M_MT_CMD_INIT = 0x5601,
- I2400M_MT_CMD_TERMINATE = 0x5602,
- I2400M_MT_CMD_MODE_OF_OP = 0x5603,
- I2400M_MT_CMD_RESET_DEVICE = 0x5604,
- I2400M_MT_CMD_MONITOR_CONTROL = 0x5605,
- I2400M_MT_CMD_ENTER_POWERSAVE = 0x5606,
- I2400M_MT_GET_TLS_OPERATION_RESULT = 0x6201,
- I2400M_MT_SET_EAP_SUCCESS = 0x6402,
- I2400M_MT_SET_EAP_FAIL = 0x6403,
- I2400M_MT_SET_EAP_KEY = 0x6404,
- I2400M_MT_CMD_SEND_EAP_RESPONSE = 0x6602,
- I2400M_MT_REPORT_SCAN_RESULT = 0xc002,
- I2400M_MT_REPORT_STATE = 0xd002,
- I2400M_MT_REPORT_POWERSAVE_READY = 0xd005,
- I2400M_MT_REPORT_EAP_REQUEST = 0xe002,
- I2400M_MT_REPORT_EAP_RESTART = 0xe003,
- I2400M_MT_REPORT_ALT_ACCEPT = 0xe004,
- I2400M_MT_REPORT_KEY_REQUEST = 0xe005,
-};
-
-
-/*
- * Message Ack Status codes
- *
- * When a message is replied-to, this status is reported.
- */
-enum i2400m_ms {
- I2400M_MS_DONE_OK = 0,
- I2400M_MS_DONE_IN_PROGRESS = 1,
- I2400M_MS_INVALID_OP = 2,
- I2400M_MS_BAD_STATE = 3,
- I2400M_MS_ILLEGAL_VALUE = 4,
- I2400M_MS_MISSING_PARAMS = 5,
- I2400M_MS_VERSION_ERROR = 6,
- I2400M_MS_ACCESSIBILITY_ERROR = 7,
- I2400M_MS_BUSY = 8,
- I2400M_MS_CORRUPTED_TLV = 9,
- I2400M_MS_UNINITIALIZED = 10,
- I2400M_MS_UNKNOWN_ERROR = 11,
- I2400M_MS_PRODUCTION_ERROR = 12,
- I2400M_MS_NO_RF = 13,
- I2400M_MS_NOT_READY_FOR_POWERSAVE = 14,
- I2400M_MS_THERMAL_CRITICAL = 15,
- I2400M_MS_MAX
-};
-
-
-/**
- * i2400m_tlv - enumeration of the different types of TLVs
- *
- * TLVs stand for type-length-value and are the header for a payload
- * composed of almost anything. Each payload has a type assigned
- * and a length.
- */
-enum i2400m_tlv {
- I2400M_TLV_L4_MESSAGE_VERSIONS = 129,
- I2400M_TLV_SYSTEM_STATE = 141,
- I2400M_TLV_MEDIA_STATUS = 161,
- I2400M_TLV_RF_OPERATION = 162,
- I2400M_TLV_RF_STATUS = 163,
- I2400M_TLV_DEVICE_RESET_TYPE = 132,
- I2400M_TLV_CONFIG_IDLE_PARAMETERS = 601,
- I2400M_TLV_CONFIG_IDLE_TIMEOUT = 611,
- I2400M_TLV_CONFIG_D2H_DATA_FORMAT = 614,
- I2400M_TLV_CONFIG_DL_HOST_REORDER = 615,
-};
-
-
-struct i2400m_tlv_hdr {
- __le16 type;
- __le16 length; /* payload's */
- __u8 pl[0];
-} __attribute__((packed));
-
-
-struct i2400m_l3l4_hdr {
- __le16 type;
- __le16 length; /* payload's */
- __le16 version;
- __le16 resv1;
- __le16 status;
- __le16 resv2;
- struct i2400m_tlv_hdr pl[0];
-} __attribute__((packed));
-
-
-/**
- * i2400m_system_state - different states of the device
- */
-enum i2400m_system_state {
- I2400M_SS_UNINITIALIZED = 1,
- I2400M_SS_INIT,
- I2400M_SS_READY,
- I2400M_SS_SCAN,
- I2400M_SS_STANDBY,
- I2400M_SS_CONNECTING,
- I2400M_SS_WIMAX_CONNECTED,
- I2400M_SS_DATA_PATH_CONNECTED,
- I2400M_SS_IDLE,
- I2400M_SS_DISCONNECTING,
- I2400M_SS_OUT_OF_ZONE,
- I2400M_SS_SLEEPACTIVE,
- I2400M_SS_PRODUCTION,
- I2400M_SS_CONFIG,
- I2400M_SS_RF_OFF,
- I2400M_SS_RF_SHUTDOWN,
- I2400M_SS_DEVICE_DISCONNECT,
- I2400M_SS_MAX,
-};
-
-
-/**
- * i2400m_tlv_system_state - report on the state of the system
- *
- * @state: see enum i2400m_system_state
- */
-struct i2400m_tlv_system_state {
- struct i2400m_tlv_hdr hdr;
- __le32 state;
-} __attribute__((packed));
-
-
-struct i2400m_tlv_l4_message_versions {
- struct i2400m_tlv_hdr hdr;
- __le16 major;
- __le16 minor;
- __le16 branch;
- __le16 reserved;
-} __attribute__((packed));
-
-
-struct i2400m_tlv_detailed_device_info {
- struct i2400m_tlv_hdr hdr;
- __u8 reserved1[400];
- __u8 mac_address[ETH_ALEN];
- __u8 reserved2[2];
-} __attribute__((packed));
-
-
-enum i2400m_rf_switch_status {
- I2400M_RF_SWITCH_ON = 1,
- I2400M_RF_SWITCH_OFF = 2,
-};
-
-struct i2400m_tlv_rf_switches_status {
- struct i2400m_tlv_hdr hdr;
- __u8 sw_rf_switch; /* 1 ON, 2 OFF */
- __u8 hw_rf_switch; /* 1 ON, 2 OFF */
- __u8 reserved[2];
-} __attribute__((packed));
-
-
-enum {
- i2400m_rf_operation_on = 1,
- i2400m_rf_operation_off = 2
-};
-
-struct i2400m_tlv_rf_operation {
- struct i2400m_tlv_hdr hdr;
- __le32 status; /* 1 ON, 2 OFF */
-} __attribute__((packed));
-
-
-enum i2400m_tlv_reset_type {
- I2400M_RESET_TYPE_COLD = 1,
- I2400M_RESET_TYPE_WARM
-};
-
-struct i2400m_tlv_device_reset_type {
- struct i2400m_tlv_hdr hdr;
- __le32 reset_type;
-} __attribute__((packed));
-
-
-struct i2400m_tlv_config_idle_parameters {
- struct i2400m_tlv_hdr hdr;
- __le32 idle_timeout; /* 100 to 300000 ms [5min], 100 increments
- * 0 disabled */
- __le32 idle_paging_interval; /* frames */
-} __attribute__((packed));
-
-
-enum i2400m_media_status {
- I2400M_MEDIA_STATUS_LINK_UP = 1,
- I2400M_MEDIA_STATUS_LINK_DOWN,
- I2400M_MEDIA_STATUS_LINK_RENEW,
-};
-
-struct i2400m_tlv_media_status {
- struct i2400m_tlv_hdr hdr;
- __le32 media_status;
-} __attribute__((packed));
-
-
-/* New in v1.4 */
-struct i2400m_tlv_config_idle_timeout {
- struct i2400m_tlv_hdr hdr;
- __le32 timeout; /* 100 to 300000 ms [5min], 100 increments
- * 0 disabled */
-} __attribute__((packed));
-
-/* New in v1.4 -- for backward compat, will be removed */
-struct i2400m_tlv_config_d2h_data_format {
- struct i2400m_tlv_hdr hdr;
- __u8 format; /* 0 old format, 1 enhanced */
- __u8 reserved[3];
-} __attribute__((packed));
-
-/* New in v1.4 */
-struct i2400m_tlv_config_dl_host_reorder {
- struct i2400m_tlv_hdr hdr;
- __u8 reorder; /* 0 disabled, 1 enabled */
- __u8 reserved[3];
-} __attribute__((packed));
-
-
-#endif /* #ifndef __LINUX__WIMAX__I2400M_H__ */
diff --git a/linux-headers/include/linux/wireless.h b/linux-headers/include/linux/wireless.h
deleted file mode 100644
index ad9839f..0000000
--- a/linux-headers/include/linux/wireless.h
+++ /dev/null
@@ -1,1128 +0,0 @@
-/*
- * This file define a set of standard wireless extensions
- *
- * Version : 22 16.3.07
- *
- * Authors : Jean Tourrilhes - HPL - <jt@hpl.hp.com>
- * Copyright (c) 1997-2007 Jean Tourrilhes, All Rights Reserved.
- */
-
-#ifndef _LINUX_WIRELESS_H
-#define _LINUX_WIRELESS_H
-
-/************************** DOCUMENTATION **************************/
-/*
- * Initial APIs (1996 -> onward) :
- * -----------------------------
- * Basically, the wireless extensions are for now a set of standard ioctl
- * call + /proc/net/wireless
- *
- * The entry /proc/net/wireless give statistics and information on the
- * driver.
- * This is better than having each driver having its entry because
- * its centralised and we may remove the driver module safely.
- *
- * Ioctl are used to configure the driver and issue commands. This is
- * better than command line options of insmod because we may want to
- * change dynamically (while the driver is running) some parameters.
- *
- * The ioctl mechanimsm are copied from standard devices ioctl.
- * We have the list of command plus a structure descibing the
- * data exchanged...
- * Note that to add these ioctl, I was obliged to modify :
- * # net/core/dev.c (two place + add include)
- * # net/ipv4/af_inet.c (one place + add include)
- *
- * /proc/net/wireless is a copy of /proc/net/dev.
- * We have a structure for data passed from the driver to /proc/net/wireless
- * Too add this, I've modified :
- * # net/core/dev.c (two other places)
- * # include/linux/netdevice.h (one place)
- * # include/linux/proc_fs.h (one place)
- *
- * New driver API (2002 -> onward) :
- * -------------------------------
- * This file is only concerned with the user space API and common definitions.
- * The new driver API is defined and documented in :
- * # include/net/iw_handler.h
- *
- * Note as well that /proc/net/wireless implementation has now moved in :
- * # net/core/wireless.c
- *
- * Wireless Events (2002 -> onward) :
- * --------------------------------
- * Events are defined at the end of this file, and implemented in :
- * # net/core/wireless.c
- *
- * Other comments :
- * --------------
- * Do not add here things that are redundant with other mechanisms
- * (drivers init, ifconfig, /proc/net/dev, ...) and with are not
- * wireless specific.
- *
- * These wireless extensions are not magic : each driver has to provide
- * support for them...
- *
- * IMPORTANT NOTE : As everything in the kernel, this is very much a
- * work in progress. Contact me if you have ideas of improvements...
- */
-
-/***************************** INCLUDES *****************************/
-
-#include <linux/types.h> /* for __u* and __s* typedefs */
-#include <linux/socket.h> /* for "struct sockaddr" et al */
-#include <linux/if.h> /* for IFNAMSIZ and co... */
-
-/***************************** VERSION *****************************/
-/*
- * This constant is used to know the availability of the wireless
- * extensions and to know which version of wireless extensions it is
- * (there is some stuff that will be added in the future...)
- * I just plan to increment with each new version.
- */
-#define WIRELESS_EXT 22
-
-/*
- * Changes :
- *
- * V2 to V3
- * --------
- * Alan Cox start some incompatibles changes. I've integrated a bit more.
- * - Encryption renamed to Encode to avoid US regulation problems
- * - Frequency changed from float to struct to avoid problems on old 386
- *
- * V3 to V4
- * --------
- * - Add sensitivity
- *
- * V4 to V5
- * --------
- * - Missing encoding definitions in range
- * - Access points stuff
- *
- * V5 to V6
- * --------
- * - 802.11 support (ESSID ioctls)
- *
- * V6 to V7
- * --------
- * - define IW_ESSID_MAX_SIZE and IW_MAX_AP
- *
- * V7 to V8
- * --------
- * - Changed my e-mail address
- * - More 802.11 support (nickname, rate, rts, frag)
- * - List index in frequencies
- *
- * V8 to V9
- * --------
- * - Support for 'mode of operation' (ad-hoc, managed...)
- * - Support for unicast and multicast power saving
- * - Change encoding to support larger tokens (>64 bits)
- * - Updated iw_params (disable, flags) and use it for NWID
- * - Extracted iw_point from iwreq for clarity
- *
- * V9 to V10
- * ---------
- * - Add PM capability to range structure
- * - Add PM modifier : MAX/MIN/RELATIVE
- * - Add encoding option : IW_ENCODE_NOKEY
- * - Add TxPower ioctls (work like TxRate)
- *
- * V10 to V11
- * ----------
- * - Add WE version in range (help backward/forward compatibility)
- * - Add retry ioctls (work like PM)
- *
- * V11 to V12
- * ----------
- * - Add SIOCSIWSTATS to get /proc/net/wireless programatically
- * - Add DEV PRIVATE IOCTL to avoid collisions in SIOCDEVPRIVATE space
- * - Add new statistics (frag, retry, beacon)
- * - Add average quality (for user space calibration)
- *
- * V12 to V13
- * ----------
- * - Document creation of new driver API.
- * - Extract union iwreq_data from struct iwreq (for new driver API).
- * - Rename SIOCSIWNAME as SIOCSIWCOMMIT
- *
- * V13 to V14
- * ----------
- * - Wireless Events support : define struct iw_event
- * - Define additional specific event numbers
- * - Add "addr" and "param" fields in union iwreq_data
- * - AP scanning stuff (SIOCSIWSCAN and friends)
- *
- * V14 to V15
- * ----------
- * - Add IW_PRIV_TYPE_ADDR for struct sockaddr private arg
- * - Make struct iw_freq signed (both m & e), add explicit padding
- * - Add IWEVCUSTOM for driver specific event/scanning token
- * - Add IW_MAX_GET_SPY for driver returning a lot of addresses
- * - Add IW_TXPOW_RANGE for range of Tx Powers
- * - Add IWEVREGISTERED & IWEVEXPIRED events for Access Points
- * - Add IW_MODE_MONITOR for passive monitor
- *
- * V15 to V16
- * ----------
- * - Increase the number of bitrates in iw_range to 32 (for 802.11g)
- * - Increase the number of frequencies in iw_range to 32 (for 802.11b+a)
- * - Reshuffle struct iw_range for increases, add filler
- * - Increase IW_MAX_AP to 64 for driver returning a lot of addresses
- * - Remove IW_MAX_GET_SPY because conflict with enhanced spy support
- * - Add SIOCSIWTHRSPY/SIOCGIWTHRSPY and "struct iw_thrspy"
- * - Add IW_ENCODE_TEMP and iw_range->encoding_login_index
- *
- * V16 to V17
- * ----------
- * - Add flags to frequency -> auto/fixed
- * - Document (struct iw_quality *)->updated, add new flags (INVALID)
- * - Wireless Event capability in struct iw_range
- * - Add support for relative TxPower (yick !)
- *
- * V17 to V18 (From Jouni Malinen <j@w1.fi>)
- * ----------
- * - Add support for WPA/WPA2
- * - Add extended encoding configuration (SIOCSIWENCODEEXT and
- * SIOCGIWENCODEEXT)
- * - Add SIOCSIWGENIE/SIOCGIWGENIE
- * - Add SIOCSIWMLME
- * - Add SIOCSIWPMKSA
- * - Add struct iw_range bit field for supported encoding capabilities
- * - Add optional scan request parameters for SIOCSIWSCAN
- * - Add SIOCSIWAUTH/SIOCGIWAUTH for setting authentication and WPA
- * related parameters (extensible up to 4096 parameter values)
- * - Add wireless events: IWEVGENIE, IWEVMICHAELMICFAILURE,
- * IWEVASSOCREQIE, IWEVASSOCRESPIE, IWEVPMKIDCAND
- *
- * V18 to V19
- * ----------
- * - Remove (struct iw_point *)->pointer from events and streams
- * - Remove header includes to help user space
- * - Increase IW_ENCODING_TOKEN_MAX from 32 to 64
- * - Add IW_QUAL_ALL_UPDATED and IW_QUAL_ALL_INVALID macros
- * - Add explicit flag to tell stats are in dBm : IW_QUAL_DBM
- * - Add IW_IOCTL_IDX() and IW_EVENT_IDX() macros
- *
- * V19 to V20
- * ----------
- * - RtNetlink requests support (SET/GET)
- *
- * V20 to V21
- * ----------
- * - Remove (struct net_device *)->get_wireless_stats()
- * - Change length in ESSID and NICK to strlen() instead of strlen()+1
- * - Add IW_RETRY_SHORT/IW_RETRY_LONG retry modifiers
- * - Power/Retry relative values no longer * 100000
- * - Add explicit flag to tell stats are in 802.11k RCPI : IW_QUAL_RCPI
- *
- * V21 to V22
- * ----------
- * - Prevent leaking of kernel space in stream on 64 bits.
- */
-
-/**************************** CONSTANTS ****************************/
-
-/* -------------------------- IOCTL LIST -------------------------- */
-
-/* Wireless Identification */
-#define SIOCSIWCOMMIT 0x8B00 /* Commit pending changes to driver */
-#define SIOCGIWNAME 0x8B01 /* get name == wireless protocol */
-/* SIOCGIWNAME is used to verify the presence of Wireless Extensions.
- * Common values : "IEEE 802.11-DS", "IEEE 802.11-FH", "IEEE 802.11b"...
- * Don't put the name of your driver there, it's useless. */
-
-/* Basic operations */
-#define SIOCSIWNWID 0x8B02 /* set network id (pre-802.11) */
-#define SIOCGIWNWID 0x8B03 /* get network id (the cell) */
-#define SIOCSIWFREQ 0x8B04 /* set channel/frequency (Hz) */
-#define SIOCGIWFREQ 0x8B05 /* get channel/frequency (Hz) */
-#define SIOCSIWMODE 0x8B06 /* set operation mode */
-#define SIOCGIWMODE 0x8B07 /* get operation mode */
-#define SIOCSIWSENS 0x8B08 /* set sensitivity (dBm) */
-#define SIOCGIWSENS 0x8B09 /* get sensitivity (dBm) */
-
-/* Informative stuff */
-#define SIOCSIWRANGE 0x8B0A /* Unused */
-#define SIOCGIWRANGE 0x8B0B /* Get range of parameters */
-#define SIOCSIWPRIV 0x8B0C /* Unused */
-#define SIOCGIWPRIV 0x8B0D /* get private ioctl interface info */
-#define SIOCSIWSTATS 0x8B0E /* Unused */
-#define SIOCGIWSTATS 0x8B0F /* Get /proc/net/wireless stats */
-/* SIOCGIWSTATS is strictly used between user space and the kernel, and
- * is never passed to the driver (i.e. the driver will never see it). */
-
-/* Spy support (statistics per MAC address - used for Mobile IP support) */
-#define SIOCSIWSPY 0x8B10 /* set spy addresses */
-#define SIOCGIWSPY 0x8B11 /* get spy info (quality of link) */
-#define SIOCSIWTHRSPY 0x8B12 /* set spy threshold (spy event) */
-#define SIOCGIWTHRSPY 0x8B13 /* get spy threshold */
-
-/* Access Point manipulation */
-#define SIOCSIWAP 0x8B14 /* set access point MAC addresses */
-#define SIOCGIWAP 0x8B15 /* get access point MAC addresses */
-#define SIOCGIWAPLIST 0x8B17 /* Deprecated in favor of scanning */
-#define SIOCSIWSCAN 0x8B18 /* trigger scanning (list cells) */
-#define SIOCGIWSCAN 0x8B19 /* get scanning results */
-
-/* 802.11 specific support */
-#define SIOCSIWESSID 0x8B1A /* set ESSID (network name) */
-#define SIOCGIWESSID 0x8B1B /* get ESSID */
-#define SIOCSIWNICKN 0x8B1C /* set node name/nickname */
-#define SIOCGIWNICKN 0x8B1D /* get node name/nickname */
-/* As the ESSID and NICKN are strings up to 32 bytes long, it doesn't fit
- * within the 'iwreq' structure, so we need to use the 'data' member to
- * point to a string in user space, like it is done for RANGE... */
-
-/* Other parameters useful in 802.11 and some other devices */
-#define SIOCSIWRATE 0x8B20 /* set default bit rate (bps) */
-#define SIOCGIWRATE 0x8B21 /* get default bit rate (bps) */
-#define SIOCSIWRTS 0x8B22 /* set RTS/CTS threshold (bytes) */
-#define SIOCGIWRTS 0x8B23 /* get RTS/CTS threshold (bytes) */
-#define SIOCSIWFRAG 0x8B24 /* set fragmentation thr (bytes) */
-#define SIOCGIWFRAG 0x8B25 /* get fragmentation thr (bytes) */
-#define SIOCSIWTXPOW 0x8B26 /* set transmit power (dBm) */
-#define SIOCGIWTXPOW 0x8B27 /* get transmit power (dBm) */
-#define SIOCSIWRETRY 0x8B28 /* set retry limits and lifetime */
-#define SIOCGIWRETRY 0x8B29 /* get retry limits and lifetime */
-
-/* Encoding stuff (scrambling, hardware security, WEP...) */
-#define SIOCSIWENCODE 0x8B2A /* set encoding token & mode */
-#define SIOCGIWENCODE 0x8B2B /* get encoding token & mode */
-/* Power saving stuff (power management, unicast and multicast) */
-#define SIOCSIWPOWER 0x8B2C /* set Power Management settings */
-#define SIOCGIWPOWER 0x8B2D /* get Power Management settings */
-
-/* WPA : Generic IEEE 802.11 informatiom element (e.g., for WPA/RSN/WMM).
- * This ioctl uses struct iw_point and data buffer that includes IE id and len
- * fields. More than one IE may be included in the request. Setting the generic
- * IE to empty buffer (len=0) removes the generic IE from the driver. Drivers
- * are allowed to generate their own WPA/RSN IEs, but in these cases, drivers
- * are required to report the used IE as a wireless event, e.g., when
- * associating with an AP. */
-#define SIOCSIWGENIE 0x8B30 /* set generic IE */
-#define SIOCGIWGENIE 0x8B31 /* get generic IE */
-
-/* WPA : IEEE 802.11 MLME requests */
-#define SIOCSIWMLME 0x8B16 /* request MLME operation; uses
- * struct iw_mlme */
-/* WPA : Authentication mode parameters */
-#define SIOCSIWAUTH 0x8B32 /* set authentication mode params */
-#define SIOCGIWAUTH 0x8B33 /* get authentication mode params */
-
-/* WPA : Extended version of encoding configuration */
-#define SIOCSIWENCODEEXT 0x8B34 /* set encoding token & mode */
-#define SIOCGIWENCODEEXT 0x8B35 /* get encoding token & mode */
-
-/* WPA2 : PMKSA cache management */
-#define SIOCSIWPMKSA 0x8B36 /* PMKSA cache operation */
-
-/* -------------------- DEV PRIVATE IOCTL LIST -------------------- */
-
-/* These 32 ioctl are wireless device private, for 16 commands.
- * Each driver is free to use them for whatever purpose it chooses,
- * however the driver *must* export the description of those ioctls
- * with SIOCGIWPRIV and *must* use arguments as defined below.
- * If you don't follow those rules, DaveM is going to hate you (reason :
- * it make mixed 32/64bit operation impossible).
- */
-#define SIOCIWFIRSTPRIV 0x8BE0
-#define SIOCIWLASTPRIV 0x8BFF
-/* Previously, we were using SIOCDEVPRIVATE, but we now have our
- * separate range because of collisions with other tools such as
- * 'mii-tool'.
- * We now have 32 commands, so a bit more space ;-).
- * Also, all 'even' commands are only usable by root and don't return the
- * content of ifr/iwr to user (but you are not obliged to use the set/get
- * convention, just use every other two command). More details in iwpriv.c.
- * And I repeat : you are not forced to use them with iwpriv, but you
- * must be compliant with it.
- */
-
-/* ------------------------- IOCTL STUFF ------------------------- */
-
-/* The first and the last (range) */
-#define SIOCIWFIRST 0x8B00
-#define SIOCIWLAST SIOCIWLASTPRIV /* 0x8BFF */
-#define IW_IOCTL_IDX(cmd) ((cmd) - SIOCIWFIRST)
-#define IW_HANDLER(id, func) \
- [IW_IOCTL_IDX(id)] = func
-
-/* Odd : get (world access), even : set (root access) */
-#define IW_IS_SET(cmd) (!((cmd) & 0x1))
-#define IW_IS_GET(cmd) ((cmd) & 0x1)
-
-/* ----------------------- WIRELESS EVENTS ----------------------- */
-/* Those are *NOT* ioctls, do not issue request on them !!! */
-/* Most events use the same identifier as ioctl requests */
-
-#define IWEVTXDROP 0x8C00 /* Packet dropped to excessive retry */
-#define IWEVQUAL 0x8C01 /* Quality part of statistics (scan) */
-#define IWEVCUSTOM 0x8C02 /* Driver specific ascii string */
-#define IWEVREGISTERED 0x8C03 /* Discovered a new node (AP mode) */
-#define IWEVEXPIRED 0x8C04 /* Expired a node (AP mode) */
-#define IWEVGENIE 0x8C05 /* Generic IE (WPA, RSN, WMM, ..)
- * (scan results); This includes id and
- * length fields. One IWEVGENIE may
- * contain more than one IE. Scan
- * results may contain one or more
- * IWEVGENIE events. */
-#define IWEVMICHAELMICFAILURE 0x8C06 /* Michael MIC failure
- * (struct iw_michaelmicfailure)
- */
-#define IWEVASSOCREQIE 0x8C07 /* IEs used in (Re)Association Request.
- * The data includes id and length
- * fields and may contain more than one
- * IE. This event is required in
- * Managed mode if the driver
- * generates its own WPA/RSN IE. This
- * should be sent just before
- * IWEVREGISTERED event for the
- * association. */
-#define IWEVASSOCRESPIE 0x8C08 /* IEs used in (Re)Association
- * Response. The data includes id and
- * length fields and may contain more
- * than one IE. This may be sent
- * between IWEVASSOCREQIE and
- * IWEVREGISTERED events for the
- * association. */
-#define IWEVPMKIDCAND 0x8C09 /* PMKID candidate for RSN
- * pre-authentication
- * (struct iw_pmkid_cand) */
-
-#define IWEVFIRST 0x8C00
-#define IW_EVENT_IDX(cmd) ((cmd) - IWEVFIRST)
-
-/* ------------------------- PRIVATE INFO ------------------------- */
-/*
- * The following is used with SIOCGIWPRIV. It allow a driver to define
- * the interface (name, type of data) for its private ioctl.
- * Privates ioctl are SIOCIWFIRSTPRIV -> SIOCIWLASTPRIV
- */
-
-#define IW_PRIV_TYPE_MASK 0x7000 /* Type of arguments */
-#define IW_PRIV_TYPE_NONE 0x0000
-#define IW_PRIV_TYPE_BYTE 0x1000 /* Char as number */
-#define IW_PRIV_TYPE_CHAR 0x2000 /* Char as character */
-#define IW_PRIV_TYPE_INT 0x4000 /* 32 bits int */
-#define IW_PRIV_TYPE_FLOAT 0x5000 /* struct iw_freq */
-#define IW_PRIV_TYPE_ADDR 0x6000 /* struct sockaddr */
-
-#define IW_PRIV_SIZE_FIXED 0x0800 /* Variable or fixed number of args */
-
-#define IW_PRIV_SIZE_MASK 0x07FF /* Max number of those args */
-
-/*
- * Note : if the number of args is fixed and the size < 16 octets,
- * instead of passing a pointer we will put args in the iwreq struct...
- */
-
-/* ----------------------- OTHER CONSTANTS ----------------------- */
-
-/* Maximum frequencies in the range struct */
-#define IW_MAX_FREQUENCIES 32
-/* Note : if you have something like 80 frequencies,
- * don't increase this constant and don't fill the frequency list.
- * The user will be able to set by channel anyway... */
-
-/* Maximum bit rates in the range struct */
-#define IW_MAX_BITRATES 32
-
-/* Maximum tx powers in the range struct */
-#define IW_MAX_TXPOWER 8
-/* Note : if you more than 8 TXPowers, just set the max and min or
- * a few of them in the struct iw_range. */
-
-/* Maximum of address that you may set with SPY */
-#define IW_MAX_SPY 8
-
-/* Maximum of address that you may get in the
- list of access points in range */
-#define IW_MAX_AP 64
-
-/* Maximum size of the ESSID and NICKN strings */
-#define IW_ESSID_MAX_SIZE 32
-
-/* Modes of operation */
-#define IW_MODE_AUTO 0 /* Let the driver decides */
-#define IW_MODE_ADHOC 1 /* Single cell network */
-#define IW_MODE_INFRA 2 /* Multi cell network, roaming, ... */
-#define IW_MODE_MASTER 3 /* Synchronisation master or Access Point */
-#define IW_MODE_REPEAT 4 /* Wireless Repeater (forwarder) */
-#define IW_MODE_SECOND 5 /* Secondary master/repeater (backup) */
-#define IW_MODE_MONITOR 6 /* Passive monitor (listen only) */
-#define IW_MODE_MESH 7 /* Mesh (IEEE 802.11s) network */
-
-/* Statistics flags (bitmask in updated) */
-#define IW_QUAL_QUAL_UPDATED 0x01 /* Value was updated since last read */
-#define IW_QUAL_LEVEL_UPDATED 0x02
-#define IW_QUAL_NOISE_UPDATED 0x04
-#define IW_QUAL_ALL_UPDATED 0x07
-#define IW_QUAL_DBM 0x08 /* Level + Noise are dBm */
-#define IW_QUAL_QUAL_INVALID 0x10 /* Driver doesn't provide value */
-#define IW_QUAL_LEVEL_INVALID 0x20
-#define IW_QUAL_NOISE_INVALID 0x40
-#define IW_QUAL_RCPI 0x80 /* Level + Noise are 802.11k RCPI */
-#define IW_QUAL_ALL_INVALID 0x70
-
-/* Frequency flags */
-#define IW_FREQ_AUTO 0x00 /* Let the driver decides */
-#define IW_FREQ_FIXED 0x01 /* Force a specific value */
-
-/* Maximum number of size of encoding token available
- * they are listed in the range structure */
-#define IW_MAX_ENCODING_SIZES 8
-
-/* Maximum size of the encoding token in bytes */
-#define IW_ENCODING_TOKEN_MAX 64 /* 512 bits (for now) */
-
-/* Flags for encoding (along with the token) */
-#define IW_ENCODE_INDEX 0x00FF /* Token index (if needed) */
-#define IW_ENCODE_FLAGS 0xFF00 /* Flags defined below */
-#define IW_ENCODE_MODE 0xF000 /* Modes defined below */
-#define IW_ENCODE_DISABLED 0x8000 /* Encoding disabled */
-#define IW_ENCODE_ENABLED 0x0000 /* Encoding enabled */
-#define IW_ENCODE_RESTRICTED 0x4000 /* Refuse non-encoded packets */
-#define IW_ENCODE_OPEN 0x2000 /* Accept non-encoded packets */
-#define IW_ENCODE_NOKEY 0x0800 /* Key is write only, so not present */
-#define IW_ENCODE_TEMP 0x0400 /* Temporary key */
-
-/* Power management flags available (along with the value, if any) */
-#define IW_POWER_ON 0x0000 /* No details... */
-#define IW_POWER_TYPE 0xF000 /* Type of parameter */
-#define IW_POWER_PERIOD 0x1000 /* Value is a period/duration of */
-#define IW_POWER_TIMEOUT 0x2000 /* Value is a timeout (to go asleep) */
-#define IW_POWER_MODE 0x0F00 /* Power Management mode */
-#define IW_POWER_UNICAST_R 0x0100 /* Receive only unicast messages */
-#define IW_POWER_MULTICAST_R 0x0200 /* Receive only multicast messages */
-#define IW_POWER_ALL_R 0x0300 /* Receive all messages though PM */
-#define IW_POWER_FORCE_S 0x0400 /* Force PM procedure for sending unicast */
-#define IW_POWER_REPEATER 0x0800 /* Repeat broadcast messages in PM period */
-#define IW_POWER_MODIFIER 0x000F /* Modify a parameter */
-#define IW_POWER_MIN 0x0001 /* Value is a minimum */
-#define IW_POWER_MAX 0x0002 /* Value is a maximum */
-#define IW_POWER_RELATIVE 0x0004 /* Value is not in seconds/ms/us */
-
-/* Transmit Power flags available */
-#define IW_TXPOW_TYPE 0x00FF /* Type of value */
-#define IW_TXPOW_DBM 0x0000 /* Value is in dBm */
-#define IW_TXPOW_MWATT 0x0001 /* Value is in mW */
-#define IW_TXPOW_RELATIVE 0x0002 /* Value is in arbitrary units */
-#define IW_TXPOW_RANGE 0x1000 /* Range of value between min/max */
-
-/* Retry limits and lifetime flags available */
-#define IW_RETRY_ON 0x0000 /* No details... */
-#define IW_RETRY_TYPE 0xF000 /* Type of parameter */
-#define IW_RETRY_LIMIT 0x1000 /* Maximum number of retries*/
-#define IW_RETRY_LIFETIME 0x2000 /* Maximum duration of retries in us */
-#define IW_RETRY_MODIFIER 0x00FF /* Modify a parameter */
-#define IW_RETRY_MIN 0x0001 /* Value is a minimum */
-#define IW_RETRY_MAX 0x0002 /* Value is a maximum */
-#define IW_RETRY_RELATIVE 0x0004 /* Value is not in seconds/ms/us */
-#define IW_RETRY_SHORT 0x0010 /* Value is for short packets */
-#define IW_RETRY_LONG 0x0020 /* Value is for long packets */
-
-/* Scanning request flags */
-#define IW_SCAN_DEFAULT 0x0000 /* Default scan of the driver */
-#define IW_SCAN_ALL_ESSID 0x0001 /* Scan all ESSIDs */
-#define IW_SCAN_THIS_ESSID 0x0002 /* Scan only this ESSID */
-#define IW_SCAN_ALL_FREQ 0x0004 /* Scan all Frequencies */
-#define IW_SCAN_THIS_FREQ 0x0008 /* Scan only this Frequency */
-#define IW_SCAN_ALL_MODE 0x0010 /* Scan all Modes */
-#define IW_SCAN_THIS_MODE 0x0020 /* Scan only this Mode */
-#define IW_SCAN_ALL_RATE 0x0040 /* Scan all Bit-Rates */
-#define IW_SCAN_THIS_RATE 0x0080 /* Scan only this Bit-Rate */
-/* struct iw_scan_req scan_type */
-#define IW_SCAN_TYPE_ACTIVE 0
-#define IW_SCAN_TYPE_PASSIVE 1
-/* Maximum size of returned data */
-#define IW_SCAN_MAX_DATA 4096 /* In bytes */
-
-/* Scan capability flags - in (struct iw_range *)->scan_capa */
-#define IW_SCAN_CAPA_NONE 0x00
-#define IW_SCAN_CAPA_ESSID 0x01
-#define IW_SCAN_CAPA_BSSID 0x02
-#define IW_SCAN_CAPA_CHANNEL 0x04
-#define IW_SCAN_CAPA_MODE 0x08
-#define IW_SCAN_CAPA_RATE 0x10
-#define IW_SCAN_CAPA_TYPE 0x20
-#define IW_SCAN_CAPA_TIME 0x40
-
-/* Max number of char in custom event - use multiple of them if needed */
-#define IW_CUSTOM_MAX 256 /* In bytes */
-
-/* Generic information element */
-#define IW_GENERIC_IE_MAX 1024
-
-/* MLME requests (SIOCSIWMLME / struct iw_mlme) */
-#define IW_MLME_DEAUTH 0
-#define IW_MLME_DISASSOC 1
-#define IW_MLME_AUTH 2
-#define IW_MLME_ASSOC 3
-
-/* SIOCSIWAUTH/SIOCGIWAUTH struct iw_param flags */
-#define IW_AUTH_INDEX 0x0FFF
-#define IW_AUTH_FLAGS 0xF000
-/* SIOCSIWAUTH/SIOCGIWAUTH parameters (0 .. 4095)
- * (IW_AUTH_INDEX mask in struct iw_param flags; this is the index of the
- * parameter that is being set/get to; value will be read/written to
- * struct iw_param value field) */
-#define IW_AUTH_WPA_VERSION 0
-#define IW_AUTH_CIPHER_PAIRWISE 1
-#define IW_AUTH_CIPHER_GROUP 2
-#define IW_AUTH_KEY_MGMT 3
-#define IW_AUTH_TKIP_COUNTERMEASURES 4
-#define IW_AUTH_DROP_UNENCRYPTED 5
-#define IW_AUTH_80211_AUTH_ALG 6
-#define IW_AUTH_WPA_ENABLED 7
-#define IW_AUTH_RX_UNENCRYPTED_EAPOL 8
-#define IW_AUTH_ROAMING_CONTROL 9
-#define IW_AUTH_PRIVACY_INVOKED 10
-#define IW_AUTH_CIPHER_GROUP_MGMT 11
-#define IW_AUTH_MFP 12
-
-/* IW_AUTH_WPA_VERSION values (bit field) */
-#define IW_AUTH_WPA_VERSION_DISABLED 0x00000001
-#define IW_AUTH_WPA_VERSION_WPA 0x00000002
-#define IW_AUTH_WPA_VERSION_WPA2 0x00000004
-
-/* IW_AUTH_PAIRWISE_CIPHER, IW_AUTH_GROUP_CIPHER, and IW_AUTH_CIPHER_GROUP_MGMT
- * values (bit field) */
-#define IW_AUTH_CIPHER_NONE 0x00000001
-#define IW_AUTH_CIPHER_WEP40 0x00000002
-#define IW_AUTH_CIPHER_TKIP 0x00000004
-#define IW_AUTH_CIPHER_CCMP 0x00000008
-#define IW_AUTH_CIPHER_WEP104 0x00000010
-#define IW_AUTH_CIPHER_AES_CMAC 0x00000020
-
-/* IW_AUTH_KEY_MGMT values (bit field) */
-#define IW_AUTH_KEY_MGMT_802_1X 1
-#define IW_AUTH_KEY_MGMT_PSK 2
-
-/* IW_AUTH_80211_AUTH_ALG values (bit field) */
-#define IW_AUTH_ALG_OPEN_SYSTEM 0x00000001
-#define IW_AUTH_ALG_SHARED_KEY 0x00000002
-#define IW_AUTH_ALG_LEAP 0x00000004
-
-/* IW_AUTH_ROAMING_CONTROL values */
-#define IW_AUTH_ROAMING_ENABLE 0 /* driver/firmware based roaming */
-#define IW_AUTH_ROAMING_DISABLE 1 /* user space program used for roaming
- * control */
-
-/* IW_AUTH_MFP (management frame protection) values */
-#define IW_AUTH_MFP_DISABLED 0 /* MFP disabled */
-#define IW_AUTH_MFP_OPTIONAL 1 /* MFP optional */
-#define IW_AUTH_MFP_REQUIRED 2 /* MFP required */
-
-/* SIOCSIWENCODEEXT definitions */
-#define IW_ENCODE_SEQ_MAX_SIZE 8
-/* struct iw_encode_ext ->alg */
-#define IW_ENCODE_ALG_NONE 0
-#define IW_ENCODE_ALG_WEP 1
-#define IW_ENCODE_ALG_TKIP 2
-#define IW_ENCODE_ALG_CCMP 3
-#define IW_ENCODE_ALG_PMK 4
-#define IW_ENCODE_ALG_AES_CMAC 5
-/* struct iw_encode_ext ->ext_flags */
-#define IW_ENCODE_EXT_TX_SEQ_VALID 0x00000001
-#define IW_ENCODE_EXT_RX_SEQ_VALID 0x00000002
-#define IW_ENCODE_EXT_GROUP_KEY 0x00000004
-#define IW_ENCODE_EXT_SET_TX_KEY 0x00000008
-
-/* IWEVMICHAELMICFAILURE : struct iw_michaelmicfailure ->flags */
-#define IW_MICFAILURE_KEY_ID 0x00000003 /* Key ID 0..3 */
-#define IW_MICFAILURE_GROUP 0x00000004
-#define IW_MICFAILURE_PAIRWISE 0x00000008
-#define IW_MICFAILURE_STAKEY 0x00000010
-#define IW_MICFAILURE_COUNT 0x00000060 /* 1 or 2 (0 = count not supported)
- */
-
-/* Bit field values for enc_capa in struct iw_range */
-#define IW_ENC_CAPA_WPA 0x00000001
-#define IW_ENC_CAPA_WPA2 0x00000002
-#define IW_ENC_CAPA_CIPHER_TKIP 0x00000004
-#define IW_ENC_CAPA_CIPHER_CCMP 0x00000008
-#define IW_ENC_CAPA_4WAY_HANDSHAKE 0x00000010
-
-/* Event capability macros - in (struct iw_range *)->event_capa
- * Because we have more than 32 possible events, we use an array of
- * 32 bit bitmasks. Note : 32 bits = 0x20 = 2^5. */
-#define IW_EVENT_CAPA_BASE(cmd) ((cmd >= SIOCIWFIRSTPRIV) ? \
- (cmd - SIOCIWFIRSTPRIV + 0x60) : \
- (cmd - SIOCIWFIRST))
-#define IW_EVENT_CAPA_INDEX(cmd) (IW_EVENT_CAPA_BASE(cmd) >> 5)
-#define IW_EVENT_CAPA_MASK(cmd) (1 << (IW_EVENT_CAPA_BASE(cmd) & 0x1F))
-/* Event capability constants - event autogenerated by the kernel
- * This list is valid for most 802.11 devices, customise as needed... */
-#define IW_EVENT_CAPA_K_0 (IW_EVENT_CAPA_MASK(0x8B04) | \
- IW_EVENT_CAPA_MASK(0x8B06) | \
- IW_EVENT_CAPA_MASK(0x8B1A))
-#define IW_EVENT_CAPA_K_1 (IW_EVENT_CAPA_MASK(0x8B2A))
-/* "Easy" macro to set events in iw_range (less efficient) */
-#define IW_EVENT_CAPA_SET(event_capa, cmd) (event_capa[IW_EVENT_CAPA_INDEX(cmd)] |= IW_EVENT_CAPA_MASK(cmd))
-#define IW_EVENT_CAPA_SET_KERNEL(event_capa) {event_capa[0] |= IW_EVENT_CAPA_K_0; event_capa[1] |= IW_EVENT_CAPA_K_1; }
-
-
-/****************************** TYPES ******************************/
-
-/* --------------------------- SUBTYPES --------------------------- */
-/*
- * Generic format for most parameters that fit in an int
- */
-struct iw_param
-{
- __s32 value; /* The value of the parameter itself */
- __u8 fixed; /* Hardware should not use auto select */
- __u8 disabled; /* Disable the feature */
- __u16 flags; /* Various specifc flags (if any) */
-};
-
-/*
- * For all data larger than 16 octets, we need to use a
- * pointer to memory allocated in user space.
- */
-struct iw_point
-{
- void *pointer; /* Pointer to the data (in user space) */
- __u16 length; /* number of fields or size in bytes */
- __u16 flags; /* Optional params */
-};
-
-
-/*
- * A frequency
- * For numbers lower than 10^9, we encode the number in 'm' and
- * set 'e' to 0
- * For number greater than 10^9, we divide it by the lowest power
- * of 10 to get 'm' lower than 10^9, with 'm'= f / (10^'e')...
- * The power of 10 is in 'e', the result of the division is in 'm'.
- */
-struct iw_freq
-{
- __s32 m; /* Mantissa */
- __s16 e; /* Exponent */
- __u8 i; /* List index (when in range struct) */
- __u8 flags; /* Flags (fixed/auto) */
-};
-
-/*
- * Quality of the link
- */
-struct iw_quality
-{
- __u8 qual; /* link quality (%retries, SNR,
- %missed beacons or better...) */
- __u8 level; /* signal level (dBm) */
- __u8 noise; /* noise level (dBm) */
- __u8 updated; /* Flags to know if updated */
-};
-
-/*
- * Packet discarded in the wireless adapter due to
- * "wireless" specific problems...
- * Note : the list of counter and statistics in net_device_stats
- * is already pretty exhaustive, and you should use that first.
- * This is only additional stats...
- */
-struct iw_discarded
-{
- __u32 nwid; /* Rx : Wrong nwid/essid */
- __u32 code; /* Rx : Unable to code/decode (WEP) */
- __u32 fragment; /* Rx : Can't perform MAC reassembly */
- __u32 retries; /* Tx : Max MAC retries num reached */
- __u32 misc; /* Others cases */
-};
-
-/*
- * Packet/Time period missed in the wireless adapter due to
- * "wireless" specific problems...
- */
-struct iw_missed
-{
- __u32 beacon; /* Missed beacons/superframe */
-};
-
-/*
- * Quality range (for spy threshold)
- */
-struct iw_thrspy
-{
- struct sockaddr addr; /* Source address (hw/mac) */
- struct iw_quality qual; /* Quality of the link */
- struct iw_quality low; /* Low threshold */
- struct iw_quality high; /* High threshold */
-};
-
-/*
- * Optional data for scan request
- *
- * Note: these optional parameters are controlling parameters for the
- * scanning behavior, these do not apply to getting scan results
- * (SIOCGIWSCAN). Drivers are expected to keep a local BSS table and
- * provide a merged results with all BSSes even if the previous scan
- * request limited scanning to a subset, e.g., by specifying an SSID.
- * Especially, scan results are required to include an entry for the
- * current BSS if the driver is in Managed mode and associated with an AP.
- */
-struct iw_scan_req
-{
- __u8 scan_type; /* IW_SCAN_TYPE_{ACTIVE,PASSIVE} */
- __u8 essid_len;
- __u8 num_channels; /* num entries in channel_list;
- * 0 = scan all allowed channels */
- __u8 flags; /* reserved as padding; use zero, this may
- * be used in the future for adding flags
- * to request different scan behavior */
- struct sockaddr bssid; /* ff:ff:ff:ff:ff:ff for broadcast BSSID or
- * individual address of a specific BSS */
-
- /*
- * Use this ESSID if IW_SCAN_THIS_ESSID flag is used instead of using
- * the current ESSID. This allows scan requests for specific ESSID
- * without having to change the current ESSID and potentially breaking
- * the current association.
- */
- __u8 essid[IW_ESSID_MAX_SIZE];
-
- /*
- * Optional parameters for changing the default scanning behavior.
- * These are based on the MLME-SCAN.request from IEEE Std 802.11.
- * TU is 1.024 ms. If these are set to 0, driver is expected to use
- * reasonable default values. min_channel_time defines the time that
- * will be used to wait for the first reply on each channel. If no
- * replies are received, next channel will be scanned after this. If
- * replies are received, total time waited on the channel is defined by
- * max_channel_time.
- */
- __u32 min_channel_time; /* in TU */
- __u32 max_channel_time; /* in TU */
-
- struct iw_freq channel_list[IW_MAX_FREQUENCIES];
-};
-
-/* ------------------------- WPA SUPPORT ------------------------- */
-
-/*
- * Extended data structure for get/set encoding (this is used with
- * SIOCSIWENCODEEXT/SIOCGIWENCODEEXT. struct iw_point and IW_ENCODE_*
- * flags are used in the same way as with SIOCSIWENCODE/SIOCGIWENCODE and
- * only the data contents changes (key data -> this structure, including
- * key data).
- *
- * If the new key is the first group key, it will be set as the default
- * TX key. Otherwise, default TX key index is only changed if
- * IW_ENCODE_EXT_SET_TX_KEY flag is set.
- *
- * Key will be changed with SIOCSIWENCODEEXT in all cases except for
- * special "change TX key index" operation which is indicated by setting
- * key_len = 0 and ext_flags |= IW_ENCODE_EXT_SET_TX_KEY.
- *
- * tx_seq/rx_seq are only used when respective
- * IW_ENCODE_EXT_{TX,RX}_SEQ_VALID flag is set in ext_flags. Normal
- * TKIP/CCMP operation is to set RX seq with SIOCSIWENCODEEXT and start
- * TX seq from zero whenever key is changed. SIOCGIWENCODEEXT is normally
- * used only by an Authenticator (AP or an IBSS station) to get the
- * current TX sequence number. Using TX_SEQ_VALID for SIOCSIWENCODEEXT and
- * RX_SEQ_VALID for SIOCGIWENCODEEXT are optional, but can be useful for
- * debugging/testing.
- */
-struct iw_encode_ext
-{
- __u32 ext_flags; /* IW_ENCODE_EXT_* */
- __u8 tx_seq[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */
- __u8 rx_seq[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */
- struct sockaddr addr; /* ff:ff:ff:ff:ff:ff for broadcast/multicast
- * (group) keys or unicast address for
- * individual keys */
- __u16 alg; /* IW_ENCODE_ALG_* */
- __u16 key_len;
- __u8 key[0];
-};
-
-/* SIOCSIWMLME data */
-struct iw_mlme
-{
- __u16 cmd; /* IW_MLME_* */
- __u16 reason_code;
- struct sockaddr addr;
-};
-
-/* SIOCSIWPMKSA data */
-#define IW_PMKSA_ADD 1
-#define IW_PMKSA_REMOVE 2
-#define IW_PMKSA_FLUSH 3
-
-#define IW_PMKID_LEN 16
-
-struct iw_pmksa
-{
- __u32 cmd; /* IW_PMKSA_* */
- struct sockaddr bssid;
- __u8 pmkid[IW_PMKID_LEN];
-};
-
-/* IWEVMICHAELMICFAILURE data */
-struct iw_michaelmicfailure
-{
- __u32 flags;
- struct sockaddr src_addr;
- __u8 tsc[IW_ENCODE_SEQ_MAX_SIZE]; /* LSB first */
-};
-
-/* IWEVPMKIDCAND data */
-#define IW_PMKID_CAND_PREAUTH 0x00000001 /* RNS pre-authentication enabled */
-struct iw_pmkid_cand
-{
- __u32 flags; /* IW_PMKID_CAND_* */
- __u32 index; /* the smaller the index, the higher the
- * priority */
- struct sockaddr bssid;
-};
-
-/* ------------------------ WIRELESS STATS ------------------------ */
-/*
- * Wireless statistics (used for /proc/net/wireless)
- */
-struct iw_statistics
-{
- __u16 status; /* Status
- * - device dependent for now */
-
- struct iw_quality qual; /* Quality of the link
- * (instant/mean/max) */
- struct iw_discarded discard; /* Packet discarded counts */
- struct iw_missed miss; /* Packet missed counts */
-};
-
-/* ------------------------ IOCTL REQUEST ------------------------ */
-/*
- * This structure defines the payload of an ioctl, and is used
- * below.
- *
- * Note that this structure should fit on the memory footprint
- * of iwreq (which is the same as ifreq), which mean a max size of
- * 16 octets = 128 bits. Warning, pointers might be 64 bits wide...
- * You should check this when increasing the structures defined
- * above in this file...
- */
-union iwreq_data
-{
- /* Config - generic */
- char name[IFNAMSIZ];
- /* Name : used to verify the presence of wireless extensions.
- * Name of the protocol/provider... */
-
- struct iw_point essid; /* Extended network name */
- struct iw_param nwid; /* network id (or domain - the cell) */
- struct iw_freq freq; /* frequency or channel :
- * 0-1000 = channel
- * > 1000 = frequency in Hz */
-
- struct iw_param sens; /* signal level threshold */
- struct iw_param bitrate; /* default bit rate */
- struct iw_param txpower; /* default transmit power */
- struct iw_param rts; /* RTS threshold threshold */
- struct iw_param frag; /* Fragmentation threshold */
- __u32 mode; /* Operation mode */
- struct iw_param retry; /* Retry limits & lifetime */
-
- struct iw_point encoding; /* Encoding stuff : tokens */
- struct iw_param power; /* PM duration/timeout */
- struct iw_quality qual; /* Quality part of statistics */
-
- struct sockaddr ap_addr; /* Access point address */
- struct sockaddr addr; /* Destination address (hw/mac) */
-
- struct iw_param param; /* Other small parameters */
- struct iw_point data; /* Other large parameters */
-};
-
-/*
- * The structure to exchange data for ioctl.
- * This structure is the same as 'struct ifreq', but (re)defined for
- * convenience...
- * Do I need to remind you about structure size (32 octets) ?
- */
-struct iwreq
-{
- union
- {
- char ifrn_name[IFNAMSIZ]; /* if name, e.g. "eth0" */
- } ifr_ifrn;
-
- /* Data part (defined just above) */
- union iwreq_data u;
-};
-
-/* -------------------------- IOCTL DATA -------------------------- */
-/*
- * For those ioctl which want to exchange mode data that what could
- * fit in the above structure...
- */
-
-/*
- * Range of parameters
- */
-
-struct iw_range
-{
- /* Informative stuff (to choose between different interface) */
- __u32 throughput; /* To give an idea... */
- /* In theory this value should be the maximum benchmarked
- * TCP/IP throughput, because with most of these devices the
- * bit rate is meaningless (overhead an co) to estimate how
- * fast the connection will go and pick the fastest one.
- * I suggest people to play with Netperf or any benchmark...
- */
-
- /* NWID (or domain id) */
- __u32 min_nwid; /* Minimal NWID we are able to set */
- __u32 max_nwid; /* Maximal NWID we are able to set */
-
- /* Old Frequency (backward compat - moved lower ) */
- __u16 old_num_channels;
- __u8 old_num_frequency;
-
- /* Scan capabilities */
- __u8 scan_capa; /* IW_SCAN_CAPA_* bit field */
-
- /* Wireless event capability bitmasks */
- __u32 event_capa[6];
-
- /* signal level threshold range */
- __s32 sensitivity;
-
- /* Quality of link & SNR stuff */
- /* Quality range (link, level, noise)
- * If the quality is absolute, it will be in the range [0 ; max_qual],
- * if the quality is dBm, it will be in the range [max_qual ; 0].
- * Don't forget that we use 8 bit arithmetics... */
- struct iw_quality max_qual; /* Quality of the link */
- /* This should contain the average/typical values of the quality
- * indicator. This should be the threshold between a "good" and
- * a "bad" link (example : monitor going from green to orange).
- * Currently, user space apps like quality monitors don't have any
- * way to calibrate the measurement. With this, they can split
- * the range between 0 and max_qual in different quality level
- * (using a geometric subdivision centered on the average).
- * I expect that people doing the user space apps will feedback
- * us on which value we need to put in each driver... */
- struct iw_quality avg_qual; /* Quality of the link */
-
- /* Rates */
- __u8 num_bitrates; /* Number of entries in the list */
- __s32 bitrate[IW_MAX_BITRATES]; /* list, in bps */
-
- /* RTS threshold */
- __s32 min_rts; /* Minimal RTS threshold */
- __s32 max_rts; /* Maximal RTS threshold */
-
- /* Frag threshold */
- __s32 min_frag; /* Minimal frag threshold */
- __s32 max_frag; /* Maximal frag threshold */
-
- /* Power Management duration & timeout */
- __s32 min_pmp; /* Minimal PM period */
- __s32 max_pmp; /* Maximal PM period */
- __s32 min_pmt; /* Minimal PM timeout */
- __s32 max_pmt; /* Maximal PM timeout */
- __u16 pmp_flags; /* How to decode max/min PM period */
- __u16 pmt_flags; /* How to decode max/min PM timeout */
- __u16 pm_capa; /* What PM options are supported */
-
- /* Encoder stuff */
- __u16 encoding_size[IW_MAX_ENCODING_SIZES]; /* Different token sizes */
- __u8 num_encoding_sizes; /* Number of entry in the list */
- __u8 max_encoding_tokens; /* Max number of tokens */
- /* For drivers that need a "login/passwd" form */
- __u8 encoding_login_index; /* token index for login token */
-
- /* Transmit power */
- __u16 txpower_capa; /* What options are supported */
- __u8 num_txpower; /* Number of entries in the list */
- __s32 txpower[IW_MAX_TXPOWER]; /* list, in bps */
-
- /* Wireless Extension version info */
- __u8 we_version_compiled; /* Must be WIRELESS_EXT */
- __u8 we_version_source; /* Last update of source */
-
- /* Retry limits and lifetime */
- __u16 retry_capa; /* What retry options are supported */
- __u16 retry_flags; /* How to decode max/min retry limit */
- __u16 r_time_flags; /* How to decode max/min retry life */
- __s32 min_retry; /* Minimal number of retries */
- __s32 max_retry; /* Maximal number of retries */
- __s32 min_r_time; /* Minimal retry lifetime */
- __s32 max_r_time; /* Maximal retry lifetime */
-
- /* Frequency */
- __u16 num_channels; /* Number of channels [0; num - 1] */
- __u8 num_frequency; /* Number of entry in the list */
- struct iw_freq freq[IW_MAX_FREQUENCIES]; /* list */
- /* Note : this frequency list doesn't need to fit channel numbers,
- * because each entry contain its channel index */
-
- __u32 enc_capa; /* IW_ENC_CAPA_* bit field */
-};
-
-/*
- * Private ioctl interface information
- */
-
-struct iw_priv_args
-{
- __u32 cmd; /* Number of the ioctl to issue */
- __u16 set_args; /* Type and number of args */
- __u16 get_args; /* Type and number of args */
- char name[IFNAMSIZ]; /* Name of the extension */
-};
-
-/* ----------------------- WIRELESS EVENTS ----------------------- */
-/*
- * Wireless events are carried through the rtnetlink socket to user
- * space. They are encapsulated in the IFLA_WIRELESS field of
- * a RTM_NEWLINK message.
- */
-
-/*
- * A Wireless Event. Contains basically the same data as the ioctl...
- */
-struct iw_event
-{
- __u16 len; /* Real length of this stuff */
- __u16 cmd; /* Wireless IOCTL */
- union iwreq_data u; /* IOCTL fixed payload */
-};
-
-/* Size of the Event prefix (including padding and alignement junk) */
-#define IW_EV_LCP_LEN (sizeof(struct iw_event) - sizeof(union iwreq_data))
-/* Size of the various events */
-#define IW_EV_CHAR_LEN (IW_EV_LCP_LEN + IFNAMSIZ)
-#define IW_EV_UINT_LEN (IW_EV_LCP_LEN + sizeof(__u32))
-#define IW_EV_FREQ_LEN (IW_EV_LCP_LEN + sizeof(struct iw_freq))
-#define IW_EV_PARAM_LEN (IW_EV_LCP_LEN + sizeof(struct iw_param))
-#define IW_EV_ADDR_LEN (IW_EV_LCP_LEN + sizeof(struct sockaddr))
-#define IW_EV_QUAL_LEN (IW_EV_LCP_LEN + sizeof(struct iw_quality))
-
-/* iw_point events are special. First, the payload (extra data) come at
- * the end of the event, so they are bigger than IW_EV_POINT_LEN. Second,
- * we omit the pointer, so start at an offset. */
-#define IW_EV_POINT_OFF (((char *) &(((struct iw_point *) NULL)->length)) - \
- (char *) NULL)
-#define IW_EV_POINT_LEN (IW_EV_LCP_LEN + sizeof(struct iw_point) - \
- IW_EV_POINT_OFF)
-
-
-/* Size of the Event prefix when packed in stream */
-#define IW_EV_LCP_PK_LEN (4)
-/* Size of the various events when packed in stream */
-#define IW_EV_CHAR_PK_LEN (IW_EV_LCP_PK_LEN + IFNAMSIZ)
-#define IW_EV_UINT_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(__u32))
-#define IW_EV_FREQ_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_freq))
-#define IW_EV_PARAM_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_param))
-#define IW_EV_ADDR_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct sockaddr))
-#define IW_EV_QUAL_PK_LEN (IW_EV_LCP_PK_LEN + sizeof(struct iw_quality))
-#define IW_EV_POINT_PK_LEN (IW_EV_LCP_PK_LEN + 4)
-
-#endif /* _LINUX_WIRELESS_H */
diff --git a/linux-headers/include/linux/x25.h b/linux-headers/include/linux/x25.h
deleted file mode 100644
index 810cce6..0000000
--- a/linux-headers/include/linux/x25.h
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * These are the public elements of the Linux kernel X.25 implementation.
- *
- * History
- * mar/20/00 Daniela Squassoni Disabling/enabling of facilities
- * negotiation.
- * apr/02/05 Shaun Pereira Selective sub address matching with
- * call user data
- */
-
-#ifndef X25_KERNEL_H
-#define X25_KERNEL_H
-
-#include <linux/types.h>
-#include <linux/socket.h>
-
-#define SIOCX25GSUBSCRIP (SIOCPROTOPRIVATE + 0)
-#define SIOCX25SSUBSCRIP (SIOCPROTOPRIVATE + 1)
-#define SIOCX25GFACILITIES (SIOCPROTOPRIVATE + 2)
-#define SIOCX25SFACILITIES (SIOCPROTOPRIVATE + 3)
-#define SIOCX25GCALLUSERDATA (SIOCPROTOPRIVATE + 4)
-#define SIOCX25SCALLUSERDATA (SIOCPROTOPRIVATE + 5)
-#define SIOCX25GCAUSEDIAG (SIOCPROTOPRIVATE + 6)
-#define SIOCX25SCUDMATCHLEN (SIOCPROTOPRIVATE + 7)
-#define SIOCX25CALLACCPTAPPRV (SIOCPROTOPRIVATE + 8)
-#define SIOCX25SENDCALLACCPT (SIOCPROTOPRIVATE + 9)
-#define SIOCX25GDTEFACILITIES (SIOCPROTOPRIVATE + 10)
-#define SIOCX25SDTEFACILITIES (SIOCPROTOPRIVATE + 11)
-#define SIOCX25SCAUSEDIAG (SIOCPROTOPRIVATE + 12)
-
-/*
- * Values for {get,set}sockopt.
- */
-#define X25_QBITINCL 1
-
-/*
- * X.25 Packet Size values.
- */
-#define X25_PS16 4
-#define X25_PS32 5
-#define X25_PS64 6
-#define X25_PS128 7
-#define X25_PS256 8
-#define X25_PS512 9
-#define X25_PS1024 10
-#define X25_PS2048 11
-#define X25_PS4096 12
-
-/*
- * An X.121 address, it is held as ASCII text, null terminated, up to 15
- * digits and a null terminator.
- */
-struct x25_address {
- char x25_addr[16];
-};
-
-/*
- * Linux X.25 Address structure, used for bind, and connect mostly.
- */
-struct sockaddr_x25 {
- __kernel_sa_family_t sx25_family; /* Must be AF_X25 */
- struct x25_address sx25_addr; /* X.121 Address */
-};
-
-/*
- * DTE/DCE subscription options.
- *
- * As this is missing lots of options, user should expect major
- * changes of this structure in 2.5.x which might break compatibilty.
- * The somewhat ugly dimension 200-sizeof() is needed to maintain
- * backward compatibility.
- */
-struct x25_subscrip_struct {
- char device[200-sizeof(unsigned long)];
- unsigned long global_facil_mask; /* 0 to disable negotiation */
- unsigned int extended;
-};
-
-/* values for above global_facil_mask */
-
-#define X25_MASK_REVERSE 0x01
-#define X25_MASK_THROUGHPUT 0x02
-#define X25_MASK_PACKET_SIZE 0x04
-#define X25_MASK_WINDOW_SIZE 0x08
-
-#define X25_MASK_CALLING_AE 0x10
-#define X25_MASK_CALLED_AE 0x20
-
-
-/*
- * Routing table control structure.
- */
-struct x25_route_struct {
- struct x25_address address;
- unsigned int sigdigits;
- char device[200];
-};
-
-/*
- * Facilities structure.
- */
-struct x25_facilities {
- unsigned int winsize_in, winsize_out;
- unsigned int pacsize_in, pacsize_out;
- unsigned int throughput;
- unsigned int reverse;
-};
-
-/*
-* ITU DTE facilities
-* Only the called and calling address
-* extension are currently implemented.
-* The rest are in place to avoid the struct
-* changing size if someone needs them later
-*/
-
-struct x25_dte_facilities {
- __u16 delay_cumul;
- __u16 delay_target;
- __u16 delay_max;
- __u8 min_throughput;
- __u8 expedited;
- __u8 calling_len;
- __u8 called_len;
- __u8 calling_ae[20];
- __u8 called_ae[20];
-};
-
-/*
- * Call User Data structure.
- */
-struct x25_calluserdata {
- unsigned int cudlength;
- unsigned char cuddata[128];
-};
-
-/*
- * Call clearing Cause and Diagnostic structure.
- */
-struct x25_causediag {
- unsigned char cause;
- unsigned char diagnostic;
-};
-
-/*
- * Further optional call user data match length selection
- */
-struct x25_subaddr {
- unsigned int cudmatchlength;
-};
-
-#endif
diff --git a/linux-headers/include/linux/xattr.h b/linux-headers/include/linux/xattr.h
deleted file mode 100644
index 2634d03..0000000
--- a/linux-headers/include/linux/xattr.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- File: linux/xattr.h
-
- Extended attributes handling.
-
- Copyright (C) 2001 by Andreas Gruenbacher <a.gruenbacher@computer.org>
- Copyright (c) 2001-2002 Silicon Graphics, Inc. All Rights Reserved.
- Copyright (c) 2004 Red Hat, Inc., James Morris <jmorris@redhat.com>
-*/
-
-#include <linux/libc-compat.h>
-
-#ifndef _LINUX_XATTR_H
-#define _LINUX_XATTR_H
-
-#if __UAPI_DEF_XATTR
-#define __USE_KERNEL_XATTR_DEFS
-
-#define XATTR_CREATE 0x1 /* set value, fail if attr already exists */
-#define XATTR_REPLACE 0x2 /* set value, fail if attr does not exist */
-#endif
-
-/* Namespaces */
-#define XATTR_OS2_PREFIX "os2."
-#define XATTR_OS2_PREFIX_LEN (sizeof(XATTR_OS2_PREFIX) - 1)
-
-#define XATTR_MAC_OSX_PREFIX "osx."
-#define XATTR_MAC_OSX_PREFIX_LEN (sizeof(XATTR_MAC_OSX_PREFIX) - 1)
-
-#define XATTR_BTRFS_PREFIX "btrfs."
-#define XATTR_BTRFS_PREFIX_LEN (sizeof(XATTR_BTRFS_PREFIX) - 1)
-
-#define XATTR_SECURITY_PREFIX "security."
-#define XATTR_SECURITY_PREFIX_LEN (sizeof(XATTR_SECURITY_PREFIX) - 1)
-
-#define XATTR_SYSTEM_PREFIX "system."
-#define XATTR_SYSTEM_PREFIX_LEN (sizeof(XATTR_SYSTEM_PREFIX) - 1)
-
-#define XATTR_TRUSTED_PREFIX "trusted."
-#define XATTR_TRUSTED_PREFIX_LEN (sizeof(XATTR_TRUSTED_PREFIX) - 1)
-
-#define XATTR_USER_PREFIX "user."
-#define XATTR_USER_PREFIX_LEN (sizeof(XATTR_USER_PREFIX) - 1)
-
-/* Security namespace */
-#define XATTR_EVM_SUFFIX "evm"
-#define XATTR_NAME_EVM XATTR_SECURITY_PREFIX XATTR_EVM_SUFFIX
-
-#define XATTR_IMA_SUFFIX "ima"
-#define XATTR_NAME_IMA XATTR_SECURITY_PREFIX XATTR_IMA_SUFFIX
-
-#define XATTR_SELINUX_SUFFIX "selinux"
-#define XATTR_NAME_SELINUX XATTR_SECURITY_PREFIX XATTR_SELINUX_SUFFIX
-
-#define XATTR_SMACK_SUFFIX "SMACK64"
-#define XATTR_SMACK_IPIN "SMACK64IPIN"
-#define XATTR_SMACK_IPOUT "SMACK64IPOUT"
-#define XATTR_SMACK_EXEC "SMACK64EXEC"
-#define XATTR_SMACK_TRANSMUTE "SMACK64TRANSMUTE"
-#define XATTR_SMACK_MMAP "SMACK64MMAP"
-#define XATTR_NAME_SMACK XATTR_SECURITY_PREFIX XATTR_SMACK_SUFFIX
-#define XATTR_NAME_SMACKIPIN XATTR_SECURITY_PREFIX XATTR_SMACK_IPIN
-#define XATTR_NAME_SMACKIPOUT XATTR_SECURITY_PREFIX XATTR_SMACK_IPOUT
-#define XATTR_NAME_SMACKEXEC XATTR_SECURITY_PREFIX XATTR_SMACK_EXEC
-#define XATTR_NAME_SMACKTRANSMUTE XATTR_SECURITY_PREFIX XATTR_SMACK_TRANSMUTE
-#define XATTR_NAME_SMACKMMAP XATTR_SECURITY_PREFIX XATTR_SMACK_MMAP
-
-#define XATTR_CAPS_SUFFIX "capability"
-#define XATTR_NAME_CAPS XATTR_SECURITY_PREFIX XATTR_CAPS_SUFFIX
-
-#define XATTR_POSIX_ACL_ACCESS "posix_acl_access"
-#define XATTR_NAME_POSIX_ACL_ACCESS XATTR_SYSTEM_PREFIX XATTR_POSIX_ACL_ACCESS
-#define XATTR_POSIX_ACL_DEFAULT "posix_acl_default"
-#define XATTR_NAME_POSIX_ACL_DEFAULT XATTR_SYSTEM_PREFIX XATTR_POSIX_ACL_DEFAULT
-
-
-#endif /* _LINUX_XATTR_H */
diff --git a/linux-headers/include/linux/xfrm.h b/linux-headers/include/linux/xfrm.h
deleted file mode 100644
index b8f5451..0000000
--- a/linux-headers/include/linux/xfrm.h
+++ /dev/null
@@ -1,526 +0,0 @@
-#ifndef _LINUX_XFRM_H
-#define _LINUX_XFRM_H
-
-#include <linux/in6.h>
-#include <linux/types.h>
-
-/* All of the structures in this file may not change size as they are
- * passed into the kernel from userspace via netlink sockets.
- */
-
-/* Structure to encapsulate addresses. I do not want to use
- * "standard" structure. My apologies.
- */
-typedef union {
- __be32 a4;
- __be32 a6[4];
- struct in6_addr in6;
-} xfrm_address_t;
-
-/* Ident of a specific xfrm_state. It is used on input to lookup
- * the state by (spi,daddr,ah/esp) or to store information about
- * spi, protocol and tunnel address on output.
- */
-struct xfrm_id {
- xfrm_address_t daddr;
- __be32 spi;
- __u8 proto;
-};
-
-struct xfrm_sec_ctx {
- __u8 ctx_doi;
- __u8 ctx_alg;
- __u16 ctx_len;
- __u32 ctx_sid;
- char ctx_str[0];
-};
-
-/* Security Context Domains of Interpretation */
-#define XFRM_SC_DOI_RESERVED 0
-#define XFRM_SC_DOI_LSM 1
-
-/* Security Context Algorithms */
-#define XFRM_SC_ALG_RESERVED 0
-#define XFRM_SC_ALG_SELINUX 1
-
-/* Selector, used as selector both on policy rules (SPD) and SAs. */
-
-struct xfrm_selector {
- xfrm_address_t daddr;
- xfrm_address_t saddr;
- __be16 dport;
- __be16 dport_mask;
- __be16 sport;
- __be16 sport_mask;
- __u16 family;
- __u8 prefixlen_d;
- __u8 prefixlen_s;
- __u8 proto;
- int ifindex;
- __kernel_uid32_t user;
-};
-
-#define XFRM_INF (~(__u64)0)
-
-struct xfrm_lifetime_cfg {
- __u64 soft_byte_limit;
- __u64 hard_byte_limit;
- __u64 soft_packet_limit;
- __u64 hard_packet_limit;
- __u64 soft_add_expires_seconds;
- __u64 hard_add_expires_seconds;
- __u64 soft_use_expires_seconds;
- __u64 hard_use_expires_seconds;
-};
-
-struct xfrm_lifetime_cur {
- __u64 bytes;
- __u64 packets;
- __u64 add_time;
- __u64 use_time;
-};
-
-struct xfrm_replay_state {
- __u32 oseq;
- __u32 seq;
- __u32 bitmap;
-};
-
-#define XFRMA_REPLAY_ESN_MAX 4096
-
-struct xfrm_replay_state_esn {
- unsigned int bmp_len;
- __u32 oseq;
- __u32 seq;
- __u32 oseq_hi;
- __u32 seq_hi;
- __u32 replay_window;
- __u32 bmp[0];
-};
-
-struct xfrm_algo {
- char alg_name[64];
- unsigned int alg_key_len; /* in bits */
- char alg_key[0];
-};
-
-struct xfrm_algo_auth {
- char alg_name[64];
- unsigned int alg_key_len; /* in bits */
- unsigned int alg_trunc_len; /* in bits */
- char alg_key[0];
-};
-
-struct xfrm_algo_aead {
- char alg_name[64];
- unsigned int alg_key_len; /* in bits */
- unsigned int alg_icv_len; /* in bits */
- char alg_key[0];
-};
-
-struct xfrm_stats {
- __u32 replay_window;
- __u32 replay;
- __u32 integrity_failed;
-};
-
-enum {
- XFRM_POLICY_TYPE_MAIN = 0,
- XFRM_POLICY_TYPE_SUB = 1,
- XFRM_POLICY_TYPE_MAX = 2,
- XFRM_POLICY_TYPE_ANY = 255
-};
-
-enum {
- XFRM_POLICY_IN = 0,
- XFRM_POLICY_OUT = 1,
- XFRM_POLICY_FWD = 2,
- XFRM_POLICY_MASK = 3,
- XFRM_POLICY_MAX = 3
-};
-
-enum {
- XFRM_SHARE_ANY, /* No limitations */
- XFRM_SHARE_SESSION, /* For this session only */
- XFRM_SHARE_USER, /* For this user only */
- XFRM_SHARE_UNIQUE /* Use once */
-};
-
-#define XFRM_MODE_TRANSPORT 0
-#define XFRM_MODE_TUNNEL 1
-#define XFRM_MODE_ROUTEOPTIMIZATION 2
-#define XFRM_MODE_IN_TRIGGER 3
-#define XFRM_MODE_BEET 4
-#define XFRM_MODE_MAX 5
-
-/* Netlink configuration messages. */
-enum {
- XFRM_MSG_BASE = 0x10,
-
- XFRM_MSG_NEWSA = 0x10,
-#define XFRM_MSG_NEWSA XFRM_MSG_NEWSA
- XFRM_MSG_DELSA,
-#define XFRM_MSG_DELSA XFRM_MSG_DELSA
- XFRM_MSG_GETSA,
-#define XFRM_MSG_GETSA XFRM_MSG_GETSA
-
- XFRM_MSG_NEWPOLICY,
-#define XFRM_MSG_NEWPOLICY XFRM_MSG_NEWPOLICY
- XFRM_MSG_DELPOLICY,
-#define XFRM_MSG_DELPOLICY XFRM_MSG_DELPOLICY
- XFRM_MSG_GETPOLICY,
-#define XFRM_MSG_GETPOLICY XFRM_MSG_GETPOLICY
-
- XFRM_MSG_ALLOCSPI,
-#define XFRM_MSG_ALLOCSPI XFRM_MSG_ALLOCSPI
- XFRM_MSG_ACQUIRE,
-#define XFRM_MSG_ACQUIRE XFRM_MSG_ACQUIRE
- XFRM_MSG_EXPIRE,
-#define XFRM_MSG_EXPIRE XFRM_MSG_EXPIRE
-
- XFRM_MSG_UPDPOLICY,
-#define XFRM_MSG_UPDPOLICY XFRM_MSG_UPDPOLICY
- XFRM_MSG_UPDSA,
-#define XFRM_MSG_UPDSA XFRM_MSG_UPDSA
-
- XFRM_MSG_POLEXPIRE,
-#define XFRM_MSG_POLEXPIRE XFRM_MSG_POLEXPIRE
-
- XFRM_MSG_FLUSHSA,
-#define XFRM_MSG_FLUSHSA XFRM_MSG_FLUSHSA
- XFRM_MSG_FLUSHPOLICY,
-#define XFRM_MSG_FLUSHPOLICY XFRM_MSG_FLUSHPOLICY
-
- XFRM_MSG_NEWAE,
-#define XFRM_MSG_NEWAE XFRM_MSG_NEWAE
- XFRM_MSG_GETAE,
-#define XFRM_MSG_GETAE XFRM_MSG_GETAE
-
- XFRM_MSG_REPORT,
-#define XFRM_MSG_REPORT XFRM_MSG_REPORT
-
- XFRM_MSG_MIGRATE,
-#define XFRM_MSG_MIGRATE XFRM_MSG_MIGRATE
-
- XFRM_MSG_NEWSADINFO,
-#define XFRM_MSG_NEWSADINFO XFRM_MSG_NEWSADINFO
- XFRM_MSG_GETSADINFO,
-#define XFRM_MSG_GETSADINFO XFRM_MSG_GETSADINFO
-
- XFRM_MSG_NEWSPDINFO,
-#define XFRM_MSG_NEWSPDINFO XFRM_MSG_NEWSPDINFO
- XFRM_MSG_GETSPDINFO,
-#define XFRM_MSG_GETSPDINFO XFRM_MSG_GETSPDINFO
-
- XFRM_MSG_MAPPING,
-#define XFRM_MSG_MAPPING XFRM_MSG_MAPPING
- __XFRM_MSG_MAX
-};
-#define XFRM_MSG_MAX (__XFRM_MSG_MAX - 1)
-
-#define XFRM_NR_MSGTYPES (XFRM_MSG_MAX + 1 - XFRM_MSG_BASE)
-
-/*
- * Generic LSM security context for comunicating to user space
- * NOTE: Same format as sadb_x_sec_ctx
- */
-struct xfrm_user_sec_ctx {
- __u16 len;
- __u16 exttype;
- __u8 ctx_alg; /* LSMs: e.g., selinux == 1 */
- __u8 ctx_doi;
- __u16 ctx_len;
-};
-
-struct xfrm_user_tmpl {
- struct xfrm_id id;
- __u16 family;
- xfrm_address_t saddr;
- __u32 reqid;
- __u8 mode;
- __u8 share;
- __u8 optional;
- __u32 aalgos;
- __u32 ealgos;
- __u32 calgos;
-};
-
-struct xfrm_encap_tmpl {
- __u16 encap_type;
- __be16 encap_sport;
- __be16 encap_dport;
- xfrm_address_t encap_oa;
-};
-
-/* AEVENT flags */
-enum xfrm_ae_ftype_t {
- XFRM_AE_UNSPEC,
- XFRM_AE_RTHR=1, /* replay threshold*/
- XFRM_AE_RVAL=2, /* replay value */
- XFRM_AE_LVAL=4, /* lifetime value */
- XFRM_AE_ETHR=8, /* expiry timer threshold */
- XFRM_AE_CR=16, /* Event cause is replay update */
- XFRM_AE_CE=32, /* Event cause is timer expiry */
- XFRM_AE_CU=64, /* Event cause is policy update */
- __XFRM_AE_MAX
-
-#define XFRM_AE_MAX (__XFRM_AE_MAX - 1)
-};
-
-struct xfrm_userpolicy_type {
- __u8 type;
- __u16 reserved1;
- __u8 reserved2;
-};
-
-/* Netlink message attributes. */
-enum xfrm_attr_type_t {
- XFRMA_UNSPEC,
- XFRMA_ALG_AUTH, /* struct xfrm_algo */
- XFRMA_ALG_CRYPT, /* struct xfrm_algo */
- XFRMA_ALG_COMP, /* struct xfrm_algo */
- XFRMA_ENCAP, /* struct xfrm_algo + struct xfrm_encap_tmpl */
- XFRMA_TMPL, /* 1 or more struct xfrm_user_tmpl */
- XFRMA_SA, /* struct xfrm_usersa_info */
- XFRMA_POLICY, /*struct xfrm_userpolicy_info */
- XFRMA_SEC_CTX, /* struct xfrm_sec_ctx */
- XFRMA_LTIME_VAL,
- XFRMA_REPLAY_VAL,
- XFRMA_REPLAY_THRESH,
- XFRMA_ETIMER_THRESH,
- XFRMA_SRCADDR, /* xfrm_address_t */
- XFRMA_COADDR, /* xfrm_address_t */
- XFRMA_LASTUSED, /* unsigned long */
- XFRMA_POLICY_TYPE, /* struct xfrm_userpolicy_type */
- XFRMA_MIGRATE,
- XFRMA_ALG_AEAD, /* struct xfrm_algo_aead */
- XFRMA_KMADDRESS, /* struct xfrm_user_kmaddress */
- XFRMA_ALG_AUTH_TRUNC, /* struct xfrm_algo_auth */
- XFRMA_MARK, /* struct xfrm_mark */
- XFRMA_TFCPAD, /* __u32 */
- XFRMA_REPLAY_ESN_VAL, /* struct xfrm_replay_esn */
- XFRMA_SA_EXTRA_FLAGS, /* __u32 */
- XFRMA_PROTO, /* __u8 */
- XFRMA_ADDRESS_FILTER, /* struct xfrm_address_filter */
- __XFRMA_MAX
-
-#define XFRMA_MAX (__XFRMA_MAX - 1)
-};
-
-struct xfrm_mark {
- __u32 v; /* value */
- __u32 m; /* mask */
-};
-
-enum xfrm_sadattr_type_t {
- XFRMA_SAD_UNSPEC,
- XFRMA_SAD_CNT,
- XFRMA_SAD_HINFO,
- __XFRMA_SAD_MAX
-
-#define XFRMA_SAD_MAX (__XFRMA_SAD_MAX - 1)
-};
-
-struct xfrmu_sadhinfo {
- __u32 sadhcnt; /* current hash bkts */
- __u32 sadhmcnt; /* max allowed hash bkts */
-};
-
-enum xfrm_spdattr_type_t {
- XFRMA_SPD_UNSPEC,
- XFRMA_SPD_INFO,
- XFRMA_SPD_HINFO,
- XFRMA_SPD_IPV4_HTHRESH,
- XFRMA_SPD_IPV6_HTHRESH,
- __XFRMA_SPD_MAX
-
-#define XFRMA_SPD_MAX (__XFRMA_SPD_MAX - 1)
-};
-
-struct xfrmu_spdinfo {
- __u32 incnt;
- __u32 outcnt;
- __u32 fwdcnt;
- __u32 inscnt;
- __u32 outscnt;
- __u32 fwdscnt;
-};
-
-struct xfrmu_spdhinfo {
- __u32 spdhcnt;
- __u32 spdhmcnt;
-};
-
-struct xfrmu_spdhthresh {
- __u8 lbits;
- __u8 rbits;
-};
-
-struct xfrm_usersa_info {
- struct xfrm_selector sel;
- struct xfrm_id id;
- xfrm_address_t saddr;
- struct xfrm_lifetime_cfg lft;
- struct xfrm_lifetime_cur curlft;
- struct xfrm_stats stats;
- __u32 seq;
- __u32 reqid;
- __u16 family;
- __u8 mode; /* XFRM_MODE_xxx */
- __u8 replay_window;
- __u8 flags;
-#define XFRM_STATE_NOECN 1
-#define XFRM_STATE_DECAP_DSCP 2
-#define XFRM_STATE_NOPMTUDISC 4
-#define XFRM_STATE_WILDRECV 8
-#define XFRM_STATE_ICMP 16
-#define XFRM_STATE_AF_UNSPEC 32
-#define XFRM_STATE_ALIGN4 64
-#define XFRM_STATE_ESN 128
-};
-
-#define XFRM_SA_XFLAG_DONT_ENCAP_DSCP 1
-
-struct xfrm_usersa_id {
- xfrm_address_t daddr;
- __be32 spi;
- __u16 family;
- __u8 proto;
-};
-
-struct xfrm_aevent_id {
- struct xfrm_usersa_id sa_id;
- xfrm_address_t saddr;
- __u32 flags;
- __u32 reqid;
-};
-
-struct xfrm_userspi_info {
- struct xfrm_usersa_info info;
- __u32 min;
- __u32 max;
-};
-
-struct xfrm_userpolicy_info {
- struct xfrm_selector sel;
- struct xfrm_lifetime_cfg lft;
- struct xfrm_lifetime_cur curlft;
- __u32 priority;
- __u32 index;
- __u8 dir;
- __u8 action;
-#define XFRM_POLICY_ALLOW 0
-#define XFRM_POLICY_BLOCK 1
- __u8 flags;
-#define XFRM_POLICY_LOCALOK 1 /* Allow user to override global policy */
- /* Automatically expand selector to include matching ICMP payloads. */
-#define XFRM_POLICY_ICMP 2
- __u8 share;
-};
-
-struct xfrm_userpolicy_id {
- struct xfrm_selector sel;
- __u32 index;
- __u8 dir;
-};
-
-struct xfrm_user_acquire {
- struct xfrm_id id;
- xfrm_address_t saddr;
- struct xfrm_selector sel;
- struct xfrm_userpolicy_info policy;
- __u32 aalgos;
- __u32 ealgos;
- __u32 calgos;
- __u32 seq;
-};
-
-struct xfrm_user_expire {
- struct xfrm_usersa_info state;
- __u8 hard;
-};
-
-struct xfrm_user_polexpire {
- struct xfrm_userpolicy_info pol;
- __u8 hard;
-};
-
-struct xfrm_usersa_flush {
- __u8 proto;
-};
-
-struct xfrm_user_report {
- __u8 proto;
- struct xfrm_selector sel;
-};
-
-/* Used by MIGRATE to pass addresses IKE should use to perform
- * SA negotiation with the peer */
-struct xfrm_user_kmaddress {
- xfrm_address_t local;
- xfrm_address_t remote;
- __u32 reserved;
- __u16 family;
-};
-
-struct xfrm_user_migrate {
- xfrm_address_t old_daddr;
- xfrm_address_t old_saddr;
- xfrm_address_t new_daddr;
- xfrm_address_t new_saddr;
- __u8 proto;
- __u8 mode;
- __u16 reserved;
- __u32 reqid;
- __u16 old_family;
- __u16 new_family;
-};
-
-struct xfrm_user_mapping {
- struct xfrm_usersa_id id;
- __u32 reqid;
- xfrm_address_t old_saddr;
- xfrm_address_t new_saddr;
- __be16 old_sport;
- __be16 new_sport;
-};
-
-struct xfrm_address_filter {
- xfrm_address_t saddr;
- xfrm_address_t daddr;
- __u16 family;
- __u8 splen;
- __u8 dplen;
-};
-
-/* backwards compatibility for userspace */
-#define XFRMGRP_ACQUIRE 1
-#define XFRMGRP_EXPIRE 2
-#define XFRMGRP_SA 4
-#define XFRMGRP_POLICY 8
-#define XFRMGRP_REPORT 0x20
-
-enum xfrm_nlgroups {
- XFRMNLGRP_NONE,
-#define XFRMNLGRP_NONE XFRMNLGRP_NONE
- XFRMNLGRP_ACQUIRE,
-#define XFRMNLGRP_ACQUIRE XFRMNLGRP_ACQUIRE
- XFRMNLGRP_EXPIRE,
-#define XFRMNLGRP_EXPIRE XFRMNLGRP_EXPIRE
- XFRMNLGRP_SA,
-#define XFRMNLGRP_SA XFRMNLGRP_SA
- XFRMNLGRP_POLICY,
-#define XFRMNLGRP_POLICY XFRMNLGRP_POLICY
- XFRMNLGRP_AEVENTS,
-#define XFRMNLGRP_AEVENTS XFRMNLGRP_AEVENTS
- XFRMNLGRP_REPORT,
-#define XFRMNLGRP_REPORT XFRMNLGRP_REPORT
- XFRMNLGRP_MIGRATE,
-#define XFRMNLGRP_MIGRATE XFRMNLGRP_MIGRATE
- XFRMNLGRP_MAPPING,
-#define XFRMNLGRP_MAPPING XFRMNLGRP_MAPPING
- __XFRMNLGRP_MAX
-};
-#define XFRMNLGRP_MAX (__XFRMNLGRP_MAX - 1)
-
-#endif /* _LINUX_XFRM_H */
diff --git a/linux-headers/include/linux/xilinx-v4l2-controls.h b/linux-headers/include/linux/xilinx-v4l2-controls.h
deleted file mode 100644
index fb495b9..0000000
--- a/linux-headers/include/linux/xilinx-v4l2-controls.h
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Xilinx Controls Header
- *
- * Copyright (C) 2013-2015 Ideas on Board
- * Copyright (C) 2013-2015 Xilinx, Inc.
- *
- * Contacts: Hyun Kwon <hyun.kwon@xilinx.com>
- * Laurent Pinchart <laurent.pinchart@ideasonboard.com>
- *
- * This software is licensed under the terms of the GNU General Public
- * License version 2, as published by the Free Software Foundation, and
- * may be copied, distributed, and modified under those terms.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- */
-
-#ifndef __UAPI_XILINX_V4L2_CONTROLS_H__
-#define __UAPI_XILINX_V4L2_CONTROLS_H__
-
-#include <linux/v4l2-controls.h>
-
-#define V4L2_CID_XILINX_OFFSET 0xc000
-#define V4L2_CID_XILINX_BASE (V4L2_CID_USER_BASE + V4L2_CID_XILINX_OFFSET)
-
-/*
- * Private Controls for Xilinx Video IPs
- */
-
-/*
- * Xilinx TPG Video IP
- */
-
-#define V4L2_CID_XILINX_TPG (V4L2_CID_USER_BASE + 0xc000)
-
-/* Draw cross hairs */
-#define V4L2_CID_XILINX_TPG_CROSS_HAIRS (V4L2_CID_XILINX_TPG + 1)
-/* Enable a moving box */
-#define V4L2_CID_XILINX_TPG_MOVING_BOX (V4L2_CID_XILINX_TPG + 2)
-/* Mask out a color component */
-#define V4L2_CID_XILINX_TPG_COLOR_MASK (V4L2_CID_XILINX_TPG + 3)
-/* Enable a stuck pixel feature */
-#define V4L2_CID_XILINX_TPG_STUCK_PIXEL (V4L2_CID_XILINX_TPG + 4)
-/* Enable a noisy output */
-#define V4L2_CID_XILINX_TPG_NOISE (V4L2_CID_XILINX_TPG + 5)
-/* Enable the motion feature */
-#define V4L2_CID_XILINX_TPG_MOTION (V4L2_CID_XILINX_TPG + 6)
-/* Configure the motion speed of moving patterns */
-#define V4L2_CID_XILINX_TPG_MOTION_SPEED (V4L2_CID_XILINX_TPG + 7)
-/* The row of horizontal cross hair location */
-#define V4L2_CID_XILINX_TPG_CROSS_HAIR_ROW (V4L2_CID_XILINX_TPG + 8)
-/* The colum of vertical cross hair location */
-#define V4L2_CID_XILINX_TPG_CROSS_HAIR_COLUMN (V4L2_CID_XILINX_TPG + 9)
-/* Set starting point of sine wave for horizontal component */
-#define V4L2_CID_XILINX_TPG_ZPLATE_HOR_START (V4L2_CID_XILINX_TPG + 10)
-/* Set speed of the horizontal component */
-#define V4L2_CID_XILINX_TPG_ZPLATE_HOR_SPEED (V4L2_CID_XILINX_TPG + 11)
-/* Set starting point of sine wave for vertical component */
-#define V4L2_CID_XILINX_TPG_ZPLATE_VER_START (V4L2_CID_XILINX_TPG + 12)
-/* Set speed of the vertical component */
-#define V4L2_CID_XILINX_TPG_ZPLATE_VER_SPEED (V4L2_CID_XILINX_TPG + 13)
-/* Moving box size */
-#define V4L2_CID_XILINX_TPG_BOX_SIZE (V4L2_CID_XILINX_TPG + 14)
-/* Moving box color */
-#define V4L2_CID_XILINX_TPG_BOX_COLOR (V4L2_CID_XILINX_TPG + 15)
-/* Upper limit count of generated stuck pixels */
-#define V4L2_CID_XILINX_TPG_STUCK_PIXEL_THRESH (V4L2_CID_XILINX_TPG + 16)
-/* Noise level */
-#define V4L2_CID_XILINX_TPG_NOISE_GAIN (V4L2_CID_XILINX_TPG + 17)
-
-#endif /* __UAPI_XILINX_V4L2_CONTROLS_H__ */
diff --git a/linux-headers/include/linux/zorro.h b/linux-headers/include/linux/zorro.h
deleted file mode 100644
index 2a26edf..0000000
--- a/linux-headers/include/linux/zorro.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * linux/zorro.h -- Amiga AutoConfig (Zorro) Bus Definitions
- *
- * Copyright (C) 1995--2003 Geert Uytterhoeven
- *
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file COPYING in the main directory of this archive
- * for more details.
- */
-
-#ifndef _LINUX_ZORRO_H
-#define _LINUX_ZORRO_H
-
-#include <linux/types.h>
-
-
- /*
- * Each Zorro board has a 32-bit ID of the form
- *
- * mmmmmmmmmmmmmmmmppppppppeeeeeeee
- *
- * with
- *
- * mmmmmmmmmmmmmmmm 16-bit Manufacturer ID (assigned by CBM (sigh))
- * pppppppp 8-bit Product ID (assigned by manufacturer)
- * eeeeeeee 8-bit Extended Product ID (currently only used
- * for some GVP boards)
- */
-
-
-#define ZORRO_MANUF(id) ((id) >> 16)
-#define ZORRO_PROD(id) (((id) >> 8) & 0xff)
-#define ZORRO_EPC(id) ((id) & 0xff)
-
-#define ZORRO_ID(manuf, prod, epc) \
- ((ZORRO_MANUF_##manuf << 16) | ((prod) << 8) | (epc))
-
-typedef __u32 zorro_id;
-
-
-/* Include the ID list */
-#include <linux/zorro_ids.h>
-
-
- /*
- * GVP identifies most of its products through the 'extended product code'
- * (epc). The epc has to be ANDed with the GVP_PRODMASK before the
- * identification.
- */
-
-#define GVP_PRODMASK (0xf8)
-#define GVP_SCSICLKMASK (0x01)
-
-enum GVP_flags {
- GVP_IO = 0x01,
- GVP_ACCEL = 0x02,
- GVP_SCSI = 0x04,
- GVP_24BITDMA = 0x08,
- GVP_25BITDMA = 0x10,
- GVP_NOBANK = 0x20,
- GVP_14MHZ = 0x40,
-};
-
-
-struct Node {
- __be32 ln_Succ; /* Pointer to next (successor) */
- __be32 ln_Pred; /* Pointer to previous (predecessor) */
- __u8 ln_Type;
- __s8 ln_Pri; /* Priority, for sorting */
- __be32 ln_Name; /* ID string, null terminated */
-} __attribute__((packed));
-
-struct ExpansionRom {
- /* -First 16 bytes of the expansion ROM */
- __u8 er_Type; /* Board type, size and flags */
- __u8 er_Product; /* Product number, assigned by manufacturer */
- __u8 er_Flags; /* Flags */
- __u8 er_Reserved03; /* Must be zero ($ff inverted) */
- __be16 er_Manufacturer; /* Unique ID, ASSIGNED BY COMMODORE-AMIGA! */
- __be32 er_SerialNumber; /* Available for use by manufacturer */
- __be16 er_InitDiagVec; /* Offset to optional "DiagArea" structure */
- __u8 er_Reserved0c;
- __u8 er_Reserved0d;
- __u8 er_Reserved0e;
- __u8 er_Reserved0f;
-} __attribute__((packed));
-
-/* er_Type board type bits */
-#define ERT_TYPEMASK 0xc0
-#define ERT_ZORROII 0xc0
-#define ERT_ZORROIII 0x80
-
-/* other bits defined in er_Type */
-#define ERTB_MEMLIST 5 /* Link RAM into free memory list */
-#define ERTF_MEMLIST (1<<5)
-
-struct ConfigDev {
- struct Node cd_Node;
- __u8 cd_Flags; /* (read/write) */
- __u8 cd_Pad; /* reserved */
- struct ExpansionRom cd_Rom; /* copy of board's expansion ROM */
- __be32 cd_BoardAddr; /* where in memory the board was placed */
- __be32 cd_BoardSize; /* size of board in bytes */
- __be16 cd_SlotAddr; /* which slot number (PRIVATE) */
- __be16 cd_SlotSize; /* number of slots (PRIVATE) */
- __be32 cd_Driver; /* pointer to node of driver */
- __be32 cd_NextCD; /* linked list of drivers to config */
- __be32 cd_Unused[4]; /* for whatever the driver wants */
-} __attribute__((packed));
-
-#define ZORRO_NUM_AUTO 16
-
-#endif /* _LINUX_ZORRO_H */
diff --git a/linux-headers/include/linux/zorro_ids.h b/linux-headers/include/linux/zorro_ids.h
deleted file mode 100644
index 74bc53b..0000000
--- a/linux-headers/include/linux/zorro_ids.h
+++ /dev/null
@@ -1,552 +0,0 @@
-/*
- * Zorro board IDs
- *
- * Please keep sorted.
- */
-
-
-#define ZORRO_MANUF_PACIFIC_PERIPHERALS 0x00D3
-#define ZORRO_PROD_PACIFIC_PERIPHERALS_SE_2000_A500 ZORRO_ID(PACIFIC_PERIPHERALS, 0x00, 0)
-#define ZORRO_PROD_PACIFIC_PERIPHERALS_SCSI ZORRO_ID(PACIFIC_PERIPHERALS, 0x0A, 0)
-
-#define ZORRO_MANUF_MACROSYSTEMS_USA_2 0x0100
-#define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE ZORRO_ID(MACROSYSTEMS_USA_2, 0x13, 0)
-
-#define ZORRO_MANUF_KUPKE_1 0x00DD
-#define ZORRO_PROD_KUPKE_GOLEM_RAM_BOX_2MB ZORRO_ID(KUPKE_1, 0x00, 0)
-
-#define ZORRO_MANUF_MEMPHIS 0x0100
-#define ZORRO_PROD_MEMPHIS_STORMBRINGER ZORRO_ID(MEMPHIS, 0x00, 0)
-
-#define ZORRO_MANUF_3_STATE 0x0200
-#define ZORRO_PROD_3_STATE_MEGAMIX_2000 ZORRO_ID(3_STATE, 0x02, 0)
-
-#define ZORRO_MANUF_COMMODORE_BRAUNSCHWEIG 0x0201
-#define ZORRO_PROD_CBM_A2088_A2286 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x01, 0)
-#define ZORRO_PROD_CBM_A2286 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x02, 0)
-#define ZORRO_PROD_CBM_A4091_1 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x54, 0)
-#define ZORRO_PROD_CBM_A2386SX_1 ZORRO_ID(COMMODORE_BRAUNSCHWEIG, 0x67, 0)
-
-#define ZORRO_MANUF_COMMODORE_WEST_CHESTER_1 0x0202
-#define ZORRO_PROD_CBM_A2090A ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x01, 0)
-#define ZORRO_PROD_CBM_A590_A2091_1 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x02, 0)
-#define ZORRO_PROD_CBM_A590_A2091_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x03, 0)
-#define ZORRO_PROD_CBM_A2090B ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x04, 0)
-#define ZORRO_PROD_CBM_A2060 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x09, 0)
-#define ZORRO_PROD_CBM_A590_A2052_A2058_A2091 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x0A, 0)
-#define ZORRO_PROD_CBM_A560_RAM ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x20, 0)
-#define ZORRO_PROD_CBM_A2232_PROTOTYPE ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x45, 0)
-#define ZORRO_PROD_CBM_A2232 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x46, 0)
-#define ZORRO_PROD_CBM_A2620 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x50, 0)
-#define ZORRO_PROD_CBM_A2630 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x51, 0)
-#define ZORRO_PROD_CBM_A4091_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x54, 0)
-#define ZORRO_PROD_CBM_A2065_1 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x5A, 0)
-#define ZORRO_PROD_CBM_ROMULATOR ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x60, 0)
-#define ZORRO_PROD_CBM_A3000_TEST_FIXTURE ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x61, 0)
-#define ZORRO_PROD_CBM_A2386SX_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x67, 0)
-#define ZORRO_PROD_CBM_A2065_2 ZORRO_ID(COMMODORE_WEST_CHESTER_1, 0x70, 0)
-
-#define ZORRO_MANUF_COMMODORE_WEST_CHESTER_2 0x0203
-#define ZORRO_PROD_CBM_A2090A_CM ZORRO_ID(COMMODORE_WEST_CHESTER_2, 0x03, 0)
-
-#define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2 0x02F4
-#define ZORRO_PROD_PPS_EXP8000 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS_2, 0x02, 0)
-
-#define ZORRO_MANUF_KOLFF_COMPUTER_SUPPLIES 0x02FF
-#define ZORRO_PROD_KCS_POWER_PC_BOARD ZORRO_ID(KOLFF_COMPUTER_SUPPLIES, 0x00, 0)
-
-#define ZORRO_MANUF_CARDCO_1 0x03EC
-#define ZORRO_PROD_CARDCO_KRONOS_2000_1 ZORRO_ID(CARDCO_1, 0x04, 0)
-#define ZORRO_PROD_CARDCO_A1000_1 ZORRO_ID(CARDCO_1, 0x0C, 0)
-#define ZORRO_PROD_CARDCO_ESCORT ZORRO_ID(CARDCO_1, 0x0E, 0)
-#define ZORRO_PROD_CARDCO_A2410 ZORRO_ID(CARDCO_1, 0xF5, 0)
-
-#define ZORRO_MANUF_A_SQUARED 0x03ED
-#define ZORRO_PROD_A_SQUARED_LIVE_2000 ZORRO_ID(A_SQUARED, 0x01, 0)
-
-#define ZORRO_MANUF_COMSPEC_COMMUNICATIONS 0x03EE
-#define ZORRO_PROD_COMSPEC_COMMUNICATIONS_AX2000 ZORRO_ID(COMSPEC_COMMUNICATIONS, 0x01, 0)
-
-#define ZORRO_MANUF_ANAKIN_RESEARCH 0x03F1
-#define ZORRO_PROD_ANAKIN_RESEARCH_EASYL ZORRO_ID(ANAKIN_RESEARCH, 0x01, 0)
-
-#define ZORRO_MANUF_MICROBOTICS 0x03F2
-#define ZORRO_PROD_MICROBOTICS_STARBOARD_II ZORRO_ID(MICROBOTICS, 0x00, 0)
-#define ZORRO_PROD_MICROBOTICS_STARDRIVE ZORRO_ID(MICROBOTICS, 0x02, 0)
-#define ZORRO_PROD_MICROBOTICS_8_UP_A ZORRO_ID(MICROBOTICS, 0x03, 0)
-#define ZORRO_PROD_MICROBOTICS_8_UP_Z ZORRO_ID(MICROBOTICS, 0x04, 0)
-#define ZORRO_PROD_MICROBOTICS_DELTA_RAM ZORRO_ID(MICROBOTICS, 0x20, 0)
-#define ZORRO_PROD_MICROBOTICS_8_STAR_RAM ZORRO_ID(MICROBOTICS, 0x40, 0)
-#define ZORRO_PROD_MICROBOTICS_8_STAR ZORRO_ID(MICROBOTICS, 0x41, 0)
-#define ZORRO_PROD_MICROBOTICS_VXL_RAM_32 ZORRO_ID(MICROBOTICS, 0x44, 0)
-#define ZORRO_PROD_MICROBOTICS_VXL_68030 ZORRO_ID(MICROBOTICS, 0x45, 0)
-#define ZORRO_PROD_MICROBOTICS_DELTA ZORRO_ID(MICROBOTICS, 0x60, 0)
-#define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z_RAM ZORRO_ID(MICROBOTICS, 0x81, 0)
-#define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_1 ZORRO_ID(MICROBOTICS, 0x96, 0)
-#define ZORRO_PROD_MICROBOTICS_HARDFRAME_2000_2 ZORRO_ID(MICROBOTICS, 0x9E, 0)
-#define ZORRO_PROD_MICROBOTICS_MBX_1200_1200Z ZORRO_ID(MICROBOTICS, 0xC1, 0)
-
-#define ZORRO_MANUF_ACCESS_ASSOCIATES_ALEGRA 0x03F4
-
-#define ZORRO_MANUF_EXPANSION_TECHNOLOGIES 0x03F6
-
-#define ZORRO_MANUF_ASDG 0x03FF
-#define ZORRO_PROD_ASDG_MEMORY_1 ZORRO_ID(ASDG, 0x01, 0)
-#define ZORRO_PROD_ASDG_MEMORY_2 ZORRO_ID(ASDG, 0x02, 0)
-#define ZORRO_PROD_ASDG_EB920_LAN_ROVER ZORRO_ID(ASDG, 0xFE, 0)
-#define ZORRO_PROD_ASDG_GPIB_DUALIEEE488_TWIN_X ZORRO_ID(ASDG, 0xFF, 0)
-
-#define ZORRO_MANUF_IMTRONICS_1 0x0404
-#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_1 ZORRO_ID(IMTRONICS_1, 0x39, 0)
-#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_2 ZORRO_ID(IMTRONICS_1, 0x57, 0)
-
-#define ZORRO_MANUF_CBM_UNIVERSITY_OF_LOWELL 0x0406
-#define ZORRO_PROD_CBM_A2410 ZORRO_ID(CBM_UNIVERSITY_OF_LOWELL, 0x00, 0)
-
-#define ZORRO_MANUF_AMERISTAR 0x041D
-#define ZORRO_PROD_AMERISTAR_A2065 ZORRO_ID(AMERISTAR, 0x01, 0)
-#define ZORRO_PROD_AMERISTAR_A560 ZORRO_ID(AMERISTAR, 0x09, 0)
-#define ZORRO_PROD_AMERISTAR_A4066 ZORRO_ID(AMERISTAR, 0x0A, 0)
-
-#define ZORRO_MANUF_SUPRA 0x0420
-#define ZORRO_PROD_SUPRA_SUPRADRIVE_4x4 ZORRO_ID(SUPRA, 0x01, 0)
-#define ZORRO_PROD_SUPRA_1000_RAM ZORRO_ID(SUPRA, 0x02, 0)
-#define ZORRO_PROD_SUPRA_2000_DMA ZORRO_ID(SUPRA, 0x03, 0)
-#define ZORRO_PROD_SUPRA_500 ZORRO_ID(SUPRA, 0x05, 0)
-#define ZORRO_PROD_SUPRA_500_SCSI ZORRO_ID(SUPRA, 0x08, 0)
-#define ZORRO_PROD_SUPRA_500XP_2000_RAM ZORRO_ID(SUPRA, 0x09, 0)
-#define ZORRO_PROD_SUPRA_500RX_2000_RAM ZORRO_ID(SUPRA, 0x0A, 0)
-#define ZORRO_PROD_SUPRA_2400ZI ZORRO_ID(SUPRA, 0x0B, 0)
-#define ZORRO_PROD_SUPRA_500XP_SUPRADRIVE_WORDSYNC ZORRO_ID(SUPRA, 0x0C, 0)
-#define ZORRO_PROD_SUPRA_SUPRADRIVE_WORDSYNC_II ZORRO_ID(SUPRA, 0x0D, 0)
-#define ZORRO_PROD_SUPRA_2400ZIPLUS ZORRO_ID(SUPRA, 0x10, 0)
-
-#define ZORRO_MANUF_COMPUTER_SYSTEMS_ASSOCIATES 0x0422
-#define ZORRO_PROD_CSA_MAGNUM ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x11, 0)
-#define ZORRO_PROD_CSA_12_GAUGE ZORRO_ID(COMPUTER_SYSTEMS_ASSOCIATES, 0x15, 0)
-
-#define ZORRO_MANUF_MARC_MICHAEL_GROTH 0x0439
-
-#define ZORRO_MANUF_M_TECH 0x0502
-#define ZORRO_PROD_MTEC_AT500_1 ZORRO_ID(M_TECH, 0x03, 0)
-
-#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_1 0x06E1
-#define ZORRO_PROD_GVP_IMPACT_SERIES_I ZORRO_ID(GREAT_VALLEY_PRODUCTS_1, 0x08, 0)
-
-#define ZORRO_MANUF_BYTEBOX 0x07DA
-#define ZORRO_PROD_BYTEBOX_A500 ZORRO_ID(BYTEBOX, 0x00, 0)
-
-#define ZORRO_MANUF_DKB_POWER_COMPUTING 0x07DC
-#define ZORRO_PROD_DKB_POWER_COMPUTING_SECUREKEY ZORRO_ID(DKB_POWER_COMPUTING, 0x09, 0)
-#define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_3128 ZORRO_ID(DKB_POWER_COMPUTING, 0x0E, 0)
-#define ZORRO_PROD_DKB_POWER_COMPUTING_RAPID_FIRE ZORRO_ID(DKB_POWER_COMPUTING, 0x0F, 0)
-#define ZORRO_PROD_DKB_POWER_COMPUTING_DKM_1202 ZORRO_ID(DKB_POWER_COMPUTING, 0x10, 0)
-#define ZORRO_PROD_DKB_POWER_COMPUTING_COBRA_VIPER_II_68EC030 ZORRO_ID(DKB_POWER_COMPUTING, 0x12, 0)
-#define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_1 ZORRO_ID(DKB_POWER_COMPUTING, 0x17, 0)
-#define ZORRO_PROD_DKB_POWER_COMPUTING_WILDFIRE_060_2 ZORRO_ID(DKB_POWER_COMPUTING, 0xFF, 0)
-
-#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_2 0x07E1
-#define ZORRO_PROD_GVP_IMPACT_SERIES_I_4K ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x01, 0)
-#define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x02, 0)
-#define ZORRO_PROD_GVP_IMPACT_SERIES_I_16K_3 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x03, 0)
-#define ZORRO_PROD_GVP_IMPACT_3001_IDE_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x08, 0)
-#define ZORRO_PROD_GVP_IMPACT_3001_RAM ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x09, 0)
-#define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0A, 0)
-#define ZORRO_PROD_GVP_EPC_BASE ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0)
-#define ZORRO_PROD_GVP_GFORCE_040_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x20)
-#define ZORRO_PROD_GVP_GFORCE_040_SCSI_1 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x30)
-#define ZORRO_PROD_GVP_A1291 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x40)
-#define ZORRO_PROD_GVP_COMBO_030_R4 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x60)
-#define ZORRO_PROD_GVP_COMBO_030_R4_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x70)
-#define ZORRO_PROD_GVP_PHONEPAK ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x78)
-#define ZORRO_PROD_GVP_IO_EXTENDER ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0x98)
-#define ZORRO_PROD_GVP_GFORCE_030 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xa0)
-#define ZORRO_PROD_GVP_GFORCE_030_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xb0)
-#define ZORRO_PROD_GVP_A530 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xc0)
-#define ZORRO_PROD_GVP_A530_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xd0)
-#define ZORRO_PROD_GVP_COMBO_030_R3 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xe0)
-#define ZORRO_PROD_GVP_COMBO_030_R3_SCSI ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf0)
-#define ZORRO_PROD_GVP_SERIES_II ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0B, 0xf8)
-#define ZORRO_PROD_GVP_IMPACT_3001_IDE_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)
-/*#define ZORRO_PROD_GVP_A2000_030 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)*/
-/*#define ZORRO_PROD_GVP_GFORCE_040_SCSI_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x0D, 0)*/
-#define ZORRO_PROD_GVP_GFORCE_040_060 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x16, 0)
-#define ZORRO_PROD_GVP_IMPACT_VISION_24 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0x20, 0)
-#define ZORRO_PROD_GVP_GFORCE_040_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_2, 0xFF, 0)
-
-#define ZORRO_MANUF_CALIFORNIA_ACCESS_SYNERGY 0x07E5
-#define ZORRO_PROD_CALIFORNIA_ACCESS_SYNERGY_MALIBU ZORRO_ID(CALIFORNIA_ACCESS_SYNERGY, 0x01, 0)
-
-#define ZORRO_MANUF_XETEC 0x07E6
-#define ZORRO_PROD_XETEC_FASTCARD ZORRO_ID(XETEC, 0x01, 0)
-#define ZORRO_PROD_XETEC_FASTCARD_RAM ZORRO_ID(XETEC, 0x02, 0)
-#define ZORRO_PROD_XETEC_FASTCARD_PLUS ZORRO_ID(XETEC, 0x03, 0)
-
-#define ZORRO_MANUF_PROGRESSIVE_PERIPHERALS_AND_SYSTEMS 0x07EA
-#define ZORRO_PROD_PPS_MERCURY ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x00, 0)
-#define ZORRO_PROD_PPS_A3000_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x01, 0)
-#define ZORRO_PROD_PPS_A2000_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x69, 0)
-#define ZORRO_PROD_PPS_ZEUS ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0x96, 0)
-#define ZORRO_PROD_PPS_A500_68040 ZORRO_ID(PROGRESSIVE_PERIPHERALS_AND_SYSTEMS, 0xBB, 0)
-
-#define ZORRO_MANUF_XEBEC 0x07EC
-
-#define ZORRO_MANUF_SPIRIT_TECHNOLOGY 0x07F2
-#define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN1000 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x01, 0)
-#define ZORRO_PROD_SPIRIT_TECHNOLOGY_INSIDER_IN500 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x02, 0)
-#define ZORRO_PROD_SPIRIT_TECHNOLOGY_SIN500 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x03, 0)
-#define ZORRO_PROD_SPIRIT_TECHNOLOGY_HDA_506 ZORRO_ID(SPIRIT_TECHNOLOGY, 0x04, 0)
-#define ZORRO_PROD_SPIRIT_TECHNOLOGY_AX_S ZORRO_ID(SPIRIT_TECHNOLOGY, 0x05, 0)
-#define ZORRO_PROD_SPIRIT_TECHNOLOGY_OCTABYTE ZORRO_ID(SPIRIT_TECHNOLOGY, 0x06, 0)
-#define ZORRO_PROD_SPIRIT_TECHNOLOGY_INMATE ZORRO_ID(SPIRIT_TECHNOLOGY, 0x08, 0)
-
-#define ZORRO_MANUF_SPIRIT_TECHNOLOGY_2 0x07F3
-
-#define ZORRO_MANUF_BSC_ALFADATA_1 0x07FE
-#define ZORRO_PROD_BSC_ALF_3_1 ZORRO_ID(BSC_ALFADATA_1, 0x03, 0)
-
-#define ZORRO_MANUF_BSC_ALFADATA_2 0x0801
-#define ZORRO_PROD_BSC_ALF_2_1 ZORRO_ID(BSC_ALFADATA_2, 0x01, 0)
-#define ZORRO_PROD_BSC_ALF_2_2 ZORRO_ID(BSC_ALFADATA_2, 0x02, 0)
-#define ZORRO_PROD_BSC_ALF_3_2 ZORRO_ID(BSC_ALFADATA_2, 0x03, 0)
-
-#define ZORRO_MANUF_CARDCO_2 0x0802
-#define ZORRO_PROD_CARDCO_KRONOS_2000_2 ZORRO_ID(CARDCO_2, 0x04, 0)
-#define ZORRO_PROD_CARDCO_A1000_2 ZORRO_ID(CARDCO_2, 0x0C, 0)
-
-#define ZORRO_MANUF_JOCHHEIM 0x0804
-#define ZORRO_PROD_JOCHHEIM_RAM ZORRO_ID(JOCHHEIM, 0x01, 0)
-
-#define ZORRO_MANUF_CHECKPOINT_TECHNOLOGIES 0x0807
-#define ZORRO_PROD_CHECKPOINT_TECHNOLOGIES_SERIAL_SOLUTION ZORRO_ID(CHECKPOINT_TECHNOLOGIES, 0x00, 0)
-
-#define ZORRO_MANUF_EDOTRONIK 0x0810
-#define ZORRO_PROD_EDOTRONIK_IEEE_488 ZORRO_ID(EDOTRONIK, 0x01, 0)
-#define ZORRO_PROD_EDOTRONIK_8032 ZORRO_ID(EDOTRONIK, 0x02, 0)
-#define ZORRO_PROD_EDOTRONIK_MULTISERIAL ZORRO_ID(EDOTRONIK, 0x03, 0)
-#define ZORRO_PROD_EDOTRONIK_VIDEODIGITIZER ZORRO_ID(EDOTRONIK, 0x04, 0)
-#define ZORRO_PROD_EDOTRONIK_PARALLEL_IO ZORRO_ID(EDOTRONIK, 0x05, 0)
-#define ZORRO_PROD_EDOTRONIK_PIC_PROTOYPING ZORRO_ID(EDOTRONIK, 0x06, 0)
-#define ZORRO_PROD_EDOTRONIK_ADC ZORRO_ID(EDOTRONIK, 0x07, 0)
-#define ZORRO_PROD_EDOTRONIK_VME ZORRO_ID(EDOTRONIK, 0x08, 0)
-#define ZORRO_PROD_EDOTRONIK_DSP96000 ZORRO_ID(EDOTRONIK, 0x09, 0)
-
-#define ZORRO_MANUF_NES_INC 0x0813
-#define ZORRO_PROD_NES_INC_RAM ZORRO_ID(NES_INC, 0x00, 0)
-
-#define ZORRO_MANUF_ICD 0x0817
-#define ZORRO_PROD_ICD_ADVANTAGE_2000_SCSI ZORRO_ID(ICD, 0x01, 0)
-#define ZORRO_PROD_ICD_ADVANTAGE_IDE ZORRO_ID(ICD, 0x03, 0)
-#define ZORRO_PROD_ICD_ADVANTAGE_2080_RAM ZORRO_ID(ICD, 0x04, 0)
-
-#define ZORRO_MANUF_KUPKE_2 0x0819
-#define ZORRO_PROD_KUPKE_OMTI ZORRO_ID(KUPKE_2, 0x01, 0)
-#define ZORRO_PROD_KUPKE_SCSI_II ZORRO_ID(KUPKE_2, 0x02, 0)
-#define ZORRO_PROD_KUPKE_GOLEM_BOX ZORRO_ID(KUPKE_2, 0x03, 0)
-#define ZORRO_PROD_KUPKE_030_882 ZORRO_ID(KUPKE_2, 0x04, 0)
-#define ZORRO_PROD_KUPKE_SCSI_AT ZORRO_ID(KUPKE_2, 0x05, 0)
-
-#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_3 0x081D
-#define ZORRO_PROD_GVP_A2000_RAM8 ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x09, 0)
-#define ZORRO_PROD_GVP_IMPACT_SERIES_II_RAM_2 ZORRO_ID(GREAT_VALLEY_PRODUCTS_3, 0x0A, 0)
-
-#define ZORRO_MANUF_INTERWORKS_NETWORK 0x081E
-
-#define ZORRO_MANUF_HARDITAL_SYNTHESIS 0x0820
-#define ZORRO_PROD_HARDITAL_SYNTHESIS_TQM_68030_68882 ZORRO_ID(HARDITAL_SYNTHESIS, 0x14, 0)
-
-#define ZORRO_MANUF_APPLIED_ENGINEERING 0x0828
-#define ZORRO_PROD_APPLIED_ENGINEERING_DL2000 ZORRO_ID(APPLIED_ENGINEERING, 0x10, 0)
-#define ZORRO_PROD_APPLIED_ENGINEERING_RAM_WORKS ZORRO_ID(APPLIED_ENGINEERING, 0xE0, 0)
-
-#define ZORRO_MANUF_BSC_ALFADATA_3 0x082C
-#define ZORRO_PROD_BSC_OKTAGON_2008 ZORRO_ID(BSC_ALFADATA_3, 0x05, 0)
-#define ZORRO_PROD_BSC_TANDEM_AT_2008_508 ZORRO_ID(BSC_ALFADATA_3, 0x06, 0)
-#define ZORRO_PROD_BSC_ALFA_RAM_1200 ZORRO_ID(BSC_ALFADATA_3, 0x07, 0)
-#define ZORRO_PROD_BSC_OKTAGON_2008_RAM ZORRO_ID(BSC_ALFADATA_3, 0x08, 0)
-#define ZORRO_PROD_BSC_MULTIFACE_I ZORRO_ID(BSC_ALFADATA_3, 0x10, 0)
-#define ZORRO_PROD_BSC_MULTIFACE_II ZORRO_ID(BSC_ALFADATA_3, 0x11, 0)
-#define ZORRO_PROD_BSC_MULTIFACE_III ZORRO_ID(BSC_ALFADATA_3, 0x12, 0)
-#define ZORRO_PROD_BSC_FRAMEMASTER_II ZORRO_ID(BSC_ALFADATA_3, 0x20, 0)
-#define ZORRO_PROD_BSC_GRAFFITI_RAM ZORRO_ID(BSC_ALFADATA_3, 0x21, 0)
-#define ZORRO_PROD_BSC_GRAFFITI_REG ZORRO_ID(BSC_ALFADATA_3, 0x22, 0)
-#define ZORRO_PROD_BSC_ISDN_MASTERCARD ZORRO_ID(BSC_ALFADATA_3, 0x40, 0)
-#define ZORRO_PROD_BSC_ISDN_MASTERCARD_II ZORRO_ID(BSC_ALFADATA_3, 0x41, 0)
-
-#define ZORRO_MANUF_PHOENIX 0x0835
-#define ZORRO_PROD_PHOENIX_ST506 ZORRO_ID(PHOENIX, 0x21, 0)
-#define ZORRO_PROD_PHOENIX_SCSI ZORRO_ID(PHOENIX, 0x22, 0)
-#define ZORRO_PROD_PHOENIX_RAM ZORRO_ID(PHOENIX, 0xBE, 0)
-
-#define ZORRO_MANUF_ADVANCED_STORAGE_SYSTEMS 0x0836
-#define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x01, 0)
-#define ZORRO_PROD_ADVANCED_STORAGE_SYSTEMS_NEXUS_RAM ZORRO_ID(ADVANCED_STORAGE_SYSTEMS, 0x08, 0)
-
-#define ZORRO_MANUF_IMPULSE 0x0838
-#define ZORRO_PROD_IMPULSE_FIRECRACKER_24 ZORRO_ID(IMPULSE, 0x00, 0)
-
-#define ZORRO_MANUF_IVS 0x0840
-#define ZORRO_PROD_IVS_GRANDSLAM_PIC_2 ZORRO_ID(IVS, 0x02, 0)
-#define ZORRO_PROD_IVS_GRANDSLAM_PIC_1 ZORRO_ID(IVS, 0x04, 0)
-#define ZORRO_PROD_IVS_OVERDRIVE ZORRO_ID(IVS, 0x10, 0)
-#define ZORRO_PROD_IVS_TRUMPCARD_CLASSIC ZORRO_ID(IVS, 0x30, 0)
-#define ZORRO_PROD_IVS_TRUMPCARD_PRO_GRANDSLAM ZORRO_ID(IVS, 0x34, 0)
-#define ZORRO_PROD_IVS_META_4 ZORRO_ID(IVS, 0x40, 0)
-#define ZORRO_PROD_IVS_WAVETOOLS ZORRO_ID(IVS, 0xBF, 0)
-#define ZORRO_PROD_IVS_VECTOR_1 ZORRO_ID(IVS, 0xF3, 0)
-#define ZORRO_PROD_IVS_VECTOR_2 ZORRO_ID(IVS, 0xF4, 0)
-
-#define ZORRO_MANUF_VECTOR_1 0x0841
-#define ZORRO_PROD_VECTOR_CONNECTION_1 ZORRO_ID(VECTOR_1, 0xE3, 0)
-
-#define ZORRO_MANUF_XPERT_PRODEV 0x0845
-#define ZORRO_PROD_XPERT_PRODEV_VISIONA_RAM ZORRO_ID(XPERT_PRODEV, 0x01, 0)
-#define ZORRO_PROD_XPERT_PRODEV_VISIONA_REG ZORRO_ID(XPERT_PRODEV, 0x02, 0)
-#define ZORRO_PROD_XPERT_PRODEV_MERLIN_RAM ZORRO_ID(XPERT_PRODEV, 0x03, 0)
-#define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_1 ZORRO_ID(XPERT_PRODEV, 0x04, 0)
-#define ZORRO_PROD_XPERT_PRODEV_MERLIN_REG_2 ZORRO_ID(XPERT_PRODEV, 0xC9, 0)
-
-#define ZORRO_MANUF_HYDRA_SYSTEMS 0x0849
-#define ZORRO_PROD_HYDRA_SYSTEMS_AMIGANET ZORRO_ID(HYDRA_SYSTEMS, 0x01, 0)
-
-#define ZORRO_MANUF_SUNRIZE_INDUSTRIES 0x084F
-#define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD1012 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x01, 0)
-#define ZORRO_PROD_SUNRIZE_INDUSTRIES_AD516 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x02, 0)
-#define ZORRO_PROD_SUNRIZE_INDUSTRIES_DD512 ZORRO_ID(SUNRIZE_INDUSTRIES, 0x03, 0)
-
-#define ZORRO_MANUF_TRICERATOPS 0x0850
-#define ZORRO_PROD_TRICERATOPS_MULTI_IO ZORRO_ID(TRICERATOPS, 0x01, 0)
-
-#define ZORRO_MANUF_APPLIED_MAGIC 0x0851
-#define ZORRO_PROD_APPLIED_MAGIC_DMI_RESOLVER ZORRO_ID(APPLIED_MAGIC, 0x01, 0)
-#define ZORRO_PROD_APPLIED_MAGIC_DIGITAL_BROADCASTER ZORRO_ID(APPLIED_MAGIC, 0x06, 0)
-
-#define ZORRO_MANUF_GFX_BASE 0x085E
-#define ZORRO_PROD_GFX_BASE_GDA_1_VRAM ZORRO_ID(GFX_BASE, 0x00, 0)
-#define ZORRO_PROD_GFX_BASE_GDA_1 ZORRO_ID(GFX_BASE, 0x01, 0)
-
-#define ZORRO_MANUF_ROCTEC 0x0860
-#define ZORRO_PROD_ROCTEC_RH_800C ZORRO_ID(ROCTEC, 0x01, 0)
-#define ZORRO_PROD_ROCTEC_RH_800C_RAM ZORRO_ID(ROCTEC, 0x01, 0)
-
-#define ZORRO_MANUF_KATO 0x0861
-#define ZORRO_PROD_KATO_MELODY ZORRO_ID(KATO, 0x80, 0)
-/* ID clash!! */
-#define ZORRO_MANUF_HELFRICH_1 0x0861
-#define ZORRO_PROD_HELFRICH_RAINBOW_II ZORRO_ID(HELFRICH_1, 0x20, 0)
-#define ZORRO_PROD_HELFRICH_RAINBOW_III ZORRO_ID(HELFRICH_1, 0x21, 0)
-
-#define ZORRO_MANUF_ATLANTIS 0x0862
-
-#define ZORRO_MANUF_PROTAR 0x0864
-
-#define ZORRO_MANUF_ACS 0x0865
-
-#define ZORRO_MANUF_SOFTWARE_RESULTS_ENTERPRISES 0x0866
-#define ZORRO_PROD_SOFTWARE_RESULTS_ENTERPRISES_GOLDEN_GATE_2_BUS_PLUS ZORRO_ID(SOFTWARE_RESULTS_ENTERPRISES, 0x01, 0)
-
-#define ZORRO_MANUF_MASOBOSHI 0x086D
-#define ZORRO_PROD_MASOBOSHI_MASTER_CARD_SC201 ZORRO_ID(MASOBOSHI, 0x03, 0)
-#define ZORRO_PROD_MASOBOSHI_MASTER_CARD_MC702 ZORRO_ID(MASOBOSHI, 0x04, 0)
-#define ZORRO_PROD_MASOBOSHI_MVD_819 ZORRO_ID(MASOBOSHI, 0x07, 0)
-
-#define ZORRO_MANUF_MAINHATTAN_DATA 0x086F
-#define ZORRO_PROD_MAINHATTAN_DATA_IDE ZORRO_ID(MAINHATTAN_DATA, 0x01, 0)
-
-#define ZORRO_MANUF_VILLAGE_TRONIC 0x0877
-#define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_RAM ZORRO_ID(VILLAGE_TRONIC, 0x01, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_REG ZORRO_ID(VILLAGE_TRONIC, 0x02, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_DOMINO_16M_PROTOTYPE ZORRO_ID(VILLAGE_TRONIC, 0x03, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_RAM ZORRO_ID(VILLAGE_TRONIC, 0x0B, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_REG ZORRO_ID(VILLAGE_TRONIC, 0x0C, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_II_II_PLUS_SEGMENTED_MODE ZORRO_ID(VILLAGE_TRONIC, 0x0D, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_RAM1 ZORRO_ID(VILLAGE_TRONIC, 0x15, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_RAM2 ZORRO_ID(VILLAGE_TRONIC, 0x16, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z2_REG ZORRO_ID(VILLAGE_TRONIC, 0x17, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_PICASSO_IV_Z3 ZORRO_ID(VILLAGE_TRONIC, 0x18, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE ZORRO_ID(VILLAGE_TRONIC, 0xC9, 0)
-#define ZORRO_PROD_VILLAGE_TRONIC_ARIADNE2 ZORRO_ID(VILLAGE_TRONIC, 0xCA, 0)
-
-#define ZORRO_MANUF_UTILITIES_UNLIMITED 0x087B
-#define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE ZORRO_ID(UTILITIES_UNLIMITED, 0x15, 0)
-#define ZORRO_PROD_UTILITIES_UNLIMITED_EMPLANT_DELUXE2 ZORRO_ID(UTILITIES_UNLIMITED, 0x20, 0)
-
-#define ZORRO_MANUF_AMITRIX 0x0880
-#define ZORRO_PROD_AMITRIX_MULTI_IO ZORRO_ID(AMITRIX, 0x01, 0)
-#define ZORRO_PROD_AMITRIX_CD_RAM ZORRO_ID(AMITRIX, 0x02, 0)
-
-#define ZORRO_MANUF_ARMAX 0x0885
-#define ZORRO_PROD_ARMAX_OMNIBUS ZORRO_ID(ARMAX, 0x00, 0)
-
-#define ZORRO_MANUF_ZEUS 0x088D
-#define ZORRO_PROD_ZEUS_SPIDER ZORRO_ID(ZEUS, 0x04, 0)
-
-#define ZORRO_MANUF_NEWTEK 0x088F
-#define ZORRO_PROD_NEWTEK_VIDEOTOASTER ZORRO_ID(NEWTEK, 0x00, 0)
-
-#define ZORRO_MANUF_M_TECH_GERMANY 0x0890
-#define ZORRO_PROD_MTEC_AT500_2 ZORRO_ID(M_TECH_GERMANY, 0x01, 0)
-#define ZORRO_PROD_MTEC_68030 ZORRO_ID(M_TECH_GERMANY, 0x03, 0)
-#define ZORRO_PROD_MTEC_68020I ZORRO_ID(M_TECH_GERMANY, 0x06, 0)
-#define ZORRO_PROD_MTEC_A1200_T68030_RTC ZORRO_ID(M_TECH_GERMANY, 0x20, 0)
-#define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530 ZORRO_ID(M_TECH_GERMANY, 0x21, 0)
-#define ZORRO_PROD_MTEC_8_MB_RAM ZORRO_ID(M_TECH_GERMANY, 0x22, 0)
-#define ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530_SCSI_IDE ZORRO_ID(M_TECH_GERMANY, 0x24, 0)
-
-#define ZORRO_MANUF_GREAT_VALLEY_PRODUCTS_4 0x0891
-#define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_RAM ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x01, 0)
-#define ZORRO_PROD_GVP_EGS_28_24_SPECTRUM_REG ZORRO_ID(GREAT_VALLEY_PRODUCTS_4, 0x02, 0)
-
-#define ZORRO_MANUF_APOLLO_1 0x0892
-#define ZORRO_PROD_APOLLO_A1200 ZORRO_ID(APOLLO_1, 0x01, 0)
-
-#define ZORRO_MANUF_HELFRICH_2 0x0893
-#define ZORRO_PROD_HELFRICH_PICCOLO_RAM ZORRO_ID(HELFRICH_2, 0x05, 0)
-#define ZORRO_PROD_HELFRICH_PICCOLO_REG ZORRO_ID(HELFRICH_2, 0x06, 0)
-#define ZORRO_PROD_HELFRICH_PEGGY_PLUS_MPEG ZORRO_ID(HELFRICH_2, 0x07, 0)
-#define ZORRO_PROD_HELFRICH_VIDEOCRUNCHER ZORRO_ID(HELFRICH_2, 0x08, 0)
-#define ZORRO_PROD_HELFRICH_SD64_RAM ZORRO_ID(HELFRICH_2, 0x0A, 0)
-#define ZORRO_PROD_HELFRICH_SD64_REG ZORRO_ID(HELFRICH_2, 0x0B, 0)
-
-#define ZORRO_MANUF_MACROSYSTEMS_USA 0x089B
-#define ZORRO_PROD_MACROSYSTEMS_WARP_ENGINE_40xx ZORRO_ID(MACROSYSTEMS_USA, 0x13, 0)
-
-#define ZORRO_MANUF_ELBOX_COMPUTER 0x089E
-#define ZORRO_PROD_ELBOX_COMPUTER_1200_4 ZORRO_ID(ELBOX_COMPUTER, 0x06, 0)
-
-#define ZORRO_MANUF_HARMS_PROFESSIONAL 0x0A00
-#define ZORRO_PROD_HARMS_PROFESSIONAL_030_PLUS ZORRO_ID(HARMS_PROFESSIONAL, 0x10, 0)
-#define ZORRO_PROD_HARMS_PROFESSIONAL_3500 ZORRO_ID(HARMS_PROFESSIONAL, 0xD0, 0)
-
-#define ZORRO_MANUF_MICRONIK 0x0A50
-#define ZORRO_PROD_MICRONIK_RCA_120 ZORRO_ID(MICRONIK, 0x0A, 0)
-
-#define ZORRO_MANUF_MICRONIK2 0x0F0F
-#define ZORRO_PROD_MICRONIK2_Z3I ZORRO_ID(MICRONIK2, 0x01, 0)
-
-#define ZORRO_MANUF_MEGAMICRO 0x1000
-#define ZORRO_PROD_MEGAMICRO_SCRAM_500 ZORRO_ID(MEGAMICRO, 0x03, 0)
-#define ZORRO_PROD_MEGAMICRO_SCRAM_500_RAM ZORRO_ID(MEGAMICRO, 0x04, 0)
-
-#define ZORRO_MANUF_IMTRONICS_2 0x1028
-#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_3 ZORRO_ID(IMTRONICS_2, 0x39, 0)
-#define ZORRO_PROD_IMTRONICS_HURRICANE_2800_4 ZORRO_ID(IMTRONICS_2, 0x57, 0)
-
-/* unofficial ID */
-#define ZORRO_MANUF_INDIVIDUAL_COMPUTERS 0x1212
-#define ZORRO_PROD_INDIVIDUAL_COMPUTERS_BUDDHA ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x00, 0)
-#define ZORRO_PROD_INDIVIDUAL_COMPUTERS_X_SURF ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x17, 0)
-#define ZORRO_PROD_INDIVIDUAL_COMPUTERS_CATWEASEL ZORRO_ID(INDIVIDUAL_COMPUTERS, 0x2A, 0)
-
-#define ZORRO_MANUF_KUPKE_3 0x1248
-#define ZORRO_PROD_KUPKE_GOLEM_HD_3000 ZORRO_ID(KUPKE_3, 0x01, 0)
-
-#define ZORRO_MANUF_ITH 0x1388
-#define ZORRO_PROD_ITH_ISDN_MASTER_II ZORRO_ID(ITH, 0x01, 0)
-
-#define ZORRO_MANUF_VMC 0x1389
-#define ZORRO_PROD_VMC_ISDN_BLASTER_Z2 ZORRO_ID(VMC, 0x01, 0)
-#define ZORRO_PROD_VMC_HYPERCOM_4 ZORRO_ID(VMC, 0x02, 0)
-
-#define ZORRO_MANUF_INFORMATION 0x157C
-#define ZORRO_PROD_INFORMATION_ISDN_ENGINE_I ZORRO_ID(INFORMATION, 0x64, 0)
-
-#define ZORRO_MANUF_VORTEX 0x2017
-#define ZORRO_PROD_VORTEX_GOLDEN_GATE_80386SX ZORRO_ID(VORTEX, 0x07, 0)
-#define ZORRO_PROD_VORTEX_GOLDEN_GATE_RAM ZORRO_ID(VORTEX, 0x08, 0)
-#define ZORRO_PROD_VORTEX_GOLDEN_GATE_80486 ZORRO_ID(VORTEX, 0x09, 0)
-
-#define ZORRO_MANUF_EXPANSION_SYSTEMS 0x2062
-#define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX ZORRO_ID(EXPANSION_SYSTEMS, 0x01, 0)
-#define ZORRO_PROD_EXPANSION_SYSTEMS_DATAFLYER_4000SX_RAM ZORRO_ID(EXPANSION_SYSTEMS, 0x02, 0)
-
-#define ZORRO_MANUF_READYSOFT 0x2100
-#define ZORRO_PROD_READYSOFT_AMAX_II_IV ZORRO_ID(READYSOFT, 0x01, 0)
-
-#define ZORRO_MANUF_PHASE5 0x2140
-#define ZORRO_PROD_PHASE5_BLIZZARD_RAM ZORRO_ID(PHASE5, 0x01, 0)
-#define ZORRO_PROD_PHASE5_BLIZZARD ZORRO_ID(PHASE5, 0x02, 0)
-#define ZORRO_PROD_PHASE5_BLIZZARD_1220_IV ZORRO_ID(PHASE5, 0x06, 0)
-#define ZORRO_PROD_PHASE5_FASTLANE_Z3_RAM ZORRO_ID(PHASE5, 0x0A, 0)
-#define ZORRO_PROD_PHASE5_BLIZZARD_1230_II_FASTLANE_Z3_CYBERSCSI_CYBERSTORM060 ZORRO_ID(PHASE5, 0x0B, 0)
-#define ZORRO_PROD_PHASE5_BLIZZARD_1220_CYBERSTORM ZORRO_ID(PHASE5, 0x0C, 0)
-#define ZORRO_PROD_PHASE5_BLIZZARD_1230 ZORRO_ID(PHASE5, 0x0D, 0)
-#define ZORRO_PROD_PHASE5_BLIZZARD_1230_IV_1260 ZORRO_ID(PHASE5, 0x11, 0)
-#define ZORRO_PROD_PHASE5_BLIZZARD_2060 ZORRO_ID(PHASE5, 0x18, 0)
-#define ZORRO_PROD_PHASE5_CYBERSTORM_MK_II ZORRO_ID(PHASE5, 0x19, 0)
-#define ZORRO_PROD_PHASE5_CYBERVISION64 ZORRO_ID(PHASE5, 0x22, 0)
-#define ZORRO_PROD_PHASE5_CYBERVISION64_3D_PROTOTYPE ZORRO_ID(PHASE5, 0x32, 0)
-#define ZORRO_PROD_PHASE5_CYBERVISION64_3D ZORRO_ID(PHASE5, 0x43, 0)
-#define ZORRO_PROD_PHASE5_CYBERSTORM_MK_III ZORRO_ID(PHASE5, 0x64, 0)
-#define ZORRO_PROD_PHASE5_BLIZZARD_603E_PLUS ZORRO_ID(PHASE5, 0x6e, 0)
-
-#define ZORRO_MANUF_DPS 0x2169
-#define ZORRO_PROD_DPS_PERSONAL_ANIMATION_RECORDER ZORRO_ID(DPS, 0x01, 0)
-
-#define ZORRO_MANUF_APOLLO_2 0x2200
-#define ZORRO_PROD_APOLLO_A620_68020_1 ZORRO_ID(APOLLO_2, 0x00, 0)
-#define ZORRO_PROD_APOLLO_A620_68020_2 ZORRO_ID(APOLLO_2, 0x01, 0)
-
-#define ZORRO_MANUF_APOLLO_3 0x2222
-#define ZORRO_PROD_APOLLO_AT_APOLLO ZORRO_ID(APOLLO_3, 0x22, 0)
-#define ZORRO_PROD_APOLLO_1230_1240_1260_2030_4040_4060 ZORRO_ID(APOLLO_3, 0x23, 0)
-
-#define ZORRO_MANUF_PETSOFF_LP 0x38A5
-#define ZORRO_PROD_PETSOFF_LP_DELFINA ZORRO_ID(PETSOFF_LP, 0x00, 0)
-#define ZORRO_PROD_PETSOFF_LP_DELFINA_LITE ZORRO_ID(PETSOFF_LP, 0x01, 0)
-
-#define ZORRO_MANUF_UWE_GERLACH 0x3FF7
-#define ZORRO_PROD_UWE_GERLACH_RAM_ROM ZORRO_ID(UWE_GERLACH, 0xd4, 0)
-
-#define ZORRO_MANUF_ACT 0x4231
-#define ZORRO_PROD_ACT_PRELUDE ZORRO_ID(ACT, 0x01, 0)
-
-#define ZORRO_MANUF_MACROSYSTEMS_GERMANY 0x4754
-#define ZORRO_PROD_MACROSYSTEMS_MAESTRO ZORRO_ID(MACROSYSTEMS_GERMANY, 0x03, 0)
-#define ZORRO_PROD_MACROSYSTEMS_VLAB ZORRO_ID(MACROSYSTEMS_GERMANY, 0x04, 0)
-#define ZORRO_PROD_MACROSYSTEMS_MAESTRO_PRO ZORRO_ID(MACROSYSTEMS_GERMANY, 0x05, 0)
-#define ZORRO_PROD_MACROSYSTEMS_RETINA ZORRO_ID(MACROSYSTEMS_GERMANY, 0x06, 0)
-#define ZORRO_PROD_MACROSYSTEMS_MULTI_EVOLUTION ZORRO_ID(MACROSYSTEMS_GERMANY, 0x08, 0)
-#define ZORRO_PROD_MACROSYSTEMS_TOCCATA ZORRO_ID(MACROSYSTEMS_GERMANY, 0x0C, 0)
-#define ZORRO_PROD_MACROSYSTEMS_RETINA_Z3 ZORRO_ID(MACROSYSTEMS_GERMANY, 0x10, 0)
-#define ZORRO_PROD_MACROSYSTEMS_VLAB_MOTION ZORRO_ID(MACROSYSTEMS_GERMANY, 0x12, 0)
-#define ZORRO_PROD_MACROSYSTEMS_ALTAIS ZORRO_ID(MACROSYSTEMS_GERMANY, 0x13, 0)
-#define ZORRO_PROD_MACROSYSTEMS_FALCON_040 ZORRO_ID(MACROSYSTEMS_GERMANY, 0xFD, 0)
-
-#define ZORRO_MANUF_COMBITEC 0x6766
-
-#define ZORRO_MANUF_SKI_PERIPHERALS 0x8000
-#define ZORRO_PROD_SKI_PERIPHERALS_MAST_FIREBALL ZORRO_ID(SKI_PERIPHERALS, 0x08, 0)
-#define ZORRO_PROD_SKI_PERIPHERALS_SCSI_DUAL_SERIAL ZORRO_ID(SKI_PERIPHERALS, 0x80, 0)
-
-#define ZORRO_MANUF_REIS_WARE_2 0xA9AD
-#define ZORRO_PROD_REIS_WARE_SCAN_KING ZORRO_ID(REIS_WARE_2, 0x11, 0)
-
-#define ZORRO_MANUF_CAMERON 0xAA01
-#define ZORRO_PROD_CAMERON_PERSONAL_A4 ZORRO_ID(CAMERON, 0x10, 0)
-
-#define ZORRO_MANUF_REIS_WARE 0xAA11
-#define ZORRO_PROD_REIS_WARE_HANDYSCANNER ZORRO_ID(REIS_WARE, 0x11, 0)
-
-#define ZORRO_MANUF_PHOENIX_2 0xB5A8
-#define ZORRO_PROD_PHOENIX_ST506_2 ZORRO_ID(PHOENIX_2, 0x21, 0)
-#define ZORRO_PROD_PHOENIX_SCSI_2 ZORRO_ID(PHOENIX_2, 0x22, 0)
-#define ZORRO_PROD_PHOENIX_RAM_2 ZORRO_ID(PHOENIX_2, 0xBE, 0)
-
-#define ZORRO_MANUF_COMBITEC_2 0xC008
-#define ZORRO_PROD_COMBITEC_HD ZORRO_ID(COMBITEC_2, 0x2A, 0)
-#define ZORRO_PROD_COMBITEC_SRAM ZORRO_ID(COMBITEC_2, 0x2B, 0)
-
-
- /*
- * Test and illegal Manufacturer IDs.
- */
-
-#define ZORRO_MANUF_HACKER 0x07DB
-#define ZORRO_PROD_GENERAL_PROTOTYPE ZORRO_ID(HACKER, 0x00, 0)
-#define ZORRO_PROD_HACKER_SCSI ZORRO_ID(HACKER, 0x01, 0)
-#define ZORRO_PROD_RESOURCE_MANAGEMENT_FORCE_QUICKNET_QN2000 ZORRO_ID(HACKER, 0x02, 0)
-#define ZORRO_PROD_VECTOR_CONNECTION_2 ZORRO_ID(HACKER, 0xE0, 0)
-#define ZORRO_PROD_VECTOR_CONNECTION_3 ZORRO_ID(HACKER, 0xE1, 0)
-#define ZORRO_PROD_VECTOR_CONNECTION_4 ZORRO_ID(HACKER, 0xE2, 0)
-#define ZORRO_PROD_VECTOR_CONNECTION_5 ZORRO_ID(HACKER, 0xE3, 0)
diff --git a/linux-headers/include/misc/cxl.h b/linux-headers/include/misc/cxl.h
deleted file mode 100644
index dff93a1..0000000
--- a/linux-headers/include/misc/cxl.h
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright 2014 IBM Corp.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _MISC_CXL_H
-#define _MISC_CXL_H
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-
-struct cxl_ioctl_start_work {
- __u64 flags;
- __u64 work_element_descriptor;
- __u64 amr;
- __s16 num_interrupts;
- __s16 reserved1;
- __s32 reserved2;
- __u64 reserved3;
- __u64 reserved4;
- __u64 reserved5;
- __u64 reserved6;
-};
-
-#define CXL_START_WORK_AMR 0x0000000000000001ULL
-#define CXL_START_WORK_NUM_IRQS 0x0000000000000002ULL
-#define CXL_START_WORK_ERR_FF 0x0000000000000004ULL
-#define CXL_START_WORK_ALL (CXL_START_WORK_AMR |\
- CXL_START_WORK_NUM_IRQS |\
- CXL_START_WORK_ERR_FF)
-
-
-/* Possible modes that an afu can be in */
-#define CXL_MODE_DEDICATED 0x1
-#define CXL_MODE_DIRECTED 0x2
-
-/* possible flags for the cxl_afu_id flags field */
-#define CXL_AFUID_FLAG_SLAVE 0x1 /* In directed-mode afu is in slave mode */
-
-struct cxl_afu_id {
- __u64 flags; /* One of CXL_AFUID_FLAG_X */
- __u32 card_id;
- __u32 afu_offset;
- __u32 afu_mode; /* one of the CXL_MODE_X */
- __u32 reserved1;
- __u64 reserved2;
- __u64 reserved3;
- __u64 reserved4;
- __u64 reserved5;
- __u64 reserved6;
-};
-
-/* base adapter image header is included in the image */
-#define CXL_AI_NEED_HEADER 0x0000000000000001ULL
-#define CXL_AI_ALL CXL_AI_NEED_HEADER
-
-#define CXL_AI_HEADER_SIZE 128
-#define CXL_AI_BUFFER_SIZE 4096
-#define CXL_AI_MAX_ENTRIES 256
-#define CXL_AI_MAX_CHUNK_SIZE (CXL_AI_BUFFER_SIZE * CXL_AI_MAX_ENTRIES)
-
-struct cxl_adapter_image {
- __u64 flags;
- __u64 data;
- __u64 len_data;
- __u64 len_image;
- __u64 reserved1;
- __u64 reserved2;
- __u64 reserved3;
- __u64 reserved4;
-};
-
-/* ioctl numbers */
-#define CXL_MAGIC 0xCA
-/* AFU devices */
-#define CXL_IOCTL_START_WORK _IOW(CXL_MAGIC, 0x00, struct cxl_ioctl_start_work)
-#define CXL_IOCTL_GET_PROCESS_ELEMENT _IOR(CXL_MAGIC, 0x01, __u32)
-#define CXL_IOCTL_GET_AFU_ID _IOR(CXL_MAGIC, 0x02, struct cxl_afu_id)
-/* adapter devices */
-#define CXL_IOCTL_DOWNLOAD_IMAGE _IOW(CXL_MAGIC, 0x0A, struct cxl_adapter_image)
-#define CXL_IOCTL_VALIDATE_IMAGE _IOW(CXL_MAGIC, 0x0B, struct cxl_adapter_image)
-
-#define CXL_READ_MIN_SIZE 0x1000 /* 4K */
-
-/* Events from read() */
-enum cxl_event_type {
- CXL_EVENT_RESERVED = 0,
- CXL_EVENT_AFU_INTERRUPT = 1,
- CXL_EVENT_DATA_STORAGE = 2,
- CXL_EVENT_AFU_ERROR = 3,
-};
-
-struct cxl_event_header {
- __u16 type;
- __u16 size;
- __u16 process_element;
- __u16 reserved1;
-};
-
-struct cxl_event_afu_interrupt {
- __u16 flags;
- __u16 irq; /* Raised AFU interrupt number */
- __u32 reserved1;
-};
-
-struct cxl_event_data_storage {
- __u16 flags;
- __u16 reserved1;
- __u32 reserved2;
- __u64 addr;
- __u64 dsisr;
- __u64 reserved3;
-};
-
-struct cxl_event_afu_error {
- __u16 flags;
- __u16 reserved1;
- __u32 reserved2;
- __u64 error;
-};
-
-struct cxl_event {
- struct cxl_event_header header;
- union {
- struct cxl_event_afu_interrupt irq;
- struct cxl_event_data_storage fault;
- struct cxl_event_afu_error afu_error;
- };
-};
-
-#endif /* _MISC_CXL_H */
diff --git a/linux-headers/include/mtd/inftl-user.h b/linux-headers/include/mtd/inftl-user.h
deleted file mode 100644
index 8376bd1..0000000
--- a/linux-headers/include/mtd/inftl-user.h
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Parts of INFTL headers shared with userspace
- *
- */
-
-#ifndef __MTD_INFTL_USER_H__
-#define __MTD_INFTL_USER_H__
-
-#include <linux/types.h>
-
-#define OSAK_VERSION 0x5120
-#define PERCENTUSED 98
-
-#define SECTORSIZE 512
-
-/* Block Control Information */
-
-struct inftl_bci {
- __u8 ECCsig[6];
- __u8 Status;
- __u8 Status1;
-} __attribute__((packed));
-
-struct inftl_unithead1 {
- __u16 virtualUnitNo;
- __u16 prevUnitNo;
- __u8 ANAC;
- __u8 NACs;
- __u8 parityPerField;
- __u8 discarded;
-} __attribute__((packed));
-
-struct inftl_unithead2 {
- __u8 parityPerField;
- __u8 ANAC;
- __u16 prevUnitNo;
- __u16 virtualUnitNo;
- __u8 NACs;
- __u8 discarded;
-} __attribute__((packed));
-
-struct inftl_unittail {
- __u8 Reserved[4];
- __u16 EraseMark;
- __u16 EraseMark1;
-} __attribute__((packed));
-
-union inftl_uci {
- struct inftl_unithead1 a;
- struct inftl_unithead2 b;
- struct inftl_unittail c;
-};
-
-struct inftl_oob {
- struct inftl_bci b;
- union inftl_uci u;
-};
-
-
-/* INFTL Media Header */
-
-struct INFTLPartition {
- __u32 virtualUnits;
- __u32 firstUnit;
- __u32 lastUnit;
- __u32 flags;
- __u32 spareUnits;
- __u32 Reserved0;
- __u32 Reserved1;
-} __attribute__((packed));
-
-struct INFTLMediaHeader {
- char bootRecordID[8];
- __u32 NoOfBootImageBlocks;
- __u32 NoOfBinaryPartitions;
- __u32 NoOfBDTLPartitions;
- __u32 BlockMultiplierBits;
- __u32 FormatFlags;
- __u32 OsakVersion;
- __u32 PercentUsed;
- struct INFTLPartition Partitions[4];
-} __attribute__((packed));
-
-/* Partition flag types */
-#define INFTL_BINARY 0x20000000
-#define INFTL_BDTL 0x40000000
-#define INFTL_LAST 0x80000000
-
-#endif /* __MTD_INFTL_USER_H__ */
-
-
diff --git a/linux-headers/include/mtd/mtd-abi.h b/linux-headers/include/mtd/mtd-abi.h
deleted file mode 100644
index 20444f3..0000000
--- a/linux-headers/include/mtd/mtd-abi.h
+++ /dev/null
@@ -1,284 +0,0 @@
-/*
- * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org> et al.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
-
-#ifndef __MTD_ABI_H__
-#define __MTD_ABI_H__
-
-#include <linux/types.h>
-
-struct erase_info_user {
- __u32 start;
- __u32 length;
-};
-
-struct erase_info_user64 {
- __u64 start;
- __u64 length;
-};
-
-struct mtd_oob_buf {
- __u32 start;
- __u32 length;
- unsigned char *ptr;
-};
-
-struct mtd_oob_buf64 {
- __u64 start;
- __u32 pad;
- __u32 length;
- __u64 usr_ptr;
-};
-
-/**
- * MTD operation modes
- *
- * @MTD_OPS_PLACE_OOB: OOB data are placed at the given offset (default)
- * @MTD_OPS_AUTO_OOB: OOB data are automatically placed at the free areas
- * which are defined by the internal ecclayout
- * @MTD_OPS_RAW: data are transferred as-is, with no error correction;
- * this mode implies %MTD_OPS_PLACE_OOB
- *
- * These modes can be passed to ioctl(MEMWRITE) and are also used internally.
- * See notes on "MTD file modes" for discussion on %MTD_OPS_RAW vs.
- * %MTD_FILE_MODE_RAW.
- */
-enum {
- MTD_OPS_PLACE_OOB = 0,
- MTD_OPS_AUTO_OOB = 1,
- MTD_OPS_RAW = 2,
-};
-
-/**
- * struct mtd_write_req - data structure for requesting a write operation
- *
- * @start: start address
- * @len: length of data buffer
- * @ooblen: length of OOB buffer
- * @usr_data: user-provided data buffer
- * @usr_oob: user-provided OOB buffer
- * @mode: MTD mode (see "MTD operation modes")
- * @padding: reserved, must be set to 0
- *
- * This structure supports ioctl(MEMWRITE) operations, allowing data and/or OOB
- * writes in various modes. To write to OOB-only, set @usr_data == NULL, and to
- * write data-only, set @usr_oob == NULL. However, setting both @usr_data and
- * @usr_oob to NULL is not allowed.
- */
-struct mtd_write_req {
- __u64 start;
- __u64 len;
- __u64 ooblen;
- __u64 usr_data;
- __u64 usr_oob;
- __u8 mode;
- __u8 padding[7];
-};
-
-#define MTD_ABSENT 0
-#define MTD_RAM 1
-#define MTD_ROM 2
-#define MTD_NORFLASH 3
-#define MTD_NANDFLASH 4 /* SLC NAND */
-#define MTD_DATAFLASH 6
-#define MTD_UBIVOLUME 7
-#define MTD_MLCNANDFLASH 8 /* MLC NAND (including TLC) */
-
-#define MTD_WRITEABLE 0x400 /* Device is writeable */
-#define MTD_BIT_WRITEABLE 0x800 /* Single bits can be flipped */
-#define MTD_NO_ERASE 0x1000 /* No erase necessary */
-#define MTD_POWERUP_LOCK 0x2000 /* Always locked after reset */
-
-/* Some common devices / combinations of capabilities */
-#define MTD_CAP_ROM 0
-#define MTD_CAP_RAM (MTD_WRITEABLE | MTD_BIT_WRITEABLE | MTD_NO_ERASE)
-#define MTD_CAP_NORFLASH (MTD_WRITEABLE | MTD_BIT_WRITEABLE)
-#define MTD_CAP_NANDFLASH (MTD_WRITEABLE)
-#define MTD_CAP_NVRAM (MTD_WRITEABLE | MTD_BIT_WRITEABLE | MTD_NO_ERASE)
-
-/* Obsolete ECC byte placement modes (used with obsolete MEMGETOOBSEL) */
-#define MTD_NANDECC_OFF 0 // Switch off ECC (Not recommended)
-#define MTD_NANDECC_PLACE 1 // Use the given placement in the structure (YAFFS1 legacy mode)
-#define MTD_NANDECC_AUTOPLACE 2 // Use the default placement scheme
-#define MTD_NANDECC_PLACEONLY 3 // Use the given placement in the structure (Do not store ecc result on read)
-#define MTD_NANDECC_AUTOPL_USR 4 // Use the given autoplacement scheme rather than using the default
-
-/* OTP mode selection */
-#define MTD_OTP_OFF 0
-#define MTD_OTP_FACTORY 1
-#define MTD_OTP_USER 2
-
-struct mtd_info_user {
- __u8 type;
- __u32 flags;
- __u32 size; /* Total size of the MTD */
- __u32 erasesize;
- __u32 writesize;
- __u32 oobsize; /* Amount of OOB data per block (e.g. 16) */
- __u64 padding; /* Old obsolete field; do not use */
-};
-
-struct region_info_user {
- __u32 offset; /* At which this region starts,
- * from the beginning of the MTD */
- __u32 erasesize; /* For this region */
- __u32 numblocks; /* Number of blocks in this region */
- __u32 regionindex;
-};
-
-struct otp_info {
- __u32 start;
- __u32 length;
- __u32 locked;
-};
-
-/*
- * Note, the following ioctl existed in the past and was removed:
- * #define MEMSETOOBSEL _IOW('M', 9, struct nand_oobinfo)
- * Try to avoid adding a new ioctl with the same ioctl number.
- */
-
-/* Get basic MTD characteristics info (better to use sysfs) */
-#define MEMGETINFO _IOR('M', 1, struct mtd_info_user)
-/* Erase segment of MTD */
-#define MEMERASE _IOW('M', 2, struct erase_info_user)
-/* Write out-of-band data from MTD */
-#define MEMWRITEOOB _IOWR('M', 3, struct mtd_oob_buf)
-/* Read out-of-band data from MTD */
-#define MEMREADOOB _IOWR('M', 4, struct mtd_oob_buf)
-/* Lock a chip (for MTD that supports it) */
-#define MEMLOCK _IOW('M', 5, struct erase_info_user)
-/* Unlock a chip (for MTD that supports it) */
-#define MEMUNLOCK _IOW('M', 6, struct erase_info_user)
-/* Get the number of different erase regions */
-#define MEMGETREGIONCOUNT _IOR('M', 7, int)
-/* Get information about the erase region for a specific index */
-#define MEMGETREGIONINFO _IOWR('M', 8, struct region_info_user)
-/* Get info about OOB modes (e.g., RAW, PLACE, AUTO) - legacy interface */
-#define MEMGETOOBSEL _IOR('M', 10, struct nand_oobinfo)
-/* Check if an eraseblock is bad */
-#define MEMGETBADBLOCK _IOW('M', 11, __kernel_loff_t)
-/* Mark an eraseblock as bad */
-#define MEMSETBADBLOCK _IOW('M', 12, __kernel_loff_t)
-/* Set OTP (One-Time Programmable) mode (factory vs. user) */
-#define OTPSELECT _IOR('M', 13, int)
-/* Get number of OTP (One-Time Programmable) regions */
-#define OTPGETREGIONCOUNT _IOW('M', 14, int)
-/* Get all OTP (One-Time Programmable) info about MTD */
-#define OTPGETREGIONINFO _IOW('M', 15, struct otp_info)
-/* Lock a given range of user data (must be in mode %MTD_FILE_MODE_OTP_USER) */
-#define OTPLOCK _IOR('M', 16, struct otp_info)
-/* Get ECC layout (deprecated) */
-#define ECCGETLAYOUT _IOR('M', 17, struct nand_ecclayout_user)
-/* Get statistics about corrected/uncorrected errors */
-#define ECCGETSTATS _IOR('M', 18, struct mtd_ecc_stats)
-/* Set MTD mode on a per-file-descriptor basis (see "MTD file modes") */
-#define MTDFILEMODE _IO('M', 19)
-/* Erase segment of MTD (supports 64-bit address) */
-#define MEMERASE64 _IOW('M', 20, struct erase_info_user64)
-/* Write data to OOB (64-bit version) */
-#define MEMWRITEOOB64 _IOWR('M', 21, struct mtd_oob_buf64)
-/* Read data from OOB (64-bit version) */
-#define MEMREADOOB64 _IOWR('M', 22, struct mtd_oob_buf64)
-/* Check if chip is locked (for MTD that supports it) */
-#define MEMISLOCKED _IOR('M', 23, struct erase_info_user)
-/*
- * Most generic write interface; can write in-band and/or out-of-band in various
- * modes (see "struct mtd_write_req"). This ioctl is not supported for flashes
- * without OOB, e.g., NOR flash.
- */
-#define MEMWRITE _IOWR('M', 24, struct mtd_write_req)
-
-/*
- * Obsolete legacy interface. Keep it in order not to break userspace
- * interfaces
- */
-struct nand_oobinfo {
- __u32 useecc;
- __u32 eccbytes;
- __u32 oobfree[8][2];
- __u32 eccpos[32];
-};
-
-struct nand_oobfree {
- __u32 offset;
- __u32 length;
-};
-
-#define MTD_MAX_OOBFREE_ENTRIES 8
-#define MTD_MAX_ECCPOS_ENTRIES 64
-/*
- * OBSOLETE: ECC layout control structure. Exported to user-space via ioctl
- * ECCGETLAYOUT for backwards compatbility and should not be mistaken as a
- * complete set of ECC information. The ioctl truncates the larger internal
- * structure to retain binary compatibility with the static declaration of the
- * ioctl. Note that the "MTD_MAX_..._ENTRIES" macros represent the max size of
- * the user struct, not the MAX size of the internal struct nand_ecclayout.
- */
-struct nand_ecclayout_user {
- __u32 eccbytes;
- __u32 eccpos[MTD_MAX_ECCPOS_ENTRIES];
- __u32 oobavail;
- struct nand_oobfree oobfree[MTD_MAX_OOBFREE_ENTRIES];
-};
-
-/**
- * struct mtd_ecc_stats - error correction stats
- *
- * @corrected: number of corrected bits
- * @failed: number of uncorrectable errors
- * @badblocks: number of bad blocks in this partition
- * @bbtblocks: number of blocks reserved for bad block tables
- */
-struct mtd_ecc_stats {
- __u32 corrected;
- __u32 failed;
- __u32 badblocks;
- __u32 bbtblocks;
-};
-
-/*
- * MTD file modes - for read/write access to MTD
- *
- * @MTD_FILE_MODE_NORMAL: OTP disabled, ECC enabled
- * @MTD_FILE_MODE_OTP_FACTORY: OTP enabled in factory mode
- * @MTD_FILE_MODE_OTP_USER: OTP enabled in user mode
- * @MTD_FILE_MODE_RAW: OTP disabled, ECC disabled
- *
- * These modes can be set via ioctl(MTDFILEMODE). The mode mode will be retained
- * separately for each open file descriptor.
- *
- * Note: %MTD_FILE_MODE_RAW provides the same functionality as %MTD_OPS_RAW -
- * raw access to the flash, without error correction or autoplacement schemes.
- * Wherever possible, the MTD_OPS_* mode will override the MTD_FILE_MODE_* mode
- * (e.g., when using ioctl(MEMWRITE)), but in some cases, the MTD_FILE_MODE is
- * used out of necessity (e.g., `write()', ioctl(MEMWRITEOOB64)).
- */
-enum mtd_file_modes {
- MTD_FILE_MODE_NORMAL = MTD_OTP_OFF,
- MTD_FILE_MODE_OTP_FACTORY = MTD_OTP_FACTORY,
- MTD_FILE_MODE_OTP_USER = MTD_OTP_USER,
- MTD_FILE_MODE_RAW,
-};
-
-static __inline__ int mtd_type_is_nand_user(const struct mtd_info_user *mtd)
-{
- return mtd->type == MTD_NANDFLASH || mtd->type == MTD_MLCNANDFLASH;
-}
-
-#endif /* __MTD_ABI_H__ */
diff --git a/linux-headers/include/mtd/mtd-user.h b/linux-headers/include/mtd/mtd-user.h
deleted file mode 100644
index e71d555..0000000
--- a/linux-headers/include/mtd/mtd-user.h
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
-
-#ifndef __MTD_USER_H__
-#define __MTD_USER_H__
-
-/* This file is blessed for inclusion by userspace */
-#include <mtd/mtd-abi.h>
-
-typedef struct mtd_info_user mtd_info_t;
-typedef struct erase_info_user erase_info_t;
-typedef struct region_info_user region_info_t;
-typedef struct nand_oobinfo nand_oobinfo_t;
-typedef struct nand_ecclayout_user nand_ecclayout_t;
-
-#endif /* __MTD_USER_H__ */
diff --git a/linux-headers/include/mtd/nftl-user.h b/linux-headers/include/mtd/nftl-user.h
deleted file mode 100644
index bdeabd8..0000000
--- a/linux-headers/include/mtd/nftl-user.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- *
- */
-
-#ifndef __MTD_NFTL_USER_H__
-#define __MTD_NFTL_USER_H__
-
-#include <linux/types.h>
-
-/* Block Control Information */
-
-struct nftl_bci {
- unsigned char ECCSig[6];
- __u8 Status;
- __u8 Status1;
-}__attribute__((packed));
-
-/* Unit Control Information */
-
-struct nftl_uci0 {
- __u16 VirtUnitNum;
- __u16 ReplUnitNum;
- __u16 SpareVirtUnitNum;
- __u16 SpareReplUnitNum;
-} __attribute__((packed));
-
-struct nftl_uci1 {
- __u32 WearInfo;
- __u16 EraseMark;
- __u16 EraseMark1;
-} __attribute__((packed));
-
-struct nftl_uci2 {
- __u16 FoldMark;
- __u16 FoldMark1;
- __u32 unused;
-} __attribute__((packed));
-
-union nftl_uci {
- struct nftl_uci0 a;
- struct nftl_uci1 b;
- struct nftl_uci2 c;
-};
-
-struct nftl_oob {
- struct nftl_bci b;
- union nftl_uci u;
-};
-
-/* NFTL Media Header */
-
-struct NFTLMediaHeader {
- char DataOrgID[6];
- __u16 NumEraseUnits;
- __u16 FirstPhysicalEUN;
- __u32 FormattedSize;
- unsigned char UnitSizeFactor;
-} __attribute__((packed));
-
-#define MAX_ERASE_ZONES (8192 - 512)
-
-#define ERASE_MARK 0x3c69
-#define SECTOR_FREE 0xff
-#define SECTOR_USED 0x55
-#define SECTOR_IGNORE 0x11
-#define SECTOR_DELETED 0x00
-
-#define FOLD_MARK_IN_PROGRESS 0x5555
-
-#define ZONE_GOOD 0xff
-#define ZONE_BAD_ORIGINAL 0
-#define ZONE_BAD_MARKED 7
-
-
-#endif /* __MTD_NFTL_USER_H__ */
diff --git a/linux-headers/include/mtd/ubi-user.h b/linux-headers/include/mtd/ubi-user.h
deleted file mode 100644
index 275ebd8..0000000
--- a/linux-headers/include/mtd/ubi-user.h
+++ /dev/null
@@ -1,445 +0,0 @@
-/*
- * Copyright © International Business Machines Corp., 2006
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
- * the GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- * Author: Artem Bityutskiy (Битюцкий Артём)
- */
-
-#ifndef __UBI_USER_H__
-#define __UBI_USER_H__
-
-#include <linux/types.h>
-
-/*
- * UBI device creation (the same as MTD device attachment)
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * MTD devices may be attached using %UBI_IOCATT ioctl command of the UBI
- * control device. The caller has to properly fill and pass
- * &struct ubi_attach_req object - UBI will attach the MTD device specified in
- * the request and return the newly created UBI device number as the ioctl
- * return value.
- *
- * UBI device deletion (the same as MTD device detachment)
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * An UBI device maybe deleted with %UBI_IOCDET ioctl command of the UBI
- * control device.
- *
- * UBI volume creation
- * ~~~~~~~~~~~~~~~~~~~
- *
- * UBI volumes are created via the %UBI_IOCMKVOL ioctl command of UBI character
- * device. A &struct ubi_mkvol_req object has to be properly filled and a
- * pointer to it has to be passed to the ioctl.
- *
- * UBI volume deletion
- * ~~~~~~~~~~~~~~~~~~~
- *
- * To delete a volume, the %UBI_IOCRMVOL ioctl command of the UBI character
- * device should be used. A pointer to the 32-bit volume ID hast to be passed
- * to the ioctl.
- *
- * UBI volume re-size
- * ~~~~~~~~~~~~~~~~~~
- *
- * To re-size a volume, the %UBI_IOCRSVOL ioctl command of the UBI character
- * device should be used. A &struct ubi_rsvol_req object has to be properly
- * filled and a pointer to it has to be passed to the ioctl.
- *
- * UBI volumes re-name
- * ~~~~~~~~~~~~~~~~~~~
- *
- * To re-name several volumes atomically at one go, the %UBI_IOCRNVOL command
- * of the UBI character device should be used. A &struct ubi_rnvol_req object
- * has to be properly filled and a pointer to it has to be passed to the ioctl.
- *
- * UBI volume update
- * ~~~~~~~~~~~~~~~~~
- *
- * Volume update should be done via the %UBI_IOCVOLUP ioctl command of the
- * corresponding UBI volume character device. A pointer to a 64-bit update
- * size should be passed to the ioctl. After this, UBI expects user to write
- * this number of bytes to the volume character device. The update is finished
- * when the claimed number of bytes is passed. So, the volume update sequence
- * is something like:
- *
- * fd = open("/dev/my_volume");
- * ioctl(fd, UBI_IOCVOLUP, &image_size);
- * write(fd, buf, image_size);
- * close(fd);
- *
- * Logical eraseblock erase
- * ~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * To erase a logical eraseblock, the %UBI_IOCEBER ioctl command of the
- * corresponding UBI volume character device should be used. This command
- * unmaps the requested logical eraseblock, makes sure the corresponding
- * physical eraseblock is successfully erased, and returns.
- *
- * Atomic logical eraseblock change
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * Atomic logical eraseblock change operation is called using the %UBI_IOCEBCH
- * ioctl command of the corresponding UBI volume character device. A pointer to
- * a &struct ubi_leb_change_req object has to be passed to the ioctl. Then the
- * user is expected to write the requested amount of bytes (similarly to what
- * should be done in case of the "volume update" ioctl).
- *
- * Logical eraseblock map
- * ~~~~~~~~~~~~~~~~~~~~~
- *
- * To map a logical eraseblock to a physical eraseblock, the %UBI_IOCEBMAP
- * ioctl command should be used. A pointer to a &struct ubi_map_req object is
- * expected to be passed. The ioctl maps the requested logical eraseblock to
- * a physical eraseblock and returns. Only non-mapped logical eraseblocks can
- * be mapped. If the logical eraseblock specified in the request is already
- * mapped to a physical eraseblock, the ioctl fails and returns error.
- *
- * Logical eraseblock unmap
- * ~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * To unmap a logical eraseblock to a physical eraseblock, the %UBI_IOCEBUNMAP
- * ioctl command should be used. The ioctl unmaps the logical eraseblocks,
- * schedules corresponding physical eraseblock for erasure, and returns. Unlike
- * the "LEB erase" command, it does not wait for the physical eraseblock being
- * erased. Note, the side effect of this is that if an unclean reboot happens
- * after the unmap ioctl returns, you may find the LEB mapped again to the same
- * physical eraseblock after the UBI is run again.
- *
- * Check if logical eraseblock is mapped
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * To check if a logical eraseblock is mapped to a physical eraseblock, the
- * %UBI_IOCEBISMAP ioctl command should be used. It returns %0 if the LEB is
- * not mapped, and %1 if it is mapped.
- *
- * Set an UBI volume property
- * ~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * To set an UBI volume property the %UBI_IOCSETPROP ioctl command should be
- * used. A pointer to a &struct ubi_set_vol_prop_req object is expected to be
- * passed. The object describes which property should be set, and to which value
- * it should be set.
- *
- * Block devices on UBI volumes
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * To create a R/O block device on top of an UBI volume the %UBI_IOCVOLCRBLK
- * should be used. A pointer to a &struct ubi_blkcreate_req object is expected
- * to be passed, which is not used and reserved for future usage.
- *
- * Conversely, to remove a block device the %UBI_IOCVOLRMBLK should be used,
- * which takes no arguments.
- */
-
-/*
- * When a new UBI volume or UBI device is created, users may either specify the
- * volume/device number they want to create or to let UBI automatically assign
- * the number using these constants.
- */
-#define UBI_VOL_NUM_AUTO (-1)
-#define UBI_DEV_NUM_AUTO (-1)
-
-/* Maximum volume name length */
-#define UBI_MAX_VOLUME_NAME 127
-
-/* ioctl commands of UBI character devices */
-
-#define UBI_IOC_MAGIC 'o'
-
-/* Create an UBI volume */
-#define UBI_IOCMKVOL _IOW(UBI_IOC_MAGIC, 0, struct ubi_mkvol_req)
-/* Remove an UBI volume */
-#define UBI_IOCRMVOL _IOW(UBI_IOC_MAGIC, 1, __s32)
-/* Re-size an UBI volume */
-#define UBI_IOCRSVOL _IOW(UBI_IOC_MAGIC, 2, struct ubi_rsvol_req)
-/* Re-name volumes */
-#define UBI_IOCRNVOL _IOW(UBI_IOC_MAGIC, 3, struct ubi_rnvol_req)
-
-/* ioctl commands of the UBI control character device */
-
-#define UBI_CTRL_IOC_MAGIC 'o'
-
-/* Attach an MTD device */
-#define UBI_IOCATT _IOW(UBI_CTRL_IOC_MAGIC, 64, struct ubi_attach_req)
-/* Detach an MTD device */
-#define UBI_IOCDET _IOW(UBI_CTRL_IOC_MAGIC, 65, __s32)
-
-/* ioctl commands of UBI volume character devices */
-
-#define UBI_VOL_IOC_MAGIC 'O'
-
-/* Start UBI volume update
- * Note: This actually takes a pointer (__s64*), but we can't change
- * that without breaking the ABI on 32bit systems
- */
-#define UBI_IOCVOLUP _IOW(UBI_VOL_IOC_MAGIC, 0, __s64)
-/* LEB erasure command, used for debugging, disabled by default */
-#define UBI_IOCEBER _IOW(UBI_VOL_IOC_MAGIC, 1, __s32)
-/* Atomic LEB change command */
-#define UBI_IOCEBCH _IOW(UBI_VOL_IOC_MAGIC, 2, __s32)
-/* Map LEB command */
-#define UBI_IOCEBMAP _IOW(UBI_VOL_IOC_MAGIC, 3, struct ubi_map_req)
-/* Unmap LEB command */
-#define UBI_IOCEBUNMAP _IOW(UBI_VOL_IOC_MAGIC, 4, __s32)
-/* Check if LEB is mapped command */
-#define UBI_IOCEBISMAP _IOR(UBI_VOL_IOC_MAGIC, 5, __s32)
-/* Set an UBI volume property */
-#define UBI_IOCSETVOLPROP _IOW(UBI_VOL_IOC_MAGIC, 6, \
- struct ubi_set_vol_prop_req)
-/* Create a R/O block device on top of an UBI volume */
-#define UBI_IOCVOLCRBLK _IOW(UBI_VOL_IOC_MAGIC, 7, struct ubi_blkcreate_req)
-/* Remove the R/O block device */
-#define UBI_IOCVOLRMBLK _IO(UBI_VOL_IOC_MAGIC, 8)
-
-/* Maximum MTD device name length supported by UBI */
-#define MAX_UBI_MTD_NAME_LEN 127
-
-/* Maximum amount of UBI volumes that can be re-named at one go */
-#define UBI_MAX_RNVOL 32
-
-/*
- * UBI volume type constants.
- *
- * @UBI_DYNAMIC_VOLUME: dynamic volume
- * @UBI_STATIC_VOLUME: static volume
- */
-enum {
- UBI_DYNAMIC_VOLUME = 3,
- UBI_STATIC_VOLUME = 4,
-};
-
-/*
- * UBI set volume property ioctl constants.
- *
- * @UBI_VOL_PROP_DIRECT_WRITE: allow (any non-zero value) or disallow (value 0)
- * user to directly write and erase individual
- * eraseblocks on dynamic volumes
- */
-enum {
- UBI_VOL_PROP_DIRECT_WRITE = 1,
-};
-
-/**
- * struct ubi_attach_req - attach MTD device request.
- * @ubi_num: UBI device number to create
- * @mtd_num: MTD device number to attach
- * @vid_hdr_offset: VID header offset (use defaults if %0)
- * @max_beb_per1024: maximum expected number of bad PEB per 1024 PEBs
- * @padding: reserved for future, not used, has to be zeroed
- *
- * This data structure is used to specify MTD device UBI has to attach and the
- * parameters it has to use. The number which should be assigned to the new UBI
- * device is passed in @ubi_num. UBI may automatically assign the number if
- * @UBI_DEV_NUM_AUTO is passed. In this case, the device number is returned in
- * @ubi_num.
- *
- * Most applications should pass %0 in @vid_hdr_offset to make UBI use default
- * offset of the VID header within physical eraseblocks. The default offset is
- * the next min. I/O unit after the EC header. For example, it will be offset
- * 512 in case of a 512 bytes page NAND flash with no sub-page support. Or
- * it will be 512 in case of a 2KiB page NAND flash with 4 512-byte sub-pages.
- *
- * But in rare cases, if this optimizes things, the VID header may be placed to
- * a different offset. For example, the boot-loader might do things faster if
- * the VID header sits at the end of the first 2KiB NAND page with 4 sub-pages.
- * As the boot-loader would not normally need to read EC headers (unless it
- * needs UBI in RW mode), it might be faster to calculate ECC. This is weird
- * example, but it real-life example. So, in this example, @vid_hdr_offer would
- * be 2KiB-64 bytes = 1984. Note, that this position is not even 512-bytes
- * aligned, which is OK, as UBI is clever enough to realize this is 4th
- * sub-page of the first page and add needed padding.
- *
- * The @max_beb_per1024 is the maximum amount of bad PEBs UBI expects on the
- * UBI device per 1024 eraseblocks. This value is often given in an other form
- * in the NAND datasheet (min NVB i.e. minimal number of valid blocks). The
- * maximum expected bad eraseblocks per 1024 is then:
- * 1024 * (1 - MinNVB / MaxNVB)
- * Which gives 20 for most NAND devices. This limit is used in order to derive
- * amount of eraseblock UBI reserves for handling new bad blocks. If the device
- * has more bad eraseblocks than this limit, UBI does not reserve any physical
- * eraseblocks for new bad eraseblocks, but attempts to use available
- * eraseblocks (if any). The accepted range is 0-768. If 0 is given, the
- * default kernel value of %CONFIG_MTD_UBI_BEB_LIMIT will be used.
- */
-struct ubi_attach_req {
- __s32 ubi_num;
- __s32 mtd_num;
- __s32 vid_hdr_offset;
- __s16 max_beb_per1024;
- __s8 padding[10];
-};
-
-/**
- * struct ubi_mkvol_req - volume description data structure used in
- * volume creation requests.
- * @vol_id: volume number
- * @alignment: volume alignment
- * @bytes: volume size in bytes
- * @vol_type: volume type (%UBI_DYNAMIC_VOLUME or %UBI_STATIC_VOLUME)
- * @padding1: reserved for future, not used, has to be zeroed
- * @name_len: volume name length
- * @padding2: reserved for future, not used, has to be zeroed
- * @name: volume name
- *
- * This structure is used by user-space programs when creating new volumes. The
- * @used_bytes field is only necessary when creating static volumes.
- *
- * The @alignment field specifies the required alignment of the volume logical
- * eraseblock. This means, that the size of logical eraseblocks will be aligned
- * to this number, i.e.,
- * (UBI device logical eraseblock size) mod (@alignment) = 0.
- *
- * To put it differently, the logical eraseblock of this volume may be slightly
- * shortened in order to make it properly aligned. The alignment has to be
- * multiple of the flash minimal input/output unit, or %1 to utilize the entire
- * available space of logical eraseblocks.
- *
- * The @alignment field may be useful, for example, when one wants to maintain
- * a block device on top of an UBI volume. In this case, it is desirable to fit
- * an integer number of blocks in logical eraseblocks of this UBI volume. With
- * alignment it is possible to update this volume using plane UBI volume image
- * BLOBs, without caring about how to properly align them.
- */
-struct ubi_mkvol_req {
- __s32 vol_id;
- __s32 alignment;
- __s64 bytes;
- __s8 vol_type;
- __s8 padding1;
- __s16 name_len;
- __s8 padding2[4];
- char name[UBI_MAX_VOLUME_NAME + 1];
-} __attribute__((packed));
-
-/**
- * struct ubi_rsvol_req - a data structure used in volume re-size requests.
- * @vol_id: ID of the volume to re-size
- * @bytes: new size of the volume in bytes
- *
- * Re-sizing is possible for both dynamic and static volumes. But while dynamic
- * volumes may be re-sized arbitrarily, static volumes cannot be made to be
- * smaller than the number of bytes they bear. To arbitrarily shrink a static
- * volume, it must be wiped out first (by means of volume update operation with
- * zero number of bytes).
- */
-struct ubi_rsvol_req {
- __s64 bytes;
- __s32 vol_id;
-} __attribute__((packed));
-
-/**
- * struct ubi_rnvol_req - volumes re-name request.
- * @count: count of volumes to re-name
- * @padding1: reserved for future, not used, has to be zeroed
- * @vol_id: ID of the volume to re-name
- * @name_len: name length
- * @padding2: reserved for future, not used, has to be zeroed
- * @name: new volume name
- *
- * UBI allows to re-name up to %32 volumes at one go. The count of volumes to
- * re-name is specified in the @count field. The ID of the volumes to re-name
- * and the new names are specified in the @vol_id and @name fields.
- *
- * The UBI volume re-name operation is atomic, which means that should power cut
- * happen, the volumes will have either old name or new name. So the possible
- * use-cases of this command is atomic upgrade. Indeed, to upgrade, say, volumes
- * A and B one may create temporary volumes %A1 and %B1 with the new contents,
- * then atomically re-name A1->A and B1->B, in which case old %A and %B will
- * be removed.
- *
- * If it is not desirable to remove old A and B, the re-name request has to
- * contain 4 entries: A1->A, A->A1, B1->B, B->B1, in which case old A1 and B1
- * become A and B, and old A and B will become A1 and B1.
- *
- * It is also OK to request: A1->A, A1->X, B1->B, B->Y, in which case old A1
- * and B1 become A and B, and old A and B become X and Y.
- *
- * In other words, in case of re-naming into an existing volume name, the
- * existing volume is removed, unless it is re-named as well at the same
- * re-name request.
- */
-struct ubi_rnvol_req {
- __s32 count;
- __s8 padding1[12];
- struct {
- __s32 vol_id;
- __s16 name_len;
- __s8 padding2[2];
- char name[UBI_MAX_VOLUME_NAME + 1];
- } ents[UBI_MAX_RNVOL];
-} __attribute__((packed));
-
-/**
- * struct ubi_leb_change_req - a data structure used in atomic LEB change
- * requests.
- * @lnum: logical eraseblock number to change
- * @bytes: how many bytes will be written to the logical eraseblock
- * @dtype: pass "3" for better compatibility with old kernels
- * @padding: reserved for future, not used, has to be zeroed
- *
- * The @dtype field used to inform UBI about what kind of data will be written
- * to the LEB: long term (value 1), short term (value 2), unknown (value 3).
- * UBI tried to pick a PEB with lower erase counter for short term data and a
- * PEB with higher erase counter for long term data. But this was not really
- * used because users usually do not know this and could easily mislead UBI. We
- * removed this feature in May 2012. UBI currently just ignores the @dtype
- * field. But for better compatibility with older kernels it is recommended to
- * set @dtype to 3 (unknown).
- */
-struct ubi_leb_change_req {
- __s32 lnum;
- __s32 bytes;
- __s8 dtype; /* obsolete, do not use! */
- __s8 padding[7];
-} __attribute__((packed));
-
-/**
- * struct ubi_map_req - a data structure used in map LEB requests.
- * @dtype: pass "3" for better compatibility with old kernels
- * @lnum: logical eraseblock number to unmap
- * @padding: reserved for future, not used, has to be zeroed
- */
-struct ubi_map_req {
- __s32 lnum;
- __s8 dtype; /* obsolete, do not use! */
- __s8 padding[3];
-} __attribute__((packed));
-
-
-/**
- * struct ubi_set_vol_prop_req - a data structure used to set an UBI volume
- * property.
- * @property: property to set (%UBI_VOL_PROP_DIRECT_WRITE)
- * @padding: reserved for future, not used, has to be zeroed
- * @value: value to set
- */
-struct ubi_set_vol_prop_req {
- __u8 property;
- __u8 padding[7];
- __u64 value;
-} __attribute__((packed));
-
-/**
- * struct ubi_blkcreate_req - a data structure used in block creation requests.
- * @padding: reserved for future, not used, has to be zeroed
- */
-struct ubi_blkcreate_req {
- __s8 padding[128];
-} __attribute__((packed));
-
-#endif /* __UBI_USER_H__ */
diff --git a/linux-headers/include/rdma/hfi/hfi1_user.h b/linux-headers/include/rdma/hfi/hfi1_user.h
deleted file mode 100644
index 87f41da..0000000
--- a/linux-headers/include/rdma/hfi/hfi1_user.h
+++ /dev/null
@@ -1,423 +0,0 @@
-/*
- *
- * This file is provided under a dual BSD/GPLv2 license. When using or
- * redistributing this file, you may do so under either license.
- *
- * GPL LICENSE SUMMARY
- *
- * Copyright(c) 2015 Intel Corporation.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of version 2 of the GNU General Public License as
- * published by the Free Software Foundation.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * BSD LICENSE
- *
- * Copyright(c) 2015 Intel Corporation.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * - Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * - Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- * - Neither the name of Intel Corporation nor the names of its
- * contributors may be used to endorse or promote products derived
- * from this software without specific prior written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
- * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
- * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
- * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
- * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
- * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
- * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- *
- */
-
-/*
- * This file contains defines, structures, etc. that are used
- * to communicate between kernel and user code.
- */
-
-#ifndef _LINUX__HFI1_USER_H
-#define _LINUX__HFI1_USER_H
-
-#include <linux/types.h>
-
-/*
- * This version number is given to the driver by the user code during
- * initialization in the spu_userversion field of hfi1_user_info, so
- * the driver can check for compatibility with user code.
- *
- * The major version changes when data structures change in an incompatible
- * way. The driver must be the same for initialization to succeed.
- */
-#define HFI1_USER_SWMAJOR 5
-
-/*
- * Minor version differences are always compatible
- * a within a major version, however if user software is larger
- * than driver software, some new features and/or structure fields
- * may not be implemented; the user code must deal with this if it
- * cares, or it must abort after initialization reports the difference.
- */
-#define HFI1_USER_SWMINOR 0
-
-/*
- * Set of HW and driver capability/feature bits.
- * These bit values are used to configure enabled/disabled HW and
- * driver features. The same set of bits are communicated to user
- * space.
- */
-#define HFI1_CAP_DMA_RTAIL (1UL << 0) /* Use DMA'ed RTail value */
-#define HFI1_CAP_SDMA (1UL << 1) /* Enable SDMA support */
-#define HFI1_CAP_SDMA_AHG (1UL << 2) /* Enable SDMA AHG support */
-#define HFI1_CAP_EXTENDED_PSN (1UL << 3) /* Enable Extended PSN support */
-#define HFI1_CAP_HDRSUPP (1UL << 4) /* Enable Header Suppression */
-/* 1UL << 5 unused */
-#define HFI1_CAP_USE_SDMA_HEAD (1UL << 6) /* DMA Hdr Q tail vs. use CSR */
-#define HFI1_CAP_MULTI_PKT_EGR (1UL << 7) /* Enable multi-packet Egr buffs*/
-#define HFI1_CAP_NODROP_RHQ_FULL (1UL << 8) /* Don't drop on Hdr Q full */
-#define HFI1_CAP_NODROP_EGR_FULL (1UL << 9) /* Don't drop on EGR buffs full */
-#define HFI1_CAP_TID_UNMAP (1UL << 10) /* Disable Expected TID caching */
-#define HFI1_CAP_PRINT_UNIMPL (1UL << 11) /* Show for unimplemented feats */
-#define HFI1_CAP_ALLOW_PERM_JKEY (1UL << 12) /* Allow use of permissive JKEY */
-#define HFI1_CAP_NO_INTEGRITY (1UL << 13) /* Enable ctxt integrity checks */
-#define HFI1_CAP_PKEY_CHECK (1UL << 14) /* Enable ctxt PKey checking */
-#define HFI1_CAP_STATIC_RATE_CTRL (1UL << 15) /* Allow PBC.StaticRateControl */
-/* 1UL << 16 unused */
-#define HFI1_CAP_SDMA_HEAD_CHECK (1UL << 17) /* SDMA head checking */
-#define HFI1_CAP_EARLY_CREDIT_RETURN (1UL << 18) /* early credit return */
-
-#define HFI1_RCVHDR_ENTSIZE_2 (1UL << 0)
-#define HFI1_RCVHDR_ENTSIZE_16 (1UL << 1)
-#define HFI1_RCVDHR_ENTSIZE_32 (1UL << 2)
-
-/*
- * If the unit is specified via open, HFI choice is fixed. If port is
- * specified, it's also fixed. Otherwise we try to spread contexts
- * across ports and HFIs, using different algorithms. WITHIN is
- * the old default, prior to this mechanism.
- */
-#define HFI1_ALG_ACROSS 0 /* round robin contexts across HFIs, then
- * ports; this is the default */
-#define HFI1_ALG_WITHIN 1 /* use all contexts on an HFI (round robin
- * active ports within), then next HFI */
-#define HFI1_ALG_COUNT 2 /* number of algorithm choices */
-
-
-/* User commands. */
-#define HFI1_CMD_ASSIGN_CTXT 1 /* allocate HFI and context */
-#define HFI1_CMD_CTXT_INFO 2 /* find out what resources we got */
-#define HFI1_CMD_USER_INFO 3 /* set up userspace */
-#define HFI1_CMD_TID_UPDATE 4 /* update expected TID entries */
-#define HFI1_CMD_TID_FREE 5 /* free expected TID entries */
-#define HFI1_CMD_CREDIT_UPD 6 /* force an update of PIO credit */
-#define HFI1_CMD_SDMA_STATUS_UPD 7 /* force update of SDMA status ring */
-
-#define HFI1_CMD_RECV_CTRL 8 /* control receipt of packets */
-#define HFI1_CMD_POLL_TYPE 9 /* set the kind of polling we want */
-#define HFI1_CMD_ACK_EVENT 10 /* ack & clear user status bits */
-#define HFI1_CMD_SET_PKEY 11 /* set context's pkey */
-#define HFI1_CMD_CTXT_RESET 12 /* reset context's HW send context */
-#define HFI1_CMD_TID_INVAL_READ 13 /* read TID cache invalidations */
-/* separate EPROM commands from normal PSM commands */
-#define HFI1_CMD_EP_INFO 64 /* read EPROM device ID */
-#define HFI1_CMD_EP_ERASE_CHIP 65 /* erase whole EPROM */
-/* range 66-74 no longer used */
-#define HFI1_CMD_EP_ERASE_RANGE 75 /* erase EPROM range */
-#define HFI1_CMD_EP_READ_RANGE 76 /* read EPROM range */
-#define HFI1_CMD_EP_WRITE_RANGE 77 /* write EPROM range */
-
-#define _HFI1_EVENT_FROZEN_BIT 0
-#define _HFI1_EVENT_LINKDOWN_BIT 1
-#define _HFI1_EVENT_LID_CHANGE_BIT 2
-#define _HFI1_EVENT_LMC_CHANGE_BIT 3
-#define _HFI1_EVENT_SL2VL_CHANGE_BIT 4
-#define _HFI1_EVENT_TID_MMU_NOTIFY_BIT 5
-#define _HFI1_MAX_EVENT_BIT _HFI1_EVENT_TID_MMU_NOTIFY_BIT
-
-#define HFI1_EVENT_FROZEN (1UL << _HFI1_EVENT_FROZEN_BIT)
-#define HFI1_EVENT_LINKDOWN (1UL << _HFI1_EVENT_LINKDOWN_BIT)
-#define HFI1_EVENT_LID_CHANGE (1UL << _HFI1_EVENT_LID_CHANGE_BIT)
-#define HFI1_EVENT_LMC_CHANGE (1UL << _HFI1_EVENT_LMC_CHANGE_BIT)
-#define HFI1_EVENT_SL2VL_CHANGE (1UL << _HFI1_EVENT_SL2VL_CHANGE_BIT)
-#define HFI1_EVENT_TID_MMU_NOTIFY (1UL << _HFI1_EVENT_TID_MMU_NOTIFY_BIT)
-
-/*
- * These are the status bits readable (in ASCII form, 64bit value)
- * from the "status" sysfs file. For binary compatibility, values
- * must remain as is; removed states can be reused for different
- * purposes.
- */
-#define HFI1_STATUS_INITTED 0x1 /* basic initialization done */
-/* Chip has been found and initialized */
-#define HFI1_STATUS_CHIP_PRESENT 0x20
-/* IB link is at ACTIVE, usable for data traffic */
-#define HFI1_STATUS_IB_READY 0x40
-/* link is configured, LID, MTU, etc. have been set */
-#define HFI1_STATUS_IB_CONF 0x80
-/* A Fatal hardware error has occurred. */
-#define HFI1_STATUS_HWERROR 0x200
-
-/*
- * Number of supported shared contexts.
- * This is the maximum number of software contexts that can share
- * a hardware send/receive context.
- */
-#define HFI1_MAX_SHARED_CTXTS 8
-
-/*
- * Poll types
- */
-#define HFI1_POLL_TYPE_ANYRCV 0x0
-#define HFI1_POLL_TYPE_URGENT 0x1
-
-/*
- * This structure is passed to the driver to tell it where
- * user code buffers are, sizes, etc. The offsets and sizes of the
- * fields must remain unchanged, for binary compatibility. It can
- * be extended, if userversion is changed so user code can tell, if needed
- */
-struct hfi1_user_info {
- /*
- * version of user software, to detect compatibility issues.
- * Should be set to HFI1_USER_SWVERSION.
- */
- __u32 userversion;
- __u16 pad;
- /* HFI selection algorithm, if unit has not selected */
- __u16 hfi1_alg;
- /*
- * If two or more processes wish to share a context, each process
- * must set the subcontext_cnt and subcontext_id to the same
- * values. The only restriction on the subcontext_id is that
- * it be unique for a given node.
- */
- __u16 subctxt_cnt;
- __u16 subctxt_id;
- /* 128bit UUID passed in by PSM. */
- __u8 uuid[16];
-};
-
-struct hfi1_ctxt_info {
- __u64 runtime_flags; /* chip/drv runtime flags (HFI1_CAP_*) */
- __u32 rcvegr_size; /* size of each eager buffer */
- __u16 num_active; /* number of active units */
- __u16 unit; /* unit (chip) assigned to caller */
- __u16 ctxt; /* ctxt on unit assigned to caller */
- __u16 subctxt; /* subctxt on unit assigned to caller */
- __u16 rcvtids; /* number of Rcv TIDs for this context */
- __u16 credits; /* number of PIO credits for this context */
- __u16 numa_node; /* NUMA node of the assigned device */
- __u16 rec_cpu; /* cpu # for affinity (0xffff if none) */
- __u16 send_ctxt; /* send context in use by this user context */
- __u16 egrtids; /* number of RcvArray entries for Eager Rcvs */
- __u16 rcvhdrq_cnt; /* number of RcvHdrQ entries */
- __u16 rcvhdrq_entsize; /* size (in bytes) for each RcvHdrQ entry */
- __u16 sdma_ring_size; /* number of entries in SDMA request ring */
-};
-
-struct hfi1_tid_info {
- /* virtual address of first page in transfer */
- __u64 vaddr;
- /* pointer to tid array. this array is big enough */
- __u64 tidlist;
- /* number of tids programmed by this request */
- __u32 tidcnt;
- /* length of transfer buffer programmed by this request */
- __u32 length;
-};
-
-struct hfi1_cmd {
- __u32 type; /* command type */
- __u32 len; /* length of struct pointed to by add */
- __u64 addr; /* pointer to user structure */
-};
-
-enum hfi1_sdma_comp_state {
- FREE = 0,
- QUEUED,
- COMPLETE,
- ERROR
-};
-
-/*
- * SDMA completion ring entry
- */
-struct hfi1_sdma_comp_entry {
- __u32 status;
- __u32 errcode;
-};
-
-/*
- * Device status and notifications from driver to user-space.
- */
-struct hfi1_status {
- __u64 dev; /* device/hw status bits */
- __u64 port; /* port state and status bits */
- char freezemsg[0];
-};
-
-/*
- * This structure is returned by the driver immediately after
- * open to get implementation-specific info, and info specific to this
- * instance.
- *
- * This struct must have explicit pad fields where type sizes
- * may result in different alignments between 32 and 64 bit
- * programs, since the 64 bit * bit kernel requires the user code
- * to have matching offsets
- */
-struct hfi1_base_info {
- /* version of hardware, for feature checking. */
- __u32 hw_version;
- /* version of software, for feature checking. */
- __u32 sw_version;
- /* Job key */
- __u16 jkey;
- __u16 padding1;
- /*
- * The special QP (queue pair) value that identifies PSM
- * protocol packet from standard IB packets.
- */
- __u32 bthqp;
- /* PIO credit return address, */
- __u64 sc_credits_addr;
- /*
- * Base address of write-only pio buffers for this process.
- * Each buffer has sendpio_credits*64 bytes.
- */
- __u64 pio_bufbase_sop;
- /*
- * Base address of write-only pio buffers for this process.
- * Each buffer has sendpio_credits*64 bytes.
- */
- __u64 pio_bufbase;
- /* address where receive buffer queue is mapped into */
- __u64 rcvhdr_bufbase;
- /* base address of Eager receive buffers. */
- __u64 rcvegr_bufbase;
- /* base address of SDMA completion ring */
- __u64 sdma_comp_bufbase;
- /*
- * User register base for init code, not to be used directly by
- * protocol or applications. Always maps real chip register space.
- * the register addresses are:
- * ur_rcvhdrhead, ur_rcvhdrtail, ur_rcvegrhead, ur_rcvegrtail,
- * ur_rcvtidflow
- */
- __u64 user_regbase;
- /* notification events */
- __u64 events_bufbase;
- /* status page */
- __u64 status_bufbase;
- /* rcvhdrtail update */
- __u64 rcvhdrtail_base;
- /*
- * shared memory pages for subctxts if ctxt is shared; these cover
- * all the processes in the group sharing a single context.
- * all have enough space for the num_subcontexts value on this job.
- */
- __u64 subctxt_uregbase;
- __u64 subctxt_rcvegrbuf;
- __u64 subctxt_rcvhdrbuf;
-};
-
-enum sdma_req_opcode {
- EXPECTED = 0,
- EAGER
-};
-
-#define HFI1_SDMA_REQ_VERSION_MASK 0xF
-#define HFI1_SDMA_REQ_VERSION_SHIFT 0x0
-#define HFI1_SDMA_REQ_OPCODE_MASK 0xF
-#define HFI1_SDMA_REQ_OPCODE_SHIFT 0x4
-#define HFI1_SDMA_REQ_IOVCNT_MASK 0xFF
-#define HFI1_SDMA_REQ_IOVCNT_SHIFT 0x8
-
-struct sdma_req_info {
- /*
- * bits 0-3 - version (currently unused)
- * bits 4-7 - opcode (enum sdma_req_opcode)
- * bits 8-15 - io vector count
- */
- __u16 ctrl;
- /*
- * Number of fragments contained in this request.
- * User-space has already computed how many
- * fragment-sized packet the user buffer will be
- * split into.
- */
- __u16 npkts;
- /*
- * Size of each fragment the user buffer will be
- * split into.
- */
- __u16 fragsize;
- /*
- * Index of the slot in the SDMA completion ring
- * this request should be using. User-space is
- * in charge of managing its own ring.
- */
- __u16 comp_idx;
-} __attribute__((packed));
-
-/*
- * SW KDETH header.
- * swdata is SW defined portion.
- */
-struct hfi1_kdeth_header {
- __le32 ver_tid_offset;
- __le16 jkey;
- __le16 hcrc;
- __le32 swdata[7];
-} __attribute__((packed));
-
-/*
- * Structure describing the headers that User space uses. The
- * structure above is a subset of this one.
- */
-struct hfi1_pkt_header {
- __le16 pbc[4];
- __be16 lrh[4];
- __be32 bth[3];
- struct hfi1_kdeth_header kdeth;
-} __attribute__((packed));
-
-
-/*
- * The list of usermode accessible registers.
- */
-enum hfi1_ureg {
- /* (RO) DMA RcvHdr to be used next. */
- ur_rcvhdrtail = 0,
- /* (RW) RcvHdr entry to be processed next by host. */
- ur_rcvhdrhead = 1,
- /* (RO) Index of next Eager index to use. */
- ur_rcvegrindextail = 2,
- /* (RW) Eager TID to be processed next */
- ur_rcvegrindexhead = 3,
- /* (RO) Receive Eager Offset Tail */
- ur_rcvegroffsettail = 4,
- /* For internal use only; max register number. */
- ur_maxreg,
- /* (RW) Receive TID flow table */
- ur_rcvtidflowtable = 256
-};
-
-#endif /* _LINIUX__HFI1_USER_H */
diff --git a/linux-headers/include/rdma/ib_user_cm.h b/linux-headers/include/rdma/ib_user_cm.h
deleted file mode 100644
index f79014a..0000000
--- a/linux-headers/include/rdma/ib_user_cm.h
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * Copyright (c) 2005 Topspin Communications. All rights reserved.
- * Copyright (c) 2005 Intel Corporation. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses. You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the following
- * disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef IB_USER_CM_H
-#define IB_USER_CM_H
-
-#include <linux/types.h>
-#include <rdma/ib_user_sa.h>
-
-#define IB_USER_CM_ABI_VERSION 5
-
-enum {
- IB_USER_CM_CMD_CREATE_ID,
- IB_USER_CM_CMD_DESTROY_ID,
- IB_USER_CM_CMD_ATTR_ID,
-
- IB_USER_CM_CMD_LISTEN,
- IB_USER_CM_CMD_NOTIFY,
-
- IB_USER_CM_CMD_SEND_REQ,
- IB_USER_CM_CMD_SEND_REP,
- IB_USER_CM_CMD_SEND_RTU,
- IB_USER_CM_CMD_SEND_DREQ,
- IB_USER_CM_CMD_SEND_DREP,
- IB_USER_CM_CMD_SEND_REJ,
- IB_USER_CM_CMD_SEND_MRA,
- IB_USER_CM_CMD_SEND_LAP,
- IB_USER_CM_CMD_SEND_APR,
- IB_USER_CM_CMD_SEND_SIDR_REQ,
- IB_USER_CM_CMD_SEND_SIDR_REP,
-
- IB_USER_CM_CMD_EVENT,
- IB_USER_CM_CMD_INIT_QP_ATTR,
-};
-/*
- * command ABI structures.
- */
-struct ib_ucm_cmd_hdr {
- __u32 cmd;
- __u16 in;
- __u16 out;
-};
-
-struct ib_ucm_create_id {
- __u64 uid;
- __u64 response;
-};
-
-struct ib_ucm_create_id_resp {
- __u32 id;
-};
-
-struct ib_ucm_destroy_id {
- __u64 response;
- __u32 id;
- __u32 reserved;
-};
-
-struct ib_ucm_destroy_id_resp {
- __u32 events_reported;
-};
-
-struct ib_ucm_attr_id {
- __u64 response;
- __u32 id;
- __u32 reserved;
-};
-
-struct ib_ucm_attr_id_resp {
- __be64 service_id;
- __be64 service_mask;
- __be32 local_id;
- __be32 remote_id;
-};
-
-struct ib_ucm_init_qp_attr {
- __u64 response;
- __u32 id;
- __u32 qp_state;
-};
-
-struct ib_ucm_listen {
- __be64 service_id;
- __be64 service_mask;
- __u32 id;
- __u32 reserved;
-};
-
-struct ib_ucm_notify {
- __u32 id;
- __u32 event;
-};
-
-struct ib_ucm_private_data {
- __u64 data;
- __u32 id;
- __u8 len;
- __u8 reserved[3];
-};
-
-struct ib_ucm_req {
- __u32 id;
- __u32 qpn;
- __u32 qp_type;
- __u32 psn;
- __be64 sid;
- __u64 data;
- __u64 primary_path;
- __u64 alternate_path;
- __u8 len;
- __u8 peer_to_peer;
- __u8 responder_resources;
- __u8 initiator_depth;
- __u8 remote_cm_response_timeout;
- __u8 flow_control;
- __u8 local_cm_response_timeout;
- __u8 retry_count;
- __u8 rnr_retry_count;
- __u8 max_cm_retries;
- __u8 srq;
- __u8 reserved[5];
-};
-
-struct ib_ucm_rep {
- __u64 uid;
- __u64 data;
- __u32 id;
- __u32 qpn;
- __u32 psn;
- __u8 len;
- __u8 responder_resources;
- __u8 initiator_depth;
- __u8 target_ack_delay;
- __u8 failover_accepted;
- __u8 flow_control;
- __u8 rnr_retry_count;
- __u8 srq;
- __u8 reserved[4];
-};
-
-struct ib_ucm_info {
- __u32 id;
- __u32 status;
- __u64 info;
- __u64 data;
- __u8 info_len;
- __u8 data_len;
- __u8 reserved[6];
-};
-
-struct ib_ucm_mra {
- __u64 data;
- __u32 id;
- __u8 len;
- __u8 timeout;
- __u8 reserved[2];
-};
-
-struct ib_ucm_lap {
- __u64 path;
- __u64 data;
- __u32 id;
- __u8 len;
- __u8 reserved[3];
-};
-
-struct ib_ucm_sidr_req {
- __u32 id;
- __u32 timeout;
- __be64 sid;
- __u64 data;
- __u64 path;
- __u16 reserved_pkey;
- __u8 len;
- __u8 max_cm_retries;
- __u8 reserved[4];
-};
-
-struct ib_ucm_sidr_rep {
- __u32 id;
- __u32 qpn;
- __u32 qkey;
- __u32 status;
- __u64 info;
- __u64 data;
- __u8 info_len;
- __u8 data_len;
- __u8 reserved[6];
-};
-/*
- * event notification ABI structures.
- */
-struct ib_ucm_event_get {
- __u64 response;
- __u64 data;
- __u64 info;
- __u8 data_len;
- __u8 info_len;
- __u8 reserved[6];
-};
-
-struct ib_ucm_req_event_resp {
- struct ib_user_path_rec primary_path;
- struct ib_user_path_rec alternate_path;
- __be64 remote_ca_guid;
- __u32 remote_qkey;
- __u32 remote_qpn;
- __u32 qp_type;
- __u32 starting_psn;
- __u8 responder_resources;
- __u8 initiator_depth;
- __u8 local_cm_response_timeout;
- __u8 flow_control;
- __u8 remote_cm_response_timeout;
- __u8 retry_count;
- __u8 rnr_retry_count;
- __u8 srq;
- __u8 port;
- __u8 reserved[7];
-};
-
-struct ib_ucm_rep_event_resp {
- __be64 remote_ca_guid;
- __u32 remote_qkey;
- __u32 remote_qpn;
- __u32 starting_psn;
- __u8 responder_resources;
- __u8 initiator_depth;
- __u8 target_ack_delay;
- __u8 failover_accepted;
- __u8 flow_control;
- __u8 rnr_retry_count;
- __u8 srq;
- __u8 reserved[5];
-};
-
-struct ib_ucm_rej_event_resp {
- __u32 reason;
- /* ari in ib_ucm_event_get info field. */
-};
-
-struct ib_ucm_mra_event_resp {
- __u8 timeout;
- __u8 reserved[3];
-};
-
-struct ib_ucm_lap_event_resp {
- struct ib_user_path_rec path;
-};
-
-struct ib_ucm_apr_event_resp {
- __u32 status;
- /* apr info in ib_ucm_event_get info field. */
-};
-
-struct ib_ucm_sidr_req_event_resp {
- __u16 pkey;
- __u8 port;
- __u8 reserved;
-};
-
-struct ib_ucm_sidr_rep_event_resp {
- __u32 status;
- __u32 qkey;
- __u32 qpn;
- /* info in ib_ucm_event_get info field. */
-};
-
-#define IB_UCM_PRES_DATA 0x01
-#define IB_UCM_PRES_INFO 0x02
-#define IB_UCM_PRES_PRIMARY 0x04
-#define IB_UCM_PRES_ALTERNATE 0x08
-
-struct ib_ucm_event_resp {
- __u64 uid;
- __u32 id;
- __u32 event;
- __u32 present;
- __u32 reserved;
- union {
- struct ib_ucm_req_event_resp req_resp;
- struct ib_ucm_rep_event_resp rep_resp;
- struct ib_ucm_rej_event_resp rej_resp;
- struct ib_ucm_mra_event_resp mra_resp;
- struct ib_ucm_lap_event_resp lap_resp;
- struct ib_ucm_apr_event_resp apr_resp;
-
- struct ib_ucm_sidr_req_event_resp sidr_req_resp;
- struct ib_ucm_sidr_rep_event_resp sidr_rep_resp;
-
- __u32 send_status;
- } u;
-};
-
-#endif /* IB_USER_CM_H */
diff --git a/linux-headers/include/rdma/ib_user_mad.h b/linux-headers/include/rdma/ib_user_mad.h
deleted file mode 100644
index 09f809f..0000000
--- a/linux-headers/include/rdma/ib_user_mad.h
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (c) 2004 Topspin Communications. All rights reserved.
- * Copyright (c) 2005 Voltaire, Inc. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses. You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the following
- * disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef IB_USER_MAD_H
-#define IB_USER_MAD_H
-
-#include <linux/types.h>
-#include <linux/ioctl.h>
-
-/*
- * Increment this value if any changes that break userspace ABI
- * compatibility are made.
- */
-#define IB_USER_MAD_ABI_VERSION 5
-
-/*
- * Make sure that all structs defined in this file remain laid out so
- * that they pack the same way on 32-bit and 64-bit architectures (to
- * avoid incompatibility between 32-bit userspace and 64-bit kernels).
- */
-
-/**
- * ib_user_mad_hdr_old - Old version of MAD packet header without pkey_index
- * @id - ID of agent MAD received with/to be sent with
- * @status - 0 on successful receive, ETIMEDOUT if no response
- * received (transaction ID in data[] will be set to TID of original
- * request) (ignored on send)
- * @timeout_ms - Milliseconds to wait for response (unset on receive)
- * @retries - Number of automatic retries to attempt
- * @qpn - Remote QP number received from/to be sent to
- * @qkey - Remote Q_Key to be sent with (unset on receive)
- * @lid - Remote lid received from/to be sent to
- * @sl - Service level received with/to be sent with
- * @path_bits - Local path bits received with/to be sent with
- * @grh_present - If set, GRH was received/should be sent
- * @gid_index - Local GID index to send with (unset on receive)
- * @hop_limit - Hop limit in GRH
- * @traffic_class - Traffic class in GRH
- * @gid - Remote GID in GRH
- * @flow_label - Flow label in GRH
- */
-struct ib_user_mad_hdr_old {
- __u32 id;
- __u32 status;
- __u32 timeout_ms;
- __u32 retries;
- __u32 length;
- __be32 qpn;
- __be32 qkey;
- __be16 lid;
- __u8 sl;
- __u8 path_bits;
- __u8 grh_present;
- __u8 gid_index;
- __u8 hop_limit;
- __u8 traffic_class;
- __u8 gid[16];
- __be32 flow_label;
-};
-
-/**
- * ib_user_mad_hdr - MAD packet header
- * This layout allows specifying/receiving the P_Key index. To use
- * this capability, an application must call the
- * IB_USER_MAD_ENABLE_PKEY ioctl on the user MAD file handle before
- * any other actions with the file handle.
- * @id - ID of agent MAD received with/to be sent with
- * @status - 0 on successful receive, ETIMEDOUT if no response
- * received (transaction ID in data[] will be set to TID of original
- * request) (ignored on send)
- * @timeout_ms - Milliseconds to wait for response (unset on receive)
- * @retries - Number of automatic retries to attempt
- * @qpn - Remote QP number received from/to be sent to
- * @qkey - Remote Q_Key to be sent with (unset on receive)
- * @lid - Remote lid received from/to be sent to
- * @sl - Service level received with/to be sent with
- * @path_bits - Local path bits received with/to be sent with
- * @grh_present - If set, GRH was received/should be sent
- * @gid_index - Local GID index to send with (unset on receive)
- * @hop_limit - Hop limit in GRH
- * @traffic_class - Traffic class in GRH
- * @gid - Remote GID in GRH
- * @flow_label - Flow label in GRH
- * @pkey_index - P_Key index
- */
-struct ib_user_mad_hdr {
- __u32 id;
- __u32 status;
- __u32 timeout_ms;
- __u32 retries;
- __u32 length;
- __be32 qpn;
- __be32 qkey;
- __be16 lid;
- __u8 sl;
- __u8 path_bits;
- __u8 grh_present;
- __u8 gid_index;
- __u8 hop_limit;
- __u8 traffic_class;
- __u8 gid[16];
- __be32 flow_label;
- __u16 pkey_index;
- __u8 reserved[6];
-};
-
-/**
- * ib_user_mad - MAD packet
- * @hdr - MAD packet header
- * @data - Contents of MAD
- *
- */
-struct ib_user_mad {
- struct ib_user_mad_hdr hdr;
- __u64 data[0];
-};
-
-/*
- * Earlier versions of this interface definition declared the
- * method_mask[] member as an array of __u32 but treated it as a
- * bitmap made up of longs in the kernel. This ambiguity meant that
- * 32-bit big-endian applications that can run on both 32-bit and
- * 64-bit kernels had no consistent ABI to rely on, and 64-bit
- * big-endian applications that treated method_mask as being made up
- * of 32-bit words would have their bitmap misinterpreted.
- *
- * To clear up this confusion, we change the declaration of
- * method_mask[] to use unsigned long and handle the conversion from
- * 32-bit userspace to 64-bit kernel for big-endian systems in the
- * compat_ioctl method. Unfortunately, to keep the structure layout
- * the same, we need the method_mask[] array to be aligned only to 4
- * bytes even when long is 64 bits, which forces us into this ugly
- * typedef.
- */
-typedef unsigned long __attribute__((aligned(4))) packed_ulong;
-#define IB_USER_MAD_LONGS_PER_METHOD_MASK (128 / (8 * sizeof (long)))
-
-/**
- * ib_user_mad_reg_req - MAD registration request
- * @id - Set by the kernel; used to identify agent in future requests.
- * @qpn - Queue pair number; must be 0 or 1.
- * @method_mask - The caller will receive unsolicited MADs for any method
- * where @method_mask = 1.
- * @mgmt_class - Indicates which management class of MADs should be receive
- * by the caller. This field is only required if the user wishes to
- * receive unsolicited MADs, otherwise it should be 0.
- * @mgmt_class_version - Indicates which version of MADs for the given
- * management class to receive.
- * @oui: Indicates IEEE OUI when mgmt_class is a vendor class
- * in the range from 0x30 to 0x4f. Otherwise not used.
- * @rmpp_version: If set, indicates the RMPP version used.
- *
- */
-struct ib_user_mad_reg_req {
- __u32 id;
- packed_ulong method_mask[IB_USER_MAD_LONGS_PER_METHOD_MASK];
- __u8 qpn;
- __u8 mgmt_class;
- __u8 mgmt_class_version;
- __u8 oui[3];
- __u8 rmpp_version;
-};
-
-/**
- * ib_user_mad_reg_req2 - MAD registration request
- *
- * @id - Set by the _kernel_; used by userspace to identify the
- * registered agent in future requests.
- * @qpn - Queue pair number; must be 0 or 1.
- * @mgmt_class - Indicates which management class of MADs should be
- * receive by the caller. This field is only required if
- * the user wishes to receive unsolicited MADs, otherwise
- * it should be 0.
- * @mgmt_class_version - Indicates which version of MADs for the given
- * management class to receive.
- * @res - Ignored.
- * @flags - additional registration flags; Must be in the set of
- * flags defined in IB_USER_MAD_REG_FLAGS_CAP
- * @method_mask - The caller wishes to receive unsolicited MADs for the
- * methods whose bit(s) is(are) set.
- * @oui - Indicates IEEE OUI to use when mgmt_class is a vendor
- * class in the range from 0x30 to 0x4f. Otherwise not
- * used.
- * @rmpp_version - If set, indicates the RMPP version to use.
- */
-enum {
- IB_USER_MAD_USER_RMPP = (1 << 0),
-};
-#define IB_USER_MAD_REG_FLAGS_CAP (IB_USER_MAD_USER_RMPP)
-struct ib_user_mad_reg_req2 {
- __u32 id;
- __u32 qpn;
- __u8 mgmt_class;
- __u8 mgmt_class_version;
- __u16 res;
- __u32 flags;
- __u64 method_mask[2];
- __u32 oui;
- __u8 rmpp_version;
- __u8 reserved[3];
-};
-
-#define IB_IOCTL_MAGIC 0x1b
-
-#define IB_USER_MAD_REGISTER_AGENT _IOWR(IB_IOCTL_MAGIC, 1, \
- struct ib_user_mad_reg_req)
-
-#define IB_USER_MAD_UNREGISTER_AGENT _IOW(IB_IOCTL_MAGIC, 2, __u32)
-
-#define IB_USER_MAD_ENABLE_PKEY _IO(IB_IOCTL_MAGIC, 3)
-
-#define IB_USER_MAD_REGISTER_AGENT2 _IOWR(IB_IOCTL_MAGIC, 4, \
- struct ib_user_mad_reg_req2)
-
-#endif /* IB_USER_MAD_H */
diff --git a/linux-headers/include/rdma/ib_user_sa.h b/linux-headers/include/rdma/ib_user_sa.h
deleted file mode 100644
index cfc7c9b..0000000
--- a/linux-headers/include/rdma/ib_user_sa.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 2005 Intel Corporation. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses. You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the following
- * disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef IB_USER_SA_H
-#define IB_USER_SA_H
-
-#include <linux/types.h>
-
-enum {
- IB_PATH_GMP = 1,
- IB_PATH_PRIMARY = (1<<1),
- IB_PATH_ALTERNATE = (1<<2),
- IB_PATH_OUTBOUND = (1<<3),
- IB_PATH_INBOUND = (1<<4),
- IB_PATH_INBOUND_REVERSE = (1<<5),
- IB_PATH_BIDIRECTIONAL = IB_PATH_OUTBOUND | IB_PATH_INBOUND_REVERSE
-};
-
-struct ib_path_rec_data {
- __u32 flags;
- __u32 reserved;
- __u32 path_rec[16];
-};
-
-struct ib_user_path_rec {
- __u8 dgid[16];
- __u8 sgid[16];
- __be16 dlid;
- __be16 slid;
- __u32 raw_traffic;
- __be32 flow_label;
- __u32 reversible;
- __u32 mtu;
- __be16 pkey;
- __u8 hop_limit;
- __u8 traffic_class;
- __u8 numb_path;
- __u8 sl;
- __u8 mtu_selector;
- __u8 rate_selector;
- __u8 rate;
- __u8 packet_life_time_selector;
- __u8 packet_life_time;
- __u8 preference;
-};
-
-#endif /* IB_USER_SA_H */
diff --git a/linux-headers/include/rdma/ib_user_verbs.h b/linux-headers/include/rdma/ib_user_verbs.h
deleted file mode 100644
index 8126c14..0000000
--- a/linux-headers/include/rdma/ib_user_verbs.h
+++ /dev/null
@@ -1,948 +0,0 @@
-/*
- * Copyright (c) 2005 Topspin Communications. All rights reserved.
- * Copyright (c) 2005, 2006 Cisco Systems. All rights reserved.
- * Copyright (c) 2005 PathScale, Inc. All rights reserved.
- * Copyright (c) 2006 Mellanox Technologies. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses. You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the following
- * disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef IB_USER_VERBS_H
-#define IB_USER_VERBS_H
-
-#include <linux/types.h>
-
-/*
- * Increment this value if any changes that break userspace ABI
- * compatibility are made.
- */
-#define IB_USER_VERBS_ABI_VERSION 6
-#define IB_USER_VERBS_CMD_THRESHOLD 50
-
-enum {
- IB_USER_VERBS_CMD_GET_CONTEXT,
- IB_USER_VERBS_CMD_QUERY_DEVICE,
- IB_USER_VERBS_CMD_QUERY_PORT,
- IB_USER_VERBS_CMD_ALLOC_PD,
- IB_USER_VERBS_CMD_DEALLOC_PD,
- IB_USER_VERBS_CMD_CREATE_AH,
- IB_USER_VERBS_CMD_MODIFY_AH,
- IB_USER_VERBS_CMD_QUERY_AH,
- IB_USER_VERBS_CMD_DESTROY_AH,
- IB_USER_VERBS_CMD_REG_MR,
- IB_USER_VERBS_CMD_REG_SMR,
- IB_USER_VERBS_CMD_REREG_MR,
- IB_USER_VERBS_CMD_QUERY_MR,
- IB_USER_VERBS_CMD_DEREG_MR,
- IB_USER_VERBS_CMD_ALLOC_MW,
- IB_USER_VERBS_CMD_BIND_MW,
- IB_USER_VERBS_CMD_DEALLOC_MW,
- IB_USER_VERBS_CMD_CREATE_COMP_CHANNEL,
- IB_USER_VERBS_CMD_CREATE_CQ,
- IB_USER_VERBS_CMD_RESIZE_CQ,
- IB_USER_VERBS_CMD_DESTROY_CQ,
- IB_USER_VERBS_CMD_POLL_CQ,
- IB_USER_VERBS_CMD_PEEK_CQ,
- IB_USER_VERBS_CMD_REQ_NOTIFY_CQ,
- IB_USER_VERBS_CMD_CREATE_QP,
- IB_USER_VERBS_CMD_QUERY_QP,
- IB_USER_VERBS_CMD_MODIFY_QP,
- IB_USER_VERBS_CMD_DESTROY_QP,
- IB_USER_VERBS_CMD_POST_SEND,
- IB_USER_VERBS_CMD_POST_RECV,
- IB_USER_VERBS_CMD_ATTACH_MCAST,
- IB_USER_VERBS_CMD_DETACH_MCAST,
- IB_USER_VERBS_CMD_CREATE_SRQ,
- IB_USER_VERBS_CMD_MODIFY_SRQ,
- IB_USER_VERBS_CMD_QUERY_SRQ,
- IB_USER_VERBS_CMD_DESTROY_SRQ,
- IB_USER_VERBS_CMD_POST_SRQ_RECV,
- IB_USER_VERBS_CMD_OPEN_XRCD,
- IB_USER_VERBS_CMD_CLOSE_XRCD,
- IB_USER_VERBS_CMD_CREATE_XSRQ,
- IB_USER_VERBS_CMD_OPEN_QP,
-};
-
-enum {
- IB_USER_VERBS_EX_CMD_QUERY_DEVICE = IB_USER_VERBS_CMD_QUERY_DEVICE,
- IB_USER_VERBS_EX_CMD_CREATE_CQ = IB_USER_VERBS_CMD_CREATE_CQ,
- IB_USER_VERBS_EX_CMD_CREATE_QP = IB_USER_VERBS_CMD_CREATE_QP,
- IB_USER_VERBS_EX_CMD_CREATE_FLOW = IB_USER_VERBS_CMD_THRESHOLD,
- IB_USER_VERBS_EX_CMD_DESTROY_FLOW,
-};
-
-/*
- * Make sure that all structs defined in this file remain laid out so
- * that they pack the same way on 32-bit and 64-bit architectures (to
- * avoid incompatibility between 32-bit userspace and 64-bit kernels).
- * Specifically:
- * - Do not use pointer types -- pass pointers in __u64 instead.
- * - Make sure that any structure larger than 4 bytes is padded to a
- * multiple of 8 bytes. Otherwise the structure size will be
- * different between 32-bit and 64-bit architectures.
- */
-
-struct ib_uverbs_async_event_desc {
- __u64 element;
- __u32 event_type; /* enum ib_event_type */
- __u32 reserved;
-};
-
-struct ib_uverbs_comp_event_desc {
- __u64 cq_handle;
-};
-
-/*
- * All commands from userspace should start with a __u32 command field
- * followed by __u16 in_words and out_words fields (which give the
- * length of the command block and response buffer if any in 32-bit
- * words). The kernel driver will read these fields first and read
- * the rest of the command struct based on these value.
- */
-
-#define IB_USER_VERBS_CMD_COMMAND_MASK 0xff
-#define IB_USER_VERBS_CMD_FLAGS_MASK 0xff000000u
-#define IB_USER_VERBS_CMD_FLAGS_SHIFT 24
-
-#define IB_USER_VERBS_CMD_FLAG_EXTENDED 0x80
-
-struct ib_uverbs_cmd_hdr {
- __u32 command;
- __u16 in_words;
- __u16 out_words;
-};
-
-struct ib_uverbs_ex_cmd_hdr {
- __u64 response;
- __u16 provider_in_words;
- __u16 provider_out_words;
- __u32 cmd_hdr_reserved;
-};
-
-struct ib_uverbs_get_context {
- __u64 response;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_get_context_resp {
- __u32 async_fd;
- __u32 num_comp_vectors;
-};
-
-struct ib_uverbs_query_device {
- __u64 response;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_query_device_resp {
- __u64 fw_ver;
- __be64 node_guid;
- __be64 sys_image_guid;
- __u64 max_mr_size;
- __u64 page_size_cap;
- __u32 vendor_id;
- __u32 vendor_part_id;
- __u32 hw_ver;
- __u32 max_qp;
- __u32 max_qp_wr;
- __u32 device_cap_flags;
- __u32 max_sge;
- __u32 max_sge_rd;
- __u32 max_cq;
- __u32 max_cqe;
- __u32 max_mr;
- __u32 max_pd;
- __u32 max_qp_rd_atom;
- __u32 max_ee_rd_atom;
- __u32 max_res_rd_atom;
- __u32 max_qp_init_rd_atom;
- __u32 max_ee_init_rd_atom;
- __u32 atomic_cap;
- __u32 max_ee;
- __u32 max_rdd;
- __u32 max_mw;
- __u32 max_raw_ipv6_qp;
- __u32 max_raw_ethy_qp;
- __u32 max_mcast_grp;
- __u32 max_mcast_qp_attach;
- __u32 max_total_mcast_qp_attach;
- __u32 max_ah;
- __u32 max_fmr;
- __u32 max_map_per_fmr;
- __u32 max_srq;
- __u32 max_srq_wr;
- __u32 max_srq_sge;
- __u16 max_pkeys;
- __u8 local_ca_ack_delay;
- __u8 phys_port_cnt;
- __u8 reserved[4];
-};
-
-struct ib_uverbs_ex_query_device {
- __u32 comp_mask;
- __u32 reserved;
-};
-
-struct ib_uverbs_odp_caps {
- __u64 general_caps;
- struct {
- __u32 rc_odp_caps;
- __u32 uc_odp_caps;
- __u32 ud_odp_caps;
- } per_transport_caps;
- __u32 reserved;
-};
-
-struct ib_uverbs_ex_query_device_resp {
- struct ib_uverbs_query_device_resp base;
- __u32 comp_mask;
- __u32 response_length;
- struct ib_uverbs_odp_caps odp_caps;
- __u64 timestamp_mask;
- __u64 hca_core_clock; /* in KHZ */
-};
-
-struct ib_uverbs_query_port {
- __u64 response;
- __u8 port_num;
- __u8 reserved[7];
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_query_port_resp {
- __u32 port_cap_flags;
- __u32 max_msg_sz;
- __u32 bad_pkey_cntr;
- __u32 qkey_viol_cntr;
- __u32 gid_tbl_len;
- __u16 pkey_tbl_len;
- __u16 lid;
- __u16 sm_lid;
- __u8 state;
- __u8 max_mtu;
- __u8 active_mtu;
- __u8 lmc;
- __u8 max_vl_num;
- __u8 sm_sl;
- __u8 subnet_timeout;
- __u8 init_type_reply;
- __u8 active_width;
- __u8 active_speed;
- __u8 phys_state;
- __u8 link_layer;
- __u8 reserved[2];
-};
-
-struct ib_uverbs_alloc_pd {
- __u64 response;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_alloc_pd_resp {
- __u32 pd_handle;
-};
-
-struct ib_uverbs_dealloc_pd {
- __u32 pd_handle;
-};
-
-struct ib_uverbs_open_xrcd {
- __u64 response;
- __u32 fd;
- __u32 oflags;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_open_xrcd_resp {
- __u32 xrcd_handle;
-};
-
-struct ib_uverbs_close_xrcd {
- __u32 xrcd_handle;
-};
-
-struct ib_uverbs_reg_mr {
- __u64 response;
- __u64 start;
- __u64 length;
- __u64 hca_va;
- __u32 pd_handle;
- __u32 access_flags;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_reg_mr_resp {
- __u32 mr_handle;
- __u32 lkey;
- __u32 rkey;
-};
-
-struct ib_uverbs_rereg_mr {
- __u64 response;
- __u32 mr_handle;
- __u32 flags;
- __u64 start;
- __u64 length;
- __u64 hca_va;
- __u32 pd_handle;
- __u32 access_flags;
-};
-
-struct ib_uverbs_rereg_mr_resp {
- __u32 lkey;
- __u32 rkey;
-};
-
-struct ib_uverbs_dereg_mr {
- __u32 mr_handle;
-};
-
-struct ib_uverbs_alloc_mw {
- __u64 response;
- __u32 pd_handle;
- __u8 mw_type;
- __u8 reserved[3];
-};
-
-struct ib_uverbs_alloc_mw_resp {
- __u32 mw_handle;
- __u32 rkey;
-};
-
-struct ib_uverbs_dealloc_mw {
- __u32 mw_handle;
-};
-
-struct ib_uverbs_create_comp_channel {
- __u64 response;
-};
-
-struct ib_uverbs_create_comp_channel_resp {
- __u32 fd;
-};
-
-struct ib_uverbs_create_cq {
- __u64 response;
- __u64 user_handle;
- __u32 cqe;
- __u32 comp_vector;
- __s32 comp_channel;
- __u32 reserved;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_ex_create_cq {
- __u64 user_handle;
- __u32 cqe;
- __u32 comp_vector;
- __s32 comp_channel;
- __u32 comp_mask;
- __u32 flags;
- __u32 reserved;
-};
-
-struct ib_uverbs_create_cq_resp {
- __u32 cq_handle;
- __u32 cqe;
-};
-
-struct ib_uverbs_ex_create_cq_resp {
- struct ib_uverbs_create_cq_resp base;
- __u32 comp_mask;
- __u32 response_length;
-};
-
-struct ib_uverbs_resize_cq {
- __u64 response;
- __u32 cq_handle;
- __u32 cqe;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_resize_cq_resp {
- __u32 cqe;
- __u32 reserved;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_poll_cq {
- __u64 response;
- __u32 cq_handle;
- __u32 ne;
-};
-
-struct ib_uverbs_wc {
- __u64 wr_id;
- __u32 status;
- __u32 opcode;
- __u32 vendor_err;
- __u32 byte_len;
- union {
- __u32 imm_data;
- __u32 invalidate_rkey;
- } ex;
- __u32 qp_num;
- __u32 src_qp;
- __u32 wc_flags;
- __u16 pkey_index;
- __u16 slid;
- __u8 sl;
- __u8 dlid_path_bits;
- __u8 port_num;
- __u8 reserved;
-};
-
-struct ib_uverbs_poll_cq_resp {
- __u32 count;
- __u32 reserved;
- struct ib_uverbs_wc wc[0];
-};
-
-struct ib_uverbs_req_notify_cq {
- __u32 cq_handle;
- __u32 solicited_only;
-};
-
-struct ib_uverbs_destroy_cq {
- __u64 response;
- __u32 cq_handle;
- __u32 reserved;
-};
-
-struct ib_uverbs_destroy_cq_resp {
- __u32 comp_events_reported;
- __u32 async_events_reported;
-};
-
-struct ib_uverbs_global_route {
- __u8 dgid[16];
- __u32 flow_label;
- __u8 sgid_index;
- __u8 hop_limit;
- __u8 traffic_class;
- __u8 reserved;
-};
-
-struct ib_uverbs_ah_attr {
- struct ib_uverbs_global_route grh;
- __u16 dlid;
- __u8 sl;
- __u8 src_path_bits;
- __u8 static_rate;
- __u8 is_global;
- __u8 port_num;
- __u8 reserved;
-};
-
-struct ib_uverbs_qp_attr {
- __u32 qp_attr_mask;
- __u32 qp_state;
- __u32 cur_qp_state;
- __u32 path_mtu;
- __u32 path_mig_state;
- __u32 qkey;
- __u32 rq_psn;
- __u32 sq_psn;
- __u32 dest_qp_num;
- __u32 qp_access_flags;
-
- struct ib_uverbs_ah_attr ah_attr;
- struct ib_uverbs_ah_attr alt_ah_attr;
-
- /* ib_qp_cap */
- __u32 max_send_wr;
- __u32 max_recv_wr;
- __u32 max_send_sge;
- __u32 max_recv_sge;
- __u32 max_inline_data;
-
- __u16 pkey_index;
- __u16 alt_pkey_index;
- __u8 en_sqd_async_notify;
- __u8 sq_draining;
- __u8 max_rd_atomic;
- __u8 max_dest_rd_atomic;
- __u8 min_rnr_timer;
- __u8 port_num;
- __u8 timeout;
- __u8 retry_cnt;
- __u8 rnr_retry;
- __u8 alt_port_num;
- __u8 alt_timeout;
- __u8 reserved[5];
-};
-
-struct ib_uverbs_create_qp {
- __u64 response;
- __u64 user_handle;
- __u32 pd_handle;
- __u32 send_cq_handle;
- __u32 recv_cq_handle;
- __u32 srq_handle;
- __u32 max_send_wr;
- __u32 max_recv_wr;
- __u32 max_send_sge;
- __u32 max_recv_sge;
- __u32 max_inline_data;
- __u8 sq_sig_all;
- __u8 qp_type;
- __u8 is_srq;
- __u8 reserved;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_ex_create_qp {
- __u64 user_handle;
- __u32 pd_handle;
- __u32 send_cq_handle;
- __u32 recv_cq_handle;
- __u32 srq_handle;
- __u32 max_send_wr;
- __u32 max_recv_wr;
- __u32 max_send_sge;
- __u32 max_recv_sge;
- __u32 max_inline_data;
- __u8 sq_sig_all;
- __u8 qp_type;
- __u8 is_srq;
- __u8 reserved;
- __u32 comp_mask;
- __u32 create_flags;
-};
-
-struct ib_uverbs_open_qp {
- __u64 response;
- __u64 user_handle;
- __u32 pd_handle;
- __u32 qpn;
- __u8 qp_type;
- __u8 reserved[7];
- __u64 driver_data[0];
-};
-
-/* also used for open response */
-struct ib_uverbs_create_qp_resp {
- __u32 qp_handle;
- __u32 qpn;
- __u32 max_send_wr;
- __u32 max_recv_wr;
- __u32 max_send_sge;
- __u32 max_recv_sge;
- __u32 max_inline_data;
- __u32 reserved;
-};
-
-struct ib_uverbs_ex_create_qp_resp {
- struct ib_uverbs_create_qp_resp base;
- __u32 comp_mask;
- __u32 response_length;
-};
-
-/*
- * This struct needs to remain a multiple of 8 bytes to keep the
- * alignment of the modify QP parameters.
- */
-struct ib_uverbs_qp_dest {
- __u8 dgid[16];
- __u32 flow_label;
- __u16 dlid;
- __u16 reserved;
- __u8 sgid_index;
- __u8 hop_limit;
- __u8 traffic_class;
- __u8 sl;
- __u8 src_path_bits;
- __u8 static_rate;
- __u8 is_global;
- __u8 port_num;
-};
-
-struct ib_uverbs_query_qp {
- __u64 response;
- __u32 qp_handle;
- __u32 attr_mask;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_query_qp_resp {
- struct ib_uverbs_qp_dest dest;
- struct ib_uverbs_qp_dest alt_dest;
- __u32 max_send_wr;
- __u32 max_recv_wr;
- __u32 max_send_sge;
- __u32 max_recv_sge;
- __u32 max_inline_data;
- __u32 qkey;
- __u32 rq_psn;
- __u32 sq_psn;
- __u32 dest_qp_num;
- __u32 qp_access_flags;
- __u16 pkey_index;
- __u16 alt_pkey_index;
- __u8 qp_state;
- __u8 cur_qp_state;
- __u8 path_mtu;
- __u8 path_mig_state;
- __u8 sq_draining;
- __u8 max_rd_atomic;
- __u8 max_dest_rd_atomic;
- __u8 min_rnr_timer;
- __u8 port_num;
- __u8 timeout;
- __u8 retry_cnt;
- __u8 rnr_retry;
- __u8 alt_port_num;
- __u8 alt_timeout;
- __u8 sq_sig_all;
- __u8 reserved[5];
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_modify_qp {
- struct ib_uverbs_qp_dest dest;
- struct ib_uverbs_qp_dest alt_dest;
- __u32 qp_handle;
- __u32 attr_mask;
- __u32 qkey;
- __u32 rq_psn;
- __u32 sq_psn;
- __u32 dest_qp_num;
- __u32 qp_access_flags;
- __u16 pkey_index;
- __u16 alt_pkey_index;
- __u8 qp_state;
- __u8 cur_qp_state;
- __u8 path_mtu;
- __u8 path_mig_state;
- __u8 en_sqd_async_notify;
- __u8 max_rd_atomic;
- __u8 max_dest_rd_atomic;
- __u8 min_rnr_timer;
- __u8 port_num;
- __u8 timeout;
- __u8 retry_cnt;
- __u8 rnr_retry;
- __u8 alt_port_num;
- __u8 alt_timeout;
- __u8 reserved[2];
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_modify_qp_resp {
-};
-
-struct ib_uverbs_destroy_qp {
- __u64 response;
- __u32 qp_handle;
- __u32 reserved;
-};
-
-struct ib_uverbs_destroy_qp_resp {
- __u32 events_reported;
-};
-
-/*
- * The ib_uverbs_sge structure isn't used anywhere, since we assume
- * the ib_sge structure is packed the same way on 32-bit and 64-bit
- * architectures in both kernel and user space. It's just here to
- * document the ABI.
- */
-struct ib_uverbs_sge {
- __u64 addr;
- __u32 length;
- __u32 lkey;
-};
-
-struct ib_uverbs_send_wr {
- __u64 wr_id;
- __u32 num_sge;
- __u32 opcode;
- __u32 send_flags;
- union {
- __u32 imm_data;
- __u32 invalidate_rkey;
- } ex;
- union {
- struct {
- __u64 remote_addr;
- __u32 rkey;
- __u32 reserved;
- } rdma;
- struct {
- __u64 remote_addr;
- __u64 compare_add;
- __u64 swap;
- __u32 rkey;
- __u32 reserved;
- } atomic;
- struct {
- __u32 ah;
- __u32 remote_qpn;
- __u32 remote_qkey;
- __u32 reserved;
- } ud;
- } wr;
-};
-
-struct ib_uverbs_post_send {
- __u64 response;
- __u32 qp_handle;
- __u32 wr_count;
- __u32 sge_count;
- __u32 wqe_size;
- struct ib_uverbs_send_wr send_wr[0];
-};
-
-struct ib_uverbs_post_send_resp {
- __u32 bad_wr;
-};
-
-struct ib_uverbs_recv_wr {
- __u64 wr_id;
- __u32 num_sge;
- __u32 reserved;
-};
-
-struct ib_uverbs_post_recv {
- __u64 response;
- __u32 qp_handle;
- __u32 wr_count;
- __u32 sge_count;
- __u32 wqe_size;
- struct ib_uverbs_recv_wr recv_wr[0];
-};
-
-struct ib_uverbs_post_recv_resp {
- __u32 bad_wr;
-};
-
-struct ib_uverbs_post_srq_recv {
- __u64 response;
- __u32 srq_handle;
- __u32 wr_count;
- __u32 sge_count;
- __u32 wqe_size;
- struct ib_uverbs_recv_wr recv[0];
-};
-
-struct ib_uverbs_post_srq_recv_resp {
- __u32 bad_wr;
-};
-
-struct ib_uverbs_create_ah {
- __u64 response;
- __u64 user_handle;
- __u32 pd_handle;
- __u32 reserved;
- struct ib_uverbs_ah_attr attr;
-};
-
-struct ib_uverbs_create_ah_resp {
- __u32 ah_handle;
-};
-
-struct ib_uverbs_destroy_ah {
- __u32 ah_handle;
-};
-
-struct ib_uverbs_attach_mcast {
- __u8 gid[16];
- __u32 qp_handle;
- __u16 mlid;
- __u16 reserved;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_detach_mcast {
- __u8 gid[16];
- __u32 qp_handle;
- __u16 mlid;
- __u16 reserved;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_flow_spec_hdr {
- __u32 type;
- __u16 size;
- __u16 reserved;
- /* followed by flow_spec */
- __u64 flow_spec_data[0];
-};
-
-struct ib_uverbs_flow_eth_filter {
- __u8 dst_mac[6];
- __u8 src_mac[6];
- __be16 ether_type;
- __be16 vlan_tag;
-};
-
-struct ib_uverbs_flow_spec_eth {
- union {
- struct ib_uverbs_flow_spec_hdr hdr;
- struct {
- __u32 type;
- __u16 size;
- __u16 reserved;
- };
- };
- struct ib_uverbs_flow_eth_filter val;
- struct ib_uverbs_flow_eth_filter mask;
-};
-
-struct ib_uverbs_flow_ipv4_filter {
- __be32 src_ip;
- __be32 dst_ip;
-};
-
-struct ib_uverbs_flow_spec_ipv4 {
- union {
- struct ib_uverbs_flow_spec_hdr hdr;
- struct {
- __u32 type;
- __u16 size;
- __u16 reserved;
- };
- };
- struct ib_uverbs_flow_ipv4_filter val;
- struct ib_uverbs_flow_ipv4_filter mask;
-};
-
-struct ib_uverbs_flow_tcp_udp_filter {
- __be16 dst_port;
- __be16 src_port;
-};
-
-struct ib_uverbs_flow_spec_tcp_udp {
- union {
- struct ib_uverbs_flow_spec_hdr hdr;
- struct {
- __u32 type;
- __u16 size;
- __u16 reserved;
- };
- };
- struct ib_uverbs_flow_tcp_udp_filter val;
- struct ib_uverbs_flow_tcp_udp_filter mask;
-};
-
-struct ib_uverbs_flow_attr {
- __u32 type;
- __u16 size;
- __u16 priority;
- __u8 num_of_specs;
- __u8 reserved[2];
- __u8 port;
- __u32 flags;
- /* Following are the optional layers according to user request
- * struct ib_flow_spec_xxx
- * struct ib_flow_spec_yyy
- */
- struct ib_uverbs_flow_spec_hdr flow_specs[0];
-};
-
-struct ib_uverbs_create_flow {
- __u32 comp_mask;
- __u32 qp_handle;
- struct ib_uverbs_flow_attr flow_attr;
-};
-
-struct ib_uverbs_create_flow_resp {
- __u32 comp_mask;
- __u32 flow_handle;
-};
-
-struct ib_uverbs_destroy_flow {
- __u32 comp_mask;
- __u32 flow_handle;
-};
-
-struct ib_uverbs_create_srq {
- __u64 response;
- __u64 user_handle;
- __u32 pd_handle;
- __u32 max_wr;
- __u32 max_sge;
- __u32 srq_limit;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_create_xsrq {
- __u64 response;
- __u64 user_handle;
- __u32 srq_type;
- __u32 pd_handle;
- __u32 max_wr;
- __u32 max_sge;
- __u32 srq_limit;
- __u32 reserved;
- __u32 xrcd_handle;
- __u32 cq_handle;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_create_srq_resp {
- __u32 srq_handle;
- __u32 max_wr;
- __u32 max_sge;
- __u32 srqn;
-};
-
-struct ib_uverbs_modify_srq {
- __u32 srq_handle;
- __u32 attr_mask;
- __u32 max_wr;
- __u32 srq_limit;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_query_srq {
- __u64 response;
- __u32 srq_handle;
- __u32 reserved;
- __u64 driver_data[0];
-};
-
-struct ib_uverbs_query_srq_resp {
- __u32 max_wr;
- __u32 max_sge;
- __u32 srq_limit;
- __u32 reserved;
-};
-
-struct ib_uverbs_destroy_srq {
- __u64 response;
- __u32 srq_handle;
- __u32 reserved;
-};
-
-struct ib_uverbs_destroy_srq_resp {
- __u32 events_reported;
-};
-
-#endif /* IB_USER_VERBS_H */
diff --git a/linux-headers/include/rdma/rdma_netlink.h b/linux-headers/include/rdma/rdma_netlink.h
deleted file mode 100644
index 72a07f8..0000000
--- a/linux-headers/include/rdma/rdma_netlink.h
+++ /dev/null
@@ -1,215 +0,0 @@
-#ifndef _RDMA_NETLINK_H
-#define _RDMA_NETLINK_H
-
-#include <linux/types.h>
-
-enum {
- RDMA_NL_RDMA_CM = 1,
- RDMA_NL_IWCM,
- RDMA_NL_RSVD,
- RDMA_NL_LS, /* RDMA Local Services */
- RDMA_NL_I40IW,
- RDMA_NL_NUM_CLIENTS
-};
-
-enum {
- RDMA_NL_GROUP_CM = 1,
- RDMA_NL_GROUP_IWPM,
- RDMA_NL_GROUP_LS,
- RDMA_NL_NUM_GROUPS
-};
-
-#define RDMA_NL_GET_CLIENT(type) ((type & (((1 << 6) - 1) << 10)) >> 10)
-#define RDMA_NL_GET_OP(type) (type & ((1 << 10) - 1))
-#define RDMA_NL_GET_TYPE(client, op) ((client << 10) + op)
-
-enum {
- RDMA_NL_RDMA_CM_ID_STATS = 0,
- RDMA_NL_RDMA_CM_NUM_OPS
-};
-
-enum {
- RDMA_NL_RDMA_CM_ATTR_SRC_ADDR = 1,
- RDMA_NL_RDMA_CM_ATTR_DST_ADDR,
- RDMA_NL_RDMA_CM_NUM_ATTR,
-};
-
-/* iwarp port mapper op-codes */
-enum {
- RDMA_NL_IWPM_REG_PID = 0,
- RDMA_NL_IWPM_ADD_MAPPING,
- RDMA_NL_IWPM_QUERY_MAPPING,
- RDMA_NL_IWPM_REMOVE_MAPPING,
- RDMA_NL_IWPM_REMOTE_INFO,
- RDMA_NL_IWPM_HANDLE_ERR,
- RDMA_NL_IWPM_MAPINFO,
- RDMA_NL_IWPM_MAPINFO_NUM,
- RDMA_NL_IWPM_NUM_OPS
-};
-
-struct rdma_cm_id_stats {
- __u32 qp_num;
- __u32 bound_dev_if;
- __u32 port_space;
- __s32 pid;
- __u8 cm_state;
- __u8 node_type;
- __u8 port_num;
- __u8 qp_type;
-};
-
-enum {
- IWPM_NLA_REG_PID_UNSPEC = 0,
- IWPM_NLA_REG_PID_SEQ,
- IWPM_NLA_REG_IF_NAME,
- IWPM_NLA_REG_IBDEV_NAME,
- IWPM_NLA_REG_ULIB_NAME,
- IWPM_NLA_REG_PID_MAX
-};
-
-enum {
- IWPM_NLA_RREG_PID_UNSPEC = 0,
- IWPM_NLA_RREG_PID_SEQ,
- IWPM_NLA_RREG_IBDEV_NAME,
- IWPM_NLA_RREG_ULIB_NAME,
- IWPM_NLA_RREG_ULIB_VER,
- IWPM_NLA_RREG_PID_ERR,
- IWPM_NLA_RREG_PID_MAX
-
-};
-
-enum {
- IWPM_NLA_MANAGE_MAPPING_UNSPEC = 0,
- IWPM_NLA_MANAGE_MAPPING_SEQ,
- IWPM_NLA_MANAGE_ADDR,
- IWPM_NLA_MANAGE_MAPPED_LOC_ADDR,
- IWPM_NLA_RMANAGE_MAPPING_ERR,
- IWPM_NLA_RMANAGE_MAPPING_MAX
-};
-
-#define IWPM_NLA_MANAGE_MAPPING_MAX 3
-#define IWPM_NLA_QUERY_MAPPING_MAX 4
-#define IWPM_NLA_MAPINFO_SEND_MAX 3
-
-enum {
- IWPM_NLA_QUERY_MAPPING_UNSPEC = 0,
- IWPM_NLA_QUERY_MAPPING_SEQ,
- IWPM_NLA_QUERY_LOCAL_ADDR,
- IWPM_NLA_QUERY_REMOTE_ADDR,
- IWPM_NLA_RQUERY_MAPPED_LOC_ADDR,
- IWPM_NLA_RQUERY_MAPPED_REM_ADDR,
- IWPM_NLA_RQUERY_MAPPING_ERR,
- IWPM_NLA_RQUERY_MAPPING_MAX
-};
-
-enum {
- IWPM_NLA_MAPINFO_REQ_UNSPEC = 0,
- IWPM_NLA_MAPINFO_ULIB_NAME,
- IWPM_NLA_MAPINFO_ULIB_VER,
- IWPM_NLA_MAPINFO_REQ_MAX
-};
-
-enum {
- IWPM_NLA_MAPINFO_UNSPEC = 0,
- IWPM_NLA_MAPINFO_LOCAL_ADDR,
- IWPM_NLA_MAPINFO_MAPPED_ADDR,
- IWPM_NLA_MAPINFO_MAX
-};
-
-enum {
- IWPM_NLA_MAPINFO_NUM_UNSPEC = 0,
- IWPM_NLA_MAPINFO_SEQ,
- IWPM_NLA_MAPINFO_SEND_NUM,
- IWPM_NLA_MAPINFO_ACK_NUM,
- IWPM_NLA_MAPINFO_NUM_MAX
-};
-
-enum {
- IWPM_NLA_ERR_UNSPEC = 0,
- IWPM_NLA_ERR_SEQ,
- IWPM_NLA_ERR_CODE,
- IWPM_NLA_ERR_MAX
-};
-
-/*
- * Local service operations:
- * RESOLVE - The client requests the local service to resolve a path.
- * SET_TIMEOUT - The local service requests the client to set the timeout.
- */
-enum {
- RDMA_NL_LS_OP_RESOLVE = 0,
- RDMA_NL_LS_OP_SET_TIMEOUT,
- RDMA_NL_LS_NUM_OPS
-};
-
-/* Local service netlink message flags */
-#define RDMA_NL_LS_F_ERR 0x0100 /* Failed response */
-
-/*
- * Local service resolve operation family header.
- * The layout for the resolve operation:
- * nlmsg header
- * family header
- * attributes
- */
-
-/*
- * Local service path use:
- * Specify how the path(s) will be used.
- * ALL - For connected CM operation (6 pathrecords)
- * UNIDIRECTIONAL - For unidirectional UD (1 pathrecord)
- * GMP - For miscellaneous GMP like operation (at least 1 reversible
- * pathrecord)
- */
-enum {
- LS_RESOLVE_PATH_USE_ALL = 0,
- LS_RESOLVE_PATH_USE_UNIDIRECTIONAL,
- LS_RESOLVE_PATH_USE_GMP,
- LS_RESOLVE_PATH_USE_MAX
-};
-
-#define LS_DEVICE_NAME_MAX 64
-
-struct rdma_ls_resolve_header {
- __u8 device_name[LS_DEVICE_NAME_MAX];
- __u8 port_num;
- __u8 path_use;
-};
-
-/* Local service attribute type */
-#define RDMA_NLA_F_MANDATORY (1 << 13)
-#define RDMA_NLA_TYPE_MASK (~(NLA_F_NESTED | NLA_F_NET_BYTEORDER | \
- RDMA_NLA_F_MANDATORY))
-
-/*
- * Local service attributes:
- * Attr Name Size Byte order
- * -----------------------------------------------------
- * PATH_RECORD struct ib_path_rec_data
- * TIMEOUT u32 cpu
- * SERVICE_ID u64 cpu
- * DGID u8[16] BE
- * SGID u8[16] BE
- * TCLASS u8
- * PKEY u16 cpu
- * QOS_CLASS u16 cpu
- */
-enum {
- LS_NLA_TYPE_UNSPEC = 0,
- LS_NLA_TYPE_PATH_RECORD,
- LS_NLA_TYPE_TIMEOUT,
- LS_NLA_TYPE_SERVICE_ID,
- LS_NLA_TYPE_DGID,
- LS_NLA_TYPE_SGID,
- LS_NLA_TYPE_TCLASS,
- LS_NLA_TYPE_PKEY,
- LS_NLA_TYPE_QOS_CLASS,
- LS_NLA_TYPE_MAX
-};
-
-/* Local service DGID/SGID attribute: big endian */
-struct rdma_nla_ls_gid {
- __u8 gid[16];
-};
-
-#endif /* _RDMA_NETLINK_H */
diff --git a/linux-headers/include/rdma/rdma_user_cm.h b/linux-headers/include/rdma/rdma_user_cm.h
deleted file mode 100644
index 3066718..0000000
--- a/linux-headers/include/rdma/rdma_user_cm.h
+++ /dev/null
@@ -1,303 +0,0 @@
-/*
- * Copyright (c) 2005-2006 Intel Corporation. All rights reserved.
- *
- * This software is available to you under a choice of one of two
- * licenses. You may choose to be licensed under the terms of the GNU
- * General Public License (GPL) Version 2, available from the file
- * COPYING in the main directory of this source tree, or the
- * OpenIB.org BSD license below:
- *
- * Redistribution and use in source and binary forms, with or
- * without modification, are permitted provided that the following
- * conditions are met:
- *
- * - Redistributions of source code must retain the above
- * copyright notice, this list of conditions and the following
- * disclaimer.
- *
- * - Redistributions in binary form must reproduce the above
- * copyright notice, this list of conditions and the following
- * disclaimer in the documentation and/or other materials
- * provided with the distribution.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
- * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
- * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
- * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
- * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- */
-
-#ifndef RDMA_USER_CM_H
-#define RDMA_USER_CM_H
-
-#include <linux/types.h>
-#include <linux/socket.h>
-#include <linux/in6.h>
-#include <rdma/ib_user_verbs.h>
-#include <rdma/ib_user_sa.h>
-
-#define RDMA_USER_CM_ABI_VERSION 4
-
-#define RDMA_MAX_PRIVATE_DATA 256
-
-enum {
- RDMA_USER_CM_CMD_CREATE_ID,
- RDMA_USER_CM_CMD_DESTROY_ID,
- RDMA_USER_CM_CMD_BIND_IP,
- RDMA_USER_CM_CMD_RESOLVE_IP,
- RDMA_USER_CM_CMD_RESOLVE_ROUTE,
- RDMA_USER_CM_CMD_QUERY_ROUTE,
- RDMA_USER_CM_CMD_CONNECT,
- RDMA_USER_CM_CMD_LISTEN,
- RDMA_USER_CM_CMD_ACCEPT,
- RDMA_USER_CM_CMD_REJECT,
- RDMA_USER_CM_CMD_DISCONNECT,
- RDMA_USER_CM_CMD_INIT_QP_ATTR,
- RDMA_USER_CM_CMD_GET_EVENT,
- RDMA_USER_CM_CMD_GET_OPTION,
- RDMA_USER_CM_CMD_SET_OPTION,
- RDMA_USER_CM_CMD_NOTIFY,
- RDMA_USER_CM_CMD_JOIN_IP_MCAST,
- RDMA_USER_CM_CMD_LEAVE_MCAST,
- RDMA_USER_CM_CMD_MIGRATE_ID,
- RDMA_USER_CM_CMD_QUERY,
- RDMA_USER_CM_CMD_BIND,
- RDMA_USER_CM_CMD_RESOLVE_ADDR,
- RDMA_USER_CM_CMD_JOIN_MCAST
-};
-
-/*
- * command ABI structures.
- */
-struct rdma_ucm_cmd_hdr {
- __u32 cmd;
- __u16 in;
- __u16 out;
-};
-
-struct rdma_ucm_create_id {
- __u64 uid;
- __u64 response;
- __u16 ps;
- __u8 qp_type;
- __u8 reserved[5];
-};
-
-struct rdma_ucm_create_id_resp {
- __u32 id;
-};
-
-struct rdma_ucm_destroy_id {
- __u64 response;
- __u32 id;
- __u32 reserved;
-};
-
-struct rdma_ucm_destroy_id_resp {
- __u32 events_reported;
-};
-
-struct rdma_ucm_bind_ip {
- __u64 response;
- struct sockaddr_in6 addr;
- __u32 id;
-};
-
-struct rdma_ucm_bind {
- __u32 id;
- __u16 addr_size;
- __u16 reserved;
- struct sockaddr_storage addr;
-};
-
-struct rdma_ucm_resolve_ip {
- struct sockaddr_in6 src_addr;
- struct sockaddr_in6 dst_addr;
- __u32 id;
- __u32 timeout_ms;
-};
-
-struct rdma_ucm_resolve_addr {
- __u32 id;
- __u32 timeout_ms;
- __u16 src_size;
- __u16 dst_size;
- __u32 reserved;
- struct sockaddr_storage src_addr;
- struct sockaddr_storage dst_addr;
-};
-
-struct rdma_ucm_resolve_route {
- __u32 id;
- __u32 timeout_ms;
-};
-
-enum {
- RDMA_USER_CM_QUERY_ADDR,
- RDMA_USER_CM_QUERY_PATH,
- RDMA_USER_CM_QUERY_GID
-};
-
-struct rdma_ucm_query {
- __u64 response;
- __u32 id;
- __u32 option;
-};
-
-struct rdma_ucm_query_route_resp {
- __u64 node_guid;
- struct ib_user_path_rec ib_route[2];
- struct sockaddr_in6 src_addr;
- struct sockaddr_in6 dst_addr;
- __u32 num_paths;
- __u8 port_num;
- __u8 reserved[3];
-};
-
-struct rdma_ucm_query_addr_resp {
- __u64 node_guid;
- __u8 port_num;
- __u8 reserved;
- __u16 pkey;
- __u16 src_size;
- __u16 dst_size;
- struct sockaddr_storage src_addr;
- struct sockaddr_storage dst_addr;
-};
-
-struct rdma_ucm_query_path_resp {
- __u32 num_paths;
- __u32 reserved;
- struct ib_path_rec_data path_data[0];
-};
-
-struct rdma_ucm_conn_param {
- __u32 qp_num;
- __u32 qkey;
- __u8 private_data[RDMA_MAX_PRIVATE_DATA];
- __u8 private_data_len;
- __u8 srq;
- __u8 responder_resources;
- __u8 initiator_depth;
- __u8 flow_control;
- __u8 retry_count;
- __u8 rnr_retry_count;
- __u8 valid;
-};
-
-struct rdma_ucm_ud_param {
- __u32 qp_num;
- __u32 qkey;
- struct ib_uverbs_ah_attr ah_attr;
- __u8 private_data[RDMA_MAX_PRIVATE_DATA];
- __u8 private_data_len;
- __u8 reserved[7];
-};
-
-struct rdma_ucm_connect {
- struct rdma_ucm_conn_param conn_param;
- __u32 id;
- __u32 reserved;
-};
-
-struct rdma_ucm_listen {
- __u32 id;
- __u32 backlog;
-};
-
-struct rdma_ucm_accept {
- __u64 uid;
- struct rdma_ucm_conn_param conn_param;
- __u32 id;
- __u32 reserved;
-};
-
-struct rdma_ucm_reject {
- __u32 id;
- __u8 private_data_len;
- __u8 reserved[3];
- __u8 private_data[RDMA_MAX_PRIVATE_DATA];
-};
-
-struct rdma_ucm_disconnect {
- __u32 id;
-};
-
-struct rdma_ucm_init_qp_attr {
- __u64 response;
- __u32 id;
- __u32 qp_state;
-};
-
-struct rdma_ucm_notify {
- __u32 id;
- __u32 event;
-};
-
-struct rdma_ucm_join_ip_mcast {
- __u64 response; /* rdma_ucm_create_id_resp */
- __u64 uid;
- struct sockaddr_in6 addr;
- __u32 id;
-};
-
-struct rdma_ucm_join_mcast {
- __u64 response; /* rdma_ucma_create_id_resp */
- __u64 uid;
- __u32 id;
- __u16 addr_size;
- __u16 reserved;
- struct sockaddr_storage addr;
-};
-
-struct rdma_ucm_get_event {
- __u64 response;
-};
-
-struct rdma_ucm_event_resp {
- __u64 uid;
- __u32 id;
- __u32 event;
- __u32 status;
- union {
- struct rdma_ucm_conn_param conn;
- struct rdma_ucm_ud_param ud;
- } param;
-};
-
-/* Option levels */
-enum {
- RDMA_OPTION_ID = 0,
- RDMA_OPTION_IB = 1
-};
-
-/* Option details */
-enum {
- RDMA_OPTION_ID_TOS = 0,
- RDMA_OPTION_ID_REUSEADDR = 1,
- RDMA_OPTION_ID_AFONLY = 2,
- RDMA_OPTION_IB_PATH = 1
-};
-
-struct rdma_ucm_set_option {
- __u64 optval;
- __u32 id;
- __u32 level;
- __u32 optname;
- __u32 optlen;
-};
-
-struct rdma_ucm_migrate_id {
- __u64 response;
- __u32 id;
- __u32 fd;
-};
-
-struct rdma_ucm_migrate_resp {
- __u32 events_reported;
-};
-
-#endif /* RDMA_USER_CM_H */
diff --git a/linux-headers/include/scsi/cxlflash_ioctl.h b/linux-headers/include/scsi/cxlflash_ioctl.h
deleted file mode 100644
index 2302f3c..0000000
--- a/linux-headers/include/scsi/cxlflash_ioctl.h
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * CXL Flash Device Driver
- *
- * Written by: Manoj N. Kumar <manoj@linux.vnet.ibm.com>, IBM Corporation
- * Matthew R. Ochs <mrochs@linux.vnet.ibm.com>, IBM Corporation
- *
- * Copyright (C) 2015 IBM Corporation
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#ifndef _CXLFLASH_IOCTL_H
-#define _CXLFLASH_IOCTL_H
-
-#include <linux/types.h>
-
-/*
- * Structure and flag definitions CXL Flash superpipe ioctls
- */
-
-#define DK_CXLFLASH_VERSION_0 0
-
-struct dk_cxlflash_hdr {
- __u16 version; /* Version data */
- __u16 rsvd[3]; /* Reserved for future use */
- __u64 flags; /* Input flags */
- __u64 return_flags; /* Returned flags */
-};
-
-/*
- * Return flag definitions available to all ioctls
- *
- * Similar to the input flags, these are grown from the bottom-up with the
- * intention that ioctl-specific return flag definitions would grow from the
- * top-down, allowing the two sets to co-exist. While not required/enforced
- * at this time, this provides future flexibility.
- */
-#define DK_CXLFLASH_ALL_PORTS_ACTIVE 0x0000000000000001ULL
-
-/*
- * Notes:
- * -----
- * The 'context_id' field of all ioctl structures contains the context
- * identifier for a context in the lower 32-bits (upper 32-bits are not
- * to be used when identifying a context to the AFU). That said, the value
- * in its entirety (all 64-bits) is to be treated as an opaque cookie and
- * should be presented as such when issuing ioctls.
- *
- * For DK_CXLFLASH_ATTACH ioctl, user specifies read/write access
- * permissions via the O_RDONLY, O_WRONLY, and O_RDWR flags defined in
- * the fcntl.h header file.
- */
-#define DK_CXLFLASH_ATTACH_REUSE_CONTEXT 0x8000000000000000ULL
-
-struct dk_cxlflash_attach {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u64 num_interrupts; /* Requested number of interrupts */
- __u64 context_id; /* Returned context */
- __u64 mmio_size; /* Returned size of MMIO area */
- __u64 block_size; /* Returned block size, in bytes */
- __u64 adap_fd; /* Returned adapter file descriptor */
- __u64 last_lba; /* Returned last LBA on the device */
- __u64 max_xfer; /* Returned max transfer size, blocks */
- __u64 reserved[8]; /* Reserved for future use */
-};
-
-struct dk_cxlflash_detach {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u64 context_id; /* Context to detach */
- __u64 reserved[8]; /* Reserved for future use */
-};
-
-struct dk_cxlflash_udirect {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u64 context_id; /* Context to own physical resources */
- __u64 rsrc_handle; /* Returned resource handle */
- __u64 last_lba; /* Returned last LBA on the device */
- __u64 reserved[8]; /* Reserved for future use */
-};
-
-#define DK_CXLFLASH_UVIRTUAL_NEED_WRITE_SAME 0x8000000000000000ULL
-
-struct dk_cxlflash_uvirtual {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u64 context_id; /* Context to own virtual resources */
- __u64 lun_size; /* Requested size, in 4K blocks */
- __u64 rsrc_handle; /* Returned resource handle */
- __u64 last_lba; /* Returned last LBA of LUN */
- __u64 reserved[8]; /* Reserved for future use */
-};
-
-struct dk_cxlflash_release {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u64 context_id; /* Context owning resources */
- __u64 rsrc_handle; /* Resource handle to release */
- __u64 reserved[8]; /* Reserved for future use */
-};
-
-struct dk_cxlflash_resize {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u64 context_id; /* Context owning resources */
- __u64 rsrc_handle; /* Resource handle of LUN to resize */
- __u64 req_size; /* New requested size, in 4K blocks */
- __u64 last_lba; /* Returned last LBA of LUN */
- __u64 reserved[8]; /* Reserved for future use */
-};
-
-struct dk_cxlflash_clone {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u64 context_id_src; /* Context to clone from */
- __u64 context_id_dst; /* Context to clone to */
- __u64 adap_fd_src; /* Source context adapter fd */
- __u64 reserved[8]; /* Reserved for future use */
-};
-
-#define DK_CXLFLASH_VERIFY_SENSE_LEN 18
-#define DK_CXLFLASH_VERIFY_HINT_SENSE 0x8000000000000000ULL
-
-struct dk_cxlflash_verify {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u64 context_id; /* Context owning resources to verify */
- __u64 rsrc_handle; /* Resource handle of LUN */
- __u64 hint; /* Reasons for verify */
- __u64 last_lba; /* Returned last LBA of device */
- __u8 sense_data[DK_CXLFLASH_VERIFY_SENSE_LEN]; /* SCSI sense data */
- __u8 pad[6]; /* Pad to next 8-byte boundary */
- __u64 reserved[8]; /* Reserved for future use */
-};
-
-#define DK_CXLFLASH_RECOVER_AFU_CONTEXT_RESET 0x8000000000000000ULL
-
-struct dk_cxlflash_recover_afu {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u64 reason; /* Reason for recovery request */
- __u64 context_id; /* Context to recover / updated ID */
- __u64 mmio_size; /* Returned size of MMIO area */
- __u64 adap_fd; /* Returned adapter file descriptor */
- __u64 reserved[8]; /* Reserved for future use */
-};
-
-#define DK_CXLFLASH_MANAGE_LUN_WWID_LEN 16
-#define DK_CXLFLASH_MANAGE_LUN_ENABLE_SUPERPIPE 0x8000000000000000ULL
-#define DK_CXLFLASH_MANAGE_LUN_DISABLE_SUPERPIPE 0x4000000000000000ULL
-#define DK_CXLFLASH_MANAGE_LUN_ALL_PORTS_ACCESSIBLE 0x2000000000000000ULL
-
-struct dk_cxlflash_manage_lun {
- struct dk_cxlflash_hdr hdr; /* Common fields */
- __u8 wwid[DK_CXLFLASH_MANAGE_LUN_WWID_LEN]; /* Page83 WWID, NAA-6 */
- __u64 reserved[8]; /* Rsvd, future use */
-};
-
-union cxlflash_ioctls {
- struct dk_cxlflash_attach attach;
- struct dk_cxlflash_detach detach;
- struct dk_cxlflash_udirect udirect;
- struct dk_cxlflash_uvirtual uvirtual;
- struct dk_cxlflash_release release;
- struct dk_cxlflash_resize resize;
- struct dk_cxlflash_clone clone;
- struct dk_cxlflash_verify verify;
- struct dk_cxlflash_recover_afu recover_afu;
- struct dk_cxlflash_manage_lun manage_lun;
-};
-
-#define MAX_CXLFLASH_IOCTL_SZ (sizeof(union cxlflash_ioctls))
-
-#define CXL_MAGIC 0xCA
-#define CXL_IOWR(_n, _s) _IOWR(CXL_MAGIC, _n, struct _s)
-
-#define DK_CXLFLASH_ATTACH CXL_IOWR(0x80, dk_cxlflash_attach)
-#define DK_CXLFLASH_USER_DIRECT CXL_IOWR(0x81, dk_cxlflash_udirect)
-#define DK_CXLFLASH_RELEASE CXL_IOWR(0x82, dk_cxlflash_release)
-#define DK_CXLFLASH_DETACH CXL_IOWR(0x83, dk_cxlflash_detach)
-#define DK_CXLFLASH_VERIFY CXL_IOWR(0x84, dk_cxlflash_verify)
-#define DK_CXLFLASH_RECOVER_AFU CXL_IOWR(0x85, dk_cxlflash_recover_afu)
-#define DK_CXLFLASH_MANAGE_LUN CXL_IOWR(0x86, dk_cxlflash_manage_lun)
-#define DK_CXLFLASH_USER_VIRTUAL CXL_IOWR(0x87, dk_cxlflash_uvirtual)
-#define DK_CXLFLASH_VLUN_RESIZE CXL_IOWR(0x88, dk_cxlflash_resize)
-#define DK_CXLFLASH_VLUN_CLONE CXL_IOWR(0x89, dk_cxlflash_clone)
-
-#endif /* ifndef _CXLFLASH_IOCTL_H */
diff --git a/linux-headers/include/scsi/fc/fc_els.h b/linux-headers/include/scsi/fc/fc_els.h
deleted file mode 100644
index 481abbd..0000000
--- a/linux-headers/include/scsi/fc/fc_els.h
+++ /dev/null
@@ -1,831 +0,0 @@
-/*
- * Copyright(c) 2007 Intel Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Maintained at www.Open-FCoE.org
- */
-
-#ifndef _FC_ELS_H_
-#define _FC_ELS_H_
-
-#include <linux/types.h>
-
-/*
- * Fibre Channel Switch - Enhanced Link Services definitions.
- * From T11 FC-LS Rev 1.2 June 7, 2005.
- */
-
-/*
- * ELS Command codes - byte 0 of the frame payload
- */
-enum fc_els_cmd {
- ELS_LS_RJT = 0x01, /* ESL reject */
- ELS_LS_ACC = 0x02, /* ESL Accept */
- ELS_PLOGI = 0x03, /* N_Port login */
- ELS_FLOGI = 0x04, /* F_Port login */
- ELS_LOGO = 0x05, /* Logout */
- ELS_ABTX = 0x06, /* Abort exchange - obsolete */
- ELS_RCS = 0x07, /* read connection status */
- ELS_RES = 0x08, /* read exchange status block */
- ELS_RSS = 0x09, /* read sequence status block */
- ELS_RSI = 0x0a, /* read sequence initiative */
- ELS_ESTS = 0x0b, /* establish streaming */
- ELS_ESTC = 0x0c, /* estimate credit */
- ELS_ADVC = 0x0d, /* advise credit */
- ELS_RTV = 0x0e, /* read timeout value */
- ELS_RLS = 0x0f, /* read link error status block */
- ELS_ECHO = 0x10, /* echo */
- ELS_TEST = 0x11, /* test */
- ELS_RRQ = 0x12, /* reinstate recovery qualifier */
- ELS_REC = 0x13, /* read exchange concise */
- ELS_SRR = 0x14, /* sequence retransmission request */
- ELS_PRLI = 0x20, /* process login */
- ELS_PRLO = 0x21, /* process logout */
- ELS_SCN = 0x22, /* state change notification */
- ELS_TPLS = 0x23, /* test process login state */
- ELS_TPRLO = 0x24, /* third party process logout */
- ELS_LCLM = 0x25, /* login control list mgmt (obs) */
- ELS_GAID = 0x30, /* get alias_ID */
- ELS_FACT = 0x31, /* fabric activate alias_id */
- ELS_FDACDT = 0x32, /* fabric deactivate alias_id */
- ELS_NACT = 0x33, /* N-port activate alias_id */
- ELS_NDACT = 0x34, /* N-port deactivate alias_id */
- ELS_QOSR = 0x40, /* quality of service request */
- ELS_RVCS = 0x41, /* read virtual circuit status */
- ELS_PDISC = 0x50, /* discover N_port service params */
- ELS_FDISC = 0x51, /* discover F_port service params */
- ELS_ADISC = 0x52, /* discover address */
- ELS_RNC = 0x53, /* report node cap (obs) */
- ELS_FARP_REQ = 0x54, /* FC ARP request */
- ELS_FARP_REPL = 0x55, /* FC ARP reply */
- ELS_RPS = 0x56, /* read port status block */
- ELS_RPL = 0x57, /* read port list */
- ELS_RPBC = 0x58, /* read port buffer condition */
- ELS_FAN = 0x60, /* fabric address notification */
- ELS_RSCN = 0x61, /* registered state change notification */
- ELS_SCR = 0x62, /* state change registration */
- ELS_RNFT = 0x63, /* report node FC-4 types */
- ELS_CSR = 0x68, /* clock synch. request */
- ELS_CSU = 0x69, /* clock synch. update */
- ELS_LINIT = 0x70, /* loop initialize */
- ELS_LSTS = 0x72, /* loop status */
- ELS_RNID = 0x78, /* request node ID data */
- ELS_RLIR = 0x79, /* registered link incident report */
- ELS_LIRR = 0x7a, /* link incident record registration */
- ELS_SRL = 0x7b, /* scan remote loop */
- ELS_SBRP = 0x7c, /* set bit-error reporting params */
- ELS_RPSC = 0x7d, /* report speed capabilities */
- ELS_QSA = 0x7e, /* query security attributes */
- ELS_EVFP = 0x7f, /* exchange virt. fabrics params */
- ELS_LKA = 0x80, /* link keep-alive */
- ELS_AUTH_ELS = 0x90, /* authentication ELS */
-};
-
-/*
- * Initializer useful for decoding table.
- * Please keep this in sync with the above definitions.
- */
-#define FC_ELS_CMDS_INIT { \
- [ELS_LS_RJT] = "LS_RJT", \
- [ELS_LS_ACC] = "LS_ACC", \
- [ELS_PLOGI] = "PLOGI", \
- [ELS_FLOGI] = "FLOGI", \
- [ELS_LOGO] = "LOGO", \
- [ELS_ABTX] = "ABTX", \
- [ELS_RCS] = "RCS", \
- [ELS_RES] = "RES", \
- [ELS_RSS] = "RSS", \
- [ELS_RSI] = "RSI", \
- [ELS_ESTS] = "ESTS", \
- [ELS_ESTC] = "ESTC", \
- [ELS_ADVC] = "ADVC", \
- [ELS_RTV] = "RTV", \
- [ELS_RLS] = "RLS", \
- [ELS_ECHO] = "ECHO", \
- [ELS_TEST] = "TEST", \
- [ELS_RRQ] = "RRQ", \
- [ELS_REC] = "REC", \
- [ELS_SRR] = "SRR", \
- [ELS_PRLI] = "PRLI", \
- [ELS_PRLO] = "PRLO", \
- [ELS_SCN] = "SCN", \
- [ELS_TPLS] = "TPLS", \
- [ELS_TPRLO] = "TPRLO", \
- [ELS_LCLM] = "LCLM", \
- [ELS_GAID] = "GAID", \
- [ELS_FACT] = "FACT", \
- [ELS_FDACDT] = "FDACDT", \
- [ELS_NACT] = "NACT", \
- [ELS_NDACT] = "NDACT", \
- [ELS_QOSR] = "QOSR", \
- [ELS_RVCS] = "RVCS", \
- [ELS_PDISC] = "PDISC", \
- [ELS_FDISC] = "FDISC", \
- [ELS_ADISC] = "ADISC", \
- [ELS_RNC] = "RNC", \
- [ELS_FARP_REQ] = "FARP_REQ", \
- [ELS_FARP_REPL] = "FARP_REPL", \
- [ELS_RPS] = "RPS", \
- [ELS_RPL] = "RPL", \
- [ELS_RPBC] = "RPBC", \
- [ELS_FAN] = "FAN", \
- [ELS_RSCN] = "RSCN", \
- [ELS_SCR] = "SCR", \
- [ELS_RNFT] = "RNFT", \
- [ELS_CSR] = "CSR", \
- [ELS_CSU] = "CSU", \
- [ELS_LINIT] = "LINIT", \
- [ELS_LSTS] = "LSTS", \
- [ELS_RNID] = "RNID", \
- [ELS_RLIR] = "RLIR", \
- [ELS_LIRR] = "LIRR", \
- [ELS_SRL] = "SRL", \
- [ELS_SBRP] = "SBRP", \
- [ELS_RPSC] = "RPSC", \
- [ELS_QSA] = "QSA", \
- [ELS_EVFP] = "EVFP", \
- [ELS_LKA] = "LKA", \
- [ELS_AUTH_ELS] = "AUTH_ELS", \
-}
-
-/*
- * LS_ACC payload.
- */
-struct fc_els_ls_acc {
- __u8 la_cmd; /* command code ELS_LS_ACC */
- __u8 la_resv[3]; /* reserved */
-};
-
-/*
- * ELS reject payload.
- */
-struct fc_els_ls_rjt {
- __u8 er_cmd; /* command code ELS_LS_RJT */
- __u8 er_resv[4]; /* reserved must be zero */
- __u8 er_reason; /* reason (enum fc_els_rjt_reason below) */
- __u8 er_explan; /* explanation (enum fc_els_rjt_explan below) */
- __u8 er_vendor; /* vendor specific code */
-};
-
-/*
- * ELS reject reason codes (er_reason).
- */
-enum fc_els_rjt_reason {
- ELS_RJT_NONE = 0, /* no reject - not to be sent */
- ELS_RJT_INVAL = 0x01, /* invalid ELS command code */
- ELS_RJT_LOGIC = 0x03, /* logical error */
- ELS_RJT_BUSY = 0x05, /* logical busy */
- ELS_RJT_PROT = 0x07, /* protocol error */
- ELS_RJT_UNAB = 0x09, /* unable to perform command request */
- ELS_RJT_UNSUP = 0x0b, /* command not supported */
- ELS_RJT_INPROG = 0x0e, /* command already in progress */
- ELS_RJT_FIP = 0x20, /* FIP error */
- ELS_RJT_VENDOR = 0xff, /* vendor specific error */
-};
-
-
-/*
- * reason code explanation (er_explan).
- */
-enum fc_els_rjt_explan {
- ELS_EXPL_NONE = 0x00, /* No additional explanation */
- ELS_EXPL_SPP_OPT_ERR = 0x01, /* service parameter error - options */
- ELS_EXPL_SPP_ICTL_ERR = 0x03, /* service parm error - initiator ctl */
- ELS_EXPL_AH = 0x11, /* invalid association header */
- ELS_EXPL_AH_REQ = 0x13, /* association_header required */
- ELS_EXPL_SID = 0x15, /* invalid originator S_ID */
- ELS_EXPL_OXID_RXID = 0x17, /* invalid OX_ID-RX_ID combination */
- ELS_EXPL_INPROG = 0x19, /* Request already in progress */
- ELS_EXPL_PLOGI_REQD = 0x1e, /* N_Port login required */
- ELS_EXPL_INSUF_RES = 0x29, /* insufficient resources */
- ELS_EXPL_UNAB_DATA = 0x2a, /* unable to supply requested data */
- ELS_EXPL_UNSUPR = 0x2c, /* Request not supported */
- ELS_EXPL_INV_LEN = 0x2d, /* Invalid payload length */
- ELS_EXPL_NOT_NEIGHBOR = 0x62, /* VN2VN_Port not in neighbor set */
- /* TBD - above definitions incomplete */
-};
-
-/*
- * Common service parameters (N ports).
- */
-struct fc_els_csp {
- __u8 sp_hi_ver; /* highest version supported (obs.) */
- __u8 sp_lo_ver; /* highest version supported (obs.) */
- __be16 sp_bb_cred; /* buffer-to-buffer credits */
- __be16 sp_features; /* common feature flags */
- __be16 sp_bb_data; /* b-b state number and data field sz */
- union {
- struct {
- __be16 _sp_tot_seq; /* total concurrent sequences */
- __be16 _sp_rel_off; /* rel. offset by info cat */
- } sp_plogi;
- struct {
- __be32 _sp_r_a_tov; /* resource alloc. timeout msec */
- } sp_flogi_acc;
- } sp_u;
- __be32 sp_e_d_tov; /* error detect timeout value */
-};
-#define sp_tot_seq sp_u.sp_plogi._sp_tot_seq
-#define sp_rel_off sp_u.sp_plogi._sp_rel_off
-#define sp_r_a_tov sp_u.sp_flogi_acc._sp_r_a_tov
-
-#define FC_SP_BB_DATA_MASK 0xfff /* mask for data field size in sp_bb_data */
-
-/*
- * Minimum and maximum values for max data field size in service parameters.
- */
-#define FC_SP_MIN_MAX_PAYLOAD FC_MIN_MAX_PAYLOAD
-#define FC_SP_MAX_MAX_PAYLOAD FC_MAX_PAYLOAD
-
-/*
- * sp_features
- */
-#define FC_SP_FT_NPIV 0x8000 /* multiple N_Port_ID support (FLOGI) */
-#define FC_SP_FT_CIRO 0x8000 /* continuously increasing rel off (PLOGI) */
-#define FC_SP_FT_CLAD 0x8000 /* clean address (in FLOGI LS_ACC) */
-#define FC_SP_FT_RAND 0x4000 /* random relative offset */
-#define FC_SP_FT_VAL 0x2000 /* valid vendor version level */
-#define FC_SP_FT_NPIV_ACC 0x2000 /* NPIV assignment (FLOGI LS_ACC) */
-#define FC_SP_FT_FPORT 0x1000 /* F port (1) vs. N port (0) */
-#define FC_SP_FT_ABB 0x0800 /* alternate BB_credit management */
-#define FC_SP_FT_EDTR 0x0400 /* E_D_TOV Resolution is nanoseconds */
-#define FC_SP_FT_MCAST 0x0200 /* multicast */
-#define FC_SP_FT_BCAST 0x0100 /* broadcast */
-#define FC_SP_FT_HUNT 0x0080 /* hunt group */
-#define FC_SP_FT_SIMP 0x0040 /* dedicated simplex */
-#define FC_SP_FT_SEC 0x0020 /* reserved for security */
-#define FC_SP_FT_CSYN 0x0010 /* clock synch. supported */
-#define FC_SP_FT_RTTOV 0x0008 /* R_T_TOV value 100 uS, else 100 mS */
-#define FC_SP_FT_HALF 0x0004 /* dynamic half duplex */
-#define FC_SP_FT_SEQC 0x0002 /* SEQ_CNT */
-#define FC_SP_FT_PAYL 0x0001 /* FLOGI payload length 256, else 116 */
-
-/*
- * Class-specific service parameters.
- */
-struct fc_els_cssp {
- __be16 cp_class; /* class flags */
- __be16 cp_init; /* initiator flags */
- __be16 cp_recip; /* recipient flags */
- __be16 cp_rdfs; /* receive data field size */
- __be16 cp_con_seq; /* concurrent sequences */
- __be16 cp_ee_cred; /* N-port end-to-end credit */
- __u8 cp_resv1; /* reserved */
- __u8 cp_open_seq; /* open sequences per exchange */
- __u8 _cp_resv2[2]; /* reserved */
-};
-
-/*
- * cp_class flags.
- */
-#define FC_CPC_VALID 0x8000 /* class valid */
-#define FC_CPC_IMIX 0x4000 /* intermix mode */
-#define FC_CPC_SEQ 0x0800 /* sequential delivery */
-#define FC_CPC_CAMP 0x0200 /* camp-on */
-#define FC_CPC_PRI 0x0080 /* priority */
-
-/*
- * cp_init flags.
- * (TBD: not all flags defined here).
- */
-#define FC_CPI_CSYN 0x0010 /* clock synch. capable */
-
-/*
- * cp_recip flags.
- */
-#define FC_CPR_CSYN 0x0008 /* clock synch. capable */
-
-/*
- * NFC_ELS_FLOGI: Fabric login request.
- * NFC_ELS_PLOGI: Port login request (same format).
- */
-struct fc_els_flogi {
- __u8 fl_cmd; /* command */
- __u8 _fl_resvd[3]; /* must be zero */
- struct fc_els_csp fl_csp; /* common service parameters */
- __be64 fl_wwpn; /* port name */
- __be64 fl_wwnn; /* node name */
- struct fc_els_cssp fl_cssp[4]; /* class 1-4 service parameters */
- __u8 fl_vend[16]; /* vendor version level */
-} __attribute__((__packed__));
-
-/*
- * Process login service parameter page.
- */
-struct fc_els_spp {
- __u8 spp_type; /* type code or common service params */
- __u8 spp_type_ext; /* type code extension */
- __u8 spp_flags;
- __u8 _spp_resvd;
- __be32 spp_orig_pa; /* originator process associator */
- __be32 spp_resp_pa; /* responder process associator */
- __be32 spp_params; /* service parameters */
-};
-
-/*
- * spp_flags.
- */
-#define FC_SPP_OPA_VAL 0x80 /* originator proc. assoc. valid */
-#define FC_SPP_RPA_VAL 0x40 /* responder proc. assoc. valid */
-#define FC_SPP_EST_IMG_PAIR 0x20 /* establish image pair */
-#define FC_SPP_RESP_MASK 0x0f /* mask for response code (below) */
-
-/*
- * SPP response code in spp_flags - lower 4 bits.
- */
-enum fc_els_spp_resp {
- FC_SPP_RESP_ACK = 1, /* request executed */
- FC_SPP_RESP_RES = 2, /* unable due to lack of resources */
- FC_SPP_RESP_INIT = 3, /* initialization not complete */
- FC_SPP_RESP_NO_PA = 4, /* unknown process associator */
- FC_SPP_RESP_CONF = 5, /* configuration precludes image pair */
- FC_SPP_RESP_COND = 6, /* request completed conditionally */
- FC_SPP_RESP_MULT = 7, /* unable to handle multiple SPPs */
- FC_SPP_RESP_INVL = 8, /* SPP is invalid */
-};
-
-/*
- * ELS_RRQ - Reinstate Recovery Qualifier
- */
-struct fc_els_rrq {
- __u8 rrq_cmd; /* command (0x12) */
- __u8 rrq_zero[3]; /* specified as zero - part of cmd */
- __u8 rrq_resvd; /* reserved */
- __u8 rrq_s_id[3]; /* originator FID */
- __be16 rrq_ox_id; /* originator exchange ID */
- __be16 rrq_rx_id; /* responders exchange ID */
-};
-
-/*
- * ELS_REC - Read exchange concise.
- */
-struct fc_els_rec {
- __u8 rec_cmd; /* command (0x13) */
- __u8 rec_zero[3]; /* specified as zero - part of cmd */
- __u8 rec_resvd; /* reserved */
- __u8 rec_s_id[3]; /* originator FID */
- __be16 rec_ox_id; /* originator exchange ID */
- __be16 rec_rx_id; /* responders exchange ID */
-};
-
-/*
- * ELS_REC LS_ACC payload.
- */
-struct fc_els_rec_acc {
- __u8 reca_cmd; /* accept (0x02) */
- __u8 reca_zero[3]; /* specified as zero - part of cmd */
- __be16 reca_ox_id; /* originator exchange ID */
- __be16 reca_rx_id; /* responders exchange ID */
- __u8 reca_resvd1; /* reserved */
- __u8 reca_ofid[3]; /* originator FID */
- __u8 reca_resvd2; /* reserved */
- __u8 reca_rfid[3]; /* responder FID */
- __be32 reca_fc4value; /* FC4 value */
- __be32 reca_e_stat; /* ESB (exchange status block) status */
-};
-
-/*
- * ELS_PRLI - Process login request and response.
- */
-struct fc_els_prli {
- __u8 prli_cmd; /* command */
- __u8 prli_spp_len; /* length of each serv. parm. page */
- __be16 prli_len; /* length of entire payload */
- /* service parameter pages follow */
-};
-
-/*
- * ELS_PRLO - Process logout request and response.
- */
-struct fc_els_prlo {
- __u8 prlo_cmd; /* command */
- __u8 prlo_obs; /* obsolete, but shall be set to 10h */
- __be16 prlo_len; /* payload length */
-};
-
-/*
- * ELS_ADISC payload
- */
-struct fc_els_adisc {
- __u8 adisc_cmd;
- __u8 adisc_resv[3];
- __u8 adisc_resv1;
- __u8 adisc_hard_addr[3];
- __be64 adisc_wwpn;
- __be64 adisc_wwnn;
- __u8 adisc_resv2;
- __u8 adisc_port_id[3];
-} __attribute__((__packed__));
-
-/*
- * ELS_LOGO - process or fabric logout.
- */
-struct fc_els_logo {
- __u8 fl_cmd; /* command code */
- __u8 fl_zero[3]; /* specified as zero - part of cmd */
- __u8 fl_resvd; /* reserved */
- __u8 fl_n_port_id[3];/* N port ID */
- __be64 fl_n_port_wwn; /* port name */
-};
-
-/*
- * ELS_RTV - read timeout value.
- */
-struct fc_els_rtv {
- __u8 rtv_cmd; /* command code 0x0e */
- __u8 rtv_zero[3]; /* specified as zero - part of cmd */
-};
-
-/*
- * LS_ACC for ELS_RTV - read timeout value.
- */
-struct fc_els_rtv_acc {
- __u8 rtv_cmd; /* command code 0x02 */
- __u8 rtv_zero[3]; /* specified as zero - part of cmd */
- __be32 rtv_r_a_tov; /* resource allocation timeout value */
- __be32 rtv_e_d_tov; /* error detection timeout value */
- __be32 rtv_toq; /* timeout qualifier (see below) */
-};
-
-/*
- * rtv_toq bits.
- */
-#define FC_ELS_RTV_EDRES (1 << 26) /* E_D_TOV resolution is nS else mS */
-#define FC_ELS_RTV_RTTOV (1 << 19) /* R_T_TOV is 100 uS else 100 mS */
-
-/*
- * ELS_SCR - state change registration payload.
- */
-struct fc_els_scr {
- __u8 scr_cmd; /* command code */
- __u8 scr_resv[6]; /* reserved */
- __u8 scr_reg_func; /* registration function (see below) */
-};
-
-enum fc_els_scr_func {
- ELS_SCRF_FAB = 1, /* fabric-detected registration */
- ELS_SCRF_NPORT = 2, /* Nx_Port-detected registration */
- ELS_SCRF_FULL = 3, /* full registration */
- ELS_SCRF_CLEAR = 255, /* remove any current registrations */
-};
-
-/*
- * ELS_RSCN - registered state change notification payload.
- */
-struct fc_els_rscn {
- __u8 rscn_cmd; /* RSCN opcode (0x61) */
- __u8 rscn_page_len; /* page length (4) */
- __be16 rscn_plen; /* payload length including this word */
-
- /* followed by 4-byte generic affected Port_ID pages */
-};
-
-struct fc_els_rscn_page {
- __u8 rscn_page_flags; /* event and address format */
- __u8 rscn_fid[3]; /* fabric ID */
-};
-
-#define ELS_RSCN_EV_QUAL_BIT 2 /* shift count for event qualifier */
-#define ELS_RSCN_EV_QUAL_MASK 0xf /* mask for event qualifier */
-#define ELS_RSCN_ADDR_FMT_BIT 0 /* shift count for address format */
-#define ELS_RSCN_ADDR_FMT_MASK 0x3 /* mask for address format */
-
-enum fc_els_rscn_ev_qual {
- ELS_EV_QUAL_NONE = 0, /* unspecified */
- ELS_EV_QUAL_NS_OBJ = 1, /* changed name server object */
- ELS_EV_QUAL_PORT_ATTR = 2, /* changed port attribute */
- ELS_EV_QUAL_SERV_OBJ = 3, /* changed service object */
- ELS_EV_QUAL_SW_CONFIG = 4, /* changed switch configuration */
- ELS_EV_QUAL_REM_OBJ = 5, /* removed object */
-};
-
-enum fc_els_rscn_addr_fmt {
- ELS_ADDR_FMT_PORT = 0, /* rscn_fid is a port address */
- ELS_ADDR_FMT_AREA = 1, /* rscn_fid is a area address */
- ELS_ADDR_FMT_DOM = 2, /* rscn_fid is a domain address */
- ELS_ADDR_FMT_FAB = 3, /* anything on fabric may have changed */
-};
-
-/*
- * ELS_RNID - request Node ID.
- */
-struct fc_els_rnid {
- __u8 rnid_cmd; /* RNID opcode (0x78) */
- __u8 rnid_resv[3]; /* reserved */
- __u8 rnid_fmt; /* data format */
- __u8 rnid_resv2[3]; /* reserved */
-};
-
-/*
- * Node Identification Data formats (rnid_fmt)
- */
-enum fc_els_rnid_fmt {
- ELS_RNIDF_NONE = 0, /* no specific identification data */
- ELS_RNIDF_GEN = 0xdf, /* general topology discovery format */
-};
-
-/*
- * ELS_RNID response.
- */
-struct fc_els_rnid_resp {
- __u8 rnid_cmd; /* response code (LS_ACC) */
- __u8 rnid_resv[3]; /* reserved */
- __u8 rnid_fmt; /* data format */
- __u8 rnid_cid_len; /* common ID data length */
- __u8 rnid_resv2; /* reserved */
- __u8 rnid_sid_len; /* specific ID data length */
-};
-
-struct fc_els_rnid_cid {
- __be64 rnid_wwpn; /* N port name */
- __be64 rnid_wwnn; /* node name */
-};
-
-struct fc_els_rnid_gen {
- __u8 rnid_vend_id[16]; /* vendor-unique ID */
- __be32 rnid_atype; /* associated type (see below) */
- __be32 rnid_phys_port; /* physical port number */
- __be32 rnid_att_nodes; /* number of attached nodes */
- __u8 rnid_node_mgmt; /* node management (see below) */
- __u8 rnid_ip_ver; /* IP version (see below) */
- __be16 rnid_prot_port; /* UDP / TCP port number */
- __be32 rnid_ip_addr[4]; /* IP address */
- __u8 rnid_resvd[2]; /* reserved */
- __be16 rnid_vend_spec; /* vendor-specific field */
-};
-
-enum fc_els_rnid_atype {
- ELS_RNIDA_UNK = 0x01, /* unknown */
- ELS_RNIDA_OTHER = 0x02, /* none of the following */
- ELS_RNIDA_HUB = 0x03,
- ELS_RNIDA_SWITCH = 0x04,
- ELS_RNIDA_GATEWAY = 0x05,
- ELS_RNIDA_CONV = 0x06, /* Obsolete, do not use this value */
- ELS_RNIDA_HBA = 0x07, /* Obsolete, do not use this value */
- ELS_RNIDA_PROXY = 0x08, /* Obsolete, do not use this value */
- ELS_RNIDA_STORAGE = 0x09,
- ELS_RNIDA_HOST = 0x0a,
- ELS_RNIDA_SUBSYS = 0x0b, /* storage subsystem (e.g., RAID) */
- ELS_RNIDA_ACCESS = 0x0e, /* access device (e.g. media changer) */
- ELS_RNIDA_NAS = 0x11, /* NAS server */
- ELS_RNIDA_BRIDGE = 0x12, /* bridge */
- ELS_RNIDA_VIRT = 0x13, /* virtualization device */
- ELS_RNIDA_MF = 0xff, /* multifunction device (bits below) */
- ELS_RNIDA_MF_HUB = 1UL << 31, /* hub */
- ELS_RNIDA_MF_SW = 1UL << 30, /* switch */
- ELS_RNIDA_MF_GW = 1UL << 29, /* gateway */
- ELS_RNIDA_MF_ST = 1UL << 28, /* storage */
- ELS_RNIDA_MF_HOST = 1UL << 27, /* host */
- ELS_RNIDA_MF_SUB = 1UL << 26, /* storage subsystem */
- ELS_RNIDA_MF_ACC = 1UL << 25, /* storage access dev */
- ELS_RNIDA_MF_WDM = 1UL << 24, /* wavelength division mux */
- ELS_RNIDA_MF_NAS = 1UL << 23, /* NAS server */
- ELS_RNIDA_MF_BR = 1UL << 22, /* bridge */
- ELS_RNIDA_MF_VIRT = 1UL << 21, /* virtualization device */
-};
-
-enum fc_els_rnid_mgmt {
- ELS_RNIDM_SNMP = 0,
- ELS_RNIDM_TELNET = 1,
- ELS_RNIDM_HTTP = 2,
- ELS_RNIDM_HTTPS = 3,
- ELS_RNIDM_XML = 4, /* HTTP + XML */
-};
-
-enum fc_els_rnid_ipver {
- ELS_RNIDIP_NONE = 0, /* no IP support or node mgmt. */
- ELS_RNIDIP_V4 = 1, /* IPv4 */
- ELS_RNIDIP_V6 = 2, /* IPv6 */
-};
-
-/*
- * ELS RPL - Read Port List.
- */
-struct fc_els_rpl {
- __u8 rpl_cmd; /* command */
- __u8 rpl_resv[5]; /* reserved - must be zero */
- __be16 rpl_max_size; /* maximum response size or zero */
- __u8 rpl_resv1; /* reserved - must be zero */
- __u8 rpl_index[3]; /* starting index */
-};
-
-/*
- * Port number block in RPL response.
- */
-struct fc_els_pnb {
- __be32 pnb_phys_pn; /* physical port number */
- __u8 pnb_resv; /* reserved */
- __u8 pnb_port_id[3]; /* port ID */
- __be64 pnb_wwpn; /* port name */
-};
-
-/*
- * RPL LS_ACC response.
- */
-struct fc_els_rpl_resp {
- __u8 rpl_cmd; /* ELS_LS_ACC */
- __u8 rpl_resv1; /* reserved - must be zero */
- __be16 rpl_plen; /* payload length */
- __u8 rpl_resv2; /* reserved - must be zero */
- __u8 rpl_llen[3]; /* list length */
- __u8 rpl_resv3; /* reserved - must be zero */
- __u8 rpl_index[3]; /* starting index */
- struct fc_els_pnb rpl_pnb[1]; /* variable number of PNBs */
-};
-
-/*
- * Link Error Status Block.
- */
-struct fc_els_lesb {
- __be32 lesb_link_fail; /* link failure count */
- __be32 lesb_sync_loss; /* loss of synchronization count */
- __be32 lesb_sig_loss; /* loss of signal count */
- __be32 lesb_prim_err; /* primitive sequence error count */
- __be32 lesb_inv_word; /* invalid transmission word count */
- __be32 lesb_inv_crc; /* invalid CRC count */
-};
-
-/*
- * ELS RPS - Read Port Status Block request.
- */
-struct fc_els_rps {
- __u8 rps_cmd; /* command */
- __u8 rps_resv[2]; /* reserved - must be zero */
- __u8 rps_flag; /* flag - see below */
- __be64 rps_port_spec; /* port selection */
-};
-
-enum fc_els_rps_flag {
- FC_ELS_RPS_DID = 0x00, /* port identified by D_ID of req. */
- FC_ELS_RPS_PPN = 0x01, /* port_spec is physical port number */
- FC_ELS_RPS_WWPN = 0x02, /* port_spec is port WWN */
-};
-
-/*
- * ELS RPS LS_ACC response.
- */
-struct fc_els_rps_resp {
- __u8 rps_cmd; /* command - LS_ACC */
- __u8 rps_resv[2]; /* reserved - must be zero */
- __u8 rps_flag; /* flag - see below */
- __u8 rps_resv2[2]; /* reserved */
- __be16 rps_status; /* port status - see below */
- struct fc_els_lesb rps_lesb; /* link error status block */
-};
-
-enum fc_els_rps_resp_flag {
- FC_ELS_RPS_LPEV = 0x01, /* L_port extension valid */
-};
-
-enum fc_els_rps_resp_status {
- FC_ELS_RPS_PTP = 1 << 5, /* point-to-point connection */
- FC_ELS_RPS_LOOP = 1 << 4, /* loop mode */
- FC_ELS_RPS_FAB = 1 << 3, /* fabric present */
- FC_ELS_RPS_NO_SIG = 1 << 2, /* loss of signal */
- FC_ELS_RPS_NO_SYNC = 1 << 1, /* loss of synchronization */
- FC_ELS_RPS_RESET = 1 << 0, /* in link reset protocol */
-};
-
-/*
- * ELS LIRR - Link Incident Record Registration request.
- */
-struct fc_els_lirr {
- __u8 lirr_cmd; /* command */
- __u8 lirr_resv[3]; /* reserved - must be zero */
- __u8 lirr_func; /* registration function */
- __u8 lirr_fmt; /* FC-4 type of RLIR requested */
- __u8 lirr_resv2[2]; /* reserved - must be zero */
-};
-
-enum fc_els_lirr_func {
- ELS_LIRR_SET_COND = 0x01, /* set - conditionally receive */
- ELS_LIRR_SET_UNCOND = 0x02, /* set - unconditionally receive */
- ELS_LIRR_CLEAR = 0xff /* clear registration */
-};
-
-/*
- * ELS SRL - Scan Remote Loop request.
- */
-struct fc_els_srl {
- __u8 srl_cmd; /* command */
- __u8 srl_resv[3]; /* reserved - must be zero */
- __u8 srl_flag; /* flag - see below */
- __u8 srl_flag_param[3]; /* flag parameter */
-};
-
-enum fc_els_srl_flag {
- FC_ELS_SRL_ALL = 0x00, /* scan all FL ports */
- FC_ELS_SRL_ONE = 0x01, /* scan specified loop */
- FC_ELS_SRL_EN_PER = 0x02, /* enable periodic scanning (param) */
- FC_ELS_SRL_DIS_PER = 0x03, /* disable periodic scanning */
-};
-
-/*
- * ELS RLS - Read Link Error Status Block request.
- */
-struct fc_els_rls {
- __u8 rls_cmd; /* command */
- __u8 rls_resv[4]; /* reserved - must be zero */
- __u8 rls_port_id[3]; /* port ID */
-};
-
-/*
- * ELS RLS LS_ACC Response.
- */
-struct fc_els_rls_resp {
- __u8 rls_cmd; /* ELS_LS_ACC */
- __u8 rls_resv[3]; /* reserved - must be zero */
- struct fc_els_lesb rls_lesb; /* link error status block */
-};
-
-/*
- * ELS RLIR - Registered Link Incident Report.
- * This is followed by the CLIR and the CLID, described below.
- */
-struct fc_els_rlir {
- __u8 rlir_cmd; /* command */
- __u8 rlir_resv[3]; /* reserved - must be zero */
- __u8 rlir_fmt; /* format (FC4-type if type specific) */
- __u8 rlir_clr_len; /* common link incident record length */
- __u8 rlir_cld_len; /* common link incident desc. length */
- __u8 rlir_slr_len; /* spec. link incident record length */
-};
-
-/*
- * CLIR - Common Link Incident Record Data. - Sent via RLIR.
- */
-struct fc_els_clir {
- __be64 clir_wwpn; /* incident port name */
- __be64 clir_wwnn; /* incident port node name */
- __u8 clir_port_type; /* incident port type */
- __u8 clir_port_id[3]; /* incident port ID */
-
- __be64 clir_conn_wwpn; /* connected port name */
- __be64 clir_conn_wwnn; /* connected node name */
- __be64 clir_fab_name; /* fabric name */
- __be32 clir_phys_port; /* physical port number */
- __be32 clir_trans_id; /* transaction ID */
- __u8 clir_resv[3]; /* reserved */
- __u8 clir_ts_fmt; /* time stamp format */
- __be64 clir_timestamp; /* time stamp */
-};
-
-/*
- * CLIR clir_ts_fmt - time stamp format values.
- */
-enum fc_els_clir_ts_fmt {
- ELS_CLIR_TS_UNKNOWN = 0, /* time stamp field unknown */
- ELS_CLIR_TS_SEC_FRAC = 1, /* time in seconds and fractions */
- ELS_CLIR_TS_CSU = 2, /* time in clock synch update format */
-};
-
-/*
- * Common Link Incident Descriptor - sent via RLIR.
- */
-struct fc_els_clid {
- __u8 clid_iq; /* incident qualifier flags */
- __u8 clid_ic; /* incident code */
- __be16 clid_epai; /* domain/area of ISL */
-};
-
-/*
- * CLID incident qualifier flags.
- */
-enum fc_els_clid_iq {
- ELS_CLID_SWITCH = 0x20, /* incident port is a switch node */
- ELS_CLID_E_PORT = 0x10, /* incident is an ISL (E) port */
- ELS_CLID_SEV_MASK = 0x0c, /* severity 2-bit field mask */
- ELS_CLID_SEV_INFO = 0x00, /* report is informational */
- ELS_CLID_SEV_INOP = 0x08, /* link not operational */
- ELS_CLID_SEV_DEG = 0x04, /* link degraded but operational */
- ELS_CLID_LASER = 0x02, /* subassembly is a laser */
- ELS_CLID_FRU = 0x01, /* format can identify a FRU */
-};
-
-/*
- * CLID incident code.
- */
-enum fc_els_clid_ic {
- ELS_CLID_IC_IMPL = 1, /* implicit incident */
- ELS_CLID_IC_BER = 2, /* bit-error-rate threshold exceeded */
- ELS_CLID_IC_LOS = 3, /* loss of synch or signal */
- ELS_CLID_IC_NOS = 4, /* non-operational primitive sequence */
- ELS_CLID_IC_PST = 5, /* primitive sequence timeout */
- ELS_CLID_IC_INVAL = 6, /* invalid primitive sequence */
- ELS_CLID_IC_LOOP_TO = 7, /* loop initialization time out */
- ELS_CLID_IC_LIP = 8, /* receiving LIP */
-};
-
-#endif /* _FC_ELS_H_ */
diff --git a/linux-headers/include/scsi/fc/fc_fs.h b/linux-headers/include/scsi/fc/fc_fs.h
deleted file mode 100644
index 50f28b1..0000000
--- a/linux-headers/include/scsi/fc/fc_fs.h
+++ /dev/null
@@ -1,348 +0,0 @@
-/*
- * Copyright(c) 2007 Intel Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Maintained at www.Open-FCoE.org
- */
-
-#ifndef _FC_FS_H_
-#define _FC_FS_H_
-
-#include <linux/types.h>
-
-/*
- * Fibre Channel Framing and Signalling definitions.
- * From T11 FC-FS-2 Rev 0.90 - 9 August 2005.
- */
-
-/*
- * Frame header
- */
-struct fc_frame_header {
- __u8 fh_r_ctl; /* routing control */
- __u8 fh_d_id[3]; /* Destination ID */
-
- __u8 fh_cs_ctl; /* class of service control / pri */
- __u8 fh_s_id[3]; /* Source ID */
-
- __u8 fh_type; /* see enum fc_fh_type below */
- __u8 fh_f_ctl[3]; /* frame control */
-
- __u8 fh_seq_id; /* sequence ID */
- __u8 fh_df_ctl; /* data field control */
- __be16 fh_seq_cnt; /* sequence count */
-
- __be16 fh_ox_id; /* originator exchange ID */
- __be16 fh_rx_id; /* responder exchange ID */
- __be32 fh_parm_offset; /* parameter or relative offset */
-};
-
-#define FC_FRAME_HEADER_LEN 24 /* expected length of structure */
-
-#define FC_MAX_PAYLOAD 2112U /* max payload length in bytes */
-#define FC_MIN_MAX_PAYLOAD 256U /* lower limit on max payload */
-
-#define FC_MAX_FRAME (FC_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
-#define FC_MIN_MAX_FRAME (FC_MIN_MAX_PAYLOAD + FC_FRAME_HEADER_LEN)
-
-/*
- * fh_r_ctl - Routing control definitions.
- */
- /*
- * FC-4 device_data.
- */
-enum fc_rctl {
- FC_RCTL_DD_UNCAT = 0x00, /* uncategorized information */
- FC_RCTL_DD_SOL_DATA = 0x01, /* solicited data */
- FC_RCTL_DD_UNSOL_CTL = 0x02, /* unsolicited control */
- FC_RCTL_DD_SOL_CTL = 0x03, /* solicited control or reply */
- FC_RCTL_DD_UNSOL_DATA = 0x04, /* unsolicited data */
- FC_RCTL_DD_DATA_DESC = 0x05, /* data descriptor */
- FC_RCTL_DD_UNSOL_CMD = 0x06, /* unsolicited command */
- FC_RCTL_DD_CMD_STATUS = 0x07, /* command status */
-
-#define FC_RCTL_ILS_REQ FC_RCTL_DD_UNSOL_CTL /* ILS request */
-#define FC_RCTL_ILS_REP FC_RCTL_DD_SOL_CTL /* ILS reply */
-
- /*
- * Extended Link_Data
- */
- FC_RCTL_ELS_REQ = 0x22, /* extended link services request */
- FC_RCTL_ELS_REP = 0x23, /* extended link services reply */
- FC_RCTL_ELS4_REQ = 0x32, /* FC-4 ELS request */
- FC_RCTL_ELS4_REP = 0x33, /* FC-4 ELS reply */
- /*
- * Optional Extended Headers
- */
- FC_RCTL_VFTH = 0x50, /* virtual fabric tagging header */
- FC_RCTL_IFRH = 0x51, /* inter-fabric routing header */
- FC_RCTL_ENCH = 0x52, /* encapsulation header */
- /*
- * Basic Link Services fh_r_ctl values.
- */
- FC_RCTL_BA_NOP = 0x80, /* basic link service NOP */
- FC_RCTL_BA_ABTS = 0x81, /* basic link service abort */
- FC_RCTL_BA_RMC = 0x82, /* remove connection */
- FC_RCTL_BA_ACC = 0x84, /* basic accept */
- FC_RCTL_BA_RJT = 0x85, /* basic reject */
- FC_RCTL_BA_PRMT = 0x86, /* dedicated connection preempted */
- /*
- * Link Control Information.
- */
- FC_RCTL_ACK_1 = 0xc0, /* acknowledge_1 */
- FC_RCTL_ACK_0 = 0xc1, /* acknowledge_0 */
- FC_RCTL_P_RJT = 0xc2, /* port reject */
- FC_RCTL_F_RJT = 0xc3, /* fabric reject */
- FC_RCTL_P_BSY = 0xc4, /* port busy */
- FC_RCTL_F_BSY = 0xc5, /* fabric busy to data frame */
- FC_RCTL_F_BSYL = 0xc6, /* fabric busy to link control frame */
- FC_RCTL_LCR = 0xc7, /* link credit reset */
- FC_RCTL_END = 0xc9, /* end */
-};
- /* incomplete list of definitions */
-
-/*
- * R_CTL names initializer.
- * Please keep this matching the above definitions.
- */
-#define FC_RCTL_NAMES_INIT { \
- [FC_RCTL_DD_UNCAT] = "uncat", \
- [FC_RCTL_DD_SOL_DATA] = "sol data", \
- [FC_RCTL_DD_UNSOL_CTL] = "unsol ctl", \
- [FC_RCTL_DD_SOL_CTL] = "sol ctl/reply", \
- [FC_RCTL_DD_UNSOL_DATA] = "unsol data", \
- [FC_RCTL_DD_DATA_DESC] = "data desc", \
- [FC_RCTL_DD_UNSOL_CMD] = "unsol cmd", \
- [FC_RCTL_DD_CMD_STATUS] = "cmd status", \
- [FC_RCTL_ELS_REQ] = "ELS req", \
- [FC_RCTL_ELS_REP] = "ELS rep", \
- [FC_RCTL_ELS4_REQ] = "FC-4 ELS req", \
- [FC_RCTL_ELS4_REP] = "FC-4 ELS rep", \
- [FC_RCTL_BA_NOP] = "BLS NOP", \
- [FC_RCTL_BA_ABTS] = "BLS abort", \
- [FC_RCTL_BA_RMC] = "BLS remove connection", \
- [FC_RCTL_BA_ACC] = "BLS accept", \
- [FC_RCTL_BA_RJT] = "BLS reject", \
- [FC_RCTL_BA_PRMT] = "BLS dedicated connection preempted", \
- [FC_RCTL_ACK_1] = "LC ACK_1", \
- [FC_RCTL_ACK_0] = "LC ACK_0", \
- [FC_RCTL_P_RJT] = "LC port reject", \
- [FC_RCTL_F_RJT] = "LC fabric reject", \
- [FC_RCTL_P_BSY] = "LC port busy", \
- [FC_RCTL_F_BSY] = "LC fabric busy to data frame", \
- [FC_RCTL_F_BSYL] = "LC fabric busy to link control frame",\
- [FC_RCTL_LCR] = "LC link credit reset", \
- [FC_RCTL_END] = "LC end", \
-}
-
-/*
- * Well-known fabric addresses.
- */
-enum fc_well_known_fid {
- FC_FID_NONE = 0x000000, /* No destination */
- FC_FID_BCAST = 0xffffff, /* broadcast */
- FC_FID_FLOGI = 0xfffffe, /* fabric login */
- FC_FID_FCTRL = 0xfffffd, /* fabric controller */
- FC_FID_DIR_SERV = 0xfffffc, /* directory server */
- FC_FID_TIME_SERV = 0xfffffb, /* time server */
- FC_FID_MGMT_SERV = 0xfffffa, /* management server */
- FC_FID_QOS = 0xfffff9, /* QoS Facilitator */
- FC_FID_ALIASES = 0xfffff8, /* alias server (FC-PH2) */
- FC_FID_SEC_KEY = 0xfffff7, /* Security key dist. server */
- FC_FID_CLOCK = 0xfffff6, /* clock synch server */
- FC_FID_MCAST_SERV = 0xfffff5, /* multicast server */
-};
-
-#define FC_FID_WELL_KNOWN_MAX 0xffffff /* highest well-known fabric ID */
-#define FC_FID_WELL_KNOWN_BASE 0xfffff5 /* start of well-known fabric ID */
-
-/*
- * Other well-known addresses, outside the above contiguous range.
- */
-#define FC_FID_DOM_MGR 0xfffc00 /* domain manager base */
-
-/*
- * Fabric ID bytes.
- */
-#define FC_FID_DOMAIN 0
-#define FC_FID_PORT 1
-#define FC_FID_LINK 2
-
-/*
- * fh_type codes
- */
-enum fc_fh_type {
- FC_TYPE_BLS = 0x00, /* basic link service */
- FC_TYPE_ELS = 0x01, /* extended link service */
- FC_TYPE_IP = 0x05, /* IP over FC, RFC 4338 */
- FC_TYPE_FCP = 0x08, /* SCSI FCP */
- FC_TYPE_CT = 0x20, /* Fibre Channel Services (FC-CT) */
- FC_TYPE_ILS = 0x22, /* internal link service */
-};
-
-/*
- * FC_TYPE names initializer.
- * Please keep this matching the above definitions.
- */
-#define FC_TYPE_NAMES_INIT { \
- [FC_TYPE_BLS] = "BLS", \
- [FC_TYPE_ELS] = "ELS", \
- [FC_TYPE_IP] = "IP", \
- [FC_TYPE_FCP] = "FCP", \
- [FC_TYPE_CT] = "CT", \
- [FC_TYPE_ILS] = "ILS", \
-}
-
-/*
- * Exchange IDs.
- */
-#define FC_XID_UNKNOWN 0xffff /* unknown exchange ID */
-#define FC_XID_MIN 0x0 /* supported min exchange ID */
-#define FC_XID_MAX 0xfffe /* supported max exchange ID */
-
-/*
- * fh_f_ctl - Frame control flags.
- */
-#define FC_FC_EX_CTX (1 << 23) /* sent by responder to exchange */
-#define FC_FC_SEQ_CTX (1 << 22) /* sent by responder to sequence */
-#define FC_FC_FIRST_SEQ (1 << 21) /* first sequence of this exchange */
-#define FC_FC_LAST_SEQ (1 << 20) /* last sequence of this exchange */
-#define FC_FC_END_SEQ (1 << 19) /* last frame of sequence */
-#define FC_FC_END_CONN (1 << 18) /* end of class 1 connection pending */
-#define FC_FC_RES_B17 (1 << 17) /* reserved */
-#define FC_FC_SEQ_INIT (1 << 16) /* transfer of sequence initiative */
-#define FC_FC_X_ID_REASS (1 << 15) /* exchange ID has been changed */
-#define FC_FC_X_ID_INVAL (1 << 14) /* exchange ID invalidated */
-
-#define FC_FC_ACK_1 (1 << 12) /* 13:12 = 1: ACK_1 expected */
-#define FC_FC_ACK_N (2 << 12) /* 13:12 = 2: ACK_N expected */
-#define FC_FC_ACK_0 (3 << 12) /* 13:12 = 3: ACK_0 expected */
-
-#define FC_FC_RES_B11 (1 << 11) /* reserved */
-#define FC_FC_RES_B10 (1 << 10) /* reserved */
-#define FC_FC_RETX_SEQ (1 << 9) /* retransmitted sequence */
-#define FC_FC_UNI_TX (1 << 8) /* unidirectional transmit (class 1) */
-#define FC_FC_CONT_SEQ(i) ((i) << 6)
-#define FC_FC_ABT_SEQ(i) ((i) << 4)
-#define FC_FC_REL_OFF (1 << 3) /* parameter is relative offset */
-#define FC_FC_RES2 (1 << 2) /* reserved */
-#define FC_FC_FILL(i) ((i) & 3) /* 1:0: bytes of trailing fill */
-
-/*
- * BA_ACC payload.
- */
-struct fc_ba_acc {
- __u8 ba_seq_id_val; /* SEQ_ID validity */
-#define FC_BA_SEQ_ID_VAL 0x80
- __u8 ba_seq_id; /* SEQ_ID of seq last deliverable */
- __u8 ba_resvd[2]; /* reserved */
- __be16 ba_ox_id; /* OX_ID for aborted seq or exch */
- __be16 ba_rx_id; /* RX_ID for aborted seq or exch */
- __be16 ba_low_seq_cnt; /* low SEQ_CNT of aborted seq */
- __be16 ba_high_seq_cnt; /* high SEQ_CNT of aborted seq */
-};
-
-/*
- * BA_RJT: Basic Reject payload.
- */
-struct fc_ba_rjt {
- __u8 br_resvd; /* reserved */
- __u8 br_reason; /* reason code */
- __u8 br_explan; /* reason explanation */
- __u8 br_vendor; /* vendor unique code */
-};
-
-/*
- * BA_RJT reason codes.
- * From FS-2.
- */
-enum fc_ba_rjt_reason {
- FC_BA_RJT_NONE = 0, /* in software this means no reject */
- FC_BA_RJT_INVL_CMD = 0x01, /* invalid command code */
- FC_BA_RJT_LOG_ERR = 0x03, /* logical error */
- FC_BA_RJT_LOG_BUSY = 0x05, /* logical busy */
- FC_BA_RJT_PROTO_ERR = 0x07, /* protocol error */
- FC_BA_RJT_UNABLE = 0x09, /* unable to perform request */
- FC_BA_RJT_VENDOR = 0xff, /* vendor-specific (see br_vendor) */
-};
-
-/*
- * BA_RJT reason code explanations.
- */
-enum fc_ba_rjt_explan {
- FC_BA_RJT_EXP_NONE = 0x00, /* no additional expanation */
- FC_BA_RJT_INV_XID = 0x03, /* invalid OX_ID-RX_ID combination */
- FC_BA_RJT_ABT = 0x05, /* sequence aborted, no seq info */
-};
-
-/*
- * P_RJT or F_RJT: Port Reject or Fabric Reject parameter field.
- */
-struct fc_pf_rjt {
- __u8 rj_action; /* reserved */
- __u8 rj_reason; /* reason code */
- __u8 rj_resvd; /* reserved */
- __u8 rj_vendor; /* vendor unique code */
-};
-
-/*
- * P_RJT and F_RJT reject reason codes.
- */
-enum fc_pf_rjt_reason {
- FC_RJT_NONE = 0, /* non-reject (reserved by standard) */
- FC_RJT_INVL_DID = 0x01, /* invalid destination ID */
- FC_RJT_INVL_SID = 0x02, /* invalid source ID */
- FC_RJT_P_UNAV_T = 0x03, /* port unavailable, temporary */
- FC_RJT_P_UNAV = 0x04, /* port unavailable, permanent */
- FC_RJT_CLS_UNSUP = 0x05, /* class not supported */
- FC_RJT_DEL_USAGE = 0x06, /* delimiter usage error */
- FC_RJT_TYPE_UNSUP = 0x07, /* type not supported */
- FC_RJT_LINK_CTL = 0x08, /* invalid link control */
- FC_RJT_R_CTL = 0x09, /* invalid R_CTL field */
- FC_RJT_F_CTL = 0x0a, /* invalid F_CTL field */
- FC_RJT_OX_ID = 0x0b, /* invalid originator exchange ID */
- FC_RJT_RX_ID = 0x0c, /* invalid responder exchange ID */
- FC_RJT_SEQ_ID = 0x0d, /* invalid sequence ID */
- FC_RJT_DF_CTL = 0x0e, /* invalid DF_CTL field */
- FC_RJT_SEQ_CNT = 0x0f, /* invalid SEQ_CNT field */
- FC_RJT_PARAM = 0x10, /* invalid parameter field */
- FC_RJT_EXCH_ERR = 0x11, /* exchange error */
- FC_RJT_PROTO = 0x12, /* protocol error */
- FC_RJT_LEN = 0x13, /* incorrect length */
- FC_RJT_UNEXP_ACK = 0x14, /* unexpected ACK */
- FC_RJT_FAB_CLASS = 0x15, /* class unsupported by fabric entity */
- FC_RJT_LOGI_REQ = 0x16, /* login required */
- FC_RJT_SEQ_XS = 0x17, /* excessive sequences attempted */
- FC_RJT_EXCH_EST = 0x18, /* unable to establish exchange */
- FC_RJT_FAB_UNAV = 0x1a, /* fabric unavailable */
- FC_RJT_VC_ID = 0x1b, /* invalid VC_ID (class 4) */
- FC_RJT_CS_CTL = 0x1c, /* invalid CS_CTL field */
- FC_RJT_INSUF_RES = 0x1d, /* insuff. resources for VC (Class 4) */
- FC_RJT_INVL_CLS = 0x1f, /* invalid class of service */
- FC_RJT_PREEMT_RJT = 0x20, /* preemption request rejected */
- FC_RJT_PREEMT_DIS = 0x21, /* preemption not enabled */
- FC_RJT_MCAST_ERR = 0x22, /* multicast error */
- FC_RJT_MCAST_ET = 0x23, /* multicast error terminate */
- FC_RJT_PRLI_REQ = 0x24, /* process login required */
- FC_RJT_INVL_ATT = 0x25, /* invalid attachment */
- FC_RJT_VENDOR = 0xff, /* vendor specific reject */
-};
-
-/* default timeout values */
-
-#define FC_DEF_E_D_TOV 2000UL
-#define FC_DEF_R_A_TOV 10000UL
-
-#endif /* _FC_FS_H_ */
diff --git a/linux-headers/include/scsi/fc/fc_gs.h b/linux-headers/include/scsi/fc/fc_gs.h
deleted file mode 100644
index a37346d..0000000
--- a/linux-headers/include/scsi/fc/fc_gs.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright(c) 2007 Intel Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Maintained at www.Open-FCoE.org
- */
-
-#ifndef _FC_GS_H_
-#define _FC_GS_H_
-
-#include <linux/types.h>
-
-/*
- * Fibre Channel Services - Common Transport.
- * From T11.org FC-GS-2 Rev 5.3 November 1998.
- */
-
-struct fc_ct_hdr {
- __u8 ct_rev; /* revision */
- __u8 ct_in_id[3]; /* N_Port ID of original requestor */
- __u8 ct_fs_type; /* type of fibre channel service */
- __u8 ct_fs_subtype; /* subtype */
- __u8 ct_options;
- __u8 _ct_resvd1;
- __be16 ct_cmd; /* command / response code */
- __be16 ct_mr_size; /* maximum / residual size */
- __u8 _ct_resvd2;
- __u8 ct_reason; /* reject reason */
- __u8 ct_explan; /* reason code explanation */
- __u8 ct_vendor; /* vendor unique data */
-};
-
-#define FC_CT_HDR_LEN 16 /* expected sizeof (struct fc_ct_hdr) */
-
-enum fc_ct_rev {
- FC_CT_REV = 1 /* common transport revision */
-};
-
-/*
- * ct_fs_type values.
- */
-enum fc_ct_fs_type {
- FC_FST_ALIAS = 0xf8, /* alias service */
- FC_FST_MGMT = 0xfa, /* management service */
- FC_FST_TIME = 0xfb, /* time service */
- FC_FST_DIR = 0xfc, /* directory service */
-};
-
-/*
- * ct_cmd: Command / response codes
- */
-enum fc_ct_cmd {
- FC_FS_RJT = 0x8001, /* reject */
- FC_FS_ACC = 0x8002, /* accept */
-};
-
-/*
- * FS_RJT reason codes.
- */
-enum fc_ct_reason {
- FC_FS_RJT_CMD = 0x01, /* invalid command code */
- FC_FS_RJT_VER = 0x02, /* invalid version level */
- FC_FS_RJT_LOG = 0x03, /* logical error */
- FC_FS_RJT_IUSIZ = 0x04, /* invalid IU size */
- FC_FS_RJT_BSY = 0x05, /* logical busy */
- FC_FS_RJT_PROTO = 0x07, /* protocol error */
- FC_FS_RJT_UNABL = 0x09, /* unable to perform command request */
- FC_FS_RJT_UNSUP = 0x0b, /* command not supported */
-};
-
-/*
- * FS_RJT reason code explanations.
- */
-enum fc_ct_explan {
- FC_FS_EXP_NONE = 0x00, /* no additional explanation */
- FC_FS_EXP_PID = 0x01, /* port ID not registered */
- FC_FS_EXP_PNAM = 0x02, /* port name not registered */
- FC_FS_EXP_NNAM = 0x03, /* node name not registered */
- FC_FS_EXP_COS = 0x04, /* class of service not registered */
- FC_FS_EXP_FTNR = 0x07, /* FC-4 types not registered */
- /* definitions not complete */
-};
-
-#endif /* _FC_GS_H_ */
diff --git a/linux-headers/include/scsi/fc/fc_ns.h b/linux-headers/include/scsi/fc/fc_ns.h
deleted file mode 100644
index f7751d5..0000000
--- a/linux-headers/include/scsi/fc/fc_ns.h
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Copyright(c) 2007 Intel Corporation. All rights reserved.
- *
- * This program is free software; you can redistribute it and/or modify it
- * under the terms and conditions of the GNU General Public License,
- * version 2, as published by the Free Software Foundation.
- *
- * This program is distributed in the hope it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
- * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
- * more details.
- *
- * You should have received a copy of the GNU General Public License along with
- * this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
- *
- * Maintained at www.Open-FCoE.org
- */
-
-#ifndef _FC_NS_H_
-#define _FC_NS_H_
-
-#include <linux/types.h>
-
-/*
- * Fibre Channel Services - Name Service (dNS)
- * From T11.org FC-GS-2 Rev 5.3 November 1998.
- */
-
-/*
- * Common-transport sub-type for Name Server.
- */
-#define FC_NS_SUBTYPE 2 /* fs_ct_hdr.ct_fs_subtype */
-
-/*
- * Name server Requests.
- * Note: this is an incomplete list, some unused requests are omitted.
- */
-enum fc_ns_req {
- FC_NS_GA_NXT = 0x0100, /* get all next */
- FC_NS_GI_A = 0x0101, /* get identifiers - scope */
- FC_NS_GPN_ID = 0x0112, /* get port name by ID */
- FC_NS_GNN_ID = 0x0113, /* get node name by ID */
- FC_NS_GSPN_ID = 0x0118, /* get symbolic port name */
- FC_NS_GID_PN = 0x0121, /* get ID for port name */
- FC_NS_GID_NN = 0x0131, /* get IDs for node name */
- FC_NS_GID_FT = 0x0171, /* get IDs by FC4 type */
- FC_NS_GPN_FT = 0x0172, /* get port names by FC4 type */
- FC_NS_GID_PT = 0x01a1, /* get IDs by port type */
- FC_NS_RPN_ID = 0x0212, /* reg port name for ID */
- FC_NS_RNN_ID = 0x0213, /* reg node name for ID */
- FC_NS_RFT_ID = 0x0217, /* reg FC4 type for ID */
- FC_NS_RSPN_ID = 0x0218, /* reg symbolic port name */
- FC_NS_RFF_ID = 0x021f, /* reg FC4 Features for ID */
- FC_NS_RSNN_NN = 0x0239, /* reg symbolic node name */
-};
-
-/*
- * Port type values.
- */
-enum fc_ns_pt {
- FC_NS_UNID_PORT = 0x00, /* unidentified */
- FC_NS_N_PORT = 0x01, /* N port */
- FC_NS_NL_PORT = 0x02, /* NL port */
- FC_NS_FNL_PORT = 0x03, /* F/NL port */
- FC_NS_NX_PORT = 0x7f, /* Nx port */
- FC_NS_F_PORT = 0x81, /* F port */
- FC_NS_FL_PORT = 0x82, /* FL port */
- FC_NS_E_PORT = 0x84, /* E port */
- FC_NS_B_PORT = 0x85, /* B port */
-};
-
-/*
- * Port type object.
- */
-struct fc_ns_pt_obj {
- __u8 pt_type;
-};
-
-/*
- * Port ID object
- */
-struct fc_ns_fid {
- __u8 fp_flags; /* flags for responses only */
- __u8 fp_fid[3];
-};
-
-/*
- * fp_flags in port ID object, for responses only.
- */
-#define FC_NS_FID_LAST 0x80 /* last object */
-
-/*
- * FC4-types object.
- */
-#define FC_NS_TYPES 256 /* number of possible FC-4 types */
-#define FC_NS_BPW 32 /* bits per word in bitmap */
-
-struct fc_ns_fts {
- __be32 ff_type_map[FC_NS_TYPES / FC_NS_BPW]; /* bitmap of FC-4 types */
-};
-
-/*
- * FC4-features object.
- */
-struct fc_ns_ff {
- __be32 fd_feat[FC_NS_TYPES * 4 / FC_NS_BPW]; /* 4-bits per FC-type */
-};
-
-/*
- * GID_PT request.
- */
-struct fc_ns_gid_pt {
- __u8 fn_pt_type;
- __u8 fn_domain_id_scope;
- __u8 fn_area_id_scope;
- __u8 fn_resvd;
-};
-
-/*
- * GID_FT or GPN_FT request.
- */
-struct fc_ns_gid_ft {
- __u8 fn_resvd;
- __u8 fn_domain_id_scope;
- __u8 fn_area_id_scope;
- __u8 fn_fc4_type;
-};
-
-/*
- * GPN_FT response.
- */
-struct fc_gpn_ft_resp {
- __u8 fp_flags; /* see fp_flags definitions above */
- __u8 fp_fid[3]; /* port ID */
- __be32 fp_resvd;
- __be64 fp_wwpn; /* port name */
-};
-
-/*
- * GID_PN request
- */
-struct fc_ns_gid_pn {
- __be64 fn_wwpn; /* port name */
-};
-
-/*
- * GID_PN response or GSPN_ID request
- */
-struct fc_gid_pn_resp {
- __u8 fp_resvd;
- __u8 fp_fid[3]; /* port ID */
-};
-
-/*
- * GSPN_ID response
- */
-struct fc_gspn_resp {
- __u8 fp_name_len;
- char fp_name[];
-};
-
-/*
- * RFT_ID request - register FC-4 types for ID.
- */
-struct fc_ns_rft_id {
- struct fc_ns_fid fr_fid; /* port ID object */
- struct fc_ns_fts fr_fts; /* FC-4 types object */
-};
-
-/*
- * RPN_ID request - register port name for ID.
- * RNN_ID request - register node name for ID.
- */
-struct fc_ns_rn_id {
- struct fc_ns_fid fr_fid; /* port ID object */
- __be64 fr_wwn; /* node name or port name */
-} __attribute__((__packed__));
-
-/*
- * RSNN_NN request - register symbolic node name
- */
-struct fc_ns_rsnn {
- __be64 fr_wwn; /* node name */
- __u8 fr_name_len;
- char fr_name[];
-} __attribute__((__packed__));
-
-/*
- * RSPN_ID request - register symbolic port name
- */
-struct fc_ns_rspn {
- struct fc_ns_fid fr_fid; /* port ID object */
- __u8 fr_name_len;
- char fr_name[];
-} __attribute__((__packed__));
-
-/*
- * RFF_ID request - register FC-4 Features for ID.
- */
-struct fc_ns_rff_id {
- struct fc_ns_fid fr_fid; /* port ID object */
- __u8 fr_resvd[2];
- __u8 fr_feat; /* FC-4 Feature bits */
- __u8 fr_type; /* FC-4 type */
-} __attribute__((__packed__));
-
-#endif /* _FC_NS_H_ */
diff --git a/linux-headers/include/scsi/scsi_bsg_fc.h b/linux-headers/include/scsi/scsi_bsg_fc.h
deleted file mode 100644
index 3031b90..0000000
--- a/linux-headers/include/scsi/scsi_bsg_fc.h
+++ /dev/null
@@ -1,320 +0,0 @@
-/*
- * FC Transport BSG Interface
- *
- * Copyright (C) 2008 James Smart, Emulex Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef SCSI_BSG_FC_H
-#define SCSI_BSG_FC_H
-
-/*
- * This file intended to be included by both kernel and user space
- */
-
-/*
- * FC Transport SGIO v4 BSG Message Support
- */
-
-/* Default BSG request timeout (in seconds) */
-#define FC_DEFAULT_BSG_TIMEOUT (10 * HZ)
-
-
-/*
- * Request Message Codes supported by the FC Transport
- */
-
-/* define the class masks for the message codes */
-#define FC_BSG_CLS_MASK 0xF0000000 /* find object class */
-#define FC_BSG_HST_MASK 0x80000000 /* fc host class */
-#define FC_BSG_RPT_MASK 0x40000000 /* fc rport class */
-
- /* fc_host Message Codes */
-#define FC_BSG_HST_ADD_RPORT (FC_BSG_HST_MASK | 0x00000001)
-#define FC_BSG_HST_DEL_RPORT (FC_BSG_HST_MASK | 0x00000002)
-#define FC_BSG_HST_ELS_NOLOGIN (FC_BSG_HST_MASK | 0x00000003)
-#define FC_BSG_HST_CT (FC_BSG_HST_MASK | 0x00000004)
-#define FC_BSG_HST_VENDOR (FC_BSG_HST_MASK | 0x000000FF)
-
- /* fc_rport Message Codes */
-#define FC_BSG_RPT_ELS (FC_BSG_RPT_MASK | 0x00000001)
-#define FC_BSG_RPT_CT (FC_BSG_RPT_MASK | 0x00000002)
-
-
-
-/*
- * FC Address Identifiers in Message Structures :
- *
- * Whenever a command payload contains a FC Address Identifier
- * (aka port_id), the value is effectively in big-endian
- * order, thus the array elements are decoded as follows:
- * element [0] is bits 23:16 of the FC Address Identifier
- * element [1] is bits 15:8 of the FC Address Identifier
- * element [2] is bits 7:0 of the FC Address Identifier
- */
-
-
-/*
- * FC Host Messages
- */
-
-/* FC_BSG_HST_ADDR_PORT : */
-
-/* Request:
- * This message requests the FC host to login to the remote port
- * at the specified N_Port_Id. The remote port is to be enumerated
- * with the transport upon completion of the login.
- */
-struct fc_bsg_host_add_rport {
- uint8_t reserved;
-
- /* FC Address Identier of the remote port to login to */
- uint8_t port_id[3];
-};
-
-/* Response:
- * There is no additional response data - fc_bsg_reply->result is sufficient
- */
-
-
-/* FC_BSG_HST_DEL_RPORT : */
-
-/* Request:
- * This message requests the FC host to remove an enumerated
- * remote port and to terminate the login to it.
- *
- * Note: The driver is free to reject this request if it desires to
- * remain logged in with the remote port.
- */
-struct fc_bsg_host_del_rport {
- uint8_t reserved;
-
- /* FC Address Identier of the remote port to logout of */
- uint8_t port_id[3];
-};
-
-/* Response:
- * There is no additional response data - fc_bsg_reply->result is sufficient
- */
-
-
-/* FC_BSG_HST_ELS_NOLOGIN : */
-
-/* Request:
- * This message requests the FC_Host to send an ELS to a specific
- * N_Port_ID. The host does not need to log into the remote port,
- * nor does it need to enumerate the rport for further traffic
- * (although, the FC host is free to do so if it desires).
- */
-struct fc_bsg_host_els {
- /*
- * ELS Command Code being sent (must be the same as byte 0
- * of the payload)
- */
- uint8_t command_code;
-
- /* FC Address Identier of the remote port to send the ELS to */
- uint8_t port_id[3];
-};
-
-/* Response:
- */
-/* fc_bsg_ctels_reply->status values */
-#define FC_CTELS_STATUS_OK 0x00000000
-#define FC_CTELS_STATUS_REJECT 0x00000001
-#define FC_CTELS_STATUS_P_RJT 0x00000002
-#define FC_CTELS_STATUS_F_RJT 0x00000003
-#define FC_CTELS_STATUS_P_BSY 0x00000004
-#define FC_CTELS_STATUS_F_BSY 0x00000006
-struct fc_bsg_ctels_reply {
- /*
- * Note: An ELS LS_RJT may be reported in 2 ways:
- * a) A status of FC_CTELS_STATUS_OK is returned. The caller
- * is to look into the ELS receive payload to determine
- * LS_ACC or LS_RJT (by contents of word 0). The reject
- * data will be in word 1.
- * b) A status of FC_CTELS_STATUS_REJECT is returned, The
- * rjt_data field will contain valid data.
- *
- * Note: ELS LS_ACC is determined by an FC_CTELS_STATUS_OK, and
- * the receive payload word 0 indicates LS_ACC
- * (e.g. value is 0x02xxxxxx).
- *
- * Note: Similarly, a CT Reject may be reported in 2 ways:
- * a) A status of FC_CTELS_STATUS_OK is returned. The caller
- * is to look into the CT receive payload to determine
- * Accept or Reject (by contents of word 2). The reject
- * data will be in word 3.
- * b) A status of FC_CTELS_STATUS_REJECT is returned, The
- * rjt_data field will contain valid data.
- *
- * Note: x_RJT/BSY status will indicae that the rjt_data field
- * is valid and contains the reason/explanation values.
- */
- uint32_t status; /* See FC_CTELS_STATUS_xxx */
-
- /* valid if status is not FC_CTELS_STATUS_OK */
- struct {
- uint8_t action; /* fragment_id for CT REJECT */
- uint8_t reason_code;
- uint8_t reason_explanation;
- uint8_t vendor_unique;
- } rjt_data;
-};
-
-
-/* FC_BSG_HST_CT : */
-
-/* Request:
- * This message requests that a CT Request be performed with the
- * indicated N_Port_ID. The driver is responsible for logging in with
- * the fabric and/or N_Port_ID, etc as per FC rules. This request does
- * not mandate that the driver must enumerate the destination in the
- * transport. The driver is allowed to decide whether to enumerate it,
- * and whether to tear it down after the request.
- */
-struct fc_bsg_host_ct {
- uint8_t reserved;
-
- /* FC Address Identier of the remote port to send the ELS to */
- uint8_t port_id[3];
-
- /*
- * We need words 0-2 of the generic preamble for the LLD's
- */
- uint32_t preamble_word0; /* revision & IN_ID */
- uint32_t preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */
- uint32_t preamble_word2; /* Cmd Code, Max Size */
-
-};
-/* Response:
- *
- * The reply structure is an fc_bsg_ctels_reply structure
- */
-
-
-/* FC_BSG_HST_VENDOR : */
-
-/* Request:
- * Note: When specifying vendor_id, be sure to read the Vendor Type and ID
- * formatting requirements specified in scsi_netlink.h
- */
-struct fc_bsg_host_vendor {
- /*
- * Identifies the vendor that the message is formatted for. This
- * should be the recipient of the message.
- */
- uint64_t vendor_id;
-
- /* start of vendor command area */
- uint32_t vendor_cmd[0];
-};
-
-/* Response:
- */
-struct fc_bsg_host_vendor_reply {
- /* start of vendor response area */
- uint32_t vendor_rsp[0];
-};
-
-
-
-/*
- * FC Remote Port Messages
- */
-
-/* FC_BSG_RPT_ELS : */
-
-/* Request:
- * This message requests that an ELS be performed with the rport.
- */
-struct fc_bsg_rport_els {
- /*
- * ELS Command Code being sent (must be the same as
- * byte 0 of the payload)
- */
- uint8_t els_code;
-};
-
-/* Response:
- *
- * The reply structure is an fc_bsg_ctels_reply structure
- */
-
-
-/* FC_BSG_RPT_CT : */
-
-/* Request:
- * This message requests that a CT Request be performed with the rport.
- */
-struct fc_bsg_rport_ct {
- /*
- * We need words 0-2 of the generic preamble for the LLD's
- */
- uint32_t preamble_word0; /* revision & IN_ID */
- uint32_t preamble_word1; /* GS_Type, GS_SubType, Options, Rsvd */
- uint32_t preamble_word2; /* Cmd Code, Max Size */
-};
-/* Response:
- *
- * The reply structure is an fc_bsg_ctels_reply structure
- */
-
-
-
-
-/* request (CDB) structure of the sg_io_v4 */
-struct fc_bsg_request {
- uint32_t msgcode;
- union {
- struct fc_bsg_host_add_rport h_addrport;
- struct fc_bsg_host_del_rport h_delrport;
- struct fc_bsg_host_els h_els;
- struct fc_bsg_host_ct h_ct;
- struct fc_bsg_host_vendor h_vendor;
-
- struct fc_bsg_rport_els r_els;
- struct fc_bsg_rport_ct r_ct;
- } rqst_data;
-} __attribute__((packed));
-
-
-/* response (request sense data) structure of the sg_io_v4 */
-struct fc_bsg_reply {
- /*
- * The completion result. Result exists in two forms:
- * if negative, it is an -Exxx system errno value. There will
- * be no further reply information supplied.
- * else, it's the 4-byte scsi error result, with driver, host,
- * msg and status fields. The per-msgcode reply structure
- * will contain valid data.
- */
- uint32_t result;
-
- /* If there was reply_payload, how much was recevied ? */
- uint32_t reply_payload_rcv_len;
-
- union {
- struct fc_bsg_host_vendor_reply vendor_reply;
-
- struct fc_bsg_ctels_reply ctels_reply;
- } reply_data;
-};
-
-
-#endif /* SCSI_BSG_FC_H */
-
diff --git a/linux-headers/include/scsi/scsi_netlink.h b/linux-headers/include/scsi/scsi_netlink.h
deleted file mode 100644
index 62b4eda..0000000
--- a/linux-headers/include/scsi/scsi_netlink.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * SCSI Transport Netlink Interface
- * Used for the posting of outbound SCSI transport events
- *
- * Copyright (C) 2006 James Smart, Emulex Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef SCSI_NETLINK_H
-#define SCSI_NETLINK_H
-
-#include <linux/netlink.h>
-#include <linux/types.h>
-
-/*
- * This file intended to be included by both kernel and user space
- */
-
-/* Single Netlink Message type to send all SCSI Transport messages */
-#define SCSI_TRANSPORT_MSG NLMSG_MIN_TYPE + 1
-
-/* SCSI Transport Broadcast Groups */
- /* leaving groups 0 and 1 unassigned */
-#define SCSI_NL_GRP_FC_EVENTS (1<<2) /* Group 2 */
-#define SCSI_NL_GRP_CNT 3
-
-
-/* SCSI_TRANSPORT_MSG event message header */
-struct scsi_nl_hdr {
- uint8_t version;
- uint8_t transport;
- uint16_t magic;
- uint16_t msgtype;
- uint16_t msglen;
-} __attribute__((aligned(sizeof(uint64_t))));
-
-/* scsi_nl_hdr->version value */
-#define SCSI_NL_VERSION 1
-
-/* scsi_nl_hdr->magic value */
-#define SCSI_NL_MAGIC 0xA1B2
-
-/* scsi_nl_hdr->transport value */
-#define SCSI_NL_TRANSPORT 0
-#define SCSI_NL_TRANSPORT_FC 1
-#define SCSI_NL_MAX_TRANSPORTS 2
-
-/* Transport-based scsi_nl_hdr->msgtype values are defined in each transport */
-
-/*
- * GENERIC SCSI scsi_nl_hdr->msgtype Values
- */
- /* kernel -> user */
-#define SCSI_NL_SHOST_VENDOR 0x0001
- /* user -> kernel */
-/* SCSI_NL_SHOST_VENDOR msgtype is kernel->user and user->kernel */
-
-
-/*
- * Message Structures :
- */
-
-/* macro to round up message lengths to 8byte boundary */
-#define SCSI_NL_MSGALIGN(len) (((len) + 7) & ~7)
-
-
-/*
- * SCSI HOST Vendor Unique messages :
- * SCSI_NL_SHOST_VENDOR
- *
- * Note: The Vendor Unique message payload will begin directly after
- * this structure, with the length of the payload per vmsg_datalen.
- *
- * Note: When specifying vendor_id, be sure to read the Vendor Type and ID
- * formatting requirements specified below
- */
-struct scsi_nl_host_vendor_msg {
- struct scsi_nl_hdr snlh; /* must be 1st element ! */
- uint64_t vendor_id;
- uint16_t host_no;
- uint16_t vmsg_datalen;
-} __attribute__((aligned(sizeof(uint64_t))));
-
-
-/*
- * Vendor ID:
- * If transports post vendor-unique events, they must pass a well-known
- * 32-bit vendor identifier. This identifier consists of 8 bits indicating
- * the "type" of identifier contained, and 24 bits of id data.
- *
- * Identifiers for each type:
- * PCI : ID data is the 16 bit PCI Registered Vendor ID
- */
-#define SCSI_NL_VID_TYPE_SHIFT 56
-#define SCSI_NL_VID_TYPE_MASK ((__u64)0xFF << SCSI_NL_VID_TYPE_SHIFT)
-#define SCSI_NL_VID_TYPE_PCI ((__u64)0x01 << SCSI_NL_VID_TYPE_SHIFT)
-#define SCSI_NL_VID_ID_MASK (~ SCSI_NL_VID_TYPE_MASK)
-
-
-#define INIT_SCSI_NL_HDR(hdr, t, mtype, mlen) \
- { \
- (hdr)->version = SCSI_NL_VERSION; \
- (hdr)->transport = t; \
- (hdr)->magic = SCSI_NL_MAGIC; \
- (hdr)->msgtype = mtype; \
- (hdr)->msglen = mlen; \
- }
-
-#endif /* SCSI_NETLINK_H */
-
diff --git a/linux-headers/include/scsi/scsi_netlink_fc.h b/linux-headers/include/scsi/scsi_netlink_fc.h
deleted file mode 100644
index cbf76e4..0000000
--- a/linux-headers/include/scsi/scsi_netlink_fc.h
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * FC Transport Netlink Interface
- *
- * Copyright (C) 2006 James Smart, Emulex Corporation
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef SCSI_NETLINK_FC_H
-#define SCSI_NETLINK_FC_H
-
-#include <scsi/scsi_netlink.h>
-
-/*
- * This file intended to be included by both kernel and user space
- */
-
-/*
- * FC Transport Message Types
- */
- /* kernel -> user */
-#define FC_NL_ASYNC_EVENT 0x0100
- /* user -> kernel */
-/* none */
-
-
-/*
- * Message Structures :
- */
-
-/* macro to round up message lengths to 8byte boundary */
-#define FC_NL_MSGALIGN(len) (((len) + 7) & ~7)
-
-
-/*
- * FC Transport Broadcast Event Message :
- * FC_NL_ASYNC_EVENT
- *
- * Note: if Vendor Unique message, &event_data will be start of
- * vendor unique payload, and the length of the payload is
- * per event_datalen
- *
- * Note: When specifying vendor_id, be sure to read the Vendor Type and ID
- * formatting requirements specified in scsi_netlink.h
- */
-struct fc_nl_event {
- struct scsi_nl_hdr snlh; /* must be 1st element ! */
- uint64_t seconds;
- uint64_t vendor_id;
- uint16_t host_no;
- uint16_t event_datalen;
- uint32_t event_num;
- uint32_t event_code;
- uint32_t event_data;
-} __attribute__((aligned(sizeof(uint64_t))));
-
-
-#endif /* SCSI_NETLINK_FC_H */
-
diff --git a/linux-headers/include/sound/asequencer.h b/linux-headers/include/sound/asequencer.h
deleted file mode 100644
index 8df9e62..0000000
--- a/linux-headers/include/sound/asequencer.h
+++ /dev/null
@@ -1,611 +0,0 @@
-/*
- * Main header file for the ALSA sequencer
- * Copyright (c) 1998-1999 by Frank van de Pol <fvdpol@coil.demon.nl>
- * (c) 1998-1999 by Jaroslav Kysela <perex@perex.cz>
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef __SOUND_ASEQUENCER_H
-#define __SOUND_ASEQUENCER_H
-
-#include <sound/asound.h>
-
-/** version of the sequencer */
-#define SNDRV_SEQ_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 2)
-
-/**
- * definition of sequencer event types
- */
-
-/** system messages
- * event data type = #snd_seq_result
- */
-#define SNDRV_SEQ_EVENT_SYSTEM 0
-#define SNDRV_SEQ_EVENT_RESULT 1
-
-/** note messages (channel specific)
- * event data type = #snd_seq_ev_note
- */
-#define SNDRV_SEQ_EVENT_NOTE 5
-#define SNDRV_SEQ_EVENT_NOTEON 6
-#define SNDRV_SEQ_EVENT_NOTEOFF 7
-#define SNDRV_SEQ_EVENT_KEYPRESS 8
-
-/** control messages (channel specific)
- * event data type = #snd_seq_ev_ctrl
- */
-#define SNDRV_SEQ_EVENT_CONTROLLER 10
-#define SNDRV_SEQ_EVENT_PGMCHANGE 11
-#define SNDRV_SEQ_EVENT_CHANPRESS 12
-#define SNDRV_SEQ_EVENT_PITCHBEND 13 /**< from -8192 to 8191 */
-#define SNDRV_SEQ_EVENT_CONTROL14 14 /**< 14 bit controller value */
-#define SNDRV_SEQ_EVENT_NONREGPARAM 15 /**< 14 bit NRPN address + 14 bit unsigned value */
-#define SNDRV_SEQ_EVENT_REGPARAM 16 /**< 14 bit RPN address + 14 bit unsigned value */
-
-/** synchronisation messages
- * event data type = #snd_seq_ev_ctrl
- */
-#define SNDRV_SEQ_EVENT_SONGPOS 20 /* Song Position Pointer with LSB and MSB values */
-#define SNDRV_SEQ_EVENT_SONGSEL 21 /* Song Select with song ID number */
-#define SNDRV_SEQ_EVENT_QFRAME 22 /* midi time code quarter frame */
-#define SNDRV_SEQ_EVENT_TIMESIGN 23 /* SMF Time Signature event */
-#define SNDRV_SEQ_EVENT_KEYSIGN 24 /* SMF Key Signature event */
-
-/** timer messages
- * event data type = snd_seq_ev_queue_control
- */
-#define SNDRV_SEQ_EVENT_START 30 /* midi Real Time Start message */
-#define SNDRV_SEQ_EVENT_CONTINUE 31 /* midi Real Time Continue message */
-#define SNDRV_SEQ_EVENT_STOP 32 /* midi Real Time Stop message */
-#define SNDRV_SEQ_EVENT_SETPOS_TICK 33 /* set tick queue position */
-#define SNDRV_SEQ_EVENT_SETPOS_TIME 34 /* set realtime queue position */
-#define SNDRV_SEQ_EVENT_TEMPO 35 /* (SMF) Tempo event */
-#define SNDRV_SEQ_EVENT_CLOCK 36 /* midi Real Time Clock message */
-#define SNDRV_SEQ_EVENT_TICK 37 /* midi Real Time Tick message */
-#define SNDRV_SEQ_EVENT_QUEUE_SKEW 38 /* skew queue tempo */
-
-/** others
- * event data type = none
- */
-#define SNDRV_SEQ_EVENT_TUNE_REQUEST 40 /* tune request */
-#define SNDRV_SEQ_EVENT_RESET 41 /* reset to power-on state */
-#define SNDRV_SEQ_EVENT_SENSING 42 /* "active sensing" event */
-
-/** echo back, kernel private messages
- * event data type = any type
- */
-#define SNDRV_SEQ_EVENT_ECHO 50 /* echo event */
-#define SNDRV_SEQ_EVENT_OSS 51 /* OSS raw event */
-
-/** system status messages (broadcast for subscribers)
- * event data type = snd_seq_addr
- */
-#define SNDRV_SEQ_EVENT_CLIENT_START 60 /* new client has connected */
-#define SNDRV_SEQ_EVENT_CLIENT_EXIT 61 /* client has left the system */
-#define SNDRV_SEQ_EVENT_CLIENT_CHANGE 62 /* client status/info has changed */
-#define SNDRV_SEQ_EVENT_PORT_START 63 /* new port was created */
-#define SNDRV_SEQ_EVENT_PORT_EXIT 64 /* port was deleted from system */
-#define SNDRV_SEQ_EVENT_PORT_CHANGE 65 /* port status/info has changed */
-
-/** port connection changes
- * event data type = snd_seq_connect
- */
-#define SNDRV_SEQ_EVENT_PORT_SUBSCRIBED 66 /* ports connected */
-#define SNDRV_SEQ_EVENT_PORT_UNSUBSCRIBED 67 /* ports disconnected */
-
-/* 70-89: synthesizer events - obsoleted */
-
-/** user-defined events with fixed length
- * event data type = any
- */
-#define SNDRV_SEQ_EVENT_USR0 90
-#define SNDRV_SEQ_EVENT_USR1 91
-#define SNDRV_SEQ_EVENT_USR2 92
-#define SNDRV_SEQ_EVENT_USR3 93
-#define SNDRV_SEQ_EVENT_USR4 94
-#define SNDRV_SEQ_EVENT_USR5 95
-#define SNDRV_SEQ_EVENT_USR6 96
-#define SNDRV_SEQ_EVENT_USR7 97
-#define SNDRV_SEQ_EVENT_USR8 98
-#define SNDRV_SEQ_EVENT_USR9 99
-
-/* 100-118: instrument layer - obsoleted */
-/* 119-129: reserved */
-
-/* 130-139: variable length events
- * event data type = snd_seq_ev_ext
- * (SNDRV_SEQ_EVENT_LENGTH_VARIABLE must be set)
- */
-#define SNDRV_SEQ_EVENT_SYSEX 130 /* system exclusive data (variable length) */
-#define SNDRV_SEQ_EVENT_BOUNCE 131 /* error event */
-/* 132-134: reserved */
-#define SNDRV_SEQ_EVENT_USR_VAR0 135
-#define SNDRV_SEQ_EVENT_USR_VAR1 136
-#define SNDRV_SEQ_EVENT_USR_VAR2 137
-#define SNDRV_SEQ_EVENT_USR_VAR3 138
-#define SNDRV_SEQ_EVENT_USR_VAR4 139
-
-/* 150-151: kernel events with quote - DO NOT use in user clients */
-#define SNDRV_SEQ_EVENT_KERNEL_ERROR 150
-#define SNDRV_SEQ_EVENT_KERNEL_QUOTE 151 /* obsolete */
-
-/* 152-191: reserved */
-
-/* 192-254: hardware specific events */
-
-/* 255: special event */
-#define SNDRV_SEQ_EVENT_NONE 255
-
-
-typedef unsigned char snd_seq_event_type_t;
-
-/** event address */
-struct snd_seq_addr {
- unsigned char client; /**< Client number: 0..255, 255 = broadcast to all clients */
- unsigned char port; /**< Port within client: 0..255, 255 = broadcast to all ports */
-};
-
-/** port connection */
-struct snd_seq_connect {
- struct snd_seq_addr sender;
- struct snd_seq_addr dest;
-};
-
-
-#define SNDRV_SEQ_ADDRESS_UNKNOWN 253 /* unknown source */
-#define SNDRV_SEQ_ADDRESS_SUBSCRIBERS 254 /* send event to all subscribed ports */
-#define SNDRV_SEQ_ADDRESS_BROADCAST 255 /* send event to all queues/clients/ports/channels */
-#define SNDRV_SEQ_QUEUE_DIRECT 253 /* direct dispatch */
-
- /* event mode flag - NOTE: only 8 bits available! */
-#define SNDRV_SEQ_TIME_STAMP_TICK (0<<0) /* timestamp in clock ticks */
-#define SNDRV_SEQ_TIME_STAMP_REAL (1<<0) /* timestamp in real time */
-#define SNDRV_SEQ_TIME_STAMP_MASK (1<<0)
-
-#define SNDRV_SEQ_TIME_MODE_ABS (0<<1) /* absolute timestamp */
-#define SNDRV_SEQ_TIME_MODE_REL (1<<1) /* relative to current time */
-#define SNDRV_SEQ_TIME_MODE_MASK (1<<1)
-
-#define SNDRV_SEQ_EVENT_LENGTH_FIXED (0<<2) /* fixed event size */
-#define SNDRV_SEQ_EVENT_LENGTH_VARIABLE (1<<2) /* variable event size */
-#define SNDRV_SEQ_EVENT_LENGTH_VARUSR (2<<2) /* variable event size - user memory space */
-#define SNDRV_SEQ_EVENT_LENGTH_MASK (3<<2)
-
-#define SNDRV_SEQ_PRIORITY_NORMAL (0<<4) /* normal priority */
-#define SNDRV_SEQ_PRIORITY_HIGH (1<<4) /* event should be processed before others */
-#define SNDRV_SEQ_PRIORITY_MASK (1<<4)
-
-
- /* note event */
-struct snd_seq_ev_note {
- unsigned char channel;
- unsigned char note;
- unsigned char velocity;
- unsigned char off_velocity; /* only for SNDRV_SEQ_EVENT_NOTE */
- unsigned int duration; /* only for SNDRV_SEQ_EVENT_NOTE */
-};
-
- /* controller event */
-struct snd_seq_ev_ctrl {
- unsigned char channel;
- unsigned char unused1, unused2, unused3; /* pad */
- unsigned int param;
- signed int value;
-};
-
- /* generic set of bytes (12x8 bit) */
-struct snd_seq_ev_raw8 {
- unsigned char d[12]; /* 8 bit value */
-};
-
- /* generic set of integers (3x32 bit) */
-struct snd_seq_ev_raw32 {
- unsigned int d[3]; /* 32 bit value */
-};
-
- /* external stored data */
-struct snd_seq_ev_ext {
- unsigned int len; /* length of data */
- void *ptr; /* pointer to data (note: maybe 64-bit) */
-} __attribute__((packed));
-
-struct snd_seq_result {
- int event; /* processed event type */
- int result;
-};
-
-
-struct snd_seq_real_time {
- unsigned int tv_sec; /* seconds */
- unsigned int tv_nsec; /* nanoseconds */
-};
-
-typedef unsigned int snd_seq_tick_time_t; /* midi ticks */
-
-union snd_seq_timestamp {
- snd_seq_tick_time_t tick;
- struct snd_seq_real_time time;
-};
-
-struct snd_seq_queue_skew {
- unsigned int value;
- unsigned int base;
-};
-
- /* queue timer control */
-struct snd_seq_ev_queue_control {
- unsigned char queue; /* affected queue */
- unsigned char pad[3]; /* reserved */
- union {
- signed int value; /* affected value (e.g. tempo) */
- union snd_seq_timestamp time; /* time */
- unsigned int position; /* sync position */
- struct snd_seq_queue_skew skew;
- unsigned int d32[2];
- unsigned char d8[8];
- } param;
-};
-
- /* quoted event - inside the kernel only */
-struct snd_seq_ev_quote {
- struct snd_seq_addr origin; /* original sender */
- unsigned short value; /* optional data */
- struct snd_seq_event *event; /* quoted event */
-} __attribute__((packed));
-
-
- /* sequencer event */
-struct snd_seq_event {
- snd_seq_event_type_t type; /* event type */
- unsigned char flags; /* event flags */
- char tag;
-
- unsigned char queue; /* schedule queue */
- union snd_seq_timestamp time; /* schedule time */
-
-
- struct snd_seq_addr source; /* source address */
- struct snd_seq_addr dest; /* destination address */
-
- union { /* event data... */
- struct snd_seq_ev_note note;
- struct snd_seq_ev_ctrl control;
- struct snd_seq_ev_raw8 raw8;
- struct snd_seq_ev_raw32 raw32;
- struct snd_seq_ev_ext ext;
- struct snd_seq_ev_queue_control queue;
- union snd_seq_timestamp time;
- struct snd_seq_addr addr;
- struct snd_seq_connect connect;
- struct snd_seq_result result;
- struct snd_seq_ev_quote quote;
- } data;
-};
-
-
-/*
- * bounce event - stored as variable size data
- */
-struct snd_seq_event_bounce {
- int err;
- struct snd_seq_event event;
- /* external data follows here. */
-};
-
-
- /* system information */
-struct snd_seq_system_info {
- int queues; /* maximum queues count */
- int clients; /* maximum clients count */
- int ports; /* maximum ports per client */
- int channels; /* maximum channels per port */
- int cur_clients; /* current clients */
- int cur_queues; /* current queues */
- char reserved[24];
-};
-
-
- /* system running information */
-struct snd_seq_running_info {
- unsigned char client; /* client id */
- unsigned char big_endian; /* 1 = big-endian */
- unsigned char cpu_mode; /* 4 = 32bit, 8 = 64bit */
- unsigned char pad; /* reserved */
- unsigned char reserved[12];
-};
-
-
- /* known client numbers */
-#define SNDRV_SEQ_CLIENT_SYSTEM 0
- /* internal client numbers */
-#define SNDRV_SEQ_CLIENT_DUMMY 14 /* midi through */
-#define SNDRV_SEQ_CLIENT_OSS 15 /* oss sequencer emulator */
-
-
- /* client types */
-typedef int __bitwise snd_seq_client_type_t;
-#define NO_CLIENT ((snd_seq_client_type_t) 0)
-#define USER_CLIENT ((snd_seq_client_type_t) 1)
-#define KERNEL_CLIENT ((snd_seq_client_type_t) 2)
-
- /* event filter flags */
-#define SNDRV_SEQ_FILTER_BROADCAST (1<<0) /* accept broadcast messages */
-#define SNDRV_SEQ_FILTER_MULTICAST (1<<1) /* accept multicast messages */
-#define SNDRV_SEQ_FILTER_BOUNCE (1<<2) /* accept bounce event in error */
-#define SNDRV_SEQ_FILTER_USE_EVENT (1<<31) /* use event filter */
-
-struct snd_seq_client_info {
- int client; /* client number to inquire */
- snd_seq_client_type_t type; /* client type */
- char name[64]; /* client name */
- unsigned int filter; /* filter flags */
- unsigned char multicast_filter[8]; /* multicast filter bitmap */
- unsigned char event_filter[32]; /* event filter bitmap */
- int num_ports; /* RO: number of ports */
- int event_lost; /* number of lost events */
- int card; /* RO: card number[kernel] */
- int pid; /* RO: pid[user] */
- char reserved[56]; /* for future use */
-};
-
-
-/* client pool size */
-struct snd_seq_client_pool {
- int client; /* client number to inquire */
- int output_pool; /* outgoing (write) pool size */
- int input_pool; /* incoming (read) pool size */
- int output_room; /* minimum free pool size for select/blocking mode */
- int output_free; /* unused size */
- int input_free; /* unused size */
- char reserved[64];
-};
-
-
-/* Remove events by specified criteria */
-
-#define SNDRV_SEQ_REMOVE_INPUT (1<<0) /* Flush input queues */
-#define SNDRV_SEQ_REMOVE_OUTPUT (1<<1) /* Flush output queues */
-#define SNDRV_SEQ_REMOVE_DEST (1<<2) /* Restrict by destination q:client:port */
-#define SNDRV_SEQ_REMOVE_DEST_CHANNEL (1<<3) /* Restrict by channel */
-#define SNDRV_SEQ_REMOVE_TIME_BEFORE (1<<4) /* Restrict to before time */
-#define SNDRV_SEQ_REMOVE_TIME_AFTER (1<<5) /* Restrict to time or after */
-#define SNDRV_SEQ_REMOVE_TIME_TICK (1<<6) /* Time is in ticks */
-#define SNDRV_SEQ_REMOVE_EVENT_TYPE (1<<7) /* Restrict to event type */
-#define SNDRV_SEQ_REMOVE_IGNORE_OFF (1<<8) /* Do not flush off events */
-#define SNDRV_SEQ_REMOVE_TAG_MATCH (1<<9) /* Restrict to events with given tag */
-
-struct snd_seq_remove_events {
- unsigned int remove_mode; /* Flags that determine what gets removed */
-
- union snd_seq_timestamp time;
-
- unsigned char queue; /* Queue for REMOVE_DEST */
- struct snd_seq_addr dest; /* Address for REMOVE_DEST */
- unsigned char channel; /* Channel for REMOVE_DEST */
-
- int type; /* For REMOVE_EVENT_TYPE */
- char tag; /* Tag for REMOVE_TAG */
-
- int reserved[10]; /* To allow for future binary compatibility */
-
-};
-
-
- /* known port numbers */
-#define SNDRV_SEQ_PORT_SYSTEM_TIMER 0
-#define SNDRV_SEQ_PORT_SYSTEM_ANNOUNCE 1
-
- /* port capabilities (32 bits) */
-#define SNDRV_SEQ_PORT_CAP_READ (1<<0) /* readable from this port */
-#define SNDRV_SEQ_PORT_CAP_WRITE (1<<1) /* writable to this port */
-
-#define SNDRV_SEQ_PORT_CAP_SYNC_READ (1<<2)
-#define SNDRV_SEQ_PORT_CAP_SYNC_WRITE (1<<3)
-
-#define SNDRV_SEQ_PORT_CAP_DUPLEX (1<<4)
-
-#define SNDRV_SEQ_PORT_CAP_SUBS_READ (1<<5) /* allow read subscription */
-#define SNDRV_SEQ_PORT_CAP_SUBS_WRITE (1<<6) /* allow write subscription */
-#define SNDRV_SEQ_PORT_CAP_NO_EXPORT (1<<7) /* routing not allowed */
-
- /* port type */
-#define SNDRV_SEQ_PORT_TYPE_SPECIFIC (1<<0) /* hardware specific */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_GENERIC (1<<1) /* generic MIDI device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_GM (1<<2) /* General MIDI compatible device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_GS (1<<3) /* GS compatible device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_XG (1<<4) /* XG compatible device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_MT32 (1<<5) /* MT-32 compatible device */
-#define SNDRV_SEQ_PORT_TYPE_MIDI_GM2 (1<<6) /* General MIDI 2 compatible device */
-
-/* other standards...*/
-#define SNDRV_SEQ_PORT_TYPE_SYNTH (1<<10) /* Synth device (no MIDI compatible - direct wavetable) */
-#define SNDRV_SEQ_PORT_TYPE_DIRECT_SAMPLE (1<<11) /* Sampling device (support sample download) */
-#define SNDRV_SEQ_PORT_TYPE_SAMPLE (1<<12) /* Sampling device (sample can be downloaded at any time) */
-/*...*/
-#define SNDRV_SEQ_PORT_TYPE_HARDWARE (1<<16) /* driver for a hardware device */
-#define SNDRV_SEQ_PORT_TYPE_SOFTWARE (1<<17) /* implemented in software */
-#define SNDRV_SEQ_PORT_TYPE_SYNTHESIZER (1<<18) /* generates sound */
-#define SNDRV_SEQ_PORT_TYPE_PORT (1<<19) /* connects to other device(s) */
-#define SNDRV_SEQ_PORT_TYPE_APPLICATION (1<<20) /* application (sequencer/editor) */
-
-/* misc. conditioning flags */
-#define SNDRV_SEQ_PORT_FLG_GIVEN_PORT (1<<0)
-#define SNDRV_SEQ_PORT_FLG_TIMESTAMP (1<<1)
-#define SNDRV_SEQ_PORT_FLG_TIME_REAL (1<<2)
-
-struct snd_seq_port_info {
- struct snd_seq_addr addr; /* client/port numbers */
- char name[64]; /* port name */
-
- unsigned int capability; /* port capability bits */
- unsigned int type; /* port type bits */
- int midi_channels; /* channels per MIDI port */
- int midi_voices; /* voices per MIDI port */
- int synth_voices; /* voices per SYNTH port */
-
- int read_use; /* R/O: subscribers for output (from this port) */
- int write_use; /* R/O: subscribers for input (to this port) */
-
- void *kernel; /* reserved for kernel use (must be NULL) */
- unsigned int flags; /* misc. conditioning */
- unsigned char time_queue; /* queue # for timestamping */
- char reserved[59]; /* for future use */
-};
-
-
-/* queue flags */
-#define SNDRV_SEQ_QUEUE_FLG_SYNC (1<<0) /* sync enabled */
-
-/* queue information */
-struct snd_seq_queue_info {
- int queue; /* queue id */
-
- /*
- * security settings, only owner of this queue can start/stop timer
- * etc. if the queue is locked for other clients
- */
- int owner; /* client id for owner of the queue */
- unsigned locked:1; /* timing queue locked for other queues */
- char name[64]; /* name of this queue */
- unsigned int flags; /* flags */
- char reserved[60]; /* for future use */
-
-};
-
-/* queue info/status */
-struct snd_seq_queue_status {
- int queue; /* queue id */
- int events; /* read-only - queue size */
- snd_seq_tick_time_t tick; /* current tick */
- struct snd_seq_real_time time; /* current time */
- int running; /* running state of queue */
- int flags; /* various flags */
- char reserved[64]; /* for the future */
-};
-
-
-/* queue tempo */
-struct snd_seq_queue_tempo {
- int queue; /* sequencer queue */
- unsigned int tempo; /* current tempo, us/tick */
- int ppq; /* time resolution, ticks/quarter */
- unsigned int skew_value; /* queue skew */
- unsigned int skew_base; /* queue skew base */
- char reserved[24]; /* for the future */
-};
-
-
-/* sequencer timer sources */
-#define SNDRV_SEQ_TIMER_ALSA 0 /* ALSA timer */
-#define SNDRV_SEQ_TIMER_MIDI_CLOCK 1 /* Midi Clock (CLOCK event) */
-#define SNDRV_SEQ_TIMER_MIDI_TICK 2 /* Midi Timer Tick (TICK event) */
-
-/* queue timer info */
-struct snd_seq_queue_timer {
- int queue; /* sequencer queue */
- int type; /* source timer type */
- union {
- struct {
- struct snd_timer_id id; /* ALSA's timer ID */
- unsigned int resolution; /* resolution in Hz */
- } alsa;
- } u;
- char reserved[64]; /* for the future use */
-};
-
-
-struct snd_seq_queue_client {
- int queue; /* sequencer queue */
- int client; /* sequencer client */
- int used; /* queue is used with this client
- (must be set for accepting events) */
- /* per client watermarks */
- char reserved[64]; /* for future use */
-};
-
-
-#define SNDRV_SEQ_PORT_SUBS_EXCLUSIVE (1<<0) /* exclusive connection */
-#define SNDRV_SEQ_PORT_SUBS_TIMESTAMP (1<<1)
-#define SNDRV_SEQ_PORT_SUBS_TIME_REAL (1<<2)
-
-struct snd_seq_port_subscribe {
- struct snd_seq_addr sender; /* sender address */
- struct snd_seq_addr dest; /* destination address */
- unsigned int voices; /* number of voices to be allocated (0 = don't care) */
- unsigned int flags; /* modes */
- unsigned char queue; /* input time-stamp queue (optional) */
- unsigned char pad[3]; /* reserved */
- char reserved[64];
-};
-
-/* type of query subscription */
-#define SNDRV_SEQ_QUERY_SUBS_READ 0
-#define SNDRV_SEQ_QUERY_SUBS_WRITE 1
-
-struct snd_seq_query_subs {
- struct snd_seq_addr root; /* client/port id to be searched */
- int type; /* READ or WRITE */
- int index; /* 0..N-1 */
- int num_subs; /* R/O: number of subscriptions on this port */
- struct snd_seq_addr addr; /* R/O: result */
- unsigned char queue; /* R/O: result */
- unsigned int flags; /* R/O: result */
- char reserved[64]; /* for future use */
-};
-
-
-/*
- * IOCTL commands
- */
-
-#define SNDRV_SEQ_IOCTL_PVERSION _IOR ('S', 0x00, int)
-#define SNDRV_SEQ_IOCTL_CLIENT_ID _IOR ('S', 0x01, int)
-#define SNDRV_SEQ_IOCTL_SYSTEM_INFO _IOWR('S', 0x02, struct snd_seq_system_info)
-#define SNDRV_SEQ_IOCTL_RUNNING_MODE _IOWR('S', 0x03, struct snd_seq_running_info)
-
-#define SNDRV_SEQ_IOCTL_GET_CLIENT_INFO _IOWR('S', 0x10, struct snd_seq_client_info)
-#define SNDRV_SEQ_IOCTL_SET_CLIENT_INFO _IOW ('S', 0x11, struct snd_seq_client_info)
-
-#define SNDRV_SEQ_IOCTL_CREATE_PORT _IOWR('S', 0x20, struct snd_seq_port_info)
-#define SNDRV_SEQ_IOCTL_DELETE_PORT _IOW ('S', 0x21, struct snd_seq_port_info)
-#define SNDRV_SEQ_IOCTL_GET_PORT_INFO _IOWR('S', 0x22, struct snd_seq_port_info)
-#define SNDRV_SEQ_IOCTL_SET_PORT_INFO _IOW ('S', 0x23, struct snd_seq_port_info)
-
-#define SNDRV_SEQ_IOCTL_SUBSCRIBE_PORT _IOW ('S', 0x30, struct snd_seq_port_subscribe)
-#define SNDRV_SEQ_IOCTL_UNSUBSCRIBE_PORT _IOW ('S', 0x31, struct snd_seq_port_subscribe)
-
-#define SNDRV_SEQ_IOCTL_CREATE_QUEUE _IOWR('S', 0x32, struct snd_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_DELETE_QUEUE _IOW ('S', 0x33, struct snd_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_INFO _IOWR('S', 0x34, struct snd_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_INFO _IOWR('S', 0x35, struct snd_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_GET_NAMED_QUEUE _IOWR('S', 0x36, struct snd_seq_queue_info)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_STATUS _IOWR('S', 0x40, struct snd_seq_queue_status)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_TEMPO _IOWR('S', 0x41, struct snd_seq_queue_tempo)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_TEMPO _IOW ('S', 0x42, struct snd_seq_queue_tempo)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_TIMER _IOWR('S', 0x45, struct snd_seq_queue_timer)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_TIMER _IOW ('S', 0x46, struct snd_seq_queue_timer)
-#define SNDRV_SEQ_IOCTL_GET_QUEUE_CLIENT _IOWR('S', 0x49, struct snd_seq_queue_client)
-#define SNDRV_SEQ_IOCTL_SET_QUEUE_CLIENT _IOW ('S', 0x4a, struct snd_seq_queue_client)
-#define SNDRV_SEQ_IOCTL_GET_CLIENT_POOL _IOWR('S', 0x4b, struct snd_seq_client_pool)
-#define SNDRV_SEQ_IOCTL_SET_CLIENT_POOL _IOW ('S', 0x4c, struct snd_seq_client_pool)
-#define SNDRV_SEQ_IOCTL_REMOVE_EVENTS _IOW ('S', 0x4e, struct snd_seq_remove_events)
-#define SNDRV_SEQ_IOCTL_QUERY_SUBS _IOWR('S', 0x4f, struct snd_seq_query_subs)
-#define SNDRV_SEQ_IOCTL_GET_SUBSCRIPTION _IOWR('S', 0x50, struct snd_seq_port_subscribe)
-#define SNDRV_SEQ_IOCTL_QUERY_NEXT_CLIENT _IOWR('S', 0x51, struct snd_seq_client_info)
-#define SNDRV_SEQ_IOCTL_QUERY_NEXT_PORT _IOWR('S', 0x52, struct snd_seq_port_info)
-
-#endif /* __SOUND_ASEQUENCER_H */
diff --git a/linux-headers/include/sound/asound.h b/linux-headers/include/sound/asound.h
deleted file mode 100644
index 9980258..0000000
--- a/linux-headers/include/sound/asound.h
+++ /dev/null
@@ -1,1019 +0,0 @@
-/*
- * Advanced Linux Sound Architecture - ALSA - Driver
- * Copyright (c) 1994-2003 by Jaroslav Kysela <perex@perex.cz>,
- * Abramo Bagnara <abramo@alsa-project.org>
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#ifndef __SOUND_ASOUND_H
-#define __SOUND_ASOUND_H
-
-#if defined(__KERNEL__) || defined(__linux__)
-#include <linux/types.h>
-#else
-#include <sys/ioctl.h>
-#endif
-
-#include <stdlib.h>
-
-/*
- * protocol version
- */
-
-#define SNDRV_PROTOCOL_VERSION(major, minor, subminor) (((major)<<16)|((minor)<<8)|(subminor))
-#define SNDRV_PROTOCOL_MAJOR(version) (((version)>>16)&0xffff)
-#define SNDRV_PROTOCOL_MINOR(version) (((version)>>8)&0xff)
-#define SNDRV_PROTOCOL_MICRO(version) ((version)&0xff)
-#define SNDRV_PROTOCOL_INCOMPATIBLE(kversion, uversion) \
- (SNDRV_PROTOCOL_MAJOR(kversion) != SNDRV_PROTOCOL_MAJOR(uversion) || \
- (SNDRV_PROTOCOL_MAJOR(kversion) == SNDRV_PROTOCOL_MAJOR(uversion) && \
- SNDRV_PROTOCOL_MINOR(kversion) != SNDRV_PROTOCOL_MINOR(uversion)))
-
-/****************************************************************************
- * *
- * Digital audio interface *
- * *
- ****************************************************************************/
-
-struct snd_aes_iec958 {
- unsigned char status[24]; /* AES/IEC958 channel status bits */
- unsigned char subcode[147]; /* AES/IEC958 subcode bits */
- unsigned char pad; /* nothing */
- unsigned char dig_subframe[4]; /* AES/IEC958 subframe bits */
-};
-
-/****************************************************************************
- * *
- * CEA-861 Audio InfoFrame. Used in HDMI and DisplayPort *
- * *
- ****************************************************************************/
-
-struct snd_cea_861_aud_if {
- unsigned char db1_ct_cc; /* coding type and channel count */
- unsigned char db2_sf_ss; /* sample frequency and size */
- unsigned char db3; /* not used, all zeros */
- unsigned char db4_ca; /* channel allocation code */
- unsigned char db5_dminh_lsv; /* downmix inhibit & level-shit values */
-};
-
-/****************************************************************************
- * *
- * Section for driver hardware dependent interface - /dev/snd/hw? *
- * *
- ****************************************************************************/
-
-#define SNDRV_HWDEP_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 1)
-
-enum {
- SNDRV_HWDEP_IFACE_OPL2 = 0,
- SNDRV_HWDEP_IFACE_OPL3,
- SNDRV_HWDEP_IFACE_OPL4,
- SNDRV_HWDEP_IFACE_SB16CSP, /* Creative Signal Processor */
- SNDRV_HWDEP_IFACE_EMU10K1, /* FX8010 processor in EMU10K1 chip */
- SNDRV_HWDEP_IFACE_YSS225, /* Yamaha FX processor */
- SNDRV_HWDEP_IFACE_ICS2115, /* Wavetable synth */
- SNDRV_HWDEP_IFACE_SSCAPE, /* Ensoniq SoundScape ISA card (MC68EC000) */
- SNDRV_HWDEP_IFACE_VX, /* Digigram VX cards */
- SNDRV_HWDEP_IFACE_MIXART, /* Digigram miXart cards */
- SNDRV_HWDEP_IFACE_USX2Y, /* Tascam US122, US224 & US428 usb */
- SNDRV_HWDEP_IFACE_EMUX_WAVETABLE, /* EmuX wavetable */
- SNDRV_HWDEP_IFACE_BLUETOOTH, /* Bluetooth audio */
- SNDRV_HWDEP_IFACE_USX2Y_PCM, /* Tascam US122, US224 & US428 rawusb pcm */
- SNDRV_HWDEP_IFACE_PCXHR, /* Digigram PCXHR */
- SNDRV_HWDEP_IFACE_SB_RC, /* SB Extigy/Audigy2NX remote control */
- SNDRV_HWDEP_IFACE_HDA, /* HD-audio */
- SNDRV_HWDEP_IFACE_USB_STREAM, /* direct access to usb stream */
- SNDRV_HWDEP_IFACE_FW_DICE, /* TC DICE FireWire device */
- SNDRV_HWDEP_IFACE_FW_FIREWORKS, /* Echo Audio Fireworks based device */
- SNDRV_HWDEP_IFACE_FW_BEBOB, /* BridgeCo BeBoB based device */
- SNDRV_HWDEP_IFACE_FW_OXFW, /* Oxford OXFW970/971 based device */
- SNDRV_HWDEP_IFACE_FW_DIGI00X, /* Digidesign Digi 002/003 family */
- SNDRV_HWDEP_IFACE_FW_TASCAM, /* TASCAM FireWire series */
-
- /* Don't forget to change the following: */
- SNDRV_HWDEP_IFACE_LAST = SNDRV_HWDEP_IFACE_FW_TASCAM
-};
-
-struct snd_hwdep_info {
- unsigned int device; /* WR: device number */
- int card; /* R: card number */
- unsigned char id[64]; /* ID (user selectable) */
- unsigned char name[80]; /* hwdep name */
- int iface; /* hwdep interface */
- unsigned char reserved[64]; /* reserved for future */
-};
-
-/* generic DSP loader */
-struct snd_hwdep_dsp_status {
- unsigned int version; /* R: driver-specific version */
- unsigned char id[32]; /* R: driver-specific ID string */
- unsigned int num_dsps; /* R: number of DSP images to transfer */
- unsigned int dsp_loaded; /* R: bit flags indicating the loaded DSPs */
- unsigned int chip_ready; /* R: 1 = initialization finished */
- unsigned char reserved[16]; /* reserved for future use */
-};
-
-struct snd_hwdep_dsp_image {
- unsigned int index; /* W: DSP index */
- unsigned char name[64]; /* W: ID (e.g. file name) */
- unsigned char *image; /* W: binary image */
- size_t length; /* W: size of image in bytes */
- unsigned long driver_data; /* W: driver-specific data */
-};
-
-#define SNDRV_HWDEP_IOCTL_PVERSION _IOR ('H', 0x00, int)
-#define SNDRV_HWDEP_IOCTL_INFO _IOR ('H', 0x01, struct snd_hwdep_info)
-#define SNDRV_HWDEP_IOCTL_DSP_STATUS _IOR('H', 0x02, struct snd_hwdep_dsp_status)
-#define SNDRV_HWDEP_IOCTL_DSP_LOAD _IOW('H', 0x03, struct snd_hwdep_dsp_image)
-
-/*****************************************************************************
- * *
- * Digital Audio (PCM) interface - /dev/snd/pcm?? *
- * *
- *****************************************************************************/
-
-#define SNDRV_PCM_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 13)
-
-typedef unsigned long snd_pcm_uframes_t;
-typedef signed long snd_pcm_sframes_t;
-
-enum {
- SNDRV_PCM_CLASS_GENERIC = 0, /* standard mono or stereo device */
- SNDRV_PCM_CLASS_MULTI, /* multichannel device */
- SNDRV_PCM_CLASS_MODEM, /* software modem class */
- SNDRV_PCM_CLASS_DIGITIZER, /* digitizer class */
- /* Don't forget to change the following: */
- SNDRV_PCM_CLASS_LAST = SNDRV_PCM_CLASS_DIGITIZER,
-};
-
-enum {
- SNDRV_PCM_SUBCLASS_GENERIC_MIX = 0, /* mono or stereo subdevices are mixed together */
- SNDRV_PCM_SUBCLASS_MULTI_MIX, /* multichannel subdevices are mixed together */
- /* Don't forget to change the following: */
- SNDRV_PCM_SUBCLASS_LAST = SNDRV_PCM_SUBCLASS_MULTI_MIX,
-};
-
-enum {
- SNDRV_PCM_STREAM_PLAYBACK = 0,
- SNDRV_PCM_STREAM_CAPTURE,
- SNDRV_PCM_STREAM_LAST = SNDRV_PCM_STREAM_CAPTURE,
-};
-
-typedef int __bitwise snd_pcm_access_t;
-#define SNDRV_PCM_ACCESS_MMAP_INTERLEAVED ((snd_pcm_access_t) 0) /* interleaved mmap */
-#define SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED ((snd_pcm_access_t) 1) /* noninterleaved mmap */
-#define SNDRV_PCM_ACCESS_MMAP_COMPLEX ((snd_pcm_access_t) 2) /* complex mmap */
-#define SNDRV_PCM_ACCESS_RW_INTERLEAVED ((snd_pcm_access_t) 3) /* readi/writei */
-#define SNDRV_PCM_ACCESS_RW_NONINTERLEAVED ((snd_pcm_access_t) 4) /* readn/writen */
-#define SNDRV_PCM_ACCESS_LAST SNDRV_PCM_ACCESS_RW_NONINTERLEAVED
-
-typedef int __bitwise snd_pcm_format_t;
-#define SNDRV_PCM_FORMAT_S8 ((snd_pcm_format_t) 0)
-#define SNDRV_PCM_FORMAT_U8 ((snd_pcm_format_t) 1)
-#define SNDRV_PCM_FORMAT_S16_LE ((snd_pcm_format_t) 2)
-#define SNDRV_PCM_FORMAT_S16_BE ((snd_pcm_format_t) 3)
-#define SNDRV_PCM_FORMAT_U16_LE ((snd_pcm_format_t) 4)
-#define SNDRV_PCM_FORMAT_U16_BE ((snd_pcm_format_t) 5)
-#define SNDRV_PCM_FORMAT_S24_LE ((snd_pcm_format_t) 6) /* low three bytes */
-#define SNDRV_PCM_FORMAT_S24_BE ((snd_pcm_format_t) 7) /* low three bytes */
-#define SNDRV_PCM_FORMAT_U24_LE ((snd_pcm_format_t) 8) /* low three bytes */
-#define SNDRV_PCM_FORMAT_U24_BE ((snd_pcm_format_t) 9) /* low three bytes */
-#define SNDRV_PCM_FORMAT_S32_LE ((snd_pcm_format_t) 10)
-#define SNDRV_PCM_FORMAT_S32_BE ((snd_pcm_format_t) 11)
-#define SNDRV_PCM_FORMAT_U32_LE ((snd_pcm_format_t) 12)
-#define SNDRV_PCM_FORMAT_U32_BE ((snd_pcm_format_t) 13)
-#define SNDRV_PCM_FORMAT_FLOAT_LE ((snd_pcm_format_t) 14) /* 4-byte float, IEEE-754 32-bit, range -1.0 to 1.0 */
-#define SNDRV_PCM_FORMAT_FLOAT_BE ((snd_pcm_format_t) 15) /* 4-byte float, IEEE-754 32-bit, range -1.0 to 1.0 */
-#define SNDRV_PCM_FORMAT_FLOAT64_LE ((snd_pcm_format_t) 16) /* 8-byte float, IEEE-754 64-bit, range -1.0 to 1.0 */
-#define SNDRV_PCM_FORMAT_FLOAT64_BE ((snd_pcm_format_t) 17) /* 8-byte float, IEEE-754 64-bit, range -1.0 to 1.0 */
-#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE ((snd_pcm_format_t) 18) /* IEC-958 subframe, Little Endian */
-#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE ((snd_pcm_format_t) 19) /* IEC-958 subframe, Big Endian */
-#define SNDRV_PCM_FORMAT_MU_LAW ((snd_pcm_format_t) 20)
-#define SNDRV_PCM_FORMAT_A_LAW ((snd_pcm_format_t) 21)
-#define SNDRV_PCM_FORMAT_IMA_ADPCM ((snd_pcm_format_t) 22)
-#define SNDRV_PCM_FORMAT_MPEG ((snd_pcm_format_t) 23)
-#define SNDRV_PCM_FORMAT_GSM ((snd_pcm_format_t) 24)
-#define SNDRV_PCM_FORMAT_SPECIAL ((snd_pcm_format_t) 31)
-#define SNDRV_PCM_FORMAT_S24_3LE ((snd_pcm_format_t) 32) /* in three bytes */
-#define SNDRV_PCM_FORMAT_S24_3BE ((snd_pcm_format_t) 33) /* in three bytes */
-#define SNDRV_PCM_FORMAT_U24_3LE ((snd_pcm_format_t) 34) /* in three bytes */
-#define SNDRV_PCM_FORMAT_U24_3BE ((snd_pcm_format_t) 35) /* in three bytes */
-#define SNDRV_PCM_FORMAT_S20_3LE ((snd_pcm_format_t) 36) /* in three bytes */
-#define SNDRV_PCM_FORMAT_S20_3BE ((snd_pcm_format_t) 37) /* in three bytes */
-#define SNDRV_PCM_FORMAT_U20_3LE ((snd_pcm_format_t) 38) /* in three bytes */
-#define SNDRV_PCM_FORMAT_U20_3BE ((snd_pcm_format_t) 39) /* in three bytes */
-#define SNDRV_PCM_FORMAT_S18_3LE ((snd_pcm_format_t) 40) /* in three bytes */
-#define SNDRV_PCM_FORMAT_S18_3BE ((snd_pcm_format_t) 41) /* in three bytes */
-#define SNDRV_PCM_FORMAT_U18_3LE ((snd_pcm_format_t) 42) /* in three bytes */
-#define SNDRV_PCM_FORMAT_U18_3BE ((snd_pcm_format_t) 43) /* in three bytes */
-#define SNDRV_PCM_FORMAT_G723_24 ((snd_pcm_format_t) 44) /* 8 samples in 3 bytes */
-#define SNDRV_PCM_FORMAT_G723_24_1B ((snd_pcm_format_t) 45) /* 1 sample in 1 byte */
-#define SNDRV_PCM_FORMAT_G723_40 ((snd_pcm_format_t) 46) /* 8 Samples in 5 bytes */
-#define SNDRV_PCM_FORMAT_G723_40_1B ((snd_pcm_format_t) 47) /* 1 sample in 1 byte */
-#define SNDRV_PCM_FORMAT_DSD_U8 ((snd_pcm_format_t) 48) /* DSD, 1-byte samples DSD (x8) */
-#define SNDRV_PCM_FORMAT_DSD_U16_LE ((snd_pcm_format_t) 49) /* DSD, 2-byte samples DSD (x16), little endian */
-#define SNDRV_PCM_FORMAT_DSD_U32_LE ((snd_pcm_format_t) 50) /* DSD, 4-byte samples DSD (x32), little endian */
-#define SNDRV_PCM_FORMAT_DSD_U16_BE ((snd_pcm_format_t) 51) /* DSD, 2-byte samples DSD (x16), big endian */
-#define SNDRV_PCM_FORMAT_DSD_U32_BE ((snd_pcm_format_t) 52) /* DSD, 4-byte samples DSD (x32), big endian */
-#define SNDRV_PCM_FORMAT_LAST SNDRV_PCM_FORMAT_DSD_U32_BE
-
-#ifdef SNDRV_LITTLE_ENDIAN
-#define SNDRV_PCM_FORMAT_S16 SNDRV_PCM_FORMAT_S16_LE
-#define SNDRV_PCM_FORMAT_U16 SNDRV_PCM_FORMAT_U16_LE
-#define SNDRV_PCM_FORMAT_S24 SNDRV_PCM_FORMAT_S24_LE
-#define SNDRV_PCM_FORMAT_U24 SNDRV_PCM_FORMAT_U24_LE
-#define SNDRV_PCM_FORMAT_S32 SNDRV_PCM_FORMAT_S32_LE
-#define SNDRV_PCM_FORMAT_U32 SNDRV_PCM_FORMAT_U32_LE
-#define SNDRV_PCM_FORMAT_FLOAT SNDRV_PCM_FORMAT_FLOAT_LE
-#define SNDRV_PCM_FORMAT_FLOAT64 SNDRV_PCM_FORMAT_FLOAT64_LE
-#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME SNDRV_PCM_FORMAT_IEC958_SUBFRAME_LE
-#endif
-#ifdef SNDRV_BIG_ENDIAN
-#define SNDRV_PCM_FORMAT_S16 SNDRV_PCM_FORMAT_S16_BE
-#define SNDRV_PCM_FORMAT_U16 SNDRV_PCM_FORMAT_U16_BE
-#define SNDRV_PCM_FORMAT_S24 SNDRV_PCM_FORMAT_S24_BE
-#define SNDRV_PCM_FORMAT_U24 SNDRV_PCM_FORMAT_U24_BE
-#define SNDRV_PCM_FORMAT_S32 SNDRV_PCM_FORMAT_S32_BE
-#define SNDRV_PCM_FORMAT_U32 SNDRV_PCM_FORMAT_U32_BE
-#define SNDRV_PCM_FORMAT_FLOAT SNDRV_PCM_FORMAT_FLOAT_BE
-#define SNDRV_PCM_FORMAT_FLOAT64 SNDRV_PCM_FORMAT_FLOAT64_BE
-#define SNDRV_PCM_FORMAT_IEC958_SUBFRAME SNDRV_PCM_FORMAT_IEC958_SUBFRAME_BE
-#endif
-
-typedef int __bitwise snd_pcm_subformat_t;
-#define SNDRV_PCM_SUBFORMAT_STD ((snd_pcm_subformat_t) 0)
-#define SNDRV_PCM_SUBFORMAT_LAST SNDRV_PCM_SUBFORMAT_STD
-
-#define SNDRV_PCM_INFO_MMAP 0x00000001 /* hardware supports mmap */
-#define SNDRV_PCM_INFO_MMAP_VALID 0x00000002 /* period data are valid during transfer */
-#define SNDRV_PCM_INFO_DOUBLE 0x00000004 /* Double buffering needed for PCM start/stop */
-#define SNDRV_PCM_INFO_BATCH 0x00000010 /* double buffering */
-#define SNDRV_PCM_INFO_INTERLEAVED 0x00000100 /* channels are interleaved */
-#define SNDRV_PCM_INFO_NONINTERLEAVED 0x00000200 /* channels are not interleaved */
-#define SNDRV_PCM_INFO_COMPLEX 0x00000400 /* complex frame organization (mmap only) */
-#define SNDRV_PCM_INFO_BLOCK_TRANSFER 0x00010000 /* hardware transfer block of samples */
-#define SNDRV_PCM_INFO_OVERRANGE 0x00020000 /* hardware supports ADC (capture) overrange detection */
-#define SNDRV_PCM_INFO_RESUME 0x00040000 /* hardware supports stream resume after suspend */
-#define SNDRV_PCM_INFO_PAUSE 0x00080000 /* pause ioctl is supported */
-#define SNDRV_PCM_INFO_HALF_DUPLEX 0x00100000 /* only half duplex */
-#define SNDRV_PCM_INFO_JOINT_DUPLEX 0x00200000 /* playback and capture stream are somewhat correlated */
-#define SNDRV_PCM_INFO_SYNC_START 0x00400000 /* pcm support some kind of sync go */
-#define SNDRV_PCM_INFO_NO_PERIOD_WAKEUP 0x00800000 /* period wakeup can be disabled */
-#define SNDRV_PCM_INFO_HAS_WALL_CLOCK 0x01000000 /* (Deprecated)has audio wall clock for audio/system time sync */
-#define SNDRV_PCM_INFO_HAS_LINK_ATIME 0x01000000 /* report hardware link audio time, reset on startup */
-#define SNDRV_PCM_INFO_HAS_LINK_ABSOLUTE_ATIME 0x02000000 /* report absolute hardware link audio time, not reset on startup */
-#define SNDRV_PCM_INFO_HAS_LINK_ESTIMATED_ATIME 0x04000000 /* report estimated link audio time */
-#define SNDRV_PCM_INFO_HAS_LINK_SYNCHRONIZED_ATIME 0x08000000 /* report synchronized audio/system time */
-
-#define SNDRV_PCM_INFO_DRAIN_TRIGGER 0x40000000 /* internal kernel flag - trigger in drain */
-#define SNDRV_PCM_INFO_FIFO_IN_FRAMES 0x80000000 /* internal kernel flag - FIFO size is in frames */
-
-
-
-typedef int __bitwise snd_pcm_state_t;
-#define SNDRV_PCM_STATE_OPEN ((snd_pcm_state_t) 0) /* stream is open */
-#define SNDRV_PCM_STATE_SETUP ((snd_pcm_state_t) 1) /* stream has a setup */
-#define SNDRV_PCM_STATE_PREPARED ((snd_pcm_state_t) 2) /* stream is ready to start */
-#define SNDRV_PCM_STATE_RUNNING ((snd_pcm_state_t) 3) /* stream is running */
-#define SNDRV_PCM_STATE_XRUN ((snd_pcm_state_t) 4) /* stream reached an xrun */
-#define SNDRV_PCM_STATE_DRAINING ((snd_pcm_state_t) 5) /* stream is draining */
-#define SNDRV_PCM_STATE_PAUSED ((snd_pcm_state_t) 6) /* stream is paused */
-#define SNDRV_PCM_STATE_SUSPENDED ((snd_pcm_state_t) 7) /* hardware is suspended */
-#define SNDRV_PCM_STATE_DISCONNECTED ((snd_pcm_state_t) 8) /* hardware is disconnected */
-#define SNDRV_PCM_STATE_LAST SNDRV_PCM_STATE_DISCONNECTED
-
-enum {
- SNDRV_PCM_MMAP_OFFSET_DATA = 0x00000000,
- SNDRV_PCM_MMAP_OFFSET_STATUS = 0x80000000,
- SNDRV_PCM_MMAP_OFFSET_CONTROL = 0x81000000,
-};
-
-union snd_pcm_sync_id {
- unsigned char id[16];
- unsigned short id16[8];
- unsigned int id32[4];
-};
-
-struct snd_pcm_info {
- unsigned int device; /* RO/WR (control): device number */
- unsigned int subdevice; /* RO/WR (control): subdevice number */
- int stream; /* RO/WR (control): stream direction */
- int card; /* R: card number */
- unsigned char id[64]; /* ID (user selectable) */
- unsigned char name[80]; /* name of this device */
- unsigned char subname[32]; /* subdevice name */
- int dev_class; /* SNDRV_PCM_CLASS_* */
- int dev_subclass; /* SNDRV_PCM_SUBCLASS_* */
- unsigned int subdevices_count;
- unsigned int subdevices_avail;
- union snd_pcm_sync_id sync; /* hardware synchronization ID */
- unsigned char reserved[64]; /* reserved for future... */
-};
-
-typedef int snd_pcm_hw_param_t;
-#define SNDRV_PCM_HW_PARAM_ACCESS 0 /* Access type */
-#define SNDRV_PCM_HW_PARAM_FORMAT 1 /* Format */
-#define SNDRV_PCM_HW_PARAM_SUBFORMAT 2 /* Subformat */
-#define SNDRV_PCM_HW_PARAM_FIRST_MASK SNDRV_PCM_HW_PARAM_ACCESS
-#define SNDRV_PCM_HW_PARAM_LAST_MASK SNDRV_PCM_HW_PARAM_SUBFORMAT
-
-#define SNDRV_PCM_HW_PARAM_SAMPLE_BITS 8 /* Bits per sample */
-#define SNDRV_PCM_HW_PARAM_FRAME_BITS 9 /* Bits per frame */
-#define SNDRV_PCM_HW_PARAM_CHANNELS 10 /* Channels */
-#define SNDRV_PCM_HW_PARAM_RATE 11 /* Approx rate */
-#define SNDRV_PCM_HW_PARAM_PERIOD_TIME 12 /* Approx distance between
- * interrupts in us
- */
-#define SNDRV_PCM_HW_PARAM_PERIOD_SIZE 13 /* Approx frames between
- * interrupts
- */
-#define SNDRV_PCM_HW_PARAM_PERIOD_BYTES 14 /* Approx bytes between
- * interrupts
- */
-#define SNDRV_PCM_HW_PARAM_PERIODS 15 /* Approx interrupts per
- * buffer
- */
-#define SNDRV_PCM_HW_PARAM_BUFFER_TIME 16 /* Approx duration of buffer
- * in us
- */
-#define SNDRV_PCM_HW_PARAM_BUFFER_SIZE 17 /* Size of buffer in frames */
-#define SNDRV_PCM_HW_PARAM_BUFFER_BYTES 18 /* Size of buffer in bytes */
-#define SNDRV_PCM_HW_PARAM_TICK_TIME 19 /* Approx tick duration in us */
-#define SNDRV_PCM_HW_PARAM_FIRST_INTERVAL SNDRV_PCM_HW_PARAM_SAMPLE_BITS
-#define SNDRV_PCM_HW_PARAM_LAST_INTERVAL SNDRV_PCM_HW_PARAM_TICK_TIME
-
-#define SNDRV_PCM_HW_PARAMS_NORESAMPLE (1<<0) /* avoid rate resampling */
-#define SNDRV_PCM_HW_PARAMS_EXPORT_BUFFER (1<<1) /* export buffer */
-#define SNDRV_PCM_HW_PARAMS_NO_PERIOD_WAKEUP (1<<2) /* disable period wakeups */
-
-struct snd_interval {
- unsigned int min, max;
- unsigned int openmin:1,
- openmax:1,
- integer:1,
- empty:1;
-};
-
-#define SNDRV_MASK_MAX 256
-
-struct snd_mask {
- __u32 bits[(SNDRV_MASK_MAX+31)/32];
-};
-
-struct snd_pcm_hw_params {
- unsigned int flags;
- struct snd_mask masks[SNDRV_PCM_HW_PARAM_LAST_MASK -
- SNDRV_PCM_HW_PARAM_FIRST_MASK + 1];
- struct snd_mask mres[5]; /* reserved masks */
- struct snd_interval intervals[SNDRV_PCM_HW_PARAM_LAST_INTERVAL -
- SNDRV_PCM_HW_PARAM_FIRST_INTERVAL + 1];
- struct snd_interval ires[9]; /* reserved intervals */
- unsigned int rmask; /* W: requested masks */
- unsigned int cmask; /* R: changed masks */
- unsigned int info; /* R: Info flags for returned setup */
- unsigned int msbits; /* R: used most significant bits */
- unsigned int rate_num; /* R: rate numerator */
- unsigned int rate_den; /* R: rate denominator */
- snd_pcm_uframes_t fifo_size; /* R: chip FIFO size in frames */
- unsigned char reserved[64]; /* reserved for future */
-};
-
-enum {
- SNDRV_PCM_TSTAMP_NONE = 0,
- SNDRV_PCM_TSTAMP_ENABLE,
- SNDRV_PCM_TSTAMP_LAST = SNDRV_PCM_TSTAMP_ENABLE,
-};
-
-struct snd_pcm_sw_params {
- int tstamp_mode; /* timestamp mode */
- unsigned int period_step;
- unsigned int sleep_min; /* min ticks to sleep */
- snd_pcm_uframes_t avail_min; /* min avail frames for wakeup */
- snd_pcm_uframes_t xfer_align; /* obsolete: xfer size need to be a multiple */
- snd_pcm_uframes_t start_threshold; /* min hw_avail frames for automatic start */
- snd_pcm_uframes_t stop_threshold; /* min avail frames for automatic stop */
- snd_pcm_uframes_t silence_threshold; /* min distance from noise for silence filling */
- snd_pcm_uframes_t silence_size; /* silence block size */
- snd_pcm_uframes_t boundary; /* pointers wrap point */
- unsigned int proto; /* protocol version */
- unsigned int tstamp_type; /* timestamp type (req. proto >= 2.0.12) */
- unsigned char reserved[56]; /* reserved for future */
-};
-
-struct snd_pcm_channel_info {
- unsigned int channel;
- __kernel_off_t offset; /* mmap offset */
- unsigned int first; /* offset to first sample in bits */
- unsigned int step; /* samples distance in bits */
-};
-
-enum {
- /*
- * first definition for backwards compatibility only,
- * maps to wallclock/link time for HDAudio playback and DEFAULT/DMA time for everything else
- */
- SNDRV_PCM_AUDIO_TSTAMP_TYPE_COMPAT = 0,
-
- /* timestamp definitions */
- SNDRV_PCM_AUDIO_TSTAMP_TYPE_DEFAULT = 1, /* DMA time, reported as per hw_ptr */
- SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK = 2, /* link time reported by sample or wallclock counter, reset on startup */
- SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ABSOLUTE = 3, /* link time reported by sample or wallclock counter, not reset on startup */
- SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_ESTIMATED = 4, /* link time estimated indirectly */
- SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED = 5, /* link time synchronized with system time */
- SNDRV_PCM_AUDIO_TSTAMP_TYPE_LAST = SNDRV_PCM_AUDIO_TSTAMP_TYPE_LINK_SYNCHRONIZED
-};
-
-struct snd_pcm_status {
- snd_pcm_state_t state; /* stream state */
- struct timespec trigger_tstamp; /* time when stream was started/stopped/paused */
- struct timespec tstamp; /* reference timestamp */
- snd_pcm_uframes_t appl_ptr; /* appl ptr */
- snd_pcm_uframes_t hw_ptr; /* hw ptr */
- snd_pcm_sframes_t delay; /* current delay in frames */
- snd_pcm_uframes_t avail; /* number of frames available */
- snd_pcm_uframes_t avail_max; /* max frames available on hw since last status */
- snd_pcm_uframes_t overrange; /* count of ADC (capture) overrange detections from last status */
- snd_pcm_state_t suspended_state; /* suspended stream state */
- __u32 audio_tstamp_data; /* needed for 64-bit alignment, used for configs/report to/from userspace */
- struct timespec audio_tstamp; /* sample counter, wall clock, PHC or on-demand sync'ed */
- struct timespec driver_tstamp; /* useful in case reference system tstamp is reported with delay */
- __u32 audio_tstamp_accuracy; /* in ns units, only valid if indicated in audio_tstamp_data */
- unsigned char reserved[52-2*sizeof(struct timespec)]; /* must be filled with zero */
-};
-
-struct snd_pcm_mmap_status {
- snd_pcm_state_t state; /* RO: state - SNDRV_PCM_STATE_XXXX */
- int pad1; /* Needed for 64 bit alignment */
- snd_pcm_uframes_t hw_ptr; /* RO: hw ptr (0...boundary-1) */
- struct timespec tstamp; /* Timestamp */
- snd_pcm_state_t suspended_state; /* RO: suspended stream state */
- struct timespec audio_tstamp; /* from sample counter or wall clock */
-};
-
-struct snd_pcm_mmap_control {
- snd_pcm_uframes_t appl_ptr; /* RW: appl ptr (0...boundary-1) */
- snd_pcm_uframes_t avail_min; /* RW: min available frames for wakeup */
-};
-
-#define SNDRV_PCM_SYNC_PTR_HWSYNC (1<<0) /* execute hwsync */
-#define SNDRV_PCM_SYNC_PTR_APPL (1<<1) /* get appl_ptr from driver (r/w op) */
-#define SNDRV_PCM_SYNC_PTR_AVAIL_MIN (1<<2) /* get avail_min from driver */
-
-struct snd_pcm_sync_ptr {
- unsigned int flags;
- union {
- struct snd_pcm_mmap_status status;
- unsigned char reserved[64];
- } s;
- union {
- struct snd_pcm_mmap_control control;
- unsigned char reserved[64];
- } c;
-};
-
-struct snd_xferi {
- snd_pcm_sframes_t result;
- void *buf;
- snd_pcm_uframes_t frames;
-};
-
-struct snd_xfern {
- snd_pcm_sframes_t result;
- void * *bufs;
- snd_pcm_uframes_t frames;
-};
-
-enum {
- SNDRV_PCM_TSTAMP_TYPE_GETTIMEOFDAY = 0, /* gettimeofday equivalent */
- SNDRV_PCM_TSTAMP_TYPE_MONOTONIC, /* posix_clock_monotonic equivalent */
- SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW, /* monotonic_raw (no NTP) */
- SNDRV_PCM_TSTAMP_TYPE_LAST = SNDRV_PCM_TSTAMP_TYPE_MONOTONIC_RAW,
-};
-
-/* channel positions */
-enum {
- SNDRV_CHMAP_UNKNOWN = 0,
- SNDRV_CHMAP_NA, /* N/A, silent */
- SNDRV_CHMAP_MONO, /* mono stream */
- /* this follows the alsa-lib mixer channel value + 3 */
- SNDRV_CHMAP_FL, /* front left */
- SNDRV_CHMAP_FR, /* front right */
- SNDRV_CHMAP_RL, /* rear left */
- SNDRV_CHMAP_RR, /* rear right */
- SNDRV_CHMAP_FC, /* front center */
- SNDRV_CHMAP_LFE, /* LFE */
- SNDRV_CHMAP_SL, /* side left */
- SNDRV_CHMAP_SR, /* side right */
- SNDRV_CHMAP_RC, /* rear center */
- /* new definitions */
- SNDRV_CHMAP_FLC, /* front left center */
- SNDRV_CHMAP_FRC, /* front right center */
- SNDRV_CHMAP_RLC, /* rear left center */
- SNDRV_CHMAP_RRC, /* rear right center */
- SNDRV_CHMAP_FLW, /* front left wide */
- SNDRV_CHMAP_FRW, /* front right wide */
- SNDRV_CHMAP_FLH, /* front left high */
- SNDRV_CHMAP_FCH, /* front center high */
- SNDRV_CHMAP_FRH, /* front right high */
- SNDRV_CHMAP_TC, /* top center */
- SNDRV_CHMAP_TFL, /* top front left */
- SNDRV_CHMAP_TFR, /* top front right */
- SNDRV_CHMAP_TFC, /* top front center */
- SNDRV_CHMAP_TRL, /* top rear left */
- SNDRV_CHMAP_TRR, /* top rear right */
- SNDRV_CHMAP_TRC, /* top rear center */
- /* new definitions for UAC2 */
- SNDRV_CHMAP_TFLC, /* top front left center */
- SNDRV_CHMAP_TFRC, /* top front right center */
- SNDRV_CHMAP_TSL, /* top side left */
- SNDRV_CHMAP_TSR, /* top side right */
- SNDRV_CHMAP_LLFE, /* left LFE */
- SNDRV_CHMAP_RLFE, /* right LFE */
- SNDRV_CHMAP_BC, /* bottom center */
- SNDRV_CHMAP_BLC, /* bottom left center */
- SNDRV_CHMAP_BRC, /* bottom right center */
- SNDRV_CHMAP_LAST = SNDRV_CHMAP_BRC,
-};
-
-#define SNDRV_CHMAP_POSITION_MASK 0xffff
-#define SNDRV_CHMAP_PHASE_INVERSE (0x01 << 16)
-#define SNDRV_CHMAP_DRIVER_SPEC (0x02 << 16)
-
-#define SNDRV_PCM_IOCTL_PVERSION _IOR('A', 0x00, int)
-#define SNDRV_PCM_IOCTL_INFO _IOR('A', 0x01, struct snd_pcm_info)
-#define SNDRV_PCM_IOCTL_TSTAMP _IOW('A', 0x02, int)
-#define SNDRV_PCM_IOCTL_TTSTAMP _IOW('A', 0x03, int)
-#define SNDRV_PCM_IOCTL_HW_REFINE _IOWR('A', 0x10, struct snd_pcm_hw_params)
-#define SNDRV_PCM_IOCTL_HW_PARAMS _IOWR('A', 0x11, struct snd_pcm_hw_params)
-#define SNDRV_PCM_IOCTL_HW_FREE _IO('A', 0x12)
-#define SNDRV_PCM_IOCTL_SW_PARAMS _IOWR('A', 0x13, struct snd_pcm_sw_params)
-#define SNDRV_PCM_IOCTL_STATUS _IOR('A', 0x20, struct snd_pcm_status)
-#define SNDRV_PCM_IOCTL_DELAY _IOR('A', 0x21, snd_pcm_sframes_t)
-#define SNDRV_PCM_IOCTL_HWSYNC _IO('A', 0x22)
-#define SNDRV_PCM_IOCTL_SYNC_PTR _IOWR('A', 0x23, struct snd_pcm_sync_ptr)
-#define SNDRV_PCM_IOCTL_STATUS_EXT _IOWR('A', 0x24, struct snd_pcm_status)
-#define SNDRV_PCM_IOCTL_CHANNEL_INFO _IOR('A', 0x32, struct snd_pcm_channel_info)
-#define SNDRV_PCM_IOCTL_PREPARE _IO('A', 0x40)
-#define SNDRV_PCM_IOCTL_RESET _IO('A', 0x41)
-#define SNDRV_PCM_IOCTL_START _IO('A', 0x42)
-#define SNDRV_PCM_IOCTL_DROP _IO('A', 0x43)
-#define SNDRV_PCM_IOCTL_DRAIN _IO('A', 0x44)
-#define SNDRV_PCM_IOCTL_PAUSE _IOW('A', 0x45, int)
-#define SNDRV_PCM_IOCTL_REWIND _IOW('A', 0x46, snd_pcm_uframes_t)
-#define SNDRV_PCM_IOCTL_RESUME _IO('A', 0x47)
-#define SNDRV_PCM_IOCTL_XRUN _IO('A', 0x48)
-#define SNDRV_PCM_IOCTL_FORWARD _IOW('A', 0x49, snd_pcm_uframes_t)
-#define SNDRV_PCM_IOCTL_WRITEI_FRAMES _IOW('A', 0x50, struct snd_xferi)
-#define SNDRV_PCM_IOCTL_READI_FRAMES _IOR('A', 0x51, struct snd_xferi)
-#define SNDRV_PCM_IOCTL_WRITEN_FRAMES _IOW('A', 0x52, struct snd_xfern)
-#define SNDRV_PCM_IOCTL_READN_FRAMES _IOR('A', 0x53, struct snd_xfern)
-#define SNDRV_PCM_IOCTL_LINK _IOW('A', 0x60, int)
-#define SNDRV_PCM_IOCTL_UNLINK _IO('A', 0x61)
-
-/*****************************************************************************
- * *
- * MIDI v1.0 interface *
- * *
- *****************************************************************************/
-
-/*
- * Raw MIDI section - /dev/snd/midi??
- */
-
-#define SNDRV_RAWMIDI_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 0)
-
-enum {
- SNDRV_RAWMIDI_STREAM_OUTPUT = 0,
- SNDRV_RAWMIDI_STREAM_INPUT,
- SNDRV_RAWMIDI_STREAM_LAST = SNDRV_RAWMIDI_STREAM_INPUT,
-};
-
-#define SNDRV_RAWMIDI_INFO_OUTPUT 0x00000001
-#define SNDRV_RAWMIDI_INFO_INPUT 0x00000002
-#define SNDRV_RAWMIDI_INFO_DUPLEX 0x00000004
-
-struct snd_rawmidi_info {
- unsigned int device; /* RO/WR (control): device number */
- unsigned int subdevice; /* RO/WR (control): subdevice number */
- int stream; /* WR: stream */
- int card; /* R: card number */
- unsigned int flags; /* SNDRV_RAWMIDI_INFO_XXXX */
- unsigned char id[64]; /* ID (user selectable) */
- unsigned char name[80]; /* name of device */
- unsigned char subname[32]; /* name of active or selected subdevice */
- unsigned int subdevices_count;
- unsigned int subdevices_avail;
- unsigned char reserved[64]; /* reserved for future use */
-};
-
-struct snd_rawmidi_params {
- int stream;
- size_t buffer_size; /* queue size in bytes */
- size_t avail_min; /* minimum avail bytes for wakeup */
- unsigned int no_active_sensing: 1; /* do not send active sensing byte in close() */
- unsigned char reserved[16]; /* reserved for future use */
-};
-
-struct snd_rawmidi_status {
- int stream;
- struct timespec tstamp; /* Timestamp */
- size_t avail; /* available bytes */
- size_t xruns; /* count of overruns since last status (in bytes) */
- unsigned char reserved[16]; /* reserved for future use */
-};
-
-#define SNDRV_RAWMIDI_IOCTL_PVERSION _IOR('W', 0x00, int)
-#define SNDRV_RAWMIDI_IOCTL_INFO _IOR('W', 0x01, struct snd_rawmidi_info)
-#define SNDRV_RAWMIDI_IOCTL_PARAMS _IOWR('W', 0x10, struct snd_rawmidi_params)
-#define SNDRV_RAWMIDI_IOCTL_STATUS _IOWR('W', 0x20, struct snd_rawmidi_status)
-#define SNDRV_RAWMIDI_IOCTL_DROP _IOW('W', 0x30, int)
-#define SNDRV_RAWMIDI_IOCTL_DRAIN _IOW('W', 0x31, int)
-
-/*
- * Timer section - /dev/snd/timer
- */
-
-#define SNDRV_TIMER_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 6)
-
-enum {
- SNDRV_TIMER_CLASS_NONE = -1,
- SNDRV_TIMER_CLASS_SLAVE = 0,
- SNDRV_TIMER_CLASS_GLOBAL,
- SNDRV_TIMER_CLASS_CARD,
- SNDRV_TIMER_CLASS_PCM,
- SNDRV_TIMER_CLASS_LAST = SNDRV_TIMER_CLASS_PCM,
-};
-
-/* slave timer classes */
-enum {
- SNDRV_TIMER_SCLASS_NONE = 0,
- SNDRV_TIMER_SCLASS_APPLICATION,
- SNDRV_TIMER_SCLASS_SEQUENCER, /* alias */
- SNDRV_TIMER_SCLASS_OSS_SEQUENCER, /* alias */
- SNDRV_TIMER_SCLASS_LAST = SNDRV_TIMER_SCLASS_OSS_SEQUENCER,
-};
-
-/* global timers (device member) */
-#define SNDRV_TIMER_GLOBAL_SYSTEM 0
-#define SNDRV_TIMER_GLOBAL_RTC 1
-#define SNDRV_TIMER_GLOBAL_HPET 2
-#define SNDRV_TIMER_GLOBAL_HRTIMER 3
-
-/* info flags */
-#define SNDRV_TIMER_FLG_SLAVE (1<<0) /* cannot be controlled */
-
-struct snd_timer_id {
- int dev_class;
- int dev_sclass;
- int card;
- int device;
- int subdevice;
-};
-
-struct snd_timer_ginfo {
- struct snd_timer_id tid; /* requested timer ID */
- unsigned int flags; /* timer flags - SNDRV_TIMER_FLG_* */
- int card; /* card number */
- unsigned char id[64]; /* timer identification */
- unsigned char name[80]; /* timer name */
- unsigned long reserved0; /* reserved for future use */
- unsigned long resolution; /* average period resolution in ns */
- unsigned long resolution_min; /* minimal period resolution in ns */
- unsigned long resolution_max; /* maximal period resolution in ns */
- unsigned int clients; /* active timer clients */
- unsigned char reserved[32];
-};
-
-struct snd_timer_gparams {
- struct snd_timer_id tid; /* requested timer ID */
- unsigned long period_num; /* requested precise period duration (in seconds) - numerator */
- unsigned long period_den; /* requested precise period duration (in seconds) - denominator */
- unsigned char reserved[32];
-};
-
-struct snd_timer_gstatus {
- struct snd_timer_id tid; /* requested timer ID */
- unsigned long resolution; /* current period resolution in ns */
- unsigned long resolution_num; /* precise current period resolution (in seconds) - numerator */
- unsigned long resolution_den; /* precise current period resolution (in seconds) - denominator */
- unsigned char reserved[32];
-};
-
-struct snd_timer_select {
- struct snd_timer_id id; /* bind to timer ID */
- unsigned char reserved[32]; /* reserved */
-};
-
-struct snd_timer_info {
- unsigned int flags; /* timer flags - SNDRV_TIMER_FLG_* */
- int card; /* card number */
- unsigned char id[64]; /* timer identificator */
- unsigned char name[80]; /* timer name */
- unsigned long reserved0; /* reserved for future use */
- unsigned long resolution; /* average period resolution in ns */
- unsigned char reserved[64]; /* reserved */
-};
-
-#define SNDRV_TIMER_PSFLG_AUTO (1<<0) /* auto start, otherwise one-shot */
-#define SNDRV_TIMER_PSFLG_EXCLUSIVE (1<<1) /* exclusive use, precise start/stop/pause/continue */
-#define SNDRV_TIMER_PSFLG_EARLY_EVENT (1<<2) /* write early event to the poll queue */
-
-struct snd_timer_params {
- unsigned int flags; /* flags - SNDRV_MIXER_PSFLG_* */
- unsigned int ticks; /* requested resolution in ticks */
- unsigned int queue_size; /* total size of queue (32-1024) */
- unsigned int reserved0; /* reserved, was: failure locations */
- unsigned int filter; /* event filter (bitmask of SNDRV_TIMER_EVENT_*) */
- unsigned char reserved[60]; /* reserved */
-};
-
-struct snd_timer_status {
- struct timespec tstamp; /* Timestamp - last update */
- unsigned int resolution; /* current period resolution in ns */
- unsigned int lost; /* counter of master tick lost */
- unsigned int overrun; /* count of read queue overruns */
- unsigned int queue; /* used queue size */
- unsigned char reserved[64]; /* reserved */
-};
-
-#define SNDRV_TIMER_IOCTL_PVERSION _IOR('T', 0x00, int)
-#define SNDRV_TIMER_IOCTL_NEXT_DEVICE _IOWR('T', 0x01, struct snd_timer_id)
-#define SNDRV_TIMER_IOCTL_TREAD _IOW('T', 0x02, int)
-#define SNDRV_TIMER_IOCTL_GINFO _IOWR('T', 0x03, struct snd_timer_ginfo)
-#define SNDRV_TIMER_IOCTL_GPARAMS _IOW('T', 0x04, struct snd_timer_gparams)
-#define SNDRV_TIMER_IOCTL_GSTATUS _IOWR('T', 0x05, struct snd_timer_gstatus)
-#define SNDRV_TIMER_IOCTL_SELECT _IOW('T', 0x10, struct snd_timer_select)
-#define SNDRV_TIMER_IOCTL_INFO _IOR('T', 0x11, struct snd_timer_info)
-#define SNDRV_TIMER_IOCTL_PARAMS _IOW('T', 0x12, struct snd_timer_params)
-#define SNDRV_TIMER_IOCTL_STATUS _IOR('T', 0x14, struct snd_timer_status)
-/* The following four ioctls are changed since 1.0.9 due to confliction */
-#define SNDRV_TIMER_IOCTL_START _IO('T', 0xa0)
-#define SNDRV_TIMER_IOCTL_STOP _IO('T', 0xa1)
-#define SNDRV_TIMER_IOCTL_CONTINUE _IO('T', 0xa2)
-#define SNDRV_TIMER_IOCTL_PAUSE _IO('T', 0xa3)
-
-struct snd_timer_read {
- unsigned int resolution;
- unsigned int ticks;
-};
-
-enum {
- SNDRV_TIMER_EVENT_RESOLUTION = 0, /* val = resolution in ns */
- SNDRV_TIMER_EVENT_TICK, /* val = ticks */
- SNDRV_TIMER_EVENT_START, /* val = resolution in ns */
- SNDRV_TIMER_EVENT_STOP, /* val = 0 */
- SNDRV_TIMER_EVENT_CONTINUE, /* val = resolution in ns */
- SNDRV_TIMER_EVENT_PAUSE, /* val = 0 */
- SNDRV_TIMER_EVENT_EARLY, /* val = 0, early event */
- SNDRV_TIMER_EVENT_SUSPEND, /* val = 0 */
- SNDRV_TIMER_EVENT_RESUME, /* val = resolution in ns */
- /* master timer events for slave timer instances */
- SNDRV_TIMER_EVENT_MSTART = SNDRV_TIMER_EVENT_START + 10,
- SNDRV_TIMER_EVENT_MSTOP = SNDRV_TIMER_EVENT_STOP + 10,
- SNDRV_TIMER_EVENT_MCONTINUE = SNDRV_TIMER_EVENT_CONTINUE + 10,
- SNDRV_TIMER_EVENT_MPAUSE = SNDRV_TIMER_EVENT_PAUSE + 10,
- SNDRV_TIMER_EVENT_MSUSPEND = SNDRV_TIMER_EVENT_SUSPEND + 10,
- SNDRV_TIMER_EVENT_MRESUME = SNDRV_TIMER_EVENT_RESUME + 10,
-};
-
-struct snd_timer_tread {
- int event;
- struct timespec tstamp;
- unsigned int val;
-};
-
-/****************************************************************************
- * *
- * Section for driver control interface - /dev/snd/control? *
- * *
- ****************************************************************************/
-
-#define SNDRV_CTL_VERSION SNDRV_PROTOCOL_VERSION(2, 0, 7)
-
-struct snd_ctl_card_info {
- int card; /* card number */
- int pad; /* reserved for future (was type) */
- unsigned char id[16]; /* ID of card (user selectable) */
- unsigned char driver[16]; /* Driver name */
- unsigned char name[32]; /* Short name of soundcard */
- unsigned char longname[80]; /* name + info text about soundcard */
- unsigned char reserved_[16]; /* reserved for future (was ID of mixer) */
- unsigned char mixername[80]; /* visual mixer identification */
- unsigned char components[128]; /* card components / fine identification, delimited with one space (AC97 etc..) */
-};
-
-typedef int __bitwise snd_ctl_elem_type_t;
-#define SNDRV_CTL_ELEM_TYPE_NONE ((snd_ctl_elem_type_t) 0) /* invalid */
-#define SNDRV_CTL_ELEM_TYPE_BOOLEAN ((snd_ctl_elem_type_t) 1) /* boolean type */
-#define SNDRV_CTL_ELEM_TYPE_INTEGER ((snd_ctl_elem_type_t) 2) /* integer type */
-#define SNDRV_CTL_ELEM_TYPE_ENUMERATED ((snd_ctl_elem_type_t) 3) /* enumerated type */
-#define SNDRV_CTL_ELEM_TYPE_BYTES ((snd_ctl_elem_type_t) 4) /* byte array */
-#define SNDRV_CTL_ELEM_TYPE_IEC958 ((snd_ctl_elem_type_t) 5) /* IEC958 (S/PDIF) setup */
-#define SNDRV_CTL_ELEM_TYPE_INTEGER64 ((snd_ctl_elem_type_t) 6) /* 64-bit integer type */
-#define SNDRV_CTL_ELEM_TYPE_LAST SNDRV_CTL_ELEM_TYPE_INTEGER64
-
-typedef int __bitwise snd_ctl_elem_iface_t;
-#define SNDRV_CTL_ELEM_IFACE_CARD ((snd_ctl_elem_iface_t) 0) /* global control */
-#define SNDRV_CTL_ELEM_IFACE_HWDEP ((snd_ctl_elem_iface_t) 1) /* hardware dependent device */
-#define SNDRV_CTL_ELEM_IFACE_MIXER ((snd_ctl_elem_iface_t) 2) /* virtual mixer device */
-#define SNDRV_CTL_ELEM_IFACE_PCM ((snd_ctl_elem_iface_t) 3) /* PCM device */
-#define SNDRV_CTL_ELEM_IFACE_RAWMIDI ((snd_ctl_elem_iface_t) 4) /* RawMidi device */
-#define SNDRV_CTL_ELEM_IFACE_TIMER ((snd_ctl_elem_iface_t) 5) /* timer device */
-#define SNDRV_CTL_ELEM_IFACE_SEQUENCER ((snd_ctl_elem_iface_t) 6) /* sequencer client */
-#define SNDRV_CTL_ELEM_IFACE_LAST SNDRV_CTL_ELEM_IFACE_SEQUENCER
-
-#define SNDRV_CTL_ELEM_ACCESS_READ (1<<0)
-#define SNDRV_CTL_ELEM_ACCESS_WRITE (1<<1)
-#define SNDRV_CTL_ELEM_ACCESS_READWRITE (SNDRV_CTL_ELEM_ACCESS_READ|SNDRV_CTL_ELEM_ACCESS_WRITE)
-#define SNDRV_CTL_ELEM_ACCESS_VOLATILE (1<<2) /* control value may be changed without a notification */
-#define SNDRV_CTL_ELEM_ACCESS_TIMESTAMP (1<<3) /* when was control changed */
-#define SNDRV_CTL_ELEM_ACCESS_TLV_READ (1<<4) /* TLV read is possible */
-#define SNDRV_CTL_ELEM_ACCESS_TLV_WRITE (1<<5) /* TLV write is possible */
-#define SNDRV_CTL_ELEM_ACCESS_TLV_READWRITE (SNDRV_CTL_ELEM_ACCESS_TLV_READ|SNDRV_CTL_ELEM_ACCESS_TLV_WRITE)
-#define SNDRV_CTL_ELEM_ACCESS_TLV_COMMAND (1<<6) /* TLV command is possible */
-#define SNDRV_CTL_ELEM_ACCESS_INACTIVE (1<<8) /* control does actually nothing, but may be updated */
-#define SNDRV_CTL_ELEM_ACCESS_LOCK (1<<9) /* write lock */
-#define SNDRV_CTL_ELEM_ACCESS_OWNER (1<<10) /* write lock owner */
-#define SNDRV_CTL_ELEM_ACCESS_TLV_CALLBACK (1<<28) /* kernel use a TLV callback */
-#define SNDRV_CTL_ELEM_ACCESS_USER (1<<29) /* user space element */
-/* bits 30 and 31 are obsoleted (for indirect access) */
-
-/* for further details see the ACPI and PCI power management specification */
-#define SNDRV_CTL_POWER_D0 0x0000 /* full On */
-#define SNDRV_CTL_POWER_D1 0x0100 /* partial On */
-#define SNDRV_CTL_POWER_D2 0x0200 /* partial On */
-#define SNDRV_CTL_POWER_D3 0x0300 /* Off */
-#define SNDRV_CTL_POWER_D3hot (SNDRV_CTL_POWER_D3|0x0000) /* Off, with power */
-#define SNDRV_CTL_POWER_D3cold (SNDRV_CTL_POWER_D3|0x0001) /* Off, without power */
-
-#define SNDRV_CTL_ELEM_ID_NAME_MAXLEN 44
-
-struct snd_ctl_elem_id {
- unsigned int numid; /* numeric identifier, zero = invalid */
- snd_ctl_elem_iface_t iface; /* interface identifier */
- unsigned int device; /* device/client number */
- unsigned int subdevice; /* subdevice (substream) number */
- unsigned char name[SNDRV_CTL_ELEM_ID_NAME_MAXLEN]; /* ASCII name of item */
- unsigned int index; /* index of item */
-};
-
-struct snd_ctl_elem_list {
- unsigned int offset; /* W: first element ID to get */
- unsigned int space; /* W: count of element IDs to get */
- unsigned int used; /* R: count of element IDs set */
- unsigned int count; /* R: count of all elements */
- struct snd_ctl_elem_id *pids; /* R: IDs */
- unsigned char reserved[50];
-};
-
-struct snd_ctl_elem_info {
- struct snd_ctl_elem_id id; /* W: element ID */
- snd_ctl_elem_type_t type; /* R: value type - SNDRV_CTL_ELEM_TYPE_* */
- unsigned int access; /* R: value access (bitmask) - SNDRV_CTL_ELEM_ACCESS_* */
- unsigned int count; /* count of values */
- __kernel_pid_t owner; /* owner's PID of this control */
- union {
- struct {
- long min; /* R: minimum value */
- long max; /* R: maximum value */
- long step; /* R: step (0 variable) */
- } integer;
- struct {
- long long min; /* R: minimum value */
- long long max; /* R: maximum value */
- long long step; /* R: step (0 variable) */
- } integer64;
- struct {
- unsigned int items; /* R: number of items */
- unsigned int item; /* W: item number */
- char name[64]; /* R: value name */
- __u64 names_ptr; /* W: names list (ELEM_ADD only) */
- unsigned int names_length;
- } enumerated;
- unsigned char reserved[128];
- } value;
- union {
- unsigned short d[4]; /* dimensions */
- unsigned short *d_ptr; /* indirect - obsoleted */
- } dimen;
- unsigned char reserved[64-4*sizeof(unsigned short)];
-};
-
-struct snd_ctl_elem_value {
- struct snd_ctl_elem_id id; /* W: element ID */
- unsigned int indirect: 1; /* W: indirect access - obsoleted */
- union {
- union {
- long value[128];
- long *value_ptr; /* obsoleted */
- } integer;
- union {
- long long value[64];
- long long *value_ptr; /* obsoleted */
- } integer64;
- union {
- unsigned int item[128];
- unsigned int *item_ptr; /* obsoleted */
- } enumerated;
- union {
- unsigned char data[512];
- unsigned char *data_ptr; /* obsoleted */
- } bytes;
- struct snd_aes_iec958 iec958;
- } value; /* RO */
- struct timespec tstamp;
- unsigned char reserved[128-sizeof(struct timespec)];
-};
-
-struct snd_ctl_tlv {
- unsigned int numid; /* control element numeric identification */
- unsigned int length; /* in bytes aligned to 4 */
- unsigned int tlv[0]; /* first TLV */
-};
-
-#define SNDRV_CTL_IOCTL_PVERSION _IOR('U', 0x00, int)
-#define SNDRV_CTL_IOCTL_CARD_INFO _IOR('U', 0x01, struct snd_ctl_card_info)
-#define SNDRV_CTL_IOCTL_ELEM_LIST _IOWR('U', 0x10, struct snd_ctl_elem_list)
-#define SNDRV_CTL_IOCTL_ELEM_INFO _IOWR('U', 0x11, struct snd_ctl_elem_info)
-#define SNDRV_CTL_IOCTL_ELEM_READ _IOWR('U', 0x12, struct snd_ctl_elem_value)
-#define SNDRV_CTL_IOCTL_ELEM_WRITE _IOWR('U', 0x13, struct snd_ctl_elem_value)
-#define SNDRV_CTL_IOCTL_ELEM_LOCK _IOW('U', 0x14, struct snd_ctl_elem_id)
-#define SNDRV_CTL_IOCTL_ELEM_UNLOCK _IOW('U', 0x15, struct snd_ctl_elem_id)
-#define SNDRV_CTL_IOCTL_SUBSCRIBE_EVENTS _IOWR('U', 0x16, int)
-#define SNDRV_CTL_IOCTL_ELEM_ADD _IOWR('U', 0x17, struct snd_ctl_elem_info)
-#define SNDRV_CTL_IOCTL_ELEM_REPLACE _IOWR('U', 0x18, struct snd_ctl_elem_info)
-#define SNDRV_CTL_IOCTL_ELEM_REMOVE _IOWR('U', 0x19, struct snd_ctl_elem_id)
-#define SNDRV_CTL_IOCTL_TLV_READ _IOWR('U', 0x1a, struct snd_ctl_tlv)
-#define SNDRV_CTL_IOCTL_TLV_WRITE _IOWR('U', 0x1b, struct snd_ctl_tlv)
-#define SNDRV_CTL_IOCTL_TLV_COMMAND _IOWR('U', 0x1c, struct snd_ctl_tlv)
-#define SNDRV_CTL_IOCTL_HWDEP_NEXT_DEVICE _IOWR('U', 0x20, int)
-#define SNDRV_CTL_IOCTL_HWDEP_INFO _IOR('U', 0x21, struct snd_hwdep_info)
-#define SNDRV_CTL_IOCTL_PCM_NEXT_DEVICE _IOR('U', 0x30, int)
-#define SNDRV_CTL_IOCTL_PCM_INFO _IOWR('U', 0x31, struct snd_pcm_info)
-#define SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE _IOW('U', 0x32, int)
-#define SNDRV_CTL_IOCTL_RAWMIDI_NEXT_DEVICE _IOWR('U', 0x40, int)
-#define SNDRV_CTL_IOCTL_RAWMIDI_INFO _IOWR('U', 0x41, struct snd_rawmidi_info)
-#define SNDRV_CTL_IOCTL_RAWMIDI_PREFER_SUBDEVICE _IOW('U', 0x42, int)
-#define SNDRV_CTL_IOCTL_POWER _IOWR('U', 0xd0, int)
-#define SNDRV_CTL_IOCTL_POWER_STATE _IOR('U', 0xd1, int)
-
-/*
- * Read interface.
- */
-
-enum sndrv_ctl_event_type {
- SNDRV_CTL_EVENT_ELEM = 0,
- SNDRV_CTL_EVENT_LAST = SNDRV_CTL_EVENT_ELEM,
-};
-
-#define SNDRV_CTL_EVENT_MASK_VALUE (1<<0) /* element value was changed */
-#define SNDRV_CTL_EVENT_MASK_INFO (1<<1) /* element info was changed */
-#define SNDRV_CTL_EVENT_MASK_ADD (1<<2) /* element was added */
-#define SNDRV_CTL_EVENT_MASK_TLV (1<<3) /* element TLV tree was changed */
-#define SNDRV_CTL_EVENT_MASK_REMOVE (~0U) /* element was removed */
-
-struct snd_ctl_event {
- int type; /* event type - SNDRV_CTL_EVENT_* */
- union {
- struct {
- unsigned int mask;
- struct snd_ctl_elem_id id;
- } elem;
- unsigned char data8[60];
- } data;
-};
-
-/*
- * Control names
- */
-
-#define SNDRV_CTL_NAME_NONE ""
-#define SNDRV_CTL_NAME_PLAYBACK "Playback "
-#define SNDRV_CTL_NAME_CAPTURE "Capture "
-
-#define SNDRV_CTL_NAME_IEC958_NONE ""
-#define SNDRV_CTL_NAME_IEC958_SWITCH "Switch"
-#define SNDRV_CTL_NAME_IEC958_VOLUME "Volume"
-#define SNDRV_CTL_NAME_IEC958_DEFAULT "Default"
-#define SNDRV_CTL_NAME_IEC958_MASK "Mask"
-#define SNDRV_CTL_NAME_IEC958_CON_MASK "Con Mask"
-#define SNDRV_CTL_NAME_IEC958_PRO_MASK "Pro Mask"
-#define SNDRV_CTL_NAME_IEC958_PCM_STREAM "PCM Stream"
-#define SNDRV_CTL_NAME_IEC958(expl,direction,what) "IEC958 " expl SNDRV_CTL_NAME_##direction SNDRV_CTL_NAME_IEC958_##what
-
-#endif /* __SOUND_ASOUND_H */
diff --git a/linux-headers/include/sound/asound_fm.h b/linux-headers/include/sound/asound_fm.h
deleted file mode 100644
index c2a4b96..0000000
--- a/linux-headers/include/sound/asound_fm.h
+++ /dev/null
@@ -1,134 +0,0 @@
-#ifndef __SOUND_ASOUND_FM_H
-#define __SOUND_ASOUND_FM_H
-
-/*
- * Advanced Linux Sound Architecture - ALSA
- *
- * Interface file between ALSA driver & user space
- * Copyright (c) 1994-98 by Jaroslav Kysela <perex@perex.cz>,
- * 4Front Technologies
- *
- * Direct FM control
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#define SNDRV_DM_FM_MODE_OPL2 0x00
-#define SNDRV_DM_FM_MODE_OPL3 0x01
-
-struct snd_dm_fm_info {
- unsigned char fm_mode; /* OPL mode, see SNDRV_DM_FM_MODE_XXX */
- unsigned char rhythm; /* percussion mode flag */
-};
-
-/*
- * Data structure composing an FM "note" or sound event.
- */
-
-struct snd_dm_fm_voice {
- unsigned char op; /* operator cell (0 or 1) */
- unsigned char voice; /* FM voice (0 to 17) */
-
- unsigned char am; /* amplitude modulation */
- unsigned char vibrato; /* vibrato effect */
- unsigned char do_sustain; /* sustain phase */
- unsigned char kbd_scale; /* keyboard scaling */
- unsigned char harmonic; /* 4 bits: harmonic and multiplier */
- unsigned char scale_level; /* 2 bits: decrease output freq rises */
- unsigned char volume; /* 6 bits: volume */
-
- unsigned char attack; /* 4 bits: attack rate */
- unsigned char decay; /* 4 bits: decay rate */
- unsigned char sustain; /* 4 bits: sustain level */
- unsigned char release; /* 4 bits: release rate */
-
- unsigned char feedback; /* 3 bits: feedback for op0 */
- unsigned char connection; /* 0 for serial, 1 for parallel */
- unsigned char left; /* stereo left */
- unsigned char right; /* stereo right */
- unsigned char waveform; /* 3 bits: waveform shape */
-};
-
-/*
- * This describes an FM note by its voice, octave, frequency number (10bit)
- * and key on/off.
- */
-
-struct snd_dm_fm_note {
- unsigned char voice; /* 0-17 voice channel */
- unsigned char octave; /* 3 bits: what octave to play */
- unsigned int fnum; /* 10 bits: frequency number */
- unsigned char key_on; /* set for active, clear for silent */
-};
-
-/*
- * FM parameters that apply globally to all voices, and thus are not "notes"
- */
-
-struct snd_dm_fm_params {
- unsigned char am_depth; /* amplitude modulation depth (1=hi) */
- unsigned char vib_depth; /* vibrato depth (1=hi) */
- unsigned char kbd_split; /* keyboard split */
- unsigned char rhythm; /* percussion mode select */
-
- /* This block is the percussion instrument data */
- unsigned char bass;
- unsigned char snare;
- unsigned char tomtom;
- unsigned char cymbal;
- unsigned char hihat;
-};
-
-/*
- * FM mode ioctl settings
- */
-
-#define SNDRV_DM_FM_IOCTL_INFO _IOR('H', 0x20, struct snd_dm_fm_info)
-#define SNDRV_DM_FM_IOCTL_RESET _IO ('H', 0x21)
-#define SNDRV_DM_FM_IOCTL_PLAY_NOTE _IOW('H', 0x22, struct snd_dm_fm_note)
-#define SNDRV_DM_FM_IOCTL_SET_VOICE _IOW('H', 0x23, struct snd_dm_fm_voice)
-#define SNDRV_DM_FM_IOCTL_SET_PARAMS _IOW('H', 0x24, struct snd_dm_fm_params)
-#define SNDRV_DM_FM_IOCTL_SET_MODE _IOW('H', 0x25, int)
-/* for OPL3 only */
-#define SNDRV_DM_FM_IOCTL_SET_CONNECTION _IOW('H', 0x26, int)
-/* SBI patch management */
-#define SNDRV_DM_FM_IOCTL_CLEAR_PATCHES _IO ('H', 0x40)
-
-#define SNDRV_DM_FM_OSS_IOCTL_RESET 0x20
-#define SNDRV_DM_FM_OSS_IOCTL_PLAY_NOTE 0x21
-#define SNDRV_DM_FM_OSS_IOCTL_SET_VOICE 0x22
-#define SNDRV_DM_FM_OSS_IOCTL_SET_PARAMS 0x23
-#define SNDRV_DM_FM_OSS_IOCTL_SET_MODE 0x24
-#define SNDRV_DM_FM_OSS_IOCTL_SET_OPL 0x25
-
-/*
- * Patch Record - fixed size for write
- */
-
-#define FM_KEY_SBI "SBI\032"
-#define FM_KEY_2OP "2OP\032"
-#define FM_KEY_4OP "4OP\032"
-
-struct sbi_patch {
- unsigned char prog;
- unsigned char bank;
- char key[4];
- char name[25];
- char extension[7];
- unsigned char data[32];
-};
-
-#endif /* __SOUND_ASOUND_FM_H */
diff --git a/linux-headers/include/sound/compress_offload.h b/linux-headers/include/sound/compress_offload.h
deleted file mode 100644
index e00d8cb..0000000
--- a/linux-headers/include/sound/compress_offload.h
+++ /dev/null
@@ -1,191 +0,0 @@
-/*
- * compress_offload.h - compress offload header definations
- *
- * Copyright (C) 2011 Intel Corporation
- * Authors: Vinod Koul <vinod.koul@linux.intel.com>
- * Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- */
-#ifndef __COMPRESS_OFFLOAD_H
-#define __COMPRESS_OFFLOAD_H
-
-#include <linux/types.h>
-#include <sound/asound.h>
-#include <sound/compress_params.h>
-
-
-#define SNDRV_COMPRESS_VERSION SNDRV_PROTOCOL_VERSION(0, 1, 2)
-/**
- * struct snd_compressed_buffer - compressed buffer
- * @fragment_size: size of buffer fragment in bytes
- * @fragments: number of such fragments
- */
-struct snd_compressed_buffer {
- __u32 fragment_size;
- __u32 fragments;
-} __attribute__((packed, aligned(4)));
-
-/**
- * struct snd_compr_params - compressed stream params
- * @buffer: buffer description
- * @codec: codec parameters
- * @no_wake_mode: dont wake on fragment elapsed
- */
-struct snd_compr_params {
- struct snd_compressed_buffer buffer;
- struct snd_codec codec;
- __u8 no_wake_mode;
-} __attribute__((packed, aligned(4)));
-
-/**
- * struct snd_compr_tstamp - timestamp descriptor
- * @byte_offset: Byte offset in ring buffer to DSP
- * @copied_total: Total number of bytes copied from/to ring buffer to/by DSP
- * @pcm_frames: Frames decoded or encoded by DSP. This field will evolve by
- * large steps and should only be used to monitor encoding/decoding
- * progress. It shall not be used for timing estimates.
- * @pcm_io_frames: Frames rendered or received by DSP into a mixer or an audio
- * output/input. This field should be used for A/V sync or time estimates.
- * @sampling_rate: sampling rate of audio
- */
-struct snd_compr_tstamp {
- __u32 byte_offset;
- __u32 copied_total;
- __u32 pcm_frames;
- __u32 pcm_io_frames;
- __u32 sampling_rate;
-} __attribute__((packed, aligned(4)));
-
-/**
- * struct snd_compr_avail - avail descriptor
- * @avail: Number of bytes available in ring buffer for writing/reading
- * @tstamp: timestamp information
- */
-struct snd_compr_avail {
- __u64 avail;
- struct snd_compr_tstamp tstamp;
-} __attribute__((packed, aligned(4)));
-
-enum snd_compr_direction {
- SND_COMPRESS_PLAYBACK = 0,
- SND_COMPRESS_CAPTURE
-};
-
-/**
- * struct snd_compr_caps - caps descriptor
- * @codecs: pointer to array of codecs
- * @direction: direction supported. Of type snd_compr_direction
- * @min_fragment_size: minimum fragment supported by DSP
- * @max_fragment_size: maximum fragment supported by DSP
- * @min_fragments: min fragments supported by DSP
- * @max_fragments: max fragments supported by DSP
- * @num_codecs: number of codecs supported
- * @reserved: reserved field
- */
-struct snd_compr_caps {
- __u32 num_codecs;
- __u32 direction;
- __u32 min_fragment_size;
- __u32 max_fragment_size;
- __u32 min_fragments;
- __u32 max_fragments;
- __u32 codecs[MAX_NUM_CODECS];
- __u32 reserved[11];
-} __attribute__((packed, aligned(4)));
-
-/**
- * struct snd_compr_codec_caps - query capability of codec
- * @codec: codec for which capability is queried
- * @num_descriptors: number of codec descriptors
- * @descriptor: array of codec capability descriptor
- */
-struct snd_compr_codec_caps {
- __u32 codec;
- __u32 num_descriptors;
- struct snd_codec_desc descriptor[MAX_NUM_CODEC_DESCRIPTORS];
-} __attribute__((packed, aligned(4)));
-
-/**
- * enum sndrv_compress_encoder
- * @SNDRV_COMPRESS_ENCODER_PADDING: no of samples appended by the encoder at the
- * end of the track
- * @SNDRV_COMPRESS_ENCODER_DELAY: no of samples inserted by the encoder at the
- * beginning of the track
- */
-enum sndrv_compress_encoder {
- SNDRV_COMPRESS_ENCODER_PADDING = 1,
- SNDRV_COMPRESS_ENCODER_DELAY = 2,
-};
-
-/**
- * struct snd_compr_metadata - compressed stream metadata
- * @key: key id
- * @value: key value
- */
-struct snd_compr_metadata {
- __u32 key;
- __u32 value[8];
-} __attribute__((packed, aligned(4)));
-
-/**
- * compress path ioctl definitions
- * SNDRV_COMPRESS_GET_CAPS: Query capability of DSP
- * SNDRV_COMPRESS_GET_CODEC_CAPS: Query capability of a codec
- * SNDRV_COMPRESS_SET_PARAMS: Set codec and stream parameters
- * Note: only codec params can be changed runtime and stream params cant be
- * SNDRV_COMPRESS_GET_PARAMS: Query codec params
- * SNDRV_COMPRESS_TSTAMP: get the current timestamp value
- * SNDRV_COMPRESS_AVAIL: get the current buffer avail value.
- * This also queries the tstamp properties
- * SNDRV_COMPRESS_PAUSE: Pause the running stream
- * SNDRV_COMPRESS_RESUME: resume a paused stream
- * SNDRV_COMPRESS_START: Start a stream
- * SNDRV_COMPRESS_STOP: stop a running stream, discarding ring buffer content
- * and the buffers currently with DSP
- * SNDRV_COMPRESS_DRAIN: Play till end of buffers and stop after that
- * SNDRV_COMPRESS_IOCTL_VERSION: Query the API version
- */
-#define SNDRV_COMPRESS_IOCTL_VERSION _IOR('C', 0x00, int)
-#define SNDRV_COMPRESS_GET_CAPS _IOWR('C', 0x10, struct snd_compr_caps)
-#define SNDRV_COMPRESS_GET_CODEC_CAPS _IOWR('C', 0x11,\
- struct snd_compr_codec_caps)
-#define SNDRV_COMPRESS_SET_PARAMS _IOW('C', 0x12, struct snd_compr_params)
-#define SNDRV_COMPRESS_GET_PARAMS _IOR('C', 0x13, struct snd_codec)
-#define SNDRV_COMPRESS_SET_METADATA _IOW('C', 0x14,\
- struct snd_compr_metadata)
-#define SNDRV_COMPRESS_GET_METADATA _IOWR('C', 0x15,\
- struct snd_compr_metadata)
-#define SNDRV_COMPRESS_TSTAMP _IOR('C', 0x20, struct snd_compr_tstamp)
-#define SNDRV_COMPRESS_AVAIL _IOR('C', 0x21, struct snd_compr_avail)
-#define SNDRV_COMPRESS_PAUSE _IO('C', 0x30)
-#define SNDRV_COMPRESS_RESUME _IO('C', 0x31)
-#define SNDRV_COMPRESS_START _IO('C', 0x32)
-#define SNDRV_COMPRESS_STOP _IO('C', 0x33)
-#define SNDRV_COMPRESS_DRAIN _IO('C', 0x34)
-#define SNDRV_COMPRESS_NEXT_TRACK _IO('C', 0x35)
-#define SNDRV_COMPRESS_PARTIAL_DRAIN _IO('C', 0x36)
-/*
- * TODO
- * 1. add mmap support
- *
- */
-#define SND_COMPR_TRIGGER_DRAIN 7 /*FIXME move this to pcm.h */
-#define SND_COMPR_TRIGGER_NEXT_TRACK 8
-#define SND_COMPR_TRIGGER_PARTIAL_DRAIN 9
-#endif
diff --git a/linux-headers/include/sound/compress_params.h b/linux-headers/include/sound/compress_params.h
deleted file mode 100644
index 9625484..0000000
--- a/linux-headers/include/sound/compress_params.h
+++ /dev/null
@@ -1,405 +0,0 @@
-/*
- * compress_params.h - codec types and parameters for compressed data
- * streaming interface
- *
- * Copyright (C) 2011 Intel Corporation
- * Authors: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
- * Vinod Koul <vinod.koul@linux.intel.com>
- *
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; version 2 of the License.
- *
- * This program is distributed in the hope that it will be useful, but
- * WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
- *
- * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- *
- * The definitions in this file are derived from the OpenMAX AL version 1.1
- * and OpenMAX IL v 1.1.2 header files which contain the copyright notice below.
- *
- * Copyright (c) 2007-2010 The Khronos Group Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and/or associated documentation files (the
- * "Materials "), to deal in the Materials without restriction, including
- * without limitation the rights to use, copy, modify, merge, publish,
- * distribute, sublicense, and/or sell copies of the Materials, and to
- * permit persons to whom the Materials are furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included
- * in all copies or substantial portions of the Materials.
- *
- * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
- * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
- *
- */
-#ifndef __SND_COMPRESS_PARAMS_H
-#define __SND_COMPRESS_PARAMS_H
-
-#include <linux/types.h>
-
-/* AUDIO CODECS SUPPORTED */
-#define MAX_NUM_CODECS 32
-#define MAX_NUM_CODEC_DESCRIPTORS 32
-#define MAX_NUM_BITRATES 32
-#define MAX_NUM_SAMPLE_RATES 32
-
-/* Codecs are listed linearly to allow for extensibility */
-#define SND_AUDIOCODEC_PCM ((__u32) 0x00000001)
-#define SND_AUDIOCODEC_MP3 ((__u32) 0x00000002)
-#define SND_AUDIOCODEC_AMR ((__u32) 0x00000003)
-#define SND_AUDIOCODEC_AMRWB ((__u32) 0x00000004)
-#define SND_AUDIOCODEC_AMRWBPLUS ((__u32) 0x00000005)
-#define SND_AUDIOCODEC_AAC ((__u32) 0x00000006)
-#define SND_AUDIOCODEC_WMA ((__u32) 0x00000007)
-#define SND_AUDIOCODEC_REAL ((__u32) 0x00000008)
-#define SND_AUDIOCODEC_VORBIS ((__u32) 0x00000009)
-#define SND_AUDIOCODEC_FLAC ((__u32) 0x0000000A)
-#define SND_AUDIOCODEC_IEC61937 ((__u32) 0x0000000B)
-#define SND_AUDIOCODEC_G723_1 ((__u32) 0x0000000C)
-#define SND_AUDIOCODEC_G729 ((__u32) 0x0000000D)
-#define SND_AUDIOCODEC_BESPOKE ((__u32) 0x0000000E)
-#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_BESPOKE
-
-/*
- * Profile and modes are listed with bit masks. This allows for a
- * more compact representation of fields that will not evolve
- * (in contrast to the list of codecs)
- */
-
-#define SND_AUDIOPROFILE_PCM ((__u32) 0x00000001)
-
-/* MP3 modes are only useful for encoders */
-#define SND_AUDIOCHANMODE_MP3_MONO ((__u32) 0x00000001)
-#define SND_AUDIOCHANMODE_MP3_STEREO ((__u32) 0x00000002)
-#define SND_AUDIOCHANMODE_MP3_JOINTSTEREO ((__u32) 0x00000004)
-#define SND_AUDIOCHANMODE_MP3_DUAL ((__u32) 0x00000008)
-
-#define SND_AUDIOPROFILE_AMR ((__u32) 0x00000001)
-
-/* AMR modes are only useful for encoders */
-#define SND_AUDIOMODE_AMR_DTX_OFF ((__u32) 0x00000001)
-#define SND_AUDIOMODE_AMR_VAD1 ((__u32) 0x00000002)
-#define SND_AUDIOMODE_AMR_VAD2 ((__u32) 0x00000004)
-
-#define SND_AUDIOSTREAMFORMAT_UNDEFINED ((__u32) 0x00000000)
-#define SND_AUDIOSTREAMFORMAT_CONFORMANCE ((__u32) 0x00000001)
-#define SND_AUDIOSTREAMFORMAT_IF1 ((__u32) 0x00000002)
-#define SND_AUDIOSTREAMFORMAT_IF2 ((__u32) 0x00000004)
-#define SND_AUDIOSTREAMFORMAT_FSF ((__u32) 0x00000008)
-#define SND_AUDIOSTREAMFORMAT_RTPPAYLOAD ((__u32) 0x00000010)
-#define SND_AUDIOSTREAMFORMAT_ITU ((__u32) 0x00000020)
-
-#define SND_AUDIOPROFILE_AMRWB ((__u32) 0x00000001)
-
-/* AMRWB modes are only useful for encoders */
-#define SND_AUDIOMODE_AMRWB_DTX_OFF ((__u32) 0x00000001)
-#define SND_AUDIOMODE_AMRWB_VAD1 ((__u32) 0x00000002)
-#define SND_AUDIOMODE_AMRWB_VAD2 ((__u32) 0x00000004)
-
-#define SND_AUDIOPROFILE_AMRWBPLUS ((__u32) 0x00000001)
-
-#define SND_AUDIOPROFILE_AAC ((__u32) 0x00000001)
-
-/* AAC modes are required for encoders and decoders */
-#define SND_AUDIOMODE_AAC_MAIN ((__u32) 0x00000001)
-#define SND_AUDIOMODE_AAC_LC ((__u32) 0x00000002)
-#define SND_AUDIOMODE_AAC_SSR ((__u32) 0x00000004)
-#define SND_AUDIOMODE_AAC_LTP ((__u32) 0x00000008)
-#define SND_AUDIOMODE_AAC_HE ((__u32) 0x00000010)
-#define SND_AUDIOMODE_AAC_SCALABLE ((__u32) 0x00000020)
-#define SND_AUDIOMODE_AAC_ERLC ((__u32) 0x00000040)
-#define SND_AUDIOMODE_AAC_LD ((__u32) 0x00000080)
-#define SND_AUDIOMODE_AAC_HE_PS ((__u32) 0x00000100)
-#define SND_AUDIOMODE_AAC_HE_MPS ((__u32) 0x00000200)
-
-/* AAC formats are required for encoders and decoders */
-#define SND_AUDIOSTREAMFORMAT_MP2ADTS ((__u32) 0x00000001)
-#define SND_AUDIOSTREAMFORMAT_MP4ADTS ((__u32) 0x00000002)
-#define SND_AUDIOSTREAMFORMAT_MP4LOAS ((__u32) 0x00000004)
-#define SND_AUDIOSTREAMFORMAT_MP4LATM ((__u32) 0x00000008)
-#define SND_AUDIOSTREAMFORMAT_ADIF ((__u32) 0x00000010)
-#define SND_AUDIOSTREAMFORMAT_MP4FF ((__u32) 0x00000020)
-#define SND_AUDIOSTREAMFORMAT_RAW ((__u32) 0x00000040)
-
-#define SND_AUDIOPROFILE_WMA7 ((__u32) 0x00000001)
-#define SND_AUDIOPROFILE_WMA8 ((__u32) 0x00000002)
-#define SND_AUDIOPROFILE_WMA9 ((__u32) 0x00000004)
-#define SND_AUDIOPROFILE_WMA10 ((__u32) 0x00000008)
-
-#define SND_AUDIOMODE_WMA_LEVEL1 ((__u32) 0x00000001)
-#define SND_AUDIOMODE_WMA_LEVEL2 ((__u32) 0x00000002)
-#define SND_AUDIOMODE_WMA_LEVEL3 ((__u32) 0x00000004)
-#define SND_AUDIOMODE_WMA_LEVEL4 ((__u32) 0x00000008)
-#define SND_AUDIOMODE_WMAPRO_LEVELM0 ((__u32) 0x00000010)
-#define SND_AUDIOMODE_WMAPRO_LEVELM1 ((__u32) 0x00000020)
-#define SND_AUDIOMODE_WMAPRO_LEVELM2 ((__u32) 0x00000040)
-#define SND_AUDIOMODE_WMAPRO_LEVELM3 ((__u32) 0x00000080)
-
-#define SND_AUDIOSTREAMFORMAT_WMA_ASF ((__u32) 0x00000001)
-/*
- * Some implementations strip the ASF header and only send ASF packets
- * to the DSP
- */
-#define SND_AUDIOSTREAMFORMAT_WMA_NOASF_HDR ((__u32) 0x00000002)
-
-#define SND_AUDIOPROFILE_REALAUDIO ((__u32) 0x00000001)
-
-#define SND_AUDIOMODE_REALAUDIO_G2 ((__u32) 0x00000001)
-#define SND_AUDIOMODE_REALAUDIO_8 ((__u32) 0x00000002)
-#define SND_AUDIOMODE_REALAUDIO_10 ((__u32) 0x00000004)
-#define SND_AUDIOMODE_REALAUDIO_SURROUND ((__u32) 0x00000008)
-
-#define SND_AUDIOPROFILE_VORBIS ((__u32) 0x00000001)
-
-#define SND_AUDIOMODE_VORBIS ((__u32) 0x00000001)
-
-#define SND_AUDIOPROFILE_FLAC ((__u32) 0x00000001)
-
-/*
- * Define quality levels for FLAC encoders, from LEVEL0 (fast)
- * to LEVEL8 (best)
- */
-#define SND_AUDIOMODE_FLAC_LEVEL0 ((__u32) 0x00000001)
-#define SND_AUDIOMODE_FLAC_LEVEL1 ((__u32) 0x00000002)
-#define SND_AUDIOMODE_FLAC_LEVEL2 ((__u32) 0x00000004)
-#define SND_AUDIOMODE_FLAC_LEVEL3 ((__u32) 0x00000008)
-#define SND_AUDIOMODE_FLAC_LEVEL4 ((__u32) 0x00000010)
-#define SND_AUDIOMODE_FLAC_LEVEL5 ((__u32) 0x00000020)
-#define SND_AUDIOMODE_FLAC_LEVEL6 ((__u32) 0x00000040)
-#define SND_AUDIOMODE_FLAC_LEVEL7 ((__u32) 0x00000080)
-#define SND_AUDIOMODE_FLAC_LEVEL8 ((__u32) 0x00000100)
-
-#define SND_AUDIOSTREAMFORMAT_FLAC ((__u32) 0x00000001)
-#define SND_AUDIOSTREAMFORMAT_FLAC_OGG ((__u32) 0x00000002)
-
-/* IEC61937 payloads without CUVP and preambles */
-#define SND_AUDIOPROFILE_IEC61937 ((__u32) 0x00000001)
-/* IEC61937 with S/PDIF preambles+CUVP bits in 32-bit containers */
-#define SND_AUDIOPROFILE_IEC61937_SPDIF ((__u32) 0x00000002)
-
-/*
- * IEC modes are mandatory for decoders. Format autodetection
- * will only happen on the DSP side with mode 0. The PCM mode should
- * not be used, the PCM codec should be used instead.
- */
-#define SND_AUDIOMODE_IEC_REF_STREAM_HEADER ((__u32) 0x00000000)
-#define SND_AUDIOMODE_IEC_LPCM ((__u32) 0x00000001)
-#define SND_AUDIOMODE_IEC_AC3 ((__u32) 0x00000002)
-#define SND_AUDIOMODE_IEC_MPEG1 ((__u32) 0x00000004)
-#define SND_AUDIOMODE_IEC_MP3 ((__u32) 0x00000008)
-#define SND_AUDIOMODE_IEC_MPEG2 ((__u32) 0x00000010)
-#define SND_AUDIOMODE_IEC_AACLC ((__u32) 0x00000020)
-#define SND_AUDIOMODE_IEC_DTS ((__u32) 0x00000040)
-#define SND_AUDIOMODE_IEC_ATRAC ((__u32) 0x00000080)
-#define SND_AUDIOMODE_IEC_SACD ((__u32) 0x00000100)
-#define SND_AUDIOMODE_IEC_EAC3 ((__u32) 0x00000200)
-#define SND_AUDIOMODE_IEC_DTS_HD ((__u32) 0x00000400)
-#define SND_AUDIOMODE_IEC_MLP ((__u32) 0x00000800)
-#define SND_AUDIOMODE_IEC_DST ((__u32) 0x00001000)
-#define SND_AUDIOMODE_IEC_WMAPRO ((__u32) 0x00002000)
-#define SND_AUDIOMODE_IEC_REF_CXT ((__u32) 0x00004000)
-#define SND_AUDIOMODE_IEC_HE_AAC ((__u32) 0x00008000)
-#define SND_AUDIOMODE_IEC_HE_AAC2 ((__u32) 0x00010000)
-#define SND_AUDIOMODE_IEC_MPEG_SURROUND ((__u32) 0x00020000)
-
-#define SND_AUDIOPROFILE_G723_1 ((__u32) 0x00000001)
-
-#define SND_AUDIOMODE_G723_1_ANNEX_A ((__u32) 0x00000001)
-#define SND_AUDIOMODE_G723_1_ANNEX_B ((__u32) 0x00000002)
-#define SND_AUDIOMODE_G723_1_ANNEX_C ((__u32) 0x00000004)
-
-#define SND_AUDIOPROFILE_G729 ((__u32) 0x00000001)
-
-#define SND_AUDIOMODE_G729_ANNEX_A ((__u32) 0x00000001)
-#define SND_AUDIOMODE_G729_ANNEX_B ((__u32) 0x00000002)
-
-/* <FIXME: multichannel encoders aren't supported for now. Would need
- an additional definition of channel arrangement> */
-
-/* VBR/CBR definitions */
-#define SND_RATECONTROLMODE_CONSTANTBITRATE ((__u32) 0x00000001)
-#define SND_RATECONTROLMODE_VARIABLEBITRATE ((__u32) 0x00000002)
-
-/* Encoder options */
-
-struct snd_enc_wma {
- __u32 super_block_align; /* WMA Type-specific data */
-};
-
-
-/**
- * struct snd_enc_vorbis
- * @quality: Sets encoding quality to n, between -1 (low) and 10 (high).
- * In the default mode of operation, the quality level is 3.
- * Normal quality range is 0 - 10.
- * @managed: Boolean. Set bitrate management mode. This turns off the
- * normal VBR encoding, but allows hard or soft bitrate constraints to be
- * enforced by the encoder. This mode can be slower, and may also be
- * lower quality. It is primarily useful for streaming.
- * @max_bit_rate: Enabled only if managed is TRUE
- * @min_bit_rate: Enabled only if managed is TRUE
- * @downmix: Boolean. Downmix input from stereo to mono (has no effect on
- * non-stereo streams). Useful for lower-bitrate encoding.
- *
- * These options were extracted from the OpenMAX IL spec and Gstreamer vorbisenc
- * properties
- *
- * For best quality users should specify VBR mode and set quality levels.
- */
-
-struct snd_enc_vorbis {
- __s32 quality;
- __u32 managed;
- __u32 max_bit_rate;
- __u32 min_bit_rate;
- __u32 downmix;
-} __attribute__((packed, aligned(4)));
-
-
-/**
- * struct snd_enc_real
- * @quant_bits: number of coupling quantization bits in the stream
- * @start_region: coupling start region in the stream
- * @num_regions: number of regions value
- *
- * These options were extracted from the OpenMAX IL spec
- */
-
-struct snd_enc_real {
- __u32 quant_bits;
- __u32 start_region;
- __u32 num_regions;
-} __attribute__((packed, aligned(4)));
-
-/**
- * struct snd_enc_flac
- * @num: serial number, valid only for OGG formats
- * needs to be set by application
- * @gain: Add replay gain tags
- *
- * These options were extracted from the FLAC online documentation
- * at http://flac.sourceforge.net/documentation_tools_flac.html
- *
- * To make the API simpler, it is assumed that the user will select quality
- * profiles. Additional options that affect encoding quality and speed can
- * be added at a later stage if needed.
- *
- * By default the Subset format is used by encoders.
- *
- * TAGS such as pictures, etc, cannot be handled by an offloaded encoder and are
- * not supported in this API.
- */
-
-struct snd_enc_flac {
- __u32 num;
- __u32 gain;
-} __attribute__((packed, aligned(4)));
-
-struct snd_enc_generic {
- __u32 bw; /* encoder bandwidth */
- __s32 reserved[15]; /* Can be used for SND_AUDIOCODEC_BESPOKE */
-} __attribute__((packed, aligned(4)));
-
-union snd_codec_options {
- struct snd_enc_wma wma;
- struct snd_enc_vorbis vorbis;
- struct snd_enc_real real;
- struct snd_enc_flac flac;
- struct snd_enc_generic generic;
-} __attribute__((packed, aligned(4)));
-
-/** struct snd_codec_desc - description of codec capabilities
- * @max_ch: Maximum number of audio channels
- * @sample_rates: Sampling rates in Hz, use values like 48000 for this
- * @num_sample_rates: Number of valid values in sample_rates array
- * @bit_rate: Indexed array containing supported bit rates
- * @num_bitrates: Number of valid values in bit_rate array
- * @rate_control: value is specified by SND_RATECONTROLMODE defines.
- * @profiles: Supported profiles. See SND_AUDIOPROFILE defines.
- * @modes: Supported modes. See SND_AUDIOMODE defines
- * @formats: Supported formats. See SND_AUDIOSTREAMFORMAT defines
- * @min_buffer: Minimum buffer size handled by codec implementation
- * @reserved: reserved for future use
- *
- * This structure provides a scalar value for profiles, modes and stream
- * format fields.
- * If an implementation supports multiple combinations, they will be listed as
- * codecs with different descriptors, for example there would be 2 descriptors
- * for AAC-RAW and AAC-ADTS.
- * This entails some redundancy but makes it easier to avoid invalid
- * configurations.
- *
- */
-
-struct snd_codec_desc {
- __u32 max_ch;
- __u32 sample_rates[MAX_NUM_SAMPLE_RATES];
- __u32 num_sample_rates;
- __u32 bit_rate[MAX_NUM_BITRATES];
- __u32 num_bitrates;
- __u32 rate_control;
- __u32 profiles;
- __u32 modes;
- __u32 formats;
- __u32 min_buffer;
- __u32 reserved[15];
-} __attribute__((packed, aligned(4)));
-
-/** struct snd_codec
- * @id: Identifies the supported audio encoder/decoder.
- * See SND_AUDIOCODEC macros.
- * @ch_in: Number of input audio channels
- * @ch_out: Number of output channels. In case of contradiction between
- * this field and the channelMode field, the channelMode field
- * overrides.
- * @sample_rate: Audio sample rate of input data in Hz, use values like 48000
- * for this.
- * @bit_rate: Bitrate of encoded data. May be ignored by decoders
- * @rate_control: Encoding rate control. See SND_RATECONTROLMODE defines.
- * Encoders may rely on profiles for quality levels.
- * May be ignored by decoders.
- * @profile: Mandatory for encoders, can be mandatory for specific
- * decoders as well. See SND_AUDIOPROFILE defines.
- * @level: Supported level (Only used by WMA at the moment)
- * @ch_mode: Channel mode for encoder. See SND_AUDIOCHANMODE defines
- * @format: Format of encoded bistream. Mandatory when defined.
- * See SND_AUDIOSTREAMFORMAT defines.
- * @align: Block alignment in bytes of an audio sample.
- * Only required for PCM or IEC formats.
- * @options: encoder-specific settings
- * @reserved: reserved for future use
- */
-
-struct snd_codec {
- __u32 id;
- __u32 ch_in;
- __u32 ch_out;
- __u32 sample_rate;
- __u32 bit_rate;
- __u32 rate_control;
- __u32 profile;
- __u32 level;
- __u32 ch_mode;
- __u32 format;
- __u32 align;
- union snd_codec_options options;
- __u32 reserved[3];
-} __attribute__((packed, aligned(4)));
-
-#endif
diff --git a/linux-headers/include/sound/emu10k1.h b/linux-headers/include/sound/emu10k1.h
deleted file mode 100644
index 833aa69..0000000
--- a/linux-headers/include/sound/emu10k1.h
+++ /dev/null
@@ -1,378 +0,0 @@
-/*
- * Copyright (c) by Jaroslav Kysela <perex@perex.cz>,
- * Creative Labs, Inc.
- * Definitions for EMU10K1 (SB Live!) chips
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef __SOUND_EMU10K1_H
-#define __SOUND_EMU10K1_H
-
-#include <linux/types.h>
-#include <sound/asound.h>
-
-/*
- * ---- FX8010 ----
- */
-
-#define EMU10K1_CARD_CREATIVE 0x00000000
-#define EMU10K1_CARD_EMUAPS 0x00000001
-
-#define EMU10K1_FX8010_PCM_COUNT 8
-
-/*
- * Following definition is copied from linux/types.h to support compiling
- * this header file in userspace since they are not generally available for
- * uapi headers.
- */
-#define __EMU10K1_DECLARE_BITMAP(name,bits) \
- unsigned long name[(bits) / (sizeof(unsigned long) * 8)]
-
-/* instruction set */
-#define iMAC0 0x00 /* R = A + (X * Y >> 31) ; saturation */
-#define iMAC1 0x01 /* R = A + (-X * Y >> 31) ; saturation */
-#define iMAC2 0x02 /* R = A + (X * Y >> 31) ; wraparound */
-#define iMAC3 0x03 /* R = A + (-X * Y >> 31) ; wraparound */
-#define iMACINT0 0x04 /* R = A + X * Y ; saturation */
-#define iMACINT1 0x05 /* R = A + X * Y ; wraparound (31-bit) */
-#define iACC3 0x06 /* R = A + X + Y ; saturation */
-#define iMACMV 0x07 /* R = A, acc += X * Y >> 31 */
-#define iANDXOR 0x08 /* R = (A & X) ^ Y */
-#define iTSTNEG 0x09 /* R = (A >= Y) ? X : ~X */
-#define iLIMITGE 0x0a /* R = (A >= Y) ? X : Y */
-#define iLIMITLT 0x0b /* R = (A < Y) ? X : Y */
-#define iLOG 0x0c /* R = linear_data, A (log_data), X (max_exp), Y (format_word) */
-#define iEXP 0x0d /* R = log_data, A (linear_data), X (max_exp), Y (format_word) */
-#define iINTERP 0x0e /* R = A + (X * (Y - A) >> 31) ; saturation */
-#define iSKIP 0x0f /* R = A (cc_reg), X (count), Y (cc_test) */
-
-/* GPRs */
-#define FXBUS(x) (0x00 + (x)) /* x = 0x00 - 0x0f */
-#define EXTIN(x) (0x10 + (x)) /* x = 0x00 - 0x0f */
-#define EXTOUT(x) (0x20 + (x)) /* x = 0x00 - 0x0f physical outs -> FXWC low 16 bits */
-#define FXBUS2(x) (0x30 + (x)) /* x = 0x00 - 0x0f copies of fx buses for capture -> FXWC high 16 bits */
- /* NB: 0x31 and 0x32 are shared with Center/LFE on SB live 5.1 */
-
-#define C_00000000 0x40
-#define C_00000001 0x41
-#define C_00000002 0x42
-#define C_00000003 0x43
-#define C_00000004 0x44
-#define C_00000008 0x45
-#define C_00000010 0x46
-#define C_00000020 0x47
-#define C_00000100 0x48
-#define C_00010000 0x49
-#define C_00080000 0x4a
-#define C_10000000 0x4b
-#define C_20000000 0x4c
-#define C_40000000 0x4d
-#define C_80000000 0x4e
-#define C_7fffffff 0x4f
-#define C_ffffffff 0x50
-#define C_fffffffe 0x51
-#define C_c0000000 0x52
-#define C_4f1bbcdc 0x53
-#define C_5a7ef9db 0x54
-#define C_00100000 0x55 /* ?? */
-#define GPR_ACCU 0x56 /* ACCUM, accumulator */
-#define GPR_COND 0x57 /* CCR, condition register */
-#define GPR_NOISE0 0x58 /* noise source */
-#define GPR_NOISE1 0x59 /* noise source */
-#define GPR_IRQ 0x5a /* IRQ register */
-#define GPR_DBAC 0x5b /* TRAM Delay Base Address Counter */
-#define GPR(x) (FXGPREGBASE + (x)) /* free GPRs: x = 0x00 - 0xff */
-#define ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) /* x = 0x00 - 0x7f */
-#define ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0x80 + (x)) /* x = 0x00 - 0x1f */
-#define ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) /* x = 0x00 - 0x7f */
-#define ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x80 + (x)) /* x = 0x00 - 0x1f */
-
-#define A_ITRAM_DATA(x) (TANKMEMDATAREGBASE + 0x00 + (x)) /* x = 0x00 - 0xbf */
-#define A_ETRAM_DATA(x) (TANKMEMDATAREGBASE + 0xc0 + (x)) /* x = 0x00 - 0x3f */
-#define A_ITRAM_ADDR(x) (TANKMEMADDRREGBASE + 0x00 + (x)) /* x = 0x00 - 0xbf */
-#define A_ETRAM_ADDR(x) (TANKMEMADDRREGBASE + 0xc0 + (x)) /* x = 0x00 - 0x3f */
-#define A_ITRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0x00 + (x)) /* x = 0x00 - 0xbf */
-#define A_ETRAM_CTL(x) (A_TANKMEMCTLREGBASE + 0xc0 + (x)) /* x = 0x00 - 0x3f */
-
-#define A_FXBUS(x) (0x00 + (x)) /* x = 0x00 - 0x3f FX buses */
-#define A_EXTIN(x) (0x40 + (x)) /* x = 0x00 - 0x0f physical ins */
-#define A_P16VIN(x) (0x50 + (x)) /* x = 0x00 - 0x0f p16v ins (A2 only) "EMU32 inputs" */
-#define A_EXTOUT(x) (0x60 + (x)) /* x = 0x00 - 0x1f physical outs -> A_FXWC1 0x79-7f unknown */
-#define A_FXBUS2(x) (0x80 + (x)) /* x = 0x00 - 0x1f extra outs used for EFX capture -> A_FXWC2 */
-#define A_EMU32OUTH(x) (0xa0 + (x)) /* x = 0x00 - 0x0f "EMU32_OUT_10 - _1F" - ??? */
-#define A_EMU32OUTL(x) (0xb0 + (x)) /* x = 0x00 - 0x0f "EMU32_OUT_1 - _F" - ??? */
-#define A3_EMU32IN(x) (0x160 + (x)) /* x = 0x00 - 0x3f "EMU32_IN_00 - _3F" - Only when .device = 0x0008 */
-#define A3_EMU32OUT(x) (0x1E0 + (x)) /* x = 0x00 - 0x0f "EMU32_OUT_00 - _3F" - Only when .device = 0x0008 */
-#define A_GPR(x) (A_FXGPREGBASE + (x))
-
-/* cc_reg constants */
-#define CC_REG_NORMALIZED C_00000001
-#define CC_REG_BORROW C_00000002
-#define CC_REG_MINUS C_00000004
-#define CC_REG_ZERO C_00000008
-#define CC_REG_SATURATE C_00000010
-#define CC_REG_NONZERO C_00000100
-
-/* FX buses */
-#define FXBUS_PCM_LEFT 0x00
-#define FXBUS_PCM_RIGHT 0x01
-#define FXBUS_PCM_LEFT_REAR 0x02
-#define FXBUS_PCM_RIGHT_REAR 0x03
-#define FXBUS_MIDI_LEFT 0x04
-#define FXBUS_MIDI_RIGHT 0x05
-#define FXBUS_PCM_CENTER 0x06
-#define FXBUS_PCM_LFE 0x07
-#define FXBUS_PCM_LEFT_FRONT 0x08
-#define FXBUS_PCM_RIGHT_FRONT 0x09
-#define FXBUS_MIDI_REVERB 0x0c
-#define FXBUS_MIDI_CHORUS 0x0d
-#define FXBUS_PCM_LEFT_SIDE 0x0e
-#define FXBUS_PCM_RIGHT_SIDE 0x0f
-#define FXBUS_PT_LEFT 0x14
-#define FXBUS_PT_RIGHT 0x15
-
-/* Inputs */
-#define EXTIN_AC97_L 0x00 /* AC'97 capture channel - left */
-#define EXTIN_AC97_R 0x01 /* AC'97 capture channel - right */
-#define EXTIN_SPDIF_CD_L 0x02 /* internal S/PDIF CD - onboard - left */
-#define EXTIN_SPDIF_CD_R 0x03 /* internal S/PDIF CD - onboard - right */
-#define EXTIN_ZOOM_L 0x04 /* Zoom Video I2S - left */
-#define EXTIN_ZOOM_R 0x05 /* Zoom Video I2S - right */
-#define EXTIN_TOSLINK_L 0x06 /* LiveDrive - TOSLink Optical - left */
-#define EXTIN_TOSLINK_R 0x07 /* LiveDrive - TOSLink Optical - right */
-#define EXTIN_LINE1_L 0x08 /* LiveDrive - Line/Mic 1 - left */
-#define EXTIN_LINE1_R 0x09 /* LiveDrive - Line/Mic 1 - right */
-#define EXTIN_COAX_SPDIF_L 0x0a /* LiveDrive - Coaxial S/PDIF - left */
-#define EXTIN_COAX_SPDIF_R 0x0b /* LiveDrive - Coaxial S/PDIF - right */
-#define EXTIN_LINE2_L 0x0c /* LiveDrive - Line/Mic 2 - left */
-#define EXTIN_LINE2_R 0x0d /* LiveDrive - Line/Mic 2 - right */
-
-/* Outputs */
-#define EXTOUT_AC97_L 0x00 /* AC'97 playback channel - left */
-#define EXTOUT_AC97_R 0x01 /* AC'97 playback channel - right */
-#define EXTOUT_TOSLINK_L 0x02 /* LiveDrive - TOSLink Optical - left */
-#define EXTOUT_TOSLINK_R 0x03 /* LiveDrive - TOSLink Optical - right */
-#define EXTOUT_AC97_CENTER 0x04 /* SB Live 5.1 - center */
-#define EXTOUT_AC97_LFE 0x05 /* SB Live 5.1 - LFE */
-#define EXTOUT_HEADPHONE_L 0x06 /* LiveDrive - Headphone - left */
-#define EXTOUT_HEADPHONE_R 0x07 /* LiveDrive - Headphone - right */
-#define EXTOUT_REAR_L 0x08 /* Rear channel - left */
-#define EXTOUT_REAR_R 0x09 /* Rear channel - right */
-#define EXTOUT_ADC_CAP_L 0x0a /* ADC Capture buffer - left */
-#define EXTOUT_ADC_CAP_R 0x0b /* ADC Capture buffer - right */
-#define EXTOUT_MIC_CAP 0x0c /* MIC Capture buffer */
-#define EXTOUT_AC97_REAR_L 0x0d /* SB Live 5.1 (c) 2003 - Rear Left */
-#define EXTOUT_AC97_REAR_R 0x0e /* SB Live 5.1 (c) 2003 - Rear Right */
-#define EXTOUT_ACENTER 0x11 /* Analog Center */
-#define EXTOUT_ALFE 0x12 /* Analog LFE */
-
-/* Audigy Inputs */
-#define A_EXTIN_AC97_L 0x00 /* AC'97 capture channel - left */
-#define A_EXTIN_AC97_R 0x01 /* AC'97 capture channel - right */
-#define A_EXTIN_SPDIF_CD_L 0x02 /* digital CD left */
-#define A_EXTIN_SPDIF_CD_R 0x03 /* digital CD left */
-#define A_EXTIN_OPT_SPDIF_L 0x04 /* audigy drive Optical SPDIF - left */
-#define A_EXTIN_OPT_SPDIF_R 0x05 /* right */
-#define A_EXTIN_LINE2_L 0x08 /* audigy drive line2/mic2 - left */
-#define A_EXTIN_LINE2_R 0x09 /* right */
-#define A_EXTIN_ADC_L 0x0a /* Philips ADC - left */
-#define A_EXTIN_ADC_R 0x0b /* right */
-#define A_EXTIN_AUX2_L 0x0c /* audigy drive aux2 - left */
-#define A_EXTIN_AUX2_R 0x0d /* - right */
-
-/* Audigiy Outputs */
-#define A_EXTOUT_FRONT_L 0x00 /* digital front left */
-#define A_EXTOUT_FRONT_R 0x01 /* right */
-#define A_EXTOUT_CENTER 0x02 /* digital front center */
-#define A_EXTOUT_LFE 0x03 /* digital front lfe */
-#define A_EXTOUT_HEADPHONE_L 0x04 /* headphone audigy drive left */
-#define A_EXTOUT_HEADPHONE_R 0x05 /* right */
-#define A_EXTOUT_REAR_L 0x06 /* digital rear left */
-#define A_EXTOUT_REAR_R 0x07 /* right */
-#define A_EXTOUT_AFRONT_L 0x08 /* analog front left */
-#define A_EXTOUT_AFRONT_R 0x09 /* right */
-#define A_EXTOUT_ACENTER 0x0a /* analog center */
-#define A_EXTOUT_ALFE 0x0b /* analog LFE */
-#define A_EXTOUT_ASIDE_L 0x0c /* analog side left - Audigy 2 ZS */
-#define A_EXTOUT_ASIDE_R 0x0d /* right - Audigy 2 ZS */
-#define A_EXTOUT_AREAR_L 0x0e /* analog rear left */
-#define A_EXTOUT_AREAR_R 0x0f /* right */
-#define A_EXTOUT_AC97_L 0x10 /* AC97 left (front) */
-#define A_EXTOUT_AC97_R 0x11 /* right */
-#define A_EXTOUT_ADC_CAP_L 0x16 /* ADC capture buffer left */
-#define A_EXTOUT_ADC_CAP_R 0x17 /* right */
-#define A_EXTOUT_MIC_CAP 0x18 /* Mic capture buffer */
-
-/* Audigy constants */
-#define A_C_00000000 0xc0
-#define A_C_00000001 0xc1
-#define A_C_00000002 0xc2
-#define A_C_00000003 0xc3
-#define A_C_00000004 0xc4
-#define A_C_00000008 0xc5
-#define A_C_00000010 0xc6
-#define A_C_00000020 0xc7
-#define A_C_00000100 0xc8
-#define A_C_00010000 0xc9
-#define A_C_00000800 0xca
-#define A_C_10000000 0xcb
-#define A_C_20000000 0xcc
-#define A_C_40000000 0xcd
-#define A_C_80000000 0xce
-#define A_C_7fffffff 0xcf
-#define A_C_ffffffff 0xd0
-#define A_C_fffffffe 0xd1
-#define A_C_c0000000 0xd2
-#define A_C_4f1bbcdc 0xd3
-#define A_C_5a7ef9db 0xd4
-#define A_C_00100000 0xd5
-#define A_GPR_ACCU 0xd6 /* ACCUM, accumulator */
-#define A_GPR_COND 0xd7 /* CCR, condition register */
-#define A_GPR_NOISE0 0xd8 /* noise source */
-#define A_GPR_NOISE1 0xd9 /* noise source */
-#define A_GPR_IRQ 0xda /* IRQ register */
-#define A_GPR_DBAC 0xdb /* TRAM Delay Base Address Counter - internal */
-#define A_GPR_DBACE 0xde /* TRAM Delay Base Address Counter - external */
-
-/* definitions for debug register */
-#define EMU10K1_DBG_ZC 0x80000000 /* zero tram counter */
-#define EMU10K1_DBG_SATURATION_OCCURED 0x02000000 /* saturation control */
-#define EMU10K1_DBG_SATURATION_ADDR 0x01ff0000 /* saturation address */
-#define EMU10K1_DBG_SINGLE_STEP 0x00008000 /* single step mode */
-#define EMU10K1_DBG_STEP 0x00004000 /* start single step */
-#define EMU10K1_DBG_CONDITION_CODE 0x00003e00 /* condition code */
-#define EMU10K1_DBG_SINGLE_STEP_ADDR 0x000001ff /* single step address */
-
-/* tank memory address line */
-#define TANKMEMADDRREG_ADDR_MASK 0x000fffff /* 20 bit tank address field */
-#define TANKMEMADDRREG_CLEAR 0x00800000 /* Clear tank memory */
-#define TANKMEMADDRREG_ALIGN 0x00400000 /* Align read or write relative to tank access */
-#define TANKMEMADDRREG_WRITE 0x00200000 /* Write to tank memory */
-#define TANKMEMADDRREG_READ 0x00100000 /* Read from tank memory */
-
-struct snd_emu10k1_fx8010_info {
- unsigned int internal_tram_size; /* in samples */
- unsigned int external_tram_size; /* in samples */
- char fxbus_names[16][32]; /* names of FXBUSes */
- char extin_names[16][32]; /* names of external inputs */
- char extout_names[32][32]; /* names of external outputs */
- unsigned int gpr_controls; /* count of GPR controls */
-};
-
-#define EMU10K1_GPR_TRANSLATION_NONE 0
-#define EMU10K1_GPR_TRANSLATION_TABLE100 1
-#define EMU10K1_GPR_TRANSLATION_BASS 2
-#define EMU10K1_GPR_TRANSLATION_TREBLE 3
-#define EMU10K1_GPR_TRANSLATION_ONOFF 4
-
-struct snd_emu10k1_fx8010_control_gpr {
- struct snd_ctl_elem_id id; /* full control ID definition */
- unsigned int vcount; /* visible count */
- unsigned int count; /* count of GPR (1..16) */
- unsigned short gpr[32]; /* GPR number(s) */
- unsigned int value[32]; /* initial values */
- unsigned int min; /* minimum range */
- unsigned int max; /* maximum range */
- unsigned int translation; /* translation type (EMU10K1_GPR_TRANSLATION*) */
- const unsigned int *tlv;
-};
-
-/* old ABI without TLV support */
-struct snd_emu10k1_fx8010_control_old_gpr {
- struct snd_ctl_elem_id id;
- unsigned int vcount;
- unsigned int count;
- unsigned short gpr[32];
- unsigned int value[32];
- unsigned int min;
- unsigned int max;
- unsigned int translation;
-};
-
-struct snd_emu10k1_fx8010_code {
- char name[128];
-
- __EMU10K1_DECLARE_BITMAP(gpr_valid, 0x200); /* bitmask of valid initializers */
- __u32 *gpr_map; /* initializers */
-
- unsigned int gpr_add_control_count; /* count of GPR controls to add/replace */
- struct snd_emu10k1_fx8010_control_gpr *gpr_add_controls; /* GPR controls to add/replace */
-
- unsigned int gpr_del_control_count; /* count of GPR controls to remove */
- struct snd_ctl_elem_id *gpr_del_controls; /* IDs of GPR controls to remove */
-
- unsigned int gpr_list_control_count; /* count of GPR controls to list */
- unsigned int gpr_list_control_total; /* total count of GPR controls */
- struct snd_emu10k1_fx8010_control_gpr *gpr_list_controls; /* listed GPR controls */
-
- __EMU10K1_DECLARE_BITMAP(tram_valid, 0x100); /* bitmask of valid initializers */
- __u32 *tram_data_map; /* data initializers */
- __u32 *tram_addr_map; /* map initializers */
-
- __EMU10K1_DECLARE_BITMAP(code_valid, 1024); /* bitmask of valid instructions */
- __u32 *code; /* one instruction - 64 bits */
-};
-
-struct snd_emu10k1_fx8010_tram {
- unsigned int address; /* 31.bit == 1 -> external TRAM */
- unsigned int size; /* size in samples (4 bytes) */
- unsigned int *samples; /* pointer to samples (20-bit) */
- /* NULL->clear memory */
-};
-
-struct snd_emu10k1_fx8010_pcm_rec {
- unsigned int substream; /* substream number */
- unsigned int res1; /* reserved */
- unsigned int channels; /* 16-bit channels count, zero = remove this substream */
- unsigned int tram_start; /* ring buffer position in TRAM (in samples) */
- unsigned int buffer_size; /* count of buffered samples */
- unsigned short gpr_size; /* GPR containing size of ringbuffer in samples (host) */
- unsigned short gpr_ptr; /* GPR containing current pointer in the ring buffer (host = reset, FX8010) */
- unsigned short gpr_count; /* GPR containing count of samples between two interrupts (host) */
- unsigned short gpr_tmpcount; /* GPR containing current count of samples to interrupt (host = set, FX8010) */
- unsigned short gpr_trigger; /* GPR containing trigger (activate) information (host) */
- unsigned short gpr_running; /* GPR containing info if PCM is running (FX8010) */
- unsigned char pad; /* reserved */
- unsigned char etram[32]; /* external TRAM address & data (one per channel) */
- unsigned int res2; /* reserved */
-};
-
-#define SNDRV_EMU10K1_VERSION SNDRV_PROTOCOL_VERSION(1, 0, 1)
-
-#define SNDRV_EMU10K1_IOCTL_INFO _IOR ('H', 0x10, struct snd_emu10k1_fx8010_info)
-#define SNDRV_EMU10K1_IOCTL_CODE_POKE _IOW ('H', 0x11, struct snd_emu10k1_fx8010_code)
-#define SNDRV_EMU10K1_IOCTL_CODE_PEEK _IOWR('H', 0x12, struct snd_emu10k1_fx8010_code)
-#define SNDRV_EMU10K1_IOCTL_TRAM_SETUP _IOW ('H', 0x20, int)
-#define SNDRV_EMU10K1_IOCTL_TRAM_POKE _IOW ('H', 0x21, struct snd_emu10k1_fx8010_tram)
-#define SNDRV_EMU10K1_IOCTL_TRAM_PEEK _IOWR('H', 0x22, struct snd_emu10k1_fx8010_tram)
-#define SNDRV_EMU10K1_IOCTL_PCM_POKE _IOW ('H', 0x30, struct snd_emu10k1_fx8010_pcm_rec)
-#define SNDRV_EMU10K1_IOCTL_PCM_PEEK _IOWR('H', 0x31, struct snd_emu10k1_fx8010_pcm_rec)
-#define SNDRV_EMU10K1_IOCTL_PVERSION _IOR ('H', 0x40, int)
-#define SNDRV_EMU10K1_IOCTL_STOP _IO ('H', 0x80)
-#define SNDRV_EMU10K1_IOCTL_CONTINUE _IO ('H', 0x81)
-#define SNDRV_EMU10K1_IOCTL_ZERO_TRAM_COUNTER _IO ('H', 0x82)
-#define SNDRV_EMU10K1_IOCTL_SINGLE_STEP _IOW ('H', 0x83, int)
-#define SNDRV_EMU10K1_IOCTL_DBG_READ _IOR ('H', 0x84, int)
-
-/* typedefs for compatibility to user-space */
-typedef struct snd_emu10k1_fx8010_info emu10k1_fx8010_info_t;
-typedef struct snd_emu10k1_fx8010_control_gpr emu10k1_fx8010_control_gpr_t;
-typedef struct snd_emu10k1_fx8010_code emu10k1_fx8010_code_t;
-typedef struct snd_emu10k1_fx8010_tram emu10k1_fx8010_tram_t;
-typedef struct snd_emu10k1_fx8010_pcm_rec emu10k1_fx8010_pcm_t;
-
-#endif /* __SOUND_EMU10K1_H */
diff --git a/linux-headers/include/sound/firewire.h b/linux-headers/include/sound/firewire.h
deleted file mode 100644
index 2da0160..0000000
--- a/linux-headers/include/sound/firewire.h
+++ /dev/null
@@ -1,82 +0,0 @@
-#ifndef _SOUND_FIREWIRE_H_INCLUDED
-#define _SOUND_FIREWIRE_H_INCLUDED
-
-#include <linux/ioctl.h>
-#include <linux/types.h>
-
-/* events can be read() from the hwdep device */
-
-#define SNDRV_FIREWIRE_EVENT_LOCK_STATUS 0x000010cc
-#define SNDRV_FIREWIRE_EVENT_DICE_NOTIFICATION 0xd1ce004e
-#define SNDRV_FIREWIRE_EVENT_EFW_RESPONSE 0x4e617475
-#define SNDRV_FIREWIRE_EVENT_DIGI00X_MESSAGE 0x746e736c
-
-struct snd_firewire_event_common {
- unsigned int type; /* SNDRV_FIREWIRE_EVENT_xxx */
-};
-
-struct snd_firewire_event_lock_status {
- unsigned int type;
- unsigned int status; /* 0/1 = unlocked/locked */
-};
-
-struct snd_firewire_event_dice_notification {
- unsigned int type;
- unsigned int notification; /* DICE-specific bits */
-};
-
-#define SND_EFW_TRANSACTION_USER_SEQNUM_MAX ((__u32)((__u16)~0) - 1)
-/* each field should be in big endian */
-struct snd_efw_transaction {
- __be32 length;
- __be32 version;
- __be32 seqnum;
- __be32 category;
- __be32 command;
- __be32 status;
- __be32 params[0];
-};
-struct snd_firewire_event_efw_response {
- unsigned int type;
- __be32 response[0]; /* some responses */
-};
-
-struct snd_firewire_event_digi00x_message {
- unsigned int type;
- __u32 message; /* Digi00x-specific message */
-};
-
-union snd_firewire_event {
- struct snd_firewire_event_common common;
- struct snd_firewire_event_lock_status lock_status;
- struct snd_firewire_event_dice_notification dice_notification;
- struct snd_firewire_event_efw_response efw_response;
- struct snd_firewire_event_digi00x_message digi00x_message;
-};
-
-
-#define SNDRV_FIREWIRE_IOCTL_GET_INFO _IOR('H', 0xf8, struct snd_firewire_get_info)
-#define SNDRV_FIREWIRE_IOCTL_LOCK _IO('H', 0xf9)
-#define SNDRV_FIREWIRE_IOCTL_UNLOCK _IO('H', 0xfa)
-
-#define SNDRV_FIREWIRE_TYPE_DICE 1
-#define SNDRV_FIREWIRE_TYPE_FIREWORKS 2
-#define SNDRV_FIREWIRE_TYPE_BEBOB 3
-#define SNDRV_FIREWIRE_TYPE_OXFW 4
-#define SNDRV_FIREWIRE_TYPE_DIGI00X 5
-#define SNDRV_FIREWIRE_TYPE_TASCAM 6
-/* RME, MOTU, ... */
-
-struct snd_firewire_get_info {
- unsigned int type; /* SNDRV_FIREWIRE_TYPE_xxx */
- unsigned int card; /* same as fw_cdev_get_info.card */
- unsigned char guid[8];
- char device_name[16]; /* device node in /dev */
-};
-
-/*
- * SNDRV_FIREWIRE_IOCTL_LOCK prevents the driver from streaming.
- * Returns -EBUSY if the driver is already streaming.
- */
-
-#endif /* _SOUND_FIREWIRE_H_INCLUDED */
diff --git a/linux-headers/include/sound/hdsp.h b/linux-headers/include/sound/hdsp.h
deleted file mode 100644
index 56b11a7..0000000
--- a/linux-headers/include/sound/hdsp.h
+++ /dev/null
@@ -1,110 +0,0 @@
-#ifndef __SOUND_HDSP_H
-#define __SOUND_HDSP_H
-
-/*
- * Copyright (C) 2003 Thomas Charbonnel (thomas@undata.org)
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <linux/types.h>
-
-#define HDSP_MATRIX_MIXER_SIZE 2048
-
-enum HDSP_IO_Type {
- Digiface,
- Multiface,
- H9652,
- H9632,
- RPM,
- Undefined,
-};
-
-struct hdsp_peak_rms {
- __u32 input_peaks[26];
- __u32 playback_peaks[26];
- __u32 output_peaks[28];
- __u64 input_rms[26];
- __u64 playback_rms[26];
- /* These are only used for H96xx cards */
- __u64 output_rms[26];
-};
-
-#define SNDRV_HDSP_IOCTL_GET_PEAK_RMS _IOR('H', 0x40, struct hdsp_peak_rms)
-
-struct hdsp_config_info {
- unsigned char pref_sync_ref;
- unsigned char wordclock_sync_check;
- unsigned char spdif_sync_check;
- unsigned char adatsync_sync_check;
- unsigned char adat_sync_check[3];
- unsigned char spdif_in;
- unsigned char spdif_out;
- unsigned char spdif_professional;
- unsigned char spdif_emphasis;
- unsigned char spdif_nonaudio;
- unsigned int spdif_sample_rate;
- unsigned int system_sample_rate;
- unsigned int autosync_sample_rate;
- unsigned char system_clock_mode;
- unsigned char clock_source;
- unsigned char autosync_ref;
- unsigned char line_out;
- unsigned char passthru;
- unsigned char da_gain;
- unsigned char ad_gain;
- unsigned char phone_gain;
- unsigned char xlr_breakout_cable;
- unsigned char analog_extension_board;
-};
-
-#define SNDRV_HDSP_IOCTL_GET_CONFIG_INFO _IOR('H', 0x41, struct hdsp_config_info)
-
-struct hdsp_firmware {
- void *firmware_data; /* 24413 x 4 bytes */
-};
-
-#define SNDRV_HDSP_IOCTL_UPLOAD_FIRMWARE _IOW('H', 0x42, struct hdsp_firmware)
-
-struct hdsp_version {
- enum HDSP_IO_Type io_type;
- unsigned short firmware_rev;
-};
-
-#define SNDRV_HDSP_IOCTL_GET_VERSION _IOR('H', 0x43, struct hdsp_version)
-
-struct hdsp_mixer {
- unsigned short matrix[HDSP_MATRIX_MIXER_SIZE];
-};
-
-#define SNDRV_HDSP_IOCTL_GET_MIXER _IOR('H', 0x44, struct hdsp_mixer)
-
-struct hdsp_9632_aeb {
- int aebi;
- int aebo;
-};
-
-#define SNDRV_HDSP_IOCTL_GET_9632_AEB _IOR('H', 0x45, struct hdsp_9632_aeb)
-
-/* typedefs for compatibility to user-space */
-typedef enum HDSP_IO_Type HDSP_IO_Type;
-typedef struct hdsp_peak_rms hdsp_peak_rms_t;
-typedef struct hdsp_config_info hdsp_config_info_t;
-typedef struct hdsp_firmware hdsp_firmware_t;
-typedef struct hdsp_version hdsp_version_t;
-typedef struct hdsp_mixer hdsp_mixer_t;
-typedef struct hdsp_9632_aeb hdsp_9632_aeb_t;
-
-#endif /* __SOUND_HDSP_H */
diff --git a/linux-headers/include/sound/hdspm.h b/linux-headers/include/sound/hdspm.h
deleted file mode 100644
index c4db6f5..0000000
--- a/linux-headers/include/sound/hdspm.h
+++ /dev/null
@@ -1,231 +0,0 @@
-#ifndef __SOUND_HDSPM_H
-#define __SOUND_HDSPM_H
-/*
- * Copyright (C) 2003 Winfried Ritsch (IEM)
- * based on hdsp.h from Thomas Charbonnel (thomas@undata.org)
- *
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-
-#include <linux/types.h>
-
-/* Maximum channels is 64 even on 56Mode you have 64playbacks to matrix */
-#define HDSPM_MAX_CHANNELS 64
-
-enum hdspm_io_type {
- MADI,
- MADIface,
- AIO,
- AES32,
- RayDAT
-};
-
-enum hdspm_speed {
- ss,
- ds,
- qs
-};
-
-/* -------------------- IOCTL Peak/RMS Meters -------------------- */
-
-struct hdspm_peak_rms {
- __u32 input_peaks[64];
- __u32 playback_peaks[64];
- __u32 output_peaks[64];
-
- __u64 input_rms[64];
- __u64 playback_rms[64];
- __u64 output_rms[64];
-
- __u8 speed; /* enum {ss, ds, qs} */
- int status2;
-};
-
-#define SNDRV_HDSPM_IOCTL_GET_PEAK_RMS \
- _IOR('H', 0x42, struct hdspm_peak_rms)
-
-/* ------------ CONFIG block IOCTL ---------------------- */
-
-struct hdspm_config {
- unsigned char pref_sync_ref;
- unsigned char wordclock_sync_check;
- unsigned char madi_sync_check;
- unsigned int system_sample_rate;
- unsigned int autosync_sample_rate;
- unsigned char system_clock_mode;
- unsigned char clock_source;
- unsigned char autosync_ref;
- unsigned char line_out;
- unsigned int passthru;
- unsigned int analog_out;
-};
-
-#define SNDRV_HDSPM_IOCTL_GET_CONFIG \
- _IOR('H', 0x41, struct hdspm_config)
-
-/*
- * If there's a TCO (TimeCode Option) board installed,
- * there are further options and status data available.
- * The hdspm_ltc structure contains the current SMPTE
- * timecode and some status information and can be
- * obtained via SNDRV_HDSPM_IOCTL_GET_LTC or in the
- * hdspm_status struct.
- */
-
-enum hdspm_ltc_format {
- format_invalid,
- fps_24,
- fps_25,
- fps_2997,
- fps_30
-};
-
-enum hdspm_ltc_frame {
- frame_invalid,
- drop_frame,
- full_frame
-};
-
-enum hdspm_ltc_input_format {
- ntsc,
- pal,
- no_video
-};
-
-struct hdspm_ltc {
- unsigned int ltc;
-
- enum hdspm_ltc_format format;
- enum hdspm_ltc_frame frame;
- enum hdspm_ltc_input_format input_format;
-};
-
-#define SNDRV_HDSPM_IOCTL_GET_LTC _IOR('H', 0x46, struct hdspm_ltc)
-
-/*
- * The status data reflects the device's current state
- * as determined by the card's configuration and
- * connection status.
- */
-
-enum hdspm_sync {
- hdspm_sync_no_lock = 0,
- hdspm_sync_lock = 1,
- hdspm_sync_sync = 2
-};
-
-enum hdspm_madi_input {
- hdspm_input_optical = 0,
- hdspm_input_coax = 1
-};
-
-enum hdspm_madi_channel_format {
- hdspm_format_ch_64 = 0,
- hdspm_format_ch_56 = 1
-};
-
-enum hdspm_madi_frame_format {
- hdspm_frame_48 = 0,
- hdspm_frame_96 = 1
-};
-
-enum hdspm_syncsource {
- syncsource_wc = 0,
- syncsource_madi = 1,
- syncsource_tco = 2,
- syncsource_sync = 3,
- syncsource_none = 4
-};
-
-struct hdspm_status {
- __u8 card_type; /* enum hdspm_io_type */
- enum hdspm_syncsource autosync_source;
-
- __u64 card_clock;
- __u32 master_period;
-
- union {
- struct {
- __u8 sync_wc; /* enum hdspm_sync */
- __u8 sync_madi; /* enum hdspm_sync */
- __u8 sync_tco; /* enum hdspm_sync */
- __u8 sync_in; /* enum hdspm_sync */
- __u8 madi_input; /* enum hdspm_madi_input */
- __u8 channel_format; /* enum hdspm_madi_channel_format */
- __u8 frame_format; /* enum hdspm_madi_frame_format */
- } madi;
- } card_specific;
-};
-
-#define SNDRV_HDSPM_IOCTL_GET_STATUS \
- _IOR('H', 0x47, struct hdspm_status)
-
-/*
- * Get information about the card and its add-ons.
- */
-
-#define HDSPM_ADDON_TCO 1
-
-struct hdspm_version {
- __u8 card_type; /* enum hdspm_io_type */
- char cardname[20];
- unsigned int serial;
- unsigned short firmware_rev;
- int addons;
-};
-
-#define SNDRV_HDSPM_IOCTL_GET_VERSION _IOR('H', 0x48, struct hdspm_version)
-
-/* ------------- get Matrix Mixer IOCTL --------------- */
-
-/* MADI mixer: 64inputs+64playback in 64outputs = 8192 => *4Byte =
- * 32768 Bytes
- */
-
-/* organisation is 64 channelfader in a continuous memory block */
-/* equivalent to hardware definition, maybe for future feature of mmap of
- * them
- */
-/* each of 64 outputs has 64 infader and 64 outfader:
- Ins to Outs mixer[out].in[in], Outstreams to Outs mixer[out].pb[pb] */
-
-#define HDSPM_MIXER_CHANNELS HDSPM_MAX_CHANNELS
-
-struct hdspm_channelfader {
- unsigned int in[HDSPM_MIXER_CHANNELS];
- unsigned int pb[HDSPM_MIXER_CHANNELS];
-};
-
-struct hdspm_mixer {
- struct hdspm_channelfader ch[HDSPM_MIXER_CHANNELS];
-};
-
-struct hdspm_mixer_ioctl {
- struct hdspm_mixer *mixer;
-};
-
-/* use indirect access due to the limit of ioctl bit size */
-#define SNDRV_HDSPM_IOCTL_GET_MIXER _IOR('H', 0x44, struct hdspm_mixer_ioctl)
-
-/* typedefs for compatibility to user-space */
-typedef struct hdspm_peak_rms hdspm_peak_rms_t;
-typedef struct hdspm_config_info hdspm_config_info_t;
-typedef struct hdspm_version hdspm_version_t;
-typedef struct hdspm_channelfader snd_hdspm_channelfader_t;
-typedef struct hdspm_mixer hdspm_mixer_t;
-
-
-#endif
diff --git a/linux-headers/include/sound/sb16_csp.h b/linux-headers/include/sound/sb16_csp.h
deleted file mode 100644
index 255f69c..0000000
--- a/linux-headers/include/sound/sb16_csp.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 1999 by Uros Bizjak <uros@kss-loka.si>
- * Takashi Iwai <tiwai@suse.de>
- *
- * SB16ASP/AWE32 CSP control
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-#ifndef __SOUND_SB16_CSP_H
-#define __SOUND_SB16_CSP_H
-
-
-/* CSP modes */
-#define SNDRV_SB_CSP_MODE_NONE 0x00
-#define SNDRV_SB_CSP_MODE_DSP_READ 0x01 /* Record from DSP */
-#define SNDRV_SB_CSP_MODE_DSP_WRITE 0x02 /* Play to DSP */
-#define SNDRV_SB_CSP_MODE_QSOUND 0x04 /* QSound */
-
-/* CSP load flags */
-#define SNDRV_SB_CSP_LOAD_FROMUSER 0x01
-#define SNDRV_SB_CSP_LOAD_INITBLOCK 0x02
-
-/* CSP sample width */
-#define SNDRV_SB_CSP_SAMPLE_8BIT 0x01
-#define SNDRV_SB_CSP_SAMPLE_16BIT 0x02
-
-/* CSP channels */
-#define SNDRV_SB_CSP_MONO 0x01
-#define SNDRV_SB_CSP_STEREO 0x02
-
-/* CSP rates */
-#define SNDRV_SB_CSP_RATE_8000 0x01
-#define SNDRV_SB_CSP_RATE_11025 0x02
-#define SNDRV_SB_CSP_RATE_22050 0x04
-#define SNDRV_SB_CSP_RATE_44100 0x08
-#define SNDRV_SB_CSP_RATE_ALL 0x0f
-
-/* CSP running state */
-#define SNDRV_SB_CSP_ST_IDLE 0x00
-#define SNDRV_SB_CSP_ST_LOADED 0x01
-#define SNDRV_SB_CSP_ST_RUNNING 0x02
-#define SNDRV_SB_CSP_ST_PAUSED 0x04
-#define SNDRV_SB_CSP_ST_AUTO 0x08
-#define SNDRV_SB_CSP_ST_QSOUND 0x10
-
-/* maximum QSound value (180 degrees right) */
-#define SNDRV_SB_CSP_QSOUND_MAX_RIGHT 0x20
-
-/* maximum microcode RIFF file size */
-#define SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE 0x3000
-
-/* microcode header */
-struct snd_sb_csp_mc_header {
- char codec_name[16]; /* id name of codec */
- unsigned short func_req; /* requested function */
-};
-
-/* microcode to be loaded */
-struct snd_sb_csp_microcode {
- struct snd_sb_csp_mc_header info;
- unsigned char data[SNDRV_SB_CSP_MAX_MICROCODE_FILE_SIZE];
-};
-
-/* start CSP with sample_width in mono/stereo */
-struct snd_sb_csp_start {
- int sample_width; /* sample width, look above */
- int channels; /* channels, look above */
-};
-
-/* CSP information */
-struct snd_sb_csp_info {
- char codec_name[16]; /* id name of codec */
- unsigned short func_nr; /* function number */
- unsigned int acc_format; /* accepted PCM formats */
- unsigned short acc_channels; /* accepted channels */
- unsigned short acc_width; /* accepted sample width */
- unsigned short acc_rates; /* accepted sample rates */
- unsigned short csp_mode; /* CSP mode, see above */
- unsigned short run_channels; /* current channels */
- unsigned short run_width; /* current sample width */
- unsigned short version; /* version id: 0x10 - 0x1f */
- unsigned short state; /* state bits */
-};
-
-/* HWDEP controls */
-/* get CSP information */
-#define SNDRV_SB_CSP_IOCTL_INFO _IOR('H', 0x10, struct snd_sb_csp_info)
-/* load microcode to CSP */
-/* NOTE: struct snd_sb_csp_microcode overflows the max size (13 bits)
- * defined for some architectures like MIPS, and it leads to build errors.
- * (x86 and co have 14-bit size, thus it's valid, though.)
- * As a workaround for skipping the size-limit check, here we don't use the
- * normal _IOW() macro but _IOC() with the manual argument.
- */
-#define SNDRV_SB_CSP_IOCTL_LOAD_CODE \
- _IOC(_IOC_WRITE, 'H', 0x11, sizeof(struct snd_sb_csp_microcode))
-/* unload microcode from CSP */
-#define SNDRV_SB_CSP_IOCTL_UNLOAD_CODE _IO('H', 0x12)
-/* start CSP */
-#define SNDRV_SB_CSP_IOCTL_START _IOW('H', 0x13, struct snd_sb_csp_start)
-/* stop CSP */
-#define SNDRV_SB_CSP_IOCTL_STOP _IO('H', 0x14)
-/* pause CSP and DMA transfer */
-#define SNDRV_SB_CSP_IOCTL_PAUSE _IO('H', 0x15)
-/* restart CSP and DMA transfer */
-#define SNDRV_SB_CSP_IOCTL_RESTART _IO('H', 0x16)
-
-
-#endif /* __SOUND_SB16_CSP_H */
diff --git a/linux-headers/include/sound/sfnt_info.h b/linux-headers/include/sound/sfnt_info.h
deleted file mode 100644
index 1bce7fd..0000000
--- a/linux-headers/include/sound/sfnt_info.h
+++ /dev/null
@@ -1,212 +0,0 @@
-#ifndef __SOUND_SFNT_INFO_H
-#define __SOUND_SFNT_INFO_H
-
-/*
- * Patch record compatible with AWE driver on OSS
- *
- * Copyright (C) 1999-2000 Takashi Iwai
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
- *
- */
-
-#include <sound/asound.h>
-
-/*
- * patch information record
- */
-
-#ifdef SNDRV_BIG_ENDIAN
-#define SNDRV_OSS_PATCHKEY(id) (0xfd00|id)
-#else
-#define SNDRV_OSS_PATCHKEY(id) ((id<<8)|0xfd)
-#endif
-
-/* patch interface header: 16 bytes */
-struct soundfont_patch_info {
- unsigned short key; /* use the key below */
-#define SNDRV_OSS_SOUNDFONT_PATCH SNDRV_OSS_PATCHKEY(0x07)
-
- short device_no; /* synthesizer number */
- unsigned short sf_id; /* file id (should be zero) */
- short optarg; /* optional argument */
- int len; /* data length (without this header) */
-
- short type; /* patch operation type */
-#define SNDRV_SFNT_LOAD_INFO 0 /* awe_voice_rec */
-#define SNDRV_SFNT_LOAD_DATA 1 /* awe_sample_info */
-#define SNDRV_SFNT_OPEN_PATCH 2 /* awe_open_parm */
-#define SNDRV_SFNT_CLOSE_PATCH 3 /* none */
- /* 4 is obsolete */
-#define SNDRV_SFNT_REPLACE_DATA 5 /* awe_sample_info (optarg=#channels)*/
-#define SNDRV_SFNT_MAP_PRESET 6 /* awe_voice_map */
- /* 7 is not used */
-#define SNDRV_SFNT_PROBE_DATA 8 /* optarg=sample */
-#define SNDRV_SFNT_REMOVE_INFO 9 /* optarg=(bank<<8)|instr */
-
- short reserved; /* word alignment data */
-
- /* the actual patch data begins after this */
-};
-
-
-/*
- * open patch
- */
-
-#define SNDRV_SFNT_PATCH_NAME_LEN 32
-
-struct soundfont_open_parm {
- unsigned short type; /* sample type */
-#define SNDRV_SFNT_PAT_TYPE_MISC 0
-#define SNDRV_SFNT_PAT_TYPE_GUS 6
-#define SNDRV_SFNT_PAT_TYPE_MAP 7
-#define SNDRV_SFNT_PAT_LOCKED 0x100 /* lock the samples */
-#define SNDRV_SFNT_PAT_SHARED 0x200 /* sample is shared */
-
- short reserved;
- char name[SNDRV_SFNT_PATCH_NAME_LEN];
-};
-
-
-/*
- * raw voice information record
- */
-
-/* wave table envelope & effect parameters to control EMU8000 */
-struct soundfont_voice_parm {
- unsigned short moddelay; /* modulation delay (0x8000) */
- unsigned short modatkhld; /* modulation attack & hold time (0x7f7f) */
- unsigned short moddcysus; /* modulation decay & sustain (0x7f7f) */
- unsigned short modrelease; /* modulation release time (0x807f) */
- short modkeyhold, modkeydecay; /* envelope change per key (not used) */
- unsigned short voldelay; /* volume delay (0x8000) */
- unsigned short volatkhld; /* volume attack & hold time (0x7f7f) */
- unsigned short voldcysus; /* volume decay & sustain (0x7f7f) */
- unsigned short volrelease; /* volume release time (0x807f) */
- short volkeyhold, volkeydecay; /* envelope change per key (not used) */
- unsigned short lfo1delay; /* LFO1 delay (0x8000) */
- unsigned short lfo2delay; /* LFO2 delay (0x8000) */
- unsigned short pefe; /* modulation pitch & cutoff (0x0000) */
- unsigned short fmmod; /* LFO1 pitch & cutoff (0x0000) */
- unsigned short tremfrq; /* LFO1 volume & freq (0x0000) */
- unsigned short fm2frq2; /* LFO2 pitch & freq (0x0000) */
- unsigned char cutoff; /* initial cutoff (0xff) */
- unsigned char filterQ; /* initial filter Q [0-15] (0x0) */
- unsigned char chorus; /* chorus send (0x00) */
- unsigned char reverb; /* reverb send (0x00) */
- unsigned short reserved[4]; /* not used */
-};
-
-
-/* wave table parameters: 92 bytes */
-struct soundfont_voice_info {
- unsigned short sf_id; /* file id (should be zero) */
- unsigned short sample; /* sample id */
- int start, end; /* sample offset correction */
- int loopstart, loopend; /* loop offset correction */
- short rate_offset; /* sample rate pitch offset */
- unsigned short mode; /* sample mode */
-#define SNDRV_SFNT_MODE_ROMSOUND 0x8000
-#define SNDRV_SFNT_MODE_STEREO 1
-#define SNDRV_SFNT_MODE_LOOPING 2
-#define SNDRV_SFNT_MODE_NORELEASE 4 /* obsolete */
-#define SNDRV_SFNT_MODE_INIT_PARM 8
-
- short root; /* midi root key */
- short tune; /* pitch tuning (in cents) */
- unsigned char low, high; /* key note range */
- unsigned char vellow, velhigh; /* velocity range */
- signed char fixkey, fixvel; /* fixed key, velocity */
- signed char pan, fixpan; /* panning, fixed panning */
- short exclusiveClass; /* exclusive class (0 = none) */
- unsigned char amplitude; /* sample volume (127 max) */
- unsigned char attenuation; /* attenuation (0.375dB) */
- short scaleTuning; /* pitch scale tuning(%), normally 100 */
- struct soundfont_voice_parm parm; /* voice envelope parameters */
- unsigned short sample_mode; /* sample mode_flag (set by driver) */
-};
-
-
-/* instrument info header: 4 bytes */
-struct soundfont_voice_rec_hdr {
- unsigned char bank; /* midi bank number */
- unsigned char instr; /* midi preset number */
- char nvoices; /* number of voices */
- char write_mode; /* write mode; normally 0 */
-#define SNDRV_SFNT_WR_APPEND 0 /* append anyway */
-#define SNDRV_SFNT_WR_EXCLUSIVE 1 /* skip if already exists */
-#define SNDRV_SFNT_WR_REPLACE 2 /* replace if already exists */
-};
-
-
-/*
- * sample wave information
- */
-
-/* wave table sample header: 32 bytes */
-struct soundfont_sample_info {
- unsigned short sf_id; /* file id (should be zero) */
- unsigned short sample; /* sample id */
- int start, end; /* start & end offset */
- int loopstart, loopend; /* loop start & end offset */
- int size; /* size (0 = ROM) */
- short dummy; /* not used */
- unsigned short mode_flags; /* mode flags */
-#define SNDRV_SFNT_SAMPLE_8BITS 1 /* wave data is 8bits */
-#define SNDRV_SFNT_SAMPLE_UNSIGNED 2 /* wave data is unsigned */
-#define SNDRV_SFNT_SAMPLE_NO_BLANK 4 /* no blank loop is attached */
-#define SNDRV_SFNT_SAMPLE_SINGLESHOT 8 /* single-shot w/o loop */
-#define SNDRV_SFNT_SAMPLE_BIDIR_LOOP 16 /* bidirectional looping */
-#define SNDRV_SFNT_SAMPLE_STEREO_LEFT 32 /* stereo left sound */
-#define SNDRV_SFNT_SAMPLE_STEREO_RIGHT 64 /* stereo right sound */
-#define SNDRV_SFNT_SAMPLE_REVERSE_LOOP 128 /* reverse looping */
- unsigned int truesize; /* used memory size (set by driver) */
-};
-
-
-/*
- * voice preset mapping (aliasing)
- */
-
-struct soundfont_voice_map {
- int map_bank, map_instr, map_key; /* key = -1 means all keys */
- int src_bank, src_instr, src_key;
-};
-
-
-/*
- * ioctls for hwdep
- */
-
-#define SNDRV_EMUX_HWDEP_NAME "Emux WaveTable"
-
-#define SNDRV_EMUX_VERSION ((1 << 16) | (0 << 8) | 0) /* 1.0.0 */
-
-struct snd_emux_misc_mode {
- int port; /* -1 = all */
- int mode;
- int value;
- int value2; /* reserved */
-};
-
-#define SNDRV_EMUX_IOCTL_VERSION _IOR('H', 0x80, unsigned int)
-#define SNDRV_EMUX_IOCTL_LOAD_PATCH _IOWR('H', 0x81, struct soundfont_patch_info)
-#define SNDRV_EMUX_IOCTL_RESET_SAMPLES _IO('H', 0x82)
-#define SNDRV_EMUX_IOCTL_REMOVE_LAST_SAMPLES _IO('H', 0x83)
-#define SNDRV_EMUX_IOCTL_MEM_AVAIL _IOW('H', 0x84, int)
-#define SNDRV_EMUX_IOCTL_MISC_MODE _IOWR('H', 0x84, struct snd_emux_misc_mode)
-
-#endif /* __SOUND_SFNT_INFO_H */
diff --git a/linux-headers/include/video/edid.h b/linux-headers/include/video/edid.h
deleted file mode 100644
index 6aeb974..0000000
--- a/linux-headers/include/video/edid.h
+++ /dev/null
@@ -1,9 +0,0 @@
-#ifndef __linux_video_edid_h__
-#define __linux_video_edid_h__
-
-struct edid_info {
- unsigned char dummy[128];
-};
-
-
-#endif /* __linux_video_edid_h__ */
diff --git a/linux-headers/include/video/sisfb.h b/linux-headers/include/video/sisfb.h
deleted file mode 100644
index e9b8e2c..0000000
--- a/linux-headers/include/video/sisfb.h
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * sisfb.h - definitions for the SiS framebuffer driver
- *
- * Copyright (C) 2001-2005 by Thomas Winischhofer, Vienna, Austria.
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the named License,
- * or any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
- */
-
-#ifndef _LINUX_SISFB_H_
-#define _LINUX_SISFB_H_
-
-#include <linux/types.h>
-#include <asm/ioctl.h>
-
-/**********************************************/
-/* PUBLIC */
-/**********************************************/
-
-/* vbflags, public (others in sis.h) */
-#define CRT2_DEFAULT 0x00000001
-#define CRT2_LCD 0x00000002
-#define CRT2_TV 0x00000004
-#define CRT2_VGA 0x00000008
-#define TV_NTSC 0x00000010
-#define TV_PAL 0x00000020
-#define TV_HIVISION 0x00000040
-#define TV_YPBPR 0x00000080
-#define TV_AVIDEO 0x00000100
-#define TV_SVIDEO 0x00000200
-#define TV_SCART 0x00000400
-#define TV_PALM 0x00001000
-#define TV_PALN 0x00002000
-#define TV_NTSCJ 0x00001000
-#define TV_CHSCART 0x00008000
-#define TV_CHYPBPR525I 0x00010000
-#define CRT1_VGA 0x00000000
-#define CRT1_LCDA 0x00020000
-#define VGA2_CONNECTED 0x00040000
-#define VB_DISPTYPE_CRT1 0x00080000 /* CRT1 connected and used */
-#define VB_SINGLE_MODE 0x20000000 /* CRT1 or CRT2; determined by DISPTYPE_CRTx */
-#define VB_MIRROR_MODE 0x40000000 /* CRT1 + CRT2 identical (mirror mode) */
-#define VB_DUALVIEW_MODE 0x80000000 /* CRT1 + CRT2 independent (dual head mode) */
-
-/* Aliases: */
-#define CRT2_ENABLE (CRT2_LCD | CRT2_TV | CRT2_VGA)
-#define TV_STANDARD (TV_NTSC | TV_PAL | TV_PALM | TV_PALN | TV_NTSCJ)
-#define TV_INTERFACE (TV_AVIDEO|TV_SVIDEO|TV_SCART|TV_HIVISION|TV_YPBPR|TV_CHSCART|TV_CHYPBPR525I)
-
-/* Only if TV_YPBPR is set: */
-#define TV_YPBPR525I TV_NTSC
-#define TV_YPBPR525P TV_PAL
-#define TV_YPBPR750P TV_PALM
-#define TV_YPBPR1080I TV_PALN
-#define TV_YPBPRALL (TV_YPBPR525I | TV_YPBPR525P | TV_YPBPR750P | TV_YPBPR1080I)
-
-#define VB_DISPTYPE_DISP2 CRT2_ENABLE
-#define VB_DISPTYPE_CRT2 CRT2_ENABLE
-#define VB_DISPTYPE_DISP1 VB_DISPTYPE_CRT1
-#define VB_DISPMODE_SINGLE VB_SINGLE_MODE
-#define VB_DISPMODE_MIRROR VB_MIRROR_MODE
-#define VB_DISPMODE_DUAL VB_DUALVIEW_MODE
-#define VB_DISPLAY_MODE (SINGLE_MODE | MIRROR_MODE | DUALVIEW_MODE)
-
-/* Structure argument for SISFB_GET_INFO ioctl */
-struct sisfb_info {
- __u32 sisfb_id; /* for identifying sisfb */
-#ifndef SISFB_ID
-#define SISFB_ID 0x53495346 /* Identify myself with 'SISF' */
-#endif
- __u32 chip_id; /* PCI-ID of detected chip */
- __u32 memory; /* total video memory in KB */
- __u32 heapstart; /* heap start offset in KB */
- __u8 fbvidmode; /* current sisfb mode */
-
- __u8 sisfb_version;
- __u8 sisfb_revision;
- __u8 sisfb_patchlevel;
-
- __u8 sisfb_caps; /* sisfb capabilities */
-
- __u32 sisfb_tqlen; /* turbo queue length (in KB) */
-
- __u32 sisfb_pcibus; /* The card's PCI ID */
- __u32 sisfb_pcislot;
- __u32 sisfb_pcifunc;
-
- __u8 sisfb_lcdpdc; /* PanelDelayCompensation */
-
- __u8 sisfb_lcda; /* Detected status of LCDA for low res/text modes */
-
- __u32 sisfb_vbflags;
- __u32 sisfb_currentvbflags;
-
- __u32 sisfb_scalelcd;
- __u32 sisfb_specialtiming;
-
- __u8 sisfb_haveemi;
- __u8 sisfb_emi30,sisfb_emi31,sisfb_emi32,sisfb_emi33;
- __u8 sisfb_haveemilcd;
-
- __u8 sisfb_lcdpdca; /* PanelDelayCompensation for LCD-via-CRT1 */
-
- __u16 sisfb_tvxpos, sisfb_tvypos; /* Warning: Values + 32 ! */
-
- __u32 sisfb_heapsize; /* heap size (in KB) */
- __u32 sisfb_videooffset; /* Offset of viewport in video memory (in bytes) */
-
- __u32 sisfb_curfstn; /* currently running FSTN/DSTN mode */
- __u32 sisfb_curdstn;
-
- __u16 sisfb_pci_vendor; /* PCI vendor (SiS or XGI) */
-
- __u32 sisfb_vbflags2; /* ivideo->vbflags2 */
-
- __u8 sisfb_can_post; /* sisfb can POST this card */
- __u8 sisfb_card_posted; /* card is POSTED */
- __u8 sisfb_was_boot_device; /* This card was the boot video device (ie is primary) */
-
- __u8 reserved[183]; /* for future use */
-};
-
-#define SISFB_CMD_GETVBFLAGS 0x55AA0001 /* no arg; result[1] = vbflags */
-#define SISFB_CMD_SWITCHCRT1 0x55AA0010 /* arg[0]: 99 = query, 0 = off, 1 = on */
-/* more to come */
-
-#define SISFB_CMD_ERR_OK 0x80000000 /* command succeeded */
-#define SISFB_CMD_ERR_LOCKED 0x80000001 /* sisfb is locked */
-#define SISFB_CMD_ERR_EARLY 0x80000002 /* request before sisfb took over gfx system */
-#define SISFB_CMD_ERR_NOVB 0x80000003 /* No video bridge */
-#define SISFB_CMD_ERR_NOCRT2 0x80000004 /* can't change CRT1 status, CRT2 disabled */
-/* more to come */
-#define SISFB_CMD_ERR_UNKNOWN 0x8000ffff /* Unknown command */
-#define SISFB_CMD_ERR_OTHER 0x80010000 /* Other error */
-
-/* Argument for SISFB_CMD ioctl */
-struct sisfb_cmd {
- __u32 sisfb_cmd;
- __u32 sisfb_arg[16];
- __u32 sisfb_result[4];
-};
-
-/* Additional IOCTLs for communication sisfb <> X driver */
-/* If changing this, vgatypes.h must also be changed (for X driver) */
-
-/* ioctl for identifying and giving some info (esp. memory heap start) */
-#define SISFB_GET_INFO_SIZE _IOR(0xF3,0x00,__u32)
-#define SISFB_GET_INFO _IOR(0xF3,0x01,struct sisfb_info)
-
-/* ioctrl to get current vertical retrace status */
-#define SISFB_GET_VBRSTATUS _IOR(0xF3,0x02,__u32)
-
-/* ioctl to enable/disable panning auto-maximize (like nomax parameter) */
-#define SISFB_GET_AUTOMAXIMIZE _IOR(0xF3,0x03,__u32)
-#define SISFB_SET_AUTOMAXIMIZE _IOW(0xF3,0x03,__u32)
-
-/* ioctls to relocate TV output (x=D[31:16], y=D[15:0], + 32)*/
-#define SISFB_GET_TVPOSOFFSET _IOR(0xF3,0x04,__u32)
-#define SISFB_SET_TVPOSOFFSET _IOW(0xF3,0x04,__u32)
-
-/* ioctl for internal sisfb commands (sisfbctrl) */
-#define SISFB_COMMAND _IOWR(0xF3,0x05,struct sisfb_cmd)
-
-/* ioctl for locking sisfb (no register access during lock) */
-/* As of now, only used to avoid register access during
- * the ioctls listed above.
- */
-#define SISFB_SET_LOCK _IOW(0xF3,0x06,__u32)
-
-/* ioctls 0xF3 up to 0x3F reserved for sisfb */
-
-/****************************************************************/
-/* The following are deprecated and should not be used anymore: */
-/****************************************************************/
-/* ioctl for identifying and giving some info (esp. memory heap start) */
-#define SISFB_GET_INFO_OLD _IOR('n',0xF8,__u32)
-/* ioctrl to get current vertical retrace status */
-#define SISFB_GET_VBRSTATUS_OLD _IOR('n',0xF9,__u32)
-/* ioctl to enable/disable panning auto-maximize (like nomax parameter) */
-#define SISFB_GET_AUTOMAXIMIZE_OLD _IOR('n',0xFA,__u32)
-#define SISFB_SET_AUTOMAXIMIZE_OLD _IOW('n',0xFA,__u32)
-/****************************************************************/
-/* End of deprecated ioctl numbers */
-/****************************************************************/
-
-/* For fb memory manager (FBIO_ALLOC, FBIO_FREE) */
-struct sis_memreq {
- __u32 offset;
- __u32 size;
-};
-
-/**********************************************/
-/* PRIVATE */
-/* (for IN-KERNEL usage only) */
-/**********************************************/
-
-
-#endif /* _LINUX_SISFB_H_ */
diff --git a/linux-headers/include/video/uvesafb.h b/linux-headers/include/video/uvesafb.h
deleted file mode 100644
index 79e281b..0000000
--- a/linux-headers/include/video/uvesafb.h
+++ /dev/null
@@ -1,60 +0,0 @@
-#ifndef _UVESAFB_H
-#define _UVESAFB_H
-
-#include <linux/types.h>
-
-struct v86_regs {
- __u32 ebx;
- __u32 ecx;
- __u32 edx;
- __u32 esi;
- __u32 edi;
- __u32 ebp;
- __u32 eax;
- __u32 eip;
- __u32 eflags;
- __u32 esp;
- __u16 cs;
- __u16 ss;
- __u16 es;
- __u16 ds;
- __u16 fs;
- __u16 gs;
-};
-
-/* Task flags */
-#define TF_VBEIB 0x01
-#define TF_BUF_ESDI 0x02
-#define TF_BUF_ESBX 0x04
-#define TF_BUF_RET 0x08
-#define TF_EXIT 0x10
-
-struct uvesafb_task {
- __u8 flags;
- int buf_len;
- struct v86_regs regs;
-};
-
-/* Constants for the capabilities field
- * in vbe_ib */
-#define VBE_CAP_CAN_SWITCH_DAC 0x01
-#define VBE_CAP_VGACOMPAT 0x02
-
-/* The VBE Info Block */
-struct vbe_ib {
- char vbe_signature[4];
- __u16 vbe_version;
- __u32 oem_string_ptr;
- __u32 capabilities;
- __u32 mode_list_ptr;
- __u16 total_memory;
- __u16 oem_software_rev;
- __u32 oem_vendor_name_ptr;
- __u32 oem_product_name_ptr;
- __u32 oem_product_rev_ptr;
- __u8 reserved[222];
- char oem_data[256];
- char misc_data[512];
-} __attribute__ ((packed));
-
-#endif /* _UVESAFB_H */
diff --git a/linux-headers/include/xen/evtchn.h b/linux-headers/include/xen/evtchn.h
deleted file mode 100644
index 14e833e..0000000
--- a/linux-headers/include/xen/evtchn.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/******************************************************************************
- * evtchn.h
- *
- * Interface to /dev/xen/evtchn.
- *
- * Copyright (c) 2003-2005, K A Fraser
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation; or, when distributed
- * separately from the Linux kernel or incorporated into other
- * software packages, subject to the following license:
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this source file (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy, modify,
- * merge, publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#ifndef __LINUX_PUBLIC_EVTCHN_H__
-#define __LINUX_PUBLIC_EVTCHN_H__
-
-/*
- * Bind a fresh port to VIRQ @virq.
- * Return allocated port.
- */
-#define IOCTL_EVTCHN_BIND_VIRQ \
- _IOC(_IOC_NONE, 'E', 0, sizeof(struct ioctl_evtchn_bind_virq))
-struct ioctl_evtchn_bind_virq {
- unsigned int virq;
-};
-
-/*
- * Bind a fresh port to remote <@remote_domain, @remote_port>.
- * Return allocated port.
- */
-#define IOCTL_EVTCHN_BIND_INTERDOMAIN \
- _IOC(_IOC_NONE, 'E', 1, sizeof(struct ioctl_evtchn_bind_interdomain))
-struct ioctl_evtchn_bind_interdomain {
- unsigned int remote_domain, remote_port;
-};
-
-/*
- * Allocate a fresh port for binding to @remote_domain.
- * Return allocated port.
- */
-#define IOCTL_EVTCHN_BIND_UNBOUND_PORT \
- _IOC(_IOC_NONE, 'E', 2, sizeof(struct ioctl_evtchn_bind_unbound_port))
-struct ioctl_evtchn_bind_unbound_port {
- unsigned int remote_domain;
-};
-
-/*
- * Unbind previously allocated @port.
- */
-#define IOCTL_EVTCHN_UNBIND \
- _IOC(_IOC_NONE, 'E', 3, sizeof(struct ioctl_evtchn_unbind))
-struct ioctl_evtchn_unbind {
- unsigned int port;
-};
-
-/*
- * Unbind previously allocated @port.
- */
-#define IOCTL_EVTCHN_NOTIFY \
- _IOC(_IOC_NONE, 'E', 4, sizeof(struct ioctl_evtchn_notify))
-struct ioctl_evtchn_notify {
- unsigned int port;
-};
-
-/* Clear and reinitialise the event buffer. Clear error condition. */
-#define IOCTL_EVTCHN_RESET \
- _IOC(_IOC_NONE, 'E', 5, 0)
-
-#endif /* __LINUX_PUBLIC_EVTCHN_H__ */
diff --git a/linux-headers/include/xen/gntalloc.h b/linux-headers/include/xen/gntalloc.h
deleted file mode 100644
index 48d2790..0000000
--- a/linux-headers/include/xen/gntalloc.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/******************************************************************************
- * gntalloc.h
- *
- * Interface to /dev/xen/gntalloc.
- *
- * Author: Daniel De Graaf <dgdegra@tycho.nsa.gov>
- *
- * This file is in the public domain.
- */
-
-#ifndef __LINUX_PUBLIC_GNTALLOC_H__
-#define __LINUX_PUBLIC_GNTALLOC_H__
-
-#include <linux/types.h>
-
-/*
- * Allocates a new page and creates a new grant reference.
- */
-#define IOCTL_GNTALLOC_ALLOC_GREF \
-_IOC(_IOC_NONE, 'G', 5, sizeof(struct ioctl_gntalloc_alloc_gref))
-struct ioctl_gntalloc_alloc_gref {
- /* IN parameters */
- /* The ID of the domain to be given access to the grants. */
- __u16 domid;
- /* Flags for this mapping */
- __u16 flags;
- /* Number of pages to map */
- __u32 count;
- /* OUT parameters */
- /* The offset to be used on a subsequent call to mmap(). */
- __u64 index;
- /* The grant references of the newly created grant, one per page */
- /* Variable size, depending on count */
- __u32 gref_ids[1];
-};
-
-#define GNTALLOC_FLAG_WRITABLE 1
-
-/*
- * Deallocates the grant reference, allowing the associated page to be freed if
- * no other domains are using it.
- */
-#define IOCTL_GNTALLOC_DEALLOC_GREF \
-_IOC(_IOC_NONE, 'G', 6, sizeof(struct ioctl_gntalloc_dealloc_gref))
-struct ioctl_gntalloc_dealloc_gref {
- /* IN parameters */
- /* The offset returned in the map operation */
- __u64 index;
- /* Number of references to unmap */
- __u32 count;
-};
-
-/*
- * Sets up an unmap notification within the page, so that the other side can do
- * cleanup if this side crashes. Required to implement cross-domain robust
- * mutexes or close notification on communication channels.
- *
- * Each mapped page only supports one notification; multiple calls referring to
- * the same page overwrite the previous notification. You must clear the
- * notification prior to the IOCTL_GNTALLOC_DEALLOC_GREF if you do not want it
- * to occur.
- */
-#define IOCTL_GNTALLOC_SET_UNMAP_NOTIFY \
-_IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntalloc_unmap_notify))
-struct ioctl_gntalloc_unmap_notify {
- /* IN parameters */
- /* Offset in the file descriptor for a byte within the page (same as
- * used in mmap). If using UNMAP_NOTIFY_CLEAR_BYTE, this is the byte to
- * be cleared. Otherwise, it can be any byte in the page whose
- * notification we are adjusting.
- */
- __u64 index;
- /* Action(s) to take on unmap */
- __u32 action;
- /* Event channel to notify */
- __u32 event_channel_port;
-};
-
-/* Clear (set to zero) the byte specified by index */
-#define UNMAP_NOTIFY_CLEAR_BYTE 0x1
-/* Send an interrupt on the indicated event channel */
-#define UNMAP_NOTIFY_SEND_EVENT 0x2
-
-#endif /* __LINUX_PUBLIC_GNTALLOC_H__ */
diff --git a/linux-headers/include/xen/gntdev.h b/linux-headers/include/xen/gntdev.h
deleted file mode 100644
index 361c9e0..0000000
--- a/linux-headers/include/xen/gntdev.h
+++ /dev/null
@@ -1,202 +0,0 @@
-/******************************************************************************
- * gntdev.h
- *
- * Interface to /dev/xen/gntdev.
- *
- * Copyright (c) 2007, D G Murray
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation; or, when distributed
- * separately from the Linux kernel or incorporated into other
- * software packages, subject to the following license:
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this source file (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy, modify,
- * merge, publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#ifndef __LINUX_PUBLIC_GNTDEV_H__
-#define __LINUX_PUBLIC_GNTDEV_H__
-
-#include <linux/types.h>
-
-struct ioctl_gntdev_grant_ref {
- /* The domain ID of the grant to be mapped. */
- __u32 domid;
- /* The grant reference of the grant to be mapped. */
- __u32 ref;
-};
-
-/*
- * Inserts the grant references into the mapping table of an instance
- * of gntdev. N.B. This does not perform the mapping, which is deferred
- * until mmap() is called with @index as the offset.
- */
-#define IOCTL_GNTDEV_MAP_GRANT_REF \
-_IOC(_IOC_NONE, 'G', 0, sizeof(struct ioctl_gntdev_map_grant_ref))
-struct ioctl_gntdev_map_grant_ref {
- /* IN parameters */
- /* The number of grants to be mapped. */
- __u32 count;
- __u32 pad;
- /* OUT parameters */
- /* The offset to be used on a subsequent call to mmap(). */
- __u64 index;
- /* Variable IN parameter. */
- /* Array of grant references, of size @count. */
- struct ioctl_gntdev_grant_ref refs[1];
-};
-
-/*
- * Removes the grant references from the mapping table of an instance of
- * of gntdev. N.B. munmap() must be called on the relevant virtual address(es)
- * before this ioctl is called, or an error will result.
- */
-#define IOCTL_GNTDEV_UNMAP_GRANT_REF \
-_IOC(_IOC_NONE, 'G', 1, sizeof(struct ioctl_gntdev_unmap_grant_ref))
-struct ioctl_gntdev_unmap_grant_ref {
- /* IN parameters */
- /* The offset was returned by the corresponding map operation. */
- __u64 index;
- /* The number of pages to be unmapped. */
- __u32 count;
- __u32 pad;
-};
-
-/*
- * Returns the offset in the driver's address space that corresponds
- * to @vaddr. This can be used to perform a munmap(), followed by an
- * UNMAP_GRANT_REF ioctl, where no state about the offset is retained by
- * the caller. The number of pages that were allocated at the same time as
- * @vaddr is returned in @count.
- *
- * N.B. Where more than one page has been mapped into a contiguous range, the
- * supplied @vaddr must correspond to the start of the range; otherwise
- * an error will result. It is only possible to munmap() the entire
- * contiguously-allocated range at once, and not any subrange thereof.
- */
-#define IOCTL_GNTDEV_GET_OFFSET_FOR_VADDR \
-_IOC(_IOC_NONE, 'G', 2, sizeof(struct ioctl_gntdev_get_offset_for_vaddr))
-struct ioctl_gntdev_get_offset_for_vaddr {
- /* IN parameters */
- /* The virtual address of the first mapped page in a range. */
- __u64 vaddr;
- /* OUT parameters */
- /* The offset that was used in the initial mmap() operation. */
- __u64 offset;
- /* The number of pages mapped in the VM area that begins at @vaddr. */
- __u32 count;
- __u32 pad;
-};
-
-/*
- * Sets the maximum number of grants that may mapped at once by this gntdev
- * instance.
- *
- * N.B. This must be called before any other ioctl is performed on the device.
- */
-#define IOCTL_GNTDEV_SET_MAX_GRANTS \
-_IOC(_IOC_NONE, 'G', 3, sizeof(struct ioctl_gntdev_set_max_grants))
-struct ioctl_gntdev_set_max_grants {
- /* IN parameter */
- /* The maximum number of grants that may be mapped at once. */
- __u32 count;
-};
-
-/*
- * Sets up an unmap notification within the page, so that the other side can do
- * cleanup if this side crashes. Required to implement cross-domain robust
- * mutexes or close notification on communication channels.
- *
- * Each mapped page only supports one notification; multiple calls referring to
- * the same page overwrite the previous notification. You must clear the
- * notification prior to the IOCTL_GNTALLOC_DEALLOC_GREF if you do not want it
- * to occur.
- */
-#define IOCTL_GNTDEV_SET_UNMAP_NOTIFY \
-_IOC(_IOC_NONE, 'G', 7, sizeof(struct ioctl_gntdev_unmap_notify))
-struct ioctl_gntdev_unmap_notify {
- /* IN parameters */
- /* Offset in the file descriptor for a byte within the page (same as
- * used in mmap). If using UNMAP_NOTIFY_CLEAR_BYTE, this is the byte to
- * be cleared. Otherwise, it can be any byte in the page whose
- * notification we are adjusting.
- */
- __u64 index;
- /* Action(s) to take on unmap */
- __u32 action;
- /* Event channel to notify */
- __u32 event_channel_port;
-};
-
-struct gntdev_grant_copy_segment {
- union {
- void *virt;
- struct {
- grant_ref_t ref;
- __u16 offset;
- domid_t domid;
- } foreign;
- } source, dest;
- __u16 len;
-
- __u16 flags; /* GNTCOPY_* */
- __s16 status; /* GNTST_* */
-};
-
-/*
- * Copy between grant references and local buffers.
- *
- * The copy is split into @count @segments, each of which can copy
- * to/from one grant reference.
- *
- * Each segment is similar to struct gnttab_copy in the hypervisor ABI
- * except the local buffer is specified using a virtual address
- * (instead of a GFN and offset).
- *
- * The local buffer may cross a Xen page boundary -- the driver will
- * split segments into multiple ops if required.
- *
- * Returns 0 if all segments have been processed and @status in each
- * segment is valid. Note that one or more segments may have failed
- * (status != GNTST_okay).
- *
- * If the driver had to split a segment into two or more ops, @status
- * includes the status of the first failed op for that segment (or
- * GNTST_okay if all ops were successful).
- *
- * If -1 is returned, the status of all segments is undefined.
- *
- * EINVAL: A segment has local buffers for both source and
- * destination.
- * EINVAL: A segment crosses the boundary of a foreign page.
- * EFAULT: A segment's local buffer is not accessible.
- */
-#define IOCTL_GNTDEV_GRANT_COPY \
- _IOC(_IOC_NONE, 'G', 8, sizeof(struct ioctl_gntdev_grant_copy))
-struct ioctl_gntdev_grant_copy {
- unsigned int count;
- struct gntdev_grant_copy_segment *segments;
-};
-
-/* Clear (set to zero) the byte specified by index */
-#define UNMAP_NOTIFY_CLEAR_BYTE 0x1
-/* Send an interrupt on the indicated event channel */
-#define UNMAP_NOTIFY_SEND_EVENT 0x2
-
-#endif /* __LINUX_PUBLIC_GNTDEV_H__ */
diff --git a/linux-headers/include/xen/privcmd.h b/linux-headers/include/xen/privcmd.h
deleted file mode 100644
index 7e0a6bc..0000000
--- a/linux-headers/include/xen/privcmd.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/******************************************************************************
- * privcmd.h
- *
- * Interface to /proc/xen/privcmd.
- *
- * Copyright (c) 2003-2005, K A Fraser
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License version 2
- * as published by the Free Software Foundation; or, when distributed
- * separately from the Linux kernel or incorporated into other
- * software packages, subject to the following license:
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this source file (the "Software"), to deal in the Software without
- * restriction, including without limitation the rights to use, copy, modify,
- * merge, publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so, subject to
- * the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
- * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
- * IN THE SOFTWARE.
- */
-
-#ifndef __LINUX_PUBLIC_PRIVCMD_H__
-#define __LINUX_PUBLIC_PRIVCMD_H__
-
-#include <linux/types.h>
-
-#include <xen/interface/xen.h>
-
-struct privcmd_hypercall {
- __u64 op;
- __u64 arg[5];
-};
-
-struct privcmd_mmap_entry {
- __u64 va;
- /*
- * This should be a GFN. It's not possible to change the name because
- * it's exposed to the user-space.
- */
- __u64 mfn;
- __u64 npages;
-};
-
-struct privcmd_mmap {
- int num;
- domid_t dom; /* target domain */
- struct privcmd_mmap_entry *entry;
-};
-
-struct privcmd_mmapbatch {
- int num; /* number of pages to populate */
- domid_t dom; /* target domain */
- __u64 addr; /* virtual address */
- xen_pfn_t *arr; /* array of mfns - or'd with
- PRIVCMD_MMAPBATCH_*_ERROR on err */
-};
-
-#define PRIVCMD_MMAPBATCH_MFN_ERROR 0xf0000000U
-#define PRIVCMD_MMAPBATCH_PAGED_ERROR 0x80000000U
-
-struct privcmd_mmapbatch_v2 {
- unsigned int num; /* number of pages to populate */
- domid_t dom; /* target domain */
- __u64 addr; /* virtual address */
- const xen_pfn_t *arr; /* array of mfns */
- int *err; /* array of error codes */
-};
-
-/*
- * @cmd: IOCTL_PRIVCMD_HYPERCALL
- * @arg: &privcmd_hypercall_t
- * Return: Value returned from execution of the specified hypercall.
- *
- * @cmd: IOCTL_PRIVCMD_MMAPBATCH_V2
- * @arg: &struct privcmd_mmapbatch_v2
- * Return: 0 on success (i.e., arg->err contains valid error codes for
- * each frame). On an error other than a failed frame remap, -1 is
- * returned and errno is set to EINVAL, EFAULT etc. As an exception,
- * if the operation was otherwise successful but any frame failed with
- * -ENOENT, then -1 is returned and errno is set to ENOENT.
- */
-#define IOCTL_PRIVCMD_HYPERCALL \
- _IOC(_IOC_NONE, 'P', 0, sizeof(struct privcmd_hypercall))
-#define IOCTL_PRIVCMD_MMAP \
- _IOC(_IOC_NONE, 'P', 2, sizeof(struct privcmd_mmap))
-#define IOCTL_PRIVCMD_MMAPBATCH \
- _IOC(_IOC_NONE, 'P', 3, sizeof(struct privcmd_mmapbatch))
-#define IOCTL_PRIVCMD_MMAPBATCH_V2 \
- _IOC(_IOC_NONE, 'P', 4, sizeof(struct privcmd_mmapbatch_v2))
-
-#endif /* __LINUX_PUBLIC_PRIVCMD_H__ */
diff --git a/riscv-binutils-gdb b/riscv-binutils-gdb
deleted file mode 160000
-Subproject 08219b2a1168b2f1f8bcf8c2f299aef9b06a945
diff --git a/riscv-dejagnu b/riscv-dejagnu
deleted file mode 160000
-Subproject 5f3adaf58af9bda05f63452323b4f7824da11d8
diff --git a/riscv-gcc b/riscv-gcc
deleted file mode 160000
-Subproject 3e7b179f8b60f74b2f6eb63ff464305b8f685a9
diff --git a/riscv-glibc b/riscv-glibc
deleted file mode 160000
-Subproject 33bc7acb64d43c2715bb62867c4848d60174934
diff --git a/riscv-newlib b/riscv-newlib
deleted file mode 160000
-Subproject a0b6d28cfc4ade3d31684de2fab4db4e9621e34
diff --git a/scripts/cp_s b/scripts/cp_s
deleted file mode 100755
index 515905c..0000000
--- a/scripts/cp_s
+++ /dev/null
@@ -1,26 +0,0 @@
-#!/bin/sh
-# Emulate cp -s for systems without coreutils
-
-if test -z "$1" || test -z "$2" ; then
- echo "usage: ${0} srcdir destdir" >&2
- exit 1
-fi
-
-# Portability notes:
-# - Avoid set -e given its ambiguous interaction with subshells.
-# - Not all shells update $PWD as required by POSIX.
-# Use the pwd builtin instead.
-# - Command substitution strips all trailing newlines.
-# Preserve trailing newlines by appending a safety character and then
-# removing it with parameter substitution, along with the newline
-# appended by pwd itself.
-
-mkdir -p "$2" &&
-destdir=`cd "$2" && pwd && echo x` &&
-destdir=${destdir%??} &&
-
-cd "$1" &&
-srcdir=`pwd && echo x` &&
-srcdir=${srcdir%??} &&
-find . -type d -exec mkdir -p "${destdir}/{}" \; &&
-find . -type f -exec ln -sf "${srcdir}/{}" "${destdir}/{}" \;
diff --git a/scripts/spike.exp b/scripts/spike.exp
deleted file mode 100644
index 6205e91..0000000
--- a/scripts/spike.exp
+++ /dev/null
@@ -1,6 +0,0 @@
-load_generic_config "sim"
-set_board_info sim "spike pk"
-set_board_info compiler "[find_gcc]"
-set_board_info ldflags "-static -pthread"
-set_board_info gdb,nosignals 1
-set_board_info is_simulator 1
diff --git a/scripts/wrapper/.gitignore b/scripts/wrapper/.gitignore
deleted file mode 100644
index d4c9ae1..0000000
--- a/scripts/wrapper/.gitignore
+++ /dev/null
@@ -1,3 +0,0 @@
-/awk/awk
-/sed/sed
-
diff --git a/scripts/wrapper/awk/awk.in b/scripts/wrapper/awk/awk.in
deleted file mode 100644
index 1e7397a..0000000
--- a/scripts/wrapper/awk/awk.in
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# We can add the current directory to the front of PATH so that
-# awk will invoke gawk (rather than mawk etc.).
-# We use this to work around systems with awk != gawk.
-
-exec ${AWK:-@GAWK@} "$@"
diff --git a/scripts/wrapper/qemu/riscv32-unknown-linux-gnu-run b/scripts/wrapper/qemu/riscv32-unknown-linux-gnu-run
deleted file mode 100755
index 194d05c..0000000
--- a/scripts/wrapper/qemu/riscv32-unknown-linux-gnu-run
+++ /dev/null
@@ -1 +0,0 @@
-qemu-riscv32 -L ${RISC_V_SYSROOT} $*
diff --git a/scripts/wrapper/qemu/riscv64-unknown-linux-gnu-run b/scripts/wrapper/qemu/riscv64-unknown-linux-gnu-run
deleted file mode 100755
index dd061ae..0000000
--- a/scripts/wrapper/qemu/riscv64-unknown-linux-gnu-run
+++ /dev/null
@@ -1 +0,0 @@
-qemu-riscv64 -L ${RISC_V_SYSROOT} $*
diff --git a/scripts/wrapper/sed/sed.in b/scripts/wrapper/sed/sed.in
deleted file mode 100644
index 8d8f91a..0000000
--- a/scripts/wrapper/sed/sed.in
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-
-# We can add the current directory to the front of PATH so that
-# sed will invoke gsed (rather than FreeBSD's sed, for example).
-# We use this to work around systems with sed != gsed.
-
-exec ${SED:-@GSED@} "$@"