#ifndef AGENT_TRAP_H #define AGENT_TRAP_H /* * Portions of this file are copyrighted by: * Copyright (c) 2016 VMware, Inc. All rights reserved. * Use is subject to license terms specified in the COPYING file * distributed with the Net-SNMP package. */ #ifdef __cplusplus extern "C" { #endif struct agent_add_trap_args { netsnmp_session *ss; int confirm; const char *nameData; /* notification target addr name */ int nameLen; const char *tagData; /* notification tag */ int tagLen; const char *profileData; /* filter profile */ int profileLen; int rc; }; void init_traps(void); void send_easy_trap(int, int); void send_trap_pdu(netsnmp_pdu *); void send_v2trap(netsnmp_variable_list *); void send_v3trap(netsnmp_variable_list *vars, const char *context); void send_trap_vars(int, int, netsnmp_variable_list *); void send_trap_vars_with_context(int trap, int specific, netsnmp_variable_list *vars, const char *context); void send_enterprise_trap_vars(int trap, int specific, const oid * enterprise, int enterprise_length, netsnmp_variable_list * vars); int netsnmp_send_traps(int trap, int specific, const oid * enterprise, int enterprise_length, netsnmp_variable_list * vars, /* flags are currently unused */ const char * context, int flags); void snmpd_parse_config_authtrap(const char *, char *); void snmpd_parse_config_trapsink(const char *, char *); void snmpd_parse_config_trap2sink(const char *, char *); void snmpd_parse_config_informsink(const char *, char *); void snmpd_parse_config_trapsess(const char *, char *); void snmpd_free_trapsinks(void); void snmpd_parse_config_trapcommunity(const char *, char *); void snmpd_free_trapcommunity(void); void send_trap_to_sess(netsnmp_session * sess, netsnmp_pdu *template_pdu); int create_trap_session(char *, u_short, char *, int, int); int create_trap_session_with_src(const char *, const char *, const char *, const char *, int, int); int add_trap_session(netsnmp_session *, int, int, int); int remove_trap_session(netsnmp_session *); netsnmp_session *netsnmp_create_v1v2_notification_session(const char *, const char*, const char *, const char *, int, int, const char *, const char *, const char*); netsnmp_session *netsnmp_create_v3user_notification_session(const char *dst, const char *user, int lvl, const char *ctx, int pdutype, const u_char *eid, size_t eidl, const char *src, const char *name, const char *tag, const char *prof); int netsnmp_add_notification_session(netsnmp_session *, int, int, int, const char*, const char*, const char*); void netsnmp_unregister_notification(const char *, u_char); int netsnmp_build_trap_oid(netsnmp_pdu *pdu, oid *, size_t *); void convert_v2_to_v1(netsnmp_variable_list *, netsnmp_pdu *); netsnmp_variable_list *convert_v1_to_v2(netsnmp_pdu *); netsnmp_pdu *convert_v2pdu_to_v1(netsnmp_pdu *); netsnmp_pdu *convert_v1pdu_to_v2(netsnmp_pdu *); #ifdef __cplusplus } #endif #endif /* AGENT_TRAP_H */