Esempio n. 1
0
int scamper_file_write_obj(scamper_file_t *sf, uint16_t type, const void *data)
{
  switch(type)
    {
    case SCAMPER_FILE_OBJ_LIST:
    case SCAMPER_FILE_OBJ_CYCLE_DEF:
    case SCAMPER_FILE_OBJ_CYCLE_START:
    case SCAMPER_FILE_OBJ_CYCLE_STOP:
    case SCAMPER_FILE_OBJ_ADDR:
      return -1;

    case SCAMPER_FILE_OBJ_TRACE:
      return scamper_file_write_trace(sf, data);

    case SCAMPER_FILE_OBJ_PING:
      return scamper_file_write_ping(sf, data);

    case SCAMPER_FILE_OBJ_TRACELB:
      return scamper_file_write_tracelb(sf, data);

    case SCAMPER_FILE_OBJ_DEALIAS:
      return scamper_file_write_dealias(sf, data);

    case SCAMPER_FILE_OBJ_NEIGHBOURDISC:
      return scamper_file_write_neighbourdisc(sf, data);

    case SCAMPER_FILE_OBJ_TBIT:
      return scamper_file_write_tbit(sf, data);

    case SCAMPER_FILE_OBJ_SNIFF:
      return scamper_file_write_sniff(sf, data);
    }

  return -1;
}
Esempio n. 2
0
static int write_obj(uint16_t type, void *data)
{
  /* write the object out */
  switch(type)
    {
    case SCAMPER_FILE_OBJ_TRACELB:
      if(scamper_file_write_tracelb(outfile, data) != 0)
	return -1;
      scamper_tracelb_free(data);
      break;

    case SCAMPER_FILE_OBJ_TRACE:
      if(scamper_file_write_trace(outfile, data) != 0)
	return -1;
      scamper_trace_free(data);
      break;

    case SCAMPER_FILE_OBJ_PING:
      if(scamper_file_write_ping(outfile, data) != 0)
	return -1;
      scamper_ping_free(data);
      break;

    case SCAMPER_FILE_OBJ_DEALIAS:
      if(scamper_file_write_dealias(outfile, data) != 0)
	return -1;
      scamper_dealias_free(data);
      break;

    case SCAMPER_FILE_OBJ_CYCLE_START:
      if(scamper_file_write_cycle_start(outfile, data) != 0)
	return -1;
      scamper_cycle_free(data);
      break;

    case SCAMPER_FILE_OBJ_CYCLE_STOP:
      if(scamper_file_write_cycle_stop(outfile, data) != 0)
	return -1;
      scamper_cycle_free(data);
      break;

    default:
      fprintf(stderr, "unhandled data object 0x%04x\n", type);
      break;
    }

  return 0;
}