git://scm.lunaixsky.com
/
lunaix-os.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Code-base clean-up and refactoring (#47)
[lunaix-os.git]
/
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 34d3b47fcf7cfffa091e4791dc53dc9b5a29a9c3..e00013c247301a437c70ca107d24ce93e7395705 100644
(file)
--- a/
lunaix-os/kernel/fs/iso9660/file.c
+++ b/
lunaix-os/kernel/fs/iso9660/file.c
@@
-1,9
+1,10
@@
#include <lunaix/fs.h>
#include <lunaix/fs.h>
-#include
<lunaix/fs/iso9660.h>
+#include
"iso9660.h"
#include <lunaix/mm/valloc.h>
#include <lunaix/spike.h>
#include <klibc/string.h>
#include <lunaix/mm/valloc.h>
#include <lunaix/spike.h>
#include <klibc/string.h>
+#include <asm/pagetable.h>
int
iso9660_open(struct v_inode* this, struct v_file* file)
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++) {
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) {
bdev, rd_buffer, true_offset * ISO9660_BLKSZ, ISO9660_BLKSZ);
if (errno < 0) {
@@
-79,6
+80,12
@@
done:
return errno;
}
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)
{
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
}
int
-iso9660_
seek(struct v_inode* inode, size_t offset
)
+iso9660_
write_page(struct v_inode* inode, void* buffer, size_t fpos
)
{
// TODO
{
// 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
return 0;
}
\ No newline at end of file