9 extern unsigned long long Hertz; /* clock tick frequency */
10 extern long smp_num_cpus; /* number of CPUs */
11 extern int have_privs; /* boolean, true if setuid or similar */
15 extern void eight_cpu_numbers(JT *uret, JT *nret, JT *sret, JT *iret, JT *wret, JT *xret, JT *yret, JT *zret);
19 extern int uptime (double *uptime_secs, double *idle_secs);
20 extern void loadavg(double *av1, double *av5, double *av15);
24 extern unsigned long kb_main_shared;
25 /* old but still kicking -- the important stuff */
26 extern unsigned long kb_main_buffers;
27 extern unsigned long kb_main_cached;
28 extern unsigned long kb_main_free;
29 extern unsigned long kb_main_total;
30 extern unsigned long kb_swap_free;
31 extern unsigned long kb_swap_total;
32 /* recently introduced */
33 extern unsigned long kb_high_free;
34 extern unsigned long kb_high_total;
35 extern unsigned long kb_low_free;
36 extern unsigned long kb_low_total;
38 extern unsigned long kb_active;
39 extern unsigned long kb_inact_laundry; // grrr...
40 extern unsigned long kb_inact_dirty;
41 extern unsigned long kb_inact_clean;
42 extern unsigned long kb_inact_target;
43 extern unsigned long kb_swap_cached; /* late 2.4+ */
45 extern unsigned long kb_swap_used;
46 extern unsigned long kb_main_used;
48 extern unsigned long kb_writeback;
49 extern unsigned long kb_slab;
50 extern unsigned long nr_reversemaps;
51 extern unsigned long kb_committed_as;
52 extern unsigned long kb_dirty;
53 extern unsigned long kb_inactive;
54 extern unsigned long kb_mapped;
55 extern unsigned long kb_pagetables;
57 #define BUFFSIZE (64*1024)
58 typedef unsigned long long jiff;
59 extern void getstat(jiff *restrict cuse, jiff *restrict cice, jiff *restrict csys, jiff *restrict cide, jiff *restrict ciow, jiff *restrict cxxx, jiff *restrict cyyy, jiff *restrict czzz,
60 unsigned long *restrict pin, unsigned long *restrict pout, unsigned long *restrict s_in, unsigned long *restrict sout,
61 unsigned *restrict intr, unsigned *restrict ctxt,
62 unsigned int *restrict running, unsigned int *restrict blocked,
63 unsigned int *restrict btime, unsigned int *restrict processes);
65 extern void meminfo(void);
68 extern unsigned long vm_nr_dirty;
69 extern unsigned long vm_nr_writeback;
70 extern unsigned long vm_nr_pagecache;
71 extern unsigned long vm_nr_page_table_pages;
72 extern unsigned long vm_nr_reverse_maps;
73 extern unsigned long vm_nr_mapped;
74 extern unsigned long vm_nr_slab;
75 extern unsigned long vm_pgpgin;
76 extern unsigned long vm_pgpgout;
77 extern unsigned long vm_pswpin;
78 extern unsigned long vm_pswpout;
79 extern unsigned long vm_pgalloc;
80 extern unsigned long vm_pgfree;
81 extern unsigned long vm_pgactivate;
82 extern unsigned long vm_pgdeactivate;
83 extern unsigned long vm_pgfault;
84 extern unsigned long vm_pgmajfault;
85 extern unsigned long vm_pgscan;
86 extern unsigned long vm_pgrefill;
87 extern unsigned long vm_pgsteal;
88 extern unsigned long vm_kswapd_steal;
89 extern unsigned long vm_pageoutrun;
90 extern unsigned long vm_allocstall;
92 extern void vminfo(void);
94 typedef struct disk_stat{
95 unsigned long long reads_sectors;
96 unsigned long long written_sectors;
98 unsigned inprogress_IO;
99 unsigned merged_reads;
100 unsigned merged_writes;
101 unsigned milli_reading;
102 unsigned milli_spent_IO;
103 unsigned milli_writing;
106 unsigned weighted_milli_spent_IO;
110 typedef struct partition_stat{
111 char partition_name [16];
112 unsigned long long reads_sectors;
113 unsigned parent_disk; // index into a struct disk_stat array
116 unsigned requested_writes;
119 extern unsigned int getpartitions_num(struct disk_stat *disks, int ndisks);
120 extern unsigned int getdiskstat (struct disk_stat**,struct partition_stat**);
122 typedef struct slab_cache{
124 unsigned active_objs;
130 extern unsigned int getslabinfo (struct slab_cache**);
132 extern unsigned get_pid_digits(void) FUNCTION;
135 #endif /* SYSINFO_H */