pppio.h 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899
  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.2 2001/09/27 05:21:12 andersen Exp $
  28. */
  29. #define _PPPIO(n) (('p' << 8) + (n))
  30. #define PPPIO_NEWPPA _PPPIO(130) /* allocate a new PPP unit */
  31. #define PPPIO_GETSTAT _PPPIO(131) /* get PPP statistics */
  32. #define PPPIO_GETCSTAT _PPPIO(132) /* get PPP compression stats */
  33. #define PPPIO_MTU _PPPIO(133) /* set max transmission unit */
  34. #define PPPIO_MRU _PPPIO(134) /* set max receive unit */
  35. #define PPPIO_CFLAGS _PPPIO(135) /* set/clear/get compression flags */
  36. #define PPPIO_XCOMP _PPPIO(136) /* alloc transmit compressor */
  37. #define PPPIO_RCOMP _PPPIO(137) /* alloc receive decompressor */
  38. #define PPPIO_XACCM _PPPIO(138) /* set transmit asyncmap */
  39. #define PPPIO_RACCM _PPPIO(139) /* set receive asyncmap */
  40. #define PPPIO_VJINIT _PPPIO(140) /* initialize VJ comp/decomp */
  41. #define PPPIO_ATTACH _PPPIO(141) /* attach to a ppa (without putmsg) */
  42. #define PPPIO_LASTMOD _PPPIO(142) /* mark last ppp module */
  43. #define PPPIO_GCLEAN _PPPIO(143) /* get 8-bit-clean flags */
  44. #define PPPIO_DEBUG _PPPIO(144) /* request debug information */
  45. #define PPPIO_BIND _PPPIO(145) /* bind to SAP */
  46. #define PPPIO_NPMODE _PPPIO(146) /* set mode for handling data pkts */
  47. #define PPPIO_GIDLE _PPPIO(147) /* get time since last data pkt */
  48. #define PPPIO_PASSFILT _PPPIO(148) /* set filter for packets to pass */
  49. #define PPPIO_ACTIVEFILT _PPPIO(149) /* set filter for "link active" pkts */
  50. /*
  51. * Values for PPPIO_CFLAGS
  52. */
  53. #define COMP_AC 0x1 /* compress address/control */
  54. #define DECOMP_AC 0x2 /* decompress address/control */
  55. #define COMP_PROT 0x4 /* compress PPP protocol */
  56. #define DECOMP_PROT 0x8 /* decompress PPP protocol */
  57. #define COMP_VJC 0x10 /* compress TCP/IP headers */
  58. #define COMP_VJCCID 0x20 /* compress connection ID as well */
  59. #define DECOMP_VJC 0x40 /* decompress TCP/IP headers */
  60. #define DECOMP_VJCCID 0x80 /* accept compressed connection ID */
  61. #define CCP_ISOPEN 0x100 /* look at CCP packets */
  62. #define CCP_ISUP 0x200 /* do packet comp/decomp */
  63. #define CCP_ERROR 0x400 /* (status) error in packet decomp */
  64. #define CCP_FATALERROR 0x800 /* (status) fatal error ditto */
  65. #define CCP_COMP_RUN 0x1000 /* (status) seen CCP ack sent */
  66. #define CCP_DECOMP_RUN 0x2000 /* (status) seen CCP ack rcvd */
  67. /*
  68. * Values for 8-bit-clean flags.
  69. */
  70. #define RCV_B7_0 1 /* have rcvd char with bit 7 = 0 */
  71. #define RCV_B7_1 2 /* have rcvd char with bit 7 = 1 */
  72. #define RCV_EVNP 4 /* have rcvd char with even parity */
  73. #define RCV_ODDP 8 /* have rcvd char with odd parity */
  74. /*
  75. * Values for the first byte of M_CTL messages passed between
  76. * PPP modules.
  77. */
  78. #define PPPCTL_OERROR 0xe0 /* output error [up] */
  79. #define PPPCTL_IERROR 0xe1 /* input error (e.g. FCS) [up] */
  80. #define PPPCTL_MTU 0xe2 /* set MTU [down] */
  81. #define PPPCTL_MRU 0xe3 /* set MRU [down] */
  82. #define PPPCTL_UNIT 0xe4 /* note PPP unit number [down] */
  83. /*
  84. * Values for the integer argument to PPPIO_DEBUG.
  85. */
  86. #define PPPDBG_DUMP 0x10000 /* print out debug info now */
  87. #define PPPDBG_LOG 0x100 /* log various things */
  88. #define PPPDBG_DRIVER 0 /* identifies ppp driver as target */
  89. #define PPPDBG_IF 1 /* identifies ppp network i/f target */
  90. #define PPPDBG_COMP 2 /* identifies ppp compression target */
  91. #define PPPDBG_AHDLC 3 /* identifies ppp async hdlc target */