rmonitor_types.h
00001 #if defined(CCTOOLS_OPSYS_DARWIN) || defined(CCTOOLS_OPSYS_FREEBSD)
00002 #include <sys/param.h>
00003 #include <sys/mount.h>
00004 #include <sys/resource.h>
00005 #else
00006 #include <sys/vfs.h>
00007 #endif
00008
00009 #include <sys/types.h>
00010 #include <sys/stat.h>
00011
00012 #ifdef HAS_SYS_STATFS_H
00013 #include <sys/statfs.h>
00014 #endif
00015
00016 #ifdef HAS_SYS_STATVFS_H
00017 #include <sys/statvfs.h>
00018 #endif
00019
00020 #include "path_disk_size_info.h"
00021
00022 #include "int_sizes.h"
00023
00024 #ifndef RMONITOR_TYPES_H
00025 #define RMONITOR_TYPES_H
00026
00027 #define ONE_MEGABYTE 1048576
00028 #define ONE_SECOND 1000000
00029
00030 #define MAX_FILE_DESCRIPTOR_COUNT 500
00031
00032
00033 struct rmonitor_cpu_time_info
00034 {
00035 uint64_t accumulated;
00036 uint64_t delta;
00037 };
00038
00039 struct rmonitor_mem_info
00040 {
00041 uint64_t virtual;
00042 uint64_t referenced;
00043 uint64_t resident;
00044 uint64_t swap;
00045
00046
00047 uint64_t private;
00048 uint64_t shared;
00049
00050 char *map_name;
00051 uint64_t map_start;
00052 uint64_t map_end;
00053
00054 uint64_t text;
00055 uint64_t data;
00056 };
00057
00058 struct rmonitor_io_info
00059 {
00060 uint64_t chars_read;
00061 uint64_t chars_written;
00062
00063 uint64_t bytes_faulted;
00064
00065 uint64_t delta_chars_read;
00066 uint64_t delta_chars_written;
00067
00068 uint64_t delta_bytes_faulted;
00069 };
00070
00071 struct rmonitor_file_info
00072 {
00073 uint64_t n_references;
00074 uint64_t n_opens;
00075 uint64_t n_closes;
00076 uint64_t n_reads;
00077 uint64_t n_writes;
00078 int is_output;
00079 off_t size_on_open;
00080 off_t size_on_close;
00081 dev_t device;
00082 };
00083
00084
00085 struct rmonitor_wdir_info
00086 {
00087 char *path;
00088 int files;
00089 off_t byte_count;
00090
00091 struct path_disk_size_info *state;
00092 struct rmonitor_filesys_info *fs;
00093 };
00094
00095 struct rmonitor_filesys_info
00096 {
00097 int id;
00098 char *path;
00099 struct statfs disk;
00100 struct statfs disk_initial;
00101
00102 int initial_loaded_flag;
00103
00104
00105 };
00106
00107 struct rmonitor_process_info
00108 {
00109 pid_t pid;
00110 const char *cmd;
00111 int running;
00112 int waiting;
00113
00114 struct rmonitor_mem_info mem;
00115 struct rmonitor_cpu_time_info cpu;
00116 struct rmonitor_io_info io;
00117 struct rmonitor_wdir_info *wd;
00118 };
00119
00120 #endif