The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/net/if_ppp.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*      $NetBSD: if_ppp.h,v 1.21 2003/09/04 07:46:47 christos Exp $     */
    2 /*      Id: if_ppp.h,v 1.16 1997/04/30 05:46:04 paulus Exp      */
    3 
    4 /*
    5  * if_ppp.h - Point-to-Point Protocol definitions.
    6  *
    7  * Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved.
    8  *
    9  * Redistribution and use in source and binary forms, with or without
   10  * modification, are permitted provided that the following conditions
   11  * are met:
   12  *
   13  * 1. Redistributions of source code must retain the above copyright
   14  *    notice, this list of conditions and the following disclaimer.
   15  *
   16  * 2. Redistributions in binary form must reproduce the above copyright
   17  *    notice, this list of conditions and the following disclaimer in
   18  *    the documentation and/or other materials provided with the
   19  *    distribution.
   20  *
   21  * 3. The name "Carnegie Mellon University" must not be used to
   22  *    endorse or promote products derived from this software without
   23  *    prior written permission. For permission or any legal
   24  *    details, please contact
   25  *      Office of Technology Transfer
   26  *      Carnegie Mellon University
   27  *      5000 Forbes Avenue
   28  *      Pittsburgh, PA  15213-3890
   29  *      (412) 268-4387, fax: (412) 268-7395
   30  *      tech-transfer@andrew.cmu.edu
   31  *
   32  * 4. Redistributions of any form whatsoever must retain the following
   33  *    acknowledgment:
   34  *    "This product includes software developed by Computing Services
   35  *     at Carnegie Mellon University (http://www.cmu.edu/computing/)."
   36  *
   37  * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
   38  * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
   39  * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
   40  * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
   41  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
   42  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
   43  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
   44  */
   45 
   46 #ifndef _NET_IF_PPP_H_
   47 #define _NET_IF_PPP_H_
   48 
   49 /*
   50  * Bit definitions for flags.
   51  */
   52 #define SC_COMP_PROT    0x00000001      /* protocol compression (output) */
   53 #define SC_COMP_AC      0x00000002      /* header compression (output) */
   54 #define SC_COMP_TCP     0x00000004      /* TCP (VJ) compression (output) */
   55 #define SC_NO_TCP_CCID  0x00000008      /* disable VJ connection-id comp. */
   56 #define SC_REJ_COMP_AC  0x00000010      /* reject adrs/ctrl comp. on input */
   57 #define SC_REJ_COMP_TCP 0x00000020      /* reject TCP (VJ) comp. on input */
   58 #define SC_CCP_OPEN     0x00000040      /* Look at CCP packets */
   59 #define SC_CCP_UP       0x00000080      /* May send/recv compressed packets */
   60 #define SC_DEBUG        0x00010000      /* enable debug messages */
   61 #define SC_LOG_INPKT    0x00020000      /* log contents of good pkts recvd */
   62 #define SC_LOG_OUTPKT   0x00040000      /* log contents of pkts sent */
   63 #define SC_LOG_RAWIN    0x00080000      /* log all chars received */
   64 #define SC_LOG_FLUSH    0x00100000      /* log all chars flushed */
   65 #define SC_SYNC         0x00200000      /* synchronous HDLC */
   66 #define SC_RCV_B7_0     0x01000000      /* have rcvd char with bit 7 = 0 */
   67 #define SC_RCV_B7_1     0x02000000      /* have rcvd char with bit 7 = 1 */
   68 #define SC_RCV_EVNP     0x04000000      /* have rcvd char with even parity */
   69 #define SC_RCV_ODDP     0x08000000      /* have rcvd char with odd parity */
   70 
   71 #define SC_MASK         0x0fff00ff      /* bits that user can change */
   72 
   73 /*
   74  * State bits in sc_flags, not changeable by user.
   75  */
   76 #define SC_TIMEOUT      0x00000400      /* timeout is currently pending */
   77 #define SC_VJ_RESET     0x00000800      /* need to reset VJ decomp */
   78 #define SC_COMP_RUN     0x00001000      /* compressor has been inited */
   79 #define SC_DECOMP_RUN   0x00002000      /* decompressor has been inited */
   80 #define SC_DC_ERROR     0x00004000      /* non-fatal decomp error detected */
   81 #define SC_DC_FERROR    0x00008000      /* fatal decomp error detected */
   82 #define SC_TBUSY        0x10000000      /* xmitter doesn't need a packet yet */
   83 #define SC_PKTLOST      0x20000000      /* have lost or dropped a packet */
   84 #define SC_FLUSH        0x40000000      /* flush input until next PPP_FLAG */
   85 #define SC_ESCAPED      0x80000000      /* saw a PPP_ESCAPE */
   86 
   87 /*
   88  * Ioctl definitions.
   89  */
   90 
   91 struct npioctl {
   92     int         protocol;       /* PPP procotol, e.g. PPP_IP */
   93     enum NPmode mode;
   94 };
   95 
   96 /* Structure describing a CCP configuration option, for PPPIOCSCOMPRESS */
   97 struct ppp_option_data {
   98         u_char  *ptr;
   99         u_int   length;
  100         int     transmit;
  101 };
  102 
  103 struct ifpppstatsreq {
  104     char ifr_name[IFNAMSIZ];
  105     struct ppp_stats stats;
  106 };
  107 
  108 struct ifpppcstatsreq {
  109     char ifr_name[IFNAMSIZ];
  110     struct ppp_comp_stats stats;
  111 };
  112 
  113 struct ppp_rawin {
  114     u_char buf[63];
  115     u_char count;
  116 };
  117 
  118 /*
  119  * Ioctl definitions.
  120  */
  121 
  122 #define PPPIOCGRAWIN    _IOR('t', 91, struct ppp_rawin) /* get raw input */
  123 #define PPPIOCGFLAGS    _IOR('t', 90, int)      /* get configuration flags */
  124 #define PPPIOCSFLAGS    _IOW('t', 89, int)      /* set configuration flags */
  125 #define PPPIOCGASYNCMAP _IOR('t', 88, int)      /* get async map */
  126 #define PPPIOCSASYNCMAP _IOW('t', 87, int)      /* set async map */
  127 #define PPPIOCGUNIT     _IOR('t', 86, int)      /* get ppp unit number */
  128 #define PPPIOCGRASYNCMAP _IOR('t', 85, int)     /* get receive async map */
  129 #define PPPIOCSRASYNCMAP _IOW('t', 84, int)     /* set receive async map */
  130 #define PPPIOCGMRU      _IOR('t', 83, int)      /* get max receive unit */
  131 #define PPPIOCSMRU      _IOW('t', 82, int)      /* set max receive unit */
  132 #define PPPIOCSMAXCID   _IOW('t', 81, int)      /* set VJ max slot ID */
  133 #define PPPIOCGXASYNCMAP _IOR('t', 80, ext_accm) /* get extended ACCM */
  134 #define PPPIOCSXASYNCMAP _IOW('t', 79, ext_accm) /* set extended ACCM */
  135 #define PPPIOCXFERUNIT  _IO('t', 78)            /* transfer PPP unit */
  136 #define PPPIOCSCOMPRESS _IOW('t', 77, struct ppp_option_data)
  137 #define PPPIOCGNPMODE   _IOWR('t', 76, struct npioctl) /* get NP mode */
  138 #define PPPIOCSNPMODE   _IOW('t', 75, struct npioctl)  /* set NP mode */
  139 #define PPPIOCGIDLE     _IOR('t', 74, struct ppp_idle) /* get idle time */
  140 #ifdef PPP_FILTER
  141 /*
  142  * XXX These are deprecated; they can no longer be used, because they
  143  * XXX don't play well with multiple encaps.  The defs are here so that
  144  * XXX we can return decent errors to old pppds, and so that new pppds
  145  * XXX will work with old kernels.
  146  */
  147 #define PPPIOCSPASS     _IOW('t', 71, struct bpf_program) /* set pass filter */
  148 #define PPPIOCSACTIVE   _IOW('t', 70, struct bpf_program) /* set active filt */
  149 
  150 /*
  151  * Use these instead.
  152  */
  153 #define PPPIOCSIPASS    _IOW('t', 69, struct bpf_program) /* set in pass flt */
  154 #define PPPIOCSOPASS    _IOW('t', 68, struct bpf_program) /* set out pass flt */
  155 #define PPPIOCSIACTIVE  _IOW('t', 67, struct bpf_program) /* set in act flt */
  156 #define PPPIOCSOACTIVE  _IOW('t', 66, struct bpf_program) /* set out act flt */
  157 #endif /* PPP_FILTER */
  158 
  159 /* PPPIOC[GS]MTU are alternatives to SIOC[GS]IFMTU, used under Ultrix */
  160 #define PPPIOCGMTU      _IOR('t', 73, int)      /* get interface MTU */
  161 #define PPPIOCSMTU      _IOW('t', 72, int)      /* set interface MTU */
  162 
  163 /*
  164  * These two are interface ioctls so that pppstats can do them on
  165  * a socket without having to open the serial device.
  166  */
  167 #define SIOCGPPPSTATS   _IOWR('i', 123, struct ifpppstatsreq)
  168 #define SIOCGPPPCSTATS  _IOWR('i', 122, struct ifpppcstatsreq)
  169 
  170 #if !defined(ifr_mtu)
  171 #define ifr_mtu ifr_ifru.ifru_metric
  172 #endif
  173 
  174 #if defined(_KERNEL) || defined(KERNEL)
  175 void pppattach __P((void));
  176 #endif
  177 #endif /* _NET_IF_PPP_H_ */

Cache object: 92b14f1fad695373491b20ffca3dd190


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.