123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566 |
- #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*);
|