aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_init.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_init.c')
-rw-r--r--nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_init.c244
1 files changed, 0 insertions, 244 deletions
diff --git a/nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_init.c b/nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_init.c
deleted file mode 100644
index 81b2689b8..000000000
--- a/nx-X11/programs/Xserver/hw/xfree86/os-support/os2/os2_init.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/* $XFree86: xc/programs/Xserver/hw/xfree86/os-support/os2/os2_init.c,v 3.18 2003/11/29 01:48:31 dawes Exp $ */
-/*
- * (c) Copyright 1994 by Holger Veit
- * <Holger.Veit@gmd.de>
- * Modified 1996 Sebastien Marineau <marineau@genie.uottawa.ca>
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the "Software"),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in
- * all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
- * HOLGER VEIT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
- * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
- * OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
- * SOFTWARE.
- *
- * Except as contained in this notice, the name of Holger Veit shall not be
- * used in advertising or otherwise to promote the sale, use or other dealings
- * in this Software without prior written authorization from Holger Veit.
- *
- */
-/* $XConsortium: os2_init.c /main/9 1996/10/19 18:07:13 kaleb $ */
-
-#define I_NEED_OS2_H
-#define INCL_DOSFILEMGR
-#define INCL_KBD
-#define INCL_VIO
-#define INCL_DOSMISC
-#define INCL_DOSPROCESS
-#define INCL_DOSSEMAPHORES
-#define INCL_DOSMODULEMGR
-#define INCL_DOSFILEMGR
-#ifdef HAVE_XORG_CONFIG_H
-#include <xorg-config.h>
-#endif
-
-#include <float.h>
-#include <X11/X.h>
-#include <X11/Xmd.h>
-#include "input.h"
-#include "scrnintstr.h"
-
-#include "compiler.h"
-
-#include "xf86.h"
-#include "xf86Priv.h"
-#include "xf86_OSlib.h"
-
-VIOMODEINFO OriginalVideoMode;
-void os2VideoNotify();
-void os2HardErrorNotify();
-void os2KbdMonitorThread();
-void os2KbdBitBucketThread();
-HEV hevPopupPending;
-extern HEV hKbdSem;
-extern BOOL os2HRTimerFlag;
-static unsigned short cw;
-extern void os2_checkinstallation(); /* os2_diag.c */
-
-void xf86OpenConsole()
-{
- /* try to catch problems before they become obvious */
- os2_checkinstallation();
-
- if (serverGeneration == 1) {
- HKBD fd;
- ULONG drive;
- ULONG dummy;
- KBDHWID hwid;
- APIRET rc;
- int VioTid;
- ULONG actual_handles;
- LONG new_handles;
-
- /* hv 250197 workaround for xkb-Problem: switch to X11ROOT drive */
- char *x11r = getenv("X11ROOT");
- /* Make sure X11ROOT is set before we go further sm280297 */
- if (x11r == NULL){
- xf86Msg(X_ERROR,
- "Environment variable X11ROOT is not set! Aborting...\n");
- exit(1);
- }
- if (_chdir2(x11r) < 0) {
- xf86Msg(X_ERROR,"Cannot change to X11ROOT directory!\n");
- }
-
- xf86Msg(X_INFO,"Console opened\n");
- OriginalVideoMode.cb=sizeof(VIOMODEINFO);
- rc=VioGetMode(&OriginalVideoMode,(HVIO)0);
- if(rc!=0)
- xf86Msg(X_ERROR,
- "Could not get original video mode. RC=%d\n",rc);
- xf86Info.consoleFd = -1;
-
- /* Set the number of handles to higher than the default 20. Set to 80 which should be plenty */
- new_handles = 0;
- rc = DosSetRelMaxFH(&new_handles,&actual_handles);
- if (actual_handles < 80) {
- new_handles = 80 - actual_handles;
- rc = DosSetRelMaxFH(&new_handles,&actual_handles);
- xf86Msg(X_INFO,"Increased number of available handles to %d\n",
- actual_handles);
- }
-
- /* grab the keyboard */
- rc = KbdGetFocus(0,0);
- if (rc != 0)
- FatalError("xf86OpenConsole: cannot grab kbd focus, rc=%d\n",rc);
-
- /* open the keyboard */
- rc = KbdOpen(&fd);
- if (rc != 0)
- FatalError("xf86OpenConsole: cannot open keyboard, rc=%d\n",rc);
- xf86Info.consoleFd = fd;
-
- xf86Msg(X_INFO,"Keyboard opened\n");
-
- /* assign logical keyboard */
- KbdFreeFocus(0);
- rc = KbdGetFocus(0,fd);
- if (rc != 0)
- FatalError("xf86OpenConsole: cannot set local kbd focus, rc=%d\n",rc);
-
-/* Create kbd queue semaphore */
-
- rc = DosCreateEventSem(NULL,&hKbdSem,DC_SEM_SHARED,TRUE);
- if (rc != 0)
- FatalError("xf86OpenConsole: cannot create keyboard queue semaphore, rc=%d\n",rc);
-
-/* Create popup semaphore */
-
- rc = DosCreateEventSem("\\SEM32\\XF86PUP",&hevPopupPending,DC_SEM_SHARED,1);
- if (rc)
- xf86Msg(X_ERROR,
- "Could not create popup semaphore! RC=%d\n",rc);
-#if 0
- rc=VioRegister("xf86vio","XF86POPUP_SUBCLASS",0x20002004L,0L);
- if (rc) {
- FatalError("Could not register XF86VIO.DLL module. Please install in LIBPATH! RC=%d\n",
- rc);
- }
-#endif
-
-/* Start up the VIO monitor thread */
- VioTid=_beginthread(os2VideoNotify,NULL,0x4000,(void *)NULL);
- xf86Msg(X_INFO,"Started Vio thread, Tid=%d\n",VioTid);
- rc=DosSetPriority(2,3,0,VioTid);
-
-/* Start up the hard-error VIO monitor thread */
- VioTid=_beginthread(os2HardErrorNotify,NULL,0x4000,(void *)NULL);
- xf86Msg(X_INFO,"Started hard error Vio mode monitor thread, Tid=%d\n",
- VioTid);
- rc=DosSetPriority(2,3,0,VioTid);
-
-/* We have to set the codepage before the keyboard monitor is registered */
- rc = KbdSetCp(0,0,fd);
- if(rc != 0)
- FatalError("xf86OpenConsole: cannot set keyboard codepage, rc=%d\n",rc);
-
-/* Start up the kbd monitor thread */
- VioTid=_beginthread(os2KbdMonitorThread,NULL,0x4000,(void *)NULL);
- xf86Msg(X_INFO,"Started Kbd monitor thread, Tid=%d\n",VioTid);
- rc=DosSetPriority(2,3,0,VioTid);
-
-/* Disable hard-errors through DosError */
- rc = DosQuerySysInfo(5,5,&drive,sizeof(drive));
- rc = DosSuppressPopUps(0x0001L,drive+96); /* Disable popups */
-
- hwid.cb = sizeof(hwid); /* fix crash on P9000 */
- rc = KbdGetHWID(&hwid, fd);
- if (rc == 0) {
- switch (hwid.idKbd) {
- default:
- case 0xab54: /* 88/89 key */
- case 0: /*unknown*/
- case 1: /*real AT 84 key*/
- xf86Info.kbdType = KB_84; break;
- case 0xab85: /* 122 key */
- FatalError("Unsupported extended 122key keyboard found!\n",0);
- case 0xab41: /* 101/102 key */
- xf86Info.kbdType = KB_101; break;
- }
- } else
- xf86Info.kbdType = KB_84; /*defensive*/
-
-/* Start up the Kbd bit-bucket thread. We don't want to leave the kbd events in the driver queue */
- VioTid=_beginthread(os2KbdBitBucketThread,NULL,0x2000,(void *)NULL);
- xf86Msg(X_INFO,"Started Kbd bit-bucket thread, Tid=%d\n",VioTid);
-
-/* fg271103: set control word of FPU to default value to prevent SIGFPE in GLX (and elsewhere?) */
-
-#define DEFAULT_X86_FPU 0x037f
-
- cw = _control87(DEFAULT_X86_FPU, 0xFFFF);
- xf86Msg(X_INFO,"Checking FPCW: %#x\n",cw);
-
- if (cw != DEFAULT_X86_FPU) {
- cw = _control87(0,0);
- xf86Msg(X_INFO,"Set FPCW to %#x\n",cw);
- }
-
- }
- return;
-}
-
-void xf86CloseConsole()
-{
- APIRET rc;
- ULONG drive;
-
- if (xf86Info.consoleFd != -1) {
- KbdClose(xf86Info.consoleFd);
- }
- VioSetMode(&OriginalVideoMode,(HVIO)0);
- rc = DosQuerySysInfo(5,5,&drive,sizeof(drive));
- rc = DosSuppressPopUps(0x0000L,drive+96); /* Reenable popups */
- rc = DosCloseEventSem(hevPopupPending);
- rc = VioDeRegister();
- return;
-}
-
-/* ARGSUSED */
-
-int xf86ProcessArgument (argc, argv, i)
-int argc;
-char *argv[];
-int i;
-{
- return 0;
-}
-
-void xf86UseMsg()
-{
- return;
-}
-