Release 970120
Sun Jan 19 11:46:48 1997 Alexandre Julliard <julliard@lrc.epfl.ch>
* [loader/module.c]
Fixed LoadModule() to always call the DLL initialization code.
* [windows/event.c]
Moved all the keyboard stuff to windows/keyboard.c
* [tools/build.c]
Fixed Win32 register functions.
Sat Jan 18 22:24:41 1997 David Makepeace <D.Makepeace@mailbox.uq.oz.au>
* [tools/makedep.c]
Fixed bug which causes SEGV on Solaris x86.
Fri Jan 17 18:32:27 1997 Frans van Dorsselaer <dorssel@rulhmpc49.LeidenUniv.nl>
* [controls/edit.c]
Implemented WM_UNDO, WM_CONTEXTMENU (temporary using WM_RBUTTONUP),
WM_COMMAND, WM_INITPOPUPMENU, WM_SYSKEYDOWN.
Fixed EM_SETSEL and some minor bugs (features).
Hence: fully functional undo and a win95 menu with the right mouse
button.
* [include/resources.h] [resources/TODO] [resources/sysres_??.rc]
Added a context menu for the edit control.
Translations, please ...
Fri Jan 17 08:29:52 1997 David Faure <david.faure@ifhamy.insa-lyon.fr>
* [windows/event.c]
Move EVENT_ToAscii to windows/keyboard.c (where name ToAscii)
Fixed Keypad keys 0-9 and . in EVENT_event_to_vkey.
Added 3-state handling of toggle keys (CapsLock, NumLock) in order
to make them work with any X server.
Toggle keys now generate WM_KEYDOWN and WM_KEYUP on each pressing.
* [include/keyboard.h]
Totally replaced the file (formerly containing the vkcase definitions)
by the declaration of 'extern' variables contained by event.c and used
by keyboard.c
* [windows/keyboard.c]
Started to rewrite VkKeyScan and MapVirtualKey, to make them use the
table keyc2vkey or X functions only.
ToAscii : added keypad 0-9 and . special case.
Changed toggle keys active mask from 0x80 to 0x1.
* [misc/keyboard.c]
File deleted. Contents moved to windows/keyboard.c.
* [misc/main.c]
Added putenv XKB_DISABLE to disable XKB extension (which, when
present, causes AltGr to change keyboard group instead of being a
modifier).
Tue Jan 14 22:56:43 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [windows/event.c]
Do not assume NumLockMask is Mod2Mask, but compute it by scanning
output of XGetModifierMapping for XK_Num_Lock.
Tue Jan 14 15:49:49 1997 Marcus Meissner <msmeissn@cip.informatik.uni-erlangen.de>
* [loader/pe_*.c] [include/peexe.h] [include/resource32.h]
[debugger/*.c]
General clean up.
Changed defines/structures to match Windows NT SDK.
* [loader/main.c]
Don't crash on empty command-line.
* [windows/winpos.c]
winpos.c made win32 clean.
* [misc/ntdll.c]
Some string conversion additions.
* [files/file.c]
GetFileAttributes/GetTempFileName fixed.
* [misc/ver.c]
VerInstallFile implemented.
Mon Jan 13 15:03:11 1997 Philippe De Muyter <phdm@info.ucl.ac.be>
* [tools/build.c]: Use PREFIX also in stabs messages.
Mon Jan 13 10:40:33 1997 John Harvey <john@division.co.uk>
* [graphics/win16drv/*] [include/win16drv.h]
Many fixes and some new features.
* [graphics/x11drv/font.c] [graphics/x11drv/init.c]
[include/x11drv.h] [objects/font.c]
GetTextMetrics() moved to graphics driver.
* [if1632/gdi.spec] [misc/fontengine.c] [misc/Makefile.in]
New dummy EngineEnumerateFont, EngineRealizeFont functions.
* [include/windows.h]
TEXTFORM16 and FONTINFO16 structure definitions moved here from
include/win16drv.h
diff --git a/include/debugger.h b/include/debugger.h
index 13779d0..91f5121 100644
--- a/include/debugger.h
+++ b/include/debugger.h
@@ -167,9 +167,9 @@
struct expr * DEBUG_StructExpr(struct expr *, const char * element);
struct expr * DEBUG_ArrayExpr(struct expr *, struct expr * index);
struct expr * DEBUG_CallExpr(const char *, int nargs, ...);
+struct expr * DEBUG_TypeCastExpr(struct datatype *, struct expr *);
extern int DEBUG_ExprValue(DBG_ADDR *, unsigned int *);
DBG_ADDR DEBUG_EvalExpr(struct expr *);
-extern int DEBUG_AddDisplay(struct expr * exp);
extern int DEBUG_DelDisplay(int displaynum);
extern struct expr * DEBUG_CloneExpr(struct expr * exp);
extern int DEBUG_FreeExpr(struct expr * exp);
@@ -180,7 +180,7 @@
/* debugger/display.c */
extern int DEBUG_DoDisplay(void);
-extern int DEBUG_AddDisplay(struct expr * exp);
+extern int DEBUG_AddDisplay(struct expr * exp, int count, char format);
extern int DEBUG_DoDisplay(void);
extern int DEBUG_DelDisplay(int displaynum);
extern int DEBUG_InfoDisplay(void);
@@ -273,6 +273,7 @@
extern void DEBUG_InitCVDataTypes(void);
/* debugger/types.c */
+extern int DEBUG_nchar;
extern void DEBUG_InitTypes(void);
extern struct datatype * DEBUG_NewDataType(enum debug_type xtype,
const char * typename);
@@ -296,7 +297,9 @@
extern int DEBUG_SetBitfieldParams(struct datatype * dt, int offset,
int nbits, struct datatype * dt2);
extern int DEBUG_CopyFieldlist(struct datatype * dt, struct datatype * dt2);
-
+extern enum debug_type DEBUG_GetType(struct datatype * dt);
+extern struct datatype * DEBUG_TypeCast(enum debug_type, const char *);
+extern int DEBUG_PrintTypeCast(struct datatype *);
/* debugger/source.c */
extern void DEBUG_ShowDir(void);
diff --git a/include/keyboard.h b/include/keyboard.h
index 95f681c..9465e3c 100644
--- a/include/keyboard.h
+++ b/include/keyboard.h
@@ -1,32 +1,19 @@
/*
- * Keyboard definitions
+ * Keyboard header file
+ * Copyright 1997 David Faure
*
*/
#ifndef __WINE_KEYBOARD_H
#define __WINE_KEYBOARD_H
-#define WINE_VKEY_MAPPINGS\
- vkcase('!', '1')\
- vkcase('@', '2')\
- vkcase('#', '3')\
- vkcase('$', '4')\
- vkcase('%', '5')\
- vkcase('^', '6')\
- vkcase('&', '7')\
- vkcase('*', '8')\
- vkcase('(', '9')\
- vkcase(')', '0')\
- vkcase2('`', '~', 0xc0)\
- vkcase2('-', '_', 0xbd)\
- vkcase2('=', '+', 0xbb)\
- vkcase2('[', '{', 0xdb)\
- vkcase2(']', '}', 0xdd)\
- vkcase2(';', ':', 0xba)\
- vkcase2('\'', '"', 0xde)\
- vkcase2(',', '<', 0xbc)\
- vkcase2('.', '>', 0xbe)\
- vkcase2('/', '?', 0xbf)\
- vkcase2('\\', '|', 0xdc)
+extern BOOL32 MouseButtonsStates[3];
+extern BOOL32 AsyncMouseButtonsStates[3];
+extern BYTE InputKeyStateTable[256];
+extern BYTE QueueKeyStateTable[256];
+extern BYTE AsyncKeyStateTable[256];
+
+extern BOOL32 KEYBOARD_Init(void);
+extern void KEYBOARD_HandleEvent( XKeyEvent *event );
#endif /* __WINE_KEYBOARD_H */
diff --git a/include/module.h b/include/module.h
index 3b52039..953cdfb 100644
--- a/include/module.h
+++ b/include/module.h
@@ -120,6 +120,7 @@
extern HMODULE16 MODULE_FindModule( LPCSTR path );
extern HINSTANCE16 MODULE_GetInstance( HMODULE16 hModule );
extern HMODULE16 MODULE_CreateDummyModule( const OFSTRUCT *ofs );
+extern HINSTANCE16 MODULE_Load( LPCSTR name, LPVOID paramBlock, BOOL32 first );
extern WORD MODULE_GetOrdinal( HMODULE16 hModule, const char *name );
extern FARPROC16 MODULE_GetEntryPoint( HMODULE16 hModule, WORD ordinal );
extern BOOL16 MODULE_SetEntryPoint( HMODULE16 hModule, WORD ordinal,
diff --git a/include/pe_image.h b/include/pe_image.h
index 1336fff..1130ba8 100644
--- a/include/pe_image.h
+++ b/include/pe_image.h
@@ -3,14 +3,16 @@
#include <sys/types.h>
#include "windows.h"
+#include "winnt.h"
+#include "peexe.h"
struct pe_data {
- struct pe_header_s *pe_header;
- struct pe_segment_table *pe_seg;
- struct PE_Import_Directory *pe_import;
- struct PE_Export_Directory *pe_export;
- struct PE_Resource_Directory *pe_resource;
- struct PE_Reloc_Block *pe_reloc;
+ LPIMAGE_NT_HEADERS pe_header;
+ LPIMAGE_SECTION_HEADER pe_seg;
+ LPIMAGE_IMPORT_DESCRIPTOR pe_import;
+ LPIMAGE_EXPORT_DIRECTORY pe_export;
+ LPIMAGE_RESOURCE_DIRECTORY pe_resource;
+ LPIMAGE_BASE_RELOCATION pe_reloc;
int base_addr;
int load_addr;
int vma_size;
diff --git a/include/peexe.h b/include/peexe.h
index ca46e97..c75450c 100644
--- a/include/peexe.h
+++ b/include/peexe.h
@@ -5,18 +5,17 @@
#define __WINE_PEEXE_H
+typedef struct _IMAGE_FILE_HEADER {
+ WORD Machine;
+ WORD NumberOfSections;
+ DWORD TimeDateStamp;
+ DWORD PointerToSymbolTable;
+ DWORD NumberOfSymbols;
+ WORD SizeOfOptionalHeader;
+ WORD Characteristics;
+} IMAGE_FILE_HEADER,*LPIMAGE_FILE_HEADER;
-struct coff_header
-{
- u_short Machine;
- u_short NumberOfSections;
- u_long TimeDateStamp;
- u_long PointerToSymbolTable;
- u_long NumberOfSymbols;
- u_short SizeOfOptionalHeader;
- u_short Characteristics;
-};
-
+#define IMAGE_SIZEOF_FILE_HEADER 20
/* These defines describe the meanings of the bits in the Characteristics
field */
@@ -34,194 +33,343 @@
#define IMAGE_FILE_BYTES_REVERSED_HI 0x8000
/* These are the settings of the Machine field. */
-#define IMAGE_FILE_MACHINE_UNKNOWN 0
-#define IMAGE_FILE_MACHINE_I860 0x14d
-#define IMAGE_FILE_MACHINE_I386 0x14c
-#define IMAGE_FILE_MACHINE_R3000 0x162
-#define IMAGE_FILE_MACHINE_R4000 0x166
-#define IMAGE_FILE_MACHINE_ALPHA 0x184
+#define IMAGE_FILE_MACHINE_UNKNOWN 0
+#define IMAGE_FILE_MACHINE_I860 0x14d
+#define IMAGE_FILE_MACHINE_I386 0x14c
+#define IMAGE_FILE_MACHINE_R3000 0x162
+#define IMAGE_FILE_MACHINE_R4000 0x166
+#define IMAGE_FILE_MACHINE_R10000 0x168
+#define IMAGE_FILE_MACHINE_ALPHA 0x184
+#define IMAGE_FILE_MACHINE_POWERPC 0x1F0
-struct Directory
+typedef struct _IMAGE_DATA_DIRECTORY
{
- u_long Virtual_address;
- u_long Size;
-};
+ DWORD VirtualAddress;
+ DWORD Size;
+} IMAGE_DATA_DIRECTORY,*LPIMAGE_DATA_DIRECTORY;
+#define IMAGE_NUMBEROF_DIRECTORY_ENTRIES 16
/* Optional coff header - used by NT to provide additional information. */
-
-struct ocoffhdr
+typedef struct _IMAGE_OPTIONAL_HEADER
{
- u_short Magic; /* Good old COFF magic 0413 */
- u_char MajorLinkerVersion;
- u_char MinorLinkerVersion;
- u_long SizeOfCode;
- u_long SizeOfInitializedData;
- u_long SizeOfUninitializedData;
- u_long AddressOfEntryPoint;
- u_long BaseOfCode;
- u_long BaseOfData;
- u_long BaseOfImage;
- u_long SectionAlignment;
- u_long FileAlignment;
- u_short MajorOperatingSystemVersion;
- u_short MinorOperatingSystemVersion;
- u_short MajorImageVersion;
- u_short MinorImageVersion;
- u_short MajorSubsystemVersion;
- u_short MinorSubsystemVersion;
- u_long Unknown1;
- u_long SizeOfImage;
- u_long SizeOfHeaders;
- u_long CheckSum;
- u_short Subsystem;
- u_short DllCharacteristics;
- u_long SizeOfStackReserve;
- u_long SizeOfStackCommit;
- u_long SizeOfHeapReserve;
- u_long SizeOfHeapCommit;
- u_long LoaderFlags;
- u_long NumberOfRvaAndSizes;
- struct Directory DataDirectory[16];
-};
+ /*
+ * Standard fields.
+ */
+
+ WORD Magic;
+ BYTE MajorLinkerVersion;
+ BYTE MinorLinkerVersion;
+ DWORD SizeOfCode;
+ DWORD SizeOfInitializedData;
+ DWORD SizeOfUninitializedData;
+ DWORD AddressOfEntryPoint;
+ DWORD BaseOfCode;
+ DWORD BaseOfData;
+
+ /*
+ * NT additional fields.
+ */
+
+ DWORD ImageBase;
+ DWORD SectionAlignment;
+ DWORD FileAlignment;
+ WORD MajorOperatingSystemVersion;
+ WORD MinorOperatingSystemVersion;
+ WORD MajorImageVersion;
+ WORD MinorImageVersion;
+ WORD MajorSubsystemVersion;
+ WORD MinorSubsystemVersion;
+ DWORD Reserved1;
+ DWORD SizeOfImage;
+ DWORD SizeOfHeaders;
+ DWORD CheckSum;
+ WORD Subsystem;
+ WORD DllCharacteristics;
+ DWORD SizeOfStackReserve;
+ DWORD SizeOfStackCommit;
+ DWORD SizeOfHeapReserve;
+ DWORD SizeOfHeapCommit;
+ DWORD LoaderFlags;
+ DWORD NumberOfRvaAndSizes;
+ IMAGE_DATA_DIRECTORY DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
+} IMAGE_OPTIONAL_HEADER,*LPIMAGE_OPTIONAL_HEADER;
/* These are indexes into the DataDirectory array */
-#define IMAGE_FILE_EXPORT_DIRECTORY 0
-#define IMAGE_FILE_IMPORT_DIRECTORY 1
-#define IMAGE_FILE_RESOURCE_DIRECTORY 2
-#define IMAGE_FILE_EXCEPTION_DIRECTORY 3
-#define IMAGE_FILE_SECURITY_DIRECTORY 4
-#define IMAGE_FILE_BASE_RELOCATION_TABLE 5
-#define IMAGE_FILE_DEBUG_DIRECTORY 6
-#define IMAGE_FILE_DESCRIPTION_STRING 7
-#define IMAGE_FILE_MACHINE_VALUE 8 /* Mips */
-#define IMAGE_FILE_THREAD_LOCAL_STORAGE 9
-#define IMAGE_FILE_CALLBACK_DIRECTORY 10
+#define IMAGE_FILE_EXPORT_DIRECTORY 0
+#define IMAGE_FILE_IMPORT_DIRECTORY 1
+#define IMAGE_FILE_RESOURCE_DIRECTORY 2
+#define IMAGE_FILE_EXCEPTION_DIRECTORY 3
+#define IMAGE_FILE_SECURITY_DIRECTORY 4
+#define IMAGE_FILE_BASE_RELOCATION_TABLE 5
+#define IMAGE_FILE_DEBUG_DIRECTORY 6
+#define IMAGE_FILE_DESCRIPTION_STRING 7
+#define IMAGE_FILE_MACHINE_VALUE 8 /* Mips */
+#define IMAGE_FILE_THREAD_LOCAL_STORAGE 9
+#define IMAGE_FILE_CALLBACK_DIRECTORY 10
-struct pe_header_s
-{
- char magic[4]; /* Must be 'P', 'E', 0, 0 */
- struct coff_header coff;
- struct ocoffhdr opt_coff;
-};
+/* Directory Entries, indices into the DataDirectory array */
+#define IMAGE_DIRECTORY_ENTRY_EXPORT 0
+#define IMAGE_DIRECTORY_ENTRY_IMPORT 1
+#define IMAGE_DIRECTORY_ENTRY_RESOURCE 2
+#define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3
+#define IMAGE_DIRECTORY_ENTRY_SECURITY 4
+#define IMAGE_DIRECTORY_ENTRY_BASERELOC 5
+#define IMAGE_DIRECTORY_ENTRY_DEBUG 6
+#define IMAGE_DIRECTORY_ENTRY_COPYRIGHT 7
+#define IMAGE_DIRECTORY_ENTRY_GLOBALPTR 8 /* (MIPS GP) */
+#define IMAGE_DIRECTORY_ENTRY_TLS 9
+#define IMAGE_DIRECTORY_ENTRY_LOAD_CONFIG 10
+#define IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT 11
+#define IMAGE_DIRECTORY_ENTRY_IAT 12 /* Import Address Table */
-struct pe_segment_table
-{
- u_char Name[8];
- u_long Virtual_Size;
- u_long Virtual_Address;
- u_long Size_Of_Raw_Data;
- u_long PointerToRawData;
- u_long PointerToRelocations;
- u_long PointerToLinenumbers;
- u_short NumberOfRelocations;
- u_short NumberOfLinenumbers;
- u_long Characteristics;
-};
+/* Subsystem Values */
+
+#define IMAGE_SUBSYSTEM_UNKNOWN 0
+#define IMAGE_SUBSYSTEM_NATIVE 1
+#define IMAGE_SUBSYSTEM_WINDOWS_GUI 2 /* Windows GUI subsystem */
+#define IMAGE_SUBSYSTEM_WINDOWS_CUI 3 /* Windows character subsystem*/
+#define IMAGE_SUBSYSTEM_OS2_CUI 5
+#define IMAGE_SUBSYSTEM_POSIX_CUI 7
+
+typedef struct _IMAGE_NT_HEADERS {
+ DWORD Signature;
+ IMAGE_FILE_HEADER FileHeader;
+ IMAGE_OPTIONAL_HEADER OptionalHeader;
+} IMAGE_NT_HEADERS,*LPIMAGE_NT_HEADERS;
+
+/* Section header format */
+
+#define IMAGE_SIZEOF_SHORT_NAME 8
+
+typedef struct _IMAGE_SECTION_HEADER {
+ BYTE Name[IMAGE_SIZEOF_SHORT_NAME];
+ union {
+ DWORD PhysicalAddress;
+ DWORD VirtualSize;
+ } Misc;
+ DWORD VirtualAddress;
+ DWORD SizeOfRawData;
+ DWORD PointerToRawData;
+ DWORD PointerToRelocations;
+ DWORD PointerToLinenumbers;
+ WORD NumberOfRelocations;
+ WORD NumberOfLinenumbers;
+ DWORD Characteristics;
+} IMAGE_SECTION_HEADER,*LPIMAGE_SECTION_HEADER;
+
+#define IMAGE_SIZEOF_SECTION_HEADER 40
/* These defines are for the Characteristics bitfield. */
+/* #define IMAGE_SCN_TYPE_REG 0x00000000 - Reserved */
+/* #define IMAGE_SCN_TYPE_DSECT 0x00000001 - Reserved */
+/* #define IMAGE_SCN_TYPE_NOLOAD 0x00000002 - Reserved */
+/* #define IMAGE_SCN_TYPE_GROUP 0x00000004 - Reserved */
+/* #define IMAGE_SCN_TYPE_NO_PAD 0x00000008 - Reserved */
+/* #define IMAGE_SCN_TYPE_COPY 0x00000010 - Reserved */
-#define IMAGE_SCN_TYPE_CNT_CODE 0x20
-#define IMAGE_SCN_TYPE_CNT_INITIALIZED_DATA 0x40
-#define IMAGE_SCN_TYPE_CNT_UNINITIALIZED_DATA 0x80
-#define IMAGE_SCN_MEM_DISCARDABLE 0x2000000
-#define IMAGE_SCN_MEM_SHARED 0x10000000
-#define IMAGE_SCN_MEM_EXECUTE 0x20000000
-#define IMAGE_SCN_MEM_READ 0x40000000
-#define IMAGE_SCN_MEM_WRITE 0x80000000
+#define IMAGE_SCN_CNT_CODE 0x00000020
+#define IMAGE_SCN_CNT_INITIALIZED_DATA 0x00000040
+#define IMAGE_SCN_CNT_UNINITIALIZED_DATA 0x00000080
-/*
- * Import module directory stuff
- */
+#define IMAGE_SCN_LNK_OTHER 0x00000100
+#define IMAGE_SCN_LNK_INFO 0x00000200
+/* #define IMAGE_SCN_TYPE_OVER 0x00000400 - Reserved */
+#define IMAGE_SCN_LNK_REMOVE 0x00000800
+#define IMAGE_SCN_LNK_COMDAT 0x00001000
-struct PE_Import_Directory
-{
- u_int Import_List;
- u_int TimeDate;
- u_int Forwarder;
- u_int ModuleName;
- u_int Thunk_List;
-};
+/* 0x00002000 - Reserved */
+/* #define IMAGE_SCN_MEM_PROTECTED 0x00004000 - Obsolete */
+#define IMAGE_SCN_MEM_FARDATA 0x00008000
-struct pe_import_name
-{
- u_short Hint;
- u_char Name[1];
-};
+/* #define IMAGE_SCN_MEM_SYSHEAP 0x00010000 - Obsolete */
+#define IMAGE_SCN_MEM_PURGEABLE 0x00020000
+#define IMAGE_SCN_MEM_16BIT 0x00020000
+#define IMAGE_SCN_MEM_LOCKED 0x00040000
+#define IMAGE_SCN_MEM_PRELOAD 0x00080000
-/*
- * Export module directory stuff
- */
+#define IMAGE_SCN_ALIGN_1BYTES 0x00100000
+#define IMAGE_SCN_ALIGN_2BYTES 0x00200000
+#define IMAGE_SCN_ALIGN_4BYTES 0x00300000
+#define IMAGE_SCN_ALIGN_8BYTES 0x00400000
+#define IMAGE_SCN_ALIGN_16BYTES 0x00500000 /* Default */
+#define IMAGE_SCN_ALIGN_32BYTES 0x00600000
+#define IMAGE_SCN_ALIGN_64BYTES 0x00700000
+/* 0x00800000 - Unused */
-struct PE_Export_Directory
-{
- u_long Characteristics;
- u_long TimeDateStamp;
- u_short Major_version;
- u_short Minor_version;
- u_long Name;
- u_long Base;
- u_long Number_Of_Functions;
- u_long Number_Of_Names;
- u_long * AddressOfFunctions;
- u_long * AddressOfNames;
- u_short * Address_Of_Name_Ordinals;
+#define IMAGE_SCN_LNK_NRELOC_OVFL 0x01000000
+
+
+#define IMAGE_SCN_MEM_DISCARDABLE 0x02000000
+#define IMAGE_SCN_MEM_NOT_CACHED 0x04000000
+#define IMAGE_SCN_MEM_NOT_PAGED 0x08000000
+#define IMAGE_SCN_MEM_SHARED 0x10000000
+#define IMAGE_SCN_MEM_EXECUTE 0x20000000
+#define IMAGE_SCN_MEM_READ 0x40000000
+#define IMAGE_SCN_MEM_WRITE 0x80000000
+
+
+/* Import name entry */
+typedef struct _IMAGE_IMPORT_BY_NAME {
+ WORD Hint;
+ BYTE Name[1];
+} IMAGE_IMPORT_BY_NAME,*LPIMAGE_IMPORT_BY_NAME;
+
+/* Import thunk */
+typedef struct _IMAGE_THUNK_DATA {
+ union {
+ LPBYTE ForwarderString;
+ LPDWORD Function;
+ DWORD Ordinal;
+ LPIMAGE_IMPORT_BY_NAME AddressOfData;
+ } u1;
+} IMAGE_THUNK_DATA,*LPIMAGE_THUNK_DATA;
+
+/* Import module directory */
+
+typedef struct _IMAGE_IMPORT_DESCRIPTOR {
+ union {
+ DWORD Characteristics; /* 0 for terminating null import descriptor */
+ LPIMAGE_THUNK_DATA OriginalFirstThunk; /* RVA to original unbound IAT */
+ } u;
+ DWORD TimeDateStamp; /* 0 if not bound,
+ * -1 if bound, and real date\time stamp
+ * in IMAGE_DIRECTORY_ENTRY_BOUND_IMPORT
+ * (new BIND)
+ * otherwise date/time stamp of DLL bound to
+ * (Old BIND)
+ */
+ DWORD ForwarderChain; /* -1 if no forwarders */
+ DWORD Name;
+ /* RVA to IAT (if bound this IAT has actual addresses) */
+ LPIMAGE_THUNK_DATA FirstThunk;
+} IMAGE_IMPORT_DESCRIPTOR,*LPIMAGE_IMPORT_DESCRIPTOR;
+
+#define IMAGE_ORDINAL_FLAG 0x80000000
+#define IMAGE_SNAP_BY_ORDINAL(Ordinal) ((Ordinal & IMAGE_ORDINAL_FLAG) != 0)
+#define IMAGE_ORDINAL(Ordinal) (Ordinal & 0xffff)
+
+/* Export module directory */
+
+typedef struct _IMAGE_EXPORT_DIRECTORY {
+ DWORD Characteristics;
+ DWORD TimeDateStamp;
+ WORD MajorVersion;
+ WORD MinorVersion;
+ DWORD Name;
+ DWORD Base;
+ DWORD NumberOfFunctions;
+ DWORD NumberOfNames;
+ LPDWORD *AddressOfFunctions;
+ LPDWORD *AddressOfNames;
+ LPWORD *AddressOfNameOrdinals;
/* u_char ModuleName[1]; */
-};
+} IMAGE_EXPORT_DIRECTORY,*LPIMAGE_EXPORT_DIRECTORY;
+
/*
* Resource directory stuff
*/
+typedef struct _IMAGE_RESOURCE_DIRECTORY {
+ DWORD Characteristics;
+ DWORD TimeDateStamp;
+ WORD MajorVersion;
+ WORD MinorVersion;
+ WORD NumberOfNamedEntries;
+ WORD NumberOfIdEntries;
+ /* IMAGE_RESOURCE_DIRECTORY_ENTRY DirectoryEntries[]; */
+} IMAGE_RESOURCE_DIRECTORY,*LPIMAGE_RESOURCE_DIRECTORY;
-struct PE_Resource_Directory
+#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
+#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
+
+typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
+ union {
+ struct {
+ DWORD NameOffset:31;
+ DWORD NameIsString:1;
+ } s;
+ DWORD Name;
+ WORD Id;
+ } u1;
+ union {
+ DWORD OffsetToData;
+ struct {
+ DWORD OffsetToDirectory:31;
+ DWORD DataIsDirectory:1;
+ } s;
+ } u2;
+} IMAGE_RESOURCE_DIRECTORY_ENTRY,*LPIMAGE_RESOURCE_DIRECTORY_ENTRY;
+
+
+typedef struct _IMAGE_RESOURCE_DIRECTORY_STRING {
+ WORD Length;
+ CHAR NameString[ 1 ];
+} IMAGE_RESOURCE_DIRECTORY_STRING,*LPIMAGE_RESOURCE_DIRECTORY_STRING;
+
+typedef struct _IMAGE_RESOURCE_DIR_STRING_U {
+ WORD Length;
+ WCHAR NameString[ 1 ];
+} IMAGE_RESOURCE_DIR_STRING_U,*LPIMAGE_RESOURCE_DIR_STRING_U;
+
+typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
+ DWORD OffsetToData;
+ DWORD Size;
+ DWORD CodePage;
+ DWORD Reserved;
+} IMAGE_RESOURCE_DATA_ENTRY,*LPIMAGE_RESOURCE_DATA_ENTRY;
+
+typedef struct _IMAGE_BASE_RELOCATION
{
- u_long Characteristics;
- u_long TimeDateStamp;
- u_short MajorVersion;
- u_short MinorVersion;
- u_short NumberOfNamedEntries;
- u_short NumberOfIdEntries;
-};
+ DWORD VirtualAddress;
+ DWORD SizeOfBlock;
+ WORD TypeOffset[1];
+} IMAGE_BASE_RELOCATION,*LPIMAGE_BASE_RELOCATION;
-struct PE_Directory_Entry
-{
- u_long Name;
- u_long OffsetToData;
-};
+typedef struct _IMAGE_DEBUG_DIRECTORY {
+ DWORD Characteristics;
+ DWORD TimeDateStamp;
+ WORD MajorVersion;
+ WORD MinorVersion;
+ DWORD Type;
+ DWORD SizeOfData;
+ DWORD AddressOfRawData;
+ DWORD PointerToRawData;
+} IMAGE_DEBUG_DIRECTORY,*LPIMAGE_DEBUG_DIRECTORY;
-struct PE_Directory_Name_String
-{
- u_short Length;
- char NameString[1];
-};
+typedef struct _IMAGE_LOAD_CONFIG_DIRECTORY {
+ DWORD Characteristics;
+ DWORD TimeDateStamp;
+ WORD MajorVersion;
+ WORD MinorVersion;
+ DWORD GlobalFlagsClear;
+ DWORD GlobalFlagsSet;
+ DWORD CriticalSectionDefaultTimeout;
+ DWORD DeCommitFreeBlockThreshold;
+ DWORD DeCommitTotalFreeThreshold;
+ LPVOID LockPrefixTable;
+ DWORD MaximumAllocationSize;
+ DWORD VirtualMemoryThreshold;
+ DWORD ProcessHeapFlags;
+ DWORD Reserved[ 4 ];
+} IMAGE_LOAD_CONFIG_DIRECTORY,*LPIMAGE_LOAD_CONFIG_DIRECTORY;
-struct PE_Directory_Name_String_U
-{
- u_short Length;
- u_short NameString[1];
-};
+typedef VOID (*LPIMAGE_TLS_CALLBACK)(
+ LPVOID DllHandle,DWORD Reason,LPVOID Reserved
+);
-struct PE_Resource_Leaf_Entry
-{
- u_long OffsetToData;
- u_long Size;
- u_long CodePage;
- u_long Reserved;
-};
-
-#define IMAGE_RESOURCE_NAME_IS_STRING 0x80000000
-#define IMAGE_RESOURCE_DATA_IS_DIRECTORY 0x80000000
-
-struct PE_Reloc_Block
-{
- u_long PageRVA;
- u_long BlockSize;
- short Relocations[1];
-};
+typedef struct _IMAGE_TLS_DIRECTORY {
+ DWORD StartAddressOfRawData;
+ DWORD EndAddressOfRawData;
+ LPDWORD AddressOfIndex;
+ LPIMAGE_TLS_CALLBACK *AddressOfCallBacks;
+ DWORD SizeOfZeroFill;
+ DWORD Characteristics;
+} IMAGE_TLS_DIRECTORY,*LPIMAGE_TLS_DIRECTORY;
/*
- * The IMAGE_FILE_DEBUG_DIRECTORY data directory points to an array of
+ * The IMAGE_DEBUG_DIRECTORY data directory points to an array of
* these structures.
*/
struct PE_Debug_dir
@@ -245,30 +393,37 @@
#define IMAGE_DEBUG_TYPE_CODEVIEW 2
#define IMAGE_DEBUG_TYPE_FPO 3
#define IMAGE_DEBUG_TYPE_MISC 4
+#define IMAGE_DEBUG_TYPE_EXCEPTION 5
+#define IMAGE_DEBUG_TYPE_FIXUP 6
+#define IMAGE_DEBUG_TYPE_OMAP_TO_SRC 7
+#define IMAGE_DEBUG_TYPE_OMAP_FROM_SRC 8
+
#define IMAGE_REL_BASED_ABSOLUTE 0
#define IMAGE_REL_BASED_HIGH 1
-#define IMAGE_REL_BASED_LOW 2
+#define IMAGE_REL_BASED_LOW 2
#define IMAGE_REL_BASED_HIGHLOW 3
#define IMAGE_REL_BASED_HIGHADJ 4
-#define IMAGE_REL_BASED_MIPS_JMPADDR 5
+#define IMAGE_REL_BASED_MIPS_JMPADDR 5
/*
* This is the structure that appears at the very start of a .DBG file.
*/
-struct PE_DBG_FileHeader {
- unsigned short int Signature;
- unsigned short int Flags;
- unsigned short int Machine;
- unsigned short int Characteristics;
- unsigned int TimeDateStamp;
- unsigned int CheckSum;
- unsigned int ImageBase;
- unsigned int SizeOfImage;
- unsigned int NumberOfSections;
- unsigned int ExportedNamesSize;
- unsigned int DebugDirectorySize;
- unsigned int Reserved[ 3 ];
-};
+typedef struct _IMAGE_SEPARATE_DEBUG_HEADER {
+ WORD Signature;
+ WORD Flags;
+ WORD Machine;
+ WORD Characteristics;
+ DWORD TimeDateStamp;
+ DWORD CheckSum;
+ DWORD ImageBase;
+ DWORD SizeOfImage;
+ DWORD NumberOfSections;
+ DWORD ExportedNamesSize;
+ DWORD DebugDirectorySize;
+ DWORD Reserved[ 3 ];
+} IMAGE_SEPARATE_DEBUG_HEADER,*LPIMAGE_SEPARATE_DEBUG_HEADER;
+
+#define IMAGE_SEPARATE_DEBUG_SIGNATURE 0x4944
#endif /* __WINE_PEEXE_H */
diff --git a/include/resource.h b/include/resource.h
index 0898fed..02a6dd4 100644
--- a/include/resource.h
+++ b/include/resource.h
@@ -22,6 +22,7 @@
typedef enum
{
SYSRES_MENU_SYSMENU,
+ SYSRES_MENU_EDITMENU,
SYSRES_DIALOG_MSGBOX,
SYSRES_DIALOG_SHELL_ABOUT_MSGBOX,
SYSRES_DIALOG_OPEN_FILE,
diff --git a/include/resource32.h b/include/resource32.h
deleted file mode 100644
index 644b6ae..0000000
--- a/include/resource32.h
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Win32 functions, structures, and types related to resources
- *
- * Copyright 1995 Thomas Sandford
- *
- */
-
-#ifndef __WINE_RESOURCE32_H
-#define __WINE_RESOURCE32_H
-
-#include <stddef.h>
-
-typedef struct _IMAGE_RESOURCE_DIRECTORY {
- DWORD Characteristics;
- DWORD TimeDateStamp;
- WORD MajorVersion;
- WORD MinorVersion;
- WORD NumberOfNamedEntries;
- WORD NumberOfIdEntries;
-} IMAGE_RESOURCE_DIRECTORY, *PIMAGE_RESOURCE_DIRECTORY;
-
-typedef struct _IMAGE_RESOURCE_DIRECTORY_ENTRY {
- DWORD Name;
- DWORD OffsetToData;
-} IMAGE_RESOURCE_DIRECTORY_ENTRY, *PIMAGE_RESOURCE_DIRECTORY_ENTRY;
-
-typedef struct _IMAGE_RESOURCE_DATA_ENTRY {
- DWORD OffsetToData;
- DWORD Size;
- DWORD CodePage;
- DWORD Reserved;
-} IMAGE_RESOURCE_DATA_ENTRY, *PIMAGE_RESOURCE_DATA_ENTRY;
-
-typedef struct _IMAGE_RESOURCE_DIR_STRING_U {
- WORD Length;
- WCHAR NameString[1];
-} IMAGE_RESOURCE_DIR_STRING_U, *PIMAGE_RESOURCE_DIR_STRING_U;
-
-#endif /* __WINE_RESOURCE32_H */
diff --git a/include/sigcontext.h b/include/sigcontext.h
index 24e5a59..157bd91 100644
--- a/include/sigcontext.h
+++ b/include/sigcontext.h
@@ -44,6 +44,11 @@
typedef struct sigcontext SIGCONTEXT;
#endif /* NetBSD */
+#ifdef __FreeBSD__
+#include <signal.h>
+typedef struct sigcontext SIGCONTEXT;
+#endif /* FreeBSD */
+
#if defined(__svr4__) || defined(_SCO_DS)
#include <signal.h>
#ifdef _SCO_DS
@@ -53,12 +58,12 @@
typedef struct ucontext SIGCONTEXT;
#endif /* svr4 || SCO_DS */
-#ifdef __FreeBSD__
-#include <signal.h>
-typedef struct sigcontext SIGCONTEXT;
-#endif /* FreeBSD */
+#ifdef __EMX__
+typedef struct CONTEXTRECORD SIGCONTEXT;
+#endif /* __EMX__ */
-#if !defined(__svr4__) && !defined(_SCO_DS)
+
+#if defined(linux) || defined(__NetBSD__) || defined(__FreeBSD__)
#define EAX_sig(context) ((context)->sc_eax)
#define EBX_sig(context) ((context)->sc_ebx)
@@ -88,7 +93,9 @@
#define EIP_sig(context) ((context)->sc_eip)
#define ESP_sig(context) ((context)->sc_esp)
-#else /* __svr4__ || _SCO_DS */
+#endif /* linux || __NetBSD__ || __FreeBSD__ */
+
+#if defined(__svr4__) || defined(_SCO_DS)
#ifdef _SCO_DS
#define gregs regs
@@ -118,8 +125,31 @@
#else
#define ESP_sig(context) ((context)->uc_mcontext.gregs[ESP])
#endif
+
+#endif /* svr4 || SCO_DS */
-#endif /* __svr4__ || _SCO_DS */
+#ifdef __EMX__
+
+#define EAX_sig(context) ((context)->ctx_RegEax)
+#define EBX_sig(context) ((context)->ctx_RegEbx)
+#define ECX_sig(context) ((context)->ctx_RegEcx)
+#define EDX_sig(context) ((context)->ctx_RegEdx)
+#define ESI_sig(context) ((context)->ctx_RegEsi)
+#define EDI_sig(context) ((context)->ctx_RegEdi)
+#define EBP_sig(context) ((context)->ctx_RegEbp)
+#define ESP_sig(context) ((context)->ctx_RegEsp)
+#define CS_sig(context) ((context)->ctx_SegCS)
+#define DS_sig(context) ((context)->ctx_SegDS)
+#define ES_sig(context) ((context)->ctx_SegES)
+#define SS_sig(context) ((context)->ctx_SegSS)
+#define FS_sig(context) ((context)->ctx_SegFS)
+#define GS_sig(context) ((context)->ctx_SegGS)
+#define EFL_sig(context) ((context)->ctx_EFlags)
+#define EIP_sig(context) ((context)->ctx_RegEip)
+
+#endif /* __EMX__ */
+
+/* Generic definitions */
#define AX_sig(context) (*(WORD*)&EAX_sig(context))
#define BX_sig(context) (*(WORD*)&EBX_sig(context))
diff --git a/include/win16drv.h b/include/win16drv.h
index 6ee48af..c6d7349 100644
--- a/include/win16drv.h
+++ b/include/win16drv.h
@@ -110,23 +110,6 @@
typedef short SHORT;
#pragma pack(1)
-
-typedef struct TEXTXFORM
-{
- SHORT txfHeight;
- SHORT txfWidth;
- SHORT txfEscapement;
- SHORT txfOrientation;
- SHORT txfWeight;
- CHAR txfItalic;
- CHAR txfUnderline;
- CHAR txfStrikeOut;
- CHAR txfOutPrecision;
- CHAR txfClipPrecision;
- SHORT txfAccelerator WINE_PACKED;
- SHORT txfOverhang WINE_PACKED;
-} TEXTXFORM, *LPTEXTXFORM;
-
#define PCOLOR DWORD
typedef struct DRAWMODE
{
@@ -144,42 +127,6 @@
COLORREF LTextColor;
} DRAWMODE, *LPDRAWMODE;
-typedef struct FONTINFO
-{
- SHORT dfType;
- SHORT dfPoints;
- SHORT dfVertRes;
- SHORT dfHorizRes;
- SHORT dfAscent;
- SHORT dfInternalLeading;
- SHORT dfExternalLeading;
- CHAR dfItalic;
- CHAR dfUnderline;
- CHAR dfStrikeOut;
- SHORT dfWeight;
- CHAR dfCHARSet;
- SHORT dfPixWidth;
- SHORT dfPixHeight;
- CHAR dfPitchAndFamily;
- SHORT dfAvgWidth;
- SHORT dfMaxWidth;
- CHAR dfFirstCHAR;
- CHAR dfLastCHAR;
- CHAR dfDefaultCHAR;
- CHAR dfBreakCHAR;
- SHORT dfWidthBytes;
- LONG dfDevice;
- LONG dfFace;
- LONG dfBitsPointer;
- LONG dfBitsOffset;
- CHAR dfReserved;
- LONG dfFlags;
- SHORT dfAspace;
- SHORT dfBspace;
- SHORT dfCspace;
- LONG dfColorPointer;
- LONG dfReserved1[4];
-} FONTINFO, *LPFONTINFO;
#pragma pack(4)
@@ -211,4 +158,7 @@
LPSIZE32 size );
extern BOOL32 WIN16DRV_GetTextMetrics( DC *dc, TEXTMETRIC32A *metrics );
+extern BOOL32 WIN16DRV_ExtTextOut( DC *dc, INT32 x, INT32 y, UINT32 flags,
+ const RECT32 *lprect, LPCSTR str, UINT32 count,
+ const INT32 *lpDx );
#endif /* __WINE_WIN16DRV_H */
diff --git a/include/winbase.h b/include/winbase.h
index 5b432c7..e277353 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -46,6 +46,7 @@
/*WINAPI int SetErrorMode(int);*/
+#define STATUS_SUCCESS 0x00000000
#define STATUS_WAIT_0 0x00000000
#define STATUS_ABANDONED_WAIT_0 0x00000080
#define STATUS_USER_APC 0x000000C0
@@ -55,10 +56,12 @@
#define STATUS_DATATYPE_MISALIGNMENT 0x80000002
#define STATUS_BREAKPOINT 0x80000003
#define STATUS_SINGLE_STEP 0x80000004
+#define STATUS_BUFFER_OVERFLOW 0x80000005
#define STATUS_ACCESS_VIOLATION 0xC0000005
#define STATUS_IN_PAGE_ERROR 0xC0000006
#define STATUS_NO_MEMORY 0xC0000017
#define STATUS_ILLEGAL_INSTRUCTION 0xC000001D
+#define STATUS_BUFFER_TOO_SMALL 0xC0000023
#define STATUS_NONCONTINUABLE_EXCEPTION 0xC0000025
#define STATUS_INVALID_DISPOSITION 0xC0000026
#define STATUS_ARRAY_BOUNDS_EXCEEDED 0xC000008C
@@ -72,6 +75,7 @@
#define STATUS_INTEGER_DIVIDE_BY_ZERO 0xC0000094
#define STATUS_INTEGER_OVERFLOW 0xC0000095
#define STATUS_PRIVILEGED_INSTRUCTION 0xC0000096
+#define STATUS_INVALID_PARAMETER_2 0xC00000F0
#define STATUS_STACK_OVERFLOW 0xC00000FD
#define STATUS_CONTROL_C_EXIT 0xC000013A
diff --git a/include/windows.h b/include/windows.h
index a65782d..4d71ced 100644
--- a/include/windows.h
+++ b/include/windows.h
@@ -1087,6 +1087,58 @@
DWORD fsCsb[2];
} FONTSIGNATURE,*LPFONTSIGNATURE;
+typedef struct
+{
+ INT16 txfHeight;
+ INT16 txfWidth;
+ INT16 txfEscapement;
+ INT16 txfOrientation;
+ INT16 txfWeight;
+ CHAR txfItalic;
+ CHAR txfUnderline;
+ CHAR txfStrikeOut;
+ CHAR txfOutPrecision;
+ CHAR txfClipPrecision;
+ INT16 txfAccelerator WINE_PACKED;
+ INT16 txfOverhang WINE_PACKED;
+} TEXTXFORM16, *LPTEXTXFORM16;
+
+typedef struct
+{
+ INT16 dfType;
+ INT16 dfPoints;
+ INT16 dfVertRes;
+ INT16 dfHorizRes;
+ INT16 dfAscent;
+ INT16 dfInternalLeading;
+ INT16 dfExternalLeading;
+ CHAR dfItalic;
+ CHAR dfUnderline;
+ CHAR dfStrikeOut;
+ INT16 dfWeight;
+ CHAR dfCHARSet;
+ INT16 dfPixWidth;
+ INT16 dfPixHeight;
+ CHAR dfPitchAndFamily;
+ INT16 dfAvgWidth;
+ INT16 dfMaxWidth;
+ CHAR dfFirstCHAR;
+ CHAR dfLastCHAR;
+ CHAR dfDefaultCHAR;
+ CHAR dfBreakCHAR;
+ INT16 dfWidthBytes;
+ LONG dfDevice;
+ LONG dfFace;
+ LONG dfBitsPointer;
+ LONG dfBitsOffset;
+ CHAR dfReserved;
+ LONG dfFlags;
+ INT16 dfAspace;
+ INT16 dfBspace;
+ INT16 dfCspace;
+ LONG dfColorPointer;
+ LONG dfReserved1[4];
+} FONTINFO16, *LPFONTINFO16;
/* lfWeight values */
#define FW_DONTCARE 0
@@ -4438,8 +4490,8 @@
} CSTRING,*LPCSTRING;
typedef struct _UNICODE_STRING {
- UINT16 Length; /* bytes ? */
- UINT16 MaximumLength; /* bytes ? */
+ UINT16 Length; /* bytes */
+ UINT16 MaximumLength; /* bytes */
LPWSTR Buffer;
} UNICODE_STRING,*LPUNICODE_STRING;
@@ -4449,6 +4501,102 @@
#define HIGH_PRIORITY_CLASS 0x00000080
#define REALTIME_PRIORITY_CLASS 0x00000100
+/* GDI Escape commands */
+#define NEWFRAME 1
+#define ABORTDOC 2
+#define NEXTBAND 3
+#define SETCOLORTABLE 4
+#define GETCOLORTABLE 5
+#define FLUSHOUTPUT 6
+#define DRAFTMODE 7
+#define QUERYESCSUPPORT 8
+#define SETABORTPROC 9
+#define STARTDOC 10
+#define ENDDOC 11
+#define GETPHYSPAGESIZE 12
+#define GETPRINTINGOFFSET 13
+#define GETSCALINGFACTOR 14
+#define MFCOMMENT 15
+#define GETPENWIDTH 16
+#define SETCOPYCOUNT 17
+#define SELECTPAPERSOURCE 18
+#define DEVICEDATA 19
+#define PASSTHROUGH 19
+#define GETTECHNOLGY 20
+#define GETTECHNOLOGY 20 /* yes, both of them */
+#define SETLINECAP 21
+#define SETLINEJOIN 22
+#define SETMITERLIMIT 23
+#define BANDINFO 24
+#define DRAWPATTERNRECT 25
+#define GETVECTORPENSIZE 26
+#define GETVECTORBRUSHSIZE 27
+#define ENABLEDUPLEX 28
+#define GETSETPAPERBINS 29
+#define GETSETPRINTORIENT 30
+#define ENUMPAPERBINS 31
+#define SETDIBSCALING 32
+#define EPSPRINTING 33
+#define ENUMPAPERMETRICS 34
+#define GETSETPAPERMETRICS 35
+#define POSTSCRIPT_DATA 37
+#define POSTSCRIPT_IGNORE 38
+#define MOUSETRAILS 39
+#define GETDEVICEUNITS 42
+
+#define GETEXTENDEDTEXTMETRICS 256
+#define GETEXTENTTABLE 257
+#define GETPAIRKERNTABLE 258
+#define GETTRACKKERNTABLE 259
+#define EXTTEXTOUT 512
+#define GETFACENAME 513
+#define DOWNLOADFACE 514
+#define ENABLERELATIVEWIDTHS 768
+#define ENABLEPAIRKERNING 769
+#define SETKERNTRACK 770
+#define SETALLJUSTVALUES 771
+#define SETCHARSET 772
+
+#define STRETCHBLT 2048
+#define GETSETSCREENPARAMS 3072
+#define QUERYDIBSUPPORT 3073
+#define BEGIN_PATH 4096
+#define CLIP_TO_PATH 4097
+#define END_PATH 4098
+#define EXT_DEVICE_CAPS 4099
+#define RESTORE_CTM 4100
+#define SAVE_CTM 4101
+#define SET_ARC_DIRECTION 4102
+#define SET_BACKGROUND_COLOR 4103
+#define SET_POLY_MODE 4104
+#define SET_SCREEN_ANGLE 4105
+#define SET_SPREAD 4106
+#define TRANSFORM_CTM 4107
+#define SET_CLIP_BOX 4108
+#define SET_BOUNDS 4109
+#define SET_MIRROR_MODE 4110
+#define OPENCHANNEL 4110
+#define DOWNLOADHEADER 4111
+#define CLOSECHANNEL 4112
+#define POSTSCRIPT_PASSTHROUGH 4115
+#define ENCAPSULATED_POSTSCRIPT 4116
+
+/* Flag returned from Escape QUERYDIBSUPPORT */
+#define QDI_SETDIBITS 1
+#define QDI_GETDIBITS 2
+#define QDI_DIBTOSCREEN 4
+#define QDI_STRETCHDIB 8
+
+/* Spooler Error Codes */
+#define SP_NOTREPORTED 0x4000
+#define SP_ERROR (-1)
+#define SP_APPABORT (-2)
+#define SP_USERABORT (-3)
+#define SP_OUTOFDISK (-4)
+#define SP_OUTOFMEMORY (-5)
+
+#define PR_JOBSTATUS 0x0000
+
#pragma pack(4)
/* Declarations for functions that exist only in Win16 */
@@ -4724,8 +4872,6 @@
/* Declarations for functions that are the same in Win16 and Win32 */
-BOOL16 CheckDlgButton(HWND32,INT32,UINT32);
-BOOL16 CheckRadioButton(HWND32,UINT32,UINT32,UINT32);
HBITMAP16 CreateBitmap(INT32,INT32,UINT32,UINT32,LPCVOID);
BOOL16 CreateCaret(HWND32,HBITMAP32,INT32,INT32);
HBITMAP16 CreateCompatibleBitmap(HDC32,INT32,INT32);
@@ -4737,7 +4883,6 @@
LONG GetBitmapBits(HBITMAP32,LONG,LPVOID);
WORD GetClassWord(HWND32,INT32);
DWORD GetDialogBaseUnits(void);
-INT16 GetDlgCtrlID(HWND32);
DWORD GetLastError(void);
DWORD GetMenuCheckMarkDimensions(void);
COLORREF GetSysColor(INT32);
@@ -4816,12 +4961,21 @@
BOOL16 Arc16(HDC16,INT16,INT16,INT16,INT16,INT16,INT16,INT16,INT16);
BOOL32 Arc32(HDC32,INT32,INT32,INT32,INT32,INT32,INT32,INT32,INT32);
#define Arc WINELIB_NAME(Arc)
+UINT16 ArrangeIconicWindows16(HWND16);
+UINT32 ArrangeIconicWindows32(HWND32);
+#define ArrangeIconicWindows WINELIB_NAME(ArrangeIconicWindows)
+HDWP16 BeginDeferWindowPos16(INT16);
+HDWP32 BeginDeferWindowPos32(INT32);
+#define BeginDeferWindowPos WINELIB_NAME(BeginDeferWindowPos)
HDC16 BeginPaint16(HWND16,LPPAINTSTRUCT16);
HDC32 BeginPaint32(HWND32,LPPAINTSTRUCT32);
#define BeginPaint WINELIB_NAME(BeginPaint)
BOOL16 BitBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,DWORD);
BOOL32 BitBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,INT32,DWORD);
#define BitBlt WINELIB_NAME(BitBlt)
+BOOL16 BringWindowToTop16(HWND16);
+BOOL32 BringWindowToTop32(HWND32);
+#define BringWindowToTop WINELIB_NAME(BringWindowToTop)
BOOL16 BuildCommDCB16(LPCSTR,LPDCB16);
BOOL32 BuildCommDCB32A(LPCSTR,LPDCB32);
BOOL32 BuildCommDCB32W(LPCWSTR,LPDCB32);
@@ -4873,9 +5027,15 @@
BOOL32 CharToOemBuff32A(LPCSTR,LPSTR,DWORD);
BOOL32 CharToOemBuff32W(LPCWSTR,LPSTR,DWORD);
#define CharToOemBuff WINELIB_NAME_AW(CharToOemBuff)
+BOOL16 CheckDlgButton16(HWND16,INT16,UINT16);
+BOOL32 CheckDlgButton32(HWND32,INT32,UINT32);
+#define CheckDlgButton WINELIB_NAME(CheckDlgButton)
BOOL16 CheckMenuItem16(HMENU16,UINT16,UINT16);
DWORD CheckMenuItem32(HMENU32,UINT32,UINT32);
#define CheckMenuItem WINELIB_NAME(CheckMenuItem)
+BOOL16 CheckRadioButton16(HWND16,UINT16,UINT16,UINT16);
+BOOL32 CheckRadioButton32(HWND32,UINT32,UINT32,UINT32);
+#define CheckRadioButton WINELIB_NAME(CheckRadioButton)
HWND16 ChildWindowFromPoint16(HWND16,POINT16);
HWND32 ChildWindowFromPoint32(HWND32,POINT32);
#define ChildWindowFromPoint WINELIB_NAME(ChildWindowFromPoint)
@@ -5037,6 +5197,9 @@
LRESULT DefDlgProc32A(HWND32,UINT32,WPARAM32,LPARAM);
LRESULT DefDlgProc32W(HWND32,UINT32,WPARAM32,LPARAM);
#define DefDlgProc WINELIB_NAME_AW(DefDlgProc)
+HDWP16 DeferWindowPos16(HDWP16,HWND16,HWND16,INT16,INT16,INT16,INT16,UINT16);
+HDWP32 DeferWindowPos32(HDWP32,HWND32,HWND32,INT32,INT32,INT32,INT32,UINT32);
+#define DeferWindowPos WINELIB_NAME(DeferWindowPos)
LRESULT DefFrameProc16(HWND16,HWND16,UINT16,WPARAM16,LPARAM);
LRESULT DefFrameProc32A(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
LRESULT DefFrameProc32W(HWND32,HWND32,UINT32,WPARAM32,LPARAM);
@@ -5072,6 +5235,9 @@
BOOL16 DestroyMenu16(HMENU16);
BOOL32 DestroyMenu32(HMENU32);
#define DestroyMenu WINELIB_NAME(DestroyMenu)
+BOOL16 DestroyWindow16(HWND16);
+BOOL32 DestroyWindow32(HWND32);
+#define DestroyWindow WINELIB_NAME(DestroyWindow)
INT16 DialogBox16(HINSTANCE16,SEGPTR,HWND16,DLGPROC16);
#define DialogBox32A(inst,template,owner,func) \
DialogBoxParam32A(inst,template,owner,func,0)
@@ -5136,6 +5302,12 @@
BOOL16 EnableScrollBar16(HWND16,INT16,UINT16);
BOOL32 EnableScrollBar32(HWND32,INT32,UINT32);
#define EnableScrollBar WINELIB_NAME(EnableScrollBar)
+BOOL16 EnableWindow16(HWND16,BOOL16);
+BOOL32 EnableWindow32(HWND32,BOOL32);
+#define EnableWindow WINELIB_NAME(EnableWindow)
+BOOL16 EndDeferWindowPos16(HDWP16);
+BOOL32 EndDeferWindowPos32(HDWP32);
+#define EndDeferWindowPos WINELIB_NAME(EndDeferWindowPos)
BOOL16 EndPaint16(HWND16,const PAINTSTRUCT16*);
BOOL32 EndPaint32(HWND32,const PAINTSTRUCT32*);
#define EndPaint WINELIB_NAME(EndPaint)
@@ -5174,6 +5346,9 @@
BOOL16 EqualRgn16(HRGN16,HRGN16);
BOOL32 EqualRgn32(HRGN32,HRGN32);
#define EqualRgn WINELIB_NAME(EqualRgn)
+INT16 Escape16(HDC16,INT16,INT16,SEGPTR,SEGPTR);
+INT32 Escape32(HDC32,INT32,INT32,LPVOID,LPVOID);
+#define Escape WINELIB_NAME(Escape)
LONG EscapeCommFunction16(UINT16,UINT16);
BOOL32 EscapeCommFunction32(INT32,UINT32);
#define EscapeCommFunction WINELIB_NAME(EscapeCommFunction)
@@ -5241,6 +5416,9 @@
BOOL16 FreeResource16(HGLOBAL16);
BOOL32 FreeResource32(HGLOBAL32);
#define FreeResource WINELIB_NAME(FreeResource)
+HWND16 GetActiveWindow16(void);
+HWND32 GetActiveWindow32(void);
+#define GetActiveWindow WINELIB_NAME(GetActiveWindow)
BOOL16 GetBitmapDimensionEx16(HBITMAP16,LPSIZE16);
BOOL32 GetBitmapDimensionEx32(HBITMAP32,LPSIZE32);
#define GetBitmapDimensionEx WINELIB_NAME(GetBitmapDimensionEx)
@@ -5327,6 +5505,15 @@
BOOL32 GetDiskFreeSpace32A(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
BOOL32 GetDiskFreeSpace32W(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
#define GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
+INT16 GetDlgCtrlID16(HWND16);
+INT32 GetDlgCtrlID32(HWND32);
+#define GetDlgCtrlID WINELIB_NAME(GetDlgCtrlID)
+HWND16 GetDlgItem16(HWND16,INT16);
+HWND32 GetDlgItem32(HWND32,INT32);
+#define GetDlgItem WINELIB_NAME(GetDlgItem)
+UINT16 GetDlgItemInt16(HWND16,INT16,BOOL16*,BOOL16);
+UINT32 GetDlgItemInt32(HWND32,INT32,BOOL32*,BOOL32);
+#define GetDlgItemInt WINELIB_NAME(GetDlgItemInt)
INT16 GetDlgItemText16(HWND16,INT16,SEGPTR,UINT16);
INT32 GetDlgItemText32A(HWND32,INT32,LPSTR,UINT32);
INT32 GetDlgItemText32W(HWND32,INT32,LPWSTR,UINT32);
@@ -5393,6 +5580,9 @@
HWND16 GetNextDlgTabItem16(HWND16,HWND16,BOOL16);
HWND32 GetNextDlgTabItem32(HWND32,HWND32,BOOL32);
#define GetNextDlgTabItem WINELIB_NAME(GetNextDlgTabItem)
+HWND16 GetNextWindow16(HWND16,WORD);
+#define GetNextWindow32 GetWindow32
+#define GetNextWindow WINELIB_NAME(GetNextWindow)
INT16 GetObject16(HANDLE16,INT16,LPVOID);
INT32 GetObject32A(HANDLE32,INT32,LPVOID);
INT32 GetObject32W(HANDLE32,INT32,LPVOID);
@@ -5497,6 +5687,9 @@
BOOL32 GetTextMetrics32A(HDC32,LPTEXTMETRIC32A);
BOOL32 GetTextMetrics32W(HDC32,LPTEXTMETRIC32W);
#define GetTextMetrics WINELIB_NAME_AW(GetTextMetrics)
+HWND16 GetTopWindow16(HWND16);
+HWND32 GetTopWindow32(HWND32);
+#define GetTopWindow WINELIB_NAME(GetTopWindow)
BOOL16 GetUpdateRect16(HWND16,LPRECT16,BOOL16);
BOOL32 GetUpdateRect32(HWND32,LPRECT32,BOOL32);
#define GetUpdateRect WINELIB_NAME(GetUpdateRect)
@@ -5512,6 +5705,9 @@
BOOL32 GetVolumeInformation32A(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
BOOL32 GetVolumeInformation32W(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
#define GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
+HWND16 GetWindow16(HWND16,WORD);
+HWND32 GetWindow32(HWND32,WORD);
+#define GetWindow WINELIB_NAME(GetWindow)
HDC16 GetWindowDC16(HWND16);
HDC32 GetWindowDC32(HWND32);
#define GetWindowDC WINELIB_NAME(GetWindowDC)
@@ -5648,15 +5844,33 @@
BOOL32 IsCharUpper32A(CHAR);
BOOL32 IsCharUpper32W(WCHAR);
#define IsCharUpper WINELIB_NAME_AW(IsCharUpper)
+BOOL16 IsChild16(HWND16,HWND16);
+BOOL32 IsChild32(HWND32,HWND32);
+#define IsChild WINELIB_NAME(IsChild)
BOOL16 IsDBCSLeadByte16(BYTE);
BOOL32 IsDBCSLeadByte32(BYTE);
#define IsDBCSLeadByte WINELIB_NAME(IsDBCSLeadByte)
+UINT16 IsDlgButtonChecked16(HWND16,UINT16);
+UINT32 IsDlgButtonChecked32(HWND32,UINT32);
+#define IsDlgButtonChecked WINELIB_NAME(IsDlgButtonChecked)
+BOOL16 IsIconic16(HWND16);
+BOOL32 IsIconic32(HWND32);
+#define IsIconic WINELIB_NAME(IsIconic)
BOOL16 IsMenu16(HMENU16);
BOOL32 IsMenu32(HMENU32);
#define IsMenu WINELIB_NAME(IsMenu)
BOOL16 IsRectEmpty16(const RECT16*);
BOOL32 IsRectEmpty32(const RECT32*);
#define IsRectEmpty WINELIB_NAME(IsRectEmpty)
+BOOL16 IsWindowEnabled16(HWND16);
+BOOL32 IsWindowEnabled32(HWND32);
+#define IsWindowEnabled WINELIB_NAME(IsWindowEnabled)
+BOOL16 IsWindowVisible16(HWND16);
+BOOL32 IsWindowVisible32(HWND32);
+#define IsWindowVisible WINELIB_NAME(IsWindowVisible)
+BOOL16 IsZoomed16(HWND16);
+BOOL32 IsZoomed32(HWND32);
+#define IsZoomed WINELIB_NAME(IsZoomed)
BOOL16 KillSystemTimer16(HWND16,UINT16);
BOOL32 KillSystemTimer32(HWND32,UINT32);
#define KillSystemTimer WINELIB_NAME(KillSystemTimer)
@@ -5785,6 +5999,9 @@
BOOL16 MoveToEx16(HDC16,INT16,INT16,LPPOINT16);
BOOL32 MoveToEx32(HDC32,INT32,INT32,LPPOINT32);
#define MoveToEx WINELIB_NAME(MoveToEx)
+BOOL16 MoveWindow16(HWND16,INT16,INT16,INT16,INT16,BOOL16);
+BOOL32 MoveWindow32(HWND32,INT32,INT32,INT32,INT32,BOOL32);
+#define MoveWindow WINELIB_NAME(MoveWindow)
INT16 MulDiv16(INT16,INT16,INT16);
INT32 MulDiv32(INT32,INT32,INT32);
#define MulDiv WINELIB_NAME(MulDiv)
@@ -5988,6 +6205,9 @@
LRESULT SendMessage32A(HWND32,UINT32,WPARAM32,LPARAM);
LRESULT SendMessage32W(HWND32,UINT32,WPARAM32,LPARAM);
#define SendMessage WINELIB_NAME_AW(SendMessage)
+HWND16 SetActiveWindow16(HWND16);
+HWND32 SetActiveWindow32(HWND32);
+#define SetActiveWindow WINELIB_NAME(SetActiveWindow)
BOOL16 SetBitmapDimensionEx16(HBITMAP16,INT16,INT16,LPSIZE16);
BOOL32 SetBitmapDimensionEx32(HBITMAP32,INT32,INT32,LPSIZE32);
#define SetBitmapDimensionEx WINELIB_NAME(SetBitmapDimensionEx)
@@ -6129,6 +6349,9 @@
HHOOK SetWindowsHookEx32A(INT32,HOOKPROC32,HINSTANCE32,DWORD);
HHOOK SetWindowsHookEx32W(INT32,HOOKPROC32,HINSTANCE32,DWORD);
#define SetWindowsHookEx WINELIB_NAME_AW(SetWindowsHookEx)
+BOOL16 SetWindowPos16(HWND16,HWND16,INT16,INT16,INT16,INT16,WORD);
+BOOL32 SetWindowPos32(HWND32,HWND32,INT32,INT32,INT32,INT32,WORD);
+#define SetWindowPos WINELIB_NAME(SetWindowPos)
void SetWindowText16(HWND16,SEGPTR);
void SetWindowText32A(HWND32,LPCSTR);
void SetWindowText32W(HWND32,LPCWSTR);
@@ -6140,6 +6363,9 @@
void ShowScrollBar16(HWND16,INT16,BOOL16);
BOOL32 ShowScrollBar32(HWND32,INT32,BOOL32);
#define ShowScrollBar WINELIB_NAME(ShowScrollBar)
+BOOL16 ShowWindow16(HWND16,INT16);
+BOOL32 ShowWindow32(HWND32,INT32);
+#define ShowWindow WINELIB_NAME(ShowWindow)
BOOL16 StretchBlt16(HDC16,INT16,INT16,INT16,INT16,HDC16,INT16,INT16,
INT16,INT16,DWORD);
BOOL32 StretchBlt32(HDC32,INT32,INT32,INT32,INT32,HDC32,INT32,INT32,
@@ -6196,9 +6422,9 @@
DWORD VerFindFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*,LPSTR,UINT32*);
DWORD VerFindFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*,LPWSTR,UINT32*);
#define VerFindFile WINELIB_NAME_AW(VerFindFile)
-DWORD VerInstallFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*);
-DWORD VerInstallFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*);
-DWORD VerInstallFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*);
+DWORD VerInstallFile16(UINT16,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT16*);
+DWORD VerInstallFile32A(UINT32,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT32*);
+DWORD VerInstallFile32W(UINT32,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT32*);
#define VerInstallFile WINELIB_NAME_AW(VerInstallFile)
DWORD VerLanguageName16(UINT16,LPSTR,UINT16);
DWORD VerLanguageName32A(UINT32,LPSTR,UINT32);
@@ -6345,9 +6571,6 @@
INT AddFontResource(LPCSTR);
BOOL AnimatePalette(HPALETTE16,UINT,UINT,LPPALETTEENTRY);
BOOL AnyPopup(void);
-UINT ArrangeIconicWindows(HWND);
-HDWP16 BeginDeferWindowPos(INT);
-BOOL BringWindowToTop(HWND);
void CalcChildScroll(HWND,WORD);
BOOL CallMsgFilter(SEGPTR,INT);
BOOL CloseClipboard(void);
@@ -6361,22 +6584,17 @@
HGLOBAL16 CreateCursorIconIndirect(HINSTANCE16,CURSORICONINFO*,const BYTE*,const BYTE*);
HICON16 CreateIcon(HINSTANCE16,INT,INT,BYTE,BYTE,const BYTE*,const BYTE*);
HPALETTE16 CreatePalette(const LOGPALETTE*);
-HDWP16 DeferWindowPos(HDWP16,HWND,HWND,INT,INT,INT,INT,UINT);
ATOM DeleteAtom(ATOM);
BOOL DestroyCursor(HCURSOR16);
BOOL DestroyIcon(HICON16);
-BOOL DestroyWindow(HWND);
LONG DispatchMessage(const MSG16*);
BOOL16 DragDetect(HWND16,POINT16);
DWORD DragObject(HWND, HWND, WORD, HANDLE16, WORD, HCURSOR16);
BOOL DrawIcon(HDC16,INT,INT,HICON16);
DWORD DumpIcon(SEGPTR,WORD*,SEGPTR*,SEGPTR*);
BOOL EmptyClipboard(void);
-BOOL EnableWindow(HWND,BOOL);
-BOOL EndDeferWindowPos(HDWP16);
UINT16 EnumClipboardFormats(UINT16);
BOOL EnumMetaFile(HDC16,HMETAFILE16,MFENUMPROC16,LPARAM);
-INT Escape(HDC16,INT,INT,SEGPTR,SEGPTR);
HICON16 ExtractIcon(HINSTANCE16,LPCSTR,WORD);
void FatalExit(int);
ATOM FindAtom(SEGPTR);
@@ -6385,7 +6603,6 @@
void FreeLibrary(HINSTANCE16);
UINT GDIRealizePalette(HDC16);
HPALETTE16 GDISelectPalette(HDC16,HPALETTE16,WORD);
-HWND GetActiveWindow(void);
DWORD GetAspectRatioFilter(HDC16);
int GetAsyncKeyState(int);
WORD GetAtomName(ATOM,LPSTR,short);
@@ -6398,8 +6615,6 @@
HCURSOR16 GetCursor(void);
SEGPTR GetDOSEnvironment(void);
int GetDeviceCaps(HDC16,WORD);
-HWND GetDlgItem(HWND,WORD);
-WORD GetDlgItemInt(HWND,WORD,BOOL*,BOOL);
WORD GetDoubleClickTime(void);
int GetEnvironment(LPSTR,LPSTR,WORD);
DWORD GetFreeSpace(UINT16);
@@ -6421,7 +6636,6 @@
INT16 GetModuleUsage(HINSTANCE16);
DWORD GetNearestColor(HDC16,DWORD);
WORD GetNearestPaletteIndex(HPALETTE16,DWORD);
-HWND GetNextWindow(HWND,WORD);
HWND GetOpenClipboardWindow(void);
WORD GetPaletteEntries(HPALETTE16,WORD,WORD,LPPALETTEENTRY);
int GetPriorityClipboardFormat(WORD*,short);
@@ -6434,10 +6648,8 @@
BYTE GetTempDrive(BYTE);
LPINT16 GetThresholdEvent(void);
int GetThresholdStatus(void);
-HWND GetTopWindow(HWND);
BOOL GetWinDebugInfo(LPWINDEBUGINFO,UINT);
LONG GetWinFlags(void);
-HWND GetWindow(HWND,WORD);
ATOM GlobalDeleteAtom(ATOM);
void GlobalFix(HGLOBAL16);
BOOL16 GlobalUnWire(HGLOBAL16);
@@ -6446,20 +6658,13 @@
BOOL GrayString(HDC16,HBRUSH16,GRAYSTRINGPROC16,LPARAM,INT,INT,INT,INT,INT);
BOOL InSendMessage(void);
WORD InitAtomTable(WORD);
-BOOL IsChild(HWND,HWND);
BOOL IsClipboardFormatAvailable(WORD);
-BOOL IsDialogMessage(HWND,LPMSG16);
-WORD IsDlgButtonChecked(HWND,WORD);
-BOOL IsIconic(HWND);
+BOOL16 IsDialogMessage(HWND16,LPMSG16);
BOOL IsValidMetaFile(HMETAFILE16);
-BOOL IsWindowEnabled(HWND);
-BOOL IsWindowVisible(HWND);
-BOOL IsZoomed(HWND);
HINSTANCE16 LoadModule(LPCSTR,LPVOID);
FARPROC16 LocalNotify(FARPROC16);
WORD MapVirtualKey(WORD,WORD);
void MessageBeep(WORD);
-BOOL MoveWindow(HWND,short,short,short,short,BOOL);
DWORD OemKeyScan(WORD);
BOOL OpenClipboard(HWND);
BOOL OpenIcon(HWND);
@@ -6483,7 +6688,6 @@
BOOL ResizePalette(HPALETTE16,UINT);
void ScrollChildren(HWND,UINT,WPARAM16,LPARAM);
HPALETTE16 SelectPalette(HDC16,HPALETTE16,BOOL);
-HWND SetActiveWindow(HWND);
HANDLE16 SetClipboardData(WORD,HANDLE16);
HWND SetClipboardViewer(HWND);
void SetConvertHook(BOOL);
@@ -6512,11 +6716,9 @@
int SetVoiceSound(int,LONG,int);
int SetVoiceThreshold(int,int);
BOOL SetWinDebugInfo(LPWINDEBUGINFO);
-BOOL SetWindowPos(HWND,HWND,INT,INT,INT,INT,WORD);
HINSTANCE16 ShellExecute(HWND,LPCSTR,LPCSTR,LPSTR,LPCSTR,INT);
int ShowCursor(BOOL);
void ShowOwnedPopups(HWND,BOOL);
-BOOL ShowWindow(HWND,int);
DWORD SizeofResource(HMODULE16,HRSRC16);
int StartSound(void);
int StopSound(void);
diff --git a/include/winerror.h b/include/winerror.h
index 6488e5e..28cc005 100644
--- a/include/winerror.h
+++ b/include/winerror.h
@@ -20,6 +20,7 @@
#define ERROR_BAD_FORMAT 11
#define ERROR_OUTOFMEMORY 14
#define ERROR_NO_MORE_FILES 18
+#define ERROR_SHARING_VIOLATION 32
#define ERROR_FILE_EXISTS 80
#define ERROR_INVALID_PARAMETER 87
#define ERROR_BROKEN_PIPE 109
diff --git a/include/winpos.h b/include/winpos.h
index d8df072..be21ee2 100644
--- a/include/winpos.h
+++ b/include/winpos.h
@@ -9,7 +9,7 @@
#include "win.h"
-#define DWP_MAGIC 0x5057 /* 'WP' */
+#define DWP_MAGIC ((INT32)('W' | ('P' << 8) | ('O' << 16) | ('S' << 24)))
/* undocumented SWP flags - from SDK 3.1 */
#define SWP_NOCLIENTSIZE 0x0800
@@ -17,12 +17,12 @@
typedef struct
{
- WORD actualCount;
- WORD suggestedCount;
- WORD valid;
- WORD wMagic;
+ INT32 actualCount;
+ INT32 suggestedCount;
+ BOOL32 valid;
+ INT32 wMagic;
HWND32 hwndParent;
- WINDOWPOS16 winPos[1];
+ WINDOWPOS32 winPos[1];
} DWP;
extern void WINPOS_FindIconPos( HWND32 hwnd );
diff --git a/include/x11drv.h b/include/x11drv.h
index 9372224..127441d 100644
--- a/include/x11drv.h
+++ b/include/x11drv.h
@@ -55,6 +55,7 @@
INT32 xSrc, INT32 ySrc, DWORD rop );
extern BOOL32 X11DRV_GetTextExtentPoint( struct tagDC *dc, LPCSTR str,
INT32 count, LPSIZE32 size );
+extern BOOL32 X11DRV_GetTextMetrics(struct tagDC *dc, TEXTMETRIC32A *metrics);
extern BOOL32 X11DRV_PatBlt( struct tagDC *dc, INT32 left, INT32 top,
INT32 width, INT32 height, DWORD rop );
extern VOID X11DRV_SetDeviceClipping(struct tagDC *dc);