handle src buffer underflow corner cases
[sdl_omap.git] / docs / man3 / SDL_CDStatus.3
CommitLineData
e14743d1 1.TH "SDL_CDStatus" "3" "Tue 11 Sep 2001, 22:58" "SDL" "SDL API Reference"
2.SH "NAME"
3SDL_CDStatus \- Returns the current status of the given drive\&.
4.SH "SYNOPSIS"
5.PP
6\fB#include "SDL\&.h"
7.sp
8\fBCDstatus \fBSDL_CDStatus\fP\fR(\fBSDL_CD *cdrom\fR);
9\fB/* Given a status, returns true if there\&'s a disk in the drive */
10#define CD_INDRIVE(status) ((int)status > 0)
11.SH "DESCRIPTION"
12.PP
13This function returns the current status of the given drive\&. Status is described like so:
14.PP
15.nf
16\f(CWtypedef enum {
17 CD_TRAYEMPTY,
18 CD_STOPPED,
19 CD_PLAYING,
20 CD_PAUSED,
21 CD_ERROR = -1
22} CDstatus;\fR
23.fi
24.PP
25.PP
26If the drive has a CD in it, the table of contents of the CD and current play position of the CD will be stored in the SDL_CD structure\&.
27.PP
28The macro \fBCD_INDRIVE\fP is provided for convenience, and given a status returns true if there\&'s a disk in the drive\&.
29.PP
30.RS
31\fBNote:
32.PP
33\fBSDL_CDStatus\fP also updates the \fI\fBSDL_CD\fR\fR structure passed to it\&.
34.RE
35.SH "EXAMPLE"
36.PP
37.nf
38\f(CWint playTrack(int track)
39{
40 int playing = 0;
41
42 if ( CD_INDRIVE(SDL_CDStatus(cdrom)) ) {
43 /* clamp to the actual number of tracks on the CD */
44 if (track >= cdrom->numtracks) {
45 track = cdrom->numtracks-1;
46 }
47
48 if ( SDL_CDPlayTracks(cdrom, track, 0, 1, 0) == 0 ) {
49 playing = 1;
50 }
51 }
52 return playing;
53}\fR
54.fi
55.PP
56.SH "SEE ALSO"
57.PP
58\fI\fBSDL_CD\fP\fR
59.\" created by instant / docbook-to-man, Tue 11 Sep 2001, 22:58