home *** CD-ROM | disk | FTP | other *** search
/ InfoMagic Source Code 1993 July / THE_SOURCE_CODE_CD_ROM.iso / bsd_srcs / libexec / telnetd / ext.h < prev    next >
Encoding:
C/C++ Source or Header  |  1991-04-20  |  6.5 KB  |  225 lines

  1. /*
  2.  * Copyright (c) 1989 The Regents of the University of California.
  3.  * All rights reserved.
  4.  *
  5.  * Redistribution and use in source and binary forms, with or without
  6.  * modification, are permitted provided that the following conditions
  7.  * are met:
  8.  * 1. Redistributions of source code must retain the above copyright
  9.  *    notice, this list of conditions and the following disclaimer.
  10.  * 2. Redistributions in binary form must reproduce the above copyright
  11.  *    notice, this list of conditions and the following disclaimer in the
  12.  *    documentation and/or other materials provided with the distribution.
  13.  * 3. All advertising materials mentioning features or use of this software
  14.  *    must display the following acknowledgement:
  15.  *    This product includes software developed by the University of
  16.  *    California, Berkeley and its contributors.
  17.  * 4. Neither the name of the University nor the names of its contributors
  18.  *    may be used to endorse or promote products derived from this software
  19.  *    without specific prior written permission.
  20.  *
  21.  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
  22.  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
  23.  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
  24.  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
  25.  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
  26.  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
  27.  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
  28.  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
  29.  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
  30.  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  31.  * SUCH DAMAGE.
  32.  *
  33.  *    @(#)ext.h    5.7 (Berkeley) 3/1/91
  34.  */
  35.  
  36. /*
  37.  * Telnet server variable declarations
  38.  */
  39. extern char    options[256];
  40. extern char    do_dont_resp[256];
  41. extern char    will_wont_resp[256];
  42. extern int    linemode;    /* linemode on/off */
  43. #ifdef    LINEMODE
  44. extern int    uselinemode;    /* what linemode to use (on/off) */
  45. extern int    editmode;    /* edit modes in use */
  46. extern int    useeditmode;    /* edit modes to use */
  47. extern int    alwayslinemode;    /* command line option */
  48. # ifdef    KLUDGELINEMODE
  49. extern int    lmodetype;    /* Client support for linemode */
  50. # endif    /* KLUDGELINEMODE */
  51. #endif    /* LINEMODE */
  52. extern int    flowmode;    /* current flow control state */
  53. #ifdef DIAGNOSTICS
  54. extern int    diagnostic;    /* telnet diagnostic capabilities */
  55. #endif /* DIAGNOSTICS */
  56. #ifdef BFTPDAEMON
  57. extern int    bftpd;        /* behave as bftp daemon */
  58. #endif /* BFTPDAEMON */
  59. #if    defined(SecurID)
  60. extern int    require_SecurID;
  61. #endif
  62. #if    defined(AUTHENTICATE)
  63. extern int    auth_level;
  64. #endif
  65.  
  66. extern slcfun    slctab[NSLC + 1];    /* slc mapping table */
  67.  
  68. char    *terminaltype;
  69.  
  70. /*
  71.  * I/O data buffers, pointers, and counters.
  72.  */
  73. extern char    ptyobuf[BUFSIZ+NETSLOP], *pfrontp, *pbackp;
  74.  
  75. extern char    netibuf[BUFSIZ], *netip;
  76.  
  77. extern char    netobuf[BUFSIZ+NETSLOP], *nfrontp, *nbackp;
  78. extern char    *neturg;        /* one past last bye of urgent data */
  79.  
  80. extern int    pcc, ncc;
  81.  
  82. #if defined(CRAY2) && defined(UNICOS5)
  83. extern int unpcc;  /* characters left unprocessed by CRAY-2 terminal routine */
  84. extern char *unptyip;  /* pointer to remaining characters in buffer */
  85. #endif
  86.  
  87. extern int    pty, net;
  88. extern char    *line;
  89. extern int    SYNCHing;        /* we are in TELNET SYNCH mode */
  90.  
  91. #ifndef    P
  92. # ifdef    __STDC__
  93. #  define P(x)    x
  94. # else
  95. #  define P(x)    ()
  96. # endif
  97. #endif
  98.  
  99. extern void
  100.     _termstat P((void)),
  101.     add_slc P((int, int, int)),
  102.     check_slc P((void)),
  103.     change_slc P((int, int, int)),
  104.     cleanup P((int)),
  105.     clientstat P((int, int, int)),
  106.     copy_termbuf P((char *, int)),
  107.     deferslc P((void)),
  108.     defer_terminit P((void)),
  109.     do_opt_slc P((unsigned char *, int)),
  110.     doeof P((void)),
  111.     dooption P((int)),
  112.     dontoption P((int)),
  113.     edithost P((char *, char *)),
  114.     fatal P((int, char *)),
  115.     fatalperror P((int, char *)),
  116.     get_slc_defaults P((void)),
  117.     init_env P((void)),
  118.     init_termbuf P((void)),
  119.     interrupt P((void)),
  120.     localstat P((void)),
  121.     netclear P((void)),
  122.     netflush P((void)),
  123. #ifdef DIAGNOSTICS
  124.     printoption P((char *, int)),
  125.     printdata P((char *, char *, int)),
  126.     printsub P((int, unsigned char *, int)),
  127. #endif
  128.     ptyflush P((void)),
  129.     putchr P((int)),
  130.     putf P((char *, char *)),
  131.     recv_ayt P((void)),
  132.     send_do P((int, int)),
  133.     send_dont P((int, int)),
  134.     send_slc P((void)),
  135.     send_status P((void)),
  136.     send_will P((int, int)),
  137.     send_wont P((int, int)),
  138.     sendbrk P((void)),
  139.     sendsusp P((void)),
  140.     set_termbuf P((void)),
  141.     start_login P((char *, int, char *)),
  142.     start_slc P((int)),
  143. #if    defined(AUTHENTICATE)
  144.     start_slave P((char *)),
  145. #else
  146.     start_slave P((char *, int, char *)),
  147. #endif
  148.     suboption P((void)),
  149.     telrcv P((void)),
  150.     ttloop P((void)),
  151.     tty_binaryin P((int)),
  152.     tty_binaryout P((int));
  153.  
  154. extern int
  155.     end_slc P((unsigned char **)),
  156.     getnpty P((void)),
  157.     getpty P((void)),
  158.     login_tty P((int)),
  159.     spcset P((int, cc_t *, cc_t **)),
  160.     stilloob P((int)),
  161.     terminit P((void)),
  162.     termstat P((void)),
  163.     tty_flowmode P((void)),
  164.     tty_isbinaryin P((void)),
  165.     tty_isbinaryout P((void)),
  166.     tty_iscrnl P((void)),
  167.     tty_isecho P((void)),
  168.     tty_isediting P((void)),
  169.     tty_islitecho P((void)),
  170.     tty_isnewmap P((void)),
  171.     tty_israw P((void)),
  172.     tty_issofttab P((void)),
  173.     tty_istrapsig P((void)),
  174.     tty_linemode P((void));
  175.  
  176. extern void
  177.     tty_rspeed P((int)),
  178.     tty_setecho P((int)),
  179.     tty_setedit P((int)),
  180.     tty_setlinemode P((int)),
  181.     tty_setlitecho P((int)),
  182.     tty_setsig P((int)),
  183.     tty_setsofttab P((int)),
  184.     tty_tspeed P((int)),
  185.     willoption P((int)),
  186.     wontoption P((int)),
  187.     writenet P((unsigned char *, int));
  188.  
  189. #if    defined(ENCRYPT)
  190. extern void    (*encrypt_output) P((unsigned char *, int));
  191. extern int    (*decrypt_input) P((int));
  192. extern char    *nclearto;
  193. #endif
  194.  
  195.  
  196. /*
  197.  * The following are some clocks used to decide how to interpret
  198.  * the relationship between various variables.
  199.  */
  200.  
  201. extern struct {
  202.     int
  203.     system,            /* what the current time is */
  204.     echotoggle,        /* last time user entered echo character */
  205.     modenegotiated,        /* last time operating mode negotiated */
  206.     didnetreceive,        /* last time we read data from network */
  207.     ttypesubopt,        /* ttype subopt is received */
  208.     tspeedsubopt,        /* tspeed subopt is received */
  209.     environsubopt,        /* environ subopt is received */
  210.     xdisplocsubopt,        /* xdisploc subopt is received */
  211.     baseline,        /* time started to do timed action */
  212.     gotDM;            /* when did we last see a data mark */
  213. } clocks;
  214.  
  215.  
  216. #if    defined(CRAY2) && defined(UNICOS5)
  217. extern int    needtermstat;
  218. #endif
  219.  
  220. #ifndef    CRAY
  221. #define DEFAULT_IM    "\r\n\r\n4.3 BSD UNIX (%h) (%t)\r\n\r\r\n\r"
  222. #else
  223. #define DEFAULT_IM    "\r\n\r\nCray UNICOS (%h) (%t)\r\n\r\r\n\r"
  224. #endif
  225.