MCPcopy Create free account
hub / github.com/Simple-XX/SimpleKernel / disk_read

Function disk_read

src/filesystem/fatfs/diskio.cpp:60–73  ·  view source on GitHub ↗

* @brief 从磁盘读取扇区。 * * @param pdrv 物理驱动器编号。 * @param buff 目标缓冲区指针。 * @param sector 起始逻辑块地址。 * @param count 要读取的扇区数。 * @return DRESULT 操作结果;RES_OK 表示成功。 */

Source from the content-addressed store, hash-verified

58 * @return DRESULT 操作结果;RES_OK 表示成功。
59 */
60auto disk_read(BYTE pdrv, BYTE* buff, LBA_t sector, UINT count) -> DRESULT {
61 auto* dev = fatfs::FatFsFileSystem::GetBlockDevice(pdrv);
62 if (dev == nullptr) {
63 return RES_NOTRDY;
64 }
65 auto result = dev->ReadSectors(sector, static_cast<uint32_t>(count), buff);
66 if (!result) {
67 klog::Err("disk_read: pdrv={} sector={} count={} failed",
68 static_cast<unsigned>(pdrv), static_cast<uint64_t>(sector),
69 static_cast<unsigned>(count));
70 return RES_ERROR;
71 }
72 return RES_OK;
73}
74
75/**
76 * @brief 向磁盘写入扇区。

Callers

nothing calls this directly

Calls 2

ErrFunction · 0.85
ReadSectorsMethod · 0.80

Tested by

no test coverage detected