From e1dddc053287874e82e2b67f95ccee7d7bc63e22 Mon Sep 17 00:00:00 2001 From: wkj Date: Thu, 17 Jun 2004 01:46:29 +0000 Subject: Import proto file parser for dump9660. --- include/disk.h | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 include/disk.h (limited to 'include') diff --git a/include/disk.h b/include/disk.h new file mode 100644 index 00000000..a887866e --- /dev/null +++ b/include/disk.h @@ -0,0 +1,65 @@ +#pragma src "/sys/src/libdisk" +#pragma lib "libdisk.a" + +/* SCSI interface */ +typedef struct Scsi Scsi; +struct Scsi { + QLock lk; + 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*); +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