#ifndef __SH_TTY_H_
#define __SH_TTY_H_
#include "stdc.h"
#if defined (_POSIX_VERSION) && defined (HAVE_TERMIOS_H) && defined (HAVE_TCGETATTR) && !defined (TERMIOS_MISSING)
# define TERMIOS_TTY_DRIVER
#else
# if defined (HAVE_TERMIO_H)
# define TERMIO_TTY_DRIVER
# else
# define NEW_TTY_DRIVER
# endif
#endif
#ifdef TERMIOS_TTY_DRIVER
# if (defined (SunOS4) || defined (SunOS5)) && !defined (_POSIX_SOURCE)
# define _POSIX_SOURCE
# endif
# if defined (SunOS4)
# undef ECHO
# undef NOFLSH
# undef TOSTOP
# endif
# include <termios.h>
# define TTYSTRUCT struct termios
#else
# ifdef TERMIO_TTY_DRIVER
# include <termio.h>
# define TTYSTRUCT struct termio
# else
# include <sgtty.h>
# define TTYSTRUCT struct sgttyb
# endif
#endif
extern int ttgetattr (int, TTYSTRUCT *);
extern int ttsetattr (int, TTYSTRUCT *);
extern void ttsave (void);
extern void ttrestore (void);
extern TTYSTRUCT *ttattr (int);
extern int tt_setonechar (TTYSTRUCT *);
extern int tt_setnoecho (TTYSTRUCT *);
extern int tt_seteightbit (TTYSTRUCT *);
extern int tt_setnocanon (TTYSTRUCT *);
extern int tt_setcbreak (TTYSTRUCT *);
extern int ttfd_onechar (int, TTYSTRUCT *);
extern int ttfd_noecho (int, TTYSTRUCT *);
extern int ttfd_eightbit (int, TTYSTRUCT *);
extern int ttfd_nocanon (int, TTYSTRUCT *);
extern int ttfd_cbreak (int, TTYSTRUCT *);
extern int ttonechar (void);
extern int ttnoecho (void);
extern int tteightbit (void);
extern int ttnocanon (void);
extern int ttcbreak (void);
#endif