1951a39d68df598db08dfced8b4707755864a0492Ying Wang/****************************************************************************
2951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
3951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
4951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   This header was automatically generated from a Linux kernel header
5951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   of the same name, to make information necessary for userspace to
6951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   call into the kernel available to libc.  It contains only constants,
7951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   structures, and macros generated from the original header, and thus,
8951a39d68df598db08dfced8b4707755864a0492Ying Wang ***   contains no copyrightable information.
9951a39d68df598db08dfced8b4707755864a0492Ying Wang ***
10951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************
11951a39d68df598db08dfced8b4707755864a0492Ying Wang ****************************************************************************/
12951a39d68df598db08dfced8b4707755864a0492Ying Wang#ifndef _PPP_DEFS_H_
13951a39d68df598db08dfced8b4707755864a0492Ying Wang#define _PPP_DEFS_H_
14951a39d68df598db08dfced8b4707755864a0492Ying Wang
15951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_HDRLEN 4
16951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_FCSLEN 2
17951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_MRU 1500
18951a39d68df598db08dfced8b4707755864a0492Ying Wang
19951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_ADDRESS(p) (((__u8 *)(p))[0])
20951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_CONTROL(p) (((__u8 *)(p))[1])
21951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_PROTOCOL(p) ((((__u8 *)(p))[2] << 8) + ((__u8 *)(p))[3])
22951a39d68df598db08dfced8b4707755864a0492Ying Wang
23951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_ALLSTATIONS 0xff
24951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_UI 0x03
25951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_FLAG 0x7e
26951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_ESCAPE 0x7d
27951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_TRANS 0x20
28951a39d68df598db08dfced8b4707755864a0492Ying Wang
29951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_IP 0x21
30951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_AT 0x29
31951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_IPX 0x2b
32951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_VJC_COMP 0x2d
33951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_VJC_UNCOMP 0x2f
34951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_MP 0x3d
35951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_IPV6 0x57
36951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_COMPFRAG 0xfb
37951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_COMP 0xfd
38951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_MPLS_UC 0x0281
39951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_MPLS_MC 0x0283
40951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_IPCP 0x8021
41951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_ATCP 0x8029
42951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_IPXCP 0x802b
43951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_IPV6CP 0x8057
44951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_CCPFRAG 0x80fb
45951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_CCP 0x80fd
46951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_MPLSCP 0x80fd
47951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_LCP 0xc021
48951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_PAP 0xc023
49951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_LQR 0xc025
50951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_CHAP 0xc223
51951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_CBCP 0xc029
52951a39d68df598db08dfced8b4707755864a0492Ying Wang
53951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_INITFCS 0xffff
54951a39d68df598db08dfced8b4707755864a0492Ying Wang#define PPP_GOODFCS 0xf0b8
55951a39d68df598db08dfced8b4707755864a0492Ying Wang
56951a39d68df598db08dfced8b4707755864a0492Ying Wangtypedef __u32 ext_accm[8];
57951a39d68df598db08dfced8b4707755864a0492Ying Wang
58951a39d68df598db08dfced8b4707755864a0492Ying Wangenum NPmode {
59951a39d68df598db08dfced8b4707755864a0492Ying Wang NPMODE_PASS,
60951a39d68df598db08dfced8b4707755864a0492Ying Wang NPMODE_DROP,
61951a39d68df598db08dfced8b4707755864a0492Ying Wang NPMODE_ERROR,
62951a39d68df598db08dfced8b4707755864a0492Ying Wang NPMODE_QUEUE
63951a39d68df598db08dfced8b4707755864a0492Ying Wang};
64951a39d68df598db08dfced8b4707755864a0492Ying Wang
65951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct pppstat {
66951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_discards;
67951a39d68df598db08dfced8b4707755864a0492Ying Wang
68951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_ibytes;
69951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_ioctects;
70951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_ipackets;
71951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_ierrors;
72951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_ilqrs;
73951a39d68df598db08dfced8b4707755864a0492Ying Wang
74951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_obytes;
75951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_ooctects;
76951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_opackets;
77951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_oerrors;
78951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 ppp_olqrs;
79951a39d68df598db08dfced8b4707755864a0492Ying Wang};
80951a39d68df598db08dfced8b4707755864a0492Ying Wang
81951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct vjstat {
82951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vjs_packets;
83951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vjs_compressed;
84951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vjs_searches;
85951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vjs_misses;
86951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vjs_uncompressedin;
87951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vjs_compressedin;
88951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vjs_errorin;
89951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 vjs_tossed;
90951a39d68df598db08dfced8b4707755864a0492Ying Wang};
91951a39d68df598db08dfced8b4707755864a0492Ying Wang
92951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct compstat {
93951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 unc_bytes;
94951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 unc_packets;
95951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 comp_bytes;
96951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 comp_packets;
97951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 inc_bytes;
98951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 inc_packets;
99951a39d68df598db08dfced8b4707755864a0492Ying Wang
100951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 in_count;
101951a39d68df598db08dfced8b4707755864a0492Ying Wang __u32 bytes_out;
102951a39d68df598db08dfced8b4707755864a0492Ying Wang
103951a39d68df598db08dfced8b4707755864a0492Ying Wang double ratio;
104951a39d68df598db08dfced8b4707755864a0492Ying Wang};
105951a39d68df598db08dfced8b4707755864a0492Ying Wang
106951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ppp_stats {
107951a39d68df598db08dfced8b4707755864a0492Ying Wang struct pppstat p;
108951a39d68df598db08dfced8b4707755864a0492Ying Wang struct vjstat vj;
109951a39d68df598db08dfced8b4707755864a0492Ying Wang};
110951a39d68df598db08dfced8b4707755864a0492Ying Wang
111951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ppp_comp_stats {
112951a39d68df598db08dfced8b4707755864a0492Ying Wang struct compstat c;
113951a39d68df598db08dfced8b4707755864a0492Ying Wang struct compstat d;
114951a39d68df598db08dfced8b4707755864a0492Ying Wang};
115951a39d68df598db08dfced8b4707755864a0492Ying Wang
116951a39d68df598db08dfced8b4707755864a0492Ying Wangstruct ppp_idle {
117951a39d68df598db08dfced8b4707755864a0492Ying Wang time_t xmit_idle;
118951a39d68df598db08dfced8b4707755864a0492Ying Wang time_t recv_idle;
119951a39d68df598db08dfced8b4707755864a0492Ying Wang};
120951a39d68df598db08dfced8b4707755864a0492Ying Wang
121951a39d68df598db08dfced8b4707755864a0492Ying Wang#endif
122