diff options
author | Freya Murphy <freya@freyacat.org> | 2025-04-04 12:12:22 -0400 |
---|---|---|
committer | Freya Murphy <freya@freyacat.org> | 2025-04-04 12:12:22 -0400 |
commit | dfc326fa4856b6dfecbb719ab711dc08bcd1a66a (patch) | |
tree | 65467baeb1ff4764c805d187938ef737f68ed64b /kernel/include/comus/fs.h | |
parent | generic file system structures (diff) | |
download | comus-dfc326fa4856b6dfecbb719ab711dc08bcd1a66a.tar.gz comus-dfc326fa4856b6dfecbb719ab711dc08bcd1a66a.tar.bz2 comus-dfc326fa4856b6dfecbb719ab711dc08bcd1a66a.zip |
adde disk read/write functions
Diffstat (limited to '')
-rw-r--r-- | kernel/include/comus/fs.h | 22 |
1 files changed, 22 insertions, 0 deletions
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, |