| typedef struct netsnmp_cpu_info_s netsnmp_cpu_info; |
| extern int cpu_num; |
| |
| /* For rolling averages */ |
| struct netsnmp_cpu_history { |
| unsigned long long user_hist; |
| unsigned long long sys_hist; |
| unsigned long long idle_hist; |
| unsigned long long nice_hist; |
| unsigned long long total_hist; |
| |
| unsigned long long ctx_hist; |
| unsigned long long intr_hist; |
| unsigned long long swpi_hist; |
| unsigned long long swpo_hist; |
| unsigned long long pagei_hist; |
| unsigned long long pageo_hist; |
| }; |
| |
| struct netsnmp_cpu_info_s { |
| int idx; |
| /* For hrDeviceTable */ |
| char name[ SNMP_MAXBUF ]; |
| char descr[ SNMP_MAXBUF ]; |
| int status; |
| |
| /* For UCD cpu stats */ |
| unsigned long long user_ticks; |
| unsigned long long nice_ticks; |
| unsigned long long sys_ticks; |
| unsigned long long idle_ticks; |
| unsigned long long wait_ticks; |
| unsigned long long kern_ticks; |
| unsigned long long intrpt_ticks; |
| unsigned long long sirq_ticks; |
| unsigned long long steal_ticks; |
| unsigned long long guest_ticks; |
| unsigned long long guestnice_ticks; |
| |
| unsigned long long total_ticks; |
| unsigned long long sys2_ticks; /* For non-atomic system counts */ |
| |
| /* For paging-related UCD stats */ |
| /* XXX - Do these belong elsewhere ?? */ |
| /* XXX - Do Not Use - Subject to Change */ |
| unsigned long long pageIn; |
| unsigned long long pageOut; |
| unsigned long long swapIn; |
| unsigned long long swapOut; |
| unsigned long long nInterrupts; |
| unsigned long long nCtxSwitches; |
| |
| struct netsnmp_cpu_history *history; |
| |
| netsnmp_cpu_info *next; |
| }; |
| |
| |
| /* |
| * Possibly not all needed ?? |
| */ |
| netsnmp_cpu_info *netsnmp_cpu_get_first( void ); |
| netsnmp_cpu_info *netsnmp_cpu_get_next( netsnmp_cpu_info* ); |
| netsnmp_cpu_info *netsnmp_cpu_get_byIdx( int, int ); |
| netsnmp_cpu_info *netsnmp_cpu_get_byName( char*, int ); |
| |
| netsnmp_cache *netsnmp_cpu_get_cache( void ); |
| int netsnmp_cpu_load( void ); |