X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/8ce769cc52e91ff3cdb8eda4b1f5d8fe58241688..34f6af4f61e0eec9c96113e07f140b609b4113c8:/lunaix-os/kernel/fs/iso9660/file.c diff --git a/lunaix-os/kernel/fs/iso9660/file.c b/lunaix-os/kernel/fs/iso9660/file.c index 34d3b47..e00013c 100644 --- a/lunaix-os/kernel/fs/iso9660/file.c +++ b/lunaix-os/kernel/fs/iso9660/file.c @@ -1,9 +1,10 @@ #include -#include +#include "iso9660.h" #include #include #include +#include int iso9660_open(struct v_inode* this, struct v_file* file) @@ -54,7 +55,7 @@ iso9660_read(struct v_inode* inode, void* buffer, size_t len, size_t fpos) int errno = 0; while (fu_to_read) { for (; sec < isoino->fu_size && i < len; sec++) { - errno = bdev->read( + errno = bdev->ops.read( bdev, rd_buffer, true_offset * ISO9660_BLKSZ, ISO9660_BLKSZ); if (errno < 0) { @@ -79,6 +80,12 @@ done: return errno; } +int +iso9660_read_page(struct v_inode* inode, void* buffer, size_t fpos) +{ + return iso9660_read(inode, buffer, PAGE_SIZE, fpos); +} + int iso9660_write(struct v_inode* inode, void* buffer, size_t len, size_t fpos) { @@ -87,8 +94,15 @@ iso9660_write(struct v_inode* inode, void* buffer, size_t len, size_t fpos) } int -iso9660_seek(struct v_inode* inode, size_t offset) +iso9660_write_page(struct v_inode* inode, void* buffer, size_t fpos) { // TODO + return ENOTSUP; +} + +int +iso9660_seek(struct v_file* file, size_t offset) +{ + file->f_pos = offset; return 0; } \ No newline at end of file