--- /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