X-Git-Url: http://git.ozlabs.org/?a=blobdiff_plain;ds=sidebyside;f=pppd%2Flcp.h;h=5122b7bb2fed9179b072167de8fdc2c99eb95461;hb=561ca44f6fd1eb282cb5998dd5ecf8a8aa34f77a;hp=f7d5ea265c71556c21cfab2ec49aec4fd2a35a0a;hpb=0b63a24d54ba4708c88e31bdd74b0145956c1478;p=ppp.git diff --git a/pppd/lcp.h b/pppd/lcp.h index f7d5ea2..5122b7b 100644 --- a/pppd/lcp.h +++ b/pppd/lcp.h @@ -16,7 +16,7 @@ * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE. * - * $Id: lcp.h,v 1.1 1993/11/11 03:54:25 paulus Exp $ + * $Id: lcp.h,v 1.16 2001/03/08 05:11:14 paulus Exp $ */ /* @@ -27,32 +27,49 @@ #define CI_AUTHTYPE 3 /* Authentication Type */ #define CI_QUALITY 4 /* Quality Protocol */ #define CI_MAGICNUMBER 5 /* Magic Number */ -#define CI_KEEPALIVE 6 /* Keep Alive Parameters - OBSOLETE */ #define CI_PCOMPRESSION 7 /* Protocol Field Compression */ #define CI_ACCOMPRESSION 8 /* Address/Control Field Compression */ +#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 */ +/* + * LCP-specific packet types. + */ +#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 */ /* * The state of options is described by an lcp_options structure. */ typedef struct lcp_options { - int passive : 1; /* Don't die if we don't get a response */ - int silent : 1; /* Wait for the other end to start first */ - int restart : 1; /* Restart vs. exit after close */ - int neg_mru : 1; /* Negotiate the MRU? */ - int neg_asyncmap : 1; /* Negotiate the async map? */ - int neg_upap : 1; /* Ask for UPAP authentication? */ - int neg_chap : 1; /* Ask for CHAP authentication? */ - int neg_magicnumber : 1; /* Ask for magic number? */ - int neg_pcompression : 1; /* HDLC Protocol Field Compression? */ - int neg_accompression : 1; /* HDLC Address/Control Field Compression? */ - int neg_lqr : 1; /* Negotiate use of Link Quality Reports */ - u_short mru; /* Value of MRU */ - char chap_mdtype; /* which MD type (hashing algorithm) */ - u_long asyncmap; /* Value of async map */ - u_long magicnumber; - int numloops; /* Number of loops during magic number neg. */ - u_long lqr_period; /* Reporting period for link quality */ + bool passive; /* Don't die if we don't get a response */ + bool silent; /* Wait for the other end to start first */ + bool restart; /* Restart vs. exit after close */ + bool neg_mru; /* Negotiate the MRU? */ + bool neg_asyncmap; /* Negotiate the async map? */ + bool neg_upap; /* Ask for UPAP authentication? */ + bool neg_chap; /* Ask for CHAP 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_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 */ + u_char chap_mdtype; /* which MD type (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 */ + struct epdisc endpoint; /* endpoint discriminator */ } lcp_options; extern fsm lcp_fsm[]; @@ -65,14 +82,14 @@ extern lcp_options lcp_hisoptions[]; #define MINMRU 128 /* No MRUs below this */ #define MAXMRU 16384 /* Normally limit MRU to this */ -void lcp_init __ARGS((int)); -void lcp_open __ARGS((int)); -void lcp_close __ARGS((int)); -void lcp_lowerup __ARGS((int)); -void lcp_lowerdown __ARGS((int)); -void lcp_input __ARGS((int, u_char *, int)); -void lcp_protrej __ARGS((int)); -void lcp_sprotrej __ARGS((int, u_char *, int)); +void lcp_open __P((int)); +void lcp_close __P((int, char *)); +void lcp_lowerup __P((int)); +void lcp_lowerdown __P((int)); +void lcp_sprotrej __P((int, u_char *, int)); /* send protocol reject */ + +extern struct protent lcp_protent; -extern int lcp_warnloops; /* Warn about a loopback this often */ -#define DEFWARNLOOPS 10 /* Default value for above */ +/* Default number of times we receive our magic number from the peer + before deciding the link is looped-back. */ +#define DEFLOOPBACKFAIL 10