]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/ipxcp.h
pppd: Allow use of additional Bnnn constants (#325)
[ppp.git] / pppd / ipxcp.h
index 64cd062c0f5b2edb70c6d9eabc2aa161be0aa291..6112e757e9fc93ff7f1968fe9bdb5c4176c82d35 100644 (file)
@@ -1,23 +1,45 @@
 /*
  * ipxcp.h - IPX Control Protocol definitions.
  *
- * Copyright (c) 1989 Carnegie Mellon University.
- * All rights reserved.
+ * Copyright (c) 1984-2000 Carnegie Mellon University. All rights reserved.
  *
- * Redistribution and use in source and binary forms are permitted
- * provided that the above copyright notice and this paragraph are
- * duplicated in all such forms and that any documentation,
- * advertising materials, and other materials related to such
- * distribution and use acknowledge that the software was developed
- * by Carnegie Mellon University.  The name of the
- * University may not be used to endorse or promote products derived
- * from this software without specific prior written permission.
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
- * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
- * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
  *
- * $Id: ipxcp.h,v 1.1 1995/12/18 03:33:00 paulus Exp $
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ *
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in
+ *    the documentation and/or other materials provided with the
+ *    distribution.
+ *
+ * 3. The name "Carnegie Mellon University" must not be used to
+ *    endorse or promote products derived from this software without
+ *    prior written permission. For permission or any legal
+ *    details, please contact
+ *      Office of Technology Transfer
+ *      Carnegie Mellon University
+ *      5000 Forbes Avenue
+ *      Pittsburgh, PA  15213-3890
+ *      (412) 268-4387, fax: (412) 268-7395
+ *      tech-transfer@andrew.cmu.edu
+ *
+ * 4. Redistributions of any form whatsoever must retain the following
+ *    acknowledgment:
+ *    "This product includes software developed by Computing Services
+ *     at Carnegie Mellon University (http://www.cmu.edu/computing/)."
+ *
+ * CARNEGIE MELLON UNIVERSITY DISCLAIMS ALL WARRANTIES WITH REGARD TO
+ * THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
+ * AND FITNESS, IN NO EVENT SHALL CARNEGIE MELLON UNIVERSITY BE LIABLE
+ * FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+ * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
+ * AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
+ * OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  */
+#include "pppdconf.h"
 
 /*
  * Options.
 #define IPX_ROUTER_NAME           5
 #define IPX_COMPLETE              6
 
+/* Values for the router protocol */
+#define IPX_NONE                 0
+#define RIP_SAP                          2
+#define NLSP                     4
 
 typedef struct ipxcp_options {
-    int neg_node       : 1;    /* Negotiate IPX node number? */
-    int req_node       : 1;    /* Ask peer to send IPX node number? */
+    bool neg_node;             /* Negotiate IPX node number? */
+    bool req_node;             /* Ask peer to send IPX node number? */
+
+    bool neg_nn;               /* Negotiate IPX network number? */
+    bool req_nn;               /* Ask peer to send IPX network number */
 
-    int neg_nn         : 1;    /* Negotiate IPX network number? */
-    int req_nn         : 1;     /* Ask peer to send IPX network number */
+    bool neg_name;             /* Negotiate IPX router name */
+    bool neg_complete;         /* Negotiate completion */
+    bool neg_router;           /* Negotiate IPX router number */
 
-    int neg_name       : 1;    /* Negotiate IPX router name */
-    int neg_complete   : 1;     /* Negotiate completion */
-    int neg_router     : 1;    /* Negotiate IPX router number */
+    bool accept_local;         /* accept peer's value for ournode */
+    bool accept_remote;                /* accept peer's value for hisnode */
+    bool accept_network;       /* accept network number */
 
-    int accept_local   : 1;    /* accept peer's value for ournode */
-    int accept_remote  : 1;    /* accept peer's value for hisnode */
-    int accept_network : 1;    /* accept network number */
+    bool tried_nlsp;           /* I have suggested NLSP already */
+    bool tried_rip;            /* I have suggested RIP/SAP already */
 
     u_int32_t his_network;     /* base network number */
     u_int32_t our_network;     /* our value for network number */
@@ -61,13 +90,4 @@ extern ipxcp_options ipxcp_gotoptions[];
 extern ipxcp_options ipxcp_allowoptions[];
 extern ipxcp_options ipxcp_hisoptions[];
 
-void ipxcp_init __P((int));
-void ipxcp_open __P((int));
-void ipxcp_close __P((int, char *));
-void ipxcp_lowerup __P((int));
-void ipxcp_lowerdown __P((int));
-void ipxcp_input __P((int, u_char *, int));
-void ipxcp_protrej __P((int));
-int  ipxcp_printpkt __P((u_char *, int, void (*)(), void *));
-
 extern struct protent ipxcp_protent;