summaryrefslogtreecommitdiff
path: root/cleopatre/application/spidnetsnmp/agent/mibgroup/host/hr_proc.c
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application/spidnetsnmp/agent/mibgroup/host/hr_proc.c')
-rw-r--r--cleopatre/application/spidnetsnmp/agent/mibgroup/host/hr_proc.c229
1 files changed, 0 insertions, 229 deletions
diff --git a/cleopatre/application/spidnetsnmp/agent/mibgroup/host/hr_proc.c b/cleopatre/application/spidnetsnmp/agent/mibgroup/host/hr_proc.c
deleted file mode 100644
index 6728fce147..0000000000
--- a/cleopatre/application/spidnetsnmp/agent/mibgroup/host/hr_proc.c
+++ /dev/null
@@ -1,229 +0,0 @@
-/*
- * Host Resources MIB - proc processor group implementation - hr_proc.c
- *
- */
-
-#include <net-snmp/net-snmp-config.h>
-#include <net-snmp/net-snmp-includes.h>
-#include <net-snmp/agent/net-snmp-agent-includes.h>
-#if HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#if HAVE_STRING_H
-#include <string.h>
-#else
-#include <strings.h>
-#endif
-#include <ctype.h>
-
-#include "host_res.h"
-#include "hr_proc.h"
-#include <net-snmp/agent/auto_nlist.h>
-#include <net-snmp/agent/agent_read_config.h>
-#include <net-snmp/agent/hardware/cpu.h>
-#include "ucd-snmp/loadave.h"
-
-#define HRPROC_MONOTONICALLY_INCREASING
-
- /*********************
- *
- * Kernel & interface information,
- * and internal forward declarations
- *
- *********************/
-
-extern void Init_HR_Proc(void);
-extern int Get_Next_HR_Proc(void);
-const char *describe_proc(int);
-int proc_status(int);
-int header_hrproc(struct variable *, oid *, size_t *, int,
- size_t *, WriteMethod **);
-
-
- /*********************
- *
- * Initialisation & common implementation functions
- *
- *********************/
-netsnmp_cpu_info *HRP_cpu;
-
-#define HRPROC_ID 1
-#define HRPROC_LOAD 2
-
-struct variable4 hrproc_variables[] = {
- {HRPROC_ID, ASN_OBJECT_ID, RONLY, var_hrproc, 2, {1, 1}},
- {HRPROC_LOAD, ASN_INTEGER, RONLY, var_hrproc, 2, {1, 2}}
-};
-oid hrproc_variables_oid[] = { 1, 3, 6, 1, 2, 1, 25, 3, 3 };
-
-
-void
-init_hr_proc(void)
-{
- init_device[HRDEV_PROC] = Init_HR_Proc;
- next_device[HRDEV_PROC] = Get_Next_HR_Proc;
- device_descr[HRDEV_PROC] = describe_proc;
- device_status[HRDEV_PROC] = proc_status;
-#ifdef HRPROC_MONOTONICALLY_INCREASING
- dev_idx_inc[HRDEV_PROC] = 1;
-#endif
-
- REGISTER_MIB("host/hr_proc", hrproc_variables, variable4,
- hrproc_variables_oid);
-}
-
-/*
- * header_hrproc(...
- * Arguments:
- * vp IN - pointer to variable entry that points here
- * name IN/OUT - IN/name requested, OUT/name found
- * length IN/OUT - length of IN/OUT oid's
- * exact IN - TRUE if an exact match was requested
- * var_len OUT - length of variable or 0 if function returned
- * write_method
- *
- */
-
-int
-header_hrproc(struct variable *vp,
- oid * name,
- size_t * length,
- int exact, size_t * var_len, WriteMethod ** write_method)
-{
-#define HRPROC_ENTRY_NAME_LENGTH 11
- oid newname[MAX_OID_LEN];
- int proc_idx, LowIndex = -1;
- int result;
-
- DEBUGMSGTL(("host/hr_proc", "var_hrproc: "));
- DEBUGMSGOID(("host/hr_proc", name, *length));
- DEBUGMSG(("host/hr_proc", " %d\n", exact));
-
- memcpy((char *) newname, (char *) vp->name, vp->namelen * sizeof(oid));
- /*
- * Find "next" proc entry
- */
-
- Init_HR_Proc();
- for (;;) {
- proc_idx = Get_Next_HR_Proc();
- if (proc_idx == -1)
- break;
- newname[HRPROC_ENTRY_NAME_LENGTH] = proc_idx;
- result = snmp_oid_compare(name, *length, newname, vp->namelen + 1);
- if (exact && (result == 0)) {
- LowIndex = proc_idx;
- /*
- * Save processor status information
- */
- break;
- }
- if ((!exact && (result < 0)) &&
- (LowIndex == -1 || proc_idx < LowIndex)) {
- LowIndex = proc_idx;
- /*
- * Save processor status information
- */
-#ifdef HRPROC_MONOTONICALLY_INCREASING
- break;
-#endif
- }
- }
-
- if (LowIndex == -1) {
- DEBUGMSGTL(("host/hr_proc", "... index out of range\n"));
- return (MATCH_FAILED);
- }
-
- memcpy((char *) name, (char *) newname,
- (vp->namelen + 1) * sizeof(oid));
- *length = vp->namelen + 1;
- *write_method = 0;
- *var_len = sizeof(long); /* default to 'long' results */
-
- DEBUGMSGTL(("host/hr_proc", "... get proc stats "));
- DEBUGMSGOID(("host/hr_proc", name, *length));
- DEBUGMSG(("host/hr_proc", "\n"));
- return LowIndex;
-}
-
-
- /*********************
- *
- * System specific implementation functions
- *
- *********************/
-
-
-u_char *
-var_hrproc(struct variable * vp,
- oid * name,
- size_t * length,
- int exact, size_t * var_len, WriteMethod ** write_method)
-{
- int proc_idx;
- netsnmp_cpu_info *cpu;
-
- proc_idx =
- header_hrproc(vp, name, length, exact, var_len, write_method);
- if (proc_idx == MATCH_FAILED)
- return NULL;
-
- switch (vp->magic) {
- case HRPROC_ID:
- *var_len = nullOidLen;
- return (u_char *) nullOid;
- case HRPROC_LOAD:
- cpu = netsnmp_cpu_get_byIdx( proc_idx & HRDEV_TYPE_MASK, 0 );
- if ( !cpu || !cpu->history || !cpu->history[0].total_hist )
- return NULL;
-
- long_return = (cpu->idle_ticks - cpu->history[0].idle_hist)*100;
- long_return /= (cpu->total_ticks - cpu->history[0].total_hist);
- long_return = 100 - long_return;
- if (long_return < 0)
- long_return = 0;
- return (u_char *) & long_return;
- default:
- DEBUGMSGTL(("host/hr_proc", "unknown sub-id %d in var_hrproc\n",
- vp->magic));
- }
- return NULL;
-}
-
-
- /*********************
- *
- * Internal implementation functions
- *
- *********************/
-
-void
-Init_HR_Proc(void)
-{
- HRP_cpu = netsnmp_cpu_get_first(); /* 'Overall' entry */
-}
-
-int
-Get_Next_HR_Proc(void)
-{
- HRP_cpu = netsnmp_cpu_get_next( HRP_cpu );
- if ( HRP_cpu )
- return (HRDEV_PROC << HRDEV_TYPE_SHIFT) + HRP_cpu->idx;
- else
- return -1;
-}
-
-const char *
-describe_proc(int idx)
-{
- netsnmp_cpu_info *cpu = netsnmp_cpu_get_byIdx( idx & HRDEV_TYPE_MASK, 0 );
- return (cpu ? cpu->descr : NULL );
-}
-
-int
-proc_status(int idx)
-{
- netsnmp_cpu_info *cpu = netsnmp_cpu_get_byIdx( idx & HRDEV_TYPE_MASK, 0 );
- return (cpu ? cpu->status : 0 );
-}