|
Packit |
fcad23 |
#ifndef SNMPTRAPD_HANDLERS_H
|
|
Packit |
fcad23 |
#define SNMPTRAPD_HANDLERS_H
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
typedef struct netsnmp_trapd_handler_s netsnmp_trapd_handler;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
typedef int (Netsnmp_Trap_Handler)(netsnmp_pdu *pdu,
|
|
Packit |
fcad23 |
netsnmp_transport *transport,
|
|
Packit |
fcad23 |
netsnmp_trapd_handler *handler);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define NETSNMP_TRAPHANDLER_FLAG_MATCH_TREE 0x1
|
|
Packit |
fcad23 |
#define NETSNMP_TRAPHANDLER_FLAG_STRICT_SUBTREE 0x2
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
struct netsnmp_trapd_handler_s {
|
|
Packit |
fcad23 |
oid *trapoid;
|
|
Packit |
fcad23 |
int trapoid_len;
|
|
Packit |
fcad23 |
char *token; /* Or an array of tokens? */
|
|
Packit |
fcad23 |
char *format; /* Formatting string */
|
|
Packit |
fcad23 |
int version; /* ??? */
|
|
Packit |
fcad23 |
int authtypes;
|
|
Packit |
fcad23 |
int flags;
|
|
Packit |
fcad23 |
Netsnmp_Trap_Handler *handler;
|
|
Packit |
fcad23 |
void *handler_data;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
netsnmp_trapd_handler *nexth; /* Next handler for this trap */
|
|
Packit |
fcad23 |
/* Doubly-linked list of traps with registered handlers */
|
|
Packit |
fcad23 |
netsnmp_trapd_handler *prevt;
|
|
Packit |
fcad23 |
netsnmp_trapd_handler *nextt;
|
|
Packit |
fcad23 |
};
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
Netsnmp_Trap_Handler syslog_handler;
|
|
Packit |
fcad23 |
Netsnmp_Trap_Handler print_handler;
|
|
Packit |
fcad23 |
Netsnmp_Trap_Handler command_handler;
|
|
Packit |
fcad23 |
Netsnmp_Trap_Handler event_handler;
|
|
Packit |
fcad23 |
Netsnmp_Trap_Handler forward_handler;
|
|
Packit |
fcad23 |
Netsnmp_Trap_Handler axforward_handler;
|
|
Packit |
fcad23 |
Netsnmp_Trap_Handler notification_handler;
|
|
Packit |
fcad23 |
Netsnmp_Trap_Handler mysql_handler;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
void free_trap1_fmt(void);
|
|
Packit |
fcad23 |
void free_trap2_fmt(void);
|
|
Packit |
fcad23 |
extern char *print_format1;
|
|
Packit |
fcad23 |
extern char *print_format2;
|
|
Packit |
fcad23 |
extern int SyslogTrap;
|
|
Packit |
fcad23 |
extern int dropauth;
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define NETSNMPTRAPD_AUTH_HANDLER 1
|
|
Packit |
fcad23 |
#define NETSNMPTRAPD_PRE_HANDLER 2
|
|
Packit |
fcad23 |
#define NETSNMPTRAPD_POST_HANDLER 3
|
|
Packit |
fcad23 |
#define NETSNMPTRAPD_DEFAULT_HANDLER 4
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#define NETSNMPTRAPD_HANDLER_OK 1 /* Succeed, & keep going */
|
|
Packit |
fcad23 |
#define NETSNMPTRAPD_HANDLER_FAIL 2 /* Failed but keep going */
|
|
Packit |
fcad23 |
#define NETSNMPTRAPD_HANDLER_BREAK 3 /* Move to the next list */
|
|
Packit |
fcad23 |
#define NETSNMPTRAPD_HANDLER_FINISH 4 /* No further processing */
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
void snmptrapd_register_configs( void );
|
|
Packit |
fcad23 |
netsnmp_trapd_handler *netsnmp_add_global_traphandler(int list, Netsnmp_Trap_Handler* handler);
|
|
Packit |
fcad23 |
netsnmp_trapd_handler *netsnmp_add_default_traphandler(Netsnmp_Trap_Handler* handler);
|
|
Packit |
fcad23 |
netsnmp_trapd_handler *netsnmp_add_traphandler(Netsnmp_Trap_Handler* handler,
|
|
Packit |
fcad23 |
oid *trapOid, int trapOidLen);
|
|
Packit |
fcad23 |
netsnmp_trapd_handler *netsnmp_get_traphandler(oid *trapOid, int trapOidLen);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
const char *trap_description(int trap);
|
|
Packit |
fcad23 |
void do_external(char *cmd, struct hostent *host,
|
|
Packit |
fcad23 |
netsnmp_pdu *pdu, netsnmp_transport *transport);
|
|
Packit |
fcad23 |
int snmp_input(int op, netsnmp_session *session,
|
|
Packit |
fcad23 |
int reqid, netsnmp_pdu *pdu, void *magic);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
void parse_format(const char *token, char *line);
|
|
Packit |
fcad23 |
|
|
Packit |
fcad23 |
#endif /* SNMPTRAPD_HANDLERS_H */
|