1/* Linux ISDN subsystem, sync PPP, interface to ipppd
2 *
3 * Copyright 1994-1999  by Fritz Elfert (fritz@isdn4linux.de)
4 * Copyright 1995,96    Thinking Objects Software GmbH Wuerzburg
5 * Copyright 1995,96    by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
6 * Copyright 2000-2002  by Kai Germaschewski (kai@germaschewski.name)
7 *
8 * This software may be used and distributed according to the terms
9 * of the GNU General Public License, incorporated herein by reference.
10 *
11 */
12
13#ifndef _UAPI_LINUX_ISDN_PPP_H
14#define _UAPI_LINUX_ISDN_PPP_H
15
16#define CALLTYPE_INCOMING 0x1
17#define CALLTYPE_OUTGOING 0x2
18#define CALLTYPE_CALLBACK 0x4
19
20#define IPPP_VERSION    "2.2.0"
21
22struct pppcallinfo
23{
24  int calltype;
25  unsigned char local_num[64];
26  unsigned char remote_num[64];
27  int charge_units;
28};
29
30#define PPPIOCGCALLINFO _IOWR('t',128,struct pppcallinfo)
31#define PPPIOCBUNDLE   _IOW('t',129,int)
32#define PPPIOCGMPFLAGS _IOR('t',130,int)
33#define PPPIOCSMPFLAGS _IOW('t',131,int)
34#define PPPIOCSMPMTU   _IOW('t',132,int)
35#define PPPIOCSMPMRU   _IOW('t',133,int)
36#define PPPIOCGCOMPRESSORS _IOR('t',134,unsigned long [8])
37#define PPPIOCSCOMPRESSOR _IOW('t',135,int)
38#define PPPIOCGIFNAME      _IOR('t',136, char [IFNAMSIZ] )
39
40
41#define SC_MP_PROT       0x00000200
42#define SC_REJ_MP_PROT   0x00000400
43#define SC_OUT_SHORT_SEQ 0x00000800
44#define SC_IN_SHORT_SEQ  0x00004000
45
46#define SC_DECOMP_ON		0x01
47#define SC_COMP_ON		0x02
48#define SC_DECOMP_DISCARD	0x04
49#define SC_COMP_DISCARD		0x08
50#define SC_LINK_DECOMP_ON	0x10
51#define SC_LINK_COMP_ON		0x20
52#define SC_LINK_DECOMP_DISCARD	0x40
53#define SC_LINK_COMP_DISCARD	0x80
54
55#define ISDN_PPP_COMP_MAX_OPTIONS 16
56
57#define IPPP_COMP_FLAG_XMIT 0x1
58#define IPPP_COMP_FLAG_LINK 0x2
59
60struct isdn_ppp_comp_data {
61  int num;
62  unsigned char options[ISDN_PPP_COMP_MAX_OPTIONS];
63  int optlen;
64  int flags;
65};
66
67#endif /* _UAPI_LINUX_ISDN_PPP_H */
68