Home | History | Annotate | Download | only in pppd
      1 /*
      2  * ipxcp.h - IPX Control Protocol definitions.
      3  *
      4  * Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved.
      5  *
      6  * Redistribution and use in source and binary forms, with or without
      7  * modification, are permitted provided that the following conditions
      8  * are met:
      9  *
     10  * 1. Redistributions of source code must retain the above copyright
     11  *    notice, this list of conditions and the following disclaimer.
     12  *
     13  * 2. Redistributions in binary form must reproduce the above copyright
     14  *    notice, this list of conditions and the following disclaimer in
     15  *    the documentation and/or other materials provided with the
     16  *    distribution.
     17  *
     18  * 3. The name "Carnegie Mellon University" must not be used to
     19  *    endorse or promote products derived from this software without
     20  *    prior written permission. For permission or any legal
     21  *    details, please contact
     22  *      Office of Technology Transfer
     23  *      Carnegie Mellon University
     24  *      5000 Forbes Avenue
     25  *      Pittsburgh, PA  15213-3890
     26  *      (412) 268-4387, fax: (412) 268-7395
     27  *      tech-transfer (at) andrew.cmu.edu
     28  *
     29  * 4. Redistributions of any form whatsoever must retain the following
     30  *    acknowledgment:
     31  *    "This product includes software developed by Computing Services
     32  *     at Carnegie Mellon University (http://www.cmu.edu/computing/)."
     33  *
     34  * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
     35  * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
     36  * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
     37  * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
     38  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
     39  * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
     40  * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
     41  *
     42  * $Id: ipxcp.h,v 1.5 2002/12/04 23:03:32 paulus Exp $
     43  */
     44 
     45 /*
     46  * Options.
     47  */
     48 #define IPX_NETWORK_NUMBER        1   /* IPX Network Number */
     49 #define IPX_NODE_NUMBER           2
     50 #define IPX_COMPRESSION_PROTOCOL  3
     51 #define IPX_ROUTER_PROTOCOL       4
     52 #define IPX_ROUTER_NAME           5
     53 #define IPX_COMPLETE              6
     54 
     55 /* Values for the router protocol */
     56 #define IPX_NONE		  0
     57 #define RIP_SAP			  2
     58 #define NLSP			  4
     59 
     60 typedef struct ipxcp_options {
     61     bool neg_node;		/* Negotiate IPX node number? */
     62     bool req_node;		/* Ask peer to send IPX node number? */
     63 
     64     bool neg_nn;		/* Negotiate IPX network number? */
     65     bool req_nn;		/* Ask peer to send IPX network number */
     66 
     67     bool neg_name;		/* Negotiate IPX router name */
     68     bool neg_complete;		/* Negotiate completion */
     69     bool neg_router;		/* Negotiate IPX router number */
     70 
     71     bool accept_local;		/* accept peer's value for ournode */
     72     bool accept_remote;		/* accept peer's value for hisnode */
     73     bool accept_network;	/* accept network number */
     74 
     75     bool tried_nlsp;		/* I have suggested NLSP already */
     76     bool tried_rip;		/* I have suggested RIP/SAP already */
     77 
     78     u_int32_t his_network;	/* base network number */
     79     u_int32_t our_network;	/* our value for network number */
     80     u_int32_t network;		/* the final network number */
     81 
     82     u_char his_node[6];		/* peer's node number */
     83     u_char our_node[6];		/* our node number */
     84     u_char name [48];		/* name of the router */
     85     int    router;		/* routing protocol */
     86 } ipxcp_options;
     87 
     88 extern fsm ipxcp_fsm[];
     89 extern ipxcp_options ipxcp_wantoptions[];
     90 extern ipxcp_options ipxcp_gotoptions[];
     91 extern ipxcp_options ipxcp_allowoptions[];
     92 extern ipxcp_options ipxcp_hisoptions[];
     93 
     94 extern struct protent ipxcp_protent;
     95