00001 #ifndef TTY_H
00002 #define TTY_H
00003
00004 #undef linux //to use with gcc crosscompile
00005
00006
00007 int tty_init();
00008 int tty_exit();
00009
00010
00011 int tty_getchar();
00012 void tty_print(char *buf);
00013 void tty_putchar(int c);
00014
00015
00016 int tty_get_key();
00017 char *tty_get_string(char *s, int size);
00018
00019 enum key_type {
00020 KEY_CTRL_A = 1, KEY_CTRL_B, KEY_CTRL_C, KEY_CTRL_D, KEY_CTRL_E, KEY_CTRL_F,
00021 KEY_CTRL_G, KEY_CTRL_H, KEY_CTRL_I, KEY_CTRL_J, KEY_CTRL_K, KEY_CTRL_L,
00022 KEY_CTRL_M, KEY_CTRL_N, KEY_CTRL_O, KEY_CTRL_P, KEY_CTRL_Q, KEY_CTRL_R,
00023 KEY_CTRL_S, KEY_CTRL_T, KEY_CTRL_U, KEY_CTRL_V, KEY_CTRL_W, KEY_CTRL_X,
00024 KEY_CTRL_Y, KEY_CTRL_Z,
00025 KEY_UP = (1 << 8) + 'A', KEY_DOWN, KEY_RIGHT, KEY_LEFT,
00026 #ifdef linux
00027 KEY_HOME = (1 << 8) + '1', KEY_INS, KEY_DEL, KEY_END, KEY_PGUP, KEY_PGDOWN,
00028 #else
00029 KEY_INS = (1 << 8) + '1', KEY_HOME, KEY_PGUP, KEY_DEL, KEY_END, KEY_PGDOWN,
00030 #endif
00031 KEY_F1 = (1 << 16) + ('1' << 8) + '1', KEY_F2, KEY_F3, KEY_F4,
00032 KEY_F5, KEY_F5_, KEY_F6, KEY_F7, KEY_F8,
00033 KEY_F9 = (1 << 16) + ('2' << 8) + '0', KEY_F10, KEY_F10_, KEY_F11, KEY_F12
00034 };
00035
00036
00037 #define HISTSIZE 20
00038 #define CMDLENGTH 80
00039
00040 char *tty_get_command();
00041
00042
00043 int x_strlen(const char *s);
00044 char *x_strcpy(char *dest, const char *src);
00045
00046 #endif