35 #include <sys/types.h> 40 #define DISKIMAGE_SCSI 1 41 #define DISKIMAGE_IDE 2 42 #define DISKIMAGE_FLOPPY 3 44 #define DISKIMAGE_TYPES { "(NONE)", "SCSI", "IDE", "FLOPPY" } 48 #define OVERLAY_BLOCK_SIZE 512 125 size_t want_len,
int clearflag);
135 int *c,
int *h,
int *s);
137 off_t offset,
unsigned char *buf,
size_t len);
139 off_t offset,
unsigned char *buf,
size_t len);
146 char *buf,
size_t bufsize);
155 #define SCSICMD_TEST_UNIT_READY 0x00 156 #define SCSICMD_REQUEST_SENSE 0x03 157 #define SCSICMD_INQUIRY 0x12 159 #define SCSICMD_READ 0x08 160 #define SCSICMD_READ_10 0x28 161 #define SCSICMD_WRITE 0x0a 162 #define SCSICMD_WRITE_10 0x2a 163 #define SCSICMD_MODE_SELECT 0x15 164 #define SCSICMD_MODE_SENSE 0x1a 165 #define SCSICMD_START_STOP_UNIT 0x1b 166 #define SCSICMD_PREVENT_ALLOW_REMOVE 0x1e 167 #define SCSICMD_MODE_SENSE10 0x5a 169 #define SCSICMD_SYNCHRONIZE_CACHE 0x35 172 #define SCSIBLOCKCMD_READ_CAPACITY 0x25 175 #define SCSICDROM_READ_SUBCHANNEL 0x42 176 #define SCSICDROM_READ_TOC 0x43 177 #define SCSICDROM_READ_DISCINFO 0x51 178 #define SCSICDROM_READ_TRACKINFO 0x52 181 #define SCSICMD_REWIND 0x01 182 #define SCSICMD_READ_BLOCK_LIMITS 0x05 183 #define SCSICMD_SPACE 0x11 int diskimage__internal_access(struct diskimage *d, int writeflag, off_t offset, unsigned char *buf, size_t len)
int diskimage_scsicommand(struct cpu *cpu, int id, int type, struct scsi_transfer *)
void diskimage_recalc_size(struct diskimage *d)
void diskimage_dump_info(struct machine *machine)
int diskimage_bootdev(struct machine *machine, int *typep)
int diskimage_exist(struct machine *machine, int id, int type)
int64_t diskimage_get_baseoffset(struct machine *machine, int id, int type)
struct scsi_transfer * scsi_transfer_alloc(void)
int diskimage_access(struct machine *machine, int id, int type, int writeflag, off_t offset, unsigned char *buf, size_t len)
struct scsi_transfer * next_free
int64_t override_base_offset
void diskimage_set_baseoffset(struct machine *machine, int id, int type, int64_t offset)
void diskimage_add_overlay(struct diskimage *d, char *overlay_basename)
int diskimage_add(struct machine *machine, char *fname)
struct diskimage_overlay * overlays
int diskimage_is_a_cdrom(struct machine *machine, int id, int type)
void scsi_transfer_free(struct scsi_transfer *)
void diskimage_getchs(struct machine *machine, int id, int type, int *c, int *h, int *s)
void scsi_transfer_allocbuf(size_t *lenp, unsigned char **pp, size_t want_len, int clearflag)
int diskimage_getname(struct machine *machine, int id, int type, char *buf, size_t bufsize)
int64_t diskimage_getsize(struct machine *machine, int id, int type)
int diskimage_is_a_tape(struct machine *machine, int id, int type)