add more uapi header files
In order to ensure no backward/forward compatiablity problems, make sure that all kernel headers used come from the local copy. Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
This commit is contained in:
parent
f888f4e205
commit
65047fa641
|
|
@ -0,0 +1,41 @@
|
|||
/* 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
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
/* 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 */
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
#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_BPF 247 /* Linux BPF - in-kernel virtual machine */
|
||||
#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 */
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
#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 */
|
||||
|
|
@ -0,0 +1,32 @@
|
|||
#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 */
|
||||
|
|
@ -0,0 +1,175 @@
|
|||
/*
|
||||
* 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 */
|
||||
|
|
@ -0,0 +1,189 @@
|
|||
#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 */
|
||||
#define IPV6_SRCRT_TYPE_4 4 /* Segment Routing with IPv6 */
|
||||
|
||||
/*
|
||||
* 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_RTR_SOLICIT_MAX_INTERVAL,
|
||||
DEVCONF_SEG6_ENABLED,
|
||||
DEVCONF_SEG6_REQUIRE_HMAC,
|
||||
DEVCONF_ENHANCED_DAD,
|
||||
DEVCONF_MAX
|
||||
};
|
||||
|
||||
|
||||
#endif /* _IPV6_H */
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#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 */
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
#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
|
||||
|
|
@ -0,0 +1,88 @@
|
|||
#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 RDTGROUP_SUPER_MAGIC 0x7655821
|
||||
|
||||
#define STACK_END_MAGIC 0x57AC6E9D
|
||||
|
||||
#define TRACEFS_MAGIC 0x74726163
|
||||
|
||||
#define V9FS_MAGIC 0x01021997
|
||||
|
||||
#define BDEVFS_MAGIC 0x62646576
|
||||
#define DAXFS_MAGIC 0x64646178
|
||||
#define BINFMTFS_MAGIC 0x42494e4d
|
||||
#define DEVPTS_SUPER_MAGIC 0x1cd1
|
||||
#define 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
|
||||
/* Since UDF 2.01 is ISO 13346 based... */
|
||||
#define UDF_SUPER_MAGIC 0x15013346
|
||||
#define BALLOON_KVM_MAGIC 0x13661366
|
||||
#define ZSMALLOC_MAGIC 0x58295829
|
||||
|
||||
#endif /* __LINUX_MAGIC_H__ */
|
||||
|
|
@ -0,0 +1,304 @@
|
|||
/* 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_PAD,
|
||||
__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 */
|
||||
|
|
@ -0,0 +1,93 @@
|
|||
#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*/
|
||||
|
|
@ -0,0 +1,77 @@
|
|||
/* 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 */
|
||||
|
|
@ -0,0 +1,269 @@
|
|||
/*
|
||||
* 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 */
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef _LINUX_PARAM_H
|
||||
#define _LINUX_PARAM_H
|
||||
|
||||
#include <asm/param.h>
|
||||
|
||||
#endif
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
#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 */
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
/*
|
||||
* 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) */
|
||||
|
||||
#define SOCK_IOC_TYPE 0x89
|
||||
|
||||
/* 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) */
|
||||
#define SIOCGSKNS 0x894C /* get socket network namespace */
|
||||
|
||||
/* 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 */
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
|
||||
#ifndef __always_inline
|
||||
#define __always_inline __inline__
|
||||
#endif
|
||||
|
|
@ -0,0 +1,932 @@
|
|||
/*
|
||||
* 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>
|
||||
|
||||
|
||||
#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 */
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
#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 */
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
/*
|
||||
* Copyright (c) 2016, Jamal Hadi Salim
|
||||
*
|
||||
* 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_SKBMOD_H
|
||||
#define __LINUX_TC_SKBMOD_H
|
||||
|
||||
#include <linux/pkt_cls.h>
|
||||
|
||||
#define TCA_ACT_SKBMOD 15
|
||||
|
||||
#define SKBMOD_F_DMAC 0x1
|
||||
#define SKBMOD_F_SMAC 0x2
|
||||
#define SKBMOD_F_ETYPE 0x4
|
||||
#define SKBMOD_F_SWAPMAC 0x8
|
||||
|
||||
struct tc_skbmod {
|
||||
tc_gen;
|
||||
__u64 flags;
|
||||
};
|
||||
|
||||
enum {
|
||||
TCA_SKBMOD_UNSPEC,
|
||||
TCA_SKBMOD_TM,
|
||||
TCA_SKBMOD_PARMS,
|
||||
TCA_SKBMOD_DMAC,
|
||||
TCA_SKBMOD_SMAC,
|
||||
TCA_SKBMOD_ETYPE,
|
||||
TCA_SKBMOD_PAD,
|
||||
__TCA_SKBMOD_MAX
|
||||
};
|
||||
#define TCA_SKBMOD_MAX (__TCA_SKBMOD_MAX - 1)
|
||||
|
||||
#endif
|
||||
Loading…
Reference in New Issue