Revision 4d611c9a vl.h
b/vl.h | ||
---|---|---|
1146 | 1146 |
void usb_info(void); |
1147 | 1147 |
|
1148 | 1148 |
/* scsi-disk.c */ |
1149 |
enum scsi_reason { |
|
1150 |
SCSI_REASON_DONE, /* Command complete. */ |
|
1151 |
SCSI_REASON_DATA /* Transfer complete, more data required. */ |
|
1152 |
}; |
|
1153 |
|
|
1149 | 1154 |
typedef struct SCSIDevice SCSIDevice; |
1150 | 1155 |
typedef void (*scsi_completionfn)(void *, uint32_t, int); |
1151 | 1156 |
|
... | ... | |
1155 | 1160 |
void scsi_disk_destroy(SCSIDevice *s); |
1156 | 1161 |
|
1157 | 1162 |
int32_t scsi_send_command(SCSIDevice *s, uint32_t tag, uint8_t *buf, int lun); |
1163 |
/* SCSI data transfers are asynchrnonous. However, unlike the block IO |
|
1164 |
layer the completion routine may be called directly by |
|
1165 |
scsi_{read,write}_data. */ |
|
1158 | 1166 |
int scsi_read_data(SCSIDevice *s, uint8_t *data, uint32_t len); |
1159 | 1167 |
int scsi_write_data(SCSIDevice *s, uint8_t *data, uint32_t len); |
1168 |
void scsi_cancel_io(SCSIDevice *s); |
|
1160 | 1169 |
|
1161 | 1170 |
/* lsi53c895a.c */ |
1162 | 1171 |
void lsi_scsi_attach(void *opaque, BlockDriverState *bd, int id); |
Also available in: Unified diff