111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert/****************************************************************************
211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   This header was automatically generated from a Linux kernel header
511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   of the same name, to make information necessary for userspace to
611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   call into the kernel available to libc.  It contains only constants,
711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   structures, and macros generated from the original header, and thus,
811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***   contains no copyrightable information.
911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ***
1011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************
1111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert ****************************************************************************/
1211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef _IF_PPP_H_
1311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define _IF_PPP_H_
1411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#include <linux/compiler.h>
1611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
1711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPP_MTU 1500
1811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPP_MAXMRU 65000
1911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PROTO_IPX 0x002b
2011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PROTO_DNA_RT 0x0027
2111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
2211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_COMP_PROT 0x00000001
2311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_COMP_AC 0x00000002
2411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_COMP_TCP 0x00000004
2511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_NO_TCP_CCID 0x00000008
2611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_REJ_COMP_AC 0x00000010
2711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_REJ_COMP_TCP 0x00000020
2811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_CCP_OPEN 0x00000040
2911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_CCP_UP 0x00000080
3011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_ENABLE_IP 0x00000100
3111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_LOOP_TRAFFIC 0x00000200
3211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_MULTILINK 0x00000400
3311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_MP_SHORTSEQ 0x00000800
3411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_COMP_RUN 0x00001000
3511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_DECOMP_RUN 0x00002000
3611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_MP_XSHORTSEQ 0x00004000
3711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_DEBUG 0x00010000
3811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_LOG_INPKT 0x00020000
3911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_LOG_OUTPKT 0x00040000
4011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_LOG_RAWIN 0x00080000
4111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_LOG_FLUSH 0x00100000
4211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_SYNC 0x00200000
4311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_MUST_COMP 0x00400000
4411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_MASK 0x0f600fff
4511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
4611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_XMIT_BUSY 0x10000000
4711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_RCV_ODDP 0x08000000
4811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_RCV_EVNP 0x04000000
4911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_RCV_B7_1 0x02000000
5011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_RCV_B7_0 0x01000000
5111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_DC_FERROR 0x00800000
5211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SC_DC_ERROR 0x00400000
5311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5411cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct npioctl {
5511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int protocol;
5611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert enum NPmode mode;
5711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
5811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
5911cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ppp_option_data {
6011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u8 __user *ptr;
6111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert __u32 length;
6211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert int transmit;
6311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
6411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
6511cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ifpppstatsreq {
6611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ifreq b;
6711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ppp_stats stats;
6811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
6911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7011cd02dfb91661c65134cac258cf5924270e9d2Dan Albertstruct ifpppcstatsreq {
7111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ifreq b;
7211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert struct ppp_comp_stats stats;
7311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert};
7411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ifr__name b.ifr_ifrn.ifrn_name
7611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define stats_ptr b.ifr_ifru.ifru_data
7711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
7811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGFLAGS _IOR('t', 90, int)
7911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSFLAGS _IOW('t', 89, int)
8011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGASYNCMAP _IOR('t', 88, int)
8111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSASYNCMAP _IOW('t', 87, int)
8211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGUNIT _IOR('t', 86, int)
8311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGRASYNCMAP _IOR('t', 85, int)
8411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSRASYNCMAP _IOW('t', 84, int)
8511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGMRU _IOR('t', 83, int)
8611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSMRU _IOW('t', 82, int)
8711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSMAXCID _IOW('t', 81, int)
8811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm)
8911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm)
9011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCXFERUNIT _IO('t', 78)
9111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
9211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl)
9311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl)
9411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSPASS _IOW('t', 71, struct sock_fprog)
9511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSACTIVE _IOW('t', 70, struct sock_fprog)
9611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGDEBUG _IOR('t', 65, int)
9711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSDEBUG _IOW('t', 64, int)
9811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGIDLE _IOR('t', 63, struct ppp_idle)
9911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCNEWUNIT _IOWR('t', 62, int)
10011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCATTACH _IOW('t', 61, int)
10111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCDETACH _IOW('t', 60, int)
10211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCSMRRU _IOW('t', 59, int)
10311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCCONNECT _IOW('t', 58, int)
10411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCDISCONN _IO('t', 57)
10511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCATTCHAN _IOW('t', 56, int)
10611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define PPPIOCGCHAN _IOR('t', 55, int)
10711cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
10811cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGPPPSTATS (SIOCDEVPRIVATE + 0)
10911cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGPPPVER (SIOCDEVPRIVATE + 1)
11011cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define SIOCGPPPCSTATS (SIOCDEVPRIVATE + 2)
11111cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11211cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#ifndef ifr_mtu
11311cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#define ifr_mtu ifr_ifru.ifru_metric
11411cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
11511cd02dfb91661c65134cac258cf5924270e9d2Dan Albert
11611cd02dfb91661c65134cac258cf5924270e9d2Dan Albert#endif
117