fsnode
static int cd9660_translate_node(iso9660_disk *, fsnode *, cd9660node *);
cd9660_convert_structure(iso9660_disk *diskStructure, fsnode *root,
fsnode *iterator = root;
static void cd9660_convert_structure(iso9660_disk *, fsnode *, cd9660node *, int,
fsnode * tfsnode;
cd9660_makefs(const char *image, const char *dir, fsnode *root,
cd9660_translate_node(iso9660_disk *diskStructure, fsnode *node,
fsnode *node; /* pointer to fsnode */
fsnode *pxinfo)
cd9660node_rrip_pn(struct ISO_SUSP_ATTRIBUTES *pn_field, fsnode *fnode)
cd9660node_rrip_tf(struct ISO_SUSP_ATTRIBUTES *p, fsnode *_node)
int cd9660node_rrip_px(iso9660_disk *, struct ISO_SUSP_ATTRIBUTES *, fsnode *);
int cd9660node_rrip_pn(struct ISO_SUSP_ATTRIBUTES *, fsnode *);
int cd9660node_rrip_SL(struct ISO_SUSP_ATTRIBUTES *, fsnode *);
int cd9660node_rrip_tf(struct ISO_SUSP_ATTRIBUTES *, fsnode *);
int cd9660node_rrip_re(void *, fsnode *);
ffs_make_dirbuf(dirbuf_t *dbuf, const char *name, fsnode *node, int needswap)
static void ffs_make_dirbuf(dirbuf_t *, const char *, fsnode *, int);
static int ffs_populate_dir(const char *, fsnode *, fsinfo_t *);
static void ffs_size_dir(fsnode *, fsinfo_t *);
static void ffs_validate(const char *, fsnode *, fsinfo_t *);
static void *ffs_build_dinode1(struct ufs1_dinode *, dirbuf_t *, fsnode *,
fsnode *, fsinfo_t *);
static void *ffs_build_dinode2(struct ufs2_dinode *, dirbuf_t *, fsnode *,
fsnode *, fsinfo_t *);
ffs_makefs(const char *image, const char *dir, fsnode *root, fsinfo_t *fsopts)
ffs_validate(const char *dir, fsnode *root, fsinfo_t *fsopts)
ffs_size_dir(fsnode *root, fsinfo_t *fsopts)
fsnode * node;
ffs_build_dinode1(struct ufs1_dinode *dinp, dirbuf_t *dbufp, fsnode *cur,
fsnode *root, fsinfo_t *fsopts)
ffs_build_dinode2(struct ufs2_dinode *dinp, dirbuf_t *dbufp, fsnode *cur,
fsnode *root, fsinfo_t *fsopts)
ffs_populate_dir(const char *dir, fsnode *root, fsinfo_t *fsopts)
fsnode *cur;
fsnode *root;
set_tstamp(fsnode *cur)
void (*make_fs)(const char *, const char *, fsnode *,
void apply_specfile(const char *, const char *, fsnode *, int);
void dump_fsnodes(fsnode *);
fsnode * read_mtree(const char *, fsnode *);
void set_tstamp(fsnode *);
fsnode * walk_dir(const char *, const char *, fsnode *, fsnode *);
void free_fsnodes(fsnode *);
void fs ## _makefs(const char *, const char *, fsnode *, fsinfo_t *)
#define FSNODE_EXCLUDE_P(opts, fsnode) \
((opts)->onlyspec != 0 && ((fsnode)->flags & FSNODE_F_HASSPEC) == 0)
msdos_makefs(const char *image, const char *dir, fsnode *root, fsinfo_t *fsopts)
msdos_populate_dir(const char *path, struct denode *dir, fsnode *root,
fsnode *parent, fsinfo_t *fsopts)
fsnode *cur;
static int msdos_populate_dir(const char *, struct denode *, fsnode *,
fsnode *, fsinfo_t *);
struct fsnode;
struct denode *msdosfs_mkfile(const char *, struct denode *, fsnode *);
struct denode *msdosfs_mkdire(const char *, struct denode *, fsnode *);
msdosfs_mkfile(const char *path, struct denode *pdep, fsnode *node)
msdosfs_wfile(const char *path, struct denode *dep, fsnode *node)
msdosfs_mkdire(const char *path __unused, struct denode *pdep, fsnode *node)
static int msdosfs_wfile(const char *, struct denode *, fsnode *);
fsnode *
read_mtree(const char *fname, fsnode *node)
mtree_file_path(fsnode *node)
fsnode *pnode;
static fsnode *
create_node(const char *name, u_int type, fsnode *parent, fsnode *global)
fsnode *n;
destroy_node(fsnode *n)
read_mtree_keywords(FILE *fp, fsnode *node)
static fsnode *mtree_root;
static fsnode *mtree_current;
static fsnode mtree_global;
fsnode *last, *node, *parent;
fsnode *
walk_dir(const char *root, const char *dir, fsnode *parent, fsnode *join)
fsnode *first, *cur;
static fsnode *
fsnode *cur;
free_fsnodes(fsnode *node)
fsnode *cur, *next;
apply_specfile(const char *specfile, const char *dir, fsnode *parent, int speconly)
apply_specdir(const char *dir, NODE *specnode, fsnode *dirnode, int speconly)
fsnode *curfsnode;
fsnode *next;
apply_specentry(const char *dir, NODE *specnode, fsnode *dirnode)
dump_fsnodes(fsnode *root)
fsnode *cur;
static void apply_specdir(const char *, NODE *, fsnode *, int);
static void apply_specentry(const char *, NODE *, fsnode *);
static fsnode *create_fsnode(const char *, const char *, const char *,
const fsnode * const *a = _a;
const fsnode * const *b = _b;
static fsnode *
sort_dir(fsnode *list)
fsnode **array;
fsnode *cur;
array = malloc(nitems * sizeof(fsnode *));
qsort(array, nitems, sizeof(fsnode *), cmp);
zfs_makefs(const char *image, const char *dir, fsnode *root, fsinfo_t *fsopts)
fs_build(zfs_opt_t *zfs, int dirfd, fsnode *root)
static void fs_build_one(zfs_opt_t *, zfs_dsl_dir_t *, fsnode *, int);
fsnode_isroot(const fsnode *cur)
fsnode_valid(const fsnode *cur)
fsnode_foreach(fsnode *root, int (*cb)(fsnode *, void *), void *arg)
for (fsnode *cur = root; cur != NULL; cur = cur->next) {
fs_populate_dirent(struct fs_populate_arg *arg, fsnode *cur, uint64_t dnid)
fs_populate_path(const fsnode *cur, struct fs_populate_arg *arg,
fs_open(const fsnode *cur, struct fs_populate_arg *arg, int flags)
fs_open_can_fail(const fsnode *cur, struct fs_populate_arg *arg, int flags)
fs_readlink(const fsnode *cur, struct fs_populate_arg *arg,
fs_populate_sattrs(struct fs_populate_arg *arg, const fsnode *cur,
for (fsnode *c =
fs_populate_file(fsnode *cur, struct fs_populate_arg *arg)
fs_populate_dir(fsnode *cur, struct fs_populate_arg *arg)
fs_populate_symlink(fsnode *cur, struct fs_populate_arg *arg)
static fsnode *
fsnode_next(fsnode *cur)
fs_foreach_populate(fsnode *cur, void *_arg)
fsnode *cur, *root;
fs_foreach_mark(fsnode *cur, void *arg)
fs_build_one(zfs_opt_t *zfs, zfs_dsl_dir_t *dsldir, fsnode *root, int dirfd)
void fs_build(zfs_opt_t *, int, fsnode *);