示例#1
0
static void
free_freebsd (void *p_obj)
{
  _img_private_t *p_env = p_obj;

  if (NULL == p_env) return;

  if (NULL != p_env->device) free(p_env->device);

  if (_AM_CAM == p_env->access_mode) 
    return free_freebsd_cam(p_env);
  else 
    return cdio_generic_free(p_obj);
}
示例#2
0
static void
free_freebsd (void *p_obj)
{
  _img_private_t *p_env = p_obj;

  if (NULL == p_env) return;

  if (NULL != p_env->device) free(p_env->device);

  switch (p_env->access_mode) {
    case _AM_CAM:
    case _AM_MMC_RDWR:
    case _AM_MMC_RDWR_EXCL:
      free_freebsd_cam(p_env);
      break;
    case _AM_IOCTL:
      cdio_generic_free(p_obj);
      break;
    case _AM_NONE:
      break;
  }
}