blob: b34cacc53b136323f48e3fd8f3bcc64f4bd68144 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Ben Cheng655a7c02013-10-16 16:09:24 -07007#ifndef _PPP_IOCTL_H
8#define _PPP_IOCTL_H
9#include <linux/types.h>
10#include <linux/compiler.h>
Christopher Ferris38062f92014-07-09 15:33:25 -070011#include <linux/ppp_defs.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070012#define SC_COMP_PROT 0x00000001
13#define SC_COMP_AC 0x00000002
14#define SC_COMP_TCP 0x00000004
Christopher Ferris38062f92014-07-09 15:33:25 -070015#define SC_NO_TCP_CCID 0x00000008
Ben Cheng655a7c02013-10-16 16:09:24 -070016#define SC_REJ_COMP_AC 0x00000010
17#define SC_REJ_COMP_TCP 0x00000020
18#define SC_CCP_OPEN 0x00000040
Christopher Ferris38062f92014-07-09 15:33:25 -070019#define SC_CCP_UP 0x00000080
Ben Cheng655a7c02013-10-16 16:09:24 -070020#define SC_ENABLE_IP 0x00000100
21#define SC_LOOP_TRAFFIC 0x00000200
22#define SC_MULTILINK 0x00000400
Christopher Ferris38062f92014-07-09 15:33:25 -070023#define SC_MP_SHORTSEQ 0x00000800
Ben Cheng655a7c02013-10-16 16:09:24 -070024#define SC_COMP_RUN 0x00001000
25#define SC_DECOMP_RUN 0x00002000
26#define SC_MP_XSHORTSEQ 0x00004000
Christopher Ferris38062f92014-07-09 15:33:25 -070027#define SC_DEBUG 0x00010000
Ben Cheng655a7c02013-10-16 16:09:24 -070028#define SC_LOG_INPKT 0x00020000
29#define SC_LOG_OUTPKT 0x00040000
30#define SC_LOG_RAWIN 0x00080000
Christopher Ferris38062f92014-07-09 15:33:25 -070031#define SC_LOG_FLUSH 0x00100000
Ben Cheng655a7c02013-10-16 16:09:24 -070032#define SC_SYNC 0x00200000
33#define SC_MUST_COMP 0x00400000
34#define SC_MASK 0x0f600fff
Christopher Ferris38062f92014-07-09 15:33:25 -070035#define SC_XMIT_BUSY 0x10000000
Ben Cheng655a7c02013-10-16 16:09:24 -070036#define SC_RCV_ODDP 0x08000000
37#define SC_RCV_EVNP 0x04000000
38#define SC_RCV_B7_1 0x02000000
Christopher Ferris38062f92014-07-09 15:33:25 -070039#define SC_RCV_B7_0 0x01000000
Ben Cheng655a7c02013-10-16 16:09:24 -070040#define SC_DC_FERROR 0x00800000
41#define SC_DC_ERROR 0x00400000
42struct npioctl {
Tao Baod7db5942015-01-28 10:07:51 -080043 int protocol;
44 enum NPmode mode;
Ben Cheng655a7c02013-10-16 16:09:24 -070045};
46struct ppp_option_data {
Elliott Hughes0f0c18f2023-03-29 15:53:31 -070047 __u8 * ptr;
Tao Baod7db5942015-01-28 10:07:51 -080048 __u32 length;
49 int transmit;
Ben Cheng655a7c02013-10-16 16:09:24 -070050};
Christopher Ferris38062f92014-07-09 15:33:25 -070051struct pppol2tp_ioc_stats {
Tao Baod7db5942015-01-28 10:07:51 -080052 __u16 tunnel_id;
53 __u16 session_id;
54 __u32 using_ipsec : 1;
Tao Baod7db5942015-01-28 10:07:51 -080055 __aligned_u64 tx_packets;
56 __aligned_u64 tx_bytes;
57 __aligned_u64 tx_errors;
58 __aligned_u64 rx_packets;
Tao Baod7db5942015-01-28 10:07:51 -080059 __aligned_u64 rx_bytes;
60 __aligned_u64 rx_seq_discards;
61 __aligned_u64 rx_oos_packets;
62 __aligned_u64 rx_errors;
Christopher Ferris38062f92014-07-09 15:33:25 -070063};
Ben Cheng655a7c02013-10-16 16:09:24 -070064#define PPPIOCGFLAGS _IOR('t', 90, int)
65#define PPPIOCSFLAGS _IOW('t', 89, int)
66#define PPPIOCGASYNCMAP _IOR('t', 88, int)
Christopher Ferris38062f92014-07-09 15:33:25 -070067#define PPPIOCSASYNCMAP _IOW('t', 87, int)
Ben Cheng655a7c02013-10-16 16:09:24 -070068#define PPPIOCGUNIT _IOR('t', 86, int)
69#define PPPIOCGRASYNCMAP _IOR('t', 85, int)
70#define PPPIOCSRASYNCMAP _IOW('t', 84, int)
Christopher Ferris38062f92014-07-09 15:33:25 -070071#define PPPIOCGMRU _IOR('t', 83, int)
Ben Cheng655a7c02013-10-16 16:09:24 -070072#define PPPIOCSMRU _IOW('t', 82, int)
73#define PPPIOCSMAXCID _IOW('t', 81, int)
74#define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm)
Christopher Ferris38062f92014-07-09 15:33:25 -070075#define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm)
Ben Cheng655a7c02013-10-16 16:09:24 -070076#define PPPIOCXFERUNIT _IO('t', 78)
77#define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
78#define PPPIOCGNPMODE _IOWR('t', 76, struct npioctl)
Christopher Ferris38062f92014-07-09 15:33:25 -070079#define PPPIOCSNPMODE _IOW('t', 75, struct npioctl)
Ben Cheng655a7c02013-10-16 16:09:24 -070080#define PPPIOCSPASS _IOW('t', 71, struct sock_fprog)
81#define PPPIOCSACTIVE _IOW('t', 70, struct sock_fprog)
82#define PPPIOCGDEBUG _IOR('t', 65, int)
Christopher Ferris38062f92014-07-09 15:33:25 -070083#define PPPIOCSDEBUG _IOW('t', 64, int)
Ben Cheng655a7c02013-10-16 16:09:24 -070084#define PPPIOCGIDLE _IOR('t', 63, struct ppp_idle)
Christopher Ferrisd32ca142020-02-04 16:16:51 -080085#define PPPIOCGIDLE32 _IOR('t', 63, struct ppp_idle32)
86#define PPPIOCGIDLE64 _IOR('t', 63, struct ppp_idle64)
Ben Cheng655a7c02013-10-16 16:09:24 -070087#define PPPIOCNEWUNIT _IOWR('t', 62, int)
88#define PPPIOCATTACH _IOW('t', 61, int)
Christopher Ferris38062f92014-07-09 15:33:25 -070089#define PPPIOCDETACH _IOW('t', 60, int)
Ben Cheng655a7c02013-10-16 16:09:24 -070090#define PPPIOCSMRRU _IOW('t', 59, int)
91#define PPPIOCCONNECT _IOW('t', 58, int)
92#define PPPIOCDISCONN _IO('t', 57)
Christopher Ferris38062f92014-07-09 15:33:25 -070093#define PPPIOCATTCHAN _IOW('t', 56, int)
Ben Cheng655a7c02013-10-16 16:09:24 -070094#define PPPIOCGCHAN _IOR('t', 55, int)
95#define PPPIOCGL2TPSTATS _IOR('t', 54, struct pppol2tp_ioc_stats)
Christopher Ferris05667cd2021-02-16 16:01:34 -080096#define PPPIOCBRIDGECHAN _IOW('t', 53, int)
97#define PPPIOCUNBRIDGECHAN _IO('t', 52)
Ben Cheng655a7c02013-10-16 16:09:24 -070098#define SIOCGPPPSTATS (SIOCDEVPRIVATE + 0)
Christopher Ferris38062f92014-07-09 15:33:25 -070099#define SIOCGPPPVER (SIOCDEVPRIVATE + 1)
Ben Cheng655a7c02013-10-16 16:09:24 -0700100#define SIOCGPPPCSTATS (SIOCDEVPRIVATE + 2)
101#endif