| Line 536... |
Line 536... |
| 536 |
offset = offset + count * 4096
|
536 |
offset = offset + count * 4096
|
| 537 |
sector = bbtheader[4][i]
|
537 |
sector = bbtheader[4][i]
|
| 538 |
count = 1
|
538 |
count = 1
|
| 539 |
self.ipodclassic_hddaccess(1, sector, count, tempaddr + offset)
|
539 |
self.ipodclassic_hddaccess(1, sector, count, tempaddr + offset)
|
| 540 |
|
540 |
|
| 541 |
def storage_get_info(self):
|
541 |
def storage_get_info(self, volume):
|
| 542 |
""" Get information about a storage device """
|
542 |
""" Get information about a storage device """
|
| 543 |
result = self.lib.monitorcommand(struct.pack("IIII", 27, 0, 0, 0), "IIIIIIII", ("version", None, None, "sectorsize", "numsectors", "vendorptr", "productptr", "revisionptr"))
|
543 |
result = self.lib.monitorcommand(struct.pack("IIII", 27, volume, 0, 0), "IIIIIIII", ("version", None, None, "sectorsize", "numsectors", "vendorptr", "productptr", "revisionptr"))
|
| 544 |
if result.version != 1:
|
544 |
if result.version != 1:
|
| 545 |
raise ValueError("Unknown version of storage_info struct: %d" % result.version)
|
545 |
raise ValueError("Unknown version of storage_info struct: %d" % result.version)
|
| - |
|
546 |
result.vendor = self.readstring(result.vendorptr)
|
| - |
|
547 |
result.product = self.readstring(result.productptr)
|
| - |
|
548 |
result.revision = self.readstring(result.revisionptr)
|
| 546 |
return result
|
549 |
return result
|
| 547 |
|
550 |
|
| 548 |
def storage_read_sectors_md(self, volume, sector, count, addr):
|
551 |
def storage_read_sectors_md(self, volume, sector, count, addr):
|
| 549 |
""" Read sectors from as storage device """
|
552 |
""" Read sectors from as storage device """
|
| 550 |
result = self.lib.monitorcommand(struct.pack("IIQIIII", 28, volume, sector, count, addr, 0, 0), "III", ("rc", None, None, None))
|
553 |
result = self.lib.monitorcommand(struct.pack("IIQIIII", 28, volume, sector, count, addr, 0, 0), "III", ("rc", None, None, None))
|