Subversion Repositories freemyipod

Rev

Rev 346 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 346 Rev 379
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))