mingw-5.1.4/win32/include/psapi.h
changeset 0 76b1f169d9fe
equal deleted inserted replaced
-1:000000000000 0:76b1f169d9fe
       
     1 /*
       
     2 	psapi.h - Include file for PSAPI.DLL APIs
       
     3 
       
     4 	Written by Mumit Khan <khan@nanotech.wisc.edu>
       
     5 
       
     6 	This file is part of a free library for the Win32 API.
       
     7 
       
     8 	NOTE: This strictly does not belong in the Win32 API since it's
       
     9 	really part of Platform SDK. However,GDB needs it and we might
       
    10 	as well provide it here.
       
    11 
       
    12 	This library is distributed in the hope that it will be useful,
       
    13 	but WITHOUT ANY WARRANTY; without even the implied warranty of
       
    14 	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
       
    15 
       
    16 */
       
    17 #ifndef _PSAPI_H
       
    18 #define _PSAPI_H
       
    19 #if __GNUC__ >=3
       
    20 #pragma GCC system_header
       
    21 #endif
       
    22 
       
    23 #ifdef __cplusplus
       
    24 extern "C" {
       
    25 #endif
       
    26 
       
    27 #ifndef RC_INVOKED
       
    28 
       
    29 typedef struct _MODULEINFO {
       
    30 	LPVOID lpBaseOfDll;
       
    31 	DWORD SizeOfImage;
       
    32 	LPVOID EntryPoint;
       
    33 } MODULEINFO,*LPMODULEINFO;
       
    34 
       
    35 typedef struct _PSAPI_WS_WATCH_INFORMATION {
       
    36 	LPVOID FaultingPc;
       
    37 	LPVOID FaultingVa;
       
    38 } PSAPI_WS_WATCH_INFORMATION,*PPSAPI_WS_WATCH_INFORMATION;
       
    39 
       
    40 typedef struct _PROCESS_MEMORY_COUNTERS {
       
    41 	DWORD cb;
       
    42 	DWORD PageFaultCount;
       
    43 	DWORD PeakWorkingSetSize;
       
    44 	DWORD WorkingSetSize;
       
    45 	DWORD QuotaPeakPagedPoolUsage;
       
    46 	DWORD QuotaPagedPoolUsage;
       
    47 	DWORD QuotaPeakNonPagedPoolUsage;
       
    48 	DWORD QuotaNonPagedPoolUsage;
       
    49 	DWORD PagefileUsage;
       
    50 	DWORD PeakPagefileUsage;
       
    51 } PROCESS_MEMORY_COUNTERS,*PPROCESS_MEMORY_COUNTERS;
       
    52 
       
    53 /* Grouped by application,not in alphabetical order. */
       
    54 BOOL WINAPI EnumProcesses(DWORD *,DWORD,DWORD *);
       
    55 BOOL WINAPI EnumProcessModules(HANDLE,HMODULE *,DWORD,LPDWORD);
       
    56 DWORD WINAPI GetModuleBaseNameA(HANDLE,HMODULE,LPSTR,DWORD);
       
    57 DWORD WINAPI GetModuleBaseNameW(HANDLE,HMODULE,LPWSTR,DWORD);
       
    58 DWORD WINAPI GetModuleFileNameExA(HANDLE,HMODULE,LPSTR,DWORD);
       
    59 DWORD WINAPI GetModuleFileNameExW(HANDLE,HMODULE,LPWSTR,DWORD);
       
    60 BOOL WINAPI GetModuleInformation(HANDLE,HMODULE,LPMODULEINFO,DWORD);
       
    61 BOOL WINAPI EmptyWorkingSet(HANDLE);
       
    62 BOOL WINAPI QueryWorkingSet(HANDLE,PVOID,DWORD);
       
    63 BOOL WINAPI InitializeProcessForWsWatch(HANDLE);
       
    64 BOOL WINAPI GetWsChanges(HANDLE,PPSAPI_WS_WATCH_INFORMATION,DWORD);
       
    65 DWORD WINAPI GetMappedFileNameW(HANDLE,LPVOID,LPWSTR,DWORD);
       
    66 DWORD WINAPI GetMappedFileNameA(HANDLE,LPVOID,LPSTR,DWORD);
       
    67 BOOL WINAPI EnumDeviceDrivers(LPVOID *,DWORD,LPDWORD);
       
    68 DWORD WINAPI GetDeviceDriverBaseNameA(LPVOID,LPSTR,DWORD);
       
    69 DWORD WINAPI GetDeviceDriverBaseNameW(LPVOID,LPWSTR,DWORD);
       
    70 DWORD WINAPI GetDeviceDriverFileNameA(LPVOID,LPSTR,DWORD);
       
    71 DWORD WINAPI GetDeviceDriverFileNameW(LPVOID,LPWSTR,DWORD);
       
    72 BOOL WINAPI GetProcessMemoryInfo(HANDLE,PPROCESS_MEMORY_COUNTERS,DWORD);
       
    73 
       
    74 #endif /* not RC_INVOKED */
       
    75 
       
    76 #ifdef UNICODE
       
    77 #define GetModuleBaseName GetModuleBaseNameW
       
    78 #define GetModuleFileNameEx GetModuleFileNameExW
       
    79 #define GetMappedFileName GetMappedFileNameW
       
    80 #define GetDeviceDriverBaseName GetDeviceDriverBaseNameW
       
    81 #define GetDeviceDriverFileName GetDeviceDriverFileNameW
       
    82 #else
       
    83 #define GetModuleBaseName GetModuleBaseNameA
       
    84 #define GetModuleFileNameEx GetModuleFileNameExA
       
    85 #define GetMappedFileName GetMappedFileNameA
       
    86 #define GetDeviceDriverBaseName GetDeviceDriverBaseNameA
       
    87 #define GetDeviceDriverFileName GetDeviceDriverFileNameA
       
    88 #endif
       
    89 
       
    90 #ifdef __cplusplus
       
    91 }
       
    92 #endif
       
    93 
       
    94 #endif /* _PSAPI_H */
       
    95