home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c082_144 / 1.ddi / INCLUDE.ZIP / CONIO.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-10  |  4.6 KB  |  156 lines

  1. /*  conio.h
  2.  
  3.     Direct MSDOS console input/output.
  4.  
  5.     Copyright (c) 1987, 1992 by Borland International
  6.     All Rights Reserved.
  7. */
  8.  
  9. #if !defined(__CONIO_H)
  10. #define __CONIO_H
  11.  
  12. #if !defined(___DEFS_H)
  13. #include <_defs.h>
  14. #endif
  15.  
  16. #if !defined(_Windows)
  17.  
  18. #define _NOCURSOR      0
  19. #define _SOLIDCURSOR   1
  20. #define _NORMALCURSOR  2
  21.  
  22. struct text_info {
  23.     unsigned char winleft;
  24.     unsigned char wintop;
  25.     unsigned char winright;
  26.     unsigned char winbottom;
  27.     unsigned char attribute;
  28.     unsigned char normattr;
  29.     unsigned char currmode;
  30.     unsigned char screenheight;
  31.     unsigned char screenwidth;
  32.     unsigned char curx;
  33.     unsigned char cury;
  34. };
  35.  
  36. enum text_modes { LASTMODE=-1, BW40=0, C40, BW80, C80, MONO=7, C4350=64 };
  37.  
  38. #if !defined(__COLORS)
  39. #define __COLORS
  40.  
  41. enum COLORS {
  42.     BLACK,          /* dark colors */
  43.     BLUE,
  44.     GREEN,
  45.     CYAN,
  46.     RED,
  47.     MAGENTA,
  48.     BROWN,
  49.     LIGHTGRAY,
  50.     DARKGRAY,       /* light colors */
  51.     LIGHTBLUE,
  52.     LIGHTGREEN,
  53.     LIGHTCYAN,
  54.     LIGHTRED,
  55.     LIGHTMAGENTA,
  56.     YELLOW,
  57.     WHITE
  58. };
  59. #endif
  60.  
  61. #define BLINK       128 /* blink bit */
  62.  
  63. extern   int _Cdecl directvideo;
  64. extern   int _Cdecl _wscroll;
  65.  
  66. #endif   /* !_Windows */
  67.  
  68. #ifdef __cplusplus
  69. extern "C" {
  70. #endif
  71.  
  72. void        _Cdecl clreol( void );
  73. void        _Cdecl clrscr( void );
  74. void        _Cdecl gotoxy( int __x, int __y );
  75. int         _Cdecl wherex( void );
  76. int         _Cdecl wherey( void );
  77. int         _Cdecl getch( void );
  78. int         _Cdecl getche( void );
  79. int         _Cdecl kbhit( void );
  80. int         _Cdecl putch( int __c );
  81.  
  82. #ifndef _PORT_DEFS
  83. unsigned char   _Cdecl inportb( unsigned __portid );
  84. unsigned        _Cdecl inport ( unsigned __portid );
  85. int             _Cdecl inp( unsigned __portid );
  86. unsigned        _Cdecl inpw( unsigned __portid );
  87. void            _Cdecl outportb( unsigned __portid, unsigned char __value );
  88. void            _Cdecl outport ( unsigned __portid, unsigned __value );
  89. int             _Cdecl outp( unsigned __portid, int __value );
  90. unsigned        _Cdecl outpw( unsigned __portid, unsigned __value );
  91. #endif  /* !_PORT_DEFS */
  92.  
  93. #if !defined(_Windows)
  94.  
  95. void        _Cdecl delline( void );
  96. int         _Cdecl gettext( int __left, int __top,
  97.                             int __right, int __bottom,
  98.                             void *__destin);
  99. void        _Cdecl gettextinfo (struct text_info *__r );
  100. void        _Cdecl highvideo( void );
  101. void        _Cdecl insline( void );
  102. void        _Cdecl lowvideo( void );
  103. int         _Cdecl movetext( int __left, int __top,
  104.                              int __right, int __bottom,
  105.                              int __destleft, int __desttop );
  106. void        _Cdecl normvideo( void );
  107. int         _Cdecl puttext( int __left, int __top,
  108.                             int __right, int __bottom,
  109.                             void *__source );
  110. void        _Cdecl textattr( int __newattr );
  111. void        _Cdecl textbackground( int __newcolor );
  112. void        _Cdecl textcolor( int __newcolor );
  113. void        _Cdecl textmode( int __newmode );
  114. void        _Cdecl window( int __left, int __top, int __right, int __bottom);
  115.  
  116. void        _Cdecl _setcursortype( int __cur_t );
  117. char * _Cdecl cgets( char *__str );
  118. int         _Cdecl cprintf( const char *__format, ... );
  119. int         _Cdecl cputs( const char *__str );
  120. int         _Cdecl cscanf( const char *__format, ... );
  121. char * _Cdecl getpass( const char *__prompt );
  122. int         _Cdecl ungetch( int __ch );
  123.  
  124. #endif  /* !_Windows */
  125.  
  126. #ifndef _PORT_DEFS
  127. #define _PORT_DEFS
  128.  
  129.     /* These are in-line functions.  These prototypes just clean up
  130.        some syntax checks and code generation.
  131.      */
  132. unsigned char   _Cdecl  __inportb__ (unsigned __portid);
  133. unsigned        _Cdecl  __inportw__ (unsigned __portid);
  134. unsigned char   _Cdecl  __outportb__(unsigned __portid, unsigned char __value);
  135. unsigned        _Cdecl  __outportw__(unsigned __portid, unsigned __value);
  136.  
  137. #define inportb(__portid)           __inportb__(__portid)
  138. #define outportb(__portid, __value) ((void) __outportb__(__portid, __value))
  139. #define inport(__portid)            __inportw__(__portid)
  140. #define outport(__portid, __value)  ((void) __outportw__(__portid, __value))
  141.  
  142. /* MSC-compatible macros for port I/O */
  143. #define inp(__portid)               __inportb__ (__portid)
  144. #define outp(__portid, __value)     __outportb__(__portid, (unsigned char)__value)
  145. #define inpw(__portid)              __inportw__ (__portid)
  146. #define outpw(__portid, __value)    __outportw__(__portid, __value)
  147.  
  148. #endif  /* _PORT_DEFS */
  149.  
  150. #ifdef __cplusplus
  151. }
  152. #endif
  153.  
  154.  
  155. #endif  /* __CONIO_H */
  156.