/* -> h.ckatio
 */

/*
 * Variables available to outside world:
 */

extern char* dftty;  /* Pointer to default tty name string, like "/dev/tty". */
extern int dfloc;  /* 0 if dftty is console, 1 if external line. */
extern int dfprty; /* Default parity */
extern int dfflow; /* Default flow control */
extern int ckxech; /* Flag for who echoes console typein:
              1 - The program (system echo is turned off)
              0 - The system (or front end, or terminal).
            functions that want to do their own echoing should check this
            flag before doing so. */
extern int backgrd; /* Flag indicating program executing in background
              - not applicable */

/*
 * Functions for assigned communication line (either external or console tty):
 */

/* Open the named extern int tty for exclusive access. */
extern int ttopen(char *, int *, int );

/* Close & reset the extern int tty, releasing any access lock. */
extern void ttclos( void );

extern void tthang( void ); /* Hangup phone line */
extern void ttsndb( void ); /* Send a break signal */

/* Put the extern int tty in packet mode and set the speed. */
extern int ttpkt( int, int);

/* Put the extern int tty in virtual terminal mode.
   or in DIALING or CONNECTED modem control state. */
extern void ttvt( int, int );

extern void ttres( void ); /* Restore terminal to normal mode */

/* Timed read line from the extern int tty. */
extern int ttinl( char *, int, int, int );

extern int ttinc( int ); /* Timed read character from extern int tty. */

/* See how many characters in extern int tty input buffer. */
extern int ttchk( void );

/* Read n characters from extern int tty (untimed). */
extern void ttxin( int, char * );

extern void ttol( char *, int ); /* Write a string to the extern int tty. */
extern void ttoc( char ); /* Write a character to the extern int tty. */
extern void ttflui( void ); /* Flush extern int tty input buffer. */


/*
 * Functions for console terminal:
 */

extern void congm( void ); /* Get extern int console terminal modes. */

/* Put the extern int console in single-character wakeup mode with no echo. */
extern int concb( char );

/* Put the extern int console in binary (raw) mode. */
extern int conbin( char );

/* Restore the extern int console to mode obtained by congm(); */
extern int conres( void ); 

/* Unbuffered output, one character to extern int console. */
extern void conoc( char );

/* Unbuffered output, null-terminated string to the extern int console. */
extern void conol( char *);

/* Unbuffered output, string + CR LF to the extern int console. */
extern void conoll( char *);

/* Unbuffered output, array of strings to the extern int console. */
extern void conola( char *[] );

/* Unbuffered output, n characters to the extern int console. */
extern void conxo( int, char *);

/* Check if characters available at extern int console (bsd 4.2).
   Check if escape char (^\) typed at extern int console (System III/V). */
extern int conchk( void );

/* Timed get a character from the extern int console. */
extern int coninc( int );

extern int conin( void );   /* untimed get from extern int console (new) */

/* Enable terminal interrupts on the extern int console if not background. */
extern void conint( void (*f)() );

/* Disable terminal interrupts on the extern int console if not background. */
extern void connoi( void );

/*
 * Time functions:
 */

extern int msleep( int m ); /* Millisecond sleep */
extern void ztime( char ** ); /* Return pointer to date/time string */

