Home | History | Annotate | Download | only in net
      1 /*
      2  * pppio.h - ioctl and other misc. definitions for STREAMS modules.
      3  *
      4  * Copyright (c) 1994 Paul Mackerras. All rights reserved.
      5  *
      6  * Redistribution and use in source and binary forms, with or without
      7  * modification, are permitted provided that the following conditions
      8  * are met:
      9  *
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  *
     13  * 2. Redistributions in binary form must reproduce the above copyright
     14  *    notice, this list of conditions and the following disclaimer in
     15  *    the documentation and/or other materials provided with the
     16  *    distribution.
     17  *
     18  * 3. The name(s) of the authors of this software must not be used to
     19  *    endorse or promote products derived from this software without
     20  *    prior written permission.
     21  *
     22  * 4. Redistributions of any form whatsoever must retain the following
     23  *    acknowledgment:
     24  *    "This product includes software developed by Paul Mackerras
     25  *     <paulus (at) samba.org>".
     26  *
     27  * THE AUTHORS OF THIS SOFTWARE DISCLAIM ALL WARRANTIES WITH REGARD TO
     28  * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
     29  * AND FITNESS, IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY
     30  * SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     31  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
     32  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
     33  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     34  *
     35  * $Id: pppio.h,v 1.9 2002/12/06 09:49:15 paulus Exp $
     36  */
     37 
     38 #define _PPPIO(n)	(('p' << 8) + (n))
     39 
     40 #define PPPIO_NEWPPA	_PPPIO(130)	/* allocate a new PPP unit */
     41 #define PPPIO_GETSTAT	_PPPIO(131)	/* get PPP statistics */
     42 #define PPPIO_GETCSTAT	_PPPIO(132)	/* get PPP compression stats */
     43 #define PPPIO_MTU	_PPPIO(133)	/* set max transmission unit */
     44 #define PPPIO_MRU	_PPPIO(134)	/* set max receive unit */
     45 #define PPPIO_CFLAGS	_PPPIO(135)	/* set/clear/get compression flags */
     46 #define PPPIO_XCOMP	_PPPIO(136)	/* alloc transmit compressor */
     47 #define PPPIO_RCOMP	_PPPIO(137)	/* alloc receive decompressor */
     48 #define PPPIO_XACCM	_PPPIO(138)	/* set transmit asyncmap */
     49 #define PPPIO_RACCM	_PPPIO(139)	/* set receive asyncmap */
     50 #define PPPIO_VJINIT	_PPPIO(140)	/* initialize VJ comp/decomp */
     51 #define PPPIO_ATTACH	_PPPIO(141)	/* attach to a ppa (without putmsg) */
     52 #define PPPIO_LASTMOD	_PPPIO(142)	/* mark last ppp module */
     53 #define PPPIO_GCLEAN	_PPPIO(143)	/* get 8-bit-clean flags */
     54 #define PPPIO_DEBUG	_PPPIO(144)	/* request debug information */
     55 #define PPPIO_BIND	_PPPIO(145)	/* bind to SAP */
     56 #define PPPIO_NPMODE	_PPPIO(146)	/* set mode for handling data pkts */
     57 #define PPPIO_GIDLE	_PPPIO(147)	/* get time since last data pkt */
     58 #define PPPIO_PASSFILT	_PPPIO(148)	/* set filter for packets to pass */
     59 #define PPPIO_ACTIVEFILT _PPPIO(149)	/* set filter for "link active" pkts */
     60 
     61 /*
     62  * Values for PPPIO_CFLAGS
     63  */
     64 #define COMP_AC		0x1		/* compress address/control */
     65 #define DECOMP_AC	0x2		/* decompress address/control */
     66 #define COMP_PROT	0x4		/* compress PPP protocol */
     67 #define DECOMP_PROT	0x8		/* decompress PPP protocol */
     68 
     69 #define COMP_VJC	0x10		/* compress TCP/IP headers */
     70 #define COMP_VJCCID	0x20		/* compress connection ID as well */
     71 #define DECOMP_VJC	0x40		/* decompress TCP/IP headers */
     72 #define DECOMP_VJCCID	0x80		/* accept compressed connection ID */
     73 
     74 #define CCP_ISOPEN	0x100		/* look at CCP packets */
     75 #define CCP_ISUP	0x200		/* do packet comp/decomp */
     76 #define CCP_ERROR	0x400		/* (status) error in packet decomp */
     77 #define CCP_FATALERROR	0x800		/* (status) fatal error ditto */
     78 #define CCP_COMP_RUN	0x1000		/* (status) seen CCP ack sent */
     79 #define CCP_DECOMP_RUN	0x2000		/* (status) seen CCP ack rcvd */
     80 
     81 /*
     82  * Values for 8-bit-clean flags.
     83  */
     84 #define RCV_B7_0	1		/* have rcvd char with bit 7 = 0 */
     85 #define RCV_B7_1	2		/* have rcvd char with bit 7 = 1 */
     86 #define RCV_EVNP	4		/* have rcvd char with even parity */
     87 #define RCV_ODDP	8		/* have rcvd char with odd parity */
     88 
     89 /*
     90  * Values for the first byte of M_CTL messages passed between
     91  * PPP modules.
     92  */
     93 #define PPPCTL_OERROR	0xe0		/* output error [up] */
     94 #define PPPCTL_IERROR	0xe1		/* input error (e.g. FCS) [up] */
     95 #define PPPCTL_MTU	0xe2		/* set MTU [down] */
     96 #define PPPCTL_MRU	0xe3		/* set MRU [down] */
     97 #define PPPCTL_UNIT	0xe4		/* note PPP unit number [down] */
     98 
     99 /*
    100  * Values for the integer argument to PPPIO_DEBUG.
    101  */
    102 #define PPPDBG_DUMP	0x10000		/* print out debug info now */
    103 #define PPPDBG_LOG	0x100		/* log various things */
    104 #define PPPDBG_DRIVER	0		/* identifies ppp driver as target */
    105 #define PPPDBG_IF	1		/* identifies ppp network i/f target */
    106 #define PPPDBG_COMP	2		/* identifies ppp compression target */
    107 #define PPPDBG_AHDLC	3		/* identifies ppp async hdlc target */
    108