From 85a8f77f6a8a06394496c5bb5939983d5f55cb61 Mon Sep 17 00:00:00 2001 From: David du Colombier <0intro@gmail.com> Date: Mon, 24 Jul 1995 00:00:00 +0000 Subject: [PATCH] Plan 9 from Bell Labs 1995-07-24 --- pc/scsi.c | 35 ++++++++++------------------------- 1 file changed, 10 insertions(+), 25 deletions(-) diff --git a/pc/scsi.c b/pc/scsi.c index 090b2e0d399a54a38210b38a92560a4d8957b7dc..55463e1aa414f84b1f678e0e9c4683c44a166175 100644 --- a/pc/scsi.c +++ b/pc/scsi.c @@ -267,8 +267,8 @@ scsicap(Target *t, char lun, ulong *size, ulong *bsize) s = scsiexec(t, SCSIread, cmd, sizeof(cmd), d, &nbytes); if(s == STok) { - *size = (d[0]<<24)|(d[1]<<16)|(d[2]<<8)|(d[3]<<0); - *bsize = (d[4]<<24)|(d[5]<<16)|(d[6]<<8)|(d[7]<<0); + *size = nhgetl(d+0); + *bsize = nhgetl(d+4); } scsifree(d); return s; @@ -286,8 +286,7 @@ scsibio(Target *t, char lun, int dir, void *b, long n, long bsize, long bno) if(dir == SCSIread) cmd[0] = 0x08; cmd[1] = (lun<<5) | bno >> 16; - cmd[2] = bno >> 8; - cmd[3] = bno; + hnputs(cmd+2, bno); cmd[4] = n; cdbsiz = 6; } @@ -296,12 +295,8 @@ scsibio(Target *t, char lun, int dir, void *b, long n, long bsize, long bno) if(dir == SCSIread) cmd[0] = 0x28; cmd[1] = (lun<<5); - cmd[2] = bno >> 24; - cmd[3] = bno >> 16; - cmd[4] = bno >> 8; - cmd[5] = bno; - cmd[7] = n>>8; - cmd[8] = n; + hnputl(cmd+2, bno); + hnputs(cmd+7, n); cdbsiz = 10; } nbytes = n*bsize; @@ -403,8 +398,7 @@ scsidiskinfo(Target *t, char lun, uchar *data) memset(cmd, 0, sizeof(cmd)); cmd[0] = 0x43; cmd[1] = lun<<5; - cmd[7] = nbytes>>8; - cmd[8] = nbytes>>0; + hnputs(cmd+7, nbytes); d = scsialloc(nbytes); if(d == 0) @@ -429,8 +423,7 @@ scsitrackinfo(Target *t, char lun, int track, uchar *data) cmd[0] = 0xe5; cmd[1] = lun<<5; cmd[5] = track; - cmd[7] = nbytes>>8; - cmd[8] = nbytes>>0; + hnputs(cmd+7, nbytes); d = scsialloc(nbytes); if(d == 0) @@ -464,9 +457,7 @@ scsibufsize(Target *t, char lun, int size) memset(d, 0, nbytes); d[3] = 8; - d[9] = size>>16; - d[10] = size>>8; - d[11] = size>>0; + hnputl(d+8, size); s = scsiexec(t, SCSIwrite, cmd, sizeof(cmd), d, &nbytes); scsifree(d); @@ -483,14 +474,8 @@ scsireadcdda(Target *t, char lun, void *b, long n, long bsize, long bno) cmd[0] = 0xd8; cmd[1] = (lun<<5); - cmd[2] = bno >> 24; - cmd[3] = bno >> 16; - cmd[4] = bno >> 8; - cmd[5] = bno; - cmd[6] = n>>24; - cmd[7] = n>>16; - cmd[8] = n>>8; - cmd[9] = n; + hnputl(cmd+2, bno); + hnputl(cmd+6, n); nbytes = n*bsize; s = scsiexec(t, SCSIread, cmd, sizeof(cmd), b, &nbytes);