/* Initializes the mteEventNotificationTable module */ void init_mteEventNotificationTable(void) { static oid mteEventNotificationTable_oid[] = { 1, 3, 6, 1, 2, 1, 88, 1, 4, 3 }; size_t mteEventNotificationTable_oid_len = OID_LENGTH(mteEventNotificationTable_oid); netsnmp_handler_registration *reg; netsnmp_table_registration_info *table_info; /* * Ensure the (combined) table container is available... */ init_event_table_data(); /* * ... then set up the MIB interface to the mteEventNotificationTable slice */ reg = netsnmp_create_handler_registration("mteEventNotificationTable", mteEventNotificationTable_handler, mteEventNotificationTable_oid, mteEventNotificationTable_oid_len, HANDLER_CAN_RWRITE); table_info = SNMP_MALLOC_TYPEDEF(netsnmp_table_registration_info); netsnmp_table_helper_add_indexes(table_info, ASN_OCTET_STR, /* index: mteOwner */ /* index: mteEventName */ ASN_PRIV_IMPLIED_OCTET_STR, 0); table_info->min_column = COLUMN_MTEEVENTNOTIFICATION; table_info->max_column = COLUMN_MTEEVENTNOTIFICATIONOBJECTS; /* Register this using the (common) event_table_data container */ netsnmp_tdata_register(reg, event_table_data, table_info); DEBUGMSGTL(("disman:event:init", "Event Notify Table container (%x)\n", event_table_data)); }
/* Initializes the mteEventSetTable module */ void init_mteEventSetTable (void) { static oid mteEventSetTable_oid[] = { 1, 3, 6, 1, 2, 1, 88, 1, 4, 4 }; size_t mteEventSetTable_oid_len = OID_LENGTH (mteEventSetTable_oid); netsnmp_handler_registration *reg; /* * Ensure the (combined) table container is available... */ init_event_table_data (); /* * ... then set up the MIB interface to the mteEventSetTable slice */ #ifndef NETSNMP_NO_WRITE_SUPPORT reg = netsnmp_create_handler_registration ("mteEventSetTable", mteEventSetTable_handler, mteEventSetTable_oid, mteEventSetTable_oid_len, HANDLER_CAN_RWRITE); #else /* !NETSNMP_NO_WRITE_SUPPORT */ reg = netsnmp_create_handler_registration ("mteEventSetTable", mteEventSetTable_handler, mteEventSetTable_oid, mteEventSetTable_oid_len, HANDLER_CAN_RONLY); #endif /* !NETSNMP_NO_WRITE_SUPPORT */ table_info = SNMP_MALLOC_TYPEDEF (netsnmp_table_registration_info); netsnmp_table_helper_add_indexes (table_info, ASN_OCTET_STR, /* index: mteOwner */ /* index: mteEventName */ ASN_PRIV_IMPLIED_OCTET_STR, 0); table_info->min_column = COLUMN_MTEEVENTSETOBJECT; table_info->max_column = COLUMN_MTEEVENTSETCONTEXTNAMEWILDCARD; /* Register this using the (common) event_table_data container */ netsnmp_tdata_register (reg, event_table_data, table_info); DEBUGMSGTL (("disman:event:init", "Event Set Table container (%p)\n", event_table_data)); }
/** Initializes the mteTriggerBooleanTable module */ void init_mteTriggerBooleanTable(void) { static oid mteTBoolTable_oid[] = { 1, 3, 6, 1, 2, 1, 88, 1, 2, 5 }; size_t mteTBoolTable_oid_len = OID_LENGTH(mteTBoolTable_oid); netsnmp_handler_registration *reg; netsnmp_table_registration_info *table_info; /* * Ensure the (combined) table container is available... */ init_trigger_table_data(); /* * ... then set up the MIB interface to the mteTriggerBooleanTable slice */ reg = netsnmp_create_handler_registration("mteTriggerBooleanTable", mteTriggerBooleanTable_handler, mteTBoolTable_oid, mteTBoolTable_oid_len, HANDLER_CAN_RWRITE); table_info = SNMP_MALLOC_TYPEDEF(netsnmp_table_registration_info); netsnmp_table_helper_add_indexes(table_info, ASN_OCTET_STR, /* index: mteOwner */ /* index: mteTriggerName */ ASN_PRIV_IMPLIED_OCTET_STR, 0); table_info->min_column = COLUMN_MTETRIGGERBOOLEANCOMPARISON; table_info->max_column = COLUMN_MTETRIGGERBOOLEANEVENT; /* Register this using the (common) trigger_table_data container */ netsnmp_tdata_register(reg, trigger_table_data, table_info); DEBUGMSGTL(("disman:event:init", "Trigger Bool Table\n")); }
void init_snmpTlstmCertToTSNTable_context(const char *contextName) { oid reg_oid[] = { SNMP_TLS_TM_CERT_TABLE }; const size_t reg_oid_len = OID_LENGTH(reg_oid); netsnmp_handler_registration *reg; netsnmp_table_registration_info *info; netsnmp_cache *cache; netsnmp_watcher_info *watcher; const char *mib_map_help = MAP_MIB_CONFIG_TOKEN " table persistence (internal use)"; DEBUGMSGTL(("tlstmCertToSN:init", "initializing table tlstmCertToTSNTable\n")); reg = netsnmp_create_handler_registration ("tlstmCertToTSNTable", tlstmCertToTSNTable_handler, reg_oid, reg_oid_len, HANDLER_CAN_RWRITE); if (NULL == reg) { snmp_log(LOG_ERR, "error creating handler registration for tlstmCertToSN\n"); return; } if (NULL != contextName) reg->contextName = strdup(contextName); _table = netsnmp_tdata_create_table("tlstmCertToTSNTable", 0); if (NULL == _table) { snmp_log(LOG_ERR, "error creating tdata table for tlstmCertToTSNTable\n"); return; } info = SNMP_MALLOC_TYPEDEF(netsnmp_table_registration_info); if (NULL == info) { snmp_log(LOG_ERR, "error creating table info for tlstmCertToTSNTable\n"); netsnmp_tdata_delete_table(_table); _table = NULL; return; } netsnmp_table_helper_add_indexes(info, /* index: tlstmCertToTSNID */ ASN_UNSIGNED, 0); info->min_column = SNMPTLSTMCERTTOTSN_TABLE_MIN_COL; info->max_column = SNMPTLSTMCERTTOTSN_TABLE_MAX_COL; /* * cache init */ cache = netsnmp_cache_create(30, (NetsnmpCacheLoad*)_cache_load, (NetsnmpCacheFree*)_cache_free, reg_oid, reg_oid_len); if (NULL == cache) { snmp_log(LOG_ERR,"error creating cache for tlstmCertToTSNTable\n"); netsnmp_tdata_delete_table(_table); _table = NULL; return; } cache->magic = (void *)_table; cache->flags = NETSNMP_CACHE_DONT_INVALIDATE_ON_SET; netsnmp_tdata_register(reg, _table, info); if (cache) netsnmp_inject_handler_before( reg, netsnmp_cache_handler_get(cache), "table_container"); /* * register scalars */ reg_oid[10] = 1; reg = netsnmp_create_handler_registration("snmpTlstmCertToTSNCount", _count_handler, reg_oid, OID_LENGTH(reg_oid), HANDLER_CAN_RONLY); if (NULL == reg) snmp_log(LOG_ERR, "could not create handler for snmpTlstmCertToTSNCount\n"); else { if (NULL != contextName) reg->contextName = strdup(contextName); netsnmp_register_scalar(reg); if (cache) netsnmp_inject_handler_before(reg, netsnmp_cache_handler_get(cache), "table_container"); } reg_oid[10] = 2; reg = netsnmp_create_handler_registration( "snmpTlstmCertToTSNTableLastChanged", NULL, reg_oid, OID_LENGTH(reg_oid), HANDLER_CAN_RONLY); watcher = netsnmp_create_watcher_info((void*)&_last_changed, sizeof(_last_changed), ASN_TIMETICKS, WATCHER_FIXED_SIZE); if ((NULL == reg) || (NULL == watcher)) snmp_log(LOG_ERR, "could not create handler for snmpTlstmCertToTSNCount\n"); else { if (NULL != contextName) reg->contextName = strdup(contextName); netsnmp_register_watched_scalar(reg, watcher); } /* * persistence */ register_config_handler(NULL, MAP_MIB_CONFIG_TOKEN, _parse_mib_maps, NULL, mib_map_help); if (snmp_register_callback(SNMP_CALLBACK_LIBRARY, SNMP_CALLBACK_STORE_DATA, _save_maps, NULL) != SNMP_ERR_NOERROR) snmp_log(LOG_ERR, "error registering for STORE_DATA callback " "for certToTSN\n"); }