130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng/* Linux ISDN subsystem, sync PPP, interface to ipppd
230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright 1994-1999  by Fritz Elfert (fritz@isdn4linux.de)
430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright 1995,96    Thinking Objects Software GmbH Wuerzburg
530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright 1995,96    by Michael Hipp (Michael.Hipp@student.uni-tuebingen.de)
630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * Copyright 2000-2002  by Kai Germaschewski (kai@germaschewski.name)
730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * This software may be used and distributed according to the terms
930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng * of the GNU General Public License, incorporated herein by reference.
1030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng *
1130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng */
1230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#ifndef _UAPI_LINUX_ISDN_PPP_H
1430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define _UAPI_LINUX_ISDN_PPP_H
1530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
1630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CALLTYPE_INCOMING 0x1
1730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CALLTYPE_OUTGOING 0x2
1830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define CALLTYPE_CALLBACK 0x4
1930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IPPP_VERSION    "2.2.0"
2130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
2230692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct pppcallinfo
2330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng{
2430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng  int calltype;
2530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng  unsigned char local_num[64];
2630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng  unsigned char remote_num[64];
2730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng  int charge_units;
2830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
2930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
3030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PPPIOCGCALLINFO _IOWR('t',128,struct pppcallinfo)
3130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PPPIOCBUNDLE   _IOW('t',129,int)
3230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PPPIOCGMPFLAGS _IOR('t',130,int)
3330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PPPIOCSMPFLAGS _IOW('t',131,int)
3430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PPPIOCSMPMTU   _IOW('t',132,int)
3530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PPPIOCSMPMRU   _IOW('t',133,int)
3630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PPPIOCGCOMPRESSORS _IOR('t',134,unsigned long [8])
3730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PPPIOCSCOMPRESSOR _IOW('t',135,int)
3830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define PPPIOCGIFNAME      _IOR('t',136, char [IFNAMSIZ] )
3930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
4030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
4130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_MP_PROT       0x00000200
4230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_REJ_MP_PROT   0x00000400
4330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_OUT_SHORT_SEQ 0x00000800
4430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_IN_SHORT_SEQ  0x00004000
4530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
4630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_DECOMP_ON		0x01
4730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_COMP_ON		0x02
4830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_DECOMP_DISCARD	0x04
4930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_COMP_DISCARD		0x08
5030692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_LINK_DECOMP_ON	0x10
5130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_LINK_COMP_ON		0x20
5230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_LINK_DECOMP_DISCARD	0x40
5330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define SC_LINK_COMP_DISCARD	0x80
5430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
5530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define ISDN_PPP_COMP_MAX_OPTIONS 16
5630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
5730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IPPP_COMP_FLAG_XMIT 0x1
5830692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#define IPPP_COMP_FLAG_LINK 0x2
5930692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
6030692c65c4174412c90e79489e98ab85c1a7412fBen Chengstruct isdn_ppp_comp_data {
6130692c65c4174412c90e79489e98ab85c1a7412fBen Cheng  int num;
6230692c65c4174412c90e79489e98ab85c1a7412fBen Cheng  unsigned char options[ISDN_PPP_COMP_MAX_OPTIONS];
6330692c65c4174412c90e79489e98ab85c1a7412fBen Cheng  int optlen;
6430692c65c4174412c90e79489e98ab85c1a7412fBen Cheng  int flags;
6530692c65c4174412c90e79489e98ab85c1a7412fBen Cheng};
6630692c65c4174412c90e79489e98ab85c1a7412fBen Cheng
6730692c65c4174412c90e79489e98ab85c1a7412fBen Cheng#endif /* _UAPI_LINUX_ISDN_PPP_H */
68