Towards getting an AIX driver working.
This commit is contained in:
@@ -19,7 +19,7 @@ define(RELEASE_NUM, 72)
|
|||||||
define(CDIO_VERSION_STR, 0.$1cvs)
|
define(CDIO_VERSION_STR, 0.$1cvs)
|
||||||
|
|
||||||
AC_PREREQ(2.52)
|
AC_PREREQ(2.52)
|
||||||
AC_REVISION([$Id: configure.ac,v 1.117 2004/12/09 01:03:29 rocky Exp $])dnl
|
AC_REVISION([$Id: configure.ac,v 1.118 2004/12/15 01:45:15 rocky Exp $])dnl
|
||||||
AC_INIT(libcdio, CDIO_VERSION_STR(RELEASE_NUM))
|
AC_INIT(libcdio, CDIO_VERSION_STR(RELEASE_NUM))
|
||||||
AC_CONFIG_SRCDIR(src/cd-info.c)
|
AC_CONFIG_SRCDIR(src/cd-info.c)
|
||||||
AM_INIT_AUTOMAKE
|
AM_INIT_AUTOMAKE
|
||||||
@@ -243,6 +243,11 @@ AC_SUBST(LIBCDIO_LIBS)
|
|||||||
AC_SUBST(LIBISO9660_LIBS)
|
AC_SUBST(LIBISO9660_LIBS)
|
||||||
|
|
||||||
case $host_os in
|
case $host_os in
|
||||||
|
aix*)
|
||||||
|
AC_DEFINE([HAVE_AIX_CDROM], [1],
|
||||||
|
[Define 1 if you have AIX CD-ROM support])
|
||||||
|
cd_drivers="${cd_drivers}, AIX"
|
||||||
|
;;
|
||||||
darwin6*|darwin7*)
|
darwin6*|darwin7*)
|
||||||
AC_CHECK_HEADERS(IOKit/IOKitLib.h CoreFoundation/CFBase.h,
|
AC_CHECK_HEADERS(IOKit/IOKitLib.h CoreFoundation/CFBase.h,
|
||||||
[have_iokit_h="yes"])
|
[have_iokit_h="yes"])
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/* -*- c -*-
|
/* -*- c -*-
|
||||||
$Id: cdio.h,v 1.66 2004/10/24 23:42:39 rocky Exp $
|
$Id: cdio.h,v 1.67 2004/12/15 01:45:15 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
@@ -30,7 +30,7 @@
|
|||||||
/** Application Interface or Protocol version number. If the public
|
/** Application Interface or Protocol version number. If the public
|
||||||
* interface changes, we increase this number.
|
* interface changes, we increase this number.
|
||||||
*/
|
*/
|
||||||
#define CDIO_API_VERSION 2
|
#define CDIO_API_VERSION 3
|
||||||
|
|
||||||
#include <cdio/version.h>
|
#include <cdio/version.h>
|
||||||
|
|
||||||
@@ -91,6 +91,7 @@ extern "C" {
|
|||||||
typedef enum {
|
typedef enum {
|
||||||
DRIVER_UNKNOWN, /**< Used as input when we don't care what kind
|
DRIVER_UNKNOWN, /**< Used as input when we don't care what kind
|
||||||
of driver to use. */
|
of driver to use. */
|
||||||
|
DRIVER_AIX, /**< AIX driver */
|
||||||
DRIVER_BSDI, /**< BSDI driver */
|
DRIVER_BSDI, /**< BSDI driver */
|
||||||
DRIVER_FREEBSD, /**< FreeBSD driver - includes CAM and ioctl access */
|
DRIVER_FREEBSD, /**< FreeBSD driver - includes CAM and ioctl access */
|
||||||
DRIVER_LINUX, /**< GNU/Linux Driver */
|
DRIVER_LINUX, /**< GNU/Linux Driver */
|
||||||
@@ -120,7 +121,7 @@ extern "C" {
|
|||||||
enumeration in driver_id_t. Since we have a bogus (but useful) 0th
|
enumeration in driver_id_t. Since we have a bogus (but useful) 0th
|
||||||
entry above we don't have to add one.
|
entry above we don't have to add one.
|
||||||
*/
|
*/
|
||||||
#define CDIO_MIN_DRIVER DRIVER_BSDI
|
#define CDIO_MIN_DRIVER DRIVER_AIX
|
||||||
#define CDIO_MIN_DEVICE_DRIVER CDIO_MIN_DRIVER
|
#define CDIO_MIN_DEVICE_DRIVER CDIO_MIN_DRIVER
|
||||||
#define CDIO_MAX_DRIVER DRIVER_NRG
|
#define CDIO_MAX_DRIVER DRIVER_NRG
|
||||||
#define CDIO_MAX_DEVICE_DRIVER DRIVER_WIN32
|
#define CDIO_MAX_DEVICE_DRIVER DRIVER_WIN32
|
||||||
@@ -551,6 +552,9 @@ extern "C" {
|
|||||||
/* True if xxx driver is available. where xxx=linux, solaris, nrg, ...
|
/* True if xxx driver is available. where xxx=linux, solaris, nrg, ...
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
/*! True if AIX driver is available. */
|
||||||
|
bool cdio_have_aix (void);
|
||||||
|
|
||||||
/*! True if BSDI driver is available. */
|
/*! True if BSDI driver is available. */
|
||||||
bool cdio_have_bsdi (void);
|
bool cdio_have_bsdi (void);
|
||||||
|
|
||||||
@@ -680,6 +684,57 @@ extern "C" {
|
|||||||
*/
|
*/
|
||||||
CdIo * cdio_open_cue (const char *cue_name);
|
CdIo * cdio_open_cue (const char *cue_name);
|
||||||
|
|
||||||
|
/*! Set up CD-ROM for reading using the AIX driver. The device_name is
|
||||||
|
the some sort of device name.
|
||||||
|
|
||||||
|
@return the cdio object for subsequent operations.
|
||||||
|
NULL on error or there is no BSDI driver.
|
||||||
|
|
||||||
|
@see cdio_open
|
||||||
|
*/
|
||||||
|
CdIo * cdio_open_am_aix (const char *psz_source_name,
|
||||||
|
const char *psz_access_mode);
|
||||||
|
|
||||||
|
/*! Set up CD-ROM for reading using the AIX driver. The device_name is
|
||||||
|
the some sort of device name.
|
||||||
|
|
||||||
|
@return the cdio object for subsequent operations.
|
||||||
|
NULL on error or there is no BSDI driver.
|
||||||
|
|
||||||
|
@see cdio_open
|
||||||
|
*/
|
||||||
|
CdIo * cdio_open_aix (const char *psz_source_name);
|
||||||
|
|
||||||
|
/*! Return a string containing the default device name that the
|
||||||
|
BSDI driver would use when none is specified.
|
||||||
|
|
||||||
|
@return the cdio object for subsequent operations.
|
||||||
|
NULL on error or there is no AIX driver.
|
||||||
|
|
||||||
|
@see cdio_open_cd, cdio_open
|
||||||
|
*/
|
||||||
|
char * cdio_get_default_device_aix(void);
|
||||||
|
|
||||||
|
/*! Return a list of all of the CD-ROM devices that the AIX driver
|
||||||
|
can find.
|
||||||
|
|
||||||
|
In some situations of drivers or OS's we can't find a CD device if
|
||||||
|
there is no media in it and it is possible for this routine to return
|
||||||
|
NULL even though there may be a hardware CD-ROM.
|
||||||
|
*/
|
||||||
|
char **cdio_get_devices_aix(void);
|
||||||
|
|
||||||
|
/*! Set up CD-ROM for reading using the BSDI driver. The device_name is
|
||||||
|
the some sort of device name.
|
||||||
|
|
||||||
|
@return the cdio object for subsequent operations.
|
||||||
|
NULL on error or there is no BSDI driver.
|
||||||
|
|
||||||
|
@see cdio_open
|
||||||
|
*/
|
||||||
|
CdIo * cdio_open_am_bsdi (const char *psz_source_name,
|
||||||
|
const char *psz_access_mode);
|
||||||
|
|
||||||
/*! Set up CD-ROM for reading using the BSDI driver. The device_name is
|
/*! Set up CD-ROM for reading using the BSDI driver. The device_name is
|
||||||
the some sort of device name.
|
the some sort of device name.
|
||||||
|
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# $Id: Makefile.am,v 1.63 2004/12/04 05:20:35 rocky Exp $
|
# $Id: Makefile.am,v 1.64 2004/12/15 01:45:15 rocky Exp $
|
||||||
#
|
#
|
||||||
# Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
# Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
#
|
#
|
||||||
@@ -56,6 +56,7 @@ EXTRA_DIST = image/Makefile FreeBSD/Makefile MSWindows/Makefile \
|
|||||||
noinst_HEADERS = cdio_assert.h cdio_private.h portable.h
|
noinst_HEADERS = cdio_assert.h cdio_private.h portable.h
|
||||||
|
|
||||||
libcdio_sources = \
|
libcdio_sources = \
|
||||||
|
_cdio_aix.c \
|
||||||
_cdio_bsdi.c \
|
_cdio_bsdi.c \
|
||||||
_cdio_generic.c \
|
_cdio_generic.c \
|
||||||
_cdio_linux.c \
|
_cdio_linux.c \
|
||||||
|
|||||||
1023
lib/_cdio_aix.c
Normal file
1023
lib/_cdio_aix.c
Normal file
File diff suppressed because it is too large
Load Diff
21
lib/cdio.c
21
lib/cdio.c
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: cdio.c,v 1.76 2004/12/04 11:50:40 rocky Exp $
|
$Id: cdio.c,v 1.77 2004/12/15 01:45:15 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2003, 2004 Rocky Bernstein <rocky@panix.com>
|
||||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
@@ -39,7 +39,7 @@
|
|||||||
#include <cdio/logging.h>
|
#include <cdio/logging.h>
|
||||||
#include "cdio_private.h"
|
#include "cdio_private.h"
|
||||||
|
|
||||||
static const char _rcsid[] = "$Id: cdio.c,v 1.76 2004/12/04 11:50:40 rocky Exp $";
|
static const char _rcsid[] = "$Id: cdio.c,v 1.77 2004/12/15 01:45:15 rocky Exp $";
|
||||||
|
|
||||||
|
|
||||||
const char *track_format2str[6] =
|
const char *track_format2str[6] =
|
||||||
@@ -79,7 +79,9 @@ CdIo_driver_t CdIo_driver[CDIO_MAX_DRIVER] = { {0} };
|
|||||||
#define CDIO_DRIVER_UNINIT -1
|
#define CDIO_DRIVER_UNINIT -1
|
||||||
int CdIo_last_driver = CDIO_DRIVER_UNINIT;
|
int CdIo_last_driver = CDIO_DRIVER_UNINIT;
|
||||||
|
|
||||||
#ifdef HAVE_BSDI_CDROM
|
#ifdef HAVE_AIX_CDROM
|
||||||
|
const driver_id_t cdio_os_driver = DRIVER_AIX;
|
||||||
|
#elif HAVE_BSDI_CDROM
|
||||||
const driver_id_t cdio_os_driver = DRIVER_BSDI;
|
const driver_id_t cdio_os_driver = DRIVER_BSDI;
|
||||||
#elif HAVE_FREEBSD_CDROM
|
#elif HAVE_FREEBSD_CDROM
|
||||||
const driver_id_t cdio_os_driver = DRIVER_FREEBSD;
|
const driver_id_t cdio_os_driver = DRIVER_FREEBSD;
|
||||||
@@ -117,6 +119,18 @@ CdIo_driver_t CdIo_all_drivers[CDIO_MAX_DRIVER+1] = {
|
|||||||
NULL
|
NULL
|
||||||
},
|
},
|
||||||
|
|
||||||
|
{DRIVER_BSDI,
|
||||||
|
CDIO_SRC_IS_DEVICE_MASK|CDIO_SRC_IS_NATIVE_MASK|CDIO_SRC_IS_SCSI_MASK,
|
||||||
|
"AIX",
|
||||||
|
"AIX SCSI driver",
|
||||||
|
&cdio_have_aix,
|
||||||
|
&cdio_open_aix,
|
||||||
|
&cdio_open_am_aix,
|
||||||
|
&cdio_get_default_device_aix,
|
||||||
|
&cdio_is_device_generic,
|
||||||
|
&cdio_get_devices_aix
|
||||||
|
},
|
||||||
|
|
||||||
{DRIVER_BSDI,
|
{DRIVER_BSDI,
|
||||||
CDIO_SRC_IS_DEVICE_MASK|CDIO_SRC_IS_NATIVE_MASK|CDIO_SRC_IS_SCSI_MASK,
|
CDIO_SRC_IS_DEVICE_MASK|CDIO_SRC_IS_NATIVE_MASK|CDIO_SRC_IS_SCSI_MASK,
|
||||||
"BSDI",
|
"BSDI",
|
||||||
@@ -1053,6 +1067,7 @@ cdio_open_am (const char *psz_orig_source, driver_id_t driver_id,
|
|||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
case DRIVER_AIX:
|
||||||
case DRIVER_BSDI:
|
case DRIVER_BSDI:
|
||||||
case DRIVER_FREEBSD:
|
case DRIVER_FREEBSD:
|
||||||
case DRIVER_LINUX:
|
case DRIVER_LINUX:
|
||||||
|
|||||||
Reference in New Issue
Block a user