]> git.ozlabs.org Git - ppp.git/blobdiff - pppd/lcp.h
Added log messages for LCP Identification, Time-Remaining, and other
[ppp.git] / pppd / lcp.h
index f2e7c983e80a0ed8cc1d7b21dde9bbf283f483c5..d5f8aee04353a961b9c7709a3f75d50f6e9ebde6 100644 (file)
@@ -1,27 +1,51 @@
 /*
  * lcp.h - Link Control Protocol definitions.
  *
 /*
  * 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.14 2000/03/27 06:03: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.
+ *
+ * $Id: lcp.h,v 1.20 2004/11/14 22:53:42 carlsonj Exp $
  */
 
 /*
  * Options.
  */
  */
 
 /*
  * 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_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_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_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 PROTREJ                8       /* Protocol Reject */
 #define ECHOREQ                9       /* Echo Request */
 #define ECHOREP                10      /* Echo Reply */
 #define DISCREQ                11      /* Discard Request */
-#define CBCP_OPT       6       /* Use callback control protocol */
+#define IDENTIF                12      /* Identification */
+#define TIMEREM                13      /* Time Remaining */
 
 
-/* maximum length of endpoint discriminator value */
-#define MAX_ENDP_LEN   20
+/* Value used as data for CI_CALLBACK option */
+#define CBCP_OPT       6       /* Use callback control protocol */
 
 /*
  * The state of options is described by an lcp_options structure.
 
 /*
  * The state of options is described by an lcp_options structure.
@@ -57,24 +93,23 @@ 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_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? */
     bool neg_lqr;              /* Negotiate use of Link Quality Reports */
     bool neg_cbcp;             /* Negotiate use of CBCP */
     bool neg_magicnumber;      /* Ask for magic number? */
     bool neg_pcompression;     /* HDLC Protocol Field Compression? */
     bool neg_accompression;    /* HDLC Address/Control Field Compression? */
     bool neg_lqr;              /* Negotiate use of Link Quality Reports */
     bool neg_cbcp;             /* Negotiate use of CBCP */
-    bool neg_multilink;                /* negotiate multilink (MRRU) */
+    bool neg_mrru;             /* negotiate multilink MRRU */
     bool neg_ssnhf;            /* negotiate short sequence numbers */
     bool neg_endpoint;         /* negotiate endpoint discriminator */
     int  mru;                  /* Value of MRU */
     int         mrru;                  /* Value of MRRU, and multilink enable */
     bool neg_ssnhf;            /* negotiate short sequence numbers */
     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. */
     u_int32_t lqr_period;      /* Reporting period for LQR 1/100ths second */
     u_int32_t asyncmap;                /* Value of async map */
     u_int32_t magicnumber;
     int  numloops;             /* Number of loops during magic number neg. */
     u_int32_t lqr_period;      /* Reporting period for LQR 1/100ths second */
-    int  endp_class;           /* endpoint discriminator class */
-    int  endp_len;             /* endpoint discriminator length */
-    u_char endpoint[MAX_ENDP_LEN];     /* endpoint discriminator value */
+    struct epdisc endpoint;    /* endpoint discriminator */
 } lcp_options;
 
 extern fsm lcp_fsm[];
 } lcp_options;
 
 extern fsm lcp_fsm[];
@@ -82,7 +117,6 @@ extern lcp_options lcp_wantoptions[];
 extern lcp_options lcp_gotoptions[];
 extern lcp_options lcp_allowoptions[];
 extern lcp_options lcp_hisoptions[];
 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 */
 
 #define DEFMRU 1500            /* Try for this */
 #define MINMRU 128             /* No MRUs below this */