From c558a99e0be506a9abdf677f0ca4490644e05fc1 Mon Sep 17 00:00:00 2001 From: Taru Karttunen Date: Wed, 30 Mar 2011 16:47:56 +0300 Subject: Import sources from 2011-03-30 iso image - sys/include --- sys/include/disk.h | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100755 sys/include/disk.h (limited to 'sys/include/disk.h') diff --git a/sys/include/disk.h b/sys/include/disk.h new file mode 100755 index 000000000..be0a4a0fe --- /dev/null +++ b/sys/include/disk.h @@ -0,0 +1,66 @@ +#pragma src "/sys/src/libdisk" +#pragma lib "libdisk.a" + +/* SCSI interface */ +typedef struct Scsi Scsi; +struct Scsi { + QLock; + char* inquire; + int rawfd; + int nchange; + ulong changetime; +}; + +enum { + Sread = 0, + Swrite, + Snone, +}; + +char* scsierror(int, int); +int scsicmd(Scsi*, uchar*, int, void*, int, int); +int scsi(Scsi*, uchar*, int, void*, int, int); +Scsi* openscsi(char*); +void closescsi(Scsi*); +int scsiready(Scsi*); + +extern int scsiverbose; + +/* disk partition interface */ +typedef struct Disk Disk; +struct Disk { + char *prefix; + char *part; + int fd; + int wfd; + int ctlfd; + int rdonly; + int type; + + vlong secs; + vlong secsize; + vlong size; + vlong offset; /* within larger disk, perhaps */ + int width; /* of disk size in bytes as decimal string */ + int c; + int h; + int s; + int chssrc; +}; + +Disk* opendisk(char*, int, int); + +enum { + Tfile = 0, + Tsd, + Tfloppy, + + Gpart = 0, /* partition info source */ + Gdisk, + Gguess, +}; + +/* proto file parsing */ +typedef void Protoenum(char *new, char *old, Dir *d, void *a); +typedef void Protowarn(char *msg, void *a); +int rdproto(char*, char*, Protoenum*, Protowarn*, void*); -- cgit v1.2.3