Initial revision
[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.1 1995/05/19 02:29:03 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
44 /*
45  * Values for PPPIO_CFLAGS
46  */
47 #define COMP_AC         0x1             /* compress address/control */
48 #define DECOMP_AC       0x2             /* decompress address/control */
49 #define COMP_PROT       0x4             /* compress PPP protocol */
50 #define DECOMP_PROT     0x8             /* decompress PPP protocol */
51
52 #define COMP_VJC        0x10            /* compress TCP/IP headers */
53 #define COMP_VJCCID     0x20            /* compress connection ID as well */
54 #define DECOMP_VJC      0x40            /* decompress TCP/IP headers */
55 #define DECOMP_VJCCID   0x80            /* accept compressed connection ID */
56
57 #define CCP_ISOPEN      0x100           /* look at CCP packets */
58 #define CCP_ISUP        0x200           /* do packet comp/decomp */
59 #define CCP_ERROR       0x400           /* (status) error in packet decomp */
60 #define CCP_FATALERROR  0x800           /* (status) fatal error ditto */
61 #define CCP_COMP_RUN    0x1000          /* (status) seen CCP ack sent */
62 #define CCP_DECOMP_RUN  0x2000          /* (status) seen CCP ack rcvd */
63
64 /*
65  * Values for the first byte of M_CTL messages passed between
66  * PPP modules.
67  */
68 #define PPPCTL_OERROR   0xe0            /* output error [up] */
69 #define PPPCTL_IERROR   0xe1            /* input error (e.g. FCS) [up] */
70 #define PPPCTL_MTU      0xe2            /* set MTU [down] */
71 #define PPPCTL_MRU      0xe3            /* set MRU [down] */
72 #define PPPCTL_UNIT     0xe4            /* note PPP unit number [down] */