Files
2ine-tms34010/native/pmwin.h
T
Ryan C. Gordon 6821de5ed7 Automate handling of support code for OS/2 binaries.
Now a perl script parses our headers and generates glue code, export tables,
etc. This automates all the macro nonsense and bridge code, and separates
out all the stuff you need for binary compat with OS/2, so you can remove it
all from the build if you want to just build native libraries that supply
the OS/2 API to native apps (like Winelib vs Wine).

This makes upkeep details less nasty, and easier to build native binaries
when implementing and improving APIs, so you can debug directly without
a lot of drama.
2018-02-27 03:25:21 -05:00

906 lines
29 KiB
C

/**
* 2ine; an OS/2 emulator for Linux.
*
* Please see the file LICENSE.txt in the source's root directory.
*
* This file written by Ryan C. Gordon.
*/
#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) OS2APIINFO(763);
OS2EXPORT BOOL OS2API WinTerminate(HAB hab) OS2APIINFO(888);
OS2EXPORT ERRORID OS2API WinGetLastError(HAB hab) OS2APIINFO(753);
OS2EXPORT HMQ OS2API WinCreateMsgQueue(HAB hab, LONG cmsg) OS2APIINFO(716);
OS2EXPORT BOOL OS2API WinGetMsg(HAB hab, PQMSG pqmsg, HWND hwndFilter, ULONG msgFilterFirst, ULONG msgFilterLast) OS2APIINFO(915);
OS2EXPORT MRESULT OS2API WinDispatchMsg(HAB hab, PQMSG pqmsg) OS2APIINFO(912);
OS2EXPORT BOOL OS2API WinDestroyMsgQueue(HMQ hmq) OS2APIINFO(726);
OS2EXPORT HWND OS2API WinCreateStdWindow(HWND hwndParent, ULONG flStyle, PULONG pflCreateFlags, PSZ pszClientClass, PSZ pszTitle, ULONG styleClient, HMODULE hmod, ULONG idResources, PHWND phwndClient) OS2APIINFO(908);
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) OS2APIINFO(909);
OS2EXPORT BOOL OS2API WinDestroyWindow(HWND hwnd) OS2APIINFO(728);
OS2EXPORT BOOL OS2API WinRegisterClass(HAB hab, PSZ pszClassName, PFNWP pfnWndProc, ULONG flStyle, ULONG cbWindowData) OS2APIINFO(926);
OS2EXPORT MRESULT OS2API WinDefWindowProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) OS2APIINFO(911);
OS2EXPORT MRESULT OS2API WinSendMsg(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) OS2APIINFO(920);
OS2EXPORT BOOL OS2API WinPostMsg(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2) OS2APIINFO(919);
OS2EXPORT BOOL OS2API WinPostQueueMsg(HMQ hmq, ULONG msg, MPARAM mp1, MPARAM mp2) OS2APIINFO(902);
OS2EXPORT HPS OS2API WinBeginPaint(HWND hwnd, HPS hps, PRECTL prclPaint) OS2APIINFO(703);
OS2EXPORT BOOL OS2API WinEndPaint(HPS hps) OS2APIINFO(738);
OS2EXPORT BOOL OS2API WinFillRect(HPS hps, PRECTL prcl, LONG lColor) OS2APIINFO(743);
#ifdef __cplusplus
}
#endif
#endif
// end of pmwin.h ...