1 /****************************************************************************
3 * SciTech OS Portability Manager Library
5 * ========================================================================
7 * The contents of this file are subject to the SciTech MGL Public
8 * License Version 1.0 (the "License"); you may not use this file
9 * except in compliance with the License. You may obtain a copy of
10 * the License at http://www.scitechsoft.com/mgl-license.txt
12 * Software distributed under the License is distributed on an
13 * "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
14 * implied. See the License for the specific language governing
15 * rights and limitations under the License.
17 * The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.
19 * The Initial Developer of the Original Code is SciTech Software, Inc.
20 * All Rights Reserved.
22 * ========================================================================
27 * Description: Include file to include all OS specific header files.
29 ****************************************************************************/
31 #define WIN32_LEAN_AND_MEAN
36 #define NONAMELESSUNION
39 /* Macros to save and restore the default control word. Windows 9x has
40 * some bugs in it such that calls to load any DLL's which load 16-bit
41 * DLL's cause the floating point control word to get trashed. We fix
42 * this by saving and restoring the control word across problematic
46 #if defined(__INTEL__)
47 #define GET_DEFAULT_CW() \
49 if (_PM_cw_default == 0) \
50 _PM_cw_default = _control87(0,0); \
52 #define RESET_DEFAULT_CW() \
53 _control87(_PM_cw_default,0xFFFFFFFF)
55 #define GET_DEFAULT_CW()
56 #define RESET_DEFAULT_CW()
59 /* Custom window messages */
61 #define WM_DO_SUSPEND_APP WM_USER
62 #define WM_PM_LEAVE_FULLSCREEN 0
63 #define WM_PM_RESTORE_FULLSCREEN 1
65 /* Macro for disabling AutoPlay on a use system */
67 #define AUTOPLAY_DRIVE_CDROM 0x20
69 /*--------------------------- Global Variables ----------------------------*/
72 extern uint _PM_cw_default; /* Default FPU control word */
74 extern int _PM_deskX,_PM_deskY; /* Desktop dimensions */
75 extern HWND _PM_hwndConsole; /* Window handle for console */
77 /*-------------------------- Internal Functions ---------------------------*/
79 void _EVT_pumpMessages(void);