diff --git a/include/psapi.h b/include/psapi.h
index 738e625640c7e8f49c716f28e91a69d5ded32c4f..b125a4688a7ba2f3f8313389b3e1f1bfdcd4a066 100644
--- a/include/psapi.h
+++ b/include/psapi.h
@@ -48,4 +48,73 @@ typedef struct _PSAPI_WS_WATCH_INFORMATION {
   LPVOID FaultingVa;
 } PSAPI_WS_WATCH_INFORMATION, *PPSAPI_WS_WATCH_INFORMATION;
 
+typedef struct _PERFORMACE_INFORMATION {
+    DWORD cb;
+    SIZE_T CommitTotal;
+    SIZE_T CommitLimit;
+    SIZE_T CommitPeak;
+    SIZE_T PhysicalTotal;
+    SIZE_T PhysicalAvailable;
+    SIZE_T SystemCache;
+    SIZE_T KernelTotal;
+    SIZE_T KernelPaged;
+    SIZE_T KernelNonpaged;
+    SIZE_T PageSize;
+    DWORD HandleCount;
+    DWORD ProcessCount;
+    DWORD ThreadCount;
+} PERFORMACE_INFORMATION, *PPERFORMACE_INFORMATION;
+
+typedef struct _ENUM_PAGE_FILE_INFORMATION {
+    DWORD cb;
+    DWORD Reserved;
+    SIZE_T TotalSize;
+    SIZE_T TotalInUse;
+    SIZE_T PeakUsage;
+} ENUM_PAGE_FILE_INFORMATION, *PENUM_PAGE_FILE_INFORMATION;
+
+typedef BOOL (*PENUM_PAGE_FILE_CALLBACKA) (LPVOID, PENUM_PAGE_FILE_INFORMATION, LPCSTR);
+typedef BOOL (*PENUM_PAGE_FILE_CALLBACKW) (LPVOID, PENUM_PAGE_FILE_INFORMATION, LPCWSTR);
+#define PENUM_PAGE_FILE_CALLBACK WINELIB_NAME_AW(PENUM_PAGE_FILE_CALLBACK)
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+BOOL  WINAPI EnumProcesses(DWORD*, DWORD, DWORD*);
+BOOL  WINAPI EnumProcessModules(HANDLE, HMODULE*, DWORD, LPDWORD);
+DWORD WINAPI GetModuleBaseNameA(HANDLE, HMODULE, LPSTR, DWORD);
+DWORD WINAPI GetModuleBaseNameW(HANDLE, HMODULE, LPWSTR, DWORD);
+#define      GetModuleBaseName WINELIB_NAME_AW(GetModuleBaseName)
+DWORD WINAPI GetModuleFileNameExA(HANDLE, HMODULE, LPSTR, DWORD);
+DWORD WINAPI GetModuleFileNameExW(HANDLE, HMODULE, LPWSTR, DWORD);
+#define      GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
+BOOL  WINAPI GetModuleInformation(HANDLE, HMODULE, LPMODULEINFO, DWORD);
+BOOL  WINAPI EmptyWorkingSet(HANDLE);
+BOOL  WINAPI QueryWorkingSet(HANDLE, PVOID, DWORD);
+BOOL  WINAPI InitializeProcessForWsWatch(HANDLE);
+BOOL  WINAPI GetWsChanges(HANDLE, PPSAPI_WS_WATCH_INFORMATION, DWORD);
+DWORD WINAPI GetMappedFileNameW(HANDLE, LPVOID, LPWSTR, DWORD);
+DWORD WINAPI GetMappedFileNameA(HANDLE, LPVOID, LPSTR, DWORD);
+#define      GetMappedFileName WINELIB_NAME_AW(GetMappedFileName)
+BOOL  WINAPI EnumDeviceDrivers(LPVOID*, DWORD, LPDWORD);
+DWORD WINAPI GetDeviceDriverBaseNameA(LPVOID, LPSTR, DWORD);
+DWORD WINAPI GetDeviceDriverBaseNameW(LPVOID, LPWSTR, DWORD);
+#define      GetDeviceDriverBaseName WINELIB_NAME_AW(GetDeviceDriverBaseName)
+DWORD WINAPI GetDeviceDriverFileNameA(LPVOID, LPSTR, DWORD);
+DWORD WINAPI GetDeviceDriverFileNameW(LPVOID, LPWSTR, DWORD);
+#define      GetDeviceDriverFileName WINELIB_NAME_AW(GetDeviceDriverFileName)
+BOOL  WINAPI GetProcessMemoryInfo(HANDLE, PPROCESS_MEMORY_COUNTERS, DWORD);
+BOOL  WINAPI GetPerformanceInfo(PPERFORMACE_INFORMATION, DWORD);
+BOOL  WINAPI EnumPageFilesA(PENUM_PAGE_FILE_CALLBACKA, LPVOID);
+BOOL  WINAPI EnumPageFilesW(PENUM_PAGE_FILE_CALLBACKW, LPVOID);
+#define EnumPageFiles WINELIB_NAME_AW(EnumPageFiles)
+DWORD WINAPI GetProcessImageFileNameA(HANDLE, LPSTR, DWORD);
+DWORD WINAPI GetProcessImageFileNameW(HANDLE, LPWSTR, DWORD);
+#define      GetProcessImageFileName WINELIB_NAME_AW(GetProcessImageFileName)
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif  /* __WINE_PSAPI_H */