Home | History | Annotate | Download | only in qnx

Lines Matching refs:cdrom

34 #include <sys/cdrom.h>
54 static int SDL_SYS_CDGetTOC(SDL_CD *cdrom);
55 static CDstatus SDL_SYS_CDStatus(SDL_CD *cdrom, int *position);
56 static int SDL_SYS_CDPlay(SDL_CD *cdrom, int start, int length);
57 static int SDL_SYS_CDPause(SDL_CD *cdrom);
58 static int SDL_SYS_CDResume(SDL_CD *cdrom);
59 static int SDL_SYS_CDStop(SDL_CD *cdrom);
60 static int SDL_SYS_CDEject(SDL_CD *cdrom);
61 static void SDL_SYS_CDClose(SDL_CD *cdrom);
143 /* checklist: /dev/cdrom, /dev/cd?, /dev/scd? */
144 static char *checklist[]={"cdrom", "?0 cd?", "?1 cd?", "?0 scd?", NULL};
272 static int SDL_SYS_CDGetTOC(SDL_CD *cdrom)
278 if (devctl(cdrom->id, DCMD_CAM_CDROMREADTOC, &toc, sizeof(toc), NULL) == 0)
280 cdrom->numtracks = toc.last_track - toc.first_track + 1;
281 if (cdrom->numtracks > SDL_MAX_TRACKS)
283 cdrom->numtracks = SDL_MAX_TRACKS;
286 for (i=0; i<=cdrom->numtracks; ++i)
288 if (i == cdrom->numtracks)
290 cdrom->track[i].id = CDROM_LEADOUT;
294 cdrom->track[i].id = toc.first_track+i;
297 cdrom->track[i].type = toc.toc_entry[i].control_adr & 0x0F;
298 cdrom->track[i].offset = toc.toc_entry[i].addr.lba;
299 cdrom->track[i].length = 0;
303 cdrom->track[i-1].length = cdrom->track[i].offset-cdrom->track[i-1].offset;
306 if (i == (cdrom->numtracks+1))
315 static CDstatus SDL_SYS_CDStatus(SDL_CD *cdrom, int *position)
330 devctlret=devctl(cdrom->id, DCMD_CAM_DEVINFO, &dinfo, sizeof(cam_devinfo_t), NULL);
351 devctlret=devctl(cdrom->id, DCMD_CAM_CDROMSUBCHNL, &info, sizeof(info), NULL);
359 if (SDL_cdopen[i]==cdrom->id)
370 close(cdrom->id);
371 cdrom->id=open(SDL_cdlist[drive], QNX_CD_OPENMODE);
405 if (devctl(cdrom->id, DCMD_CAM_CDROMREADTOC, &toc, sizeof(toc), NULL)==0)
451 static int SDL_SYS_CDPlay(SDL_CD *cdrom, int start, int length)
458 if (devctl(cdrom->id, DCMD_CAM_CDROMPLAYMSF, &playtime, sizeof(playtime), NULL) != 0)
469 static int SDL_SYS_CDPause(SDL_CD *cdrom)
471 if (devctl(cdrom->id, DCMD_CAM_CDROMPAUSE, NULL, 0, NULL)!=0)
482 static int SDL_SYS_CDResume(SDL_CD *cdrom)
484 if (devctl(cdrom->id, DCMD_CAM_CDROMRESUME, NULL, 0, NULL)!=0)
495 static int SDL_SYS_CDStop(SDL_CD *cdrom)
497 if (devctl(cdrom->id, DCMD_CAM_CDROMSTOP, NULL, 0, NULL)!=0)
508 static int SDL_SYS_CDEject(SDL_CD *cdrom)
510 if (devctl(cdrom->id, DCMD_CAM_EJECT_MEDIA, NULL, 0, NULL)!=0)
521 static void SDL_SYS_CDClose(SDL_CD *cdrom)
527 if (SDL_cdopen[i]==cdrom->id)
534 close(cdrom->id);