ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/src/libstatgrab/statgrab.h
(Generate patch)

Comparing projects/libstatgrab/src/libstatgrab/statgrab.h (file contents):
Revision 1.29 by pajs, Sun Mar 28 18:04:14 2004 UTC vs.
Revision 1.37 by ats, Tue Apr 6 22:09:22 2004 UTC

# Line 1 | Line 1
1   /*
2 < * i-scream central monitoring system
2 > * i-scream libstatgrab
3   * http://www.i-scream.org
4   * Copyright (C) 2000-2004 i-scream
5   *
# Line 23 | Line 23
23  
24   #include <sys/types.h>
25  
26 < typedef struct{
26 > /* FIXME typedefs for 32/64-bit types */
27 > /* FIXME maybe tidy up field names? */
28 > /* FIXME tab/space damage */
29 > /* FIXME prefixes for util functions too */
30 > /* FIXME comments for less obvious fields */
31 >
32 > int sg_init(void);
33 > int sg_drop_privileges(void);
34 >
35 > typedef enum {
36 >        SG_ERROR_NONE = 0
37 > } sg_error;
38 >
39 > void sg_set_error(sg_error code, const char *arg);
40 > sg_error sg_get_error();
41 > const char *sg_str_error(sg_error code);
42 >
43 > typedef struct {
44 >        char *os_name;
45 >        char *os_release;
46 >        char *os_version;
47 >        char *platform;
48 >        char *hostname;
49 >        time_t uptime;
50 > } sg_host_info;
51 >
52 > sg_host_info *sg_get_host_info();
53 >
54 > typedef struct {
55          long long user;
56          long long kernel;
57          long long idle;
# Line 32 | Line 60 | typedef struct{
60          long long nice;
61          long long total;
62          time_t systime;
63 < }cpu_states_t;
63 > } sg_cpu_stats;
64  
65 < typedef struct{
65 > sg_cpu_stats *sg_get_cpu_stats();
66 > sg_cpu_stats *sg_get_cpu_stats_diff();
67 >
68 > typedef struct {
69          float user;
70          float kernel;
71          float idle;
# Line 42 | Line 73 | typedef struct{
73          float swap;
74          float nice;
75          time_t time_taken;
76 < }cpu_percent_t;
76 > } sg_cpu_percents;
77  
78 < typedef struct{
78 > sg_cpu_percents *sg_get_cpu_percents();
79 >
80 > typedef struct {
81          long long total;
82          long long free;
83          long long used;
84          long long cache;
85 < }mem_stat_t;
85 > } sg_mem_stats;
86  
87 < typedef struct{
87 > sg_mem_stats *sg_get_mem_stats();
88 >
89 > typedef struct {
90          double min1;
91          double min5;
92          double min15;
93 < }load_stat_t;
93 > } sg_load_stats;
94  
95 < typedef struct{
95 > sg_load_stats *sg_get_load_stats();
96 >
97 > typedef struct {
98          char *name_list;
99          int num_entries;
100 < }user_stat_t;
100 > } sg_user_stats;
101  
102 < typedef struct{
102 > sg_user_stats *sg_get_user_stats();
103 >
104 > typedef struct {
105          long long total;
106          long long used;
107          long long free;
108 < }swap_stat_t;
108 > } sg_swap_stats;
109  
110 < typedef struct{
72 <        char *os_name;
73 <        char *os_release;
74 <        char *os_version;
75 <        char *platform;
76 <        char *hostname;
77 <        time_t uptime;
78 < }general_stat_t;
110 > sg_swap_stats *sg_get_swap_stats();
111  
112   typedef struct {
113          char *device_name;
# Line 87 | Line 119 | typedef struct {
119          long long total_inodes;
120          long long used_inodes;
121          long long free_inodes;
122 < }disk_stat_t;
122 > } sg_fs_stats;
123  
124 < typedef struct{
124 > sg_fs_stats *sg_get_fs_stats(int *entries);
125 >
126 > typedef struct {
127          char *disk_name;
128          long long read_bytes;
129          long long write_bytes;
130          time_t systime;
131 < }diskio_stat_t;
131 > } sg_disk_io_stats;
132  
133 < typedef struct{
134 <        int total;
101 <        int running;
102 <        int sleeping;
103 <        int stopped;
104 <        int zombie;
105 < }process_stat_t;
133 > sg_disk_io_stats *sg_get_disk_io_stats(int *entries);
134 > sg_disk_io_stats *sg_get_disk_io_stats_diff(int *entries);
135  
136 < typedef struct{
136 > typedef struct {
137          char *interface_name;
138          long long tx;
139          long long rx;
# Line 114 | Line 143 | typedef struct{
143          long long oerrors;
144          long long collisions;
145          time_t systime;
146 < }network_stat_t;
146 > } sg_network_io_stats;
147  
148 < typedef enum{
149 <        FULL_DUPLEX,
121 <        HALF_DUPLEX,
122 <        UNKNOWN_DUPLEX
123 < }statgrab_duplex;
148 > sg_network_io_stats *sg_get_network_io_stats(int *entries);
149 > sg_network_io_stats *sg_get_network_io_stats_diff(int *entries);
150  
151 < typedef struct{
151 > typedef enum {
152 >        SG_IFACE_DUPLEX_FULL,
153 >        SG_IFACE_DUPLEX_HALF,
154 >        SG_IFACE_DUPLEX_UNKNOWN
155 > } sg_iface_duplex;
156 >
157 > typedef struct {
158          char *interface_name;
159          int speed;      /* In megabits/sec */
160 <        statgrab_duplex dup;    
160 >        sg_iface_duplex dup;
161          int up;
162 < }network_iface_stat_t;
162 > } sg_network_iface_stats;
163  
164 < typedef struct{
164 > sg_network_iface_stats *sg_get_network_iface_stats(int *entries);
165 >
166 > typedef struct {
167          long long pages_pagein;
168          long long pages_pageout;
169          time_t systime;
170 < }page_stat_t;
170 > } sg_page_stats;
171  
172 < typedef struct{
172 > sg_page_stats *sg_get_page_stats();
173 > sg_page_stats *sg_get_page_stats_diff();
174 >
175 > typedef enum {
176 >        SG_PROCESS_STATE_RUNNING,
177 >        SG_PROCESS_STATE_SLEEPING,
178 >        SG_PROCESS_STATE_STOPPED,
179 >        SG_PROCESS_STATE_ZOMBIE,
180 >        SG_PROCESS_STATE_UNKNOWN
181 > } sg_process_state;
182 >
183 > typedef struct {
184          char *process_name;
185          char *proctitle;
186  
# Line 150 | Line 195 | typedef struct{
195  
196          unsigned long long proc_size; /* in bytes */
197          unsigned long long proc_resident; /* in bytes */
198 <        time_t time_spent;
198 >        time_t time_spent; /* time running in seconds */
199          double cpu_percent;
200          int nice;
201 <        int state;
202 < }proc_state_t;
201 >        sg_process_state state;
202 > } sg_process_stats;
203  
204 < int get_proc_snapshot(proc_state_t **proc_state);
204 > sg_process_stats *sg_get_process_stats(int *entries);
205  
206 < cpu_states_t *get_cpu_totals();
207 < cpu_states_t *get_cpu_diff();
208 < cpu_percent_t *cpu_percent_usage();
206 > typedef struct {
207 >        int total;
208 >        int running;
209 >        int sleeping;
210 >        int stopped;
211 >        int zombie;
212 > } sg_process_count;
213  
214 < mem_stat_t *get_memory_stats();
214 > sg_process_count *sg_get_process_count();
215  
216 < load_stat_t *get_load_stats();
217 <
218 < user_stat_t *get_user_stats();
170 <
171 < swap_stat_t *get_swap_stats();
172 <
173 < general_stat_t *get_general_stats();
174 <
175 < disk_stat_t *get_disk_stats(int *entries);
176 < diskio_stat_t *get_diskio_stats(int *entries);
177 < diskio_stat_t *get_diskio_stats_diff(int *entries);
178 <
179 < process_stat_t *get_process_stats();
180 <
181 < network_stat_t *get_network_stats(int *entries);
182 < network_stat_t *get_network_stats_diff(int *entries);
183 <
184 < network_iface_stat_t *get_network_iface_stats(int *entries);
185 <
186 < page_stat_t *get_page_stats();
187 < page_stat_t *get_page_stats_diff();
188 <
189 < int statgrab_init(void);
190 < int statgrab_drop_privileges(void);
216 > #ifdef SG_ENABLE_DEPRECATED
217 > #include <statgrab_deprecated.h>
218 > #endif
219  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines