old_api: Calls mib module code written in the old style of code.(3)

NAME
old_api: Calls mib module code written in the old style of code. - This is a backwards compatilibity module that allows code written in the old API to be run under the new handler based architecture.

  Functions
netsnmp_mib_handler * get_old_api_handler (void)
returns a old_api handler that should be the final calling handler.
int netsnmp_register_old_api (const char *moduleName, struct variable *var, size_t varsize, size_t numvars, oid *mibloc, size_t mibloclen, int priority, int range_subid, oid range_ubound, netsnmp_session *ss, const char *context, int timeout, int flags)
Registers an old API set into the mib tree.
int netsnmp_register_mib_table_row (const char *moduleName, struct variable *var, size_t varsize, size_t numvars, oid *mibloc, size_t mibloclen, int priority, int var_subid, netsnmp_session *ss, const char *context, int timeout, int flags)
registers a row within a mib table
int netsnmp_old_api_helper (netsnmp_mib_handler *handler, netsnmp_handler_registration *reginfo, netsnmp_agent_request_info *reqinfo, netsnmp_request_info *requests)
implements the old_api handler

Detailed Description

This is a backwards compatilibity module that allows code written in the old API to be run under the new handler based architecture.

Use it by calling netsnmp_register_old_api().

Function Documentation

  netsnmp_mib_handler* get_old_api_handler (void)

returns a old_api handler that should be the final calling handler.

Don't use this function. Use the netsnmp_register_old_api() function instead.

Definition at line 40 of file old_api.c.

References netsnmp_create_handler(), and netsnmp_old_api_helper().

Referenced by netsnmp_register_mib_table_row(), and netsnmp_register_old_api().

  int netsnmp_old_api_helper (netsnmp_mib_handler * handler, netsnmp_handler_registration * reginfo, netsnmp_agent_request_info * reqinfo, netsnmp_request_info * requests)

implements the old_api handler

Definition at line 229 of file old_api.c.

References variable::acl, old_opi_cache_s::data, variable::findVar, netsnmp_handler_registration_s::handlerName, variable::magic, netsnmp_agent_request_info_s::mode, netsnmp_mib_handler_s::myvoid, variable_list::name, variable::name, variable_list::name_length, variable::namelen, netsnmp_create_data_list(), netsnmp_oid_equals(), netsnmp_request_add_list_data(), netsnmp_request_get_list_data(), netsnmp_set_request_error(), netsnmp_request_info_s::next, NULL, netsnmp_request_info_s::requestvb, netsnmp_handler_registration_s::rootoid, netsnmp_handler_registration_s::rootoid_len, SNMP_MALLOC_TYPEDEF, snmp_set_var_typed_value(), variable_list::type, variable::type, variable_list::val, variable_list::val_len, and old_opi_cache_s::write_method.

Referenced by get_old_api_handler().

  int netsnmp_register_mib_table_row (const char * moduleName, struct variable * var, size_t varsize, size_t numvars, oid * mibloc, size_t mibloclen, int priority, int var_subid, netsnmp_session * ss, const char * context, int timeout, int flags)

registers a row within a mib table

Definition at line 110 of file old_api.c.

References netsnmp_handler_registration_s::contextName, register_parameters::contextName, register_parameters::flags, get_old_api_handler(), netsnmp_handler_registration_s::handler, HANDLER_CAN_RWRITE, netsnmp_handler_registration_s::handlerName, netsnmp_handler_registration_s::modes, netsnmp_mib_handler_s::myvoid, variable::name, register_parameters::name, variable::namelen, register_parameters::namelen, netsnmp_handler_registration_free(), netsnmp_register_handler_nocallback(), NULL, netsnmp_handler_registration_s::priority, register_parameters::priority, netsnmp_handler_registration_s::range_subid, register_parameters::range_subid, netsnmp_handler_registration_s::range_ubound, register_parameters::range_ubound, netsnmp_handler_registration_s::rootoid, netsnmp_handler_registration_s::rootoid_len, snmp_call_callbacks(), SNMP_MALLOC_TYPEDEF, netsnmp_handler_registration_s::timeout, and register_parameters::timeout.

  int netsnmp_register_old_api (const char * moduleName, struct variable * var, size_t varsize, size_t numvars, oid * mibloc, size_t mibloclen, int priority, int range_subid, oid range_ubound, netsnmp_session * ss, const char * context, int timeout, int flags)

Registers an old API set into the mib tree.

Functionally this mimics the old register_mib_context() function (and in fact the new register_mib_context() function merely calls this new old_api one).

netsnmp_handler_registration_free(reginfo); already freed

Definition at line 51 of file old_api.c.

References netsnmp_handler_registration_s::contextName, get_old_api_handler(), netsnmp_handler_registration_s::handler, HANDLER_CAN_RWRITE, netsnmp_handler_registration_s::handlerName, memdup(), netsnmp_handler_registration_s::modes, netsnmp_mib_handler_s::myvoid, netsnmp_register_handler(), NULL, netsnmp_handler_registration_s::priority, netsnmp_handler_registration_s::range_subid, netsnmp_handler_registration_s::range_ubound, netsnmp_handler_registration_s::rootoid, netsnmp_handler_registration_s::rootoid_len, SNMP_FREE, SNMP_MALLOC_TYPEDEF, and netsnmp_handler_registration_s::timeout.

Referenced by register_mib_context().