Add Solaris get_devices.
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
$Id: _cdio_sunos.c,v 1.19 2003/09/27 23:29:29 rocky Exp $
|
$Id: _cdio_sunos.c,v 1.20 2003/10/03 02:35:33 rocky Exp $
|
||||||
|
|
||||||
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
Copyright (C) 2001 Herbert Valerio Riedel <hvr@gnu.org>
|
||||||
Copyright (C) 2002,2003 Rocky Bernstein <rocky@panix.com>
|
Copyright (C) 2002,2003 Rocky Bernstein <rocky@panix.com>
|
||||||
@@ -23,7 +23,13 @@
|
|||||||
# include "config.h"
|
# include "config.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifdef HAVE_STRING_H
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
#endif
|
||||||
|
#ifdef HAVE_GLOB_H
|
||||||
|
#include <glob.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
#include <cdio/logging.h>
|
#include <cdio/logging.h>
|
||||||
#include <cdio/sector.h>
|
#include <cdio/sector.h>
|
||||||
@@ -36,7 +42,7 @@
|
|||||||
|
|
||||||
#ifdef HAVE_SOLARIS_CDROM
|
#ifdef HAVE_SOLARIS_CDROM
|
||||||
|
|
||||||
static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.19 2003/09/27 23:29:29 rocky Exp $";
|
static const char _rcsid[] = "$Id: _cdio_sunos.c,v 1.20 2003/10/03 02:35:33 rocky Exp $";
|
||||||
|
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
@@ -508,6 +514,34 @@ cdio_get_default_device_solaris(void)
|
|||||||
return strdup(DEFAULT_CDIO_DEVICE);
|
return strdup(DEFAULT_CDIO_DEVICE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*!
|
||||||
|
Return an array of strings giving possible CD devices.
|
||||||
|
*/
|
||||||
|
char **
|
||||||
|
cdio_get_devices_solaris (void)
|
||||||
|
{
|
||||||
|
#ifndef HAVE_SOLARIS_CDROM
|
||||||
|
return NULL;
|
||||||
|
#else
|
||||||
|
char **drives = NULL;
|
||||||
|
unsigned int num_files=0;
|
||||||
|
#ifdef HAVE_GLOB_H
|
||||||
|
unsigned int i;
|
||||||
|
glob_t globbuf;
|
||||||
|
globbuf.gl_offs = 0;
|
||||||
|
glob("/vol/dev/aliases/cdrom*", GLOB_DOOFFS, NULL, &globbuf);
|
||||||
|
for (i=0; i<globbuf.gl_pathc; i++) {
|
||||||
|
cdio_add_device_list(&drives, globbuf.gl_pathv[i], &num_files);
|
||||||
|
}
|
||||||
|
globfree(&globbuf);
|
||||||
|
#else
|
||||||
|
cdio_add_device_list(&drives, DEFAULT_CDIO_DEVICE, &num_files);
|
||||||
|
#endif /*HAVE_GLOB_H*/
|
||||||
|
cdio_add_device_list(&drives, NULL, &num_files);
|
||||||
|
return drives;
|
||||||
|
#endif /*HAVE_SOLARIS_CDROM*/
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
Return the number of of the first track.
|
Return the number of of the first track.
|
||||||
CDIO_INVALID_TRACK is returned on error.
|
CDIO_INVALID_TRACK is returned on error.
|
||||||
@@ -649,6 +683,7 @@ cdio_open_solaris (const char *source_name)
|
|||||||
.eject_media = _cdio_eject_media,
|
.eject_media = _cdio_eject_media,
|
||||||
.free = cdio_generic_free,
|
.free = cdio_generic_free,
|
||||||
.get_arg = _cdio_get_arg,
|
.get_arg = _cdio_get_arg,
|
||||||
|
.get_devices = cdio_get_devices_solaris,
|
||||||
.get_default_device = cdio_get_default_device_solaris,
|
.get_default_device = cdio_get_default_device_solaris,
|
||||||
.get_first_track_num= _cdio_get_first_track_num,
|
.get_first_track_num= _cdio_get_first_track_num,
|
||||||
.get_num_tracks = _cdio_get_num_tracks,
|
.get_num_tracks = _cdio_get_num_tracks,
|
||||||
|
|||||||
Reference in New Issue
Block a user