added definitions for Deflate and Predictor
[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.5 1995/10/03 05:44:19 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 decompressor */
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 #define PPPIO_DEBUG     _PPPIO(144)     /* request debug information */
47 #define PPPIO_BIND      _PPPIO(145)     /* bind to SAP */
48
49 /*
50  * Values for PPPIO_CFLAGS
51  */
52 #define COMP_AC         0x1             /* compress address/control */
53 #define DECOMP_AC       0x2             /* decompress address/control */
54 #define COMP_PROT       0x4             /* compress PPP protocol */
55 #define DECOMP_PROT     0x8             /* decompress PPP protocol */
56
57 #define COMP_VJC        0x10            /* compress TCP/IP headers */
58 #define COMP_VJCCID     0x20            /* compress connection ID as well */
59 #define DECOMP_VJC      0x40            /* decompress TCP/IP headers */
60 #define DECOMP_VJCCID   0x80            /* accept compressed connection ID */
61
62 #define CCP_ISOPEN      0x100           /* look at CCP packets */
63 #define CCP_ISUP        0x200           /* do packet comp/decomp */
64 #define CCP_ERROR       0x400           /* (status) error in packet decomp */
65 #define CCP_FATALERROR  0x800           /* (status) fatal error ditto */
66 #define CCP_COMP_RUN    0x1000          /* (status) seen CCP ack sent */
67 #define CCP_DECOMP_RUN  0x2000          /* (status) seen CCP ack rcvd */
68
69 /*
70  * Values for 8-bit-clean flags.
71  */
72 #define RCV_B7_0        1               /* have rcvd char with bit 7 = 0 */
73 #define RCV_B7_1        2               /* have rcvd char with bit 7 = 1 */
74 #define RCV_EVNP        4               /* have rcvd char with even parity */
75 #define RCV_ODDP        8               /* have rcvd char with odd parity */
76
77 /*
78  * Values for the first byte of M_CTL messages passed between
79  * PPP modules.
80  */
81 #define PPPCTL_OERROR   0xe0            /* output error [up] */
82 #define PPPCTL_IERROR   0xe1            /* input error (e.g. FCS) [up] */
83 #define PPPCTL_MTU      0xe2            /* set MTU [down] */
84 #define PPPCTL_MRU      0xe3            /* set MRU [down] */
85 #define PPPCTL_UNIT     0xe4            /* note PPP unit number [down] */
86
87 /*
88  * Values for the integer argument to PPPIO_DEBUG.
89  */
90 #define PPPDBG_DUMP     0x10000         /* print out debug info now */
91 #define PPPDBG_LOG      0x100           /* log various things */
92 #define PPPDBG_DRIVER   0               /* identifies ppp driver as target */