2 |
#define DISKIMAGE_H |
#define DISKIMAGE_H |
3 |
|
|
4 |
/* |
/* |
5 |
* Copyright (C) 2003-2005 Anders Gavare. All rights reserved. |
* Copyright (C) 2003-2007 Anders Gavare. All rights reserved. |
6 |
* |
* |
7 |
* Redistribution and use in source and binary forms, with or without |
* Redistribution and use in source and binary forms, with or without |
8 |
* modification, are permitted provided that the following conditions are met: |
* modification, are permitted provided that the following conditions are met: |
28 |
* SUCH DAMAGE. |
* SUCH DAMAGE. |
29 |
* |
* |
30 |
* |
* |
31 |
* $Id: diskimage.h,v 1.28 2005/05/25 06:40:19 debug Exp $ |
* $Id: diskimage.h,v 1.34 2006/12/30 13:31:00 debug Exp $ |
32 |
* |
* |
33 |
* Generic disk image functions. (See diskimage.c for more info.) |
* Generic disk image functions. (See diskimage.c for more info.) |
34 |
*/ |
*/ |
59 |
int sectors_per_track; |
int sectors_per_track; |
60 |
|
|
61 |
off_t total_size; |
off_t total_size; |
62 |
|
int64_t override_base_offset; |
63 |
int logical_block_size; |
int logical_block_size; |
64 |
|
|
65 |
int writable; |
int writable; |
111 |
|
|
112 |
|
|
113 |
int64_t diskimage_getsize(struct machine *machine, int id, int type); |
int64_t diskimage_getsize(struct machine *machine, int id, int type); |
114 |
|
int64_t diskimage_get_baseoffset(struct machine *machine, int id, int type); |
115 |
void diskimage_getchs(struct machine *machine, int id, int type, |
void diskimage_getchs(struct machine *machine, int id, int type, |
116 |
int *c, int *h, int *s); |
int *c, int *h, int *s); |
117 |
int diskimage_scsicommand(struct cpu *cpu, int id, int type, |
int diskimage_scsicommand(struct cpu *cpu, int id, int type, |
118 |
struct scsi_transfer *); |
struct scsi_transfer *); |
119 |
int diskimage_access(struct machine *machine, int id, int type, int writeflag, |
int diskimage_access(struct machine *machine, int id, int type, int writeflag, |
120 |
off_t offset, unsigned char *buf, size_t len); |
off_t offset, unsigned char *buf, size_t len); |
121 |
int diskimage_exist(struct machine *machine, int scsi_id, int type); |
int diskimage_exist(struct machine *machine, int id, int type); |
122 |
int diskimage_bootdev(struct machine *machine, int *typep); |
int diskimage_bootdev(struct machine *machine, int *typep); |
123 |
int diskimage_add(struct machine *machine, char *fname); |
int diskimage_add(struct machine *machine, char *fname); |
124 |
|
int diskimage_getname(struct machine *machine, int id, int type, |
125 |
|
char *buf, size_t bufsize); |
126 |
int diskimage_is_a_cdrom(struct machine *machine, int id, int type); |
int diskimage_is_a_cdrom(struct machine *machine, int id, int type); |
127 |
int diskimage_is_a_tape(struct machine *machine, int id, int type); |
int diskimage_is_a_tape(struct machine *machine, int id, int type); |
128 |
void diskimage_dump_info(struct machine *machine); |
void diskimage_dump_info(struct machine *machine); |
141 |
#define SCSICMD_MODE_SELECT 0x15 |
#define SCSICMD_MODE_SELECT 0x15 |
142 |
#define SCSICMD_MODE_SENSE 0x1a |
#define SCSICMD_MODE_SENSE 0x1a |
143 |
#define SCSICMD_START_STOP_UNIT 0x1b |
#define SCSICMD_START_STOP_UNIT 0x1b |
144 |
|
#define SCSICMD_PREVENT_ALLOW_REMOVE 0x1e |
145 |
|
#define SCSICMD_MODE_SENSE10 0x5a |
146 |
|
|
147 |
#define SCSICMD_SYNCHRONIZE_CACHE 0x35 |
#define SCSICMD_SYNCHRONIZE_CACHE 0x35 |
148 |
|
|
152 |
/* SCSI CD-ROM commands: */ |
/* SCSI CD-ROM commands: */ |
153 |
#define SCSICDROM_READ_SUBCHANNEL 0x42 |
#define SCSICDROM_READ_SUBCHANNEL 0x42 |
154 |
#define SCSICDROM_READ_TOC 0x43 |
#define SCSICDROM_READ_TOC 0x43 |
155 |
|
#define SCSICDROM_READ_DISCINFO 0x51 |
156 |
|
#define SCSICDROM_READ_TRACKINFO 0x52 |
157 |
|
|
158 |
/* SCSI tape commands: */ |
/* SCSI tape commands: */ |
159 |
#define SCSICMD_REWIND 0x01 |
#define SCSICMD_REWIND 0x01 |