mingw-5.1.4/win32/include/shellapi.h
changeset 0 76b1f169d9fe
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mingw-5.1.4/win32/include/shellapi.h	Fri Apr 03 17:16:45 2009 +0100
@@ -0,0 +1,363 @@
+#ifndef _SHELLAPI_H
+#define _SHELLAPI_H
+#if __GNUC__ >= 3
+#pragma GCC system_header
+#endif
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#define WINSHELLAPI DECLSPEC_IMPORT
+#define ABE_LEFT	0
+#define ABE_TOP	1
+#define ABE_RIGHT	2
+#define ABE_BOTTOM	3
+#define ABS_AUTOHIDE	1
+#define ABS_ALWAYSONTOP	2
+#define SEE_MASK_CLASSNAME         0x1
+#define SEE_MASK_CLASSKEY          0x3
+#define SEE_MASK_IDLIST            0x4
+#define SEE_MASK_INVOKEIDLIST      0xc
+#define SEE_MASK_ICON              0x10
+#define SEE_MASK_HOTKEY            0x20
+#define SEE_MASK_NOCLOSEPROCESS    0x40
+#define SEE_MASK_CONNECTNETDRV     0x80
+#define SEE_MASK_FLAG_DDEWAIT      0x100
+#define SEE_MASK_DOENVSUBST        0x200
+#define SEE_MASK_FLAG_NO_UI        0x400
+#define SEE_MASK_NO_CONSOLE        0x8000
+#define SEE_MASK_UNICODE           0x10000
+#define SEE_MASK_ASYNCOK           0x100000
+#define SEE_MASK_HMONITOR          0x200000
+#if (_WIN32_IE >= 0x0600)
+#define SEE_MASK_NOZONECHECKS      0x800000
+#define SEE_MASK_FLAG_LOG_USAGE    0x4000000
+#endif
+#define ABM_NEW	0
+#define ABM_REMOVE	1
+#define ABM_QUERYPOS	2
+#define ABM_SETPOS	3
+#define ABM_GETSTATE	4
+#define ABM_GETTASKBARPOS	5
+#define ABM_ACTIVATE	6
+#define ABM_GETAUTOHIDEBAR	7
+#define ABM_SETAUTOHIDEBAR	8
+#define ABM_WINDOWPOSCHANGED	9
+#define ABN_STATECHANGE		0
+#define ABN_POSCHANGED		1
+#define ABN_FULLSCREENAPP	2
+#define ABN_WINDOWARRANGE	3
+#define NIM_ADD	0
+#define NIM_MODIFY	1
+#define NIM_DELETE	2
+#if (_WIN32_IE >= 0x0500)
+#define NOTIFYICON_VERSION 3
+#define NIM_SETFOCUS	3
+#define NIM_SETVERSION	4
+#define NIN_POPUPOPEN WM_USER+6
+#define NIN_POPUPCLOSE WM_USER+7
+#endif
+#define NIF_MESSAGE	0x00000001
+#define NIF_ICON	0x00000002
+#define NIF_TIP		0x00000004
+#define NIF_STATE	0x00000008
+#if (_WIN32_IE >= 0x0500)
+#define NIF_INFO	0x00000010
+#endif
+#if (_WIN32_IE >= 0x0600)
+#define NIF_GUID	0x00000020
+#endif
+#if (_WIN32_IE >= 0x0500)
+#define NIIF_NONE	0x00000000
+#define NIIF_INFO	0x00000001
+#define NIIF_WARNING	0x00000002
+#define NIIF_ERROR	0x00000003
+#endif
+#if (_WIN32_IE >= 0x0600)
+#define NIIF_ICON_MASK	0x0000000F
+#define NIIF_NOSOUND	0x00000010
+#endif
+#if (_WIN32_IE >= 0x0500)
+#define NIS_HIDDEN	0x00000001
+#define NIS_SHAREDICON	0x00000002
+#endif
+#define SE_ERR_FNF	2
+#define SE_ERR_PNF	3
+#define SE_ERR_ACCESSDENIED	5
+#define SE_ERR_OOM	8
+#define SE_ERR_DLLNOTFOUND	32
+#define SE_ERR_SHARE	26
+#define SE_ERR_ASSOCINCOMPLETE	27
+#define SE_ERR_DDETIMEOUT	28
+#define SE_ERR_DDEFAIL	29
+#define SE_ERR_DDEBUSY	30
+#define SE_ERR_NOASSOC	31
+#define FO_MOVE	1
+#define FO_COPY	2
+#define FO_DELETE	3
+#define FO_RENAME	4
+#define FOF_MULTIDESTFILES	1
+#define FOF_CONFIRMMOUSE	2
+#define FOF_SILENT	4
+#define FOF_RENAMEONCOLLISION	8
+#define FOF_NOCONFIRMATION	16
+#define FOF_WANTMAPPINGHANDLE	32
+#define FOF_ALLOWUNDO	64
+#define FOF_FILESONLY	128
+#define FOF_SIMPLEPROGRESS	256
+#define FOF_NOCONFIRMMKDIR	512
+#define FOF_NOERRORUI	1024
+#define FOF_NOCOPYSECURITYATTRIBS	2048
+#define PO_DELETE 19
+#define PO_RENAME 20
+#define PO_PORTCHANGE 32
+#define PO_REN_PORT 52
+#define SHGFI_ICON	256
+#define SHGFI_DISPLAYNAME	512
+#define SHGFI_TYPENAME	1024
+#define SHGFI_ATTRIBUTES	2048
+#define SHGFI_ICONLOCATION	4096
+#define SHGFI_EXETYPE 8192
+#define SHGFI_SYSICONINDEX 16384
+#define SHGFI_LINKOVERLAY 32768
+#define SHGFI_SELECTED 65536
+#define SHGFI_ATTR_SPECIFIED 131072
+#define SHGFI_LARGEICON	0
+#define SHGFI_SMALLICON	1
+#define SHGFI_OPENICON	2
+#define SHGFI_SHELLICONSIZE	4
+#define SHGFI_PIDL	8
+#define SHGFI_USEFILEATTRIBUTES	16
+#define SHERB_NOCONFIRMATION 1
+#define SHERB_NOPROGRESSUI 2
+#define SHERB_NOSOUND 4
+#ifdef UNICODE
+#define NOTIFYICONDATA_V2_SIZE 936
+#define NOTIFYICONDATA_V1_SIZE 152
+#else
+#define NOTIFYICONDATA_V2_SIZE 488
+#define NOTIFYICONDATA_V1_SIZE 88
+#endif
+
+typedef WORD FILEOP_FLAGS;
+typedef WORD PRINTEROP_FLAGS;
+#include <pshpack2.h>
+typedef struct _AppBarData {
+	DWORD	cbSize;
+	HWND	hWnd;
+	UINT	uCallbackMessage;
+	UINT	uEdge;
+	RECT	rc;
+	LPARAM lParam;
+} APPBARDATA,*PAPPBARDATA;
+DECLARE_HANDLE(HDROP);
+
+typedef struct _NOTIFYICONDATAA {
+  DWORD cbSize;
+  HWND hWnd;
+  UINT uID;
+  UINT uFlags;
+  UINT uCallbackMessage;
+  HICON hIcon;
+#if _WIN32_IE >= 0x0500
+  CHAR szTip[128];
+  DWORD dwState;
+  DWORD dwStateMask;
+  CHAR szInfo[256];
+  _ANONYMOUS_UNION union {
+    UINT uTimeout;
+    UINT uVersion;
+  } DUMMYUNIONNAME;
+  CHAR szInfoTitle[64];
+  DWORD dwInfoFlags;
+#else
+  CHAR szTip[64];
+#endif
+#if _WIN32_IE >= 0x600
+  GUID guidItem;
+#endif
+#if _WIN32_WINNT >= 0x600
+  HICON hBalloonIcon;
+#endif
+} NOTIFYICONDATAA,*PNOTIFYICONDATAA;
+
+typedef struct _NOTIFYICONDATAW {
+  DWORD cbSize;
+  HWND hWnd;
+  UINT uID;
+  UINT uFlags;
+  UINT uCallbackMessage;
+  HICON hIcon;
+#if _WIN32_IE >= 0x0500
+  WCHAR szTip[128];
+  DWORD dwState;
+  DWORD dwStateMask;
+  WCHAR szInfo[256];
+  _ANONYMOUS_UNION union {
+    UINT uTimeout;
+    UINT uVersion;
+  } DUMMYUNIONNAME;
+  WCHAR szInfoTitle[64];
+  DWORD dwInfoFlags;
+#else
+  WCHAR szTip[64];
+#endif
+#if _WIN32_IE >= 0x600
+  GUID guidItem;
+#endif
+#if _WIN32_WINNT >= 0x600
+  HICON hBalloonIcon;
+#endif
+} NOTIFYICONDATAW,*PNOTIFYICONDATAW;
+
+typedef struct _SHELLEXECUTEINFOA {
+	DWORD cbSize;
+	ULONG fMask;
+	HWND hwnd;
+	LPCSTR lpVerb;
+	LPCSTR lpFile;
+	LPCSTR lpParameters;
+	LPCSTR lpDirectory;
+	int nShow;
+	HINSTANCE hInstApp;
+	PVOID lpIDList;
+	LPCSTR lpClass;
+	HKEY hkeyClass;
+	DWORD dwHotKey;
+	HANDLE hIcon;
+	HANDLE hProcess;
+} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;
+typedef struct _SHELLEXECUTEINFOW {
+	DWORD cbSize;
+	ULONG fMask;
+	HWND hwnd;
+	LPCWSTR lpVerb;
+	LPCWSTR lpFile;
+	LPCWSTR lpParameters;
+	LPCWSTR lpDirectory;
+	int nShow;
+	HINSTANCE hInstApp;
+	PVOID lpIDList;
+	LPCWSTR lpClass;
+	HKEY hkeyClass;
+	DWORD dwHotKey;
+	HANDLE hIcon;
+	HANDLE hProcess;
+} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;
+typedef struct _SHFILEOPSTRUCTA {
+	HWND hwnd;
+	UINT wFunc;
+	LPCSTR pFrom;
+	LPCSTR pTo;
+	FILEOP_FLAGS fFlags;
+	BOOL fAnyOperationsAborted;
+	PVOID hNameMappings;
+	LPCSTR lpszProgressTitle;
+} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA;
+typedef struct _SHFILEOPSTRUCTW {
+	HWND hwnd;
+	UINT wFunc;
+	LPCWSTR pFrom;
+	LPCWSTR pTo;
+	FILEOP_FLAGS fFlags;
+	BOOL fAnyOperationsAborted;
+	PVOID hNameMappings;
+	LPCWSTR lpszProgressTitle;
+} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW;
+typedef struct _SHFILEINFOA {
+	HICON hIcon;
+	int iIcon;
+	DWORD dwAttributes;
+	CHAR szDisplayName[MAX_PATH];
+	CHAR szTypeName[80];
+} SHFILEINFOA;
+typedef struct _SHFILEINFOW {
+	HICON hIcon;
+	int iIcon;
+	DWORD dwAttributes;
+	WCHAR szDisplayName[MAX_PATH];
+	WCHAR szTypeName[80];
+} SHFILEINFOW;
+typedef struct _SHQUERYRBINFO {
+	DWORD   cbSize;
+	__int64 i64Size;
+	__int64 i64NumItems;
+} SHQUERYRBINFO, *LPSHQUERYRBINFO;
+#include <poppack.h>
+
+LPWSTR * WINAPI CommandLineToArgvW(LPCWSTR,int*);
+void WINAPI DragAcceptFiles(HWND,BOOL);
+void WINAPI DragFinish(HDROP);
+UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT);
+UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
+BOOL WINAPI DragQueryPoint(HDROP,LPPOINT);
+HICON WINAPI DuplicateIcon(HINSTANCE,HICON);
+HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD);
+HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD);
+HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
+HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
+UINT WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
+UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
+HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
+HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
+UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA);
+BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
+BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
+int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
+int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
+HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
+HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
+BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
+BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
+int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
+int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
+void WINAPI SHFreeNameMappings(HANDLE);
+DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
+DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
+HRESULT WINAPI SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO);
+HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO);
+HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD);
+HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD);
+
+#ifdef UNICODE
+typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA;
+typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
+typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
+typedef SHFILEINFOW SHFILEINFO;
+#define DragQueryFile DragQueryFileW
+#define ExtractAssociatedIcon ExtractAssociatedIconW
+#define ExtractIcon ExtractIconW
+#define ExtractIconEx ExtractIconExW
+#define FindExecutable FindExecutableW
+#define Shell_NotifyIcon Shell_NotifyIconW
+#define ShellAbout ShellAboutW
+#define ShellExecute ShellExecuteW
+#define ShellExecuteEx ShellExecuteExW
+#define SHFileOperation SHFileOperationW
+#define SHGetFileInfo SHGetFileInfoW
+#define SHQueryRecycleBin SHQueryRecycleBinW
+#define SHEmptyRecycleBin SHEmptyRecycleBinW
+
+#else
+typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA;
+typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
+typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
+typedef SHFILEINFOA SHFILEINFO;
+#define DragQueryFile DragQueryFileA
+#define ExtractAssociatedIcon ExtractAssociatedIconA
+#define ExtractIcon ExtractIconA
+#define ExtractIconEx ExtractIconExA
+#define FindExecutable FindExecutableA
+#define Shell_NotifyIcon Shell_NotifyIconA
+#define ShellAbout ShellAboutA
+#define ShellExecute ShellExecuteA
+#define ShellExecuteEx ShellExecuteExA
+#define SHFileOperation SHFileOperationA
+#define SHGetFileInfo SHGetFileInfoA
+#define SHQueryRecycleBin SHQueryRecycleBinA
+#define SHEmptyRecycleBin SHEmptyRecycleBinA
+#endif
+#ifdef __cplusplus
+}
+#endif
+#endif