Home | History | Annotate | Download | only in openbsd

Lines Matching refs:cdrom

51 static int SDL_SYS_CDGetTOC(SDL_CD *cdrom);
52 static CDstatus SDL_SYS_CDStatus(SDL_CD *cdrom, int *position);
53 static int SDL_SYS_CDPlay(SDL_CD *cdrom, int start, int length);
54 static int SDL_SYS_CDPause(SDL_CD *cdrom);
55 static int SDL_SYS_CDResume(SDL_CD *cdrom);
56 static int SDL_SYS_CDStop(SDL_CD *cdrom);
57 static int SDL_SYS_CDEject(SDL_CD *cdrom);
58 static void SDL_SYS_CDClose(SDL_CD *cdrom);
138 "?0 cd?c", "cdrom", NULL
140 "?0 cd?d", "?0 cd?c", "cdrom", NULL
142 "?0 cd?c", "?0 acd?c", "cdrom", NULL
251 static int SDL_SYS_CDGetTOC(SDL_CD *cdrom)
259 if ( SDL_SYS_CDioctl(cdrom->id, CDIOREADTOCHEADER, &toc) == 0 ) {
260 cdrom->numtracks = toc.ending_track-toc.starting_track+1;
261 if ( cdrom->numtracks > SDL_MAX_TRACKS ) {
262 cdrom->numtracks = SDL_MAX_TRACKS;
265 for ( i=0; i<=cdrom->numtracks; ++i ) {
266 if ( i == cdrom->numtracks ) {
267 cdrom->track[i].id = 0xAA; /* CDROM_LEADOUT */
269 cdrom->track[i].id = toc.starting_track+i;
271 entry.starting_track = cdrom->track[i].id;
275 if ( SDL_SYS_CDioctl(cdrom->id, CDIOREADTOCENTRYS,
279 cdrom->track[i].type = data.control;
280 cdrom->track[i].offset = MSF_TO_FRAMES(
284 cdrom->track[i].length = 0;
286 cdrom->track[i-1].length =
287 cdrom->track[i].offset-
288 cdrom->track[i-1].offset;
292 if ( i == (cdrom->numtracks+1) ) {
300 static CDstatus SDL_SYS_CDStatus(SDL_CD *cdrom, int *position)
312 if ( ioctl(cdrom->id, CDIOCREADSUBCHANNEL, &info) < 0 ) {
323 if (ioctl(cdrom->id,CDIOREADTOCHEADER,&toc)==0)
356 static int SDL_SYS_CDPlay(SDL_CD *cdrom, int start, int length)
369 ioctl(cdrom->id, CDIOCSTART, 0);
370 return(SDL_SYS_CDioctl(cdrom->id, CDIOCPLAYMSF, &playtime));
374 static int SDL_SYS_CDPause(SDL_CD *cdrom)
376 return(SDL_SYS_CDioctl(cdrom->id, CDIOCPAUSE, 0));
380 static int SDL_SYS_CDResume(SDL_CD *cdrom)
382 return(SDL_SYS_CDioctl(cdrom->id, CDIOCRESUME, 0));
386 static int SDL_SYS_CDStop(SDL_CD *cdrom)
388 return(SDL_SYS_CDioctl(cdrom->id, CDIOCSTOP, 0));
392 static int SDL_SYS_CDEject(SDL_CD *cdrom)
394 return(SDL_SYS_CDioctl(cdrom->id, CDIOCEJECT, 0));
398 static void SDL_SYS_CDClose(SDL_CD *cdrom)
400 close(cdrom->id);