summaryrefslogtreecommitdiffstats
path: root/winsup/w32api/include
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/w32api/include')
-rw-r--r--winsup/w32api/include/commctrl.h23
-rw-r--r--winsup/w32api/include/ddk/ntapi.h11
-rw-r--r--winsup/w32api/include/ddk/ntifs.h4
-rw-r--r--winsup/w32api/include/ddk/winddi.h36
-rw-r--r--winsup/w32api/include/objidl.h2
-rw-r--r--winsup/w32api/include/rpc.h6
-rw-r--r--winsup/w32api/include/rpcdce.h1
-rw-r--r--winsup/w32api/include/rpcdcep.h5
-rw-r--r--winsup/w32api/include/rpcndr.h44
-rw-r--r--winsup/w32api/include/rpcproxy.h4
-rw-r--r--winsup/w32api/include/winbase.h3
-rw-r--r--winsup/w32api/include/wingdi.h53
-rw-r--r--winsup/w32api/include/winspool.h2
-rw-r--r--winsup/w32api/include/winuser.h67
14 files changed, 229 insertions, 32 deletions
diff --git a/winsup/w32api/include/commctrl.h b/winsup/w32api/include/commctrl.h
index e60656d19..e7e39b0dc 100644
--- a/winsup/w32api/include/commctrl.h
+++ b/winsup/w32api/include/commctrl.h
@@ -513,6 +513,9 @@ extern "C" {
#define TB_PRESSBUTTON (WM_USER+3)
#define TB_HIDEBUTTON (WM_USER+4)
#define TB_INDETERMINATE (WM_USER+5)
+#if (_WIN32_IE >= 0x0400)
+#define TB_MARKBUTTON (WM_USER+6)
+#endif
#define TB_ISBUTTONENABLED (WM_USER+9)
#define TB_ISBUTTONCHECKED (WM_USER+10)
#define TB_ISBUTTONPRESSED (WM_USER+11)
@@ -1883,6 +1886,22 @@ typedef struct {
LPWSTR pszText;
int cchText;
} NMTBDISPINFOW, *LPNMTBDISPINFOW;
+typedef struct tagNMTBGETINFOTIPA
+{
+ NMHDR hdr;
+ LPSTR pszText;
+ int cchTextMax;
+ int iItem;
+ LPARAM lParam;
+} NMTBGETINFOTIPA, *LPNMTBGETINFOTIPA;
+typedef struct tagNMTBGETINFOTIPW
+{
+ NMHDR hdr;
+ LPWSTR pszText;
+ int cchTextMax;
+ int iItem;
+ LPARAM lParam;
+} NMTBGETINFOTIPW, *LPNMTBGETINFOTIPW;
typedef struct tagNMMOUSE {
NMHDR hdr;
DWORD_PTR dwItemSpec;
@@ -3243,6 +3262,8 @@ typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
#define TBN_GETDISPINFO TBN_GETDISPINFOW
#define NMTBDISPINFO NMTBDISPINFOW
#define LPNMTBDISPINFO LPNMTBDISPINFOW
+#define NMTBGETINFOTIP NMTBGETINFOTIPW
+#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPW
#endif
#define TBNOTIFY TBNOTIFYW
#define LPTBNOTIFY LPTBNOTIFYW
@@ -3386,6 +3407,8 @@ typedef NMHDDISPINFOW NMHDDISPINFO, *LPNMHDDISPINFO;
#define TBN_GETDISPINFO TBN_GETDISPINFOA
#define NMTBDISPINFO NMTBDISPINFOA
#define LPNMTBDISPINFO LPNMTBDISPINFOA
+#define NMTBGETINFOTIP NMTBGETINFOTIPA
+#define LPNMTBGETINFOTIP LPNMTBGETINFOTIPA
#endif /* _WIN32_IE >= 0x0400 */
#define SB_GETTEXT SB_GETTEXTA
#define SB_SETTEXT SB_SETTEXTA
diff --git a/winsup/w32api/include/ddk/ntapi.h b/winsup/w32api/include/ddk/ntapi.h
index a9a6b6e5c..c653e765b 100644
--- a/winsup/w32api/include/ddk/ntapi.h
+++ b/winsup/w32api/include/ddk/ntapi.h
@@ -48,6 +48,12 @@ typedef PVOID POBJECT_TYPE_LIST;
typedef PVOID PEXECUTION_STATE;
typedef PVOID PLANGID;
+#ifndef NtCurrentProcess
+#define NtCurrentProcess() ((HANDLE)0xFFFFFFFF)
+#endif /* NtCurrentProcess */
+#ifndef NtCurrentThread
+#define NtCurrentThread() ((HANDLE)0xFFFFFFFE)
+#endif /* NtCurrentThread */
/* System information and control */
@@ -1924,9 +1930,6 @@ NTAPI
ZwStopProfile(
IN HANDLE ProfileHandle);
-
-
-
/* Local Procedure Call (LPC) */
typedef struct _LPC_MESSAGE {
@@ -1940,6 +1943,8 @@ typedef struct _LPC_MESSAGE {
UCHAR Data[ANYSIZE_ARRAY];
} LPC_MESSAGE, *PLPC_MESSAGE;
+#define LPC_MESSAGE_BASE_SIZE 24
+
typedef enum _LPC_TYPE {
LPC_NEW_MESSAGE,
LPC_REQUEST,
diff --git a/winsup/w32api/include/ddk/ntifs.h b/winsup/w32api/include/ddk/ntifs.h
index b09c16306..0621d83c6 100644
--- a/winsup/w32api/include/ddk/ntifs.h
+++ b/winsup/w32api/include/ddk/ntifs.h
@@ -32,11 +32,11 @@
extern "C" {
#endif
-#pragma pack(push,4)
-
#include "ntddk.h"
#include "ntapi.h"
+#pragma pack(push,4)
+
#define VER_PRODUCTBUILD 10000
#ifndef NTSYSAPI
diff --git a/winsup/w32api/include/ddk/winddi.h b/winsup/w32api/include/ddk/winddi.h
index 5659e6f89..c658f4910 100644
--- a/winsup/w32api/include/ddk/winddi.h
+++ b/winsup/w32api/include/ddk/winddi.h
@@ -38,12 +38,9 @@ extern "C" {
#include "ntddk.h"
#include <wingdi.h>
-#if 1
+#ifndef __DD_INCLUDED__
/* FIXME: Some DirectDraw structures not added yet */
typedef ULONG_PTR FLATPTR;
-typedef PVOID LPVIDMEM;
-typedef PVOID LPVMEMHEAP;
-typedef PVOID PGLYPHOS;
typedef struct _DD_SURFACECALLBACKS {
} DD_SURFACECALLBACKS, *PDD_SURFACECALLBACKS;
typedef struct _DD_PALETTECALLBACKS {
@@ -52,10 +49,6 @@ typedef struct _DD_CALLBACKS {
} DD_CALLBACKS, *PDD_CALLBACKS;
typedef struct _DD_HALINFO {
} DD_HALINFO, *PDD_HALINFO;
-typedef struct _DDSCAPS {
-} DDSCAPS, *PDDSCAPS;
-typedef struct _DDSCAPSEX {
-} DDSCAPSEX, *PDDSCAPSEX;
typedef struct _VIDEOMEMORY {
} VIDEOMEMORY, *LPVIDEOMEMORY;
typedef struct _DD_DIRECTDRAW_GLOBAL {
@@ -64,6 +57,18 @@ typedef struct _DD_SURFACE_LOCAL {
} DD_SURFACE_LOCAL, *PDD_SURFACE_LOCAL, *LPDD_SURFACE_LOCAL;
#endif
+#ifndef __DDRAWI_INCLUDED__
+typedef PVOID LPVIDMEM;
+#endif
+
+#if !defined(__DD_INCLUDED__) && !defined(__DDRAWI_INCLUDED__)
+typedef struct _DDSCAPS {
+} DDSCAPS, *PDDSCAPS;
+typedef struct _DDSCAPSEX {
+} DDSCAPSEX, *PDDSCAPSEX;
+typedef PVOID LPVMEMHEAP;
+#endif
+
#if defined(_WIN32K_)
#define WIN32KAPI DECL_EXPORT
#else
@@ -464,6 +469,13 @@ typedef struct _DRVENABLEDATA {
DECLARE_HANDLE(HSEMAPHORE);
+typedef struct {
+ DWORD nSize;
+ HDC hdc;
+ PBYTE pvEMF;
+ PBYTE pvCurrentRecord;
+} EMFINFO, *PEMFINFO;
+
typedef struct _ENGSAFESEMAPHORE {
HSEMAPHORE hsem;
LONG lCount;
@@ -2147,7 +2159,7 @@ EngStretchBlt(
IN CLIPOBJ *pco,
IN XLATEOBJ *pxlo,
IN COLORADJUSTMENT *pca,
- IN POINTL pptlHTOrg,
+ IN POINTL *pptlHTOrg,
IN RECTL *prclDest,
IN RECTL *prclSrc,
IN POINTL *pptlMask,
@@ -2211,7 +2223,7 @@ EngTextOut(
IN RECTL *prclOpaque,
IN BRUSHOBJ *pboFore,
IN BRUSHOBJ *pboOpaque,
- IN POINTL pptlOrg,
+ IN POINTL *pptlOrg,
IN MIX mix);
WIN32KAPI
@@ -2490,7 +2502,7 @@ FONTOBJ_cGetGlyphs(
IN ULONG iMode,
IN ULONG cGlyph,
IN HGLYPH *phg,
- OUT PVOID **ppvGlyph);
+ OUT PVOID *ppvGlyph);
WIN32KAPI
FD_GLYPHSET*
@@ -2684,7 +2696,7 @@ DDKAPI
STROBJ_bEnumPositionsOnly(
IN STROBJ *pstro,
OUT ULONG *pc,
- OUT PGLYPHOS **ppgpos);
+ OUT PGLYPHPOS *ppgpos);
WIN32KAPI
BOOL
diff --git a/winsup/w32api/include/objidl.h b/winsup/w32api/include/objidl.h
index 5dd99fdbb..409e3ee54 100644
--- a/winsup/w32api/include/objidl.h
+++ b/winsup/w32api/include/objidl.h
@@ -179,7 +179,7 @@ typedef struct tagRPCOLEMESSAGE {
ULONG iMethod;
PVOID reserved2[5];
ULONG rpcFlags;
-} RPCOLEMESSAGE;
+} RPCOLEMESSAGE, *PRPCOLEMESSAGE;
typedef enum tagMKSYS {
MKSYS_NONE,
MKSYS_GENERICCOMPOSITE,
diff --git a/winsup/w32api/include/rpc.h b/winsup/w32api/include/rpc.h
index 0e3df5eaf..3ca74e9cd 100644
--- a/winsup/w32api/include/rpc.h
+++ b/winsup/w32api/include/rpc.h
@@ -17,6 +17,12 @@ extern "C" {
#define RPC_UNICODE_SUPPORTED
#endif
+#ifdef _RPCRT4_
+#define RPCRTAPI DECLSPEC_EXPORT
+#else
+#define RPCRTAPI DECLSPEC_IMPORT
+#endif
+
#ifndef __MIDL_USER_DEFINED
#define midl_user_allocate MIDL_user_allocate
#define midl_user_free MIDL_user_free
diff --git a/winsup/w32api/include/rpcdce.h b/winsup/w32api/include/rpcdce.h
index f2adce40f..59599d784 100644
--- a/winsup/w32api/include/rpcdce.h
+++ b/winsup/w32api/include/rpcdce.h
@@ -345,6 +345,7 @@ RPC_STATUS RPC_ENTRY RpcServerInqIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV**);
RPC_STATUS RPC_ENTRY RpcServerListen(unsigned int,unsigned int,unsigned int);
RPC_STATUS RPC_ENTRY RpcServerRegisterIf(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*);
RPC_STATUS RPC_ENTRY RpcServerRegisterIfEx(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
+RPC_STATUS RPC_ENTRY RpcServerRegisterIf2(RPC_IF_HANDLE,UUID*,RPC_MGR_EPV*,unsigned int,unsigned int,unsigned int,RPC_IF_CALLBACK_FN*);
RPC_STATUS RPC_ENTRY RpcServerUnregisterIf(RPC_IF_HANDLE,UUID*,unsigned int);
RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqs(unsigned int,void*);
RPC_STATUS RPC_ENTRY RpcServerUseAllProtseqsEx(unsigned int,void*,PRPC_POLICY);
diff --git a/winsup/w32api/include/rpcdcep.h b/winsup/w32api/include/rpcdcep.h
index c45bc4690..399d4acc4 100644
--- a/winsup/w32api/include/rpcdcep.h
+++ b/winsup/w32api/include/rpcdcep.h
@@ -77,10 +77,11 @@ typedef struct _RPC_TRANSFER_SYNTAX {
unsigned short VersMajor;
unsigned short VersMinor;
} RPC_TRANSFER_SYNTAX;
-typedef long(__stdcall *RPC_BLOCKING_FUNCTION)(void*,void*);
+typedef RPC_STATUS (*RPC_BLOCKING_FN)(void*,void*,void*);
long __stdcall I_RpcGetBuffer(RPC_MESSAGE*);
long __stdcall I_RpcSendReceive(RPC_MESSAGE*);
+long __stdcall I_RpcSend(RPC_MESSAGE*);
long __stdcall I_RpcFreeBuffer(RPC_MESSAGE*);
void __stdcall I_RpcRequestMutex(I_RPC_MUTEX*);
void __stdcall I_RpcClearMutex(I_RPC_MUTEX);
@@ -110,7 +111,7 @@ void __stdcall I_RpcSsDontSerializeContext(void);
long __stdcall I_RpcServerRegisterForwardFunction(RPC_FORWARD_FUNCTION*);
long __stdcall I_RpcConnectionInqSockBuffSize(unsigned long*,unsigned long*);
long __stdcall I_RpcConnectionSetSockBuffSize(unsigned long,unsigned long);
-long __stdcall I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FUNCTION);
+long __stdcall I_RpcBindingSetAsync(HANDLE,RPC_BLOCKING_FN);
long __stdcall I_RpcAsyncSendReceive(RPC_MESSAGE*,void*);
long __stdcall I_RpcGetThreadWindowHandle(void**);
long __stdcall I_RpcServerThreadPauseListening(void);
diff --git a/winsup/w32api/include/rpcndr.h b/winsup/w32api/include/rpcndr.h
index 8b728bbb5..d1c4eec72 100644
--- a/winsup/w32api/include/rpcndr.h
+++ b/winsup/w32api/include/rpcndr.h
@@ -196,7 +196,7 @@ typedef struct _MIDL_STUB_MESSAGE {
unsigned long *SizePtrLengthArray;
void*pArgQueue;
unsigned long dwStubPhase;
- unsigned long Reserved[5];
+ unsigned long w2kReserved[5];
} MIDL_STUB_MESSAGE,*PMIDL_STUB_MESSAGE;
#pragma pack(pop)
typedef void*(__RPC_API *GENERIC_BINDING_ROUTINE)(void*);
@@ -226,6 +226,37 @@ typedef struct _COMM_FAULT_OFFSETS {
short CommOffset;
short FaultOffset;
} COMM_FAULT_OFFSETS;
+typedef unsigned long (__RPC_USER *USER_MARSHAL_SIZING_ROUTINE)(unsigned long *,unsigned long,void *);
+typedef unsigned char *(__RPC_USER *USER_MARSHAL_MARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
+typedef unsigned char *(__RPC_USER *USER_MARSHAL_UNMARSHALLING_ROUTINE)(unsigned long *,unsigned char *,void *);
+typedef void (__RPC_USER *USER_MARSHAL_FREEING_ROUTINE)(unsigned long *,void *);
+typedef struct _USER_MARSHAL_ROUTINE_QUADRUPLE {
+ USER_MARSHAL_SIZING_ROUTINE pfnBufferSize;
+ USER_MARSHAL_MARSHALLING_ROUTINE pfnMarshall;
+ USER_MARSHAL_UNMARSHALLING_ROUTINE pfnUnmarshall;
+ USER_MARSHAL_FREEING_ROUTINE pfnFree;
+} USER_MARSHAL_ROUTINE_QUADRUPLE;
+typedef void (__RPC_USER *NDR_NOTIFY_ROUTINE)(void);
+typedef enum _IDL_CS_CONVERT {
+ IDL_CS_NO_CONVERT,
+ IDL_CS_IN_PLACE_CONVERT,
+ IDL_CS_NEW_BUFFER_CONVERT
+} IDL_CS_CONVERT;
+typedef void (__RPC_USER *CS_TYPE_NET_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
+typedef void (__RPC_USER *CS_TYPE_LOCAL_SIZE_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,unsigned long,IDL_CS_CONVERT*,unsigned long*,error_status_t*);
+typedef void (__RPC_USER *CS_TYPE_TO_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,void*,unsigned long,byte*,unsigned long*,error_status_t*);
+typedef void (__RPC_USER *CS_TYPE_FROM_NETCS_ROUTINE)(RPC_BINDING_HANDLE,unsigned long,byte*,unsigned long,unsigned long,void*,unsigned long*,error_status_t*);
+typedef void (__RPC_USER *CS_TAG_GETTING_ROUTINE)(RPC_BINDING_HANDLE,int,unsigned long*,unsigned long*,unsigned long*,error_status_t*);
+typedef struct _NDR_CS_SIZE_CONVERT_ROUTINES {
+ CS_TYPE_NET_SIZE_ROUTINE pfnNetSize;
+ CS_TYPE_TO_NETCS_ROUTINE pfnToNetCs;
+ CS_TYPE_LOCAL_SIZE_ROUTINE pfnLocalSize;
+ CS_TYPE_FROM_NETCS_ROUTINE pfnFromNetCs;
+} NDR_CS_SIZE_CONVERT_ROUTINES;
+typedef struct _NDR_CS_ROUTINES {
+ NDR_CS_SIZE_CONVERT_ROUTINES *pSizeConvertRoutines;
+ CS_TAG_GETTING_ROUTINE *pTagGettingRoutines;
+} NDR_CS_ROUTINES;
typedef struct _MIDL_STUB_DESC {
void*RpcInterfaceInformation;
void*(__RPC_API *pfnAllocate)(unsigned int);
@@ -245,6 +276,12 @@ typedef struct _MIDL_STUB_DESC {
MALLOC_FREE_STRUCT *pMallocFreeStruct;
long MIDLVersion;
const COMM_FAULT_OFFSETS *CommFaultOffsets;
+ const USER_MARSHAL_ROUTINE_QUADRUPLE *aUserMarshalQuadruple;
+ const NDR_NOTIFY_ROUTINE *NotifyRoutineTable;
+ ULONG_PTR mFlags;
+ const NDR_CS_ROUTINES *CsRoutineTables;
+ void *Reserved4;
+ ULONG_PTR Reserved5;
} MIDL_STUB_DESC;
typedef const MIDL_STUB_DESC *PMIDL_STUB_DESC;
typedef void*PMIDL_XMIT_TYPE;
@@ -467,6 +504,11 @@ void*RPC_ENTRY NdrAllocate(PMIDL_STUB_MESSAGE,unsigned int);
void RPC_ENTRY NdrClearOutParameters(PMIDL_STUB_MESSAGE,PFORMAT_STRING,void*);
void*RPC_ENTRY NdrOleAllocate(unsigned int);
void RPC_ENTRY NdrOleFree(void*);
+unsigned char*RPC_ENTRY NdrUserMarshalMarshall(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
+unsigned char*RPC_ENTRY NdrUserMarshalUnmarshall(PMIDL_STUB_MESSAGE,unsigned char**,PFORMAT_STRING,unsigned char);
+void RPC_ENTRY NdrUserMarshalBufferSize(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
+unsigned long RPC_ENTRY NdrUserMarshalMemorySize(PMIDL_STUB_MESSAGE,PFORMAT_STRING);
+void RPC_ENTRY NdrUserMarshalFree(PMIDL_STUB_MESSAGE,unsigned char*,PFORMAT_STRING);
#ifdef __cplusplus
}
#endif
diff --git a/winsup/w32api/include/rpcproxy.h b/winsup/w32api/include/rpcproxy.h
index 5700e541a..d4fcce533 100644
--- a/winsup/w32api/include/rpcproxy.h
+++ b/winsup/w32api/include/rpcproxy.h
@@ -152,6 +152,10 @@ typedef struct tagCStdStubBuffer {
const struct IRpcStubBufferVtbl * lpVtbl;
long RefCount;
struct IUnknown *pvServerObject;
+ const struct ICallFactoryVtbl * pCallFactoryVtbl;
+ const IID * pAsyncIID;
+ struct IPSFactoryBuffer * pPSFactory;
+ const struct IReleaseMarshalBuffersVtbl * pRMBVtbl;
} CStdStubBuffer;
typedef struct tagCStdPSFactoryBuffer {
const IPSFactoryBufferVtbl *lpVtbl;
diff --git a/winsup/w32api/include/winbase.h b/winsup/w32api/include/winbase.h
index c953afa9f..4cfadbf0c 100644
--- a/winsup/w32api/include/winbase.h
+++ b/winsup/w32api/include/winbase.h
@@ -1369,6 +1369,7 @@ DWORD WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
DWORD WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
BOOL WINAPI GetHandleInformation(HANDLE,PDWORD);
BOOL WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
+DWORD WINAPI GetLastError(void);
DWORD WINAPI GetLengthSid(PSID);
void WINAPI GetLocalTime(LPSYSTEMTIME);
DWORD WINAPI GetLogicalDrives(void);
@@ -1562,7 +1563,7 @@ BOOL WINAPI InitializeCriticalSectionAndSpinCount(LPCRITICAL_SECTION,DWORD);
DWORD WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
BOOL WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
BOOL WINAPI InitializeSid (PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
-#if (_WIN32_WINNT >= 0x0501)
+#if !defined(__WINDDK_H) && _WIN32_WINNT >= 0x0501
VOID WINAPI InitializeSListHead(PSLIST_HEADER);
#endif
#ifndef __INTERLOCKED_DECLARED
diff --git a/winsup/w32api/include/wingdi.h b/winsup/w32api/include/wingdi.h
index ec91de103..a4324b699 100644
--- a/winsup/w32api/include/wingdi.h
+++ b/winsup/w32api/include/wingdi.h
@@ -2014,6 +2014,14 @@ typedef struct tagENHMETAHEADER {
DWORD nPalEntries;
SIZEL szlDevice;
SIZEL szlMillimeters;
+#if (WINVER >= 0x0400)
+ DWORD cbPixelFormat;
+ DWORD offPixelFormat;
+ DWORD bOpenGL;
+#endif
+#if (WINVER >= 0x0500)
+ SIZEL szlMicrometers;
+#endif
} ENHMETAHEADER,*LPENHMETAHEADER;
typedef struct tagMETARECORD {
DWORD rdSize;
@@ -2114,6 +2122,21 @@ typedef struct _GLYPHMETRICS {
short gmCellIncX;
short gmCellIncY;
} GLYPHMETRICS,*LPGLYPHMETRICS;
+#if (_WIN32_WINNT >= 0x0500)
+typedef struct tagWCRANGE
+{
+ WCHAR wcLow;
+ USHORT cGlyphs;
+} WCRANGE, *PWCRANGE, *LPWCRANGE;
+typedef struct tagGLYPHSET
+{
+ DWORD cbThis;
+ DWORD flAccel;
+ DWORD cGlyphsSupported;
+ DWORD cRanges;
+ WCRANGE ranges[1];
+} GLYPHSET, *PGLYPHSET, *LPGLYPHSET;
+#endif
typedef struct tagKERNINGPAIR {
WORD wFirst;
WORD wSecond;
@@ -2210,7 +2233,7 @@ typedef struct _POLYTEXTA {
UINT uiFlags;
RECT rcl;
int *pdx;
-} POLYTEXTA, *PPOLYTEXTA;
+} POLYTEXTA, *PPOLYTEXTA, *LPPOLYTEXTA;
typedef struct _POLYTEXTW {
int x;
int y;
@@ -2219,7 +2242,7 @@ typedef struct _POLYTEXTW {
UINT uiFlags;
RECT rcl;
int *pdx;
-} POLYTEXTW, *PPOLYTEXTW;
+} POLYTEXTW, *PPOLYTEXTW, *LPPOLYTEXTW;
typedef struct tagPIXELFORMATDESCRIPTOR {
WORD nSize;
WORD nVersion;
@@ -2348,8 +2371,8 @@ typedef struct tagENUMLOGFONTEXA {
typedef struct tagENUMLOGFONTEXW {
LOGFONTW elfLogFont;
WCHAR elfFullName[LF_FULLFACESIZE];
- BYTE elfStyle[LF_FACESIZE];
- BYTE elfScript[LF_FACESIZE];
+ WCHAR elfStyle[LF_FACESIZE];
+ WCHAR elfScript[LF_FACESIZE];
} ENUMLOGFONTEXW,*LPENUMLOGFONTEXW;
typedef struct tagPOINTFX {
FIXED x;
@@ -2414,6 +2437,18 @@ typedef struct _DESIGNVECTOR {
DWORD dvNumAxes;
LONG dvValues[MM_MAX_NUMAXES];
} DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
+#if _WIN32_WINNT >= 0x0500
+typedef struct tagENUMLOGFONTEXDVA
+{
+ ENUMLOGFONTEXA elfEnumLogfontEx;
+ DESIGNVECTOR elfDesignVector;
+} ENUMLOGFONTEXDVA, *PENUMLOGFONTEXDVA, *LPENUMLOGFONTEXDVA;
+typedef struct tagENUMLOGFONTEXDVW
+{
+ ENUMLOGFONTEXW elfEnumLogfontEx;
+ DESIGNVECTOR elfDesignVector;
+} ENUMLOGFONTEXDVW, *PENUMLOGFONTEXDVW, *LPENUMLOGFONTEXDVW;
+#endif /* _WIN32_WINNT >= 0x0500 */
typedef USHORT COLOR16;
typedef struct _TRIVERTEX {
LONG x;
@@ -2843,10 +2878,13 @@ typedef TEXTMETRICW TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
#define ICMENUMPROC ICMENUMPROCW
#define FONTENUMPROC FONTENUMPROCW
typedef DEVMODEW DEVMODE,*PDEVMODE,*LPDEVMODE;
+typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
+typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
+typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;
typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS;
typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTW POLYTEXT;
+typedef POLYTEXTW POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
typedef LOGCOLORSPACEW LOGCOLORSPACE,*LPLOGCOLORSPACE;
typedef NEWTEXTMETRICW NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
typedef NEWTEXTMETRICEXW NEWTEXTMETRICEX;
@@ -2912,10 +2950,13 @@ typedef TEXTMETRICA TEXTMETRIC,*PTEXTMETRIC,*LPTEXTMETRIC;
#define ICMENUMPROC ICMENUMPROCA
#define FONTENUMPROC FONTENUMPROCA
typedef DEVMODEA DEVMODE,*PDEVMODE,*LPDEVMODE;
+typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
+typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;
+typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;
typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS;
typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
-typedef POLYTEXTA POLYTEXT;
+typedef POLYTEXTA POLYTEXT,*PPOLYTEXT,*LPPOLYTEXT;
typedef LOGCOLORSPACEA LOGCOLORSPACE,*LPLOGCOLORSPACE;
typedef NEWTEXTMETRICA NEWTEXTMETRIC,*PNEWTEXTMETRIC,*LPNEWTEXTMETRIC;
typedef NEWTEXTMETRICEXA NEWTEXTMETRICEX;
diff --git a/winsup/w32api/include/winspool.h b/winsup/w32api/include/winspool.h
index cc803ca27..e18eeda88 100644
--- a/winsup/w32api/include/winspool.h
+++ b/winsup/w32api/include/winspool.h
@@ -587,7 +587,7 @@ BOOL WINAPI DeletePrintProcessorW(LPWSTR,LPWSTR,LPWSTR);
BOOL WINAPI DeletePrintProvidorA(LPSTR,LPSTR,LPSTR);
BOOL WINAPI DeletePrintProvidorW(LPWSTR,LPWSTR,LPWSTR);
LONG WINAPI DocumentPropertiesA(HWND,HANDLE,LPSTR,PDEVMODEA,PDEVMODEA,DWORD);
-LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEA,PDEVMODEA,DWORD);
+LONG WINAPI DocumentPropertiesW(HWND,HANDLE,LPWSTR,PDEVMODEW,PDEVMODEW,DWORD);
BOOL WINAPI EndDocPrinter(HANDLE);
BOOL WINAPI EndPagePrinter(HANDLE);
BOOL WINAPI EnumFormsA(HANDLE,DWORD,PBYTE,DWORD,PDWORD,PDWORD);
diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h
index 186c5c052..2c020d06c 100644
--- a/winsup/w32api/include/winuser.h
+++ b/winsup/w32api/include/winuser.h
@@ -534,6 +534,7 @@ extern "C" {
#define SB_RIGHT 7
#define SB_BOTTOM 7
#define SB_TOP 6
+#define IS_INTRESOURCE(i) (((ULONG_PTR)(i) >> 16) == 0)
#define MAKEINTRESOURCEA(i) (LPSTR)((DWORD)((WORD)(i)))
#define MAKEINTRESOURCEW(i) (LPWSTR)((DWORD)((WORD)(i)))
#ifndef XFree86Server
@@ -743,6 +744,9 @@ extern "C" {
#define MB_NOFOCUS 0x00008000
#define MB_TYPEMASK 15
#define MB_TOPMOST 0x40000
+#if (WINVER >= 0x0500)
+#define MB_CANCELTRYCONTINUE 6
+#endif
#define IDOK 1
#define IDCANCEL 2
@@ -1203,6 +1207,41 @@ extern "C" {
#define SPI_SETTOGGLEKEYS 53
#define SPI_SETWHEELSCROLLLINES 105
#define SPI_SETWORKAREA 47
+#if (WINVER >= 0x0500)
+#define SPI_GETDESKWALLPAPER 115
+#define SPI_GETMOUSESPEED 112
+#define SPI_GETSCREENSAVERRUNNING 114
+#define SPI_GETACTIVEWINDOWTRACKING 0x1000
+#define SPI_GETACTIVEWNDTRKZORDER 0x100C
+#define SPI_GETCOMBOBOXANIMATION 0x1004
+#define SPI_GETCURSORSHADOW 0x101A
+#define SPI_GETGRADIENTCAPTIONS 0x1008
+#define SPI_GETHOTTRACKING 0x100E
+#define SPI_GETKEYBOARDCUES 0x100A
+#define SPI_GETLISTBOXSMOOTHSCROLLING 0x1006
+#define SPI_GETMENUANIMATION 0x1002
+#define SPI_GETMENUFADE 0x1012
+#define SPI_GETMENUUNDERLINES 0x100A
+#define SPI_GETSELECTIONFADE 0x1014
+#define SPI_GETTOOLTIPANIMATION 0x1016
+#define SPI_GETTOOLTIPFADE 0x1018
+#define SPI_SETACTIVEWINDOWTRACKING 0x1001
+#define SPI_SETACTIVEWNDTRKZORDER 0x100D
+#define SPI_SETCOMBOBOXANIMATION 0x1005
+#define SPI_SETCURSORSHADOW 0x101B
+#define SPI_SETGRADIENTCAPTIONS 0x1009
+#define SPI_SETHOTTRACKING 0x100F
+#define SPI_SETKEYBOARDCUES 0x100B
+#define SPI_SETLISTBOXSMOOTHSCROLLING 0x1007
+#define SPI_SETMENUANIMATION 0x1003
+#define SPI_SETMENUFADE 0x1013
+#define SPI_SETMENUUNDERLINES 0x100B
+#define SPI_SETMOUSESPEED 113
+#define SPI_SETSELECTIONFADE 0x1015
+#define SPI_SETTOOLTIPANIMATION 0x1017
+#define SPI_SETTOOLTIPFADE 0x1019
+#endif
+
#define SPIF_UPDATEINIFILE 1
#define SPIF_SENDWININICHANGE 2
#define SPIF_SENDCHANGE 2
@@ -1314,6 +1353,11 @@ extern "C" {
#define WM_NCMBUTTONDBLCLK 169
#define WM_NCMBUTTONDOWN 167
#define WM_NCMBUTTONUP 168
+#if (_WIN32_WINNT >= 0x0500)
+#define WM_NCXBUTTONDOWN 171
+#define WM_NCXBUTTONUP 172
+#define WM_NCXBUTTONDBLCLK 173
+#endif
#define WM_NCMOUSEMOVE 160
#define WM_NCPAINT 133
#define WM_NCRBUTTONDBLCLK 166
@@ -1394,7 +1438,14 @@ extern "C" {
#define WM_MBUTTONDBLCLK 521
#define WM_MOUSEWHEEL 522
#define WM_MOUSEFIRST 512
+#if (_WIN32_WINNT >= 0x0500)
+#define WM_XBUTTONDOWN 523
+#define WM_XBUTTONUP 524
+#define WM_XBUTTONDBLCLK 525
+#define WM_MOUSELAST 525
+#else
#define WM_MOUSELAST 522
+#endif
#define WM_MOUSEHOVER 0x2A1
#define WM_MOUSELEAVE 0x2A3
#if (_WIN32_WINNT >= 0x0400)
@@ -1594,6 +1645,7 @@ extern "C" {
#define DCX_CLIPSIBLINGS 16
#define DCX_CLIPCHILDREN 8
#define DCX_NORESETATTRS 4
+#define DCX_INTERSECTUPDATE 0x200
#define DCX_LOCKWINDOWUPDATE 0x400
#define DCX_EXCLUDERGN 64
#define DCX_INTERSECTRGN 128
@@ -1813,6 +1865,10 @@ extern "C" {
#define MK_SHIFT 4
#define MK_CONTROL 8
#define MK_MBUTTON 16
+#if(_WIN32_WINNT >= 0x0500)
+#define MK_XBUTTON1 32
+#define MK_XBUTTON2 64
+#endif
#define TPM_CENTERALIGN 4
#define TPM_LEFTALIGN 0
#define TPM_RIGHTALIGN 8
@@ -1841,6 +1897,7 @@ extern "C" {
#define HELP_QUIT 2
#define HELP_SETCONTENTS 5
#define HELP_SETINDEX 5
+#define HELP_SETWINPOS 0x203
#define HELP_CONTEXTMENU 0xa
#define HELP_FINDER 0xb
#define HELP_WM_HELP 0xc
@@ -3147,7 +3204,8 @@ long WINAPI BroadcastSystemMessageW(DWORD,LPDWORD,UINT,WPARAM,LPARAM);
long WINAPI BroadcastSystemMessageExA(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
long WINAPI BroadcastSystemMessageExW(DWORD,LPDWORD,UINT,WPARAM,LPARAM,PBSMINFO);
#endif /* (_WIN32_WINNT >= 0x0501) */
-BOOL WINAPI CallMsgFilter(PMSG,int);
+BOOL WINAPI CallMsgFilterA(LPMSG,INT);
+BOOL WINAPI CallMsgFilterW(LPMSG,INT);
LRESULT WINAPI CallNextHookEx(HHOOK,int,WPARAM,LPARAM);
LRESULT WINAPI CallWindowProcA(WNDPROC,HWND,UINT,WPARAM,LPARAM);
LRESULT WINAPI CallWindowProcW(WNDPROC,HWND,UINT,WPARAM,LPARAM);
@@ -3388,7 +3446,6 @@ int WINAPI GetKeyNameTextA(LONG,LPSTR,int);
int WINAPI GetKeyNameTextW(LONG,LPWSTR,int);
SHORT WINAPI GetKeyState(int);
HWND WINAPI GetLastActivePopup(HWND);
-DWORD WINAPI GetLastError(void);
HMENU WINAPI GetMenu(HWND);
LONG WINAPI GetMenuCheckMarkDimensions(void);
DWORD WINAPI GetMenuContextHelpId(HMENU);
@@ -3503,6 +3560,7 @@ BOOL WINAPI InsertMenuA(HMENU,UINT,UINT,UINT,LPCSTR);
BOOL WINAPI InsertMenuW(HMENU,UINT,UINT,UINT,LPCWSTR);
BOOL WINAPI InsertMenuItemA(HMENU,UINT,BOOL,LPCMENUITEMINFOA);
BOOL WINAPI InsertMenuItemW(HMENU,UINT,BOOL,LPCMENUITEMINFOW);
+INT WINAPI InternalGetWindowText(HWND,LPWSTR,INT);
BOOL WINAPI IntersectRect(LPRECT,LPCRECT,LPCRECT);
BOOL WINAPI InvalidateRect(HWND,LPCRECT,BOOL);
BOOL WINAPI InvalidateRgn(HWND,HRGN,BOOL);
@@ -3722,7 +3780,8 @@ LONG_PTR WINAPI SetWindowLongPtrW(HWND,int,LONG_PTR);
BOOL WINAPI SetWindowPlacement(HWND hWnd,const WINDOWPLACEMENT*);
BOOL WINAPI SetWindowPos(HWND,HWND,int,int,int,int,UINT);
int WINAPI SetWindowRgn(HWND,HRGN,BOOL);
-HOOKPROC WINAPI SetWindowsHookA(int,HOOKPROC);
+HHOOK WINAPI SetWindowsHookA(int,HOOKPROC);
+HHOOK WINAPI SetWindowsHookW(int,HOOKPROC);
HHOOK WINAPI SetWindowsHookExA(int,HOOKPROC,HINSTANCE,DWORD);
HHOOK WINAPI SetWindowsHookExW(int,HOOKPROC,HINSTANCE,DWORD);
BOOL WINAPI SetWindowTextA(HWND,LPCSTR);
@@ -3828,6 +3887,7 @@ typedef MONITORINFOEXW MONITORINFOEX, *LPMONITORINFOEX;
#define AppendMenu AppendMenuW
#define BroadcastSystemMessage BroadcastSystemMessageW
#define BroadcastSystemMessageEx BroadcastSystemMessageExW
+#define CallMsgFilter CallMsgFilterW
#define CallWindowProc CallWindowProcW
#define ChangeMenu ChangeMenuW
#define CharLower CharLowerW
@@ -3992,6 +4052,7 @@ typedef MONITORINFOEXA MONITORINFOEX, *LPMONITORINFOEX;
#define AppendMenu AppendMenuA
#define BroadcastSystemMessage BroadcastSystemMessageA
#define BroadcastSystemMessageEx BroadcastSystemMessageExA
+#define CallMsgFilter CallMsgFilterA
#define CallWindowProc CallWindowProcA
#define ChangeMenu ChangeMenuA
#define CharLower CharLowerA