jack2 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

96 lines
3.0KB

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