SNMP Configuration and Management Manual
Trap Multiplexer Subagent/Manager
SNMP Configuration and Management Manual—424777-006
12-61
Application Source Code
 /* reset event buffer */
  event_buf = event_buf + sizeof(short); /* skip the length field */
  spi_err = SSPUTTKN ((short*)event_buf,          <-- 16
        ZSPI_TKN_RESET_BUFFER,
       (char*) (ibuflen - sizeof(short)));
  if (spi_err != ZSPI_ERR_OK)
   DEBUG();
  /* check if the event obtained is from a trap mux ssid  */
  spi_err = EMSGETTKN ((short*)event_buf,   /* buffer   */   <-- 17
       ZSPI_TKN_SSID,    /* token-id  */
       (char*)&tmpssid,    /* token-value */
       1);       /* index   */
  if (spi_err != ZSPI_ERR_OK)
   DEBUG();
  if (strcmp(tmpssid.u_z_filler.z_filler,ZSPI_VAL_TANDEM))
  {
   printf ("A non-HP event has been reported\n");
   continue;
  }
  if (tmpssid.z_number != ZSPI_SSN_ZTMX)
  {
   printf ("A non-Trap-Multiplexer event has been reported\n");
   continue;
  }
  /* check whether the event obtained is a trap event   */
  spi_err = EMSGETTKN ((short*)event_buf,  /* buffer   */   <-- 18
       ZEMS_TKN_EVENTNUMBER,  /* token-id  */
       (char*)&evt_num,   /* token-value  */
       1);      /* index   */
  if (spi_err != ZSPI_ERR_OK)
   DEBUG();
  if ((evt_num != ZTMX_EVT_TRAP_COLDSTART)   &&
   (evt_num != ZTMX_EVT_TRAP_WARMSTART)   &&
   (evt_num != ZTMX_EVT_TRAP_LINKDOWN )   &&
   (evt_num != ZTMX_EVT_TRAP_LINKUP  )   &&
   (evt_num != ZTMX_EVT_TRAP_AUTH_FAILURE) &&
   (evt_num != ZTMX_EVT_TRAP_EGP_LOSS )   &&
   (evt_num != ZTMX_EVT_TRAP_ENT_SPECIFIC))
  {
   printf ("A non-trap event has been reported\n");
   continue;
  }
  spi_err = EMSGETTKN ((short*)event_buf,  /* buffer   */   <-- 19
        ZTMX_TKN_TRAP_PDU,  /* token-id  */
        (char*)&trap_buf,  /* token-value  */
        1);      /* index   */
  if (spi_err != ZSPI_ERR_OK)
   DEBUG();
Example 12-3. Sample Application Source Code (page 6 of 14)










