X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=mono%2Futils%2Fmono-proclib.h;h=67db3f3f31715e57ab0ca97e4dc5364a2d202e3a;hb=24748ce981a554c4a8f9529e5848a88c743a1901;hp=e0d84ec02332b237ba03f9b2e8e9daf24c89a424;hpb=39ad7e378672cec049e83a762f21e6f84e954a43;p=mono.git diff --git a/mono/utils/mono-proclib.h b/mono/utils/mono-proclib.h index e0d84ec0233..67db3f3f317 100644 --- a/mono/utils/mono-proclib.h +++ b/mono/utils/mono-proclib.h @@ -20,8 +20,9 @@ typedef enum { MONO_PROCESS_VIRTUAL_BYTES, MONO_PROCESS_VIRTUAL_BYTES_PEAK, MONO_PROCESS_FAULTS, - MONO_PROCESS_ELAPSED, + MONO_PROCESS_ELAPSED, /* 10 */ MONO_PROCESS_PPID, + MONO_PROCESS_PAGED_BYTES, MONO_PROCESS_END } MonoProcessData; @@ -40,17 +41,37 @@ typedef enum { MONO_PROCESS_ERROR_OTHER } MonoProcessError; -gpointer* mono_process_list (int *size) MONO_INTERNAL; +typedef struct _MonoCpuUsageState MonoCpuUsageState; +#ifndef HOST_WIN32 +struct _MonoCpuUsageState { + gint64 kernel_time; + gint64 user_time; + gint64 current_time; +}; +#else +struct _MonoCpuUsageState { + guint64 kernel_time; + guint64 user_time; + guint64 idle_time; +}; +#endif -char* mono_process_get_name (gpointer pid, char *buf, int len) MONO_INTERNAL; +gpointer* mono_process_list (int *size); -gint64 mono_process_get_data (gpointer pid, MonoProcessData data) MONO_INTERNAL; -gint64 mono_process_get_data_with_error (gpointer pid, MonoProcessData data, MonoProcessError *error) MONO_INTERNAL; +void mono_process_get_times (gpointer pid, gint64 *start_time, gint64 *user_time, gint64 *kernel_time); -int mono_process_current_pid (void) MONO_INTERNAL; +char* mono_process_get_name (gpointer pid, char *buf, int len); -int mono_cpu_count (void) MONO_INTERNAL; -gint64 mono_cpu_get_data (int cpu_id, MonoCpuData data, MonoProcessError *error) MONO_INTERNAL; +gint64 mono_process_get_data (gpointer pid, MonoProcessData data); +gint64 mono_process_get_data_with_error (gpointer pid, MonoProcessData data, MonoProcessError *error); + +int mono_process_current_pid (void); + +int mono_cpu_count (void); +gint64 mono_cpu_get_data (int cpu_id, MonoCpuData data, MonoProcessError *error); +gint32 mono_cpu_usage (MonoCpuUsageState *prev); + +int mono_atexit (void (*func)(void)); #endif /* __MONO_PROC_LIB_H__ */