From 7fe60435bce6595a9c58a9bfd8244d74b5320e96 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Tue, 15 Jan 2013 08:46:13 +0100 Subject: Import DirectFB141_2k11R3_beta5 --- Source/DirectFB/systems/fbdev/vt.h | 83 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100755 Source/DirectFB/systems/fbdev/vt.h (limited to 'Source/DirectFB/systems/fbdev/vt.h') diff --git a/Source/DirectFB/systems/fbdev/vt.h b/Source/DirectFB/systems/fbdev/vt.h new file mode 100755 index 0000000..d9b1019 --- /dev/null +++ b/Source/DirectFB/systems/fbdev/vt.h @@ -0,0 +1,83 @@ +/* + (c) Copyright 2001-2009 The world wide DirectFB Open Source Community (directfb.org) + (c) Copyright 2000-2004 Convergence (integrated media) GmbH + + All rights reserved. + + Written by Denis Oliver Kropp , + Andreas Hundt , + Sven Neumann , + Ville Syrjälä and + Claudio Ciccani . + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. +*/ + +#ifndef __VT_H__ +#define __VT_H__ + +#include +#include +#include +#include + +#include + +typedef struct { + int fd0; /* file descriptor of /dev/tty0 */ + int fd; /* file descriptor of /dev/ttyN + where N is the number of the allocated VT, + may be equal to 'fd0' if VT allocation + is disabled by "--no-vt-switch" */ + + int num; /* number of vt where DirectFB runs */ + int prev; /* number of vt DirectFB was started from */ + + int old_fb; /* original fb mapped to vt */ + + struct sigaction sig_usr1; /* previous signal handler for USR1 */ + struct sigaction sig_usr2; /* previous signal handler for USR2 */ + + struct vt_mode vt_mode; /* previous VT mode */ + + DirectThread *thread; + pthread_mutex_t lock; + pthread_cond_t wait; + + int vt_sig; + struct termios old_ts; + + bool flush; + DirectThread *flush_thread; +} VirtualTerminal; + +/* + * allocates and switches to a new virtual terminal + */ +DFBResult dfb_vt_initialize( void ); +DFBResult dfb_vt_join( void ); + +/* + * deallocates virtual terminal + */ +DFBResult dfb_vt_shutdown( bool emergency ); +DFBResult dfb_vt_leave( bool emergency ); + +DFBResult dfb_vt_detach( bool force ); + +bool dfb_vt_switch( int num ); + +#endif -- cgit