Implemented enough of the Presentation Manager API to draw a blank window.
This commit is contained in:
1 parent
40b9b9e141
commit
b6c47ee91d
12 files changed
+2638
-9
No files matched your search
@@ -64,6 +64,9 @@ elseif(CURSES_HAVE_CURSES_H)
|
||||
add_definitions(-DHAVE_CURSES_H)
|
||||
endif()
|
||||
|
||||
# !!! FIXME
|
||||
include_directories("/usr/local/include/SDL2")
|
||||
|
||||
foreach(_I doscalls;msg;nls;quecalls;viocalls;kbdcalls;sesmgr;som;pmwin;pmshapi;pmgpi;tcpip32)
|
||||
add_library(${_I} SHARED "native/${_I}.c")
|
||||
set_target_properties(${_I} PROPERTIES COMPILE_FLAGS "-m32")
|
||||
@@ -73,6 +76,7 @@ endforeach()
|
||||
target_link_libraries(doscalls "pthread")
|
||||
# FIXME target_link_libraries(viocalls ${CURSES_LIBRARIES})
|
||||
target_link_libraries(viocalls ncursesw)
|
||||
target_link_libraries(pmwin "${CMAKE_CURRENT_SOURCE_DIR}/libSDL2-2.0.so.0")
|
||||
|
||||
add_executable(lx_dump lx_dump.c)
|
||||
|
||||
|
||||
Binary file not shown.
+7
-1
@@ -2046,7 +2046,10 @@ static __attribute__((noreturn)) void handleThreadLocalStorageAccess(const int s
|
||||
: "=a" (ptib2)
|
||||
: "eax" (gregs[REG_FS])
|
||||
);
|
||||
uint32 *tls = (uint32 *) (ptib2 + 1); // The thread's TLS data is stored right after its TIB2 struct.
|
||||
|
||||
// The thread's TLS data is stored in LxPostTIB, right after its TIB2 struct.
|
||||
LxPostTIB *posttib = (LxPostTIB *) (ptib2 + 1);
|
||||
uint32 *tls = posttib->tls;
|
||||
tls += slot;
|
||||
|
||||
//printf("We wanted to access thread %p TLS slot %d (currently holds %u)\n", tls - slot, slot, (uint) *tls);
|
||||
@@ -2151,6 +2154,9 @@ int main(int argc, char **argv, char **envp)
|
||||
if (getenv("TRACE_NATIVE"))
|
||||
GLoaderState->trace_native = 1;
|
||||
|
||||
if (getenv("TRACE_EVENTS"))
|
||||
GLoaderState->trace_events = 1;
|
||||
|
||||
unsigned int segment = 0;
|
||||
__asm__ __volatile__ ( "movw %%cs, %%ax \n\t" : "=a" (segment) );
|
||||
GLoaderState->original_cs = segment;
|
||||
|
||||
+9
-2
@@ -202,8 +202,14 @@ typedef struct LxPIB
|
||||
|
||||
#pragma pack(pop)
|
||||
|
||||
// We put the 128 bytes of TLS slots after the TIB structs.
|
||||
#define LXTIBSIZE (sizeof (LxTIB) + sizeof (LxTIB2) + 128)
|
||||
// We put the 128 bytes of TLS slots (etc) after the TIB structs.
|
||||
typedef struct LxPostTIB
|
||||
{
|
||||
uint32 tls[32];
|
||||
void *anchor_block;
|
||||
} LxPostTIB;
|
||||
|
||||
#define LXTIBSIZE (sizeof (LxTIB) + sizeof (LxTIB2) + sizeof (LxPostTIB))
|
||||
|
||||
typedef struct LxLoaderState
|
||||
{
|
||||
@@ -214,6 +220,7 @@ typedef struct LxLoaderState
|
||||
int subprocess;
|
||||
int running;
|
||||
int trace_native;
|
||||
int trace_events;
|
||||
uint16 original_cs;
|
||||
uint16 original_ds;
|
||||
uint16 original_es;
|
||||
|
||||
@@ -25,6 +25,12 @@ static LxLoaderState *GLoaderState = NULL;
|
||||
#define TRACE_NATIVE(...) do {} while (0)
|
||||
#endif
|
||||
|
||||
#if 1
|
||||
#define TRACE_EVENT(...) do { if (GLoaderState->trace_events) { fprintf(stderr, "2INE TRACE [%lu]: ", (unsigned long) pthread_self()); fprintf(stderr, __VA_ARGS__); fprintf(stderr, "\n"); } } while (0)
|
||||
#else
|
||||
#define TRACE_EVENT(...) do {} while (0)
|
||||
#endif
|
||||
|
||||
OS2EXPORT const LxExport * lxNativeModuleInit(LxLoaderState *lx_state, uint32 *lx_num_exports);
|
||||
void OS2EXPORT lxNativeModuleDeinit(void);
|
||||
|
||||
|
||||
@@ -57,6 +57,7 @@ typedef uint8_t BYTE, *PBYTE;
|
||||
// !!! FIXME: refactor and mutex a bunch of stuff...if it has to be a 32-bit
|
||||
// !!! FIXME: int, it needs to be an index into a resizable array, but at the
|
||||
// !!! FIXME: native word size, these handles can just be pointers cast to ints.
|
||||
// !!! FIXME: alternately: guarantee all handles are in the bottom 4 gigabytes?
|
||||
typedef uint16_t SHANDLE, *PSHANDLE;
|
||||
typedef uint32_t LHANDLE, *PLHANDLE;
|
||||
typedef LHANDLE HANDLE, *PHANDLE;
|
||||
@@ -71,11 +72,18 @@ typedef HANDLE PID, *PPID;
|
||||
typedef HANDLE TID, *PTID;
|
||||
typedef SHANDLE HVIO, *PHVIO;
|
||||
typedef SHANDLE HKBD, *PHKBD;
|
||||
|
||||
typedef PCHAR PSZ;
|
||||
typedef PCHAR PCH;
|
||||
|
||||
typedef int (APIENTRY *PFN)(void);
|
||||
|
||||
typedef ULONG ERRORID;
|
||||
|
||||
#define NULLHANDLE 0
|
||||
#define TRUE 1
|
||||
#define FALSE 0
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
+1
-6
@@ -2,17 +2,12 @@
|
||||
#define _INCL_PMGPI_H_
|
||||
|
||||
#include "os2types.h"
|
||||
#include "pmwin.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
int32_t x;
|
||||
int32_t y;
|
||||
} POINTL, *PPOINTL;
|
||||
|
||||
OS2EXPORT BOOL OS2API GpiQueryTextBox(HPS hps, LONG lCount1, PCH pchString, LONG lCount2, PPOINTL aptlPoints);
|
||||
|
||||
#ifdef __cplusplus
|
||||
|
||||
+1656
File diff suppressed because it is too large.
Load diff
+897
@@ -0,0 +1,897 @@
|
||||
#ifndef _INCL_PMWIN_H_
|
||||
#define _INCL_PMWIN_H_
|
||||
|
||||
#include "os2types.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef HANDLE HAB, *PHAB;
|
||||
typedef HANDLE HMQ, *PHMQ;
|
||||
typedef HANDLE HWND, *PHWND;
|
||||
|
||||
typedef PVOID MPARAM, *PMPARAM;
|
||||
typedef PVOID MRESULT, *PMRESULT;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LONG x;
|
||||
LONG y;
|
||||
} POINTL, *PPOINTL;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
LONG xLeft;
|
||||
LONG yBottom;
|
||||
LONG xRight;
|
||||
LONG yTop;
|
||||
} RECTL, *PRECTL;
|
||||
|
||||
typedef struct
|
||||
{
|
||||
HWND hwnd;
|
||||
ULONG msg;
|
||||
MPARAM mp1;
|
||||
MPARAM mp2;
|
||||
ULONG time;
|
||||
POINTL ptl;
|
||||
ULONG reserved;
|
||||
} QMSG, *PQMSG;
|
||||
|
||||
typedef MRESULT (OS2API FNWP)(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
typedef FNWP *PFNWP;
|
||||
|
||||
|
||||
enum {
|
||||
CS_MOVENOTIFY = 0x00000001,
|
||||
CS_SIZEREDRAW = 0x00000004,
|
||||
CS_HITTEST = 0x00000008,
|
||||
CS_PUBLIC = 0x00000010,
|
||||
CS_FRAME = 0x00000020,
|
||||
CS_SYNCPAINT = 0x02000000,
|
||||
CS_PARENTCLIP = 0x08000000,
|
||||
CS_SAVEBITS = 0x04000000,
|
||||
CS_CLIPSIBLINGS = 0x10000000,
|
||||
CS_CLIPCHILDREN = 0x20000000
|
||||
};
|
||||
|
||||
enum {
|
||||
WS_VISIBLE = 0x80000000,
|
||||
WS_DISABLED = 0x40000000,
|
||||
WS_CLIPCHILDREN = 0x20000000,
|
||||
WS_CLIPSIBLINGS = 0x10000000,
|
||||
WS_PARENTCLIP = 0x08000000,
|
||||
WS_SAVEBITS = 0x04000000,
|
||||
WS_SYNCPAINT = 0x02000000,
|
||||
WS_MINIMIZED = 0x01000000,
|
||||
WS_MAXIMIZED = 0x00800000,
|
||||
WS_ANIMATE = 0x00400000
|
||||
};
|
||||
|
||||
// magic HWND identifiers
|
||||
#define HWND_DESKTOP 1
|
||||
#define HWND_OBJECT 2
|
||||
#define HWND_TOP 3
|
||||
#define HWND_BOTTOM 4
|
||||
|
||||
// built-in window classes (not real strings, like user classes would be here).
|
||||
enum {
|
||||
WC_FRAME = 0xFFFF0001,
|
||||
WC_COMBOBOX = 0xFFFF0002,
|
||||
WC_BUTTON = 0xFFFF0003,
|
||||
WC_MENU = 0xFFFF0004,
|
||||
WC_STATIC = 0xFFFF0005,
|
||||
WC_ENTRYFIELD = 0xFFFF0006,
|
||||
WC_LISTBOX = 0xFFFF0007,
|
||||
WC_SCROLLBAR = 0xFFFF0008,
|
||||
WC_TITLEBAR = 0xFFFF0009,
|
||||
WC_MLE = 0xFFFF000A,
|
||||
WC_APPSTAT = 0xFFFF0010,
|
||||
WC_KBDSTAT = 0xFFFF0011,
|
||||
WC_PECIC = 0xFFFF0012,
|
||||
WC_DBE_KKPOPUP = 0xFFFF0013,
|
||||
WC_SPINBUTTON = 0xFFFF0020,
|
||||
WC_CONTAINER = 0xFFFF0025,
|
||||
WC_SLIDER = 0xFFFF0026,
|
||||
WC_VALUESET = 0xFFFF0027,
|
||||
WC_NOTEBOOK = 0xFFFF0028,
|
||||
WC_CIRCULARSLIDER = 0xFFFF0041
|
||||
};
|
||||
|
||||
// Window messages...
|
||||
|
||||
enum {
|
||||
WM_NULL = 0x0000,
|
||||
WM_CREATE = 0x0001,
|
||||
WM_DESTROY = 0x0002,
|
||||
WM_ENABLE = 0x0004,
|
||||
WM_SHOW = 0x0005,
|
||||
WM_MOVE = 0x0006,
|
||||
WM_SIZE = 0x0007,
|
||||
WM_ADJUSTWINDOWPOS = 0x0008,
|
||||
WM_CALCVALIDRECTS = 0x0009,
|
||||
WM_SETWINDOWPARAMS = 0x000a,
|
||||
WM_QUERYWINDOWPARAMS = 0x000b,
|
||||
WM_HITTEST = 0x000c,
|
||||
WM_ACTIVATE = 0x000d,
|
||||
WM_SETFOCUS = 0x000f,
|
||||
WM_SETSELECTION = 0x0010,
|
||||
WM_PPAINT = 0x0011,
|
||||
WM_PSETFOCUS = 0x0012,
|
||||
WM_PSYSCOLORCHANGE = 0x0013,
|
||||
WM_PSIZE = 0x0014,
|
||||
WM_PACTIVATE = 0x0015,
|
||||
WM_PCONTROL = 0x0016,
|
||||
WM_COMMAND = 0x0020,
|
||||
WM_SYSCOMMAND = 0x0021,
|
||||
WM_HELP = 0x0022,
|
||||
WM_PAINT = 0x0023,
|
||||
WM_TIMER = 0x0024,
|
||||
WM_SEM1 = 0x0025,
|
||||
WM_SEM2 = 0x0026,
|
||||
WM_SEM3 = 0x0027,
|
||||
WM_SEM4 = 0x0028,
|
||||
WM_CLOSE = 0x0029,
|
||||
WM_QUIT = 0x002a,
|
||||
WM_SYSCOLORCHANGE = 0x002b,
|
||||
WM_SYSVALUECHANGED = 0x002d,
|
||||
WM_APPTERMINATENOTIFY = 0x002e,
|
||||
WM_PRESPARAMCHANGED = 0x002f,
|
||||
WM_CONTROL = 0x0030,
|
||||
WM_VSCROLL = 0x0031,
|
||||
WM_HSCROLL = 0x0032,
|
||||
WM_INITMENU = 0x0033,
|
||||
WM_MENUSELECT = 0x0034,
|
||||
WM_MENUEND = 0x0035,
|
||||
WM_DRAWITEM = 0x0036,
|
||||
WM_MEASUREITEM = 0x0037,
|
||||
WM_CONTROLPOINTER = 0x0038,
|
||||
WM_QUERYDLGCODE = 0x003a,
|
||||
WM_INITDLG = 0x003b,
|
||||
WM_SUBSTITUTESTRING = 0x003c,
|
||||
WM_MATCHMNEMONIC = 0x003d,
|
||||
WM_SAVEAPPLICATION = 0x003e,
|
||||
WM_FLASHWINDOW = 0x0040,
|
||||
WM_FORMATFRAME = 0x0041,
|
||||
WM_UPDATEFRAME = 0x0042,
|
||||
WM_FOCUSCHANGE = 0x0043,
|
||||
WM_SETBORDERSIZE = 0x0044,
|
||||
WM_TRACKFRAME = 0x0045,
|
||||
WM_MINMAXFRAME = 0x0046,
|
||||
WM_SETICON = 0x0047,
|
||||
WM_QUERYICON = 0x0048,
|
||||
WM_SETACCELTABLE = 0x0049,
|
||||
WM_QUERYACCELTABLE = 0x004a,
|
||||
WM_TRANSLATEACCEL = 0x004b,
|
||||
WM_QUERYTRACKINFO = 0x004c,
|
||||
WM_QUERYBORDERSIZE = 0x004d,
|
||||
WM_NEXTMENU = 0x004e,
|
||||
WM_ERASEBACKGROUND = 0x004f,
|
||||
WM_QUERYFRAMEINFO = 0x0050,
|
||||
WM_QUERYFOCUSCHAIN = 0x0051,
|
||||
WM_OWNERPOSCHANGE = 0x0052,
|
||||
WM_CALCFRAMERECT = 0x0053,
|
||||
WM_WINDOWPOSCHANGED = 0x0055,
|
||||
WM_ADJUSTFRAMEPOS = 0x0056,
|
||||
WM_QUERYFRAMECTLCOUNT = 0x0059,
|
||||
WM_QUERYHELPINFO = 0x005B,
|
||||
WM_SETHELPINFO = 0x005C,
|
||||
WM_ERROR = 0x005D,
|
||||
WM_REALIZEPALETTE = 0x005E,
|
||||
WM_RENDERFMT = 0x0060,
|
||||
WM_RENDERALLFMTS = 0x0061,
|
||||
WM_DESTROYCLIPBOARD = 0x0062,
|
||||
WM_PAINTCLIPBOARD = 0x0063,
|
||||
WM_SIZECLIPBOARD = 0x0064,
|
||||
WM_HSCROLLCLIPBOARD = 0x0065,
|
||||
WM_VSCROLLCLIPBOARD = 0x0066,
|
||||
WM_DRAWCLIPBOARD = 0x0067,
|
||||
WM_MOUSEMOVE = 0x0070,
|
||||
WM_BUTTON1DOWN = 0x0071,
|
||||
WM_BUTTON1UP = 0x0072,
|
||||
WM_BUTTON1DBLCLK = 0x0073,
|
||||
WM_BUTTON2DOWN = 0x0074,
|
||||
WM_BUTTON2UP = 0x0075,
|
||||
WM_BUTTON2DBLCLK = 0x0076,
|
||||
WM_BUTTON3DOWN = 0x0077,
|
||||
WM_BUTTON3UP = 0x0078,
|
||||
WM_BUTTON3DBLCLK = 0x0079,
|
||||
WM_CHAR = 0x007a,
|
||||
WM_VIOCHAR = 0x007b,
|
||||
WM_JOURNALNOTIFY = 0x007c,
|
||||
WM_MOUSEMAP = 0x007D,
|
||||
WM_VRNDISABLED = 0x007e,
|
||||
WM_VRNENABLED = 0x007f,
|
||||
WM_DDE_INITIATE = 0x00A0,
|
||||
WM_DDE_REQUEST = 0x00A1,
|
||||
WM_DDE_ACK = 0x00A2,
|
||||
WM_DDE_DATA = 0x00A3,
|
||||
WM_DDE_ADVISE = 0x00A4,
|
||||
WM_DDE_UNADVISE = 0x00A5,
|
||||
WM_DDE_POKE = 0x00A6,
|
||||
WM_DDE_EXECUTE = 0x00A7,
|
||||
WM_DDE_TERMINATE = 0x00A8,
|
||||
WM_DDE_INITIATEACK = 0x00A9,
|
||||
WM_QUERYCONVERTPOS = 0x00b0,
|
||||
WM_MSGBOXINIT = 0x010E,
|
||||
WM_MSGBOXDISMISS = 0x010F,
|
||||
WM_CTLCOLORCHANGE = 0x0129,
|
||||
WM_QUERYCTLTYPE = 0x0130,
|
||||
WM_CHORD = 0x0410,
|
||||
WM_BUTTON1MOTIONSTART = 0x0411,
|
||||
WM_BUTTON1MOTIONEND = 0x0412,
|
||||
WM_BUTTON1CLICK = 0x0413,
|
||||
WM_BUTTON2MOTIONSTART = 0x0414,
|
||||
WM_BUTTON2MOTIONEND = 0x0415,
|
||||
WM_BUTTON2CLICK = 0x0416,
|
||||
WM_BUTTON3MOTIONSTART = 0x0417,
|
||||
WM_BUTTON3MOTIONEND = 0x0418,
|
||||
WM_BUTTON3CLICK = 0x0419,
|
||||
WM_BEGINDRAG = 0x0420,
|
||||
WM_ENDDRAG = 0x0421,
|
||||
WM_SINGLESELECT = 0x0422,
|
||||
WM_OPEN = 0x0423,
|
||||
WM_CONTEXTMENU = 0x0424,
|
||||
WM_CONTEXTHELP = 0x0425,
|
||||
WM_TEXTEDIT = 0x0426,
|
||||
WM_BEGINSELECT = 0x0427,
|
||||
WM_ENDSELECT = 0x0428,
|
||||
WM_PICKUP = 0x0429,
|
||||
WM_SEMANTICEVENT = 0x0490,
|
||||
WM_USER = 0x1000,
|
||||
};
|
||||
|
||||
// used by WM_ADJUSTWINDOWPOS, etc.
|
||||
enum {
|
||||
SWP_SIZE = 0x0001,
|
||||
SWP_MOVE = 0x0002,
|
||||
SWP_ZORDER = 0x0004,
|
||||
SWP_SHOW = 0x0008,
|
||||
SWP_HIDE = 0x0010,
|
||||
SWP_NOREDRAW = 0x0020,
|
||||
SWP_NOADJUST = 0x0040,
|
||||
SWP_ACTIVATE = 0x0080,
|
||||
SWP_DEACTIVATE = 0x0100,
|
||||
SWP_EXTSTATECHANGE = 0x0200,
|
||||
SWP_MINIMIZE = 0x0400,
|
||||
SWP_MAXIMIZE = 0x0800,
|
||||
SWP_RESTORE = 0x1000,
|
||||
SWP_FOCUSACTIVATE = 0x2000,
|
||||
SWP_FOCUSDEACTIVATE = 0x4000,
|
||||
SWP_NOAUTOCLOSE = 0x8000
|
||||
};
|
||||
|
||||
typedef struct
|
||||
{
|
||||
ULONG fl;
|
||||
LONG cy;
|
||||
LONG cx;
|
||||
LONG y;
|
||||
LONG x;
|
||||
HWND hwndInsertBehind;
|
||||
HWND hwnd;
|
||||
ULONG ulReserved1;
|
||||
ULONG ulReserved2;
|
||||
} SWP, *PSWP;
|
||||
|
||||
|
||||
// used by WM_HITTEST
|
||||
enum {
|
||||
HT_NORMAL = 0,
|
||||
HT_TRANSPARENT = -1,
|
||||
HT_DISCARD = -2,
|
||||
HT_ERROR = -3
|
||||
};
|
||||
|
||||
|
||||
// Built-in window class specific data...
|
||||
|
||||
// frame control IDs.
|
||||
enum {
|
||||
FID_SYSMENU = 0x8002,
|
||||
FID_TITLEBAR = 0x8003,
|
||||
FID_MINMAX = 0x8004,
|
||||
FID_MENU = 0x8005,
|
||||
FID_VERTSCROLL = 0x8006,
|
||||
FID_HORZSCROLL = 0x8007,
|
||||
FID_CLIENT = 0x8008,
|
||||
FID_DBE_APPSTAT = 0x8010,
|
||||
FID_DBE_KBDSTAT = 0x8011,
|
||||
FID_DBE_PECIC = 0x8012,
|
||||
FID_DBE_KKPOPUP = 0x8013
|
||||
};
|
||||
|
||||
// OS/2's SDK packs these to 2 because 16-bit and 32-bit code share the same structs. :/
|
||||
#pragma pack(push, 2)
|
||||
typedef struct
|
||||
{
|
||||
USHORT cb;
|
||||
ULONG flCreateFlags;
|
||||
USHORT hmodResources;
|
||||
USHORT idResources;
|
||||
} FRAMECDATA, *PFRAMECDATA;
|
||||
#pragma pack(pop)
|
||||
|
||||
|
||||
// Error codes...
|
||||
enum {
|
||||
PMERR_OK = 0x0000,
|
||||
PMERR_INVALID_HWND = 0x1001,
|
||||
PMERR_INVALID_HMQ = 0x1002,
|
||||
PMERR_PARAMETER_OUT_OF_RANGE = 0x1003,
|
||||
PMERR_WINDOW_LOCK_UNDERFLOW = 0x1004,
|
||||
PMERR_WINDOW_LOCK_OVERFLOW = 0x1005,
|
||||
PMERR_BAD_WINDOW_LOCK_COUNT = 0x1006,
|
||||
PMERR_WINDOW_NOT_LOCKED = 0x1007,
|
||||
PMERR_INVALID_SELECTOR = 0x1008,
|
||||
PMERR_CALL_FROM_WRONG_THREAD = 0x1009,
|
||||
PMERR_RESOURCE_NOT_FOUND = 0x100A,
|
||||
PMERR_INVALID_STRING_PARM = 0x100B,
|
||||
PMERR_INVALID_HHEAP = 0x100C,
|
||||
PMERR_INVALID_HEAP_POINTER = 0x100D,
|
||||
PMERR_INVALID_HEAP_SIZE_PARM = 0x100E,
|
||||
PMERR_INVALID_HEAP_SIZE = 0x100F,
|
||||
PMERR_INVALID_HEAP_SIZE_WORD = 0x1010,
|
||||
PMERR_HEAP_OUT_OF_MEMORY = 0x1011,
|
||||
PMERR_HEAP_MAX_SIZE_REACHED = 0x1012,
|
||||
PMERR_INVALID_HATOMTBL = 0x1013,
|
||||
PMERR_INVALID_ATOM = 0x1014,
|
||||
PMERR_INVALID_ATOM_NAME = 0x1015,
|
||||
PMERR_INVALID_INTEGER_ATOM = 0x1016,
|
||||
PMERR_ATOM_NAME_NOT_FOUND = 0x1017,
|
||||
PMERR_QUEUE_TOO_LARGE = 0x1018,
|
||||
PMERR_INVALID_FLAG = 0x1019,
|
||||
PMERR_INVALID_HACCEL = 0x101A,
|
||||
PMERR_INVALID_HPTR = 0x101B,
|
||||
PMERR_INVALID_HENUM = 0x101C,
|
||||
PMERR_INVALID_SRC_CODEPAGE = 0x101D,
|
||||
PMERR_INVALID_DST_CODEPAGE = 0x101E,
|
||||
PMERR_UNKNOWN_COMPONENT_ID = 0x101f,
|
||||
PMERR_UNKNOWN_ERROR_CODE = 0x1020,
|
||||
PMERR_SEVERITY_LEVELS = 0x1021,
|
||||
PMERR_INVALID_RESOURCE_FORMAT = 0x1034,
|
||||
PMERR_NO_MSG_QUEUE = 0x1036,
|
||||
PMERR_CANNOT_SET_FOCUS = 0x1037,
|
||||
PMERR_QUEUE_FULL = 0x1038,
|
||||
PMERR_LIBRARY_LOAD_FAILED = 0x1039,
|
||||
PMERR_PROCEDURE_LOAD_FAILED = 0x103A,
|
||||
PMERR_LIBRARY_DELETE_FAILED = 0x103B,
|
||||
PMERR_PROCEDURE_DELETE_FAILED = 0x103C,
|
||||
PMERR_ARRAY_TOO_LARGE = 0x103D,
|
||||
PMERR_ARRAY_TOO_SMALL = 0x103E,
|
||||
PMERR_DATATYPE_ENTRY_BAD_INDEX = 0x103F,
|
||||
PMERR_DATATYPE_ENTRY_CTL_BAD = 0x1040,
|
||||
PMERR_DATATYPE_ENTRY_CTL_MISS = 0x1041,
|
||||
PMERR_DATATYPE_ENTRY_INVALID = 0x1042,
|
||||
PMERR_DATATYPE_ENTRY_NOT_NUM = 0x1043,
|
||||
PMERR_DATATYPE_ENTRY_NOT_OFF = 0x1044,
|
||||
PMERR_DATATYPE_INVALID = 0x1045,
|
||||
PMERR_DATATYPE_NOT_UNIQUE = 0x1046,
|
||||
PMERR_DATATYPE_TOO_LONG = 0x1047,
|
||||
PMERR_DATATYPE_TOO_SMALL = 0x1048,
|
||||
PMERR_DIRECTION_INVALID = 0x1049,
|
||||
PMERR_INVALID_HAB = 0x104A,
|
||||
PMERR_INVALID_HSTRUCT = 0x104D,
|
||||
PMERR_LENGTH_TOO_SMALL = 0x104E,
|
||||
PMERR_MSGID_TOO_SMALL = 0x104F,
|
||||
PMERR_NO_HANDLE_ALLOC = 0x1050,
|
||||
PMERR_NOT_IN_A_PM_SESSION = 0x1051,
|
||||
PMERR_MSG_QUEUE_ALREADY_EXISTS = 0x1052,
|
||||
PMERR_SEND_MSG_TIMEOUT = 0x1053,
|
||||
PMERR_SEND_MSG_FAILED = 0x1054,
|
||||
PMERR_OLD_RESOURCE = 0x1055,
|
||||
PMERR_INVALID_PIB = 0x1101,
|
||||
PMERR_INSUFF_SPACE_TO_ADD = 0x1102,
|
||||
PMERR_INVALID_GROUP_HANDLE = 0x1103,
|
||||
PMERR_DUPLICATE_TITLE = 0x1104,
|
||||
PMERR_INVALID_TITLE = 0x1105,
|
||||
PMERR_HANDLE_NOT_IN_GROUP = 0x1107,
|
||||
PMERR_INVALID_TARGET_HANDLE = 0x1106,
|
||||
PMERR_INVALID_PATH_STATEMENT = 0x1108,
|
||||
PMERR_NO_PROGRAM_FOUND = 0x1109,
|
||||
PMERR_INVALID_BUFFER_SIZE = 0x110A,
|
||||
PMERR_BUFFER_TOO_SMALL = 0x110B,
|
||||
PMERR_PL_INITIALISATION_FAIL = 0x110C,
|
||||
PMERR_CANT_DESTROY_SYS_GROUP = 0x110D,
|
||||
PMERR_INVALID_TYPE_CHANGE = 0x110E,
|
||||
PMERR_INVALID_PROGRAM_HANDLE = 0x110F,
|
||||
PMERR_NOT_CURRENT_PL_VERSION = 0x1110,
|
||||
PMERR_INVALID_CIRCULAR_REF = 0x1111,
|
||||
PMERR_MEMORY_ALLOCATION_ERR = 0x1112,
|
||||
PMERR_MEMORY_DEALLOCATION_ERR = 0x1113,
|
||||
PMERR_TASK_HEADER_TOO_BIG = 0x1114,
|
||||
PMERR_INVALID_INI_FILE_HANDLE = 0x1115,
|
||||
PMERR_MEMORY_SHARE = 0x1116,
|
||||
PMERR_OPEN_QUEUE = 0x1117,
|
||||
PMERR_CREATE_QUEUE = 0x1118,
|
||||
PMERR_WRITE_QUEUE = 0x1119,
|
||||
PMERR_READ_QUEUE = 0x111A,
|
||||
PMERR_CALL_NOT_EXECUTED = 0x111B,
|
||||
PMERR_UNKNOWN_APIPKT = 0x111C,
|
||||
PMERR_INITHREAD_EXISTS = 0x111D,
|
||||
PMERR_CREATE_THREAD = 0x111E,
|
||||
PMERR_NO_HK_PROFILE_INSTALLED = 0x111F,
|
||||
PMERR_INVALID_DIRECTORY = 0x1120,
|
||||
PMERR_WILDCARD_IN_FILENAME = 0x1121,
|
||||
PMERR_FILENAME_BUFFER_FULL = 0x1122,
|
||||
PMERR_FILENAME_TOO_LONG = 0x1123,
|
||||
PMERR_INI_FILE_IS_SYS_OR_USER = 0x1124,
|
||||
PMERR_BROADCAST_PLMSG = 0x1125,
|
||||
PMERR_190_INIT_DONE = 0x1126,
|
||||
PMERR_HMOD_FOR_PMSHAPI = 0x1127,
|
||||
PMERR_SET_HK_PROFILE = 0x1128,
|
||||
PMERR_API_NOT_ALLOWED = 0x1129,
|
||||
PMERR_INI_STILL_OPEN = 0x112A,
|
||||
PMERR_PROGDETAILS_NOT_IN_INI = 0x112B,
|
||||
PMERR_PIBSTRUCT_NOT_IN_INI = 0x112C,
|
||||
PMERR_INVALID_DISKPROGDETAILS = 0x112D,
|
||||
PMERR_PROGDETAILS_READ_FAILURE = 0x112E,
|
||||
PMERR_PROGDETAILS_WRITE_FAILURE = 0x112F,
|
||||
PMERR_PROGDETAILS_QSIZE_FAILURE = 0x1130,
|
||||
PMERR_INVALID_PROGDETAILS = 0x1131,
|
||||
PMERR_SHEPROFILEHOOK_NOT_FOUND = 0x1132,
|
||||
PMERR_190PLCONVERTED = 0x1133,
|
||||
PMERR_FAILED_TO_CONVERT_INI_PL = 0x1134,
|
||||
PMERR_PMSHAPI_NOT_INITIALISED = 0x1135,
|
||||
PMERR_INVALID_SHELL_API_HOOK_ID = 0x1136,
|
||||
PMERR_DOS_ERROR = 0x1200,
|
||||
PMERR_NO_SPACE = 0x1201,
|
||||
PMERR_INVALID_SWITCH_HANDLE = 0x1202,
|
||||
PMERR_NO_HANDLE = 0x1203,
|
||||
PMERR_INVALID_PROCESS_ID = 0x1204,
|
||||
PMERR_NOT_SHELL = 0x1205,
|
||||
PMERR_INVALID_WINDOW = 0x1206,
|
||||
PMERR_INVALID_POST_MSG = 0x1207,
|
||||
PMERR_INVALID_PARAMETERS = 0x1208,
|
||||
PMERR_INVALID_PROGRAM_TYPE = 0x1209,
|
||||
PMERR_NOT_EXTENDED_FOCUS = 0x120A,
|
||||
PMERR_INVALID_SESSION_ID = 0x120B,
|
||||
PMERR_SMG_INVALID_ICON_FILE = 0x120C,
|
||||
PMERR_SMG_ICON_NOT_CREATED = 0x120D,
|
||||
PMERR_SHL_DEBUG = 0x120E,
|
||||
PMERR_OPENING_INI_FILE = 0x1301,
|
||||
PMERR_INI_FILE_CORRUPT = 0x1302,
|
||||
PMERR_INVALID_PARM = 0x1303,
|
||||
PMERR_NOT_IN_IDX = 0x1304,
|
||||
PMERR_NO_ENTRIES_IN_GROUP = 0x1305,
|
||||
PMERR_INI_WRITE_FAIL = 0x1306,
|
||||
PMERR_IDX_FULL = 0x1307,
|
||||
PMERR_INI_PROTECTED = 0x1308,
|
||||
PMERR_MEMORY_ALLOC = 0x1309,
|
||||
PMERR_INI_INIT_ALREADY_DONE = 0x130A,
|
||||
PMERR_INVALID_INTEGER = 0x130B,
|
||||
PMERR_INVALID_ASCIIZ = 0x130C,
|
||||
PMERR_CAN_NOT_CALL_SPOOLER = 0x130D,
|
||||
PMERR_VALIDATION_REJECTED = PMERR_CAN_NOT_CALL_SPOOLER,
|
||||
PMERR_WARNING_WINDOW_NOT_KILLED = 0x1401,
|
||||
PMERR_ERROR_INVALID_WINDOW = 0x1402,
|
||||
PMERR_ALREADY_INITIALIZED = 0x1403,
|
||||
PMERR_MSG_PROG_NO_MOU = 0x1405,
|
||||
PMERR_MSG_PROG_NON_RECOV = 0x1406,
|
||||
PMERR_WINCONV_INVALID_PATH = 0x1407,
|
||||
PMERR_PI_NOT_INITIALISED = 0x1408,
|
||||
PMERR_PL_NOT_INITIALISED = 0x1409,
|
||||
PMERR_NO_TASK_MANAGER = 0x140A,
|
||||
PMERR_SAVE_NOT_IN_PROGRESS = 0x140B,
|
||||
PMERR_NO_STACK_SPACE = 0x140C,
|
||||
PMERR_INVALID_COLR_FIELD = 0x140d,
|
||||
PMERR_INVALID_COLR_VALUE = 0x140e,
|
||||
PMERR_COLR_WRITE = 0x140f,
|
||||
PMERR_TARGET_FILE_EXISTS = 0x1501,
|
||||
PMERR_SOURCE_SAME_AS_TARGET = 0x1502,
|
||||
PMERR_SOURCE_FILE_NOT_FOUND = 0x1503,
|
||||
PMERR_INVALID_NEW_PATH = 0x1504,
|
||||
PMERR_TARGET_FILE_NOT_FOUND = 0x1505,
|
||||
PMERR_INVALID_DRIVE_NUMBER = 0x1506,
|
||||
PMERR_NAME_TOO_LONG = 0x1507,
|
||||
PMERR_NOT_ENOUGH_ROOM_ON_DISK = 0x1508,
|
||||
PMERR_NOT_ENOUGH_MEM = 0x1509,
|
||||
PMERR_LOG_DRV_DOES_NOT_EXIST = 0x150B,
|
||||
PMERR_INVALID_DRIVE = 0x150C,
|
||||
PMERR_ACCESS_DENIED = 0x150D,
|
||||
PMERR_NO_FIRST_SLASH = 0x150E,
|
||||
PMERR_READ_ONLY_FILE = 0x150F,
|
||||
PMERR_GROUP_PROTECTED = 0x151F,
|
||||
PMERR_INVALID_PROGRAM_CATEGORY = 0x152F,
|
||||
PMERR_INVALID_APPL = 0x1530,
|
||||
PMERR_CANNOT_START = 0x1531,
|
||||
PMERR_STARTED_IN_BACKGROUND = 0x1532,
|
||||
PMERR_INVALID_HAPP = 0x1533,
|
||||
PMERR_CANNOT_STOP = 0x1534,
|
||||
PMERR_INTERNAL_ERROR_1 = 0x1601,
|
||||
PMERR_INTERNAL_ERROR_2 = 0x1602,
|
||||
PMERR_INTERNAL_ERROR_3 = 0x1603,
|
||||
PMERR_INTERNAL_ERROR_4 = 0x1604,
|
||||
PMERR_INTERNAL_ERROR_5 = 0x1605,
|
||||
PMERR_INTERNAL_ERROR_6 = 0x1606,
|
||||
PMERR_INTERNAL_ERROR_7 = 0x1607,
|
||||
PMERR_INTERNAL_ERROR_8 = 0x1608,
|
||||
PMERR_INTERNAL_ERROR_9 = 0x1609,
|
||||
PMERR_INTERNAL_ERROR_10 = 0x160A,
|
||||
PMERR_INTERNAL_ERROR_11 = 0x160B,
|
||||
PMERR_INTERNAL_ERROR_12 = 0x160C,
|
||||
PMERR_INTERNAL_ERROR_13 = 0x160D,
|
||||
PMERR_INTERNAL_ERROR_14 = 0x160E,
|
||||
PMERR_INTERNAL_ERROR_15 = 0x160F,
|
||||
PMERR_INTERNAL_ERROR_16 = 0x1610,
|
||||
PMERR_INTERNAL_ERROR_17 = 0x1611,
|
||||
PMERR_INTERNAL_ERROR_18 = 0x1612,
|
||||
PMERR_INTERNAL_ERROR_19 = 0x1613,
|
||||
PMERR_INTERNAL_ERROR_20 = 0x1614,
|
||||
PMERR_INTERNAL_ERROR_21 = 0x1615,
|
||||
PMERR_INTERNAL_ERROR_22 = 0x1616,
|
||||
PMERR_INTERNAL_ERROR_23 = 0x1617,
|
||||
PMERR_INTERNAL_ERROR_24 = 0x1618,
|
||||
PMERR_INTERNAL_ERROR_25 = 0x1619,
|
||||
PMERR_INTERNAL_ERROR_26 = 0x161A,
|
||||
PMERR_INTERNAL_ERROR_27 = 0x161B,
|
||||
PMERR_INTERNAL_ERROR_28 = 0x161C,
|
||||
PMERR_INTERNAL_ERROR_29 = 0x161D,
|
||||
PMERR_INVALID_FREE_MESSAGE_ID = 0x1630,
|
||||
PMERR_FUNCTION_NOT_SUPPORTED = 0x1641,
|
||||
PMERR_INVALID_ARRAY_COUNT = 0x1642,
|
||||
PMERR_INVALID_LENGTH = 0x1643,
|
||||
PMERR_INVALID_BUNDLE_TYPE = 0x1644,
|
||||
PMERR_INVALID_PARAMETER = 0x1645,
|
||||
PMERR_INVALID_NUMBER_OF_PARMS = 0x1646,
|
||||
PMERR_GREATER_THAN_64K = 0x1647,
|
||||
PMERR_INVALID_PARAMETER_TYPE = 0x1648,
|
||||
PMERR_NEGATIVE_STRCOND_DIM = 0x1649,
|
||||
PMERR_INVALID_NUMBER_OF_TYPES = 0x164A,
|
||||
PMERR_INCORRECT_HSTRUCT = 0x164B,
|
||||
PMERR_INVALID_ARRAY_SIZE = 0x164C,
|
||||
PMERR_INVALID_CONTROL_DATATYPE = 0x164D,
|
||||
PMERR_INCOMPLETE_CONTROL_SEQU = 0x164E,
|
||||
PMERR_INVALID_DATATYPE = 0x164F,
|
||||
PMERR_INCORRECT_DATATYPE = 0x1650,
|
||||
PMERR_NOT_SELF_DESCRIBING_DTYP = 0x1651,
|
||||
PMERR_INVALID_CTRL_SEQ_INDEX = 0x1652,
|
||||
PMERR_INVALID_TYPE_FOR_LENGTH = 0x1653,
|
||||
PMERR_INVALID_TYPE_FOR_OFFSET = 0x1654,
|
||||
PMERR_INVALID_TYPE_FOR_MPARAM = 0x1655,
|
||||
PMERR_INVALID_MESSAGE_ID = 0x1656,
|
||||
PMERR_C_LENGTH_TOO_SMALL = 0x1657,
|
||||
PMERR_APPL_STRUCTURE_TOO_SMALL = 0x1658,
|
||||
PMERR_INVALID_ERRORINFO_HANDLE = 0x1659,
|
||||
PMERR_INVALID_CHARACTER_INDEX = 0x165A,
|
||||
PMERR_ALREADY_IN_AREA = 0x2001,
|
||||
PMERR_ALREADY_IN_ELEMENT = 0x2002,
|
||||
PMERR_ALREADY_IN_PATH = 0x2003,
|
||||
PMERR_ALREADY_IN_SEG = 0x2004,
|
||||
PMERR_AREA_INCOMPLETE = 0x2005,
|
||||
PMERR_BASE_ERROR = 0x2006,
|
||||
PMERR_BITBLT_LENGTH_EXCEEDED = 0x2007,
|
||||
PMERR_BITMAP_IN_USE = 0x2008,
|
||||
PMERR_BITMAP_IS_SELECTED = 0x2009,
|
||||
PMERR_BITMAP_NOT_FOUND = 0x200A,
|
||||
PMERR_BITMAP_NOT_SELECTED = 0x200B,
|
||||
PMERR_BOUNDS_OVERFLOW = 0x200C,
|
||||
PMERR_CALLED_SEG_IS_CHAINED = 0x200D,
|
||||
PMERR_CALLED_SEG_IS_CURRENT = 0x200E,
|
||||
PMERR_CALLED_SEG_NOT_FOUND = 0x200F,
|
||||
PMERR_CANNOT_DELETE_ALL_DATA = 0x2010,
|
||||
PMERR_CANNOT_REPLACE_ELEMENT_0 = 0x2011,
|
||||
PMERR_COL_TABLE_NOT_REALIZABLE = 0x2012,
|
||||
PMERR_COL_TABLE_NOT_REALIZED = 0x2013,
|
||||
PMERR_COORDINATE_OVERFLOW = 0x2014,
|
||||
PMERR_CORR_FORMAT_MISMATCH = 0x2015,
|
||||
PMERR_DATA_TOO_LONG = 0x2016,
|
||||
PMERR_DC_IS_ASSOCIATED = 0x2017,
|
||||
PMERR_DESC_STRING_TRUNCATED = 0x2018,
|
||||
PMERR_DEVICE_DRIVER_ERROR_1 = 0x2019,
|
||||
PMERR_DEVICE_DRIVER_ERROR_2 = 0x201A,
|
||||
PMERR_DEVICE_DRIVER_ERROR_3 = 0x201B,
|
||||
PMERR_DEVICE_DRIVER_ERROR_4 = 0x201C,
|
||||
PMERR_DEVICE_DRIVER_ERROR_5 = 0x201D,
|
||||
PMERR_DEVICE_DRIVER_ERROR_6 = 0x201E,
|
||||
PMERR_DEVICE_DRIVER_ERROR_7 = 0x201F,
|
||||
PMERR_DEVICE_DRIVER_ERROR_8 = 0x2020,
|
||||
PMERR_DEVICE_DRIVER_ERROR_9 = 0x2021,
|
||||
PMERR_DEVICE_DRIVER_ERROR_10 = 0x2022,
|
||||
PMERR_DEV_FUNC_NOT_INSTALLED = 0x2023,
|
||||
PMERR_DOSOPEN_FAILURE = 0x2024,
|
||||
PMERR_DOSREAD_FAILURE = 0x2025,
|
||||
PMERR_DRIVER_NOT_FOUND = 0x2026,
|
||||
PMERR_DUP_SEG = 0x2027,
|
||||
PMERR_DYNAMIC_SEG_SEQ_ERROR = 0x2028,
|
||||
PMERR_DYNAMIC_SEG_ZERO_INV = 0x2029,
|
||||
PMERR_ELEMENT_INCOMPLETE = 0x202A,
|
||||
PMERR_ESC_CODE_NOT_SUPPORTED = 0x202B,
|
||||
PMERR_EXCEEDS_MAX_SEG_LENGTH = 0x202C,
|
||||
PMERR_FONT_AND_MODE_MISMATCH = 0x202D,
|
||||
PMERR_FONT_FILE_NOT_LOADED = 0x202E,
|
||||
PMERR_FONT_NOT_LOADED = 0x202F,
|
||||
PMERR_FONT_TOO_BIG = 0x2030,
|
||||
PMERR_HARDWARE_INIT_FAILURE = 0x2031,
|
||||
PMERR_HBITMAP_BUSY = 0x2032,
|
||||
PMERR_HDC_BUSY = 0x2033,
|
||||
PMERR_HRGN_BUSY = 0x2034,
|
||||
PMERR_HUGE_FONTS_NOT_SUPPORTED = 0x2035,
|
||||
PMERR_ID_HAS_NO_BITMAP = 0x2036,
|
||||
PMERR_IMAGE_INCOMPLETE = 0x2037,
|
||||
PMERR_INCOMPAT_COLOR_FORMAT = 0x2038,
|
||||
PMERR_INCOMPAT_COLOR_OPTIONS = 0x2039,
|
||||
PMERR_INCOMPATIBLE_BITMAP = 0x203A,
|
||||
PMERR_INCOMPATIBLE_METAFILE = 0x203B,
|
||||
PMERR_INCORRECT_DC_TYPE = 0x203C,
|
||||
PMERR_INSUFFICIENT_DISK_SPACE = 0x203D,
|
||||
PMERR_INSUFFICIENT_MEMORY = 0x203E,
|
||||
PMERR_INV_ANGLE_PARM = 0x203F,
|
||||
PMERR_INV_ARC_CONTROL = 0x2040,
|
||||
PMERR_INV_AREA_CONTROL = 0x2041,
|
||||
PMERR_INV_ARC_POINTS = 0x2042,
|
||||
PMERR_INV_ATTR_MODE = 0x2043,
|
||||
PMERR_INV_BACKGROUND_COL_ATTR = 0x2044,
|
||||
PMERR_INV_BACKGROUND_MIX_ATTR = 0x2045,
|
||||
PMERR_INV_BITBLT_MIX = 0x2046,
|
||||
PMERR_INV_BITBLT_STYLE = 0x2047,
|
||||
PMERR_INV_BITMAP_DIMENSION = 0x2048,
|
||||
PMERR_INV_BOX_CONTROL = 0x2049,
|
||||
PMERR_INV_BOX_ROUNDING_PARM = 0x204A,
|
||||
PMERR_INV_CHAR_ANGLE_ATTR = 0x204B,
|
||||
PMERR_INV_CHAR_DIRECTION_ATTR = 0x204C,
|
||||
PMERR_INV_CHAR_MODE_ATTR = 0x204D,
|
||||
PMERR_INV_CHAR_POS_OPTIONS = 0x204E,
|
||||
PMERR_INV_CHAR_SET_ATTR = 0x204F,
|
||||
PMERR_INV_CHAR_SHEAR_ATTR = 0x2050,
|
||||
PMERR_INV_CLIP_PATH_OPTIONS = 0x2051,
|
||||
PMERR_INV_CODEPAGE = 0x2052,
|
||||
PMERR_INV_COLOR_ATTR = 0x2053,
|
||||
PMERR_INV_COLOR_DATA = 0x2054,
|
||||
PMERR_INV_COLOR_FORMAT = 0x2055,
|
||||
PMERR_INV_COLOR_INDEX = 0x2056,
|
||||
PMERR_INV_COLOR_OPTIONS = 0x2057,
|
||||
PMERR_INV_COLOR_START_INDEX = 0x2058,
|
||||
PMERR_INV_COORD_OFFSET = 0x2059,
|
||||
PMERR_INV_COORD_SPACE = 0x205A,
|
||||
PMERR_INV_COORDINATE = 0x205B,
|
||||
PMERR_INV_CORRELATE_DEPTH = 0x205C,
|
||||
PMERR_INV_CORRELATE_TYPE = 0x205D,
|
||||
PMERR_INV_CURSOR_BITMAP = 0x205E,
|
||||
PMERR_INV_DC_DATA = 0x205F,
|
||||
PMERR_INV_DC_TYPE = 0x2060,
|
||||
PMERR_INV_DEVICE_NAME = 0x2061,
|
||||
PMERR_INV_DEV_MODES_OPTIONS = 0x2062,
|
||||
PMERR_INV_DRAW_CONTROL = 0x2063,
|
||||
PMERR_INV_DRAW_VALUE = 0x2064,
|
||||
PMERR_INV_DRAWING_MODE = 0x2065,
|
||||
PMERR_INV_DRIVER_DATA = 0x2066,
|
||||
PMERR_INV_DRIVER_NAME = 0x2067,
|
||||
PMERR_INV_DRAW_BORDER_OPTION = 0x2068,
|
||||
PMERR_INV_EDIT_MODE = 0x2069,
|
||||
PMERR_INV_ELEMENT_OFFSET = 0x206A,
|
||||
PMERR_INV_ELEMENT_POINTER = 0x206B,
|
||||
PMERR_INV_END_PATH_OPTIONS = 0x206C,
|
||||
PMERR_INV_ESC_CODE = 0x206D,
|
||||
PMERR_INV_ESCAPE_DATA = 0x206E,
|
||||
PMERR_INV_EXTENDED_LCID = 0x206F,
|
||||
PMERR_INV_FILL_PATH_OPTIONS = 0x2070,
|
||||
PMERR_INV_FIRST_CHAR = 0x2071,
|
||||
PMERR_INV_FONT_ATTRS = 0x2072,
|
||||
PMERR_INV_FONT_FILE_DATA = 0x2073,
|
||||
PMERR_INV_FOR_THIS_DC_TYPE = 0x2074,
|
||||
PMERR_INV_FORMAT_CONTROL = 0x2075,
|
||||
PMERR_INV_FORMS_CODE = 0x2076,
|
||||
PMERR_INV_FONTDEF = 0x2077,
|
||||
PMERR_INV_GEOM_LINE_WIDTH_ATTR = 0x2078,
|
||||
PMERR_INV_GETDATA_CONTROL = 0x2079,
|
||||
PMERR_INV_GRAPHICS_FIELD = 0x207A,
|
||||
PMERR_INV_HBITMAP = 0x207B,
|
||||
PMERR_INV_HDC = 0x207C,
|
||||
PMERR_INV_HJOURNAL = 0x207D,
|
||||
PMERR_INV_HMF = 0x207E,
|
||||
PMERR_INV_HPS = 0x207F,
|
||||
PMERR_INV_HRGN = 0x2080,
|
||||
PMERR_INV_ID = 0x2081,
|
||||
PMERR_INV_IMAGE_DATA_LENGTH = 0x2082,
|
||||
PMERR_INV_IMAGE_DIMENSION = 0x2083,
|
||||
PMERR_INV_IMAGE_FORMAT = 0x2084,
|
||||
PMERR_INV_IN_AREA = 0x2085,
|
||||
PMERR_INV_IN_CALLED_SEG = 0x2086,
|
||||
PMERR_INV_IN_CURRENT_EDIT_MODE = 0x2087,
|
||||
PMERR_INV_IN_DRAW_MODE = 0x2088,
|
||||
PMERR_INV_IN_ELEMENT = 0x2089,
|
||||
PMERR_INV_IN_IMAGE = 0x208A,
|
||||
PMERR_INV_IN_PATH = 0x208B,
|
||||
PMERR_INV_IN_RETAIN_MODE = 0x208C,
|
||||
PMERR_INV_IN_SEG = 0x208D,
|
||||
PMERR_INV_IN_VECTOR_SYMBOL = 0x208E,
|
||||
PMERR_INV_INFO_TABLE = 0x208F,
|
||||
PMERR_INV_JOURNAL_OPTION = 0x2090,
|
||||
PMERR_INV_KERNING_FLAGS = 0x2091,
|
||||
PMERR_INV_LENGTH_OR_COUNT = 0x2092,
|
||||
PMERR_INV_LINE_END_ATTR = 0x2093,
|
||||
PMERR_INV_LINE_JOIN_ATTR = 0x2094,
|
||||
PMERR_INV_LINE_TYPE_ATTR = 0x2095,
|
||||
PMERR_INV_LINE_WIDTH_ATTR = 0x2096,
|
||||
PMERR_INV_LOGICAL_ADDRESS = 0x2097,
|
||||
PMERR_INV_MARKER_BOX_ATTR = 0x2098,
|
||||
PMERR_INV_MARKER_SET_ATTR = 0x2099,
|
||||
PMERR_INV_MARKER_SYMBOL_ATTR = 0x209A,
|
||||
PMERR_INV_MATRIX_ELEMENT = 0x209B,
|
||||
PMERR_INV_MAX_HITS = 0x209C,
|
||||
PMERR_INV_METAFILE = 0x209D,
|
||||
PMERR_INV_METAFILE_LENGTH = 0x209E,
|
||||
PMERR_INV_METAFILE_OFFSET = 0x209F,
|
||||
PMERR_INV_MICROPS_DRAW_CONTROL = 0x20A0,
|
||||
PMERR_INV_MICROPS_FUNCTION = 0x20A1,
|
||||
PMERR_INV_MICROPS_ORDER = 0x20A2,
|
||||
PMERR_INV_MIX_ATTR = 0x20A3,
|
||||
PMERR_INV_MODE_FOR_OPEN_DYN = 0x20A4,
|
||||
PMERR_INV_MODE_FOR_REOPEN_SEG = 0x20A5,
|
||||
PMERR_INV_MODIFY_PATH_MODE = 0x20A6,
|
||||
PMERR_INV_MULTIPLIER = 0x20A7,
|
||||
PMERR_INV_NESTED_FIGURES = 0x20A8,
|
||||
PMERR_INV_OR_INCOMPAT_OPTIONS = 0x20A9,
|
||||
PMERR_INV_ORDER_LENGTH = 0x20AA,
|
||||
PMERR_INV_ORDERING_PARM = 0x20AB,
|
||||
PMERR_INV_OUTSIDE_DRAW_MODE = 0x20AC,
|
||||
PMERR_INV_PAGE_VIEWPORT = 0x20AD,
|
||||
PMERR_INV_PATH_ID = 0x20AE,
|
||||
PMERR_INV_PATH_MODE = 0x20AF,
|
||||
PMERR_INV_PATTERN_ATTR = 0x20B0,
|
||||
PMERR_INV_PATTERN_REF_PT_ATTR = 0x20B1,
|
||||
PMERR_INV_PATTERN_SET_ATTR = 0x20B2,
|
||||
PMERR_INV_PATTERN_SET_FONT = 0x20B3,
|
||||
PMERR_INV_PICK_APERTURE_OPTION = 0x20B4,
|
||||
PMERR_INV_PICK_APERTURE_POSN = 0x20B5,
|
||||
PMERR_INV_PICK_APERTURE_SIZE = 0x20B6,
|
||||
PMERR_INV_PICK_NUMBER = 0x20B7,
|
||||
PMERR_INV_PLAY_METAFILE_OPTION = 0x20B8,
|
||||
PMERR_INV_PRIMITIVE_TYPE = 0x20B9,
|
||||
PMERR_INV_PS_SIZE = 0x20BA,
|
||||
PMERR_INV_PUTDATA_FORMAT = 0x20BB,
|
||||
PMERR_INV_QUERY_ELEMENT_NO = 0x20BC,
|
||||
PMERR_INV_RECT = 0x20BD,
|
||||
PMERR_INV_REGION_CONTROL = 0x20BE,
|
||||
PMERR_INV_REGION_MIX_MODE = 0x20BF,
|
||||
PMERR_INV_REPLACE_MODE_FUNC = 0x20C0,
|
||||
PMERR_INV_RESERVED_FIELD = 0x20C1,
|
||||
PMERR_INV_RESET_OPTIONS = 0x20C2,
|
||||
PMERR_INV_RGBCOLOR = 0x20C3,
|
||||
PMERR_INV_SCAN_START = 0x20C4,
|
||||
PMERR_INV_SEG_ATTR = 0x20C5,
|
||||
PMERR_INV_SEG_ATTR_VALUE = 0x20C6,
|
||||
PMERR_INV_SEG_CH_LENGTH = 0x20C7,
|
||||
PMERR_INV_SEG_NAME = 0x20C8,
|
||||
PMERR_INV_SEG_OFFSET = 0x20C9,
|
||||
PMERR_INV_SETID = 0x20CA,
|
||||
PMERR_INV_SETID_TYPE = 0x20CB,
|
||||
PMERR_INV_SET_VIEWPORT_OPTION = 0x20CC,
|
||||
PMERR_INV_SHARPNESS_PARM = 0x20CD,
|
||||
PMERR_INV_SOURCE_OFFSET = 0x20CE,
|
||||
PMERR_INV_STOP_DRAW_VALUE = 0x20CF,
|
||||
PMERR_INV_TRANSFORM_TYPE = 0x20D0,
|
||||
PMERR_INV_USAGE_PARM = 0x20D1,
|
||||
PMERR_INV_VIEWING_LIMITS = 0x20D2,
|
||||
PMERR_JFILE_BUSY = 0x20D3,
|
||||
PMERR_JNL_FUNC_DATA_TOO_LONG = 0x20D4,
|
||||
PMERR_KERNING_NOT_SUPPORTED = 0x20D5,
|
||||
PMERR_LABEL_NOT_FOUND = 0x20D6,
|
||||
PMERR_MATRIX_OVERFLOW = 0x20D7,
|
||||
PMERR_METAFILE_INTERNAL_ERROR = 0x20D8,
|
||||
PMERR_METAFILE_IN_USE = 0x20D9,
|
||||
PMERR_METAFILE_LIMIT_EXCEEDED = 0x20DA,
|
||||
PMERR_NAME_STACK_FULL = 0x20DB,
|
||||
PMERR_NOT_CREATED_BY_DEVOPENDC = 0x20DC,
|
||||
PMERR_NOT_IN_AREA = 0x20DD,
|
||||
PMERR_NOT_IN_DRAW_MODE = 0x20DE,
|
||||
PMERR_NOT_IN_ELEMENT = 0x20DF,
|
||||
PMERR_NOT_IN_IMAGE = 0x20E0,
|
||||
PMERR_NOT_IN_PATH = 0x20E1,
|
||||
PMERR_NOT_IN_RETAIN_MODE = 0x20E2,
|
||||
PMERR_NOT_IN_SEG = 0x20E3,
|
||||
PMERR_NO_BITMAP_SELECTED = 0x20E4,
|
||||
PMERR_NO_CURRENT_ELEMENT = 0x20E5,
|
||||
PMERR_NO_CURRENT_SEG = 0x20E6,
|
||||
PMERR_NO_METAFILE_RECORD_HANDLE = 0x20E7,
|
||||
PMERR_ORDER_TOO_BIG = 0x20E8,
|
||||
PMERR_OTHER_SET_ID_REFS = 0x20E9,
|
||||
PMERR_OVERRAN_SEG = 0x20EA,
|
||||
PMERR_OWN_SET_ID_REFS = 0x20EB,
|
||||
PMERR_PATH_INCOMPLETE = 0x20EC,
|
||||
PMERR_PATH_LIMIT_EXCEEDED = 0x20ED,
|
||||
PMERR_PATH_UNKNOWN = 0x20EE,
|
||||
PMERR_PEL_IS_CLIPPED = 0x20EF,
|
||||
PMERR_PEL_NOT_AVAILABLE = 0x20F0,
|
||||
PMERR_PRIMITIVE_STACK_EMPTY = 0x20F1,
|
||||
PMERR_PROLOG_ERROR = 0x20F2,
|
||||
PMERR_PROLOG_SEG_ATTR_NOT_SET = 0x20F3,
|
||||
PMERR_PS_BUSY = 0x20F4,
|
||||
PMERR_PS_IS_ASSOCIATED = 0x20F5,
|
||||
PMERR_RAM_JNL_FILE_TOO_SMALL = 0x20F6,
|
||||
PMERR_REALIZE_NOT_SUPPORTED = 0x20F7,
|
||||
PMERR_REGION_IS_CLIP_REGION = 0x20F8,
|
||||
PMERR_RESOURCE_DEPLETION = 0x20F9,
|
||||
PMERR_SEG_AND_REFSEG_ARE_SAME = 0x20FA,
|
||||
PMERR_SEG_CALL_RECURSIVE = 0x20FB,
|
||||
PMERR_SEG_CALL_STACK_EMPTY = 0x20FC,
|
||||
PMERR_SEG_CALL_STACK_FULL = 0x20FD,
|
||||
PMERR_SEG_IS_CURRENT = 0x20FE,
|
||||
PMERR_SEG_NOT_CHAINED = 0x20FF,
|
||||
PMERR_SEG_NOT_FOUND = 0x2100,
|
||||
PMERR_SEG_STORE_LIMIT_EXCEEDED = 0x2101,
|
||||
PMERR_SETID_IN_USE = 0x2102,
|
||||
PMERR_SETID_NOT_FOUND = 0x2103,
|
||||
PMERR_STARTDOC_NOT_ISSUED = 0x2104,
|
||||
PMERR_STOP_DRAW_OCCURRED = 0x2105,
|
||||
PMERR_TOO_MANY_METAFILES_IN_USE = 0x2106,
|
||||
PMERR_TRUNCATED_ORDER = 0x2107,
|
||||
PMERR_UNCHAINED_SEG_ZERO_INV = 0x2108,
|
||||
PMERR_UNSUPPORTED_ATTR = 0x2109,
|
||||
PMERR_UNSUPPORTED_ATTR_VALUE = 0x210A,
|
||||
PMERR_ENDDOC_NOT_ISSUED = 0x210B,
|
||||
PMERR_PS_NOT_ASSOCIATED = 0x210C,
|
||||
PMERR_INV_FLOOD_FILL_OPTIONS = 0x210D,
|
||||
PMERR_INV_FACENAME = 0x210E,
|
||||
PMERR_PALETTE_SELECTED = 0x210F,
|
||||
PMERR_NO_PALETTE_SELECTED = 0x2110,
|
||||
PMERR_INV_HPAL = 0x2111,
|
||||
PMERR_PALETTE_BUSY = 0x2112,
|
||||
PMERR_START_POINT_CLIPPED = 0x2113,
|
||||
PMERR_NO_FILL = 0x2114,
|
||||
PMERR_INV_FACENAMEDESC = 0x2115,
|
||||
PMERR_INV_BITMAP_DATA = 0x2116,
|
||||
PMERR_INV_CHAR_ALIGN_ATTR = 0x2117,
|
||||
PMERR_INV_HFONT = 0x2118,
|
||||
PMERR_HFONT_IS_SELECTED = 0x2119,
|
||||
PMERR_DRVR_NOT_SUPPORTED = 0x2120,
|
||||
PMERR_INV_INKPS_FUNCTION = 0x2121
|
||||
// !!! FIXME: there are more of these.
|
||||
};
|
||||
|
||||
enum {
|
||||
CLR_FALSE = -5,
|
||||
CLR_TRUE = -4,
|
||||
CLR_DEFAULT = -3,
|
||||
CLR_WHITE = -2,
|
||||
CLR_BLACK = -1,
|
||||
CLR_BACKGROUND = 0,
|
||||
CLR_BLUE = 1,
|
||||
CLR_RED = 2,
|
||||
CLR_PINK = 3,
|
||||
CLR_GREEN = 4,
|
||||
CLR_CYAN = 5,
|
||||
CLR_YELLOW = 6,
|
||||
CLR_NEUTRAL = 7,
|
||||
CLR_DARKGRAY = 8,
|
||||
CLR_DARKBLUE = 9,
|
||||
CLR_DARKRED = 10,
|
||||
CLR_DARKPINK = 11,
|
||||
CLR_DARKGREEN = 12,
|
||||
CLR_DARKCYAN = 13,
|
||||
CLR_BROWN = 14,
|
||||
CLR_PALEGRAY = 15
|
||||
};
|
||||
|
||||
|
||||
// API entry points...
|
||||
|
||||
OS2EXPORT HAB OS2API WinInitialize(ULONG flOptions);
|
||||
OS2EXPORT BOOL OS2API WinTerminate(HAB hab);
|
||||
OS2EXPORT ERRORID OS2API WinGetLastError(HAB hab);
|
||||
OS2EXPORT HMQ OS2API WinCreateMsgQueue(HAB hab, LONG cmsg);
|
||||
OS2EXPORT BOOL OS2API WinGetMsg(HAB hab, PQMSG pqmsg, HWND hwndFilter, ULONG msgFilterFirst, ULONG msgFilterLast);
|
||||
OS2EXPORT MRESULT OS2API WinDispatchMsg(HAB hab, PQMSG pqmsg);
|
||||
OS2EXPORT BOOL OS2API WinDestroyMsgQueue(HMQ hmq);
|
||||
OS2EXPORT HWND OS2API WinCreateStdWindow(HWND hwndParent, ULONG flStyle, PULONG pflCreateFlags, PSZ pszClientClass, PSZ pszTitle, ULONG styleClient, HMODULE hmod, ULONG idResources, PHWND phwndClient);
|
||||
OS2EXPORT HWND OS2API WinCreateWindow(HWND hwndParent, PSZ pszClass, PSZ pszName, ULONG flStyle, LONG x, LONG y, LONG cx, LONG cy, HWND hwndOwner, HWND hwndInsertBehind, ULONG id, PVOID pCtlData, PVOID pPresParams);
|
||||
OS2EXPORT BOOL OS2API WinDestroyWindow(HWND hwnd);
|
||||
OS2EXPORT BOOL OS2API WinRegisterClass(HAB hab, PSZ pszClassName, PFNWP pfnWndProc, ULONG flStyle, ULONG cbWindowData);
|
||||
OS2EXPORT MRESULT OS2API WinDefWindowProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
OS2EXPORT MRESULT OS2API WinSendMsg(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
OS2EXPORT BOOL OS2API WinPostMsg(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
OS2EXPORT BOOL OS2API WinPostQueueMsg(HMQ hmq, ULONG msg, MPARAM mp1, MPARAM mp2);
|
||||
OS2EXPORT HPS OS2API WinBeginPaint(HWND hwnd, HPS hps, PRECTL prclPaint);
|
||||
OS2EXPORT BOOL OS2API WinEndPaint(HPS hps);
|
||||
OS2EXPORT BOOL OS2API WinFillRect(HPS hps, PRECTL prcl, LONG lColor);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
||||
// end of pmwin.h ...
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#include "os2native16.h"
|
||||
#include "viocalls.h"
|
||||
|
||||
// os2types.h defines these, but so does curses.
|
||||
#undef TRUE
|
||||
#undef FALSE
|
||||
|
||||
#include <unistd.h>
|
||||
#include <ctype.h>
|
||||
|
||||
|
||||
@@ -0,0 +1,46 @@
|
||||
#define INCL_WININPUT 1
|
||||
#include <os2.h>
|
||||
|
||||
static MRESULT APIENTRY winproc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
|
||||
{
|
||||
switch (msg) {
|
||||
case WM_PAINT: {
|
||||
RECTL rect;
|
||||
HPS hps = WinBeginPaint(hwnd, NULLHANDLE, &rect);
|
||||
WinFillRect(hps, &rect, CLR_WHITE);
|
||||
WinEndPaint(hps);
|
||||
return 0;
|
||||
}
|
||||
|
||||
case WM_BUTTON1CLICK: { // kill the app when the window is clicked on.
|
||||
WinPostMsg(hwnd, WM_QUIT, 0, 0);
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
return WinDefWindowProc(hwnd, msg, mp1, mp2);
|
||||
} // winproc
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
HAB hab = WinInitialize(0);
|
||||
HMQ hmq = WinCreateMsgQueue(hab, 0);
|
||||
QMSG qmsg;
|
||||
HWND hwnd;
|
||||
|
||||
WinRegisterClass(hab, "testpm", winproc, 0, 0);
|
||||
hwnd = WinCreateWindow(HWND_DESKTOP, "testpm", "testpm", WS_VISIBLE, 100, 100, 100, 100, 0, HWND_TOP, 0, NULL, NULL);
|
||||
|
||||
while (WinGetMsg(hab, &qmsg, NULLHANDLE, 0, 0)) {
|
||||
WinDispatchMsg(hab, &qmsg);
|
||||
}
|
||||
|
||||
WinDestroyWindow(hwnd);
|
||||
WinDestroyMsgQueue(hmq);
|
||||
WinTerminate(hab);
|
||||
|
||||
return 0;
|
||||
} // main
|
||||
|
||||
// end of testpm.c ...
|
||||
|
||||
Executable
BIN
Binary file not shown.
Reference in new issue
Block a user