summaryrefslogtreecommitdiff
path: root/module/scsiio.m
blob: 9db153e8c9e1b2c6351c9978118138a3080795f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#
# adapted from /sys/include/disk.h on Plan 9: subject to the Lucent Public License 1.02
#
ScsiIO: module
{
	PATH: con "/dis/lib/scsiio.dis";

	# SCSI interface
	Scsi: adt {
		lock:	chan of int;
		inquire:	string;
		rawfd:	ref Sys->FD;
		nchange:	int;
		changetime:	int;

		open:	fn(f: string): ref Scsi;
		rawcmd:	fn(s: self ref Scsi, c: array of byte, d: array of byte, io: int): int;
		cmd:		fn(s: self ref Scsi, c: array of byte, d: array of byte, io: int): int;
		ready:	fn(s: self ref Scsi): int;
	};

	Sread, Swrite, Snone: con iota;

	scsierror:	fn(asc: int, ascq: int): string;

	init:	fn(verbose: int);
};