--- trunk/src/include/diskimage.h 2007/10/08 16:18:00 4 +++ trunk/src/include/diskimage.h 2007/10/08 16:18:51 14 @@ -28,7 +28,7 @@ * SUCH DAMAGE. * * - * $Id: diskimage.h,v 1.26 2005/04/15 21:39:57 debug Exp $ + * $Id: diskimage.h,v 1.29 2005/09/27 23:55:46 debug Exp $ * * Generic disk image functions. (See diskimage.c for more info.) */ @@ -43,6 +43,8 @@ #define DISKIMAGE_IDE 2 #define DISKIMAGE_FLOPPY 3 +#define DISKIMAGE_TYPES { "(NONE)", "SCSI", "IDE", "FLOPPY" } + struct diskimage { struct diskimage *next; int type; /* DISKIMAGE_SCSI, etc */ @@ -51,6 +53,11 @@ char *fname; FILE *f; + int chs_override; + int cylinders; + int heads; + int sectors_per_track; + off_t total_size; int logical_block_size; @@ -102,16 +109,20 @@ size_t want_len, int clearflag); -int64_t diskimage_getsize(struct machine *machine, int scsi_id); -int diskimage_scsicommand(struct cpu *cpu, int scsi_id, +int64_t diskimage_getsize(struct machine *machine, int id, int type); +void diskimage_getchs(struct machine *machine, int id, int type, + int *c, int *h, int *s); +int diskimage_scsicommand(struct cpu *cpu, int id, int type, struct scsi_transfer *); -int diskimage_access(struct machine *machine, int scsi_id, int writeflag, +int diskimage_access(struct machine *machine, int id, int type, int writeflag, off_t offset, unsigned char *buf, size_t len); -int diskimage_exist(struct machine *machine, int scsi_id); -int diskimage_bootdev(struct machine *machine); +int diskimage_exist(struct machine *machine, int id, int type); +int diskimage_bootdev(struct machine *machine, int *typep); int diskimage_add(struct machine *machine, char *fname); -int diskimage_is_a_cdrom(struct machine *machine, int scsi_id); -int diskimage_is_a_tape(struct machine *machine, int scsi_id); +int diskimage_getname(struct machine *machine, int id, int type, + char *buf, size_t bufsize); +int diskimage_is_a_cdrom(struct machine *machine, int id, int type); +int diskimage_is_a_tape(struct machine *machine, int id, int type); void diskimage_dump_info(struct machine *machine); /*