From 44506780d9bec36f13f3ee79958d1fc6d446d71f Mon Sep 17 00:00:00 2001 From: Earnie Boyd Date: Thu, 1 Nov 2001 19:42:57 +0000 Subject: 2001-11-01 Danny Smith * include/basetyps.h (DECLARE_INTERFACE): Don't add __attribute__((com_interface)) for __GNUC__ >= 3. 2001-11-01 Danny Smith * include/commdlg.h (PRINTPAGERANGE): Add structure definition. (PRINTDLGEX[AW]): Likewise. (PrintDlgEx[AW]): Add function declaration. * lib/comdlg32.def (PrintDlgEx[AW]): Add function stubs. * ChangeLog: Fix typo in last entry. 2001-11-01 TAMURA Kent * include/objbase.h (CoGetClassObject): Change third parameter to COSERVERINFO*. 2001-10-30 Danny Smith * include/winuser.h (MOUSEEVENTF_WHEEL): Define. Thanks to: Kim Saunders. * include/oleauto.h: Define VARIANT* flags for VariantChangeType. Thanks to: Pat Thoyts. * include/winnt.h: Change C++ style comment to C style. * include/shlobj.h: Ditto. * include/objbase.h (enum tagCOINIT): Remove comma at end of list. * include/oledlg.h (enum tagOLEUIPASTEFLAG): Ditto. * include/oleidl.h (enum tagDROPEFFECT): Mark as __extension__ (enum not limited to range of int). * include/oaidl.h (struct tagVARIANT): Mark as __extension__ (struct with no named members), ifndef NONAMELESSUNION. 2001-10-30 Danny Smith * include/winuser.h (CREATESTRUCT): UNICODE it. (CBT_CREATEWND): Likewise. 2001-10-20 Corinna Vinschen * include/winnetwk.h (WNetGetResourceInformationA): Add declaration. (WNetGetResourceInformationW): Ditto. (WNetGetResourceInformation): Add define. 2001-10-12 Pedro A Aranda * include/winuser.h (POINTSTOPOINT): Use explicit casts before extracting words. --- winsup/w32api/ChangeLog | 51 ++++++++++++++++++++++++ winsup/w32api/include/basetyps.h | 6 ++- winsup/w32api/include/commdlg.h | 83 +++++++++++++++++++++++++++++++++++++++- winsup/w32api/include/oaidl.h | 3 ++ winsup/w32api/include/objbase.h | 4 +- winsup/w32api/include/oleauto.h | 5 ++- winsup/w32api/include/oledlg.h | 2 +- winsup/w32api/include/oleidl.h | 3 ++ winsup/w32api/include/shlobj.h | 2 +- winsup/w32api/include/winnt.h | 13 +++++-- winsup/w32api/include/winuser.h | 42 ++++++++++++++++---- winsup/w32api/lib/comdlg32.def | 2 + 12 files changed, 197 insertions(+), 19 deletions(-) diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog index 8e6201b..d547070 100644 --- a/winsup/w32api/ChangeLog +++ b/winsup/w32api/ChangeLog @@ -1,9 +1,60 @@ +2001-11-01 Danny Smith + + * include/basetyps.h (DECLARE_INTERFACE): Don't add + __attribute__((com_interface)) for __GNUC__ >= 3. + +2001-11-01 Danny Smith + + * include/commdlg.h (PRINTPAGERANGE): Add structure + definition. + (PRINTDLGEX[AW]): Likewise. + (PrintDlgEx[AW]): Add function declaration. + * lib/comdlg32.def (PrintDlgEx[AW]): Add function stubs. + * ChangeLog: Fix typo in last entry. + + +2001-11-01 TAMURA Kent + + * include/objbase.h (CoGetClassObject): Change third parameter + to COSERVERINFO*. + +2001-10-30 Danny Smith + + * include/winuser.h (MOUSEEVENTF_WHEEL): Define. + Thanks to: Kim Saunders. + * include/oleauto.h: Define VARIANT* flags for VariantChangeType. + Thanks to: Pat Thoyts. + * include/winnt.h: Change C++ style comment to C style. + * include/shlobj.h: Ditto. + * include/objbase.h (enum tagCOINIT): Remove comma at end of + list. + * include/oledlg.h (enum tagOLEUIPASTEFLAG): Ditto. + * include/oleidl.h (enum tagDROPEFFECT): Mark as __extension__ + (enum not limited to range of int). + * include/oaidl.h (struct tagVARIANT): Mark as __extension__ + (struct with no named members), ifndef NONAMELESSUNION. + +2001-10-30 Danny Smith + + * include/winuser.h (CREATESTRUCT): UNICODE it. + (CBT_CREATEWND): Likewise. + 2001-10-20 Corinna Vinschen * include/winnetwk.h (WNetGetResourceInformationA): Add declaration. (WNetGetResourceInformationW): Ditto. (WNetGetResourceInformation): Add define. +2001-10-12 Pedro A Aranda + + * include/winuser.h (POINTSTOPOINT): Use explicit casts + before extracting words. + +2001-10-04 Danny Smith + + * include/winnt.h: Add PF_* defines. + Thanks to: "Wizord" + 2001-09-18 Danny Smith * include/winnt.h (_[U]LARGE_INTEGER): Mark nameless structure diff --git a/winsup/w32api/include/basetyps.h b/winsup/w32api/include/basetyps.h index bcfad6f..ed0912c 100644 --- a/winsup/w32api/include/basetyps.h +++ b/winsup/w32api/include/basetyps.h @@ -26,7 +26,11 @@ #define PURE =0 #define THIS_ #define THIS void -#if defined(__GNUC__) && !defined(NOCOMATTRIBUTE) +/* + __attribute__((com_interface)) is obsolete in __GNUC__ >= 3 + g++ vtables are now COM-compatible by default +*/ +#if defined(__GNUC__) && __GNUC__ < 3 && !defined(NOCOMATTRIBUTE) #define DECLARE_INTERFACE(i) interface __attribute__((com_interface)) i #define DECLARE_INTERFACE_(i,b) interface __attribute__((com_interface)) i : public b #else diff --git a/winsup/w32api/include/commdlg.h b/winsup/w32api/include/commdlg.h index 4d56ec2..cc19c41 100644 --- a/winsup/w32api/include/commdlg.h +++ b/winsup/w32api/include/commdlg.h @@ -426,6 +426,73 @@ typedef struct tagPDW { HANDLE hPrintTemplate; HANDLE hSetupTemplate; } PRINTDLGW,*LPPRINTDLGW; +#if (WINVER >= 0x0500) +/* We could #include here but that would bring +in a cascade of rpc dependencies */ +#ifndef __IUnknown_INTERFACE_DEFINED__ +#define __IUnknown_INTERFACE_DEFINED__ +#undef INTERFACE +#define INTERFACE IUnknown +DECLARE_INTERFACE(IUnknown) +{ + STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; + STDMETHOD_(ULONG,AddRef)(THIS) PURE; + STDMETHOD_(ULONG,Release)(THIS) PURE; +}; +typedef IUnknown *LPUNKNOWN; +#endif +#include /* for HPROPSHEETPAGE */ +typedef struct tagPRINTPAGERANGE { + DWORD nFromPage; + DWORD nToPage; +} PRINTPAGERANGE, *LPPRINTPAGERANGE; +typedef struct tagPDEXA { + DWORD lStructSize; + HWND hwndOwner; + HGLOBAL hDevMode; + HGLOBAL hDevNames; + HDC hDC; + DWORD Flags; + DWORD Flags2; + DWORD ExclusionFlags; + DWORD nPageRanges; + DWORD nMaxPageRanges; + LPPRINTPAGERANGE lpPageRanges; + DWORD nMinPage; + DWORD nMaxPage; + DWORD nCopies; + HINSTANCE hInstance; + LPCSTR lpPrintTemplateName; + LPUNKNOWN lpCallback; + DWORD nPropertyPages; + HPROPSHEETPAGE *lphPropertyPages; + DWORD nStartPage; + DWORD dwResultAction; +} PRINTDLGEXA, *LPPRINTDLGEXA; +typedef struct tagPDEXW { + DWORD lStructSize; + HWND hwndOwner; + HGLOBAL hDevMode; + HGLOBAL hDevNames; + HDC hDC; + DWORD Flags; + DWORD Flags2; + DWORD ExclusionFlags; + DWORD nPageRanges; + DWORD nMaxPageRanges; + LPPRINTPAGERANGE lpPageRanges; + DWORD nMinPage; + DWORD nMaxPage; + DWORD nCopies; + HINSTANCE hInstance; + LPCWSTR lpPrintTemplateName; + LPUNKNOWN lpCallback; + DWORD nPropertyPages; + HPROPSHEETPAGE *lphPropertyPages; + DWORD nStartPage; + DWORD dwResultAction; +} PRINTDLGEXW, *LPPRINTDLGEXW; +#endif /* WINVER >= 0x0500 */ BOOL WINAPI ChooseColorA(LPCHOOSECOLORA); BOOL WINAPI ChooseColorW(LPCHOOSECOLORW); @@ -446,6 +513,10 @@ BOOL WINAPI PrintDlgA(LPPRINTDLGA); BOOL WINAPI PrintDlgW(LPPRINTDLGW); HWND WINAPI ReplaceTextA(LPFINDREPLACEA); HWND WINAPI ReplaceTextW(LPFINDREPLACEW); +#if (WINVER >= 0x0500) +HRESULT WINAPI PrintDlgExA(LPPRINTDLGEXA); +HRESULT WINAPI PrintDlgExW(LPPRINTDLGEXW); +#endif /* WINVER >= 0x0500 */ #ifdef UNICODE #define LBSELCHSTRING LBSELCHSTRINGW @@ -471,7 +542,11 @@ typedef PRINTDLGW PRINTDLG,*LPPRINTDLG; #define PageSetupDlg PageSetupDlgW #define PrintDlg PrintDlgW #define ReplaceText ReplaceTextW -#else +#if (WINVER >= 0x0500) +typedef PRINTDLGEXW PRINTDLGEX, *LPPRINTDLGEX; +#define PrintDlgEx PrintDlgExW +#endif /* WINVER >= 0x0500 */ +#else /* UNICODE */ #define LBSELCHSTRING LBSELCHSTRINGA #define SHAREVISTRING SHAREVISTRINGA #define FILEOKSTRING FILEOKSTRINGA @@ -495,7 +570,11 @@ typedef PRINTDLGA PRINTDLG,*LPPRINTDLG; #define PageSetupDlg PageSetupDlgA #define PrintDlg PrintDlgA #define ReplaceText ReplaceTextA -#endif +#if (WINVER >= 0x0500) +typedef PRINTDLGEXA PRINTDLGEX, *LPPRINTDLGEX; +#define PrintDlgEx PrintDlgExA +#endif /* WINVER >= 0x0500 */ +#endif /* UNICODE */ #pragma pack(pop) #ifdef __cplusplus } diff --git a/winsup/w32api/include/oaidl.h b/winsup/w32api/include/oaidl.h index b42c3cd..4e66e54 100644 --- a/winsup/w32api/include/oaidl.h +++ b/winsup/w32api/include/oaidl.h @@ -171,6 +171,9 @@ typedef struct tagSAFEARRAY { PVOID pvData; SAFEARRAYBOUND rgsabound[1]; }SAFEARRAY,*LPSAFEARRAY; +#if defined (__GNUC__) && !defined (NONAMELESSUNION) +__extension__ /* no named members */ +#endif typedef struct tagVARIANT { _ANONYMOUS_UNION union { struct __tagVARIANT { diff --git a/winsup/w32api/include/objbase.h b/winsup/w32api/include/objbase.h index b2541a1..c25d754 100644 --- a/winsup/w32api/include/objbase.h +++ b/winsup/w32api/include/objbase.h @@ -69,7 +69,7 @@ typedef enum tagCOINIT { COINIT_APARTMENTTHREADED = 0x2, COINIT_MULTITHREADED = 0x0, COINIT_DISABLE_OLE1DDE = 0x4, - COINIT_SPEED_OVER_MEMORY = 0x8, + COINIT_SPEED_OVER_MEMORY = 0x8 } COINIT; typedef enum tagSTDMSHLFLAGS { SMEXF_SERVER = 0x01, @@ -89,7 +89,7 @@ WINOLEAPI CoCreateStandardMalloc(DWORD,IMalloc**); WINOLEAPI_(ULONG) DebugCoGetRpcFault(void); WINOLEAPI_(void) DebugCoSetRpcFault(ULONG); #endif -WINOLEAPI CoGetClassObject(REFCLSID,DWORD,PVOID,REFIID,PVOID*); +WINOLEAPI CoGetClassObject(REFCLSID,DWORD,COSERVERINFO*,REFIID,PVOID*); WINOLEAPI CoRegisterClassObject(REFCLSID,LPUNKNOWN,DWORD,DWORD,PDWORD); WINOLEAPI CoRevokeClassObject(DWORD); WINOLEAPI CoGetMarshalSizeMax(ULONG*,REFIID,LPUNKNOWN,DWORD,PVOID,DWORD); diff --git a/winsup/w32api/include/oleauto.h b/winsup/w32api/include/oleauto.h index 7e3ba12..0e5d8f7 100644 --- a/winsup/w32api/include/oleauto.h +++ b/winsup/w32api/include/oleauto.h @@ -6,7 +6,10 @@ #define STDOLE_MAJORVERNUM 1 #define STDOLE_MINORVERNUM 0 #define STDOLE_LCID 0 -#define VARIANT_NOVALUEPROP 1 +#define VARIANT_NOVALUEPROP 0x01 +#define VARIANT_ALPHABOOL 0x02 +#define VARIANT_NOUSEOVERRIDE 0x04 +#define VARIANT_LOCALBOOL 0x08 #define VAR_TIMEVALUEONLY 0x0001 #define VAR_DATEVALUEONLY 0x0002 #define MEMBERID_NIL DISPID_UNKNOWN diff --git a/winsup/w32api/include/oledlg.h b/winsup/w32api/include/oledlg.h index 24cfd4b..438b53e 100644 --- a/winsup/w32api/include/oledlg.h +++ b/winsup/w32api/include/oledlg.h @@ -353,7 +353,7 @@ typedef enum tagOLEUIPASTEFLAG { OLEUIPASTE_LINKTYPE8=128, OLEUIPASTE_PASTE=512, OLEUIPASTE_LINKANYTYPE=1024, - OLEUIPASTE_ENABLEICON=2048, + OLEUIPASTE_ENABLEICON=2048 } OLEUIPASTEFLAG; typedef struct tagOLEUIPASTEENTRYW { FORMATETC fmtetc; diff --git a/winsup/w32api/include/oleidl.h b/winsup/w32api/include/oleidl.h index c5e602b..f1fafa3 100644 --- a/winsup/w32api/include/oleidl.h +++ b/winsup/w32api/include/oleidl.h @@ -34,6 +34,9 @@ typedef enum tagOLEGETMONIKER { OLEGETMONIKER_UNASSIGN, OLEGETMONIKER_TEMPFORUSER } OLEGETMONIKER; +#ifdef __GNUC__ +__extension__ /* IS0 C says enums limited to range of int */ +#endif typedef enum tagDROPEFFECT { DROPEFFECT_NONE=0, DROPEFFECT_COPY=1, diff --git a/winsup/w32api/include/shlobj.h b/winsup/w32api/include/shlobj.h index b8a985d..2997c57 100644 --- a/winsup/w32api/include/shlobj.h +++ b/winsup/w32api/include/shlobj.h @@ -445,7 +445,7 @@ typedef IShellPropSheetExt *LPSHELLPROPSHEETEXT; #undef INTERFACE #define INTERFACE IExtractIcon -DECLARE_INTERFACE_(IExtractIcon, IUnknown) // exic +DECLARE_INTERFACE_(IExtractIcon, IUnknown) /* exic */ { STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; diff --git a/winsup/w32api/include/winnt.h b/winsup/w32api/include/winnt.h index b12224c..65f5d15 100644 --- a/winsup/w32api/include/winnt.h +++ b/winsup/w32api/include/winnt.h @@ -548,6 +548,14 @@ typedef BYTE BOOLEAN,*PBOOLEAN; #define PROCESSOR_ARCHITECTURE_ALPHA 2 #define PROCESSOR_ARCHITECTURE_PPC 3 #define PROCESSOR_ARCHITECTURE_UNKNOWN 0xFFFF +#define PF_FLOATING_POINT_PRECISION_ERRATA 0 +#define PF_FLOATING_POINT_EMULATED 1 +#define PF_COMPARE_EXCHANGE_DOUBLE 2 +#define PF_MMX_INSTRUCTIONS_AVAILABLE 3 +#define PF_PPC_MOVEMEM_64BIT_OK 4 +#define PF_ALPHA_BYTE_INSTRUCTIONS 5 +#define PF_XMMI_INSTRUCTIONS_AVAILABLE 6 +#define PF_3DNOW_INSTRUCTIONS_AVAILABLE 7 #define PAGE_READONLY 2 #define PAGE_READWRITE 4 #define PAGE_WRITECOPY 8 @@ -1633,9 +1641,8 @@ typedef struct _CONTEXT { } CONTEXT; #elif defined(ARM) -// -// The following flags control the contents of the CONTEXT structure. -// + +/* The following flags control the contents of the CONTEXT structure. */ #define CONTEXT_ARM 0x0000040 #define CONTEXT_CONTROL (CONTEXT_ARM | 0x00000001L) diff --git a/winsup/w32api/include/winuser.h b/winsup/w32api/include/winuser.h index ddcdae1..26986cc 100644 --- a/winsup/w32api/include/winuser.h +++ b/winsup/w32api/include/winuser.h @@ -920,6 +920,7 @@ extern "C" { #define MOUSEEVENTF_RIGHTUP 16 #define MOUSEEVENTF_MIDDLEDOWN 32 #define MOUSEEVENTF_MIDDLEUP 64 +#define MOUSEEVENTF_WHEEL 0x0800 #define MOUSEEVENTF_ABSOLUTE 32768 #define PM_NOREMOVE 0 #define PM_REMOVE 1 @@ -1887,7 +1888,7 @@ typedef struct tagANIMATIONINFO { UINT cbSize; int iMinAnimate; } ANIMATIONINFO,*LPANIMATIONINFO; -typedef struct tagCREATESTRUCT { +typedef struct tagCREATESTRUCTA { LPVOID lpCreateParams; HINSTANCE hInstance; HMENU hMenu; @@ -1897,14 +1898,32 @@ typedef struct tagCREATESTRUCT { int y; int x; LONG style; - LPCTSTR lpszName; - LPCTSTR lpszClass; + LPCSTR lpszName; + LPCSTR lpszClass; DWORD dwExStyle; -} CREATESTRUCT,*LPCREATESTRUCT; -typedef struct tagCBT_CREATEWND { - LPCREATESTRUCT lpcs; +} CREATESTRUCTA,*LPCREATESTRUCTA; +typedef struct tagCREATESTRUCTW { + LPVOID lpCreateParams; + HINSTANCE hInstance; + HMENU hMenu; + HWND hwndParent; + int cy; + int cx; + int y; + int x; + LONG style; + LPCWSTR lpszName; + LPCWSTR lpszClass; + DWORD dwExStyle; +} CREATESTRUCTW,*LPCREATESTRUCTW; +typedef struct tagCBT_CREATEWNDA { + LPCREATESTRUCTA lpcs; + HWND hwndInsertAfter; +} CBT_CREATEWNDA, *LPCBT_CREATEWNDA; +typedef struct tagCBT_CREATEWNDW { + LPCREATESTRUCTW lpcs; HWND hwndInsertAfter; -} CBT_CREATEWND; +} CBT_CREATEWNDW, *LPCBT_CREATEWNDW; typedef struct tagCBTACTIVATESTRUCT { BOOL fMouse; HWND hWndActive; @@ -2442,7 +2461,10 @@ typedef struct tagSTYLESTRUCT { #define MAKELPARAM(l,h) ((LPARAM)MAKELONG(l,h)) #define MAKEWPARAM(l,h) ((WPARAM)MAKELONG(l,h)) #define MAKELRESULT(l,h) ((LRESULT)MAKELONG(l,h)) -#define POINTSTOPOINT(p,ps) {(p).x=LOWORD(pts);(ps).y=HIWORD(ps);} +#define POINTSTOPOINT(p,ps) { \ + (p).x=LOWORD(*(DWORD *)&ps); \ + (p).y=HIWORD(*(DWORD *)&ps); \ +} #define POINTTOPOINTS(p) ((POINTS)MAKELONG((p).x,(p).y)) HKL WINAPI ActivateKeyboardLayout(HKL,UINT); @@ -2985,6 +3007,8 @@ typedef ICONMETRICSW ICONMETRICS,*LPICONMETRICS; typedef NONCLIENTMETRICSW NONCLIENTMETRICS,*LPNONCLIENTMETRICS; typedef SERIALKEYSW SERIALKEYS,*LPSERIALKEYS; typedef SOUNDSENTRYW SOUNDSENTRY,*LPSOUNDSENTRY; +typedef CREATESTRUCTW CREATESTRUCT, *LPCREATESTRUCT; +typedef CBT_CREATEWNDW CBT_CREATEWND, *LPCBT_CREATEWND; typedef MDICREATESTRUCTW MDICREATESTRUCT,*LPMDICREATESTRUCT; typedef MULTIKEYHELPW MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP; #define AppendMenu AppendMenuW @@ -3131,6 +3155,8 @@ typedef ICONMETRICSA ICONMETRICS,*LPICONMETRICS; typedef NONCLIENTMETRICSA NONCLIENTMETRICS,*LPNONCLIENTMETRICS; typedef SERIALKEYSA SERIALKEYS,*LPSERIALKEYS; typedef SOUNDSENTRYA SOUNDSENTRY,*LPSOUNDSENTRY; +typedef CREATESTRUCTA CREATESTRUCT, *LPCREATESTRUCT; +typedef CBT_CREATEWNDA CBT_CREATEWND, *LPCBT_CREATEWND; typedef MDICREATESTRUCTA MDICREATESTRUCT,*LPMDICREATESTRUCT; typedef MULTIKEYHELPA MULTIKEYHELP,*PMULTIKEYHELP,*LPMULTIKEYHELP; #define AppendMenu AppendMenuA diff --git a/winsup/w32api/lib/comdlg32.def b/winsup/w32api/lib/comdlg32.def index 49d94a7..bad754d 100644 --- a/winsup/w32api/lib/comdlg32.def +++ b/winsup/w32api/lib/comdlg32.def @@ -17,6 +17,8 @@ LoadAlterBitmap@12 PageSetupDlgA@4 PageSetupDlgW@4 PrintDlgA@4 +PrintDlgExA@4 +PrintDlgExW@4 PrintDlgW@4 ReplaceTextA@4 ReplaceTextW@4 -- cgit v1.1