~kris/9p

9hist

85a8f77f6a8a06394496c5bb5939983d5f55cb61 — David du Colombier 31 years ago aaff5a0
Plan 9 from Bell Labs 1995-07-24
1 files changed, 10 insertions(+), 25 deletions(-)

M pc/scsi.c
M pc/scsi.c => pc/scsi.c +10 -25
@@ 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);