plan9port

[fork] Plan 9 from user space
git clone git://src.adamsgaard.dk/plan9port # fast
git clone https://src.adamsgaard.dk/plan9port.git # slow
Log | Files | Refs | README | LICENSE Back to index

disk.h (1196B)


      1 #ifndef _DISK_H_
      2 #define _DISK_H_ 1
      3 #if defined(__cplusplus)
      4 extern "C" { 
      5 #endif
      6 
      7 
      8 AUTOLIB(disk)
      9 
     10 #if 0
     11 /* SCSI interface */
     12 typedef struct Scsi Scsi;
     13 struct Scsi {
     14 	QLock	lk;
     15 	char*	inquire;
     16 	int	rawfd;
     17 	int	nchange;
     18 	ulong	changetime;
     19 };
     20 
     21 enum {
     22 	Sread = 0,
     23 	Swrite,
     24 	Snone,
     25 };
     26 
     27 char*	scsierror(int, int);
     28 int		scsicmd(Scsi*, uchar*, int, void*, int, int);
     29 int		scsi(Scsi*, uchar*, int, void*, int, int);
     30 Scsi*		openscsi(char*);
     31 int		scsiready(Scsi*);
     32 
     33 extern int		scsiverbose;
     34 #endif
     35 
     36 /* disk partition interface */
     37 typedef struct Disk Disk;
     38 struct Disk {
     39 	char *prefix;
     40 	char *part;
     41 	int fd;
     42 	int wfd;
     43 	int ctlfd;
     44 	int rdonly;
     45 	int type;
     46 
     47 	vlong secs;
     48 	vlong secsize;
     49 	vlong size;
     50 	vlong offset;	/* within larger disk, perhaps */
     51 	int width;	/* of disk size in bytes as decimal string */
     52 	int c;
     53 	int h;
     54 	int s;
     55 	int chssrc;
     56 };
     57 
     58 Disk*	opendisk(char*, int, int);
     59 
     60 enum {
     61 	Tfile = 0,
     62 	Tsd,
     63 	Tfloppy,
     64 
     65 	Gpart = 0,	/* partition info source */
     66 	Gdisk,
     67 	Gguess
     68 };
     69 
     70 /* proto file parsing */
     71 typedef void Protoenum(char *new, char *old, Dir *d, void *a);
     72 typedef void Protowarn(char *msg, void *a);
     73 int rdproto(char*, char*, Protoenum*, Protowarn*, void*);
     74 
     75 #if defined(__cplusplus)
     76 }
     77 #endif
     78 #endif