This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/dm/include/conio.h

315 lines
6.8 KiB
C

// 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 <stdio.h>
#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