Implement a proper block layer with partition support.
[pintos-anon] / src / filesys / inode.h
index 296ffd1633a4a8257c7da8dc3fe49ae5f87eb896..cb42310fa8d77dcc438a4cd689361b1e126bacbe 100644 (file)
@@ -3,17 +3,21 @@
 
 #include <stdbool.h>
 #include "filesys/off_t.h"
-#include "devices/disk.h"
+#include "devices/block.h"
 
 struct bitmap;
 
 void inode_init (void);
-bool inode_create (struct bitmap *, disk_sector_t, off_t);
-struct inode *inode_open (disk_sector_t);
+bool inode_create (block_sector_t, off_t);
+struct inode *inode_open (block_sector_t);
+struct inode *inode_reopen (struct inode *);
+block_sector_t inode_get_inumber (const struct inode *);
 void inode_close (struct inode *);
 void inode_remove (struct inode *);
-disk_sector_t inode_byte_to_sector (const struct inode *, off_t);
+off_t inode_read_at (struct inode *, void *, off_t size, off_t offset);
+off_t inode_write_at (struct inode *, const void *, off_t size, off_t offset);
+void inode_deny_write (struct inode *);
+void inode_allow_write (struct inode *);
 off_t inode_length (const struct inode *);
-void inode_print (const struct inode *);
 
 #endif /* filesys/inode.h */