home *** CD-ROM | disk | FTP | other *** search
/ Super Net 1 / SUPERNET_1.iso / PC / OTROS / SUN / PPP / SUNOS_OL / PPPD_1_0.TAR / lcp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1992-01-14  |  2.7 KB  |  72 lines

  1. /*
  2.  * lcp.h - Link Control Protocol definitions.
  3.  *
  4.  * Copyright (c) 1989 Carnegie Mellon University.
  5.  * All rights reserved.
  6.  *
  7.  * Redistribution and use in source and binary forms are permitted
  8.  * provided that the above copyright notice and this paragraph are
  9.  * duplicated in all such forms and that any documentation,
  10.  * advertising materials, and other materials related to such
  11.  * distribution and use acknowledge that the software was developed
  12.  * by Carnegie Mellon University.  The name of the
  13.  * University may not be used to endorse or promote products derived
  14.  * from this software without specific prior written permission.
  15.  * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
  16.  * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
  17.  * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
  18.  */
  19.  
  20. /*
  21.  * Options.
  22.  */
  23. #define CI_MRU        1    /* Maximum Receive Unit */
  24. #define CI_ASYNCMAP    2    /* Async Control Character Map */
  25. #define CI_AUTHTYPE    3    /* Authentication Type */
  26. #define CI_NOTDEFINED    4    /* not defined (used to be Encryption Type) */
  27. #define CI_MAGICNUMBER    5    /* Magic Number */
  28. #define CI_KEEPALIVE    6    /* Keep Alive Parameters */
  29. #define CI_PCOMPRESSION    7    /* Protocol Field Compression */
  30. #define CI_ACCOMPRESSION 8    /* Address/Control Field Compression */
  31.  
  32.  
  33. /*
  34.  * The state of options is described by an lcp_options structure.
  35.  */
  36. typedef struct lcp_options {
  37.     int passive : 1;        /* Passives vs. active open */
  38.     int restart : 1;        /* Restart vs. exit after close */
  39.     int neg_mru : 1;        /* Negotiate the MRU? */
  40.     u_short mru;        /* Value of MRU */
  41.     int neg_asyncmap : 1;    /* Async map? */
  42.     u_long asyncmap;
  43.     int neg_upap : 1;        /* UPAP authentication? */
  44.     int neg_chap : 1;        /* CHAP authentication? */
  45.     char chap_mdtype;        /* which MD type */
  46.     char chap_callback;        /* callback ? */
  47.     int neg_magicnumber : 1;    /* Magic number? */
  48.     u_long magicnumber;
  49.     int numloops;        /* Number loops during magic number negot. */
  50.     int neg_pcompression : 1;    /* HDLC Protocol Field Compression? */
  51.     int neg_accompression : 1;    /* HDLC Address/Control Field Compression? */
  52. } lcp_options;
  53.  
  54. extern fsm lcp_fsm[];
  55. extern lcp_options lcp_wantoptions[];
  56. extern lcp_options lcp_gotoptions[];
  57. extern lcp_options lcp_allowoptions[];
  58. extern lcp_options lcp_hisoptions[];
  59.  
  60. #define DEFMRU    1500        /* Try for this */
  61. #define MINMRU    128        /* No MRUs below this */
  62.  
  63. void lcp_init __ARGS((int));
  64. void lcp_activeopen __ARGS((int));
  65. void lcp_passiveopen __ARGS((int));
  66. void lcp_close __ARGS((int));
  67. void lcp_lowerup __ARGS((int));
  68. void lcp_lowerdown __ARGS((int));
  69. void lcp_input __ARGS((int, u_char *, int));
  70. void lcp_protrej __ARGS((int));
  71. void lcp_sprotrej __ARGS((int, u_char *, int));
  72.