Hackfut Security File Manager
Current Path:
/usr/include/linux
usr
/
include
/
linux
/
📁
..
📄
a.out.h
(7.15 KB)
📄
acct.h
(3.41 KB)
📄
adb.h
(1.05 KB)
📄
adfs_fs.h
(856 B)
📄
affs_hardblocks.h
(1.45 KB)
📄
agpgart.h
(3.83 KB)
📄
aio_abi.h
(3.04 KB)
📄
apm_bios.h
(3.46 KB)
📄
arcfb.h
(150 B)
📄
atalk.h
(927 B)
📄
atm.h
(7.62 KB)
📄
atm_eni.h
(585 B)
📄
atm_he.h
(343 B)
📄
atm_idt77105.h
(892 B)
📄
atm_nicstar.h
(1.19 KB)
📄
atm_tcp.h
(1.5 KB)
📄
atm_zatm.h
(1.57 KB)
📄
atmapi.h
(889 B)
📄
atmarp.h
(1.2 KB)
📄
atmbr2684.h
(3.13 KB)
📄
atmclip.h
(513 B)
📄
atmdev.h
(7.42 KB)
📄
atmioc.h
(1.55 KB)
📄
atmlec.h
(2.5 KB)
📄
atmmpc.h
(4.07 KB)
📄
atmppp.h
(576 B)
📄
atmsap.h
(4.79 KB)
📄
atmsvc.h
(1.75 KB)
📄
audit.h
(15.51 KB)
📄
auto_fs.h
(2.29 KB)
📄
auto_fs4.h
(4.03 KB)
📄
auxvec.h
(1.35 KB)
📄
ax25.h
(2.69 KB)
📄
b1lli.h
(1.62 KB)
📄
baycom.h
(820 B)
📄
bfs_fs.h
(1.79 KB)
📄
binfmts.h
(565 B)
📄
blk_types.h
(6.94 KB)
📄
blkpg.h
(1.56 KB)
📄
blktrace_api.h
(4.37 KB)
📄
bpqether.h
(952 B)
📄
bsg.h
(2.33 KB)
📁
byteorder
📁
can
📄
can.h
(3.25 KB)
📄
capability.h
(10.34 KB)
📄
capi.h
(2.99 KB)
📄
cciss_ioctl.h
(5.69 KB)
📄
cdk.h
(12.47 KB)
📄
cdrom.h
(27.47 KB)
📄
cgroupstats.h
(2.1 KB)
📄
chio.h
(5.16 KB)
📄
cm4000_cs.h
(1.68 KB)
📄
cn_proc.h
(2.65 KB)
📄
coda.h
(17.08 KB)
📄
coda_psdev.h
(679 B)
📄
coff.h
(12.12 KB)
📄
comstats.h
(3.05 KB)
📄
connector.h
(2.08 KB)
📄
const.h
(682 B)
📄
cramfs_fs.h
(2.86 KB)
📄
cuda.h
(769 B)
📄
cyclades.h
(16.65 KB)
📄
cycx_cfm.h
(2.86 KB)
📄
dcbnl.h
(21.6 KB)
📄
dccp.h
(5.66 KB)
📄
dlm.h
(2.47 KB)
📄
dlm_device.h
(2.42 KB)
📄
dlm_netlink.h
(1.04 KB)
📄
dlm_plock.h
(806 B)
📄
dlmconstants.h
(4.9 KB)
📄
dm-ioctl.h
(10.42 KB)
📄
dm-log-userspace.h
(14.82 KB)
📄
dn.h
(4.42 KB)
📄
dqblk_xfs.h
(6.79 KB)
📁
dvb
📄
edd.h
(5.41 KB)
📄
efs_fs_sb.h
(2.11 KB)
📄
elf-em.h
(1.79 KB)
📄
elf-fdpic.h
(2.5 KB)
📄
elf.h
(10.97 KB)
📄
elfcore.h
(2.86 KB)
📄
errno.h
(79 B)
📄
errqueue.h
(443 B)
📄
ethtool.h
(33.37 KB)
📄
eventpoll.h
(1.32 KB)
📄
ext2_fs.h
(18.36 KB)
📄
fadvise.h
(855 B)
📄
falloc.h
(293 B)
📄
fb.h
(15.64 KB)
📄
fcntl.h
(1.57 KB)
📄
fd.h
(11.29 KB)
📄
fdreg.h
(5.23 KB)
📄
fib_rules.h
(1.42 KB)
📄
fiemap.h
(2.49 KB)
📄
filter.h
(3.45 KB)
📄
firewire-cdev.h
(24.47 KB)
📄
firewire-constants.h
(1.93 KB)
📄
flat.h
(2.04 KB)
📄
fs.h
(18.47 KB)
📄
fuse.h
(11.17 KB)
📄
futex.h
(4.79 KB)
📄
gameport.h
(816 B)
📄
gen_stats.h
(1.27 KB)
📄
generic_serial.h
(895 B)
📄
genetlink.h
(1.64 KB)
📄
gfs2_ondisk.h
(11.54 KB)
📄
gigaset_dev.h
(981 B)
📄
hayesesp.h
(230 B)
📁
hdlc
📄
hdlc.h
(574 B)
📄
hdlcdrv.h
(2.78 KB)
📄
hdreg.h
(22.11 KB)
📄
hid.h
(1.78 KB)
📄
hiddev.h
(6.12 KB)
📄
hidraw.h
(1.19 KB)
📄
hpet.h
(686 B)
📄
hysdn_if.h
(1.29 KB)
📄
i2c-dev.h
(2.35 KB)
📄
i2c.h
(6.48 KB)
📄
i2o-dev.h
(11.22 KB)
📄
i8k.h
(1.4 KB)
📄
icmp.h
(2.82 KB)
📄
icmpv6.h
(3.74 KB)
📄
if.h
(8.47 KB)
📄
if_addr.h
(1.42 KB)
📄
if_addrlabel.h
(658 B)
📄
if_arcnet.h
(3.63 KB)
📄
if_arp.h
(5.97 KB)
📄
if_bonding.h
(3.98 KB)
📄
if_bridge.h
(3.72 KB)
📄
if_cablemodem.h
(910 B)
📄
if_ec.h
(901 B)
📄
if_eql.h
(1.25 KB)
📄
if_ether.h
(6.39 KB)
📄
if_fc.h
(1.63 KB)
📄
if_fddi.h
(3.61 KB)
📄
if_frad.h
(2.87 KB)
📄
if_hippi.h
(4.08 KB)
📄
if_infiniband.h
(1.12 KB)
📄
if_link.h
(11.79 KB)
📄
if_ltalk.h
(125 B)
📄
if_packet.h
(3.45 KB)
📄
if_phonet.h
(337 B)
📄
if_plip.h
(596 B)
📄
if_ppp.h
(6.78 KB)
📄
if_pppol2tp.h
(1.94 KB)
📄
if_pppox.h
(3.68 KB)
📄
if_slip.h
(809 B)
📄
if_strip.h
(700 B)
📄
if_tr.h
(3.12 KB)
📄
if_tun.h
(2.94 KB)
📄
if_tunnel.h
(1.42 KB)
📄
if_vlan.h
(1.67 KB)
📄
igmp.h
(2.86 KB)
📄
in.h
(8.99 KB)
📄
in6.h
(7.32 KB)
📄
in_route.h
(873 B)
📄
inet_diag.h
(2.4 KB)
📄
inotify.h
(2.77 KB)
📄
input.h
(26.95 KB)
📄
ioctl.h
(100 B)
📄
ip.h
(3.47 KB)
📄
ip6_tunnel.h
(1.05 KB)
📄
ip_vs.h
(12.29 KB)
📄
ipc.h
(1.99 KB)
📄
ipmi.h
(16.16 KB)
📄
ipmi_msgdefs.h
(4.37 KB)
📄
ipsec.h
(884 B)
📄
ipv6.h
(2.82 KB)
📄
ipv6_route.h
(1.58 KB)
📄
ipx.h
(1.78 KB)
📄
irda.h
(7.47 KB)
📄
irqnr.h
(93 B)
📁
isdn
📄
isdn.h
(5.55 KB)
📄
isdn_divertif.h
(1.01 KB)
📄
isdn_ppp.h
(1.82 KB)
📄
isdnif.h
(2.25 KB)
📄
iso_fs.h
(6.29 KB)
📄
ivtv.h
(2.66 KB)
📄
ivtvfb.h
(1.12 KB)
📄
ixjuser.h
(24.53 KB)
📄
jffs2.h
(6.79 KB)
📄
joystick.h
(3.5 KB)
📄
kd.h
(6.02 KB)
📄
kdev_t.h
(298 B)
📄
kernel.h
(2.4 KB)
📄
kernelcapi.h
(959 B)
📄
keyboard.h
(12.4 KB)
📄
keyctl.h
(2.91 KB)
📄
kvm.h
(20.2 KB)
📄
kvm_para.h
(564 B)
📄
libc-compat.h
(3.46 KB)
📄
limits.h
(874 B)
📄
llc.h
(2.77 KB)
📄
loop.h
(2.14 KB)
📄
lp.h
(3.71 KB)
📄
magic.h
(2.24 KB)
📄
major.h
(4.55 KB)
📄
map_to_7segment.h
(7.02 KB)
📄
matroxfb.h
(1.4 KB)
📄
mempolicy.h
(2 KB)
📄
meye.h
(2.48 KB)
📄
mii.h
(7.76 KB)
📄
minix_fs.h
(2.01 KB)
📄
mman.h
(230 B)
📄
mmtimer.h
(2.01 KB)
📄
mqueue.h
(2.01 KB)
📄
mroute.h
(3.72 KB)
📄
mroute6.h
(3.9 KB)
📄
msdos_fs.h
(5.7 KB)
📄
msg.h
(2.48 KB)
📄
mtio.h
(7.89 KB)
📄
n_r3964.h
(2.29 KB)
📄
nbd.h
(1.91 KB)
📄
ncp.h
(4.94 KB)
📄
ncp_fs.h
(3.28 KB)
📄
ncp_mount.h
(2.06 KB)
📄
ncp_no.h
(651 B)
📄
neighbour.h
(3.96 KB)
📄
net.h
(1.97 KB)
📄
net_dropmon.h
(1.07 KB)
📄
net_tstamp.h
(3.39 KB)
📄
netdevice.h
(1.73 KB)
📁
netfilter
📄
netfilter.h
(1.51 KB)
📁
netfilter_arp
📄
netfilter_arp.h
(380 B)
📁
netfilter_bridge
📄
netfilter_bridge.h
(735 B)
📄
netfilter_decnet.h
(1.83 KB)
📁
netfilter_ipv4
📄
netfilter_ipv4.h
(1.98 KB)
📁
netfilter_ipv6
📄
netfilter_ipv6.h
(2 KB)
📄
netlink.h
(4.85 KB)
📄
netrom.h
(719 B)
📄
nfs.h
(4.25 KB)
📄
nfs2.h
(1.37 KB)
📄
nfs3.h
(2.16 KB)
📄
nfs4.h
(5.63 KB)
📄
nfs4_mount.h
(1.83 KB)
📄
nfs_fs.h
(1.52 KB)
📄
nfs_idmap.h
(2.19 KB)
📄
nfs_mount.h
(3.13 KB)
📄
nfsacl.h
(577 B)
📁
nfsd
📄
nl80211.h
(187.85 KB)
📄
nubus.h
(8.17 KB)
📄
nvram.h
(470 B)
📄
oom.h
(456 B)
📄
param.h
(78 B)
📄
parport.h
(3.56 KB)
📄
patchkey.h
(831 B)
📄
pci.h
(1.45 KB)
📄
pci_regs.h
(37.08 KB)
📄
perf_event.h
(21.34 KB)
📄
personality.h
(1.95 KB)
📄
pfkeyv2.h
(9.91 KB)
📄
pg.h
(2.23 KB)
📄
phantom.h
(1.55 KB)
📄
phonet.h
(4.25 KB)
📄
pkt_cls.h
(9.08 KB)
📄
pkt_sched.h
(10.63 KB)
📄
pktcdvd.h
(2.56 KB)
📄
pmu.h
(5.07 KB)
📄
poll.h
(96 B)
📄
posix_types.h
(1.24 KB)
📄
ppdev.h
(3.07 KB)
📄
ppp-comp.h
(6.36 KB)
📄
ppp_defs.h
(6.31 KB)
📄
pps.h
(3.85 KB)
📄
prctl.h
(4.86 KB)
📄
ptp_clock.h
(3.41 KB)
📄
ptrace.h
(2.24 KB)
📄
qnx4_fs.h
(2.21 KB)
📄
qnxtypes.h
(561 B)
📄
quota.h
(5.59 KB)
📄
radeonfb.h
(297 B)
📁
raid
📄
random.h
(1.06 KB)
📄
raw.h
(302 B)
📄
reboot.h
(1.25 KB)
📄
reiserfs_fs.h
(907 B)
📄
reiserfs_xattr.h
(465 B)
📄
resource.h
(2.04 KB)
📄
rfkill.h
(3.3 KB)
📄
romfs_fs.h
(1.1 KB)
📄
rose.h
(2.05 KB)
📄
route.h
(2.22 KB)
📄
rtc.h
(3.61 KB)
📄
rtnetlink.h
(14.98 KB)
📄
scc.h
(4.44 KB)
📄
sched.h
(2.05 KB)
📄
screen_info.h
(2.15 KB)
📄
sdla.h
(2.77 KB)
📄
selinux_netlink.h
(1.11 KB)
📄
sem.h
(3.58 KB)
📄
serial.h
(6.62 KB)
📄
serial_core.h
(3.93 KB)
📄
serial_reg.h
(12.93 KB)
📄
serio.h
(1.65 KB)
📄
shm.h
(2.14 KB)
📄
signal.h
(129 B)
📄
signalfd.h
(1.07 KB)
📄
smb.h
(1.18 KB)
📄
smb_fs.h
(535 B)
📄
smb_mount.h
(468 B)
📄
smbno.h
(14.18 KB)
📄
snmp.h
(10.9 KB)
📄
socket.h
(738 B)
📄
sockios.h
(5.83 KB)
📄
som.h
(5.35 KB)
📄
sonet.h
(2.16 KB)
📄
sonypi.h
(5.02 KB)
📄
sound.h
(1.07 KB)
📄
soundcard.h
(44.94 KB)
📁
spi
📄
stat.h
(1005 B)
📄
stddef.h
(633 B)
📄
string.h
(175 B)
📁
sunrpc
📄
suspend_ioctls.h
(1.34 KB)
📄
swab.h
(6.14 KB)
📄
synclink.h
(8.49 KB)
📄
sysctl.h
(25.87 KB)
📄
taskstats.h
(6.78 KB)
📁
tc_act
📁
tc_ematch
📄
tcp.h
(5.08 KB)
📄
telephony.h
(8.84 KB)
📄
termios.h
(544 B)
📄
time.h
(1.7 KB)
📄
times.h
(215 B)
📄
timex.h
(6.08 KB)
📄
tiocl.h
(1.63 KB)
📄
tipc.h
(5.77 KB)
📄
tipc_config.h
(15.01 KB)
📄
toshiba.h
(1.25 KB)
📄
tty.h
(128 B)
📄
types.h
(991 B)
📄
udf_fs_i.h
(634 B)
📄
udp.h
(1.14 KB)
📄
uinput.h
(5 KB)
📄
uio.h
(648 B)
📄
ultrasound.h
(4.39 KB)
📄
un.h
(203 B)
📄
unistd.h
(157 B)
📁
usb
📄
usbdevice_fs.h
(5.21 KB)
📄
utime.h
(152 B)
📄
utsname.h
(606 B)
📄
uuid.h
(1.73 KB)
📄
version.h
(281 B)
📄
veth.h
(474 B)
📄
vhost.h
(4.46 KB)
📄
videodev.h
(10.27 KB)
📄
videodev2.h
(64.52 KB)
📄
videotext.h
(4.14 KB)
📄
virtio_9p.h
(351 B)
📄
virtio_balloon.h
(1.23 KB)
📄
virtio_blk.h
(2.91 KB)
📄
virtio_config.h
(1.25 KB)
📄
virtio_console.h
(1.37 KB)
📄
virtio_ids.h
(545 B)
📄
virtio_net.h
(6.86 KB)
📄
virtio_pci.h
(2.21 KB)
📄
virtio_ring.h
(4.38 KB)
📄
virtio_rng.h
(265 B)
📄
vt.h
(3 KB)
📄
wait.h
(580 B)
📄
wanrouter.h
(17.42 KB)
📄
watchdog.h
(2.34 KB)
📁
wimax
📄
wimax.h
(8.17 KB)
📄
wireless.h
(41.65 KB)
📄
x25.h
(3.34 KB)
📄
xattr.h
(646 B)
📄
xfrm.h
(10.31 KB)
Editing: pkt_cls.h
#ifndef __LINUX_PKT_CLS_H #define __LINUX_PKT_CLS_H #include <linux/types.h> #include <linux/pkt_sched.h> /* I think i could have done better macros ; for now this is stolen from * some arch/mips code - jhs */ #define _TC_MAKE32(x) ((x)) #define _TC_MAKEMASK1(n) (_TC_MAKE32(1) << _TC_MAKE32(n)) #define _TC_MAKEMASK(v,n) (_TC_MAKE32((_TC_MAKE32(1)<<(v))-1) << _TC_MAKE32(n)) #define _TC_MAKEVALUE(v,n) (_TC_MAKE32(v) << _TC_MAKE32(n)) #define _TC_GETVALUE(v,n,m) ((_TC_MAKE32(v) & _TC_MAKE32(m)) >> _TC_MAKE32(n)) /* verdict bit breakdown * bit 0: when set -> this packet has been munged already bit 1: when set -> It is ok to munge this packet bit 2,3,4,5: Reclassify counter - sort of reverse TTL - if exceeded assume loop bit 6,7: Where this packet was last seen 0: Above the transmit example at the socket level 1: on the Ingress 2: on the Egress bit 8: when set --> Request not to classify on ingress. bits 9,10,11: redirect counter - redirect TTL. Loop avoidance * * */ #define TC_MUNGED _TC_MAKEMASK1(0) #define SET_TC_MUNGED(v) ( TC_MUNGED | (v & ~TC_MUNGED)) #define CLR_TC_MUNGED(v) ( v & ~TC_MUNGED) #define TC_OK2MUNGE _TC_MAKEMASK1(1) #define SET_TC_OK2MUNGE(v) ( TC_OK2MUNGE | (v & ~TC_OK2MUNGE)) #define CLR_TC_OK2MUNGE(v) ( v & ~TC_OK2MUNGE) #define S_TC_VERD _TC_MAKE32(2) #define M_TC_VERD _TC_MAKEMASK(4,S_TC_VERD) #define G_TC_VERD(x) _TC_GETVALUE(x,S_TC_VERD,M_TC_VERD) #define V_TC_VERD(x) _TC_MAKEVALUE(x,S_TC_VERD) #define SET_TC_VERD(v,n) ((V_TC_VERD(n)) | (v & ~M_TC_VERD)) #define S_TC_FROM _TC_MAKE32(6) #define M_TC_FROM _TC_MAKEMASK(2,S_TC_FROM) #define G_TC_FROM(x) _TC_GETVALUE(x,S_TC_FROM,M_TC_FROM) #define V_TC_FROM(x) _TC_MAKEVALUE(x,S_TC_FROM) #define SET_TC_FROM(v,n) ((V_TC_FROM(n)) | (v & ~M_TC_FROM)) #define AT_STACK 0x0 #define AT_INGRESS 0x1 #define AT_EGRESS 0x2 #define TC_NCLS _TC_MAKEMASK1(8) #define SET_TC_NCLS(v) ( TC_NCLS | (v & ~TC_NCLS)) #define CLR_TC_NCLS(v) ( v & ~TC_NCLS) #define S_TC_RTTL _TC_MAKE32(9) #define M_TC_RTTL _TC_MAKEMASK(3,S_TC_RTTL) #define G_TC_RTTL(x) _TC_GETVALUE(x,S_TC_RTTL,M_TC_RTTL) #define V_TC_RTTL(x) _TC_MAKEVALUE(x,S_TC_RTTL) #define SET_TC_RTTL(v,n) ((V_TC_RTTL(n)) | (v & ~M_TC_RTTL)) #define S_TC_AT _TC_MAKE32(12) #define M_TC_AT _TC_MAKEMASK(2,S_TC_AT) #define G_TC_AT(x) _TC_GETVALUE(x,S_TC_AT,M_TC_AT) #define V_TC_AT(x) _TC_MAKEVALUE(x,S_TC_AT) #define SET_TC_AT(v,n) ((V_TC_AT(n)) | (v & ~M_TC_AT)) /* 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 MAX_REC_LOOP 4 #define MAX_RED_LOOP 4 #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_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_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_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) /* 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_MAX 6 enum { TCF_EM_PROG_TC }; enum { TCF_EM_OPND_EQ, TCF_EM_OPND_GT, TCF_EM_OPND_LT }; #endif
Upload File
Create Folder