Change parameter in SHGetSpecialFolderPathA/W to int as documented in
MSDN.
Add some more definitions and move SHGetDesktopFolder() from
wine/obj_shellfolder.h to here.

diff --git a/dlls/shell32/shellpath.c b/dlls/shell32/shellpath.c
index fa3b276..3f5c483 100644
--- a/dlls/shell32/shellpath.c
+++ b/dlls/shell32/shellpath.c
@@ -1014,7 +1014,7 @@
 BOOL WINAPI SHGetSpecialFolderPathA (
 	HWND hwndOwner,
 	LPSTR szPath,
-	DWORD csidl,
+	int csidl,
 	BOOL bCreate)
 {
 	CHAR	szValueName[MAX_PATH], szDefaultPath[MAX_PATH], szBuildPath[MAX_PATH];
@@ -1024,7 +1024,7 @@
 	DWORD	folder = csidl & CSIDL_FOLDER_MASK;
 	CHAR	*p;
 
-	TRACE("%p,%p,csidl=%lu,0x%04x\n", hwndOwner,szPath,csidl,bCreate);
+	TRACE("%p,%p,csidl=%d,0x%04x\n", hwndOwner,szPath,csidl,bCreate);
 
 	if ((folder >= sizeof(CSIDL_Data) / sizeof(CSIDL_Data[0])) ||
 	    (CSIDL_Data[folder].hRootKey == 0))
@@ -1163,7 +1163,7 @@
 BOOL WINAPI SHGetSpecialFolderPathW (
 	HWND hwndOwner,
 	LPWSTR szPath,
-	DWORD csidl,
+	int csidl,
 	BOOL bCreate)
 {
 	char szTemp[MAX_PATH];
@@ -1174,7 +1174,7 @@
                 szPath[MAX_PATH-1] = 0;
         }
 
-	TRACE("%p,%p,csidl=%lu,0x%04x\n", hwndOwner,szPath,csidl,bCreate);
+	TRACE("%p,%p,csidl=%d,0x%04x\n", hwndOwner,szPath,csidl,bCreate);
 
 	return TRUE;
 }
@@ -1185,7 +1185,7 @@
 BOOL WINAPI SHGetSpecialFolderPathAW (
 	HWND hwndOwner,
 	LPVOID szPath,
-	DWORD csidl,
+	int csidl,
 	BOOL bCreate)
 
 {
diff --git a/include/shlobj.h b/include/shlobj.h
index ddf5c2b..622359b 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -320,6 +320,7 @@
 #define BIF_RETURNFSANCESTORS  0x0008
 #define BIF_EDITBOX            0x0010
 #define BIF_VALIDATE           0x0020
+#define BIF_NEWDIALOGSTYLE     0x0040   
 
 #define BIF_BROWSEFORCOMPUTER  0x1000
 #define BIF_BROWSEFORPRINTER   0x2000
@@ -371,6 +372,9 @@
 #define SHDID_NET_SHARE             15
 #define SHDID_NET_RESTOFNET         16
 #define SHDID_NET_OTHER             17
+#define SHDID_COMPUTER_IMAGING      18
+#define SHDID_COMPUTER_AUDIO        19
+#define SHDID_COMPUTER_SHAREDDOCS   20
 
 typedef struct _SHDESCRIPTIONID
 {   DWORD   dwDescriptionId;
@@ -381,12 +385,10 @@
 HRESULT WINAPI SHGetDataFromIDListW(LPSHELLFOLDER psf, LPCITEMIDLIST pidl, int nFormat, LPVOID pv, int cb);
 #define  SHGetDataFromIDList WINELIB_NAME_AW(SHGetDataFromIDList)
 
-BOOL WINAPI SHGetSpecialFolderPathA (HWND hwndOwner,LPSTR szPath,DWORD csidl,BOOL bCreate);
-BOOL WINAPI SHGetSpecialFolderPathW (HWND hwndOwner,LPWSTR szPath,DWORD csidl,BOOL bCreate);
+BOOL WINAPI SHGetSpecialFolderPathA (HWND hwndOwner, LPSTR szPath, int nFolder, BOOL bCreate);
+BOOL WINAPI SHGetSpecialFolderPathW (HWND hwndOwner, LPWSTR szPath, int nFolder, BOOL bCreate);
 #define  SHGetSpecialFolderPath WINELIB_NAME_AW(SHGetSpecialFolderPath)
 
-HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, INT nFolder, LPITEMIDLIST * ppidl);
-
 /****************************************************************************
 * shlview structures
 */
@@ -555,7 +557,8 @@
 /****************************************************************************
 * SHGetSpecialFolderLocation API
 */
-HRESULT WINAPI SHGetSpecialFolderLocation(HWND, INT, LPITEMIDLIST *);
+HRESULT WINAPI SHGetSpecialFolderLocation(HWND hwndOwner, int nFolder, LPITEMIDLIST * ppidl);
+HRESULT WINAPI SHGetFolderLocation(HWND hwndOwner, int nFolder, HANDLE hToken, DWORD dwReserved, LPITEMIDLIST *ppidl);
 
 #define CSIDL_DESKTOP		0x0000
 #define CSIDL_INTERNET		0x0001
@@ -624,6 +627,11 @@
 #define CSIDL_FLAG_MASK		0xff00
 
 /****************************************************************************
+ * SHGetDesktopFolder API
+ */
+DWORD WINAPI SHGetDesktopFolder(IShellFolder * *);
+
+/****************************************************************************
  * SHBindToParent API
  */
 HRESULT WINAPI SHBindToParent(LPCITEMIDLIST pidl, REFIID riid, LPVOID *ppv, LPCITEMIDLIST *ppidlLast);
diff --git a/include/wine/obj_shellfolder.h b/include/wine/obj_shellfolder.h
index 9ef8c74..15fe09a 100644
--- a/include/wine/obj_shellfolder.h
+++ b/include/wine/obj_shellfolder.h
@@ -33,15 +33,6 @@
 DEFINE_GUID(IID_IPersistFolder3, 0xcef04fdf, 0xfe72, 0x11d2, 0x87, 0xa5, 0x0, 0xc0, 0x4f, 0x68, 0x37, 0xcf);
 typedef struct IPersistFolder3 IPersistFolder3, *LPPERSISTFOLDER3;
 
-
-/************************************************************************
- * Desktopfolder
- */
-
-extern IShellFolder * pdesktopfolder;
-
-DWORD WINAPI SHGetDesktopFolder(IShellFolder * *);
-
 /* GetDetailsEx */
 #define PID_FINDDATA		0
 #define PID_NETRESOURCE		1