MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / scsi_read_cd_data

Function scsi_read_cd_data

src/blkdev.cpp:1409–1430  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1407}
1408
1409static int scsi_read_cd_data (int unitnum, uae_u8 *scsi_data, uae_u32 offset, uae_u32 len, struct device_info *di, int *scsi_len, struct cd_toc *t)
1410{
1411 struct blkdevstate *st = &state[unitnum];
1412 int end = t[1].paddress;
1413
1414 if (len == 0) {
1415 if (offset >= end)
1416 return -1;
1417 *scsi_len = 0;
1418 return 0;
1419 } else {
1420 if (offset >= end)
1421 return -1;
1422 int v = cmd_readx (unitnum, scsi_data, offset, len) * di->bytespersector;
1423 if (v > 0) {
1424 st->current_pos = offset + len;
1425 *scsi_len = v;
1426 return 0;
1427 }
1428 return -2;
1429 }
1430}
1431
1432int scsi_cd_emulate (int unitnum, uae_u8 *cmdbuf, int scsi_cmd_len,
1433 uae_u8 *scsi_data, int *data_len, uae_u8 *r, int *reply_len, uae_u8 *s, int *sense_len, bool atapi)

Callers 1

scsi_cd_emulateFunction · 0.85

Calls 1

cmd_readxFunction · 0.70

Tested by

no test coverage detected