Do not calculate the same value twice
[mplayer/glamo.git] / osdep / getch2.h
blobf6f416b2a70cbd1fcdae6f248215a8fce8c64873
1 /*
2 * GyS-TermIO v2.0 (for GySmail v3)
3 * a very small replacement of ncurses library
5 * copyright (C) 1999 A'rpi/ESP-team
7 * This file is part of MPlayer.
9 * MPlayer is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * MPlayer is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License along
20 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
21 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
24 #ifndef MPLAYER_GETCH2_H
25 #define MPLAYER_GETCH2_H
27 /* Screen size. Initialized by load_termcap() and get_screen_size() */
28 extern int screen_width;
29 extern int screen_height;
31 /* Termcap code to erase to end of line */
32 extern char * erase_to_end_of_line;
34 /* Get screen-size using IOCTL call. */
35 void get_screen_size(void);
37 /* Load key definitions from the TERMCAP database. 'termtype' can be NULL */
38 int load_termcap(char *termtype);
40 /* Enable and disable STDIN line-buffering */
41 void getch2_enable(void);
42 void getch2_disable(void);
44 /* Read a character or a special key code (see keycodes.h) */
45 void getch2(void);
47 /* slave cmd function for Windows and OS/2 */
48 int mp_input_slave_cmd_func(int fd,char* dest,int size);
50 #if defined(__MINGW32__) || defined(__OS2__)
51 #define USE_SELECT 0
52 #define MP_INPUT_SLAVE_CMD_FUNC mp_input_slave_cmd_func
53 #else
54 #define USE_SELECT 1
55 #define MP_INPUT_SLAVE_CMD_FUNC NULL
56 #endif
58 #endif /* MPLAYER_GETCH2_H */