summaryrefslogtreecommitdiff
path: root/cleopatre/application/spidnetsnmp/agent/helpers/scalar.c
diff options
context:
space:
mode:
Diffstat (limited to 'cleopatre/application/spidnetsnmp/agent/helpers/scalar.c')
-rw-r--r--cleopatre/application/spidnetsnmp/agent/helpers/scalar.c196
1 files changed, 0 insertions, 196 deletions
diff --git a/cleopatre/application/spidnetsnmp/agent/helpers/scalar.c b/cleopatre/application/spidnetsnmp/agent/helpers/scalar.c
deleted file mode 100644
index 42c66b4d3e..0000000000
--- a/cleopatre/application/spidnetsnmp/agent/helpers/scalar.c
+++ /dev/null
@@ -1,196 +0,0 @@
-/* Portions of this file are subject to the following copyright(s). See
- * the Net-SNMP's COPYING file for more details and other copyrights
- * that may apply:
- */
-/*
- * Portions of this file are copyrighted by:
- * Copyright © 2003 Sun Microsystems, Inc. All rights reserved.
- * Use is subject to license terms specified in the COPYING file
- * distributed with the Net-SNMP package.
- */
-#include <net-snmp/net-snmp-config.h>
-
-#include <stdlib.h>
-#if HAVE_STRING_H
-#include <string.h>
-#else
-#include <strings.h>
-#endif
-
-#include <net-snmp/net-snmp-includes.h>
-#include <net-snmp/agent/net-snmp-agent-includes.h>
-
-#include <net-snmp/agent/scalar.h>
-#include <net-snmp/agent/instance.h>
-#include <net-snmp/agent/serialize.h>
-#include <net-snmp/agent/read_only.h>
-
-/** @defgroup scalar scalar
- * Process scalars easily.
- * @ingroup leaf
- * @{
- */
-
-/**
- * Creates a scalar handler calling netsnmp_create_handler with a
- * handler name defaulted to "scalar" and access method,
- * netsnmp_scalar_helper_handler.
- *
- * @return Returns a pointer to a netsnmp_mib_handler struct which contains
- * the handler's name and the access method
- *
- * @see netsnmp_get_scalar_handler
- * @see netsnmp_register_scalar
- */
-netsnmp_mib_handler *
-netsnmp_get_scalar_handler(void)
-{
- return netsnmp_create_handler("scalar",
- netsnmp_scalar_helper_handler);
-}
-
-/**
- * This function registers a scalar helper handler. The registered OID,
- * reginfo->rootoid, space is extended for the instance subid using
- * realloc() but the reginfo->rootoid_len length is not extended just yet.
- * .This function subsequently injects the instance, scalar, and serialize
- * helper handlers before actually registering reginfo.
- *
- * Each handler is injected/pushed to the top of the handler chain list
- * and will be processed last in first out, LIFO.
- *
- * @param reginfo a handler registration structure which could get created
- * using netsnmp_create_handler_registration. Used to register
- * a scalar helper handler.
- *
- * @return MIB_REGISTERED_OK is returned if the registration was a success.
- * Failures are MIB_REGISTRATION_FAILURE and MIB_DUPLICATE_REGISTRATION.
- *
- * @see netsnmp_register_read_only_scalar
- * @see netsnmp_get_scalar_handler
- */
-
-int
-netsnmp_register_scalar(netsnmp_handler_registration *reginfo)
-{
- /*
- * Extend the registered OID with space for the instance subid
- * (but don't extend the length just yet!)
- */
- reginfo->rootoid = realloc(reginfo->rootoid,
- (reginfo->rootoid_len+1) * sizeof(oid) );
- reginfo->rootoid[ reginfo->rootoid_len ] = 0;
-
- netsnmp_inject_handler(reginfo, netsnmp_get_instance_handler());
- netsnmp_inject_handler(reginfo, netsnmp_get_scalar_handler());
- return netsnmp_register_serialize(reginfo);
-}
-
-
-/**
- * This function registers a read only scalar helper handler. This
- * function is very similar to netsnmp_register_scalar the only addition
- * is that the "read_only" handler is injected into the handler chain
- * prior to injecting the serialize handler and registering reginfo.
- *
- * @param reginfo a handler registration structure which could get created
- * using netsnmp_create_handler_registration. Used to register
- * a read only scalar helper handler.
- *
- * @return MIB_REGISTERED_OK is returned if the registration was a success.
- * Failures are MIB_REGISTRATION_FAILURE and MIB_DUPLICATE_REGISTRATION.
- *
- * @see netsnmp_register_scalar
- * @see netsnmp_get_scalar_handler
- *
- */
-
-int
-netsnmp_register_read_only_scalar(netsnmp_handler_registration *reginfo)
-{
- /*
- * Extend the registered OID with space for the instance subid
- * (but don't extend the length just yet!)
- */
- reginfo->rootoid = realloc(reginfo->rootoid,
- (reginfo->rootoid_len+1) * sizeof(oid) );
- reginfo->rootoid[ reginfo->rootoid_len ] = 0;
-
- netsnmp_inject_handler(reginfo, netsnmp_get_instance_handler());
- netsnmp_inject_handler(reginfo, netsnmp_get_scalar_handler());
- netsnmp_inject_handler(reginfo, netsnmp_get_read_only_handler());
- return netsnmp_register_serialize(reginfo);
-}
-
-
-
-int
-netsnmp_scalar_helper_handler(netsnmp_mib_handler *handler,
- netsnmp_handler_registration *reginfo,
- netsnmp_agent_request_info *reqinfo,
- netsnmp_request_info *requests)
-{
-
- netsnmp_variable_list *var = requests->requestvb;
-
- int ret, cmp;
- int namelen;
-
- DEBUGMSGTL(("helper:scalar", "Got request:\n"));
- namelen = SNMP_MIN(requests->requestvb->name_length,
- reginfo->rootoid_len);
- cmp = snmp_oid_compare(requests->requestvb->name, namelen,
- reginfo->rootoid, reginfo->rootoid_len);
-
- DEBUGMSGTL(("helper:scalar", " oid:"));
- DEBUGMSGOID(("helper:scalar", var->name, var->name_length));
- DEBUGMSG(("helper:scalar", "\n"));
-
- switch (reqinfo->mode) {
- case MODE_GET:
- if (cmp != 0) {
- netsnmp_set_request_error(reqinfo, requests,
- SNMP_NOSUCHOBJECT);
- return SNMP_ERR_NOERROR;
- } else {
- reginfo->rootoid[reginfo->rootoid_len++] = 0;
- ret = netsnmp_call_next_handler(handler, reginfo, reqinfo,
- requests);
- reginfo->rootoid_len--;
- return ret;
- }
- break;
-
- case MODE_SET_RESERVE1:
- case MODE_SET_RESERVE2:
- case MODE_SET_ACTION:
- case MODE_SET_COMMIT:
- case MODE_SET_UNDO:
- case MODE_SET_FREE:
- if (cmp != 0) {
- netsnmp_set_request_error(reqinfo, requests,
- SNMP_ERR_NOCREATION);
- return SNMP_ERR_NOERROR;
- } else {
- reginfo->rootoid[reginfo->rootoid_len++] = 0;
- ret = netsnmp_call_next_handler(handler, reginfo, reqinfo,
- requests);
- reginfo->rootoid_len--;
- return ret;
- }
- break;
-
- case MODE_GETNEXT:
- reginfo->rootoid[reginfo->rootoid_len++] = 0;
- ret = netsnmp_call_next_handler(handler, reginfo, reqinfo, requests);
- reginfo->rootoid_len--;
- return ret;
- }
- /*
- * got here only if illegal mode found
- */
- return SNMP_ERR_GENERR;
-}
-
-/** @}
- */