diff options
Diffstat (limited to 'src/tty.h')
-rw-r--r-- | src/tty.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/tty.h b/src/tty.h new file mode 100644 index 0000000..a4965b6 --- /dev/null +++ b/src/tty.h @@ -0,0 +1,58 @@ +/* public definitions from tty.c */ + +#ifndef _TTY_H_ +#define _TTY_H_ + +extern int tty_read_fd; + +extern char *tty_clreoln, *tty_clreoscr, *tty_begoln, + *tty_modebold, *tty_modeblink, *tty_modeuline, + *tty_modenorm, *tty_modenormbackup, + *tty_modeinv, *tty_modestandon, *tty_modestandoff; + +void tty_bootstrap(void); +void tty_start(void); +void tty_quit(void); +void tty_special_keys(void); +void tty_sig_winch_bottomhalf(void); +void tty_add_walk_binds(void); +void tty_add_initial_binds(void); +void tty_gotoxy(int col, int line); +void tty_gotoxy_opt(int fromcol, int fromline, int tocol, int toline); + +void input_delete_nofollow_chars(int n); +void input_overtype_follow(char c); +void input_insert_follow_chars(char *str, int n); +void input_moveto(int new_pos); + +#ifndef USE_LOCALE + +#define tty_puts(s) fputs((s), stdout) +#define tty_putc(c) fputc((unsigned char)(c), stdout) +#define tty_printf(...) printf(__VA_ARGS__) +#define tty_read(buf, cnt) read(tty_read_fd, (buf), (cnt)) +#define tty_gets(s, size) fgets((s), (size), stdin) +#define tty_flush() fflush(stdout) +#define tty_raw_write(s,size) do { tty_flush(); write(1, (s), (size)); } while (0) + +#else /* USE_LOCALE */ + +#ifdef __GNUC__ + #define PRINTF_FUNCTION(string, first) \ + __attribute__ ((format (printf, string, first))) +#else + #define PRINTF_FUNCTION(string, first) +#endif + +void tty_puts(const char *s); +void tty_putc(char c); +int tty_printf(const char *format, ...) PRINTF_FUNCTION(1, 2); +int tty_read(char *buf, size_t count); +void tty_gets(char *s, int size); +void tty_flush(void); +void tty_raw_write(char *data, size_t len); +int tty_has_chars(void); + +#endif /* USE_LOCALE */ + +#endif /* _TTY_H_ */ |