]> git.ozlabs.org Git - ppp.git/blob - include/net/pppio.h
added attach, lastmod and gclean ioctls
[ppp.git] / include / net / pppio.h
1 /*
2  * pppio.h - ioctl and other misc. definitions for STREAMS modules.
3  *
4  * Copyright (c) 1994 The Australian National University.
5  * All rights reserved.
6  *
7  * Permission to use, copy, modify, and distribute this software and its
8  * documentation is hereby granted, provided that the above copyright
9  * notice appears in all copies.  This software is provided without any
10  * warranty, express or implied. The Australian National University
11  * makes no representations about the suitability of this software for
12  * any purpose.
13  *
14  * IN NO EVENT SHALL THE AUSTRALIAN NATIONAL UNIVERSITY BE LIABLE TO ANY
15  * PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
16  * ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN IF
17  * THE AUSTRALIAN NATIONAL UNIVERSITY HAVE BEEN ADVISED OF THE POSSIBILITY
18  * OF SUCH DAMAGE.
19  *
20  * THE AUSTRALIAN NATIONAL UNIVERSITY SPECIFICALLY DISCLAIMS ANY WARRANTIES,
21  * INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
22  * AND FITNESS FOR A PARTICULAR PURPOSE.  THE SOFTWARE PROVIDED HEREUNDER IS
23  * ON AN "AS IS" BASIS, AND THE AUSTRALIAN NATIONAL UNIVERSITY HAS NO
24  * OBLIGATION TO PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS,
25  * OR MODIFICATIONS.
26  *
27  * $Id: pppio.h,v 1.2 1995/05/29 06:46:13 paulus Exp $
28  */
29
30 #define _PPPIO(n)       (('p' << 8) + (n))
31
32 #define PPPIO_NEWPPA    _PPPIO(130)     /* allocate a new PPP unit */
33 #define PPPIO_GETSTAT   _PPPIO(131)     /* get PPP statistics */
34 #define PPPIO_GETCSTAT  _PPPIO(132)     /* get PPP compression stats */
35 #define PPPIO_MTU       _PPPIO(133)     /* set max transmission unit */
36 #define PPPIO_MRU       _PPPIO(134)     /* set max receive unit */
37 #define PPPIO_CFLAGS    _PPPIO(135)     /* set/clear/get compression flags */
38 #define PPPIO_XCOMP     _PPPIO(136)     /* alloc transmit compressor */
39 #define PPPIO_RCOMP     _PPPIO(137)     /* alloc receive compressor */
40 #define PPPIO_XACCM     _PPPIO(138)     /* set transmit asyncmap */
41 #define PPPIO_RACCM     _PPPIO(139)     /* set receive asyncmap */
42 #define PPPIO_VJINIT    _PPPIO(140)     /* initialize VJ comp/decomp */
43 #define PPPIO_ATTACH    _PPPIO(141)     /* attach to a ppa (without putmsg) */
44 #define PPPIO_LASTMOD   _PPPIO(142)     /* mark last ppp module */
45 #define PPPIO_GCLEAN    _PPPIO(143)     /* get 8-bit-clean flags */
46
47 /*
48  * Values for PPPIO_CFLAGS
49  */
50 #define COMP_AC         0x1             /* compress address/control */
51 #define DECOMP_AC       0x2             /* decompress address/control */
52 #define COMP_PROT       0x4             /* compress PPP protocol */
53 #define DECOMP_PROT     0x8             /* decompress PPP protocol */
54
55 #define COMP_VJC        0x10            /* compress TCP/IP headers */
56 #define COMP_VJCCID     0x20            /* compress connection ID as well */
57 #define DECOMP_VJC      0x40            /* decompress TCP/IP headers */
58 #define DECOMP_VJCCID   0x80            /* accept compressed connection ID */
59
60 #define CCP_ISOPEN      0x100           /* look at CCP packets */
61 #define CCP_ISUP        0x200           /* do packet comp/decomp */
62 #define CCP_ERROR       0x400           /* (status) error in packet decomp */
63 #define CCP_FATALERROR  0x800           /* (status) fatal error ditto */
64 #define CCP_COMP_RUN    0x1000          /* (status) seen CCP ack sent */
65 #define CCP_DECOMP_RUN  0x2000          /* (status) seen CCP ack rcvd */
66
67 /*
68  * Values for 8-bit-clean flags.
69  */
70 #define RCV_B7_0        1               /* have rcvd char with bit 7 = 0 */
71 #define RCV_B7_1        2               /* have rcvd char with bit 7 = 1 */
72 #define RCV_EVNP        4               /* have rcvd char with even parity */
73 #define RCV_ODDP        8               /* have rcvd char with odd parity */
74
75 /*
76  * Values for the first byte of M_CTL messages passed between
77  * PPP modules.
78  */
79 #define PPPCTL_OERROR   0xe0            /* output error [up] */
80 #define PPPCTL_IERROR   0xe1            /* input error (e.g. FCS) [up] */
81 #define PPPCTL_MTU      0xe2            /* set MTU [down] */
82 #define PPPCTL_MRU      0xe3            /* set MRU [down] */
83 #define PPPCTL_UNIT     0xe4            /* note PPP unit number [down] */