snmptrapd_handlers.h
上传用户:wxp200602
上传日期:2007-10-30
资源大小:4028k
文件大小:2k
源码类别:

SNMP编程

开发平台:

Unix_Linux

  1. #ifndef SNMPTRAPD_HANDLERS_H
  2. #define SNMPTRAPD_HANDLERS_H
  3. typedef struct netsnmp_trapd_handler_s netsnmp_trapd_handler;
  4. typedef int (Netsnmp_Trap_Handler)(netsnmp_pdu           *pdu,
  5.                                    netsnmp_transport     *transport,
  6.                                    netsnmp_trapd_handler *handler);
  7. struct netsnmp_trapd_handler_s {
  8.      oid  *trapoid;
  9.      int   trapoid_len;
  10.      char *token; /* Or an array of tokens? */
  11.      char *format; /* Formatting string */
  12.      int   version; /* ??? */
  13.      Netsnmp_Trap_Handler *handler;
  14.      void *handler_data;
  15.      netsnmp_trapd_handler *nexth; /* Next handler for this trap */
  16.              /* Doubly-linked list of traps with registered handlers */
  17.      netsnmp_trapd_handler *prevt;
  18.      netsnmp_trapd_handler *nextt;
  19. };
  20. Netsnmp_Trap_Handler   syslog_handler;
  21. Netsnmp_Trap_Handler   print_handler;
  22. Netsnmp_Trap_Handler   command_handler;
  23. Netsnmp_Trap_Handler   event_handler;
  24. Netsnmp_Trap_Handler   forward_handler;
  25. void free_trap1_fmt(void);
  26. void free_trap2_fmt(void);
  27. extern char *print_format1;
  28. extern char *print_format2;
  29. #define NETSNMPTRAPD_AUTH_HANDLER    1
  30. #define NETSNMPTRAPD_PRE_HANDLER     2
  31. #define NETSNMPTRAPD_POST_HANDLER    3
  32. #define NETSNMPTRAPD_HANDLER_OK      1 /* Succeed, & keep going */
  33. #define NETSNMPTRAPD_HANDLER_FAIL    2 /* Failed but keep going */
  34. #define NETSNMPTRAPD_HANDLER_BREAK   3 /* Move to the next list */
  35. #define NETSNMPTRAPD_HANDLER_FINISH  4 /* No further processing */
  36. void snmptrapd_register_configs( void );
  37. netsnmp_trapd_handler *netsnmp_add_global_traphandler(int list, Netsnmp_Trap_Handler handler);
  38. netsnmp_trapd_handler *netsnmp_add_default_traphandler(Netsnmp_Trap_Handler handler);
  39. netsnmp_trapd_handler *netsnmp_add_traphandler(Netsnmp_Trap_Handler handler,
  40.                         oid *trapOid, int trapOidLen);
  41. netsnmp_trapd_handler *netsnmp_get_traphandler(oid *trapOid, int trapOidLen);
  42. const char *trap_description(int trap);
  43. void do_external(char *cmd, struct hostent *host,
  44.             netsnmp_pdu *pdu, netsnmp_transport *transport);
  45. int snmp_input(int op, netsnmp_session *session,
  46.            int reqid, netsnmp_pdu *pdu, void *magic);
  47. #endif                          /* SNMPTRAPD_HANDLERS_H */