| 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) |