Moved the ShellExecuteEx definitions to shellapi.h where they belong.

diff --git a/include/shellapi.h b/include/shellapi.h
index ed4208a..2b523fa 100644
--- a/include/shellapi.h
+++ b/include/shellapi.h
@@ -227,6 +227,89 @@
 HINSTANCE	WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
 #define     ShellExecute WINELIB_NAME_AW(ShellExecute)
 
+#define SE_ERR_FNF              2       /* file not found */
+#define SE_ERR_PNF              3       /* path not found */
+#define SE_ERR_ACCESSDENIED     5       /* access denied */
+#define SE_ERR_OOM              8       /* out of memory */
+#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 SEE_MASK_CLASSNAME        0x00000001
+#define SEE_MASK_CLASSKEY         0x00000003
+#define SEE_MASK_IDLIST           0x00000004
+#define SEE_MASK_INVOKEIDLIST     0x0000000c
+#define SEE_MASK_ICON             0x00000010
+#define SEE_MASK_HOTKEY           0x00000020
+#define SEE_MASK_NOCLOSEPROCESS   0x00000040
+#define SEE_MASK_CONNECTNETDRV    0x00000080
+#define SEE_MASK_FLAG_DDEWAIT     0x00000100
+#define SEE_MASK_DOENVSUBST       0x00000200
+#define SEE_MASK_FLAG_NO_UI       0x00000400
+#define SEE_MASK_UNICODE          0x00004000
+#define SEE_MASK_NO_CONSOLE       0x00008000
+#define SEE_MASK_ASYNCOK          0x00100000
+#define SEE_MASK_HMONITOR         0x00200000
+
+typedef struct _SHELLEXECUTEINFOA
+{       DWORD cbSize;
+        ULONG fMask;
+        HWND hwnd;
+        LPCSTR   lpVerb;
+        LPCSTR   lpFile;
+        LPCSTR   lpParameters;
+        LPCSTR   lpDirectory;
+       INT nShow;
+        HINSTANCE hInstApp;
+        /* Optional fields */
+        LPVOID lpIDList;
+        LPCSTR   lpClass;
+        HKEY hkeyClass;
+        DWORD dwHotKey;
+        union
+        { HANDLE hIcon;
+          HANDLE hMonitor;
+        } DUMMYUNIONNAME;
+        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;
+        /* Optional fields*/
+        LPVOID lpIDList;
+        LPCWSTR  lpClass;
+        HKEY hkeyClass;
+        DWORD dwHotKey;
+        union
+        { HANDLE hIcon;
+          HANDLE hMonitor;
+        } DUMMYUNIONNAME;
+        HANDLE hProcess;
+} SHELLEXECUTEINFOW, *LPSHELLEXECUTEINFOW;
+
+#define SHELLEXECUTEINFO   WINELIB_NAME_AW(SHELLEXECUTEINFO)
+#define LPSHELLEXECUTEINFO WINELIB_NAME_AW(LPSHELLEXECUTEINFO)
+
+BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo);
+BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo);
+#define ShellExecuteEx  WINELIB_NAME_AW(ShellExecuteEx)
+
+void WINAPI WinExecErrorA(HWND hwnd,INT error, LPCSTR lpstrFileName, LPCSTR lpstrTitle);
+void WINAPI WinExecErrorW(HWND hwnd,INT error, LPCWSTR lpstrFileName, LPCWSTR lpstrTitle);
+#define WinExecError  WINELIB_NAME_AW(WinExecError)
+
 /******************************************
  * Tray Notification
  */