diff --git a/lib/FreeBSD/freebsd.c b/lib/FreeBSD/freebsd.c index cacc13b5..3e70876b 100644 --- a/lib/FreeBSD/freebsd.c +++ b/lib/FreeBSD/freebsd.c @@ -1,5 +1,5 @@ /* - $Id: freebsd.c,v 1.21 2004/06/19 11:07:55 rocky Exp $ + $Id: freebsd.c,v 1.22 2004/06/19 16:34:45 rocky Exp $ Copyright (C) 2003, 2004 Rocky Bernstein @@ -27,7 +27,7 @@ # include "config.h" #endif -static const char _rcsid[] = "$Id: freebsd.c,v 1.21 2004/06/19 11:07:55 rocky Exp $"; +static const char _rcsid[] = "$Id: freebsd.c,v 1.22 2004/06/19 16:34:45 rocky Exp $"; #include "freebsd.h" @@ -442,6 +442,8 @@ cdio_get_devices_freebsd (void) /* Scan the system for CD-ROM drives. Not always 100% reliable, so use the USE_MNTENT code above first. */ + + /* Scan SCSI and CAM devices */ for ( c='0'; exists && c <='9'; c++ ) { sprintf(drive, "/dev/cd%c%s", c, DEVICE_POSTFIX); exists = cdio_is_cdrom(drive, NULL); @@ -449,8 +451,10 @@ cdio_get_devices_freebsd (void) cdio_add_device_list(&drives, drive, &num_drives); } } + + /* Scan are ATAPI devices */ for ( c='0'; exists && c <='9'; c++ ) { - sprintf(drive, "/dev/acd%cc", c); + sprintf(drive, "/dev/acd%c%s", c, DEVICE_POSTFIX); exists = cdio_is_cdrom(drive, NULL); if ( exists ) { cdio_add_device_list(&drives, drive, &num_drives); @@ -494,6 +498,8 @@ cdio_get_default_device_freebsd() /* Scan the system for CD-ROM drives. Not always 100% reliable, so use the USE_MNTENT code above first. */ + + /* Scan SCSI and CAM devices */ for ( c='0'; exists && c <='9'; c++ ) { sprintf(drive, "/dev/cd%c%s", c, DEVICE_POSTFIX); exists = cdio_is_cdrom(drive, NULL); @@ -501,8 +507,10 @@ cdio_get_default_device_freebsd() return strdup(drive); } } + + /* Scan are ATAPI devices */ for ( c='0'; exists && c <='9'; c++ ) { - sprintf(drive, "/dev/acd%cc", c); + sprintf(drive, "/dev/acd%c%s", c, DEVICE_POSTFIX); exists = cdio_is_cdrom(drive, NULL); if ( exists ) { return strdup(drive); diff --git a/lib/FreeBSD/freebsd.h b/lib/FreeBSD/freebsd.h index 4276749e..2ccee243 100644 --- a/lib/FreeBSD/freebsd.h +++ b/lib/FreeBSD/freebsd.h @@ -1,5 +1,5 @@ /* - $Id: freebsd.h,v 1.11 2004/06/19 11:07:56 rocky Exp $ + $Id: freebsd.h,v 1.12 2004/06/19 16:34:45 rocky Exp $ Copyright (C) 2003, 2004 Rocky Bernstein @@ -146,10 +146,12 @@ typedef struct { bool cdio_is_cdrom_freebsd_ioctl(char *drive, char *mnttype); -char *get_mcn_freebsd_ioctl (const void *env); +char *get_mcn_freebsd_ioctl (const _img_private_t *env); -track_format_t get_track_format_freebsd_ioctl(void *env, track_t track_num); -bool get_track_green_freebsd_ioctl(void *env, track_t track_num); +track_format_t get_track_format_freebsd_ioctl(const _img_private_t *env, + track_t i_track); +bool get_track_green_freebsd_ioctl(const _img_private_t *env, + track_t i_track); int eject_media_freebsd_ioctl (_img_private_t *env); int eject_media_freebsd_cam (_img_private_t *env); diff --git a/lib/FreeBSD/freebsd_cam.c b/lib/FreeBSD/freebsd_cam.c index 60abf74c..6a974f6e 100644 --- a/lib/FreeBSD/freebsd_cam.c +++ b/lib/FreeBSD/freebsd_cam.c @@ -1,5 +1,5 @@ /* - $Id: freebsd_cam.c,v 1.11 2004/06/09 10:59:42 rocky Exp $ + $Id: freebsd_cam.c,v 1.12 2004/06/19 16:34:45 rocky Exp $ Copyright (C) 2004 Rocky Bernstein @@ -26,7 +26,7 @@ # include "config.h" #endif -static const char _rcsid[] = "$Id: freebsd_cam.c,v 1.11 2004/06/09 10:59:42 rocky Exp $"; +static const char _rcsid[] = "$Id: freebsd_cam.c,v 1.12 2004/06/19 16:34:45 rocky Exp $"; #ifdef HAVE_FREEBSD_CDROM @@ -122,10 +122,9 @@ free_freebsd_cam (void *user_data) */ static char * -get_drive_mcn_freebsd_cam (void *user_data) +get_drive_mcn_freebsd_cam (img_private_t *env) { char buf[192] = { 0, }; - _img_private_t *env = user_data; int rc; memset(&env->ccb, 0, sizeof(env->ccb)); @@ -171,11 +170,10 @@ get_drive_mcn_freebsd_cam (void *user_data) */ static cdio_drive_cap_t -get_drive_cap_freebsd_cam (void *user_data) +get_drive_cap_freebsd_cam (img_private_t *env) { int32_t i_drivetype = 0; char buf[192] = { 0, }; - _img_private_t *env = user_data; int rc; memset(&env->ccb, 0, sizeof(env->ccb)); diff --git a/lib/FreeBSD/freebsd_ioctl.c b/lib/FreeBSD/freebsd_ioctl.c index 4ec0f91f..fa209be9 100644 --- a/lib/FreeBSD/freebsd_ioctl.c +++ b/lib/FreeBSD/freebsd_ioctl.c @@ -1,5 +1,5 @@ /* - $Id: freebsd_ioctl.c,v 1.6 2004/06/05 02:47:49 rocky Exp $ + $Id: freebsd_ioctl.c,v 1.7 2004/06/19 16:34:45 rocky Exp $ Copyright (C) 2003, 2004 Rocky Bernstein @@ -27,7 +27,7 @@ # include "config.h" #endif -static const char _rcsid[] = "$Id: freebsd_ioctl.c,v 1.6 2004/06/05 02:47:49 rocky Exp $"; +static const char _rcsid[] = "$Id: freebsd_ioctl.c,v 1.7 2004/06/19 16:34:45 rocky Exp $"; #ifdef HAVE_FREEBSD_CDROM @@ -174,9 +174,8 @@ eject_media_freebsd_ioctl (_img_private_t *env) */ char * -get_mcn_freebsd_ioctl (const void *env) { +get_mcn_freebsd_ioctl (const _img_private_t *env) { - const _img_private_t *_obj = env; struct ioc_read_subchannel subchannel; struct cd_sub_channel_info subchannel_info; @@ -186,7 +185,7 @@ get_mcn_freebsd_ioctl (const void *env) { subchannel.data_len = 1; subchannel.data = &subchannel_info; - if(ioctl(_obj->gen.fd, CDIOCREADSUBCHANNEL, &subchannel) < 0) { + if(ioctl(env->gen.fd, CDIOCREADSUBCHANNEL, &subchannel) < 0) { perror("CDIOCREADSUBCHANNEL"); return NULL; } @@ -207,19 +206,18 @@ get_mcn_freebsd_ioctl (const void *env) { */ track_format_t -get_track_format_freebsd_ioctl(void *env, track_t track_num) +get_track_format_freebsd_ioctl(const _img_private_t *env, track_t i_track) { - _img_private_t *_obj = env; struct ioc_read_subchannel subchannel; struct cd_sub_channel_info subchannel_info; subchannel.address_format = CD_LBA_FORMAT; subchannel.data_format = CD_CURRENT_POSITION; - subchannel.track = track_num; + subchannel.track = i_track; subchannel.data_len = 1; subchannel.data = &subchannel_info; - if(ioctl(_obj->gen.fd, CDIOCREADSUBCHANNEL, &subchannel) < 0) { + if(ioctl(env->gen.fd, CDIOCREADSUBCHANNEL, &subchannel) < 0) { perror("CDIOCREADSUBCHANNEL"); return 1; } @@ -244,19 +242,18 @@ get_track_format_freebsd_ioctl(void *env, track_t track_num) FIXME: there's gotta be a better design for this and get_track_format? */ bool -get_track_green_freebsd_ioctl(void *env, track_t track_num) +get_track_green_freebsd_ioctl(const _img_private_t *env, track_t i_track) { - _img_private_t *_obj = env; struct ioc_read_subchannel subchannel; struct cd_sub_channel_info subchannel_info; subchannel.address_format = CD_LBA_FORMAT; subchannel.data_format = CD_CURRENT_POSITION; - subchannel.track = track_num; + subchannel.track = i_track; subchannel.data_len = 1; subchannel.data = &subchannel_info; - if(ioctl(_obj->gen.fd, CDIOCREADSUBCHANNEL, &subchannel) < 0) { + if(ioctl(env->gen.fd, CDIOCREADSUBCHANNEL, &subchannel) < 0) { perror("CDIOCREADSUBCHANNEL"); return 1; }