agent_read_config.c
资源名称:snmp.src.rar [点击查看]
上传用户:cxs890
上传日期:2021-05-22
资源大小:347k
文件大小:4k
源码类别:
SNMP编程
开发平台:
C/C++
- /*
- * agent_read_config.c
- */
- #include <config.h>
- #ifndef OS_VXWORKS
- #include <sys/types.h>
- #if HAVE_STDLIB_H
- #include <stdlib.h>
- #endif
- #if HAVE_STRING_H
- #include <string.h>
- #else
- #include <strings.h>
- #endif
- #include <stdio.h>
- #include <ctype.h>
- #include <errno.h>
- #endif
- #if TIME_WITH_SYS_TIME
- # ifdef WIN32
- # include <sys/timeb.h>
- # else
- # include <time.h>
- # endif
- # include <time.h>
- #else
- # if HAVE_SYS_TIME_H
- # include <sys/time.h>
- # else
- # include <time.h>
- # endif
- #endif
- #if HAVE_NETINET_IN_H
- #include <netinet/in.h>
- #endif
- #if HAVE_NETINET_IN_SYSTM_H
- #include <netinet/in_systm.h>
- #endif
- #if HAVE_NETINET_IP_H
- #include <netinet/ip.h>
- #endif
- #ifdef INET6
- #if HAVE_NETINET_IP6_H
- #include <netinet/ip6.h>
- #endif
- #endif
- #if HAVE_SYS_QUEUE_H
- #include <sys/queue.h>
- #endif
- #if HAVE_SYS_SOCKET_H
- #include <sys/socket.h>
- #elif HAVE_WINSOCK_H
- #include <ip/socket.h>
- #endif
- #if HAVE_SYS_STREAM_H
- #include <sys/stream.h>
- #endif
- #if HAVE_NET_ROUTE_H
- #include <net/route.h>
- #endif
- #if HAVE_NETINET_IP_VAR_H
- #include <netinet/ip_var.h>
- #endif
- #ifdef INET6
- #if HAVE_NETINET6_IP6_VAR_H
- #include <netinet6/ip6_var.h>
- #endif
- #endif
- #if HAVE_NETINET_IN_PCB_H
- #include <netinet/in_pcb.h>
- #endif
- #if HAVE_INET_MIB2_H
- #include <inet/mib2.h>
- #endif
- #if HAVE_DMALLOC_H
- #include <dmalloc.h>
- #endif
- #include "mibgroupmibincl.h"
- #include "snmpusm.h"
- #include "mibgroup/struct.h"
- #include "read_config.h"
- #include "agent_read_config.h"
- #include "callback.h"
- #include "snmp_agent.h"
- #include "agent_trap.h"
- #include "snmpd.h"
- #include "system.h"
- #include "snmp_debug.h"
- #include "snmp_alarm.h"
- #include "default_store.h"
- #include "ds_agent.h"
- #ifdef OS_VXWORKS
- #include <sys/times.h>
- #endif
- #include "mib_module_includes.h"
- char dontReadConfigFiles;
- char *optconfigfile;
- void init_agent_read_config (const char *app)
- {
- if ( app != NULL )
- ds_set_string(DS_LIBRARY_ID, DS_LIB_APPTYPE, app);
- register_app_config_handler("authtrapenable",
- snmpd_parse_config_authtrap, NULL,
- "1 | 2tt(1 = enable, 2 = disable)");
- if ( ds_get_boolean(DS_APPLICATION_ID, DS_AGENT_ROLE) == MASTER_AGENT ) {
- register_app_config_handler("trapsink",
- snmpd_parse_config_trapsink, snmpd_free_trapsinks,
- "host [community]");
- register_app_config_handler("trap2sink",
- snmpd_parse_config_trap2sink, NULL,
- "host [community]");
- register_app_config_handler("informsink",
- snmpd_parse_config_informsink, NULL,
- "host [community]");
- }
- register_app_config_handler("trapcommunity",
- snmpd_parse_config_trapcommunity,
- snmpd_free_trapcommunity,
- "community-string");
- #include "mib_module_dot_conf.h"
- #ifdef TESTING
- print_config_handlers();
- #endif
- }
- void update_config(void)
- {
- free_config();
- read_configs();
- }
- void
- snmpd_register_config_handler(const char *token,
- void (*parser) (const char *, char *),
- void (*releaser) (void),
- const char *help)
- {
- DEBUGMSGTL(("snmpd_register_app_config_handler",
- "registering .conf token for "%s"n", token));
- register_app_config_handler(token, parser, releaser, help);
- }
- #if 0
- void
- snmpd_unregister_config_handler(const char *token)
- {
- unregister_app_config_handler(token);
- }
- #endif
- /* this function is intended for use by mib-modules to store permenant
- configuration information generated by sets or persistent counters */
- void
- snmpd_store_config(const char *line)
- {
- read_app_config_store(line);
- }