diff --git a/libisoburn/burn_wrap.c b/libisoburn/burn_wrap.c index 7962f40d..6713e7e0 100644 --- a/libisoburn/burn_wrap.c +++ b/libisoburn/burn_wrap.c @@ -1110,6 +1110,22 @@ void isoburn_drive_release(struct burn_drive *drive, int eject) } +int isoburn_drive_release_v2(struct burn_drive *drive, int flag) +{ + int ret; + struct isoburn *o; + + ret= isoburn_find_emulator(&o, drive, 0); + if(ret < 0) + return(0); + if(o!=NULL) { + isoburn_destroy(&o, 0); + } + ret= burn_drive_release_v2(drive, flag & 0x17); + return(ret); +} + + void isoburn_finish(void) { isoburn_destroy_all(&isoburn_list_start, 0); diff --git a/libisoburn/libisoburn.h b/libisoburn/libisoburn.h index 763a438a..6fceea4c 100644 --- a/libisoburn/libisoburn.h +++ b/libisoburn/libisoburn.h @@ -2961,6 +2961,22 @@ int isoburn_sync_after_write(struct burn_drive *input_drive, void isoburn_drive_release(struct burn_drive *drive, int eject); +/** Release an acquired drive like with isoburn_drive_release() but with + additional options. + Wrapper for: burn_drive_release_v2() + @since 1.5.8 + @param drive The drive to release. + @param flag Bitfield for control purposes: + bit0-2= mode + 0= unlock + 1= unlock+eject + 2= leave locked + bit4= do not calm drive + @return 1 means success, <=0 means failure +*/ +int isoburn_drive_release_v2(struct burn_drive *drive, int flag); + + /** Shutdown all three libraries. Wrapper for : iso_finish() and burn_finish(). @since 0.1.0 diff --git a/libisoburn/libisoburn.ver b/libisoburn/libisoburn.ver index 753ef46c..d5e2d338 100644 --- a/libisoburn/libisoburn.ver +++ b/libisoburn/libisoburn.ver @@ -367,6 +367,7 @@ LIBISOBURN1_1.5.8 { isoburn_attach_start_lba_v2; isoburn_disc_get_msc1_v2; isoburn_disc_track_lba_nwa_v2; +isoburn_drive_release_v2; isoburn_get_attached_start_lba_v2; isoburn_get_mount_params_v2; isoburn_igopt_get_data_start_v2; diff --git a/xorriso/xorriso_timestamp.h b/xorriso/xorriso_timestamp.h index fdc4ada4..6b3bde4d 100644 --- a/xorriso/xorriso_timestamp.h +++ b/xorriso/xorriso_timestamp.h @@ -1 +1 @@ -#define Xorriso_timestamP "2024.09.14.174800" +#define Xorriso_timestamP "2024.09.20.162540"