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@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