diff options
Diffstat (limited to 'base/process_util.h')
-rw-r--r-- | base/process_util.h | 23 |
1 files changed, 19 insertions, 4 deletions
diff --git a/base/process_util.h b/base/process_util.h index 503c2ec..50a5626 100644 --- a/base/process_util.h +++ b/base/process_util.h @@ -10,9 +10,13 @@ #include "base/basictypes.h" -#ifdef OS_WIN +#if defined(OS_WIN) #include <windows.h> #include <tlhelp32.h> +#elif defined(OS_LINUX) +#include <dirent.h> +#include <limits.h> +#include <sys/types.h> #endif #include <string> @@ -24,7 +28,12 @@ typedef PROCESSENTRY32 ProcessEntry; typedef IO_COUNTERS IoCounters; #elif defined(OS_POSIX) -typedef int ProcessEntry; +struct ProcessEntry { + int pid; + int ppid; + char szExeFile[NAME_MAX+1]; +}; + struct IoCounters { unsigned long long ReadOperationCount; unsigned long long WriteOperationCount; @@ -172,10 +181,16 @@ class NamedProcessIterator { void InitProcessEntry(ProcessEntry* entry); std::wstring executable_name_; -#ifdef OS_WIN + +#if defined(OS_WIN) HANDLE snapshot_; -#endif bool started_iteration_; +#elif defined(OS_LINUX) + DIR *procfs_dir_; +#elif defined(OS_MACOSX) + // probably kvm_t *kvmd_; +#endif + ProcessEntry entry_; const ProcessFilter* filter_; |