aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChris Sutcliffe <ir0nh34d@users.sourceforge.net>2012-04-29 02:43:40 +0000
committerChris Sutcliffe <ir0nh34d@users.sourceforge.net>2012-04-29 02:43:40 +0000
commitd578467671df5214ce2de0c311374fd84477d269 (patch)
tree17cb601081b48a61f1807a2d6eea32fe3593f3c2
parent4a94927000e8755e3ee74a519a668029fbd49904 (diff)
downloadnewlib-d578467671df5214ce2de0c311374fd84477d269.zip
newlib-d578467671df5214ce2de0c311374fd84477d269.tar.gz
newlib-d578467671df5214ce2de0c311374fd84477d269.tar.bz2
2012-04-28 LRN <l_r_nightmare@users.sf.net>
* include/shobjidl.h: New file. * lib/shobjidl-uuid.c: New file. * lib/Makefile.in: Reference shobjidl-uuid.c.
-rw-r--r--winsup/w32api/ChangeLog6
-rw-r--r--winsup/w32api/include/shobjidl.h143
-rw-r--r--winsup/w32api/lib/Makefile.in4
-rw-r--r--winsup/w32api/lib/shobjidl-uuid.c13
4 files changed, 164 insertions, 2 deletions
diff --git a/winsup/w32api/ChangeLog b/winsup/w32api/ChangeLog
index fb7b4fe..72f35ee 100644
--- a/winsup/w32api/ChangeLog
+++ b/winsup/w32api/ChangeLog
@@ -1,3 +1,9 @@
+2012-04-28 LRN <l_r_nightmare@users.sf.net>
+
+ * include/shobjidl.h: New file.
+ * lib/shobjidl-uuid.c: New file.
+ * lib/Makefile.in: Reference shobjidl-uuid.c.
+
2012-03-19 Ben Greear <greear@users.sf.net>
* include/routprot.h (IP_LOCAL_BINDING): Move above IP_ADAPTER_BINDING_INFO
diff --git a/winsup/w32api/include/shobjidl.h b/winsup/w32api/include/shobjidl.h
new file mode 100644
index 0000000..c69e5cf
--- /dev/null
+++ b/winsup/w32api/include/shobjidl.h
@@ -0,0 +1,143 @@
+#ifndef _SHLOBJIDL_H
+#define _SHLOBJIDL_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <ole2.h>
+#include <shlguid.h>
+#include <shellapi.h>
+#pragma pack(push,1)
+#include <commctrl.h>
+
+extern const IID IID_ITaskbarList3;
+extern const GUID CLSID_ITaskbarList;
+
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562322%28v=vs.85%29.aspx */
+typedef enum THUMBBUTTONMASK {
+ THB_BITMAP = 0x00000001,
+ THB_ICON = 0x00000002,
+ THB_TOOLTIP = 0x00000004,
+ THB_FLAGS = 0x00000008
+} THUMBBUTTONMASK;
+
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd562321%28v=vs.85%29.aspx */
+typedef enum THUMBBUTTONFLAGS {
+ THBF_ENABLED = 0x00000000,
+ THBF_DISABLED = 0x00000001,
+ THBF_DISMISSONCLICK = 0x00000002,
+ THBF_NOBACKGROUND = 0x00000004,
+ THBF_HIDDEN = 0x00000008,
+ THBF_NONINTERACTIVE = 0x00000010
+} THUMBBUTTONFLAGS;
+
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391559%28v=vs.85%29.aspx */
+typedef struct THUMBBUTTON {
+ THUMBBUTTONMASK dwMask;
+ UINT iId;
+ UINT iBitmap;
+ HICON hIcon;
+ WCHAR szTip[260];
+ THUMBBUTTONFLAGS dwFlags;
+} THUMBBUTTON, *LPTHUMBBUTTON;
+
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
+typedef enum TBPFLAG {
+ TBPF_NOPROGRESS = 0x00000000,
+ TBPF_INDETERMINATE = 0x00000001,
+ TBPF_NORMAL = 0x00000002,
+ TBPF_ERROR = 0x00000004,
+ TBPF_PAUSED = 0x00000008
+} TBPFLAG;
+
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774652%28v=vs.85%29.aspx */
+#define INTERFACE ITaskbarList
+DECLARE_INTERFACE_(ITaskbarList, IUnknown)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774650%28v=vs.85%29.aspx */
+ STDMETHOD(HrInit)(THIS) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774646%28v=vs.85%29.aspx */
+ STDMETHOD(AddTab)(THIS_ HWND) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774648%28v=vs.85%29.aspx */
+ STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774644%28v=vs.85%29.aspx */
+ STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774655%28v=vs.85%29.aspx */
+ STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
+};
+#undef INTERFACE
+typedef ITaskbarList *LPTASKBARLIST;
+
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774638%28v=vs.85%29.aspx */
+#define INTERFACE ITaskbarList2
+DECLARE_INTERFACE_(ITaskbarList2, ITaskbarList)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(HrInit)(THIS) PURE;
+ STDMETHOD(AddTab)(THIS_ HWND) PURE;
+ STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
+ STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
+ STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/bb774640%28v=vs.85%29.aspx */
+ STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE;
+};
+#undef INTERFACE
+typedef ITaskbarList2 *LPTASKBARLIST2;
+
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391692%28v=vs.85%29.aspx */
+#define INTERFACE ITaskbarList3
+DECLARE_INTERFACE_(ITaskbarList3, ITaskbarList2)
+{
+ STDMETHOD(QueryInterface)(THIS_ REFIID,PVOID*) PURE;
+ STDMETHOD_(ULONG,AddRef)(THIS) PURE;
+ STDMETHOD_(ULONG,Release)(THIS) PURE;
+ STDMETHOD(HrInit)(THIS) PURE;
+ STDMETHOD(AddTab)(THIS_ HWND) PURE;
+ STDMETHOD(DeleteTab)(THIS_ HWND) PURE;
+ STDMETHOD(ActivateTab)(THIS_ HWND) PURE;
+ STDMETHOD(SetActiveAlt)(THIS_ HWND) PURE;
+ STDMETHOD(MarkFullscreenWindow)(THIS_ HWND,BOOL) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391698%28v=vs.85%29.aspx */
+ STDMETHOD(SetProgressValue)(THIS_ ULONGLONG,ULONGLONG) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391697%28v=vs.85%29.aspx */
+ STDMETHOD(SetProgressState)(THIS_ HWND,TBPFLAG) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391694%28v=vs.85%29.aspx */
+ STDMETHOD(RegisterTab)(THIS_ HWND,HWND) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391706%28v=vs.85%29.aspx */
+ STDMETHOD(UnregisterTab)(THIS_ HWND) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391700%28v=vs.85%29.aspx */
+ STDMETHOD(SetTabOrder)(THIS_ HWND,HWND) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391699%28v=vs.85%29.aspx */
+ STDMETHOD(SetTabActive)(THIS_ HWND,HWND,DWORD) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391703%28v=vs.85%29.aspx */
+ STDMETHOD(ThumbBarAddButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391705%28v=vs.85%29.aspx */
+ STDMETHOD(ThumbBarUpdateButtons)(THIS_ HWND,UINT,LPTHUMBBUTTON) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391704%28v=vs.85%29.aspx */
+ STDMETHOD(ThumbBarSetImageList)(THIS_ HWND,HIMAGELIST) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391696%28v=vs.85%29.aspx */
+ STDMETHOD(SetOverlayIcon)(THIS_ HWND,HICON,LPCWSTR) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391702%28v=vs.85%29.aspx */
+ STDMETHOD(SetThumbnailTooltip)(THIS_ HWND,LPCWSTR) PURE;
+/* http://msdn.microsoft.com/en-us/library/windows/desktop/dd391701%28v=vs.85%29.aspx */
+ STDMETHOD(SetThumbnailClip)(THIS_ HWND,RECT*) PURE;
+};
+#undef INTERFACE
+typedef ITaskbarList3 *LPTASKBARLIST3;
+
+#pragma pack(pop)
+#ifdef __cplusplus
+}
+#endif
+
+
+#endif /* _SHLOBJIDL_H */
diff --git a/winsup/w32api/lib/Makefile.in b/winsup/w32api/lib/Makefile.in
index 63a62e0..9720156 100644
--- a/winsup/w32api/lib/Makefile.in
+++ b/winsup/w32api/lib/Makefile.in
@@ -42,7 +42,7 @@ UUID_OBJS = \
objsafe-uuid.o oaidl-uuid.o docobj-uuid.o comcat-uuid.o \
exdisp-uuid.o mlang-uuid.o objidl-uuid.o cguid-uuid.o \
olectlid-uuid.o ativscp-uuid.o urlmon-uuid.o hlink-uuid.o \
- hlguids-uuid.o extras-uuid.o devguid.o power-uuid.o
+ hlguids-uuid.o extras-uuid.o devguid.o power-uuid.o shobjidl-uuid.o
EXTRA_OBJS = \
shell32.o scrnsave.o scrnsavw.o largeint.o gdiplus.o \
@@ -54,7 +54,7 @@ UUID_SOURCES = \
objsafe-uuid.c oaidl-uuid.c docobj-uuid.c comcat-uuid.c \
exdisp-uuid.c mlang-uuid.c objidl-uuid.c cguid-uuid.c \
olectlid-uuid.c ativscp-uuid.c urlmon-uuid.c hlink-uuid.c \
- hlguids-uuid.c extras-uuid.c devguid.c power-uuid.c
+ hlguids-uuid.c extras-uuid.c devguid.c power-uuid.c shobjidl-uuid.c
SOURCES = \
scrnsave.c shell32.c largeint.c gdiplus.c $(UUID_SOURCES) \
diff --git a/winsup/w32api/lib/shobjidl-uuid.c b/winsup/w32api/lib/shobjidl-uuid.c
new file mode 100644
index 0000000..47712fb
--- /dev/null
+++ b/winsup/w32api/lib/shobjidl-uuid.c
@@ -0,0 +1,13 @@
+/* shobjidl-uuid.c */
+/* Generate GUIDs for Object IDL interfaces */
+
+/* All CLSIDs defined in this file were extracted from
+ * HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Interface\ */
+
+/* All IIDs defined in this file were extracted from
+ * HKEY_CLASSES_ROOT\Interface\ */
+
+#define INITGUID
+#include <basetyps.h>
+DEFINE_GUID(IID_ITaskbarList3,0xea1afb91,0x9e28,0x4b86,0x90,0xe9,0x9e,0x9f,0x8a,0x5e,0xef,0xaf);
+DEFINE_GUID(CLSID_ITaskbarList,0x56FDF342L,0xFD6D,0x11d0,0x95,0x8A,0x00,0x60,0x97,0xC9,0xA0,0x90);