#include #ifdef sun #ifdef _IOSTRG #define sunos #else #define solaris #endif #endif #include #ifdef AIAMAG #define aix #endif #ifdef _HIUX_SOURCE #define hpux #endif /* * Select system dependent system calls about: * synchronous I/O multiplexing: {HAS_SELECT, HAS_POLL} * terminal control: {USE_SGTTY, USE_TERMIO, USE_TERMIOS} */ #if defined(sunos) \ || defined(pureBSD43) \ || defined(ultrix) \ || defined(sony_news) \ || defined(MACH) \ || defined(NeXT) \ || defined(bsdi) \ || defined(__FreeBSD__) #define USE_SGTTY #define HAS_SELECT #endif #if defined(solaris) \ || defined(sgi) \ || defined(nec_ews) \ || defined(_nec_ews_svr4) #define USE_TERMIO #define HAS_POLL #endif #if defined(hpux) \ || defined(aix) \ || defined(__linux__) \ || defined(__osf__) && defined(__alpha) \ || defined(H3050R) #define USE_TERMIOS #define HAS_SELECT #endif #if defined (AUX3) || defined (macII) || (_AUX_SOURCE) # undef AUX3 # define AUX3 # define USE_TERMIO # define HAS_SELECT #endif /* * Get the count of bufferd characters. */ #ifdef __linux__ #ifdef _IO_STDIO_H #define READYCC(fp) (fp->_IO_read_end - fp->_IO_read_ptr) #else #define READYCC(fp) (fp->_egptr - fp->_gptr) #endif #else #if defined(bsdi) || defined(__FreeBSD__) #define READYCC(fp) (fp->_r) #else #define READYCC(fp) (fp->_cnt) #endif #endif