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 241182 2011-02-17 21:50:03Z $
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
37typedef struct ipxcp_options {
38    bool neg_node;		/* Negotiate IPX node number? */
39    bool req_node;		/* Ask peer to send IPX node number? */
40
41    bool neg_nn;		/* Negotiate IPX network number? */
42    bool req_nn;		/* Ask peer to send IPX network number */
43
44    bool neg_name;		/* Negotiate IPX router name */
45    bool neg_complete;		/* Negotiate completion */
46    bool neg_router;		/* Negotiate IPX router number */
47
48    bool accept_local;		/* accept peer's value for ournode */
49    bool accept_remote;		/* accept peer's value for hisnode */
50    bool accept_network;	/* accept network number */
51
52    bool tried_nlsp;		/* I have suggested NLSP already */
53    bool tried_rip;		/* 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
65extern fsm ipxcp_fsm[];
66extern ipxcp_options ipxcp_wantoptions[];
67extern ipxcp_options ipxcp_gotoptions[];
68extern ipxcp_options ipxcp_allowoptions[];
69extern ipxcp_options ipxcp_hisoptions[];
70
71extern struct protent ipxcp_protent;
72