blob: 84c23d9559f8b5e7dd66111fb25daca830f8f5cd [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#include <linux/types.h>
20#ifndef _UAPI_PPP_DEFS_H_
21#define _UAPI_PPP_DEFS_H_
22#define PPP_HDRLEN 4
Ben Cheng655a7c02013-10-16 16:09:24 -070023#define PPP_FCSLEN 2
24#define PPP_MRU 1500
Tao Baod7db5942015-01-28 10:07:51 -080025#define PPP_ADDRESS(p) (((__u8 *) (p))[0])
26#define PPP_CONTROL(p) (((__u8 *) (p))[1])
Tao Baod7db5942015-01-28 10:07:51 -080027#define PPP_PROTOCOL(p) ((((__u8 *) (p))[2] << 8) + ((__u8 *) (p))[3])
Ben Cheng655a7c02013-10-16 16:09:24 -070028#define PPP_ALLSTATIONS 0xff
29#define PPP_UI 0x03
30#define PPP_FLAG 0x7e
Ben Cheng655a7c02013-10-16 16:09:24 -070031#define PPP_ESCAPE 0x7d
32#define PPP_TRANS 0x20
33#define PPP_IP 0x21
34#define PPP_AT 0x29
Ben Cheng655a7c02013-10-16 16:09:24 -070035#define PPP_IPX 0x2b
36#define PPP_VJC_COMP 0x2d
37#define PPP_VJC_UNCOMP 0x2f
38#define PPP_MP 0x3d
Ben Cheng655a7c02013-10-16 16:09:24 -070039#define PPP_IPV6 0x57
40#define PPP_COMPFRAG 0xfb
41#define PPP_COMP 0xfd
42#define PPP_MPLS_UC 0x0281
Ben Cheng655a7c02013-10-16 16:09:24 -070043#define PPP_MPLS_MC 0x0283
44#define PPP_IPCP 0x8021
45#define PPP_ATCP 0x8029
46#define PPP_IPXCP 0x802b
Ben Cheng655a7c02013-10-16 16:09:24 -070047#define PPP_IPV6CP 0x8057
48#define PPP_CCPFRAG 0x80fb
49#define PPP_CCP 0x80fd
50#define PPP_MPLSCP 0x80fd
Ben Cheng655a7c02013-10-16 16:09:24 -070051#define PPP_LCP 0xc021
52#define PPP_PAP 0xc023
53#define PPP_LQR 0xc025
54#define PPP_CHAP 0xc223
Ben Cheng655a7c02013-10-16 16:09:24 -070055#define PPP_CBCP 0xc029
56#define PPP_INITFCS 0xffff
57#define PPP_GOODFCS 0xf0b8
58typedef __u32 ext_accm[8];
Ben Cheng655a7c02013-10-16 16:09:24 -070059enum NPmode {
Tao Baod7db5942015-01-28 10:07:51 -080060 NPMODE_PASS,
61 NPMODE_DROP,
62 NPMODE_ERROR,
Tao Baod7db5942015-01-28 10:07:51 -080063 NPMODE_QUEUE
Ben Cheng655a7c02013-10-16 16:09:24 -070064};
65struct pppstat {
Tao Baod7db5942015-01-28 10:07:51 -080066 __u32 ppp_discards;
Tao Baod7db5942015-01-28 10:07:51 -080067 __u32 ppp_ibytes;
68 __u32 ppp_ioctects;
69 __u32 ppp_ipackets;
70 __u32 ppp_ierrors;
Tao Baod7db5942015-01-28 10:07:51 -080071 __u32 ppp_ilqrs;
72 __u32 ppp_obytes;
73 __u32 ppp_ooctects;
74 __u32 ppp_opackets;
Tao Baod7db5942015-01-28 10:07:51 -080075 __u32 ppp_oerrors;
76 __u32 ppp_olqrs;
Ben Cheng655a7c02013-10-16 16:09:24 -070077};
78struct vjstat {
Tao Baod7db5942015-01-28 10:07:51 -080079 __u32 vjs_packets;
80 __u32 vjs_compressed;
81 __u32 vjs_searches;
82 __u32 vjs_misses;
Tao Baod7db5942015-01-28 10:07:51 -080083 __u32 vjs_uncompressedin;
84 __u32 vjs_compressedin;
85 __u32 vjs_errorin;
86 __u32 vjs_tossed;
Ben Cheng655a7c02013-10-16 16:09:24 -070087};
88struct compstat {
Tao Baod7db5942015-01-28 10:07:51 -080089 __u32 unc_bytes;
90 __u32 unc_packets;
Tao Baod7db5942015-01-28 10:07:51 -080091 __u32 comp_bytes;
92 __u32 comp_packets;
93 __u32 inc_bytes;
94 __u32 inc_packets;
Tao Baod7db5942015-01-28 10:07:51 -080095 __u32 in_count;
96 __u32 bytes_out;
97 double ratio;
Ben Cheng655a7c02013-10-16 16:09:24 -070098};
Ben Cheng655a7c02013-10-16 16:09:24 -070099struct ppp_stats {
Tao Baod7db5942015-01-28 10:07:51 -0800100 struct pppstat p;
101 struct vjstat vj;
Ben Cheng655a7c02013-10-16 16:09:24 -0700102};
Ben Cheng655a7c02013-10-16 16:09:24 -0700103struct ppp_comp_stats {
Tao Baod7db5942015-01-28 10:07:51 -0800104 struct compstat c;
105 struct compstat d;
Ben Cheng655a7c02013-10-16 16:09:24 -0700106};
Ben Cheng655a7c02013-10-16 16:09:24 -0700107struct ppp_idle {
Christopher Ferrisef80d682020-02-04 16:16:51 -0800108 __kernel_old_time_t xmit_idle;
109 __kernel_old_time_t recv_idle;
110};
111struct ppp_idle32 {
112 __s32 xmit_idle;
113 __s32 recv_idle;
114};
115struct ppp_idle64 {
116 __s64 xmit_idle;
117 __s64 recv_idle;
Ben Cheng655a7c02013-10-16 16:09:24 -0700118};
Ben Cheng655a7c02013-10-16 16:09:24 -0700119#endif