do not edit — generated by btf.
git.druid.rocksindexdruid520kaboomsrc/fs/kfs.nsh

src/fs/kfs.nsh


/*
 * kfs's public api -- every function/global another kernel file might
 * need to call or read, in one shared header instead of each caller
 * repeating its own subset of extern lines by hand. see kfs.nsc for
 * what each of these actually does.
 */
 
void kfs_read_inode(u64 n, ptr inode_buf);
void kfs_write_inode(u64 n, ptr inode_buf);
void kfs_mkfs(u64 total_blocks, u64 inode_count);
i32 kfs_mount(void);
void kfs_info(ptr buf);
i32 kfs_dir_find(ptr name, u64 name_len);
i32 kfs_dir_find_in(u64 dir_lba, ptr name, u64 name_len);
i32 kfs_dir_list(ptr names_out, i32 max);
i32 kfs_dir_list_in(u64 dir_lba, ptr names_out, i32 max);
i32 kfs_resolve(ptr path, u64 path_len);
i32 kfs_resolve_parent(ptr path, u64 path_len, ptr parent_lba_out, ptr parent_inode_out, ptr base_off_out);
i32 kfs_check_perm(i32 inode_num, u64 bit);
i32 kfs_dir_add_in(u64 dir_lba, ptr name, u64 name_len, u64 inode_num);
i32 kfs_dir_remove_in(u64 dir_lba, ptr name, u64 name_len);
i32 kfs_chmod(ptr name, u64 name_len, u64 perm);
i32 kfs_getperm(ptr name, u64 name_len);
i32 kfs_join_path(ptr out, u64 out_cap, ptr prefix, u64 prefix_len, ptr name, u64 name_len);
i64 kfs_stat(ptr path, u64 path_len);
i32 kfs_dir_list_path(ptr path, u64 path_len, ptr names_out, i32 max);
i32 kfs_create(ptr name, u64 name_len, u64 perm);
i32 kfs_save(ptr name, u64 name_len, ptr data, u64 len);
i32 kfs_write_file(i32 n, ptr data, u64 len);
u64 kfs_read_file(i32 n, ptr buf);
u64 kfs_file_size(i32 n);
i64 kfs_inode_type(i32 n);
i32 kfs_mkdir(ptr name, u64 name_len, u64 perm);
i32 kfs_cd(ptr name, u64 name_len);
u64 kfs_pwd(ptr buf);
i32 kfs_rm(ptr name, u64 name_len);
i32 kfs_rmdir(ptr name, u64 name_len);
 
global u64 kfs_magic;
global u64 kfs_total_blocks;
global u64 kfs_inode_table_lba;
global u64 kfs_inode_count;
global u64 kfs_root_dir_lba;
global u64 kfs_cwd_dir_lba;
global i32 kfs_cwd_inode;
global i8 kfs_cwd_path[256];
global u64 kfs_data_start_lba;
global u64 kfs_root_inode;
global u64 kfs_bin_dir_lba;
global u64 kfs_proc_dir_lba;
global u64 kfs_int_dir_lba;
global u64 kfs_next_free_block;
global u64 kfs_next_free_inode;
global i32 kaboom_errno;
powered by btf.