Skip to content

Agent KB_fs

grisun0 edited this page Oct 23, 2026 · 11 revisions

Subsystem: fs

fs/ext4.c

  • Doc: ext_geo_t: Filesystem geometry from the superblock.
  • Layer: utility
  • Language: c
  • Symbols:
    • ext_geo_t (struct, line 44)
    • ext_ino_t (struct, line 115)
    • ext_ld16 (function, line 32) static unsigned ext_ld16(const unsigned char *p)
    • ext_ld32 (function, line 36) static unsigned long ext_ld32(const unsigned char *p)
    • ext_parse_sb (function, line 55) static int ext_parse_sb(const fsimg_t *img, ext_geo_t *g)
    • ext_inode_off (function, line 92) static int ext_inode_off(const fsimg_t *img, const ext_geo_t *g, unsigne...
    • ext_read_inode (function, line 122) static int ext_read_inode(const fsimg_t *img, const ext_geo_t *g, unsig...
    • ext_map (function, line 171) static int ext_map(const fsimg_t *img, const ext_geo_t *g, const unsigned char...
    • ext_map_leaf (function, line 211) static int ext_map_leaf(const fsimg_t *img, const ext_geo_t *g, const uns...
    • ext_resolve (function, line 356) static int ext_resolve(const fsimg_t *img, const ext_geo_t *g, const char ...
    • ext_file_block (function, line 464) static int ext_file_block(const fsimg_t *img, const ext_geo_t *g, const...
    • ext4_list (function, line 485) int ext4_list(const char *imgpath, const char *dirpath, char names[][EXT4_NAME_MAX ...
    • ext_split (function, line 580) static int ext_split(const char *path, char *img, char *extp)
    • ext4_vfs_open (function, line 585) int ext4_vfs_open(const char *path, int mode, void **handle)
    • ext4_vfs_read (function, line 626) int ext4_vfs_read(void *handle, void *buf, unsigned long pos, unsigned long len)
    • ext4_vfs_write (function, line 666) int ext4_vfs_write(void *handle, const void *buf, unsigned long pos, unsigned ...
    • ext4_vfs_close (function, line 675) int ext4_vfs_close(void *handle)
    • ext4_vfs_fstat (function, line 680) int ext4_vfs_fstat(void *handle, unsigned long *size_out)
    • ext4_vfs_truncate (function, line 687) int ext4_vfs_truncate(void *handle, unsigned long size)
    • ext4_vfs_readdir (function, line 696) static int ext4_vfs_readdir(const char *path, vfs_dirent_t *ents, int cap)
    • ext_mbr_entry (function, line 745) static int ext_mbr_entry(const unsigned char *mbr, int idx, unsigned lon...
    • ext_scan_dev (function, line 770) static int ext_scan_dev(unsigned long total_sec, unsigned long *base_out)
    • ext_dev_base (function, line 791) long ext_dev_base(void)
    • ext_map_down (function, line 168) static int ext_map_down(const fsimg_t *img, const ext_geo_t *g, const unsigned char *root, unsigned nent, unsigned...
    • only (function, line 352) * listings only ('.' skipped, '..' refused). "" or "/" is root (2). */ static int ext_file_block(const fsimg_t *img...
    • EXT4_SUPER_OFF (macro, line 18) #define EXT4_SUPER_OFF
    • EXT4_MAGIC (macro, line 19) #define EXT4_MAGIC
    • EXT4_EXT_MAGIC (macro, line 20) #define EXT4_EXT_MAGIC
    • EXT4_S_IFMT (macro, line 21) #define EXT4_S_IFMT
    • EXT4_S_IFREG (macro, line 22) #define EXT4_S_IFREG
    • EXT4_S_IFDIR (macro, line 23) #define EXT4_S_IFDIR
    • EXT4_S_IFLNK (macro, line 24) #define EXT4_S_IFLNK
    • EXT4_EXTENTS_FL (macro, line 25) #define EXT4_EXTENTS_FL
    • EXT4_INDEX_FL (macro, line 26) #define EXT4_INDEX_FL
    • EXT4_ENCRYPT_FL (macro, line 27) #define EXT4_ENCRYPT_FL
    • EXT4_INLINE_FL (macro, line 28) #define EXT4_INLINE_FL
    • EXT4_EXT_UNINIT (macro, line 29) #define EXT4_EXT_UNINIT
    • EXT4_MBR_LINUX (macro, line 30) #define EXT4_MBR_LINUX
  • Depends on: headers/block.h, headers/ext4.h, headers/fsimg.h, headers/minifs.h
  • Imported by: tests/test_ext4.c

fs/fat32.c

  • Doc: fat_geo_t: Parsed BPB plus derived geometry. secs = total data clusters + 2 (cluster numbers 0/1...
  • Layer: utility
  • Language: c
  • Symbols:
    • fat_geo_t (struct, line 51)
    • fat_ld16 (function, line 18) static unsigned fat_ld16(const unsigned char *p)
    • fat_ld32 (function, line 22) static unsigned fat_ld32(const unsigned char *p)
    • fat_img_open (function, line 29) static int fat_img_open(const char *resolved, fsimg_t *img)
    • fat_parse_bpb (function, line 62) static int fat_parse_bpb(const fsimg_t *img, fat_geo_t *g)
    • fat_mbr_is_fat (function, line 120) static int fat_mbr_is_fat(unsigned char t)
    • fat_dev_base (function, line 192) long fat_dev_base(void)
    • fat_clus_ok (function, line 224) static int fat_clus_ok(const fat_geo_t *g, unsigned c)
    • fat_entry (function, line 231) static int fat_entry(const fsimg_t *img, const fat_geo_t *g, unsigned clus, ...
    • fat_eoc (function, line 248) static int fat_eoc(unsigned v)
    • fat_badch (function, line 262) static int fat_badch(char c)
    • fat_qword (function, line 274) static int fat_qword(const char *q, unsigned qlen, char name8[8], char ext3[3])
    • fat_match (function, line 305) static int fat_match(const unsigned char *de, const char name8[8], const cha...
    • fat_resolve (function, line 321) static int fat_resolve(const fsimg_t *img, const fat_geo_t *g, const char ...
    • fat32_list (function, line 421) int fat32_list(const char *imgpath, const char *dirpath, char names[][FAT32_NAME_M...
    • fat32_vfs_open (function, line 496) int fat32_vfs_open(const char *path, int mode, void **handle)
    • fat_views (function, line 537) static void fat_views(const fat32_handle_t *h, fsimg_t *img, fat_geo_t *g)
    • fat_seek (function, line 556) static int fat_seek(const fat32_handle_t *h, unsigned long pos, unsigned *clu...
    • fat32_vfs_read (function, line 581) int fat32_vfs_read(void *handle, void *buf, unsigned long pos, unsigned long len)
    • fat32_vfs_write (function, line 621) int fat32_vfs_write(void *handle, const void *buf, unsigned long pos, unsigne...
    • fat32_vfs_close (function, line 630) int fat32_vfs_close(void *handle)
    • fat32_vfs_fstat (function, line 635) int fat32_vfs_fstat(void *handle, unsigned long *size_out)
    • fat32_vfs_truncate (function, line 642) int fat32_vfs_truncate(void *handle, unsigned long size)
    • FAT_MBR_SIG_OFF (macro, line 111) #define FAT_MBR_SIG_OFF
    • FAT_MBR_TAB_OFF (macro, line 112) #define FAT_MBR_TAB_OFF
    • FAT_MBR_ENTRY_SZ (macro, line 113) #define FAT_MBR_ENTRY_SZ
    • FAT_MBR_NENTRY (macro, line 114) #define FAT_MBR_NENTRY
    • FAT_MBR_TYPE_OFF (macro, line 115) #define FAT_MBR_TYPE_OFF
    • FAT_MBR_START_OFF (macro, line 116) #define FAT_MBR_START_OFF
    • FAT_MBR_COUNT_OFF (macro, line 117) #define FAT_MBR_COUNT_OFF
    • FAT_MBR_GPT_PROT (macro, line 118) #define FAT_MBR_GPT_PROT
  • Depends on: headers/block.h, headers/fat32.h, headers/fsimg.h, headers/minifs.h
  • Imported by: tests/test_fat32.c

fs/fsimg.c

  • Doc: fsimg_dev_read: Docstring: Sector reads off the active backend through the block layer, so a...
  • Layer: utility
  • Language: c
  • Symbols:
    • fsimg_open_file (function, line 15) int fsimg_open_file(const char *resolved, fsimg_t *img)
    • fsimg_open_dev (function, line 51) int fsimg_open_dev(unsigned long base_lba, unsigned long nsec, fsimg_t *img)
    • fsimg_dev_read (function, line 72) static int fsimg_dev_read(const fsimg_t *img, unsigned long off, void *...
    • fsimg_read (function, line 96) int fsimg_read(const fsimg_t *img, unsigned long off, void *buf, unsigned long len)
    • fsimg_split (function, line 112) int fsimg_split(const char *path, char *left, unsigned llen, char *right, unsigne...
  • Depends on: headers/block.h, headers/fsimg.h, headers/minifs.h
  • Imported by: tests/test_ext4.c, tests/test_fat32.c

fs/kfile.c

  • Doc: kpipe_pair: Docstring: Create a connected pipe pair sharing one ring.
  • Layer: utility
  • Language: c
  • Symbols:
    • kfile_stdin (function, line 15) KFILE *kfile_stdin(void)
    • kfile_stdout (function, line 16) KFILE *kfile_stdout(void)
    • kfile_stderr (function, line 17) KFILE *kfile_stderr(void)
    • recovery (function, line 28) `* halts the machine with no recovery (the DOOM ABI-drift black screen),
  • so every public KFILE ...`
  • kfile_corrupt (function, line 33) static int kfile_corrupt(const KFILE *f)
  • fs_take (function, line 66) static inline void fs_take(irqflags_t *flags)
  • fs_drop (function, line 70) static inline void fs_drop(irqflags_t flags)
  • kpipe_pair (function, line 78) int kpipe_pair(KFILE **rend_out, KFILE **wend_out)
  • kpipe_state (function, line 130) int kpipe_state(KFILE *f, unsigned *avail, unsigned *space, int *wopen, int *ropen)
  • kevent_create (function, line 148) KFILE *kevent_create(unsigned long long initval, int semaphore)
  • kevent_read (function, line 163) long kevent_read(KFILE *f, unsigned long long *out)
  • kevent_readable (function, line 199) int kevent_readable(KFILE *f)
  • kevent_writable (function, line 204) int kevent_writable(KFILE *f)
  • kpipe_is_write_end (function, line 209) int kpipe_is_write_end(KFILE *f)
  • kpipe_grow (function, line 216) static int kpipe_grow(pipe_ring_t *ring)
  • kfopen_dir (function, line 243) KFILE *kfopen_dir(const char *resolved)
  • kfopen (function, line 264) KFILE *kfopen(const char *path, const char *mode)
  • fs_rename_on_minifs (function, line 361) static int fs_rename_on_minifs(const char *dst)
  • directory (function, line 379) `* empty directory by a directory (-20/-21 for a kind mismatch, -39 for a
  • non-empty directory)....`
  • kfclose (function, line 432) int kfclose(KFILE *f)
  • kfgetc (function, line 477) int kfgetc(KFILE *f)
  • kfgets (function, line 518) char *kfgets(char *buf, int size, KFILE *f)
  • kfungetc (function, line 532) int kfungetc(int c, KFILE *f)
  • kfread (function, line 539) unsigned long kfread(void *ptr, unsigned long size, unsigned long n, KFILE *f)
  • kfwrite (function, line 585) unsigned long kfwrite(const void *ptr, unsigned long size, unsigned long n, KFILE *f)
  • kfseek (function, line 651) int kfseek(KFILE *f, long offset, int whence)
  • kftell (function, line 672) long kftell(KFILE *f)
  • kfflush (function, line 676) int kfflush(KFILE *f)
  • kfputs (function, line 702) int kfputs(const char *s, KFILE *f)
  • kfputc (function, line 708) int kfputc(int c, KFILE *f)
  • krewind (function, line 713) void krewind(KFILE *f)
  • Depends on: headers/minifs.h

fs/minifs.c

  • Doc: MiniFS: minimal Unix-like filesystem for MiniOS.
  • Layer: utility
  • Language: c
  • Symbols:
    • minifs_compress (function, line 35) unsigned int minifs_compress(const void *src, unsigned int src_len, ...
    • minifs_decompress (function, line 46) unsigned int minifs_decompress(const void *src, unsigned int src_len, ...
    • minifs_crc16 (function, line 57) static unsigned short minifs_crc16(const void *data, unsigned int len)
    • minifs_crc32 (function, line 69) static unsigned int minifs_crc32(const void *data, unsigned int len)
    • roundup4 (function, line 81) static unsigned int roundup4(unsigned int v)
    • div_round_up (function, line 83) static unsigned int div_round_up(unsigned int n, unsigned int d)
    • returns (function, line 92) `* overflowed the slot and smashed returns (measured ring-0 #UD on
  • lua->lua->cp). Every scratch...`
  • blk_free (function, line 100) static void blk_free(unsigned char *b)
  • fs_write_super (function, line 107) static int fs_write_super(void)
  • instead (function, line 127) `* kernel stored the same crc at offset 76 instead (byte order the old
  • write path used), so a r...`
  • fs_inode_check (function, line 142) static int fs_inode_check(const MiniFSInode *in)
  • fs_read_inode (function, line 167) static int fs_read_inode(unsigned int num, MiniFSInode *out)
  • fs_write_inode (function, line 179) static int fs_write_inode(unsigned int num, const MiniFSInode *in)
  • bm_test (function, line 201) static int bm_test(unsigned char *bm, unsigned int bit)
  • bm_set (function, line 205) static void bm_set(unsigned char *bm, unsigned int bit)
  • bm_clear (function, line 209) static void bm_clear(unsigned char *bm, unsigned int bit)
  • minifs_alloc_block (function, line 215) int minifs_alloc_block(void)
  • minifs_free_block (function, line 232) void minifs_free_block(unsigned int block)
  • minifs_alloc_inode (function, line 240) int minifs_alloc_inode(void)
  • minifs_free_inode (function, line 252) void minifs_free_inode(int num)
  • minifs_inode_get_block (function, line 260) int minifs_inode_get_block(MiniFSInode *inode, unsigned int logblk, un...
  • fs_inode_set_block (function, line 289) static int fs_inode_set_block(MiniFSInode *inode, unsigned int logblk, ...
  • minifs_inode_alloc_block (function, line 343) int minifs_inode_alloc_block(MiniFSInode *inode, unsigned int logblk)
  • fs_inode_free_all_blocks (function, line 364) static void fs_inode_free_all_blocks(MiniFSInode *inode)
  • journal_load_super (function, line 446) static void journal_load_super(void)
  • journal_save_super (function, line 464) static void journal_save_super(unsigned int state)
  • journal_save_entries (function, line 478) static void journal_save_entries(void)
  • minifs_journal_begin (function, line 495) void minifs_journal_begin(unsigned int txn_id)
  • minifs_journal_add_block (function, line 504) void minifs_journal_add_block(unsigned int block)
  • minifs_journal_commit (function, line 511) int minifs_journal_commit(unsigned int txn_id)
  • minifs_journal_clear (function, line 521) void minifs_journal_clear(void)
  • minifs_journal_abort (function, line 531) void minifs_journal_abort(void)
  • first (function, line 556) * keep the first (oldest) snapshot. */ void minifs_journal_touch(unsigned int phys)
  • minifs_journal_recover (function, line 597) void minifs_journal_recover(void)
  • fs_namecmp (function, line 683) static int fs_namecmp(const char *a, unsigned char alen, const char *b)
  • minifs_dir_lookup (function, line 692) int minifs_dir_lookup(int dir_ino, const char *name)
  • minifs_dir_add_entry (function, line 722) int minifs_dir_add_entry(int dir_ino, const char *name, int child_ino, ...
  • minifs_dir_remove_entry (function, line 860) int minifs_dir_remove_entry(int dir_ino, const char *name)
  • minifs_dir_read (function, line 891) int minifs_dir_read(int dir_ino, int index, MiniFSDirEntry *out, char *name_out)
  • minifs_resolve_path (function, line 941) int minifs_resolve_path(const char *path)
  • minifs_create (function, line 974) int minifs_create(const char *path, unsigned short mode)
  • minifs_mkdir (function, line 1027) int minifs_mkdir(const char *path, unsigned short mode)
  • minifs_unlink (function, line 1076) int minifs_unlink(const char *path)
  • minifs_split_parent (function, line 1119) static int minifs_split_parent(const char *path, char *parent_out, ...
  • minifs_dir_is_empty (function, line 1148) static int minifs_dir_is_empty(int dir_ino)
  • minifs_rename (function, line 1175) int minifs_rename(const char *oldpath, const char *newpath)
  • minifs_rmdir (function, line 1225) int minifs_rmdir(const char *path)
  • minifs_read (function, line 1266) int minifs_read(int inode_num, void *buf, unsigned int offset, unsigned int len)
  • minifs_write (function, line 1337) int minifs_write(int inode_num, const void *buf, unsigned int offset, unsigned i...
  • minifs_truncate (function, line 1424) int minifs_truncate(int inode_num, unsigned int new_size)
  • minifs_stat (function, line 1441) int minifs_stat(int inode_num, MiniFSInode *out)
  • minifs_access (function, line 1445) int minifs_access(const char *path)
  • minifs_init (function, line 1451) void minifs_init(void)
  • minifs_get_lba_start (function, line 1459) unsigned int minifs_get_lba_start(void)
  • minifs_is_mounted (function, line 1460) int minifs_is_mounted(void)
  • minifs_mount (function, line 1468) int minifs_mount(void)
  • minifs_sync (function, line 1618) int minifs_sync(void)
  • minifs_file_open (function, line 1633) MiniFSFile *minifs_file_open(int inode_num, int flags)
  • minifs_file_close (function, line 1647) int minifs_file_close(MiniFSFile *f)
  • minifs_get_total_blocks (function, line 1654) unsigned int minifs_get_total_blocks(void)
  • minifs_usage (function, line 1659) void minifs_usage(unsigned int *free_b, unsigned int *total_b, unsigned int *fr...
  • minifs_journal_touch (function, line 16) void minifs_journal_touch(unsigned int phys);
  • blk_new (function, line 22) static unsigned char *blk_new(void);
  • blocks (function, line 555) * blocks (self-protection);
  • DE_NAME (macro, line 13) #define DE_NAME(de)
  • DE_NAME_W (macro, line 14) #define DE_NAME_W(de)
  • MINIFS_INODE_CRC_OFF (macro, line 130) #define MINIFS_INODE_CRC_OFF
  • Depends on: headers/block.h, headers/ide.h, headers/lz4_kernel.h, headers/minifs.h, headers/pcache.h

fs/pcache.c

  • Doc: Docstring: fs/pcache.c -- page cache store for MiniFS (T5 slice 1).
  • Layer: utility
  • Language: c
  • Symbols:
    • pcache_slot_t (struct, line 17)
    • pcache_init (function, line 42) void pcache_init(void)
    • pcache_lookup (function, line 54) int pcache_lookup(int ino, unsigned index)
    • pcache_get (function, line 71) int pcache_get(int ino, unsigned index, int *is_new)
    • pcache_publish (function, line 128) int pcache_publish(int ino, unsigned index, const unsigned char *data)
    • pcache_put (function, line 179) void pcache_put(int slot)
    • pcache_ref (function, line 192) int pcache_ref(int ino, unsigned index)
    • pcache_unmap (function, line 216) void pcache_unmap(int ino, unsigned index)
    • pcache_slot_phys (function, line 222) static unsigned long pcache_slot_phys(int slot)
    • match (function, line 230) `* a phys match (owned, ref dropped unless already zero), 0
  • otherwise. */ int pcache_put_if(int...`
  • pcache_ref_if (function, line 255) int pcache_ref_if(int ino, unsigned index, unsigned long phys)
  • pcache_owns_phys (function, line 277) int pcache_owns_phys(unsigned long phys)
  • pcache_data (function, line 285) unsigned char *pcache_data(int slot)
  • pcache_mark_dirty (function, line 291) void pcache_mark_dirty(int slot)
  • pcache_invalidate_ino (function, line 299) void pcache_invalidate_ino(int ino)
  • pcache_stats (function, line 314) void pcache_stats(unsigned long *pages_out, unsigned long *hits_out, unsigned long *miss_...
  • Depends on: headers/pcache.h
  • Imported by: tests/test_pcache.c

fs/ramdisk.c

  • Doc: ramdisk_usage: int ramdisk_list(RDFile **out, int max) { if (!rd) return 0; int n =...
  • Layer: utility
  • Language: c
  • Symbols:
    • RDSuper (struct, line 26)
    • ramdisk_reserve (function, line 37) static int ramdisk_reserve(unsigned long want)
    • ramdisk_setup_from (function, line 55) void ramdisk_setup_from(void *data, unsigned size)
    • ramdisk_init (function, line 128) void ramdisk_init(void)
    • ramdisk_open (function, line 145) RDFile *ramdisk_open(const char *name)
    • ramdisk_read (function, line 155) int ramdisk_read(RDFile *f, void *buf, unsigned offset, unsigned len)
    • ramdisk_write (function, line 163) int ramdisk_write(RDFile *f, const void *buf, unsigned offset, unsigned len)
    • ramdisk_create (function, line 171) RDFile *ramdisk_create(const char *name, unsigned size)
    • ramdisk_resize (function, line 185) int ramdisk_resize(RDFile *f, unsigned newsize)
    • ramdisk_list (function, line 222) int ramdisk_list(RDFile **out, int max)
    • ramdisk_count (function, line 230) int ramdisk_count(void)
    • ramdisk_usage (function, line 236) void ramdisk_usage(unsigned *used, unsigned *cap, unsigned *max)
    • ramdisk_file_name (function, line 242) const char *ramdisk_file_name(int idx)
    • ramdisk_delete (function, line 247) int ramdisk_delete(RDFile *f)
    • ramdisk_rename (function, line 269) int ramdisk_rename(const char *oldname, const char *newname)
    • RD_MAGIC (macro, line 15) #define RD_MAGIC
    • RD_HEADER_SIZE (macro, line 16) #define RD_HEADER_SIZE
    • RD_ENTRY_SIZE (macro, line 17) #define RD_ENTRY_SIZE
    • RD_DATA_MIN (macro, line 18) #define RD_DATA_MIN
    • RD_DATA_SPARE (macro, line 19) #define RD_DATA_SPARE
    • RD_ENTRY_RAW_OFF (macro, line 20) #define RD_ENTRY_RAW_OFF
    • RD_ENTRY_STO_OFF (macro, line 21) #define RD_ENTRY_STO_OFF
    • RD_ENTRY_OFF_OFF (macro, line 22) #define RD_ENTRY_OFF_OFF
    • RD_ENTRY_FLG_OFF (macro, line 23) #define RD_ENTRY_FLG_OFF
    • RD_FLAG_DEFLATE (macro, line 24) #define RD_FLAG_DEFLATE

fs/vfs.c

  • Doc: ramdisk_vfs_readdir: Docstring: List ramdisk leaves under dir ("" or "/" is root).
  • Layer: utility
  • Language: c
  • Symbols:
    • vfs_mount_t (struct, line 10)
    • ramdisk_handle_t (struct, line 196)
    • minifs_handle_t (struct, line 346)
    • mem_file_t (struct, line 461)
    • vfs_init (function, line 22) void vfs_init(void)
    • vfs_register (function, line 27) int vfs_register(const char *prefix, const vfs_ops_t *ops, const char *driver)
    • vfs_unregister (function, line 62) int vfs_unregister(const char *prefix)
    • vfs_open (function, line 106) int vfs_open(const char *path, int mode, vfs_file_t *f)
    • taken (function, line 160) `* refcount is taken (ops tables are static, never freed), so a
  • listing can never pin an unmoun...`
  • ramdisk_vfs_open (function, line 212) static int ramdisk_vfs_open(const char *path, int mode, void **handle)
  • ramdisk_vfs_read (function, line 238) static int ramdisk_vfs_read(void *handle, void *buf, unsigned long pos, unsigned long len)
  • ramdisk_vfs_write (function, line 247) static int ramdisk_vfs_write(void *handle, const void *buf, unsigned long pos, unsigned long len)
  • ramdisk_vfs_close (function, line 255) static int ramdisk_vfs_close(void *handle)
  • ramdisk_vfs_fstat (function, line 261) static int ramdisk_vfs_fstat(void *handle, unsigned long *size_out)
  • ramdisk_vfs_truncate (function, line 268) static int ramdisk_vfs_truncate(void *handle, unsigned long size)
  • ramdisk_vfs_readdir (function, line 278) static int ramdisk_vfs_readdir(const char *path, vfs_dirent_t *ents, int cap)
  • minifs_vfs_open (function, line 351) static int minifs_vfs_open(const char *path, int mode, void **handle)
  • minifs_vfs_read (function, line 379) static int minifs_vfs_read(void *handle, void *buf, unsigned long pos, unsigned long len)
  • minifs_vfs_write (function, line 388) static int minifs_vfs_write(void *handle, const void *buf, unsigned long pos, unsigned long len)
  • minifs_vfs_close (function, line 396) static int minifs_vfs_close(void *handle)
  • minifs_vfs_fstat (function, line 402) static int minifs_vfs_fstat(void *handle, unsigned long *size_out)
  • minifs_vfs_truncate (function, line 409) static int minifs_vfs_truncate(void *handle, unsigned long size)
  • mem_lookup (function, line 470) static int mem_lookup(const char *path)
  • mem_open (function, line 478) static int mem_open(const char *path, int mode, void **handle)
  • mem_slot (function, line 498) static int mem_slot(void *handle)
  • mem_read (function, line 505) static int mem_read(void *handle, void *buf, unsigned long pos, unsigned long len)
  • mem_write (function, line 515) static int mem_write(void *handle, const void *buf, unsigned long pos, unsigned long len)
  • mem_close (function, line 526) static int mem_close(void *handle)
  • mem_fstat (function, line 530) static int mem_fstat(void *handle, unsigned long *size_out)
  • mem_truncate (function, line 537) static int mem_truncate(void *handle, unsigned long size)
  • mem_readdir (function, line 548) static int mem_readdir(const char *path, vfs_dirent_t *ents, int cap)
  • fs_resolve (function, line 580) int fs_resolve(const char *path, char *out, unsigned cap)
  • fs_dir_exists (function, line 613) int fs_dir_exists(const char *dir)
  • fs_is_dir (function, line 638) int fs_is_dir(const char *resolved)
  • minifs_mkdir_p (function, line 651) int minifs_mkdir_p(const char *resolved)
  • vfs_register_builtins (function, line 674) void vfs_register_builtins(void)
  • open (function, line 688) `* open (loopback image file plus in-image path), so one registration
  • serves every image. */ in...`
  • vfs_read (function, line 709) int vfs_read(vfs_file_t *f, void *buf, unsigned long len)
  • vfs_write (function, line 718) int vfs_write(vfs_file_t *f, const void *buf, unsigned long len)
  • vfs_close (function, line 734) int vfs_close(vfs_file_t *f)
  • vfs_fstat (function, line 752) int vfs_fstat(vfs_file_t *f, unsigned long *size_out)
  • MEM_FILES (macro, line 457) #define MEM_FILES
  • MEM_FNAME (macro, line 458) #define MEM_FNAME
  • MEM_FSIZE (macro, line 459) #define MEM_FSIZE
  • Depends on: headers/ext4.h, headers/fat32.h, headers/minifs.h

fs/zip.c

  • Doc: — the unzip/zip shell builtins over the miniz zip library.
  • Layer: utility
  • Language: c
  • Symbols:
    • zip_read_whole (function, line 25) static unsigned char *zip_read_whole(const char *path, unsigned long *size)
    • marker (function, line 50) * marker (trailing '/') is preserved by the caller, not here. */ static int zip_sanitize_name(con...
    • zip_build_path (function, line 79) static int zip_build_path(const char *destdir, const char *name, char *out)
    • zip_ensure_dir_tree (function, line 95) static int zip_ensure_dir_tree(const char *dir)
    • zip_do_entry (function, line 117) static int zip_do_entry(mz_zip_archive *zip, mz_uint idx, const char *destdir)
    • shell_cmd_unzip (function, line 176) void shell_cmd_unzip(int argc, char **argv)
    • shell_cmd_zip (function, line 254) void shell_cmd_zip(int argc, char **argv)
    • root (function, line 8) * names are hostile data: each is normalized to forward slashes and rejected * when it escapes the extraction root...
    • mz_zip_writer_mem_ptr (function, line 18) void *mz_zip_writer_mem_ptr(mz_zip_archive *pZip);
    • mz_zip_writer_mem_size (function, line 19) size_t mz_zip_writer_mem_size(mz_zip_archive *pZip);

Start

Wiki

Agent Docs

Recipes

Clone this wiki locally