⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pm_help.h

📁 gumstiz u-boot loader in linux
💻 H
字号:
/******************************************************************************                   SciTech OS Portability Manager Library**  ========================================================================**    The contents of this file are subject to the SciTech MGL Public*    License Version 1.0 (the "License"); you may not use this file*    except in compliance with the License. You may obtain a copy of*    the License at http://www.scitechsoft.com/mgl-license.txt**    Software distributed under the License is distributed on an*    "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or*    implied. See the License for the specific language governing*    rights and limitations under the License.**    The Original Code is Copyright (C) 1991-1998 SciTech Software, Inc.**    The Initial Developer of the Original Code is SciTech Software, Inc.*    All Rights Reserved.**  ========================================================================** Language:     ANSI C* Environment:  Win32, OS/2** Description:  Include file for the SciTech Portability Manager 32-bit*               helper VxD for Windows 9x for and the 16-bit ring 0*               helper device driver for OS/2.**               This file documents all the public services used by the*               SciTech Portability Manager library and SciTech Nucleus*               loader library.*****************************************************************************/#ifndef __PMHELP_H#define __PMHELP_H/* Include version information */#include "sdd/sddver.h"#define PMHELP_Major            SDD_RELEASE_MAJOR#define PMHELP_Minor            SDD_RELEASE_MINOR#define PMHELP_VERSION          ((PMHELP_Major << 8) | PMHELP_Minor)#ifdef  __OS2__/***************************************************************************** Public OS/2 Support functions****************************************************************************/#include "scitech.h"#include "nucleus/graphics.h"/* Name of device driver */#define PMHELP_NAME                 (PSZ)"sddhelp$"/* Main IOCTL function to talk to device driver */#define PMHELP_IOCTL                0x0080/* Macro definition for defining IOCTL function control codes for the SDDHELP * device driver for OS/2. Similar to that used for the DOS/Win32 version. */#define PMHELP_CTL_CODE(name,value) \    PMHELP_##name = valuetypedef enum {    /* Version function used by all drivers */    PMHELP_CTL_CODE(GETVER                      ,0x0001),    PMHELP_CTL_CODE(MAPPHYS                     ,0x0002),    PMHELP_CTL_CODE(ALLOCLOCKED                 ,0x0003),    PMHELP_CTL_CODE(FREELOCKED                  ,0x0004),    PMHELP_CTL_CODE(GETGDT32                    ,0x0005),    PMHELP_CTL_CODE(MALLOCSHARED                ,0x0007),    PMHELP_CTL_CODE(FREESHARED                  ,0x0008),    PMHELP_CTL_CODE(MAPTOPROCESS                ,0x0009),    PMHELP_CTL_CODE(FREEPHYS                    ,0x000A),    PMHELP_CTL_CODE(FLUSHTLB                    ,0x000B),    PMHELP_CTL_CODE(SAVECR4                     ,0x000C),    PMHELP_CTL_CODE(RESTORECR4                  ,0x000D),    PMHELP_CTL_CODE(READMSR                     ,0x000E),    PMHELP_CTL_CODE(WRITEMSR                    ,0x000F),    PMHELP_CTL_CODE(GETPHYSICALADDR             ,0x0010),    PMHELP_CTL_CODE(GETPHYSICALADDRRANGE        ,0x0011),    PMHELP_CTL_CODE(LOCKPAGES                   ,0x0012),    PMHELP_CTL_CODE(UNLOCKPAGES                 ,0x0013),    PMHELP_CTL_CODE(GETSHAREDEXP                ,0x0042),    PMHELP_CTL_CODE(SETSHAREDEXP                ,0x0043),    PMHELP_CTL_CODE(GETSTACKSWITCHRTN           ,0x0044),    PMHELP_CTL_CODE(GETBUILDNO                  ,0x0050),    } PMHELP_ctlCodes;#else/***************************************************************************** Public DOS/Windows Support functions****************************************************************************/#ifdef  DEVICE_MAIN#include <vtoolsc.h>#define PMHELP_Init_Order   (VDD_INIT_ORDER-1)#define RETURN_LONGS(n)     *p->dioc_bytesret = (n) * sizeof(ulong)#endif  /* DEVICE_MAIN */#include "scitech.h"#include "nucleus/graphics.h"/* We connect to the SDDHELP.VXD module if it is staticly loaded (as part * of SciTech Display Doctor), otherwise we dynamically load the PMHELP.VXD * public helper VxD. */#define PMHELP_DeviceID         0x0000#define SDDHELP_DeviceID        0x3DF8#define VXDLDR_DeviceID         0x0027#define SDDHELP_MODULE          "SDDHELP"#define SDDHELP_NAME            "SDDHELP.VXD"#define PMHELP_MODULE           "PMHELP"#define PMHELP_NAME             "PMHELP.VXD"#define PMHELP_DDBNAME          "pmhelp  "#define SDDHELP_MODULE_PATH     "\\\\.\\" SDDHELP_MODULE#define PMHELP_MODULE_PATH      "\\\\.\\" PMHELP_MODULE#define PMHELP_VXD_PATH         "\\\\.\\" PMHELP_NAME/* Macro definition for defining IOCTL function control codes for the PMHELP * device drivers for Windows 9x and NT. This macro is basically derived from * the CTL_CODE macro in the Windows 2000 DDK, but we hard code it here to * avoid having to #include any of the Windows 2000 DDK header files. We also * define both a 16-bit and 32-bit version of the control code within the same * macro to simplify future additions. * * Essentially the Win32 macro would normally expand to the following: * *  CTL_CODE(FILE_DEVICE_VIDEO,0x800+value,METHOD_BUFFERED,FILE_ANY_ACCESS) */#define PMHELP_CTL_CODE(name,value)                                             \    PMHELP_##name = value,                                                      \    PMHELP_##name##32 = ((0x23 << 16) | (0 << 14) | ((0x800+value) << 2) | (0))typedef enum {    /* Include all the control codes. We keep them in a separate header     * file so we can include them in multiple places to make this     * more versatile.     */    #include "pm_wctl.h"    } PMHELP_ctlCodes;/* For real mode VxD calls, we put the function number into the high * order word of EAX, and a value of 0x4FFF in AX. This allows our * VxD handler which is set up to handle Int 10's to recognise a native * PMHELP API call from a real mode DOS program. */#ifdef  REALMODE#define API_NUM(num)    (((ulong)(num) << 16) | 0x4FFF)#else#define API_NUM(num)    (num)#endif#endif  /* !__OS2__ */#endif  /* __PMHELP_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -