finally in sync with archive
[bcm963xx.git] / userapps / opensource / net-snmp / agent / helpers / bulk_to_next.c
diff --git a/userapps/opensource/net-snmp/agent/helpers/bulk_to_next.c b/userapps/opensource/net-snmp/agent/helpers/bulk_to_next.c
deleted file mode 100755 (executable)
index 54785d5..0000000
+++ /dev/null
@@ -1,99 +0,0 @@
-#include <net-snmp/net-snmp-config.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/bulk_to_next.h>
-
-#if HAVE_DMALLOC_H
-#include <dmalloc.h>
-#endif
-
-/** @defgroup bulk_to_next bulk_to_next: convert GETBULK requests into GETNEXT requests for the handler.
- *  The only purpose of this handler is to convert a GETBULK request
- *  to a GETNEXT request.  It is inserted into handler chains where
- *  the handler has not set the HANDLER_CAN_GETBULK flag.
- *  @ingroup handler
- *  @{
- */
-
-/** returns a bulk_to_next handler that can be injected into a given
- *  handler chain.
- */
-netsnmp_mib_handler *
-netsnmp_get_bulk_to_next_handler(void)
-{
-    return netsnmp_create_handler("bulk_to_next",
-                                  netsnmp_bulk_to_next_helper);
-}
-
-/** takes answered requests and decrements the repeat count and
- *  updates the requests to the next to-do varbind in the list */
-void
-netsnmp_bulk_to_next_fix_requests(netsnmp_request_info *requests)
-{
-    netsnmp_request_info *request;
-    /*
-     * update the varbinds for the next request series 
-     */
-    for (request = requests; request; request = request->next) {
-        if (request->repeat > 0 &&
-            request->requestvb->type != ASN_NULL &&
-            request->requestvb->type != ASN_PRIV_RETRY) {
-            request->repeat--;
-            snmp_set_var_objid(request->requestvb->next_variable,
-                               request->requestvb->name,
-                               request->requestvb->name_length);
-            request->requestvb = request->requestvb->next_variable;
-            request->requestvb->type = ASN_PRIV_RETRY;
-        }
-    }
-}
-
-/** @internal Implements the bulk_to_next handler */
-int
-netsnmp_bulk_to_next_helper(netsnmp_mib_handler *handler,
-                            netsnmp_handler_registration *reginfo,
-                            netsnmp_agent_request_info *reqinfo,
-                            netsnmp_request_info *requests)
-{
-
-    int             ret;
-
-    switch (reqinfo->mode) {
-
-    case MODE_GETBULK:
-        reqinfo->mode = MODE_GETNEXT;
-        ret =
-            netsnmp_call_next_handler(handler, reginfo, reqinfo, requests);
-        reqinfo->mode = MODE_GETBULK;
-
-        /*
-         * update the varbinds for the next request series 
-         */
-        netsnmp_bulk_to_next_fix_requests(requests);
-        return ret;
-
-    default:
-        return netsnmp_call_next_handler(handler, reginfo, reqinfo,
-                                         requests);
-    }
-    return SNMP_ERR_GENERR;     /* should never get here */
-}
-
-/** initializes the bulk_to_next helper which then registers a bulk_to_next
- *  handler as a run-time injectable handler for configuration file
- *  use.
- */
-void
-netsnmp_init_bulk_to_next_helper(void)
-{
-    netsnmp_register_handler_by_name("bulk_to_next",
-                                     netsnmp_get_bulk_to_next_handler());
-}