2 * ipxcp.h - IPX Control Protocol definitions.
4 * Copyright (c) 1989 Carnegie Mellon University.
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.
19 * $Id: ipxcp.h,v 1.1 1995/12/18 03:33:00 paulus Exp $
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
33 typedef struct ipxcp_options {
34 int neg_node : 1; /* Negotiate IPX node number? */
35 int req_node : 1; /* Ask peer to send IPX node number? */
37 int neg_nn : 1; /* Negotiate IPX network number? */
38 int req_nn : 1; /* Ask peer to send IPX network number */
40 int neg_name : 1; /* Negotiate IPX router name */
41 int neg_complete : 1; /* Negotiate completion */
42 int neg_router : 1; /* Negotiate IPX router number */
44 int accept_local : 1; /* accept peer's value for ournode */
45 int accept_remote : 1; /* accept peer's value for hisnode */
46 int accept_network : 1; /* accept network number */
48 u_int32_t his_network; /* base network number */
49 u_int32_t our_network; /* our value for network number */
50 u_int32_t network; /* the final network number */
52 u_char his_node[6]; /* peer's node number */
53 u_char our_node[6]; /* our node number */
54 u_char name [48]; /* name of the router */
55 int router; /* routing protocol */
58 extern fsm ipxcp_fsm[];
59 extern ipxcp_options ipxcp_wantoptions[];
60 extern ipxcp_options ipxcp_gotoptions[];
61 extern ipxcp_options ipxcp_allowoptions[];
62 extern ipxcp_options ipxcp_hisoptions[];
64 void ipxcp_init __P((int));
65 void ipxcp_open __P((int));
66 void ipxcp_close __P((int, char *));
67 void ipxcp_lowerup __P((int));
68 void ipxcp_lowerdown __P((int));
69 void ipxcp_input __P((int, u_char *, int));
70 void ipxcp_protrej __P((int));
71 int ipxcp_printpkt __P((u_char *, int, void (*)(), void *));
73 extern struct protent ipxcp_protent;