CVS: main/linux vbelib.c,1.17,1.18
Update of /cvsroot/mplayer/main/linux In directory mplayer:/var/tmp.root/cvs-serv28494/main/linux Modified Files: vbelib.c Log Message: Hide terminal's output and text-mode cursor for LCD and DFP Index: vbelib.c =================================================================== RCS file: /cvsroot/mplayer/main/linux/vbelib.c,v retrieving revision 1.17 retrieving revision 1.18 diff -u -r1.17 -r1.18 --- vbelib.c 15 Nov 2001 16:44:43 -0000 1.17 +++ vbelib.c 20 Nov 2001 07:55:34 -0000 1.18 @@ -89,6 +89,27 @@ #define VBE_LRMI_int(int_no,regs) (VBE_LRMI_int(int_no,regs)) #endif +static FILE *my_stdin; +static FILE *my_stdout; +static FILE *my_stderr; + +static void __set_cursor_type(FILE *stdout_fd,int cursor_on) +{ + fprintf(stdout_fd,"\033[?25%c",cursor_on?'h':'l'); +} + +/* TODO: do it only on LCD or DFP. We should extract such info from DDC */ +static void hide_terminal_output( void ) +{ + my_stdin = fopen(ttyname(fileno(stdin )),"r"); + my_stdout = fopen(ttyname(fileno(stdout)),"w"); + my_stderr = fopen(ttyname(fileno(stderr)),"w"); + __set_cursor_type(stdout,0); +/*if(isatty(fileno(stdin ))) stdin =freopen("/dev/null","r",stdin );*/ + if(isatty(fileno(stdout))) stdout=freopen("/dev/null","w",stdout); + if(isatty(fileno(stderr))) stderr=freopen("/dev/null","w",stderr); +} + static unsigned hh_int_10_seg; static int fd_mem; int vbeInit( void ) @@ -115,11 +136,13 @@ && vbe_pm_info.iopl_ports[i++] > 1023) ioperm(iopl_port,1,1); iopl(3); fd_mem = open("/dev/mem",O_RDWR); + hide_terminal_output(); return VBE_OK; } int vbeDestroy( void ) { + __set_cursor_type(my_stdout,1); close(fd_mem); return VBE_OK; }
participants (5)
-
Arpi -
Felix Buenemann -
Gábor Lénárt -
Johannes Feigl -
Nick Kurshev