Mercurial > sdl-ios-xcode
diff src/cdrom/bsdi/SDL_syscdrom.c @ 1668:4da1ee79c9af SDL-1.3
more tweaking indent options
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 29 May 2006 04:04:35 +0000 |
parents | 782fd950bd46 |
children |
line wrap: on
line diff
--- a/src/cdrom/bsdi/SDL_syscdrom.c Mon May 29 03:53:21 2006 +0000 +++ b/src/cdrom/bsdi/SDL_syscdrom.c Mon May 29 04:04:35 2006 +0000 @@ -52,13 +52,13 @@ #define FRAMES_PER_MINUTE (FRAMES_PER_SECOND * 60) int -msf_to_frame (int minute, int second, int frame) +msf_to_frame(int minute, int second, int frame) { return (minute * FRAMES_PER_MINUTE + second * FRAMES_PER_SECOND + frame); } void -frame_to_msf (int frame, int *minp, int *secp, int *framep) +frame_to_msf(int frame, int *minp, int *secp, int *framep) { *minp = frame / FRAMES_PER_MINUTE; *secp = (frame % FRAMES_PER_MINUTE) / FRAMES_PER_SECOND; @@ -73,24 +73,24 @@ static dev_t SDL_cdmode[MAX_DRIVES]; /* The system-dependent CD control functions */ -static const char *SDL_SYS_CDName (int drive); -static int SDL_SYS_CDOpen (int drive); -static int SDL_SYS_CDGetTOC (SDL_CD * cdrom); -static CDstatus SDL_SYS_CDStatus (SDL_CD * cdrom, int *position); -static int SDL_SYS_CDPlay (SDL_CD * cdrom, int start, int length); -static int SDL_SYS_CDPause (SDL_CD * cdrom); -static int SDL_SYS_CDResume (SDL_CD * cdrom); -static int SDL_SYS_CDStop (SDL_CD * cdrom); -static int SDL_SYS_CDEject (SDL_CD * cdrom); -static void SDL_SYS_CDClose (SDL_CD * cdrom); +static const char *SDL_SYS_CDName(int drive); +static int SDL_SYS_CDOpen(int drive); +static int SDL_SYS_CDGetTOC(SDL_CD * cdrom); +static CDstatus SDL_SYS_CDStatus(SDL_CD * cdrom, int *position); +static int SDL_SYS_CDPlay(SDL_CD * cdrom, int start, int length); +static int SDL_SYS_CDPause(SDL_CD * cdrom); +static int SDL_SYS_CDResume(SDL_CD * cdrom); +static int SDL_SYS_CDStop(SDL_CD * cdrom); +static int SDL_SYS_CDEject(SDL_CD * cdrom); +static void SDL_SYS_CDClose(SDL_CD * cdrom); typedef struct scsi_cdb cdb_t; static int -scsi_cmd (int fd, - struct scsi_cdb *cdb, - int cdblen, - int rw, caddr_t data, int datalen, struct scsi_user_cdb *sus) +scsi_cmd(int fd, + struct scsi_cdb *cdb, + int cdblen, + int rw, caddr_t data, int datalen, struct scsi_user_cdb *sus) { int scsistatus; unsigned char *cp; @@ -104,11 +104,11 @@ suc.suc_flags = rw; suc.suc_cdblen = cdblen; - bcopy (cdb, suc.suc_cdb, cdblen); + bcopy(cdb, suc.suc_cdb, cdblen); suc.suc_datalen = datalen; suc.suc_data = data; suc.suc_timeout = 10; /* 10 secs max for TUR or SENSE */ - if (ioctl (fd, SCSIRAWCDB, &suc) == -1) + if (ioctl(fd, SCSIRAWCDB, &suc) == -1) return (-11); scsistatus = suc.suc_sus.sus_status; cp = suc.suc_sus.sus_sense; @@ -119,16 +119,15 @@ * out if the status was not successful. */ if (scsistatus != 0 && !sus) { - fprintf (stderr, "scsistatus = %x cmd = %x\n", scsistatus, cdb[0]); - fprintf (stderr, - "sense %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\n", - cp[0], cp[1], cp[2], cp[3], cp[4], cp[5], cp[6], cp[7], - cp[8], cp[9], cp[10], cp[11], cp[12], cp[13], cp[14], - cp[15]); + fprintf(stderr, "scsistatus = %x cmd = %x\n", scsistatus, cdb[0]); + fprintf(stderr, + "sense %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x %x\n", + cp[0], cp[1], cp[2], cp[3], cp[4], cp[5], cp[6], cp[7], + cp[8], cp[9], cp[10], cp[11], cp[12], cp[13], cp[14], cp[15]); return (1); } if (sus) - bcopy (&suc, sus, sizeof (struct scsi_user_cdb)); + bcopy(&suc, sus, sizeof(struct scsi_user_cdb)); if (scsistatus) return (1); /* Return non-zero for unsuccessful status */ return (0); @@ -136,7 +135,7 @@ /* request vendor brand and model */ unsigned char * -Inquiry (int fd) +Inquiry(int fd) { static struct scsi_cdb6 cdb = { 0x12, @@ -146,8 +145,8 @@ }; static unsigned char Inqbuffer[56]; - if (scsi_cmd (fd, (cdb_t *) & cdb, 6, SUC_READ, Inqbuffer, - sizeof (Inqbuffer), 0)) + if (scsi_cmd(fd, (cdb_t *) & cdb, 6, SUC_READ, Inqbuffer, + sizeof(Inqbuffer), 0)) return ("\377"); return (Inqbuffer); } @@ -156,7 +155,7 @@ #define ADD_SC_QUALIFIER 13 int -TestForMedium (int fd) +TestForMedium(int fd) { int sts, asc, ascq; struct scsi_user_cdb sus; @@ -169,7 +168,7 @@ 0 /* reserved */ }; - again:sts = scsi_cmd (fd, (cdb_t *) & cdb, 6, SUC_READ, 0, 0, &sus); + again:sts = scsi_cmd(fd, (cdb_t *) & cdb, 6, SUC_READ, 0, 0, &sus); asc = sus.suc_sus.sus_sense[ADD_SENSECODE]; ascq = sus.suc_sus.sus_sense[ADD_SC_QUALIFIER]; if (asc == 0x3a && ascq == 0x0) /* no medium */ @@ -177,7 +176,7 @@ if (asc == 0x28 && ascq == 0x0) /* medium changed */ goto again; if (asc == 0x4 && ascq == 0x1) { /* coming ready */ - sleep (2); + sleep(2); goto again; } return (1); @@ -185,30 +184,30 @@ /* Check a drive to see if it is a CD-ROM */ static int -CheckDrive (char *drive, struct stat *stbuf) +CheckDrive(char *drive, struct stat *stbuf) { int is_cd = 0, cdfd; char *p; /* If it doesn't exist, return -1 */ - if (stat (drive, stbuf) < 0) { + if (stat(drive, stbuf) < 0) { return (-1); } /* If it does exist, verify that it's an available CD-ROM */ - cdfd = open (drive, (O_RDONLY | O_EXCL | O_NONBLOCK), 0); + cdfd = open(drive, (O_RDONLY | O_EXCL | O_NONBLOCK), 0); if (cdfd >= 0) { - p = Inquiry (cdfd); + p = Inquiry(cdfd); if (*p == TYPE_ROM) is_cd = 1; - close (cdfd); + close(cdfd); } return (is_cd); } /* Add a CD-ROM drive to our list of valid drives */ static void -AddDrive (char *drive, struct stat *stbuf) +AddDrive(char *drive, struct stat *stbuf) { int i; @@ -219,8 +218,8 @@ for (i = 0; i < SDL_numcds; ++i) { if (stbuf->st_rdev == SDL_cdmode[i]) { #ifdef DEBUG_CDROM - fprintf (stderr, "Duplicate drive detected: %s == %s\n", - drive, SDL_cdlist[i]); + fprintf(stderr, "Duplicate drive detected: %s == %s\n", + drive, SDL_cdlist[i]); #endif return; } @@ -228,21 +227,21 @@ /* Add this drive to our list */ i = SDL_numcds; - SDL_cdlist[i] = SDL_strdup (drive); + SDL_cdlist[i] = SDL_strdup(drive); if (SDL_cdlist[i] == NULL) { - SDL_OutOfMemory (); + SDL_OutOfMemory(); return; } SDL_cdmode[i] = stbuf->st_rdev; ++SDL_numcds; #ifdef DEBUG_CDROM - fprintf (stderr, "Added CD-ROM drive: %s\n", drive); + fprintf(stderr, "Added CD-ROM drive: %s\n", drive); #endif } } int -SDL_SYS_CDInit (void) +SDL_SYS_CDInit(void) { /* checklist: /dev/rsr?c */ static char *checklist[] = { @@ -266,21 +265,21 @@ SDL_CDcaps.Close = SDL_SYS_CDClose; /* Look in the environment for our CD-ROM drive list */ - SDLcdrom = SDL_getenv ("SDL_CDROM"); /* ':' separated list of devices */ + SDLcdrom = SDL_getenv("SDL_CDROM"); /* ':' separated list of devices */ if (SDLcdrom != NULL) { char *cdpath, *delim; - size_t len = SDL_strlen (SDLcdrom) + 1; - cdpath = SDL_stack_alloc (char, len); + size_t len = SDL_strlen(SDLcdrom) + 1; + cdpath = SDL_stack_alloc(char, len); if (cdpath != NULL) { - SDL_strlcpy (cdpath, SDLcdrom, len); + SDL_strlcpy(cdpath, SDLcdrom, len); SDLcdrom = cdpath; do { - delim = SDL_strchr (SDLcdrom, ':'); + delim = SDL_strchr(SDLcdrom, ':'); if (delim) { *delim++ = '\0'; } - if (CheckDrive (SDLcdrom, &stbuf) > 0) { - AddDrive (SDLcdrom, &stbuf); + if (CheckDrive(SDLcdrom, &stbuf) > 0) { + AddDrive(SDLcdrom, &stbuf); } if (delim) { SDLcdrom = delim; @@ -289,7 +288,7 @@ } } while (SDLcdrom); - SDL_stack_free (cdpath); + SDL_stack_free(cdpath); } /* If we found our drives, there's nothing left to do */ @@ -304,16 +303,16 @@ char *insert; exists = 1; for (j = checklist[i][1]; exists; ++j) { - SDL_snprintf (drive, SDL_arraysize (drive), "/dev/%sc", - &checklist[i][3]); - insert = SDL_strchr (drive, '?'); + SDL_snprintf(drive, SDL_arraysize(drive), "/dev/%sc", + &checklist[i][3]); + insert = SDL_strchr(drive, '?'); if (insert != NULL) { *insert = j; } - switch (CheckDrive (drive, &stbuf)) { + switch (CheckDrive(drive, &stbuf)) { /* Drive exists and is a CD-ROM */ case 1: - AddDrive (drive, &stbuf); + AddDrive(drive, &stbuf); break; /* Drive exists, but isn't a CD-ROM */ case 0: @@ -325,10 +324,10 @@ } } } else { - SDL_snprintf (drive, SDL_arraysize (drive), "/dev/%s", - checklist[i]); - if (CheckDrive (drive, &stbuf) > 0) { - AddDrive (drive, &stbuf); + SDL_snprintf(drive, SDL_arraysize(drive), "/dev/%s", + checklist[i]); + if (CheckDrive(drive, &stbuf) > 0) { + AddDrive(drive, &stbuf); } } } @@ -336,29 +335,29 @@ } static const char * -SDL_SYS_CDName (int drive) +SDL_SYS_CDName(int drive) { return (SDL_cdlist[drive]); } static int -SDL_SYS_CDOpen (int drive) +SDL_SYS_CDOpen(int drive) { - return (open (SDL_cdlist[drive], O_RDONLY | O_NONBLOCK | O_EXCL, 0)); + return (open(SDL_cdlist[drive], O_RDONLY | O_NONBLOCK | O_EXCL, 0)); } static int -SDL_SYS_CDGetTOC (SDL_CD * cdrom) +SDL_SYS_CDGetTOC(SDL_CD * cdrom) { u_char cdb[10], buf[4], *p, *toc; struct scsi_user_cdb sus; int i, sts, first_track, last_track, ntracks, toc_size; - bzero (cdb, sizeof (cdb)); + bzero(cdb, sizeof(cdb)); cdb[0] = 0x43; /* Read TOC */ cdb[1] = 0x2; /* MSF */ cdb[8] = 4; /* size TOC header */ - sts = scsi_cmd (cdrom->id, (cdb_t *) cdb, 10, SUC_READ, buf, 4, &sus); + sts = scsi_cmd(cdrom->id, (cdb_t *) cdb, 10, SUC_READ, buf, 4, &sus); if (sts < 0) return (-1); first_track = buf[2]; @@ -366,19 +365,19 @@ ntracks = last_track - first_track + 1; cdrom->numtracks = ntracks; toc_size = 4 + (ntracks + 1) * 8; - toc = (u_char *) SDL_malloc (toc_size); + toc = (u_char *) SDL_malloc(toc_size); if (toc == NULL) return (-1); - bzero (cdb, sizeof (cdb)); + bzero(cdb, sizeof(cdb)); cdb[0] = 0x43; cdb[1] = 0x2; cdb[6] = first_track; cdb[7] = toc_size >> 8; cdb[8] = toc_size & 0xff; - sts = scsi_cmd (cdrom->id, (cdb_t *) cdb, 10, SUC_READ, toc, toc_size, - &sus); + sts = scsi_cmd(cdrom->id, (cdb_t *) cdb, 10, SUC_READ, toc, toc_size, + &sus); if (sts < 0) { - SDL_free (toc); + SDL_free(toc); return (-1); } @@ -391,38 +390,38 @@ cdrom->track[i].type = SDL_DATA_TRACK; else cdrom->track[i].type = SDL_AUDIO_TRACK; - cdrom->track[i].offset = msf_to_frame (p[5], p[6], p[7]); + cdrom->track[i].offset = msf_to_frame(p[5], p[6], p[7]); cdrom->track[i].length = 0; if (i > 0) cdrom->track[i - 1].length = cdrom->track[i].offset - cdrom->track[i - 1].offset; } - SDL_free (toc); + SDL_free(toc); return (0); } /* Get CD-ROM status */ static CDstatus -SDL_SYS_CDStatus (SDL_CD * cdrom, int *position) +SDL_SYS_CDStatus(SDL_CD * cdrom, int *position) { CDstatus status; u_char cdb[10], buf[16]; int sts; struct scsi_user_cdb sus; - bzero (cdb, sizeof (cdb)); + bzero(cdb, sizeof(cdb)); cdb[0] = 0x42; /* read subq */ cdb[1] = 0x2; /* MSF */ cdb[2] = 0x40; /* q channel */ cdb[3] = 1; /* current pos */ - cdb[7] = sizeof (buf) >> 8; - cdb[8] = sizeof (buf) & 0xff; - sts = scsi_cmd (cdrom->id, (cdb_t *) cdb, 10, SUC_READ, buf, sizeof (buf), - &sus); + cdb[7] = sizeof(buf) >> 8; + cdb[8] = sizeof(buf) & 0xff; + sts = scsi_cmd(cdrom->id, (cdb_t *) cdb, 10, SUC_READ, buf, sizeof(buf), + &sus); if (sts < 0) return (-1); if (sts) { - if (TestForMedium (cdrom->id) == 0) + if (TestForMedium(cdrom->id) == 0) status = CD_TRAYEMPTY; else status = CD_ERROR; @@ -446,7 +445,7 @@ } if (position) { if (status == CD_PLAYING || (status == CD_PAUSED)) - *position = msf_to_frame (buf[9], buf[10], buf[11]); + *position = msf_to_frame(buf[9], buf[10], buf[11]); else *position = 0; } @@ -455,94 +454,94 @@ /* Start play */ static int -SDL_SYS_CDPlay (SDL_CD * cdrom, int start, int length) +SDL_SYS_CDPlay(SDL_CD * cdrom, int start, int length) { u_char cdb[10]; int sts, minute, second, frame, eminute, esecond, eframe; struct scsi_user_cdb sus; - bzero (cdb, sizeof (cdb)); + bzero(cdb, sizeof(cdb)); cdb[0] = 0x47; /* Play */ - frame_to_msf (start, &minute, &second, &frame); - frame_to_msf (start + length, &eminute, &esecond, &eframe); + frame_to_msf(start, &minute, &second, &frame); + frame_to_msf(start + length, &eminute, &esecond, &eframe); cdb[3] = minute; cdb[4] = second; cdb[5] = frame; cdb[6] = eminute; cdb[7] = esecond; cdb[8] = eframe; - sts = scsi_cmd (cdrom->id, (cdb_t *) cdb, 10, SUC_READ, 0, 0, &sus); + sts = scsi_cmd(cdrom->id, (cdb_t *) cdb, 10, SUC_READ, 0, 0, &sus); return (sts); } static int -pauseresume (SDL_CD * cdrom, int flag) +pauseresume(SDL_CD * cdrom, int flag) { u_char cdb[10]; struct scsi_user_cdb sus; - bzero (cdb, sizeof (cdb)); + bzero(cdb, sizeof(cdb)); cdb[0] = 0x4b; cdb[8] = flag & 0x1; - return (scsi_cmd (cdrom->id, (cdb_t *) cdb, 10, SUC_READ, 0, 0, &sus)); + return (scsi_cmd(cdrom->id, (cdb_t *) cdb, 10, SUC_READ, 0, 0, &sus)); } /* Pause play */ static int -SDL_SYS_CDPause (SDL_CD * cdrom) +SDL_SYS_CDPause(SDL_CD * cdrom) { - return (pauseresume (cdrom, 0)); + return (pauseresume(cdrom, 0)); } /* Resume play */ static int -SDL_SYS_CDResume (SDL_CD * cdrom) +SDL_SYS_CDResume(SDL_CD * cdrom) { - return (pauseresume (cdrom, 1)); + return (pauseresume(cdrom, 1)); } /* Stop play */ static int -SDL_SYS_CDStop (SDL_CD * cdrom) +SDL_SYS_CDStop(SDL_CD * cdrom) { u_char cdb[6]; struct scsi_user_cdb sus; - bzero (cdb, sizeof (cdb)); + bzero(cdb, sizeof(cdb)); cdb[0] = 0x1b; /* stop */ cdb[1] = 1; /* immediate */ - return (scsi_cmd (cdrom->id, (cdb_t *) cdb, 6, SUC_READ, 0, 0, &sus)); + return (scsi_cmd(cdrom->id, (cdb_t *) cdb, 6, SUC_READ, 0, 0, &sus)); } /* Eject the CD-ROM */ static int -SDL_SYS_CDEject (SDL_CD * cdrom) +SDL_SYS_CDEject(SDL_CD * cdrom) { u_char cdb[6]; struct scsi_user_cdb sus; - bzero (cdb, sizeof (cdb)); + bzero(cdb, sizeof(cdb)); cdb[0] = 0x1b; /* stop */ cdb[1] = 1; /* immediate */ cdb[4] = 2; /* eject */ - return (scsi_cmd (cdrom->id, (cdb_t *) cdb, 6, SUC_READ, 0, 0, &sus)); + return (scsi_cmd(cdrom->id, (cdb_t *) cdb, 6, SUC_READ, 0, 0, &sus)); } /* Close the CD-ROM handle */ static void -SDL_SYS_CDClose (SDL_CD * cdrom) +SDL_SYS_CDClose(SDL_CD * cdrom) { - close (cdrom->id); + close(cdrom->id); } void -SDL_SYS_CDQuit (void) +SDL_SYS_CDQuit(void) { int i; if (SDL_numcds > 0) { for (i = 0; i < SDL_numcds; ++i) { - SDL_free (SDL_cdlist[i]); + SDL_free(SDL_cdlist[i]); } } SDL_numcds = 0;