1 #define MAXCPU_20 2048 2 #define MAXDSK_20 512 3 #define MAXLVM_20 1024 4 #define MAXMDD_20 256 5 #define MAXINTF_20 128 6 7 /************************************************************************/ 8 9 struct memstat_20 { 10 count_t physmem; // number of physical pages 11 count_t freemem; // number of free pages 12 count_t buffermem; // number of buffer pages 13 count_t slabmem; // number of slab pages 14 count_t cachemem; // number of cache pages 15 count_t cachedrt; // number of cache pages (dirty) 16 17 count_t totswap; // number of pages in swap 18 count_t freeswap; // number of free swap pages 19 20 count_t pgscans; // number of page scans 21 count_t pgsteal; // number of page steals 22 count_t allocstall; // try to free pages forced 23 count_t swouts; // number of pages swapped out 24 count_t swins; // number of pages swapped in 25 26 count_t commitlim; // commit limit in pages 27 count_t committed; // number of reserved pages 28 29 count_t shmem; // tot shmem incl. tmpfs (pages) 30 count_t shmrss; // resident shared memory (pages) 31 count_t shmswp; // swapped shared memory (pages) 32 33 count_t slabreclaim; // reclaimable slab (pages) 34 }; 35 36 /************************************************************************/ 37 38 struct netstat_20 { 39 struct ipv4_stats ipv4; 40 struct icmpv4_stats_wrong icmpv4; 41 struct udpv4_stats udpv4; 42 43 struct ipv6_stats ipv6; 44 struct icmpv6_stats icmpv6; 45 struct udpv6_stats udpv6; 46 47 struct tcp_stats tcp; 48 }; 49 50 /************************************************************************/ 51 52 struct freqcnt_20 { 53 count_t maxfreq;/* frequency in MHz */ 54 count_t cnt; /* number of clock ticks times state */ 55 count_t ticks; /* number of total clock ticks */ 56 /* if zero, cnt is actul freq */ 57 }; 58 59 struct percpu_20 { 60 int cpunr; 61 count_t stime; /* system time in clock ticks */ 62 count_t utime; /* user time in clock ticks */ 63 count_t ntime; /* nice time in clock ticks */ 64 count_t itime; /* idle time in clock ticks */ 65 count_t wtime; /* iowait time in clock ticks */ 66 count_t Itime; /* irq time in clock ticks */ 67 count_t Stime; /* softirq time in clock ticks */ 68 count_t steal; /* steal time in clock ticks */ 69 count_t guest; /* guest time in clock ticks */ 70 struct freqcnt_20 freqcnt;/* frequency scaling info */ 71 count_t cfuture[1]; /* reserved for future use */ 72 }; 73 74 struct cpustat_20 { 75 count_t nrcpu; /* number of cpu's */ 76 count_t devint; /* number of device interrupts */ 77 count_t csw; /* number of context switches */ 78 count_t nprocs; /* number of processes started */ 79 float lavg1; /* load average last minute */ 80 float lavg5; /* load average last 5 minutes */ 81 float lavg15; /* load average last 15 minutes */ 82 count_t cfuture[4]; /* reserved for future use */ 83 84 struct percpu_20 all; 85 struct percpu_20 cpu[MAXCPU_20]; 86 }; 87 88 /************************************************************************/ 89 90 struct perdsk_20 { 91 char name[MAXDKNAM]; /* empty string for last */ 92 count_t nread; /* number of read transfers */ 93 count_t nrsect; /* number of sectors read */ 94 count_t nwrite; /* number of write transfers */ 95 count_t nwsect; /* number of sectors written */ 96 count_t io_ms; /* number of millisecs spent for I/O */ 97 count_t avque; /* average queue length */ 98 count_t cfuture[4]; /* reserved for future use */ 99 }; 100 101 struct dskstat_20 { 102 int ndsk; /* number of physical disks */ 103 int nmdd; /* number of md volumes */ 104 int nlvm; /* number of logical volumes */ 105 struct perdsk_20 dsk[MAXDSK_20]; 106 struct perdsk_20 mdd[MAXMDD_20]; 107 struct perdsk_20 lvm[MAXLVM_20]; 108 }; 109 110 /************************************************************************/ 111 112 struct perintf_20 { 113 char name[16]; /* empty string for last */ 114 115 count_t rbyte; /* number of read bytes */ 116 count_t rpack; /* number of read packets */ 117 count_t rerrs; /* receive errors */ 118 count_t rdrop; /* receive drops */ 119 count_t rfifo; /* receive fifo */ 120 count_t rframe; /* receive framing errors */ 121 count_t rcompr; /* receive compressed */ 122 count_t rmultic;/* receive multicast */ 123 count_t rfuture[4]; /* reserved for future use */ 124 125 count_t sbyte; /* number of written bytes */ 126 count_t spack; /* number of written packets */ 127 count_t serrs; /* transmit errors */ 128 count_t sdrop; /* transmit drops */ 129 count_t sfifo; /* transmit fifo */ 130 count_t scollis;/* collisions */ 131 count_t scarrier;/* transmit carrier */ 132 count_t scompr; /* transmit compressed */ 133 count_t sfuture[4]; /* reserved for future use */ 134 135 long speed; /* interface speed in megabits/second */ 136 char duplex; /* full duplex (boolean) */ 137 count_t cfuture[4]; /* reserved for future use */ 138 }; 139 140 struct intfstat_20 { 141 int nrintf; 142 struct perintf_20 intf[MAXINTF_20]; 143 }; 144 145 /************************************************************************/ 146 /* 147 ** experimental stuff for access to local HTTP daemons 148 */ 149 struct wwwstat_20 { 150 count_t accesses; /* total number of HTTP-requests */ 151 count_t totkbytes; /* total kbytes transfer for HTTP-req */ 152 count_t uptime; /* number of seconds since startup */ 153 int bworkers; /* number of busy httpd-daemons */ 154 int iworkers; /* number of idle httpd-daemons */ 155 }; 156 157 /************************************************************************/ 158 159 struct sstat_20 { 160 struct cpustat_20 cpu; 161 struct memstat_20 mem; 162 struct netstat_20 net; 163 struct intfstat_20 intf; 164 struct dskstat_20 dsk; 165 166 struct wwwstat_20 www; 167 };