home *** CD-ROM | disk | FTP | other *** search
/ Personal Computer World 2009 February / PCWFEB09.iso / Software / Linux / SLAX 6.0.8 / slax-6.0.8.iso / slax / base / 006-devel.lzm / usr / include / pppd / ipv6cp.h < prev    next >
Encoding:
C/C++ Source or Header  |  2006-06-29  |  7.1 KB  |  172 lines

  1. /*
  2.  * ipv6cp.h - PPP IPV6 Control Protocol.
  3.  *
  4.  * Copyright (c) 1999 Tommi Komulainen.  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 Tommi Komulainen
  25.  *     <Tommi.Komulainen@iki.fi>".
  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.  */
  36.  
  37. /*  Original version, based on RFC2023 :
  38.  
  39.     Copyright (c) 1995, 1996, 1997 Francis.Dupont@inria.fr, INRIA Rocquencourt,
  40.     Alain.Durand@imag.fr, IMAG,
  41.     Jean-Luc.Richier@imag.fr, IMAG-LSR.
  42.  
  43.     Copyright (c) 1998, 1999 Francis.Dupont@inria.fr, GIE DYADE,
  44.     Alain.Durand@imag.fr, IMAG,
  45.     Jean-Luc.Richier@imag.fr, IMAG-LSR.
  46.  
  47.     Ce travail a ΘtΘ fait au sein du GIE DYADE (Groupement d'IntΘrΩt
  48.     ╔conomique ayant pour membres BULL S.A. et l'INRIA).
  49.  
  50.     Ce logiciel informatique est disponible aux conditions
  51.     usuelles dans la recherche, c'est-α-dire qu'il peut
  52.     Ωtre utilisΘ, copiΘ, modifiΘ, distribuΘ α l'unique
  53.     condition que ce texte soit conservΘ afin que
  54.     l'origine de ce logiciel soit reconnue.
  55.  
  56.     Le nom de l'Institut National de Recherche en Informatique
  57.     et en Automatique (INRIA), de l'IMAG, ou d'une personne morale
  58.     ou physique ayant participΘ α l'Θlaboration de ce logiciel ne peut
  59.     Ωtre utilisΘ sans son accord prΘalable explicite.
  60.  
  61.     Ce logiciel est fourni tel quel sans aucune garantie,
  62.     support ou responsabilitΘ d'aucune sorte.
  63.     Ce logiciel est dΘrivΘ de sources d'origine
  64.     "University of California at Berkeley" et
  65.     "Digital Equipment Corporation" couvertes par des copyrights.
  66.  
  67.     L'Institut d'Informatique et de MathΘmatiques AppliquΘes de Grenoble (IMAG)
  68.     est une fΘdΘration d'unitΘs mixtes de recherche du CNRS, de l'Institut National
  69.     Polytechnique de Grenoble et de l'UniversitΘ Joseph Fourier regroupant
  70.     sept laboratoires dont le laboratoire Logiciels, SystΦmes, RΘseaux (LSR).
  71.  
  72.     This work has been done in the context of GIE DYADE (joint R & D venture
  73.     between BULL S.A. and INRIA).
  74.  
  75.     This software is available with usual "research" terms
  76.     with the aim of retain credits of the software. 
  77.     Permission to use, copy, modify and distribute this software for any
  78.     purpose and without fee is hereby granted, provided that the above
  79.     copyright notice and this permission notice appear in all copies,
  80.     and the name of INRIA, IMAG, or any contributor not be used in advertising
  81.     or publicity pertaining to this material without the prior explicit
  82.     permission. The software is provided "as is" without any
  83.     warranties, support or liabilities of any kind.
  84.     This software is derived from source code from
  85.     "University of California at Berkeley" and
  86.     "Digital Equipment Corporation" protected by copyrights.
  87.  
  88.     Grenoble's Institute of Computer Science and Applied Mathematics (IMAG)
  89.     is a federation of seven research units funded by the CNRS, National
  90.     Polytechnic Institute of Grenoble and University Joseph Fourier.
  91.     The research unit in Software, Systems, Networks (LSR) is member of IMAG.
  92. */
  93.  
  94. /*
  95.  * Derived from :
  96.  *
  97.  *
  98.  * ipcp.h - IP Control Protocol definitions.
  99.  *
  100.  * Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved.
  101.  *
  102.  * Redistribution and use in source and binary forms, with or without
  103.  * modification, are permitted provided that the following conditions
  104.  * are met:
  105.  *
  106.  * 1. Redistributions of source code must retain the above copyright
  107.  *    notice, this list of conditions and the following disclaimer.
  108.  *
  109.  * 2. Redistributions in binary form must reproduce the above copyright
  110.  *    notice, this list of conditions and the following disclaimer in
  111.  *    the documentation and/or other materials provided with the
  112.  *    distribution.
  113.  *
  114.  * 3. The name "Carnegie Mellon University" must not be used to
  115.  *    endorse or promote products derived from this software without
  116.  *    prior written permission. For permission or any legal
  117.  *    details, please contact
  118.  *      Office of Technology Transfer
  119.  *      Carnegie Mellon University
  120.  *      5000 Forbes Avenue
  121.  *      Pittsburgh, PA  15213-3890
  122.  *      (412) 268-4387, fax: (412) 268-7395
  123.  *      tech-transfer@andrew.cmu.edu
  124.  *
  125.  * 4. Redistributions of any form whatsoever must retain the following
  126.  *    acknowledgment:
  127.  *    "This product includes software developed by Computing Services
  128.  *     at Carnegie Mellon University (http://www.cmu.edu/computing/)."
  129.  *
  130.  * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
  131.  * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
  132.  * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
  133.  * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  134.  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
  135.  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
  136.  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  137.  *
  138.  * $Id: ipv6cp.h,v 1.7 2002/12/04 23:03:32 paulus Exp $
  139.  */
  140.  
  141. /*
  142.  * Options.
  143.  */
  144. #define CI_IFACEID    1    /* Interface Identifier */
  145. #define CI_COMPRESSTYPE    2    /* Compression Type     */
  146.  
  147. /* No compression types yet defined.
  148.  *#define IPV6CP_COMP    0x004f
  149.  */
  150. typedef struct ipv6cp_options {
  151.     int neg_ifaceid;        /* Negotiate interface identifier? */
  152.     int req_ifaceid;        /* Ask peer to send interface identifier? */
  153.     int accept_local;        /* accept peer's value for iface id? */
  154.     int opt_local;        /* ourtoken set by option */
  155.     int opt_remote;        /* histoken set by option */
  156.     int use_ip;            /* use IP as interface identifier */
  157. #if defined(SOL2) || defined(__linux__)
  158.     int use_persistent;        /* use uniquely persistent value for address */
  159. #endif /* defined(SOL2) */
  160.     int neg_vj;            /* Van Jacobson Compression? */
  161.     u_short vj_protocol;    /* protocol value to use in VJ option */
  162.     eui64_t ourid, hisid;    /* Interface identifiers */
  163. } ipv6cp_options;
  164.  
  165. extern fsm ipv6cp_fsm[];
  166. extern ipv6cp_options ipv6cp_wantoptions[];
  167. extern ipv6cp_options ipv6cp_gotoptions[];
  168. extern ipv6cp_options ipv6cp_allowoptions[];
  169. extern ipv6cp_options ipv6cp_hisoptions[];
  170.  
  171. extern struct protent ipv6cp_protent;
  172.