]> git.ozlabs.org Git - ppp.git/blob - pppd/ipv6cp.h
added files for IPV6
[ppp.git] / pppd / ipv6cp.h
1 /*
2  * ipv6cp.h - IP Control Protocol definitions.
3  *
4  * Derived from :
5  *
6  *
7  * ipcp.h - IP Control Protocol definitions.
8  *
9  * Copyright (c) 1989 Carnegie Mellon University.
10  * All rights reserved.
11  *
12  * Redistribution and use in source and binary forms are permitted
13  * provided that the above copyright notice and this paragraph are
14  * duplicated in all such forms and that any documentation,
15  * advertising materials, and other materials related to such
16  * distribution and use acknowledge that the software was developed
17  * by Carnegie Mellon University.  The name of the
18  * University may not be used to endorse or promote products derived
19  * from this software without specific prior written permission.
20  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
21  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
22  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
23  *
24  * $Id: ipv6cp.h,v 1.1 1999/08/13 01:58:43 paulus Exp $
25  *
26  *
27  * Original version by Inria (www.inria.fr)
28  * Modified to match RFC2472 by Tommi Komulainen <Tommi.Komulainen@iki.fi>
29  */
30
31 /*
32  * Options.
33  */
34 #define CI_IFACEID      1       /* Interface Identifier */
35 #define CI_COMPRESSTYPE 2       /* Compression Type     */
36
37 /* No compression types yet defined.
38  *#define IPV6CP_COMP   0x004f
39  */
40 typedef struct ipv6cp_options {
41     int neg_ifaceid;            /* Negotiate interface identifier? */
42     int req_ifaceid;            /* Ask peer to send interface identifier? */
43     int accept_local;           /* accept peer's value for iface id? */
44     int opt_local;              /* ourtoken set by option */
45     int opt_remote;             /* histoken set by option */
46     int use_ip;                 /* use IP as interface identifier */
47     int neg_vj;                 /* Van Jacobson Compression? */
48     u_short vj_protocol;        /* protocol value to use in VJ option */
49     eui64_t ourid, hisid;       /* Interface identifiers */
50 } ipv6cp_options;
51
52 extern fsm ipv6cp_fsm[];
53 extern ipv6cp_options ipv6cp_wantoptions[];
54 extern ipv6cp_options ipv6cp_gotoptions[];
55 extern ipv6cp_options ipv6cp_allowoptions[];
56 extern ipv6cp_options ipv6cp_hisoptions[];
57
58 extern struct protent ipv6cp_protent;