mirror of
https://github.com/9fans/plan9port.git
synced 2025-01-12 11:10:07 +00:00
78 lines
1.2 KiB
C
78 lines
1.2 KiB
C
#ifndef _DISK_H_
|
|
#define _DISK_H_ 1
|
|
#if defined(__cplusplus)
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
AUTOLIB(disk)
|
|
|
|
#if 0
|
|
/* 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,
|
|
};
|
|
#endif
|
|
|
|
/* 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*);
|
|
|
|
#if defined(__cplusplus)
|
|
}
|
|
#endif
|
|
#endif
|