/** Initializes the snmp module */ void init_snmp_mib(void) { DEBUGMSGTL(("snmp", "Initializing\n")); netsnmp_register_scalar_group( netsnmp_create_handler_registration( "mibII/snmp", handle_snmp, snmp_oid, OID_LENGTH(snmp_oid), HANDLER_CAN_RONLY), 1, 32); { const oid snmpEnableAuthenTraps_oid[] = { 1, 3, 6, 1, 2, 1, 11, 30, 0 }; static netsnmp_watcher_info enableauthen_info; netsnmp_handler_registration *reg = netsnmp_create_update_handler_registration( "mibII/snmpEnableAuthenTraps", snmpEnableAuthenTraps_oid, OID_LENGTH(snmpEnableAuthenTraps_oid), HANDLER_CAN_RWRITE, &snmp_enableauthentrapsset); netsnmp_inject_handler(reg, netsnmp_get_truthvalue()); netsnmp_register_watched_instance( reg, netsnmp_init_watcher_info( &enableauthen_info, &snmp_enableauthentraps, sizeof(snmp_enableauthentraps), ASN_INTEGER, WATCHER_FIXED_SIZE)); } #ifdef USING_MIBII_SYSTEM_MIB_MODULE if (++system_module_count == 3) REGISTER_SYSOR_TABLE(system_module_oid, system_module_oid_len, "The MIB module for SNMPv2 entities"); #endif snmp_register_callback(SNMP_CALLBACK_LIBRARY, SNMP_CALLBACK_STORE_DATA, snmp_enableauthentraps_store, NULL); }
/** * This function registers an int helper handler to a specified OID. * * @param name the name used for registration pruposes. * * @param reg_oid the OID where you want to register your integer at * * @param reg_oid_len the length of the OID * * @param it the integer value to be registered during initialization * * @param subhandler a handler to do whatever you want to do, otherwise use * NULL to use the default int handler. * * @return * MIB_REGISTERED_OK is returned if the registration was a success. * Failures are MIB_REGISTRATION_FAILED and MIB_DUPLICATE_REGISTRATION. */ int netsnmp_register_int_instance(const char *name, const oid * reg_oid, size_t reg_oid_len, int *it, Netsnmp_Node_Handler * subhandler) { return netsnmp_register_watched_instance( netsnmp_create_handler_registration( name, subhandler, reg_oid, reg_oid_len, HANDLER_CAN_RWRITE), netsnmp_create_watcher_info( (void *)it, sizeof(int), ASN_INTEGER, WATCHER_FIXED_SIZE)); }
int netsnmp_register_read_only_uint_instance(const char *name, const oid * reg_oid, size_t reg_oid_len, unsigned int *it, Netsnmp_Node_Handler * subhandler) { return netsnmp_register_watched_instance( netsnmp_create_handler_registration( name, subhandler, reg_oid, reg_oid_len, HANDLER_CAN_RONLY), netsnmp_create_watcher_info( (void *)it, sizeof(unsigned int), ASN_UNSIGNED, WATCHER_FIXED_SIZE)); }
int netsnmp_register_read_only_counter32_instance(const char *name, const oid * reg_oid, size_t reg_oid_len, u_long * it, Netsnmp_Node_Handler * subhandler) { return netsnmp_register_watched_instance( netsnmp_create_handler_registration( name, subhandler, reg_oid, reg_oid_len, HANDLER_CAN_RONLY), netsnmp_create_watcher_info( (void *)it, sizeof(u_long), ASN_COUNTER, WATCHER_FIXED_SIZE)); }
int netsnmp_register_long_instance_context(const char *name, const oid * reg_oid, size_t reg_oid_len, long *it, Netsnmp_Node_Handler * subhandler, const char *contextName) { netsnmp_handler_registration *myreg = netsnmp_create_handler_registration( name, subhandler, reg_oid, reg_oid_len, HANDLER_CAN_RWRITE); if (myreg && contextName) myreg->contextName = strdup(contextName); return netsnmp_register_watched_instance( myreg, netsnmp_create_watcher_info( (void *)it, sizeof(long), ASN_INTEGER, WATCHER_FIXED_SIZE)); }