1 1a0954ab 2005-01-04 devnull #ifndef _DISK_H_
2 1a0954ab 2005-01-04 devnull #define _DISK_H_ 1
3 1a0954ab 2005-01-04 devnull #if defined(__cplusplus)
4 1a0954ab 2005-01-04 devnull extern "C" {
8 1a0954ab 2005-01-04 devnull AUTOLIB(disk)
11 e1dddc05 2004-06-17 devnull /* SCSI interface */
12 e1dddc05 2004-06-17 devnull typedef struct Scsi Scsi;
13 e1dddc05 2004-06-17 devnull struct Scsi {
14 e1dddc05 2004-06-17 devnull QLock lk;
15 e1dddc05 2004-06-17 devnull char* inquire;
16 e1dddc05 2004-06-17 devnull int rawfd;
17 e1dddc05 2004-06-17 devnull int nchange;
18 e1dddc05 2004-06-17 devnull ulong changetime;
22 e1dddc05 2004-06-17 devnull Sread = 0,
27 e1dddc05 2004-06-17 devnull char* scsierror(int, int);
28 e1dddc05 2004-06-17 devnull int scsicmd(Scsi*, uchar*, int, void*, int, int);
29 e1dddc05 2004-06-17 devnull int scsi(Scsi*, uchar*, int, void*, int, int);
30 e1dddc05 2004-06-17 devnull Scsi* openscsi(char*);
31 e1dddc05 2004-06-17 devnull int scsiready(Scsi*);
33 e1dddc05 2004-06-17 devnull extern int scsiverbose;
36 e1dddc05 2004-06-17 devnull /* disk partition interface */
37 e1dddc05 2004-06-17 devnull typedef struct Disk Disk;
38 e1dddc05 2004-06-17 devnull struct Disk {
39 e1dddc05 2004-06-17 devnull char *prefix;
40 e1dddc05 2004-06-17 devnull char *part;
43 e1dddc05 2004-06-17 devnull int ctlfd;
44 e1dddc05 2004-06-17 devnull int rdonly;
45 e1dddc05 2004-06-17 devnull int type;
47 e1dddc05 2004-06-17 devnull vlong secs;
48 e1dddc05 2004-06-17 devnull vlong secsize;
49 e1dddc05 2004-06-17 devnull vlong size;
50 e1dddc05 2004-06-17 devnull vlong offset; /* within larger disk, perhaps */
51 e1dddc05 2004-06-17 devnull int width; /* of disk size in bytes as decimal string */
55 e1dddc05 2004-06-17 devnull int chssrc;
58 e1dddc05 2004-06-17 devnull Disk* opendisk(char*, int, int);
61 e1dddc05 2004-06-17 devnull Tfile = 0,
65 e1dddc05 2004-06-17 devnull Gpart = 0, /* partition info source */
70 e1dddc05 2004-06-17 devnull /* proto file parsing */
71 e1dddc05 2004-06-17 devnull typedef void Protoenum(char *new, char *old, Dir *d, void *a);
72 e1dddc05 2004-06-17 devnull typedef void Protowarn(char *msg, void *a);
73 e1dddc05 2004-06-17 devnull int rdproto(char*, char*, Protoenum*, Protowarn*, void*);
75 1a0954ab 2005-01-04 devnull #if defined(__cplusplus)