+ #endif\r
+ \r
+ i = DrvUtil_ReadBlock(Offset, Length, Buffer, FDD_ReadSectors, 512, disk);\r
+ LEAVE('i', i);\r
+ return i;\r
+}\r
+\r
+/**\r
+ * \fn Uint FDD_ReadSectors(Uint64 SectorAddr, Uint Count, void *Buffer, Uint32 Disk)\r
+ * \brief Reads \a Count contiguous sectors from a disk\r
+ * \param SectorAddr Address of the first sector\r
+ * \param Count Number of sectors to read\r
+ * \param Buffer Destination Buffer\r
+ * \param Disk Disk Number\r
+ * \return Number of sectors read\r
+ * \note Used as a ::DrvUtil_ReadBlock helper\r
+ */\r
+Uint FDD_ReadSectors(Uint64 SectorAddr, Uint Count, void *Buffer, Uint Disk)\r
+{\r
+ Uint ret = 0;\r
+ while(Count --)\r
+ {\r
+ if( FDD_ReadSector(Disk, SectorAddr, Buffer) != 1 )\r
+ return ret;\r
+ \r
+ Buffer = (void*)( (tVAddr)Buffer + 512 );\r
+ SectorAddr ++;\r
+ ret ++;\r
+ }\r
+ return ret;\r