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