00001 #ifndef AGENT_TRAP_H
00002 #define AGENT_TRAP_H
00003
00004 #ifdef __cplusplus
00005 extern "C" {
00006 #endif
00007
00008 struct agent_add_trap_args {
00009 netsnmp_session *ss;
00010 int confirm;
00011 };
00012
00013 void init_traps(void);
00014 void send_easy_trap(int, int);
00015 void send_trap_pdu(netsnmp_pdu *);
00016 void send_v2trap(netsnmp_variable_list *);
00017 void send_trap_vars(int, int, netsnmp_variable_list *);
00018 void send_enterprise_trap_vars(int trap, int specific,
00019 oid * enterprise,
00020 int enterprise_length,
00021 netsnmp_variable_list * vars);
00022 int netsnmp_send_traps(int trap, int specific,
00023 oid * enterprise, int enterprise_length,
00024 netsnmp_variable_list * vars,
00025
00026 char * context, int flags);
00027 void snmpd_parse_config_authtrap(const char *, char *);
00028 void snmpd_parse_config_trapsink(const char *, char *);
00029 void snmpd_parse_config_trap2sink(const char *, char *);
00030 void snmpd_parse_config_informsink(const char *, char *);
00031 void snmpd_parse_config_trapsess(const char *, char *);
00032 void snmpd_free_trapsinks(void);
00033 void snmpd_parse_config_trapcommunity(const char *, char *);
00034 void snmpd_free_trapcommunity(void);
00035 void send_trap_to_sess(netsnmp_session * sess,
00036 netsnmp_pdu *template_pdu);
00037
00038 int create_trap_session(char *, u_short, char *, int, int);
00039 int add_trap_session(netsnmp_session *, int, int, int);
00040 int remove_trap_session(netsnmp_session *);
00041
00042 void convert_v2_to_v1(netsnmp_variable_list *, netsnmp_pdu *);
00043 netsnmp_variable_list *convert_v1_to_v2(netsnmp_pdu *);
00044 netsnmp_pdu *convert_v2pdu_to_v1(netsnmp_pdu *);
00045 netsnmp_pdu *convert_v1pdu_to_v2(netsnmp_pdu *);
00046
00047 #ifdef __cplusplus
00048 }
00049 #endif
00050 #endif