lh | 9ed821d | 2023-04-07 01:36:19 -0700 | [diff] [blame] | 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.2 2007-06-08 04:02:37 gerg 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 */ |