From dfc326fa4856b6dfecbb719ab711dc08bcd1a66a Mon Sep 17 00:00:00 2001 From: Freya Murphy Date: Fri, 4 Apr 2025 12:12:22 -0400 Subject: adde disk read/write functions --- kernel/include/comus/fs.h | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'kernel/include') diff --git a/kernel/include/comus/fs.h b/kernel/include/comus/fs.h index 51550be..5a3ffd1 100644 --- a/kernel/include/comus/fs.h +++ b/kernel/include/comus/fs.h @@ -28,6 +28,28 @@ struct disk { /// we then need drivers for ide and/or sata, ide is easier }; +/** + * read data from a disk into a buffer + * + * @param disk - the disk to read from + * @param offset - the offset into the disk to read + * @param len - the length of the data to read into `buffer` + * @param buffer - the buffer to save data into + * @returns bytes read on success, negative fs error code in failure + */ +int disk_read(struct disk *disk, size_t offset, size_t len, uint8_t *buffer); + +/** + * write data from a disk into a buffer + * + * @param disk - the disk to write from + * @param offset - the offset into the disk to write + * @param len - the length of the data to write into `buffer` + * @param buffer - the buffer to read from + * @returns bytes written on success, negative fs error code in failure + */ +int disk_write(struct disk *disk, size_t offset, size_t len, uint8_t *buffer); + enum file_type { // regular file F_REG = 0, -- cgit v1.2.3-freya