src/cdrom/SDL_syscdrom.h
changeset 0 74212992fb08
child 252 e8157fcb3114
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/cdrom/SDL_syscdrom.h	Thu Apr 26 16:45:43 2001 +0000
     1.3 @@ -0,0 +1,80 @@
     1.4 +/*
     1.5 +    SDL - Simple DirectMedia Layer
     1.6 +    Copyright (C) 1997, 1998, 1999, 2000, 2001  Sam Lantinga
     1.7 +
     1.8 +    This library is free software; you can redistribute it and/or
     1.9 +    modify it under the terms of the GNU Library General Public
    1.10 +    License as published by the Free Software Foundation; either
    1.11 +    version 2 of the License, or (at your option) any later version.
    1.12 +
    1.13 +    This library is distributed in the hope that it will be useful,
    1.14 +    but WITHOUT ANY WARRANTY; without even the implied warranty of
    1.15 +    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    1.16 +    Library General Public License for more details.
    1.17 +
    1.18 +    You should have received a copy of the GNU Library General Public
    1.19 +    License along with this library; if not, write to the Free
    1.20 +    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
    1.21 +
    1.22 +    Sam Lantinga
    1.23 +    slouken@devolution.com
    1.24 +*/
    1.25 +
    1.26 +#ifdef SAVE_RCSID
    1.27 +static char rcsid =
    1.28 + "@(#) $Id$";
    1.29 +#endif
    1.30 +
    1.31 +/* This is the system specific header for the SDL CD-ROM API */
    1.32 +
    1.33 +/* Structure of CD audio control functions */
    1.34 +extern struct CDcaps {
    1.35 +	/* Get the name of the specified drive */
    1.36 +	const char *(*Name)(int drive);
    1.37 +
    1.38 +	/* Open the specified drive, returning a drive id, or -1 on error */
    1.39 +	int (*Open)(int drive);
    1.40 +
    1.41 +	/* Get table-of-contents (number of tracks + track info) for disk.
    1.42 +	   The TOC information should be stored in the cdrom structure.
    1.43 +	   This function should return 0 on success, or -1 on error.
    1.44 +	 */
    1.45 +	int (*GetTOC)(SDL_CD *cdrom);
    1.46 +
    1.47 +	/* Return the current status and play position, in frames, of the
    1.48 +	   drive.  'position' may be NULL, and if so, should be ignored.
    1.49 +	 */
    1.50 +	CDstatus (*Status)(SDL_CD *cdrom, int *position);
    1.51 +
    1.52 +	/* Play from frame 'start' to 'start+len' */
    1.53 +	int (*Play)(SDL_CD *cdrom, int start, int len); 
    1.54 +
    1.55 +	/* Pause play */
    1.56 +	int (*Pause)(SDL_CD *cdrom);
    1.57 +
    1.58 +	/* Resume play */
    1.59 +	int (*Resume)(SDL_CD *cdrom);
    1.60 +
    1.61 +	/* Stop play */
    1.62 +	int (*Stop)(SDL_CD *cdrom);
    1.63 +
    1.64 +	/* Eject the current disk */
    1.65 +	int (*Eject)(SDL_CD *cdrom);
    1.66 +
    1.67 +	/* Close the specified drive */
    1.68 +	void (*Close)(SDL_CD *cdrom);
    1.69 +} SDL_CDcaps;
    1.70 +
    1.71 +/* The number of available CD-ROM drives on the system */
    1.72 +extern int SDL_numcds;
    1.73 +
    1.74 +/* Function to scan the system for CD-ROM drives and fill SDL_CDcaps.
    1.75 + * This function should set SDL_numcds to the number of available CD
    1.76 + * drives.  Drive 0 should be the system default CD-ROM.
    1.77 + * It should return 0, or -1 on an unrecoverable fatal error.
    1.78 +*/
    1.79 +extern int  SDL_SYS_CDInit(void);
    1.80 +
    1.81 +/* Function to perform any system-specific CD-ROM related cleanup */
    1.82 +extern void SDL_SYS_CDQuit(void);
    1.83 +