Next Previous Contents

7.5 Specification of FS API functions

Functions called by PART module for imported partitions

int fc_getparlist(struct fs_pars *,ERR_PARAM);

int fc_identify(int pt_fh,struct partition_base *,ERR_PARAM);

int fc_getparams(int fh,struct user_partition *,struct fs_pars *,ERR_PARAM);

int fc_get_rootdirs(int fh,struct partition_base *,struct user_directory **,ERR_PARAM);

int fc_get_info(int fh,struct partition_base *,struct part_info **, int numdir,struct user_directory *,struct fs_info **,ERR_PARAM);

Functions called by GCONV module for imported partitions

int fc_init(struct partition *,ERR_PARAM);

int fc_done(struct partition *,ERR_PARAM);

int fc_open_rootdir(struct partition *,struct entry_info **,ERR_PARAM);

int fc_open_subdir(struct partition *,struct entry_info **, struct entry_info *,ERR_PARAM);

int fc_close_dir(struct partition *,struct entry_info *,ERR_PARAM);

int fc_nextentry(struct partition *,struct entry_info **,ERR_PARAM);

int fc_getdata(struct partition *,struct entry_info *,struct block_list *, ERR_PARAM);

int fc_getdone(struct partition *,struct entry_info *,ERR_PARAM);

int fc_freeblocks(struct partition *,struct block_list *,ERR_PARAM);

int fc_hardlink_get_imported(struct partition *, struct entry_info *, struct hardlink_imported*, ERR_PARAM);

unsigned int fc_hardlink_hashkey(struct partition *, struct entry_info *, ERR_PARAM);

int fc_hardlink_compare(struct partition *, struct hardlink_imported *, struct entry_info *, ERR_PARAM);

int fc_hardlink_get_entry(struct partition *, struct hardlink_imported *, struct entry_info **, ERR_PARAM);

int fc_hardlink_free_imported(struct partition *, struct hardlink_imported *, ERR_PARAM);

Functions called by PART module for exported partitions

int fc_check(struct user_partition *,struct fs_info *,ERR_PARAM);

block_t fc_getsize(struct user_partition *,struct fs_info *,ERR_PARAM);

block_t fc_getsize_struct(struct user_partition *,struct fs_info *,ERR_PARAM);

Functions called by GCONV module for exported partitions

int fc_superblock(struct partition *exported, struct partition *imported, ERR_PARAM);

int fc_mkfs(struct partition *,ERR_PARAM);

int fc_fsdone(struct partition *,ERR_PARAM);

int fc_putbadblocks(struct partition *,struct block_list *,ERR_PARAM);

int fc_createentry(struct partition *,struct entry_info *dir, struct entry_info *file,struct block_list *free,ERR_PARAM);

int fc_putdata(struct partition *,struct entry_info *,struct block_list *used, struct block_list *free,struct block_list *target,ERR_PARAM);

int fc_putdone(struct partition *,struct entry_info *,ERR_PARAM);

int fc_align(struct partition *,struct extent *,ERR_PARAM);

int fc_hardlink_create(struct partition *, struct entry_info **dir, struct entry_info *file, struct hardlink_exported *temple, struct hardlink_exported **dupl, ERR_PARAM);

int fc_hardlink_get_exported(struct partition *, struct entry_info *, struct hardlink_exported*, ERR_PARAM);

int fc_hardlink_duplicate(struct partition *, struct hardlink_exported *, struct entry_info **, int isreg, ERR_PARAM);

int fc_hardlink_free_exported(struct partition *, struct hardlink_exported *, ERR_PARAM);

fc_open_rootdir, fc_open_subdir, fc_close_dir

These functions work exactly like for imported filesystem. Any created directory could (and should) be opened to be able to create entries in it.

Next Previous Contents