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 241182 2011-02-17 21:50:03Z $ 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#define PPPIO_NPMODE _PPPIO(146) /* set mode for handling data pkts */ 49#define PPPIO_GIDLE _PPPIO(147) /* get time since last data pkt */ 50#define PPPIO_PASSFILT _PPPIO(148) /* set filter for packets to pass */ 51#define PPPIO_ACTIVEFILT _PPPIO(149) /* set filter for "link active" pkts */ 52 53/* 54 * Values for PPPIO_CFLAGS 55 */ 56#define COMP_AC 0x1 /* compress address/control */ 57#define DECOMP_AC 0x2 /* decompress address/control */ 58#define COMP_PROT 0x4 /* compress PPP protocol */ 59#define DECOMP_PROT 0x8 /* decompress PPP protocol */ 60 61#define COMP_VJC 0x10 /* compress TCP/IP headers */ 62#define COMP_VJCCID 0x20 /* compress connection ID as well */ 63#define DECOMP_VJC 0x40 /* decompress TCP/IP headers */ 64#define DECOMP_VJCCID 0x80 /* accept compressed connection ID */ 65 66#define CCP_ISOPEN 0x100 /* look at CCP packets */ 67#define CCP_ISUP 0x200 /* do packet comp/decomp */ 68#define CCP_ERROR 0x400 /* (status) error in packet decomp */ 69#define CCP_FATALERROR 0x800 /* (status) fatal error ditto */ 70#define CCP_COMP_RUN 0x1000 /* (status) seen CCP ack sent */ 71#define CCP_DECOMP_RUN 0x2000 /* (status) seen CCP ack rcvd */ 72 73/* 74 * Values for 8-bit-clean flags. 75 */ 76#define RCV_B7_0 1 /* have rcvd char with bit 7 = 0 */ 77#define RCV_B7_1 2 /* have rcvd char with bit 7 = 1 */ 78#define RCV_EVNP 4 /* have rcvd char with even parity */ 79#define RCV_ODDP 8 /* have rcvd char with odd parity */ 80 81/* 82 * Values for the first byte of M_CTL messages passed between 83 * PPP modules. 84 */ 85#define PPPCTL_OERROR 0xe0 /* output error [up] */ 86#define PPPCTL_IERROR 0xe1 /* input error (e.g. FCS) [up] */ 87#define PPPCTL_MTU 0xe2 /* set MTU [down] */ 88#define PPPCTL_MRU 0xe3 /* set MRU [down] */ 89#define PPPCTL_UNIT 0xe4 /* note PPP unit number [down] */ 90 91/* 92 * Values for the integer argument to PPPIO_DEBUG. 93 */ 94#define PPPDBG_DUMP 0x10000 /* print out debug info now */ 95#define PPPDBG_LOG 0x100 /* log various things */ 96#define PPPDBG_DRIVER 0 /* identifies ppp driver as target */ 97#define PPPDBG_IF 1 /* identifies ppp network i/f target */ 98#define PPPDBG_COMP 2 /* identifies ppp compression target */ 99#define PPPDBG_AHDLC 3 /* identifies ppp async hdlc target */ 100