// Copyright (C) 1986-2001 by Digital Mars. // All Rights Reserved // www.digitalmars.com #if __SC__ || __RCC__ #pragma once #endif #ifndef __CONIO_H #define __CONIO_H 1 #if __cplusplus extern "C" { #endif #if __OS2__ && __INTSIZE == 4 #define __CLIB __stdcall #else #define __CLIB __cdecl #endif /* Define _CRTAPI1 (for compatibility with the NT SDK) */ #ifndef _CRTAPI1 #define _CRTAPI1 __cdecl #endif /* Define _CRTAPI2 (for compatibility with the NT SDK) */ #ifndef _CRTAPI2 #define _CRTAPI2 __cdecl #endif /* Define CRTIMP */ #ifndef _CRTIMP #if defined(_WIN32) && defined(_DLL) #define _CRTIMP __declspec(dllimport) #else #define _CRTIMP #endif #endif #include #define _KB_F1 59 #define _KB_F2 60 #define _KB_F3 61 #define _KB_F4 62 #define _KB_F5 63 #define _KB_F6 64 #define _KB_F7 65 #define _KB_F8 66 #define _KB_F9 67 #define _KB_F10 68 #define _KB_HOME 71 #define _KB_UP 72 #define _KB_PGUP 73 #define _KB_LEFT 75 #define _KB_RIGHT 77 #define _KB_END 79 #define _KB_DOWN 80 #define _KB_PGDN 81 #define _KB_INS 82 #define _KB_BACK_TAB 15 #define _KB_SF1 84 #define _KB_SF2 85 #define _KB_SF3 86 #define _KB_SF4 87 #define _KB_SF5 88 #define _KB_SF6 89 #define _KB_SF7 90 #define _KB_SF8 91 #define _KB_SF9 92 #define _KB_SF10 93 #define _KB_CF1 94 #define _KB_CF2 95 #define _KB_CF3 96 #define _KB_CF4 97 #define _KB_CF5 98 #define _KB_CF6 99 #define _KB_CF7 100 #define _KB_CF8 101 #define _KB_CF9 102 #define _KB_CF10 103 #define _KB_AF1 104 #define _KB_AF2 105 #define _KB_AF3 106 #define _KB_AF4 107 #define _KB_AF5 108 #define _KB_AF6 109 #define _KB_AF7 110 #define _KB_AF8 111 #define _KB_AF9 112 #define _KB_AF10 113 #define _KB_DEL 83 #define _KB_CPGUP 132 #define _KB_CLEFT 115 #define _KB_CRIGHT 116 #define _KB_CEND 117 #define _KB_CPGDN 118 #define _KB_CHOME 119 #define _KB_A1 120 #define _KB_A2 121 #define _KB_A3 122 #define _KB_A4 123 #define _KB_A5 124 #define _KB_A6 125 #define _KB_A7 126 #define _KB_A8 127 #define _KB_A9 128 #define _KB_A0 129 #define _KB_AMINUS 130 #define _KB_APLUS 131 #if M_UNIX || M_XENIX extern char *ttyname(int file_handle); typedef char _strmap_t[512]; extern int __cdecl _kb_getmapstr(_strmap_t dest_map); extern int __cdecl _kb_setmapstr(_strmap_t new_map); #define MIOC ('k'<<8) #define GIO_KEYMAP (MIOC | 6) #define PIO_KEYMAP (MIOC | 7) #define KBIO_SETMODE (13|MIOC) #define KBIO_GETMODE (14|MIOC) /* keyboard mode -- set by KBIO_{S | G}ETMODE, returned by KDGKBTYPE */ #define KBM_XT 0 #define KBM_AT 1 #define KBM_OTHER 2 #define KIOC ('K' << 8) #define KDDISPTYPE (KIOC | 1) #define KDMAPDISP (KIOC | 2) #define KDUNMAPDISP (KIOC | 3) #define KDGKBMODE (KIOC | 6) #define KDSKBMODE (KIOC | 7) #define KBMKTONE (KIOC | 8) /* Used with KD{G | S}ETMODE */ #define K_RAW 0 #define K_XLATE 1 #define KDADDIO (KIOC | 11) #define KDDELIO (KIOC | 12) #define KDDISPINFO (KIOC | 18) #define KIOCSOUND (KIOC | 63) #define KDGKBTYPE (KIOC | 64) #define KDGETLED (KIOC | 65) #define KDSETLED (KIOC | 66) struct kd_dispinfo { char *vaddr; unsigned long physaddr; unsigned long size; }; struct kd_disparam { long type; #define KD_MONO 1 #define KD_HERCULES 2 #define KD_CGA 3 #define KD_EGA 4 #define KD_VGA 5 char *addr; }; #define EGAIOC ('E' << 8) #define EGAMODE (EGAIOC | 1) #define EGAIO (EGAIOC | 2) #define EGA_GET (EGAIOC | 3) #define EGA_IOPRIVL (EGAIOC | 4) #define VGAIOC ('E' << 8) #define VGAMODE (VGAIOC | 65) #define VGAIO (VGAIOC | 66) #define VGA_GET (VGAIOC | 67) #define VGA_IOPRIVL (VGAIOC | 68) #define _KB_F1_STR "\033[M" #define _KB_F2_STR "\033[N" #define _KB_F3_STR "\033[O" #define _KB_F4_STR "\033[P" #define _KB_F5_STR "\033[Q" #define _KB_F6_STR "\033[R" #define _KB_F7_STR "\033[S" #define _KB_F8_STR "\033[T" #define _KB_F9_STR "\033[U" #define _KB_F10_STR "\033[V" #define _KB_F11_STR "\033[W" #define _KB_F12_STR "\033[X" #define _KB_SF1_STR "\033[Y" #define _KB_SF2_STR "\033[Z" #define _KB_SF3_STR "\033[a" #define _KB_SF4_STR "\033[b" #define _KB_SF5_STR "\033[c" #define _KB_SF6_STR "\033[d" #define _KB_SF7_STR "\033[e" #define _KB_SF8_STR "\033[f" #define _KB_SF9_STR "\033[g" #define _KB_SF10_STR "\033[h" #define _KB_SF11_STR "\033[i" #define _KB_SF12_STR "\033[j" #define _KB_CF1_STR "\033[k" #define _KB_CF2_STR "\033[l" #define _KB_CF3_STR "\033[m" #define _KB_CF4_STR "\033[n" #define _KB_CF5_STR "\033[o" #define _KB_CF6_STR "\033[p" #define _KB_CF7_STR "\033[q" #define _KB_CF8_STR "\033[r" #define _KB_CF9_STR "\033[s" #define _KB_CF10_STR "\033[t" #define _KB_CF11_STR "\033[u" #define _KB_CF12_STR "\033[v" #define _KB_CSF1_STR "\033[w" #define _KB_CSF2_STR "\033[x" #define _KB_CSF3_STR "\033[y" #define _KB_CSF4_STR "\033[z" #define _KB_CSF5_STR "\033[@" #define _KB_CSF6_STR "\033[[" #define _KB_CSF7_STR "\033[\\" #define _KB_CSF8_STR "\033[]" #define _KB_CSF9_STR "\033[^" #define _KB_CSF10_STR "\033[_" #define _KB_CSF11_STR "\033[`" #define _KB_CSF12_STR "\033[{" #define _KB_HOME_STR "\033[H" #define _KB_UP_STR "\033[A" #define _KB_PGUP_STR "\033[I" #define _KB_MINUS_STR "-" #define _KB_LEFT_STR "\033[D" #define _KB_5_STR "\033[E" #define _KB_RIGHT_STR "\033[C" #define _KB_PLUS_STR "+" #define _KB_END_STR "\033[F" #define _KB_DOWN_STR "\033[B" #define _KB_PGDN_STR "\033[G" #define _KB_INS_STR "\033[L" #define _KB_5 76 #define _KB_PLUS 78 #define _KB_MINUS 74 #define _KB_CSF1 104 #define _KB_CSF2 105 #define _KB_CSF3 106 #define _KB_CSF4 107 #define _KB_CSF5 108 #define _KB_CSF6 109 #define _KB_CSF7 110 #define _KB_CSF8 111 #define _KB_CSF9 112 #define _KB_CSF10 113 #define _KB_F11 133 #define _KB_F12 134 #define _KB_SF11 135 #define _KB_SF12 136 #define _KB_CF11 137 #define _KB_CF12 138 #define _KB_CSF11 139 #define _KB_CSF12 140 #endif /* M_UNIX || M_XENIX */ int __cdecl kbhit(void); int __cdecl ungetch(int c); #define _kbhit kbhit #define _ungetch ungetch #if !defined(_WINDOWS) || defined(_WIN32) int __cdecl getch(void); int __cdecl getche(void); int __cdecl putch(int); #define _getch getch #define _getche getche #define _putch putch char * __CLIB _cgets(char *); int __CLIB _cprintf(const char *, ...); int __CLIB _cputs(const char *); int __CLIB _cscanf(const char *, ...); #define cgets _cgets #define cprintf _cprintf #define cputs _cputs #define cscanf _cscanf #endif /* _WINDOWS */ #if __cplusplus } #endif #endif