/*! Reads a single mode2 sector from cd device into data starting from i_lsn. Returns 0 if no error. */ static driver_return_code_t read_mode2_sector_freebsd (void *p_user_data, void *data, lsn_t i_lsn, bool b_form2) { _img_private_t *p_env = p_user_data; if ( p_env->access_mode == _AM_CAM ) return read_mode2_sector_freebsd_cam(p_env, data, i_lsn, b_form2); else return read_mode2_sector_freebsd_ioctl(p_env, data, i_lsn, b_form2); }
/*! Reads a single mode2 sector from cd device into data starting from i_lsn. Returns 0 if no error. */ static driver_return_code_t read_mode2_sector_freebsd (void *p_user_data, void *data, lsn_t i_lsn, bool b_form2) { _img_private_t *p_env = p_user_data; switch (p_env->access_mode) { case _AM_CAM: case _AM_MMC_RDWR: case _AM_MMC_RDWR_EXCL: return read_mode2_sector_freebsd_cam(p_env, data, i_lsn, b_form2); case _AM_IOCTL: return read_mode2_sector_freebsd_ioctl(p_env, data, i_lsn, b_form2); case _AM_NONE: cdio_info ("access mode not set"); return DRIVER_OP_ERROR; } return DRIVER_OP_ERROR; }