mirror of
https://github.com/marciot/mac-tip.git
synced 2026-04-20 02:16:29 +00:00
Bug fixes, whitespace cleanup, deleted binaries.
This commit is contained in:
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 410 B |
Binary file not shown.
|
Before Width: | Height: | Size: 410 B |
Binary file not shown.
|
Before Width: | Height: | Size: 410 B |
Binary file not shown.
|
Before Width: | Height: | Size: 410 B |
@@ -7,7 +7,7 @@ OSErr iomega_spin_up_cartridge( int id ) {
|
||||
// issue an Asynchronous START command to induce spinup
|
||||
char cmd[6] = {
|
||||
SCSI_Cmd_StartStopUnit,
|
||||
1, // set the IMMED bit for offline
|
||||
1, // set the IMMED bit for offline
|
||||
0,
|
||||
0,
|
||||
1, // start the disk spinning
|
||||
@@ -20,7 +20,7 @@ OSErr iomega_spin_down_and_eject( int id ) {
|
||||
// issue an Asynchronous STOP command to induce spindown and ejection
|
||||
char cmd[6] = {
|
||||
SCSI_Cmd_StartStopUnit,
|
||||
1, // set the IMMED bit for offline
|
||||
1, // set the IMMED bit for offline
|
||||
0,
|
||||
0,
|
||||
2, // eject a Jaz disk after stopping
|
||||
@@ -33,7 +33,7 @@ OSErr iomega_set_prevent_removal( int id, bool lock) {
|
||||
OSErr err;
|
||||
char cmd[6] = {
|
||||
SCSI_Cmd_PreventAllow,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
lock ? 1 : 0,
|
||||
@@ -43,7 +43,7 @@ OSErr iomega_set_prevent_removal( int id, bool lock) {
|
||||
}
|
||||
|
||||
OSErr iomega_eject_cartridge( int id ) {
|
||||
OSErr err;
|
||||
OSErr err;
|
||||
err = iomega_set_prevent_removal(id, false);
|
||||
if (err != noErr) return err;
|
||||
return iomega_spin_down_and_eject(id);
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
||||
#define READ_TIMEOUT 300 /* 300 ticks = 5 seconds */
|
||||
#define READ_TIMEOUT 60 /* 300 ticks = 5 seconds */
|
||||
|
||||
OSErr scsi_reset() {
|
||||
return SCSIReset();
|
||||
@@ -14,9 +14,9 @@ OSErr scsi_reset() {
|
||||
OSErr scsi_cmd(int id, void *cmd, size_t clen, void *buff, size_t siz, size_t cnt, int flags, char *status) {
|
||||
SCSIInstr TIB[3]; /* Transfer instruction block */
|
||||
OSErr err;
|
||||
|
||||
|
||||
/* Set up the TIB (used by Macintosh SCSI Manager) */
|
||||
|
||||
|
||||
if( cnt != 0 ) {
|
||||
/* Transfer cnt continguous blocks of size siz, one at a time. */
|
||||
/* Use this sort of transfer when doing blind transfers to a */
|
||||
@@ -34,7 +34,7 @@ OSErr scsi_cmd(int id, void *cmd, size_t clen, void *buff, size_t siz, size_t cn
|
||||
TIB[2].scParam2 = 0;
|
||||
} else {
|
||||
/* Transfer siz bytes in one fell swoop. */
|
||||
|
||||
//printf("CMD: %x SCSI Siz %ld\n", int(*((char*)cmd)), siz);
|
||||
TIB[0].scOpcode = scInc;
|
||||
TIB[0].scParam1 = (long) buff;
|
||||
TIB[0].scParam2 = siz;
|
||||
@@ -42,36 +42,37 @@ OSErr scsi_cmd(int id, void *cmd, size_t clen, void *buff, size_t siz, size_t cn
|
||||
TIB[1].scParam1 = 0;
|
||||
TIB[1].scParam2 = 0;
|
||||
}
|
||||
|
||||
|
||||
/* Arbitrate for the bus and select the device. */
|
||||
err = SCSIGet();
|
||||
if (err != noErr) {printf("SCSIGet Error: %d\n", err); return err;}
|
||||
|
||||
|
||||
err = SCSISelect(id);
|
||||
if (err != noErr) {/*printf("SCSISelect Error: %d\n", err);*/ return err;}
|
||||
|
||||
if (err != noErr) {printf("SCSISelect Error: %d\n", err); return err;}
|
||||
|
||||
/* Send the command to the SCSI device and perform the requested I/O */
|
||||
err = SCSICmd( (Ptr) cmd, clen );
|
||||
if (err == noErr) {
|
||||
OSErr io_err;
|
||||
switch(flags) {
|
||||
case SCSI_WRITE | SCSI_BLIND: err = SCSIWBlind( (Ptr) TIB ); break;
|
||||
case SCSI_READ | SCSI_BLIND: err = SCSIRBlind( (Ptr) TIB ); break;
|
||||
case SCSI_WRITE: err = SCSIWrite( (Ptr) TIB ); break;
|
||||
case SCSI_READ: err = SCSIRead( (Ptr) TIB ); break;
|
||||
case SCSI_WRITE | SCSI_BLIND: io_err = SCSIWBlind( (Ptr) TIB ); break;
|
||||
case SCSI_READ | SCSI_BLIND: io_err = SCSIRBlind( (Ptr) TIB ); break;
|
||||
case SCSI_WRITE: io_err = SCSIWrite( (Ptr) TIB ); break;
|
||||
case SCSI_READ: io_err = SCSIRead( (Ptr) TIB ); break;
|
||||
default: break;
|
||||
}
|
||||
if (err != noErr) {
|
||||
printf("SCSI Read/Write Error: %d\n", err);
|
||||
if (io_err != noErr) {
|
||||
printf("SCSI Read/Write Error: %d\n", io_err);
|
||||
}
|
||||
} else {
|
||||
printf("SCSICmd Error: %d", err);
|
||||
printf("SCSICmd Error: %d\n", err);
|
||||
}
|
||||
|
||||
/* Complete the transaction and release the bus */
|
||||
short cstat, cmsg;
|
||||
OSErr comperr = SCSIComplete( &cstat, &cmsg, READ_TIMEOUT );
|
||||
if (comperr != noErr) {printf("SCSIComplete Error: %d\n", err); return err;}
|
||||
if(status) *status = cstat;
|
||||
if (comperr != noErr) {printf("SCSIComplete Error: %d (status: %d)\n", err, cstat); return err;}
|
||||
|
||||
return err;
|
||||
}
|
||||
@@ -79,12 +80,12 @@ OSErr scsi_cmd(int id, void *cmd, size_t clen, void *buff, size_t siz, size_t cn
|
||||
OSErr scsi_inquiry(int id, int lun, scsi_inq_reply *reply) {
|
||||
short err;
|
||||
unsigned char cmd[6] = { SCSI_Cmd_Inquiry, lun << 5, 0x00, 0x00, 0x05, 0x00 };
|
||||
|
||||
|
||||
memset(reply, 0, sizeof(scsi_inq_reply));
|
||||
|
||||
|
||||
/* First we issue a dummy command to get the additional data field, then */
|
||||
/* we use that number to issue a second command with the corrected length. */
|
||||
|
||||
|
||||
if( (err = scsi_cmd(id, cmd, sizeof(cmd), reply, cmd[4], 0, SCSI_READ)) != noErr) {
|
||||
return err;
|
||||
}
|
||||
@@ -93,18 +94,7 @@ OSErr scsi_inquiry(int id, int lun, scsi_inq_reply *reply) {
|
||||
}
|
||||
|
||||
OSErr scsi_request_sense_data(int id, scsi_sense_reply *reply) {
|
||||
short err;
|
||||
unsigned char cmd[6] = { SCSI_Cmd_RequestSense, 0x00, 0x00, 0x00, 0x08, 0x00 };
|
||||
|
||||
memset(reply, 0, sizeof(scsi_sense_reply));
|
||||
|
||||
/* First we issue a dummy command to get the additional data field, then */
|
||||
/* we use that number to issue a second command with the corrected length. */
|
||||
|
||||
if( (err = scsi_cmd(id, cmd, sizeof(cmd), reply, cmd[4], 0, SCSI_READ)) != noErr) {
|
||||
return err;
|
||||
}
|
||||
cmd[4] += reply->alen;
|
||||
unsigned char cmd[6] = {SCSI_Cmd_RequestSense, 0x00, 0x00, 0x00, sizeof(scsi_sense_reply), 0x00};
|
||||
return scsi_cmd(id, cmd, sizeof(cmd), reply, cmd[4], 0, SCSI_READ);
|
||||
}
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ typedef Boolean bool;
|
||||
|
||||
enum {
|
||||
SCSI_Cmd_RequestSense = 0x03,
|
||||
SCSI_Cmd_FormatUnit = 0x04,
|
||||
SCSI_Cmd_FormatUnit = 0x04,
|
||||
SCSI_Cmd_NonSenseData = 0x06,
|
||||
SCSI_Cmd_Read = 0x08,
|
||||
SCSI_Cmd_Write = 0x0a,
|
||||
|
||||
Reference in New Issue
Block a user