SNMP_TRP.C
上传用户:sunrenlu
上传日期:2022-06-13
资源大小:1419k
文件大小:2k
源码类别:

操作系统开发

开发平台:

DOS

  1. /*
  2.  * SNMP Trap example
  3.  *
  4.  */
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7. #include <string.h>
  8. #include <snmp.h>
  9. #include <rtos.h>
  10. #include <net.h>
  11. void single( DWORD remote_ip )
  12. {
  13.     char *community = "public";
  14.     DWORD agent = 0;
  15.     char *entOID = "1.3.6.1";
  16.     char *fromOID = "1.3.6.1.2.1";
  17.     int genTrapType = SNMP_TRAP_WARMSTART; // generic trap type, 1-6 see RFC 1157
  18.     int specTrapType = 0;   // specific trap type, 0 if using genTrapType
  19.     int type = SNMP_OCTETSTR;
  20.     char *value = "foo";
  21.     snmp_trap( remote_ip, community, entOID, fromOID, agent,
  22.         genTrapType, specTrapType,
  23.         type, value, strlen( value ) );
  24. }
  25. void multiple( DWORD remote_ip, int index )
  26. {
  27. #define REPLY_COUNT 2
  28.     char *community = "public";
  29.     DWORD agent = 0;
  30.     char *entOID =      "1.3.6.1";
  31.     char *fromOIDs[] = { "1.3.6.1.4.1.3.2.1",
  32.                          "1.3.6.1.4.1.3.3.2" };
  33.     int genTrapType = SNMP_TRAP_WARMSTART; // generic trap type, 1-6 see RFC 1157
  34.     int specTrapType = 0;   // specific trap type, 0 if using genTrapType
  35.     int types[REPLY_COUNT] = { SNMP_OCTETSTR, SNMP_OCTETSTR };
  36.     char *values[REPLY_COUNT] = {"foo","bar "};
  37.     int valuelens[REPLY_COUNT] = { 3, 4 };
  38.     values[1][3] = '0' + index;
  39.     snmp_traps( remote_ip, community, entOID, REPLY_COUNT, &fromOIDs, agent,
  40.         genTrapType, specTrapType,
  41.         types, values, valuelens );
  42. }
  43. #pragma argsused
  44. int main( int argc, char **argv )
  45. {
  46.     DWORD remote_ip;
  47.     int i;
  48.     rt_init( 100 );
  49.     sock_init();
  50.     remote_ip = resolve("129.97.50.25");     // our snmp trap daemon
  51.     single( remote_ip );
  52.     for (i = 1 ; i < 5 ; ++i ) {
  53.       multiple( remote_ip , i );
  54.     }
  55. }