Home | History | Annotate | Download | only in linux

Lines Matching refs:cdrom

49 #include <linux/cdrom.h>
101 static int SDL_SYS_CDGetTOC(SDL_CD *cdrom);
102 static CDstatus SDL_SYS_CDStatus(SDL_CD *cdrom, int *position);
103 static int SDL_SYS_CDPlay(SDL_CD *cdrom, int start, int length);
104 static int SDL_SYS_CDPause(SDL_CD *cdrom);
105 static int SDL_SYS_CDResume(SDL_CD *cdrom);
106 static int SDL_SYS_CDStop(SDL_CD *cdrom);
107 static int SDL_SYS_CDEject(SDL_CD *cdrom);
108 static void SDL_SYS_CDClose(SDL_CD *cdrom);
261 /* checklist: /dev/cdrom, /dev/hd?, /dev/scd? /dev/sr? */
263 "cdrom", "?a hd?", "?0 scd?", "?0 sr?", NULL
318 /* Check /dev/cdrom first :-) */
319 if (CheckDrive("/dev/cdrom", NULL, &stbuf) > 0) {
320 AddDrive("/dev/cdrom", &stbuf);
400 static int SDL_SYS_CDGetTOC(SDL_CD *cdrom)
407 if ( SDL_SYS_CDioctl(cdrom->id, CDROMREADTOCHDR, &toc) == 0 ) {
408 cdrom->numtracks = toc.cdth_trk1-toc.cdth_trk0+1;
409 if ( cdrom->numtracks > SDL_MAX_TRACKS ) {
410 cdrom->numtracks = SDL_MAX_TRACKS;
413 for ( i=0; i<=cdrom->numtracks; ++i ) {
414 if ( i == cdrom->numtracks ) {
415 cdrom->track[i].id = CDROM_LEADOUT;
417 cdrom->track[i].id = toc.cdth_trk0+i;
419 entry.cdte_track = cdrom->track[i].id;
421 if ( SDL_SYS_CDioctl(cdrom->id, CDROMREADTOCENTRY,
426 cdrom->track[i].type = SDL_DATA_TRACK;
428 cdrom->track[i].type = SDL_AUDIO_TRACK;
430 cdrom->track[i].offset = MSF_TO_FRAMES(
434 cdrom->track[i].length = 0;
436 cdrom->track[i-1].length =
437 cdrom->track[i].offset-
438 cdrom->track[i-1].offset;
442 if ( i == (cdrom->numtracks+1) ) {
450 static CDstatus SDL_SYS_CDStatus(SDL_CD *cdrom, int *position)
457 if ( ioctl(cdrom->id, CDROMSUBCHNL, &info) < 0 ) {
468 if (ioctl(cdrom->id, CDROMREADTOCHDR, &toc)==0)
506 static int SDL_SYS_CDPlay(SDL_CD *cdrom, int start, int length)
519 return(SDL_SYS_CDioctl(cdrom->id, CDROMPLAYMSF, &playtime));
523 static int SDL_SYS_CDPause(SDL_CD *cdrom)
525 return(SDL_SYS_CDioctl(cdrom->id, CDROMPAUSE, 0));
529 static int SDL_SYS_CDResume(SDL_CD *cdrom)
531 return(SDL_SYS_CDioctl(cdrom->id, CDROMRESUME, 0));
535 static int SDL_SYS_CDStop(SDL_CD *cdrom)
537 return(SDL_SYS_CDioctl(cdrom->id, CDROMSTOP, 0));
541 static int SDL_SYS_CDEject(SDL_CD *cdrom)
543 return(SDL_SYS_CDioctl(cdrom->id, CDROMEJECT, 0));
547 static void SDL_SYS_CDClose(SDL_CD *cdrom)
549 close(cdrom->id);