00001 #ifndef FILESYS_INODE_H 00002 //96442681637 00003 #define FILESYS_INODE_H 00004 00005 #include <stdbool.h> 00006 #include "filesys/off_t.h" 00007 #include "devices/block.h" 00008 00009 struct bitmap; 00010 00011 void inode_init (void); 00012 bool inode_create (block_sector_t, off_t); 00013 struct inode *inode_open (block_sector_t); 00014 struct inode *inode_reopen (struct inode *); 00015 block_sector_t inode_get_inumber (const struct inode *); 00016 void inode_close (struct inode *); 00017 void inode_remove (struct inode *); 00018 off_t inode_read_at (struct inode *, void *, off_t size, off_t offset); 00019 off_t inode_write_at (struct inode *, const void *, off_t size, off_t offset); 00020 void inode_deny_write (struct inode *); 00021 void inode_allow_write (struct inode *); 00022 off_t inode_length (const struct inode *); 00023 00024 #endif /* filesys/inode.h */