Example #1
0
void driver_close(driver_t *driver)
{
  switch(driver->type)
  {
    case DRIVER_TYPE_CONSOLE:
      return driver_console_close(driver->real_driver.console);
      break;

    case DRIVER_TYPE_EXEC:
      return driver_exec_close(driver->real_driver.exec);
      break;

    case DRIVER_TYPE_COMMAND:
      return driver_command_close(driver->real_driver.command);
      break;

    case DRIVER_TYPE_PING:
      return driver_ping_close(driver->real_driver.ping);
      break;

    default:
      LOG_FATAL("UNKNOWN DRIVER TYPE!\n");
      exit(1);
      break;
  }

  safe_free(driver);
}
Example #2
0
void driver_command_destroy(driver_command_t *driver)
{
  if(!driver->is_shutdown)
    driver_command_close(driver);

  if(driver->name)
    safe_free(driver->name);

  if(driver->stream)
    command_packet_stream_destroy(driver->stream);
  safe_free(driver);
}