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