#ifndef FSMAP_H # define FSMAP_H # ifndef _GNU_SOURCE # define _GNU_SOURCE // asprintf # endif # include # include # include # include # include struct fsmap_format { void* (* init)(const char *file, const char *mountpoint); int (* start_new_file)(char *path, ext2_ino_t ino, struct ext2_inode *inode, void *data); int (* add_block)(ext2_filsys fs, blk64_t blocknr, int metadata, void *data); int (* inline_data)(void *inline_data, void *data); int (* end_new_file)(void *data); int (* cleanup)(void *data); void *private; }; errcode_t fsmap_iter_filsys(ext2_filsys fs, struct fsmap_format *format, const char *file, const char *mountpoint); #endif /* !FSMAP_H */