Added log messages for LCP Identification, Time-Remaining, and other
[ppp.git] / pppd / lcp.h
index e52bdf571bae51e7939b6c90b38538ecea653e71..d5f8aee04353a961b9c7709a3f75d50f6e9ebde6 100644 (file)
@@ -1,27 +1,51 @@
 /*
  * lcp.h - Link 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: lcp.h,v 1.15 2000/04/04 07:06:51 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.
+ *
+ * $Id: lcp.h,v 1.20 2004/11/14 22:53:42 carlsonj Exp $
  */
 
 /*
  * Options.
  */
+#define CI_VENDOR      0       /* Vendor Specific */
 #define CI_MRU         1       /* Maximum Receive Unit */
 #define CI_ASYNCMAP    2       /* Async Control Character Map */
 #define CI_AUTHTYPE    3       /* Authentication Type */
 #define CI_MAGICNUMBER 5       /* Magic Number */
 #define CI_PCOMPRESSION        7       /* Protocol Field Compression */
 #define CI_ACCOMPRESSION 8     /* Address/Control Field Compression */
+#define CI_FCSALTERN   9       /* FCS-Alternatives */
+#define CI_SDP         10      /* Self-Describing-Pad */
+#define CI_NUMBERED    11      /* Numbered-Mode */
 #define CI_CALLBACK    13      /* callback */
 #define CI_MRRU                17      /* max reconstructed receive unit; multilink */
 #define CI_SSNHF       18      /* short sequence numbers for multilink */
 #define CI_EPDISC      19      /* endpoint discriminator */
+#define CI_MPPLUS      22      /* Multi-Link-Plus-Procedure */
+#define CI_LDISC       23      /* Link-Discriminator */
+#define CI_LCPAUTH     24      /* LCP Authentication */
+#define CI_COBS                25      /* Consistent Overhead Byte Stuffing */
+#define CI_PREFELIS    26      /* Prefix Elision */
+#define CI_MPHDRFMT    27      /* MP Header Format */
+#define CI_I18N                28      /* Internationalization */
+#define CI_SDL         29      /* Simple Data Link */
 
 /*
- * LCP-specific packet types.
+ * LCP-specific packet types (code numbers).
  */
 #define PROTREJ                8       /* Protocol Reject */
 #define ECHOREQ                9       /* Echo Request */
 #define ECHOREP                10      /* Echo Reply */
 #define DISCREQ                11      /* Discard Request */
+#define IDENTIF                12      /* Identification */
+#define TIMEREM                13      /* Time Remaining */
+
+/* Value used as data for CI_CALLBACK option */
 #define CBCP_OPT       6       /* Use callback control protocol */
 
 /*
@@ -54,6 +93,7 @@ typedef struct lcp_options {
     bool neg_asyncmap;         /* Negotiate the async map? */
     bool neg_upap;             /* Ask for UPAP authentication? */
     bool neg_chap;             /* Ask for CHAP authentication? */
+    bool neg_eap;              /* Ask for EAP authentication? */
     bool neg_magicnumber;      /* Ask for magic number? */
     bool neg_pcompression;     /* HDLC Protocol Field Compression? */
     bool neg_accompression;    /* HDLC Address/Control Field Compression? */
@@ -64,7 +104,7 @@ typedef struct lcp_options {
     bool neg_endpoint;         /* negotiate endpoint discriminator */
     int  mru;                  /* Value of MRU */
     int         mrru;                  /* Value of MRRU, and multilink enable */
-    u_char chap_mdtype;                /* which MD type (hashing algorithm) */
+    u_char chap_mdtype;                /* which MD types (hashing algorithm) */
     u_int32_t asyncmap;                /* Value of async map */
     u_int32_t magicnumber;
     int  numloops;             /* Number of loops during magic number neg. */
@@ -77,7 +117,6 @@ extern lcp_options lcp_wantoptions[];
 extern lcp_options lcp_gotoptions[];
 extern lcp_options lcp_allowoptions[];
 extern lcp_options lcp_hisoptions[];
-extern u_int32_t xmit_accm[][8];
 
 #define DEFMRU 1500            /* Try for this */
 #define MINMRU 128             /* No MRUs below this */