| TODO: | |
| * continue implementing next level of functions | |
| * see "Other TODO" and "iteration-related functions" below for remaining functions | |
| * consider whether lock functions should take in inode instead of sb (and return Lock type?) | |
| * vfat_rename not implemented in Cogent (linearity) | |
| * time: | |
| * main: fix up how timespec/Time are treated in C | |
| * (consider) merge or split up time-setting functions | |
| * continue adding in SysState - currently incrementally adding it in everywhere | |
| * change VfsInode, VfsDentry, Superblock into concrete Cogent types | |
| Iteration-Related Functions: | |
| * vfat_build_slots_ac: (VfsInode, U64, U32, U32, U32, Time) -> RR VfsInode (U64, U32) ErrPtr | |
| * fat_free_clusters_ac: (VfsInode, U32) -> VfsInode | |
| * fat_iget_ac: (Superblock, U64) -> RR Superblock () ErrPtr | |
| * uses hlist\_for\_... macro | |
| * deep_fat_remove_entries_ac: (VfsInode, U64, U32) -> R VfsInode VfsInode | |
| * written up, but messed up somehow - debug later - see bottom of super.cogent file | |
| * this function and the ones below use fat_get_entry, which may be the problem | |
| * fat_add_entries_ac: (VfsInode, U64, U32) -> RR VfsInode SlotInfo ErrPtr | |
| * fat_search_long_ac: (VfsInode, U64, U32) -> RR VfsInode SlotInfo ErrPtr | |
| * fat_dir_empty_ac: VfsInode -> R () ErrPtr | |
| Other TODO: | |
| * fat_alloc_new_dir_ac: (VfsInode, Time) -> RR VfsInode U32 ErrPtr | |
| * begun - see bottom of super.cogent. | |
| * deep_fat_write_inode_ac: (VfsInode, U32) -> VfsInode | |
| * delete_first_ac: U64 -> U64 | |
| * fat_fill_inode_ac: (VfsInode, U64) -> R VfsInode (VfsInode, ErrPtr) |