blob: 1eeced4d84dd5cf2ade735759be694adce45b1e2 [file] [edit]
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)