Merge from vendor branch HOSTAPD:
[dragonfly.git] / usr.sbin / pppd / ipxcp.h
1 /*
2  * ipxcp.h - IPX 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/ipxcp.h,v 1.4 1999/08/28 01:19:04 peter Exp $
20  * $DragonFly: src/usr.sbin/pppd/ipxcp.h,v 1.2 2003/06/17 04:30:01 dillon Exp $
21  */
22
23 /*
24  * Options.
25  */
26 #define IPX_NETWORK_NUMBER        1   /* IPX Network Number */
27 #define IPX_NODE_NUMBER           2
28 #define IPX_COMPRESSION_PROTOCOL  3
29 #define IPX_ROUTER_PROTOCOL       4
30 #define IPX_ROUTER_NAME           5
31 #define IPX_COMPLETE              6
32
33 /* Values for the router protocol */
34 #define IPX_NONE                  0
35 #define RIP_SAP                   2
36 #define NLSP                      4
37
38 typedef struct ipxcp_options {
39     int neg_node       : 1;     /* Negotiate IPX node number? */
40     int req_node       : 1;     /* Ask peer to send IPX node number? */
41
42     int neg_nn         : 1;     /* Negotiate IPX network number? */
43     int req_nn         : 1;     /* Ask peer to send IPX network number */
44
45     int neg_name       : 1;     /* Negotiate IPX router name */
46     int neg_complete   : 1;     /* Negotiate completion */
47     int neg_router     : 1;     /* Negotiate IPX router number */
48
49     int accept_local   : 1;     /* accept peer's value for ournode */
50     int accept_remote  : 1;     /* accept peer's value for hisnode */
51     int accept_network : 1;     /* accept network number */
52
53     int tried_nlsp     : 1;     /* I have suggested NLSP already */
54     int tried_rip      : 1;     /* I have suggested RIP/SAP already */
55
56     u_int32_t his_network;      /* base network number */
57     u_int32_t our_network;      /* our value for network number */
58     u_int32_t network;          /* the final network number */
59
60     u_char his_node[6];         /* peer's node number */
61     u_char our_node[6];         /* our node number */
62     u_char name [48];           /* name of the router */
63     int    router;              /* routing protocol */
64 } ipxcp_options;
65
66 extern fsm ipxcp_fsm[];
67 extern ipxcp_options ipxcp_wantoptions[];
68 extern ipxcp_options ipxcp_gotoptions[];
69 extern ipxcp_options ipxcp_allowoptions[];
70 extern ipxcp_options ipxcp_hisoptions[];
71
72 extern struct protent ipxcp_protent;