Commit | Line | Data |
---|---|---|
984263bc MD |
1 | /* |
2 | * ipcp.h - IP Control Protocol definitions. | |
3 | * | |
4 | * Copyright (c) 1989 Carnegie Mellon University. | |
5 | * All rights reserved. | |
6 | * | |
7 | * Redistribution and use in source and binary forms are permitted | |
8 | * provided that the above copyright notice and this paragraph are | |
9 | * duplicated in all such forms and that any documentation, | |
10 | * advertising materials, and other materials related to such | |
11 | * distribution and use acknowledge that the software was developed | |
12 | * by Carnegie Mellon University. The name of the | |
13 | * University may not be used to endorse or promote products derived | |
14 | * from this software without specific prior written permission. | |
15 | * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR | |
16 | * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED | |
17 | * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. | |
18 | * | |
19 | * $FreeBSD: src/usr.sbin/pppd/ipcp.h,v 1.10 1999/08/28 01:19:03 peter Exp $ | |
2d8a3be7 | 20 | * $DragonFly: src/usr.sbin/pppd/ipcp.h,v 1.3 2003/11/03 19:31:40 eirikn Exp $ |
984263bc MD |
21 | */ |
22 | ||
23 | /* | |
24 | * Options. | |
25 | */ | |
26 | #define CI_ADDRS 1 /* IP Addresses */ | |
27 | #define CI_COMPRESSTYPE 2 /* Compression Type */ | |
28 | #define CI_ADDR 3 | |
29 | ||
30 | #define CI_MS_DNS1 129 /* Primary DNS value */ | |
31 | #define CI_MS_WINS1 130 /* Primary WINS value */ | |
32 | #define CI_MS_DNS2 131 /* Secondary DNS value */ | |
33 | #define CI_MS_WINS2 132 /* Secondary WINS value */ | |
34 | ||
35 | #define MAX_STATES 16 /* from slcompress.h */ | |
36 | ||
37 | #define IPCP_VJMODE_OLD 1 /* "old" mode (option # = 0x0037) */ | |
38 | #define IPCP_VJMODE_RFC1172 2 /* "old-rfc"mode (option # = 0x002d) */ | |
39 | #define IPCP_VJMODE_RFC1332 3 /* "new-rfc"mode (option # = 0x002d, */ | |
40 | /* maxslot and slot number compression) */ | |
41 | ||
42 | #define IPCP_VJ_COMP 0x002d /* current value for VJ compression option*/ | |
43 | #define IPCP_VJ_COMP_OLD 0x0037 /* "old" (i.e, broken) value for VJ */ | |
44 | /* compression option*/ | |
45 | ||
46 | typedef struct ipcp_options { | |
47 | int neg_addr : 1; /* Negotiate IP Address? */ | |
48 | int old_addrs : 1; /* Use old (IP-Addresses) option? */ | |
49 | int req_addr : 1; /* Ask peer to send IP address? */ | |
50 | int default_route : 1; /* Assign default route through interface? */ | |
51 | int proxy_arp : 1; /* Make proxy ARP entry for peer? */ | |
52 | int neg_vj : 1; /* Van Jacobson Compression? */ | |
53 | int old_vj : 1; /* use old (short) form of VJ option? */ | |
54 | int accept_local : 1; /* accept peer's value for ouraddr */ | |
55 | int accept_remote : 1; /* accept peer's value for hisaddr */ | |
56 | u_short vj_protocol; /* protocol value to use in VJ option */ | |
57 | u_char maxslotindex, cflag; /* values for RFC1332 VJ compression neg. */ | |
58 | u_int32_t ouraddr, hisaddr; /* Addresses in NETWORK BYTE ORDER */ | |
59 | u_int32_t dnsaddr[2]; /* Primary and secondary MS DNS entries */ | |
60 | u_int32_t winsaddr[2]; /* Primary and secondary MS WINS entries */ | |
61 | } ipcp_options; | |
62 | ||
63 | extern fsm ipcp_fsm[]; | |
64 | extern ipcp_options ipcp_wantoptions[]; | |
65 | extern ipcp_options ipcp_gotoptions[]; | |
66 | extern ipcp_options ipcp_allowoptions[]; | |
67 | extern ipcp_options ipcp_hisoptions[]; | |
68 | ||
2d8a3be7 | 69 | char *ip_ntoa(u_int32_t); |
984263bc MD |
70 | |
71 | extern struct protent ipcp_protent; |