Ejemplo n.º 1
0
static int ext2_dir(disk_t *disk_car, const partition_t *partition, dir_data_t *dir_data, const unsigned long int cluster, file_info_t *dir_list)
{
  errcode_t       retval;
  struct ext2_dir_struct *ls=(struct ext2_dir_struct*)dir_data->private_dir_data;
  ls->dir_list=dir_list;
  if((retval=ext2fs_dir_iterate2(ls->current_fs, cluster, ls->flags, 0, list_dir_proc2, ls))!=0)
  {
    log_error("ext2fs_dir_iterate failed with error %ld.\n",(long)retval);
    return -1;
  }
  return 0;
}
Ejemplo n.º 2
0
extern errcode_t ext2fs_dir_iterate(ext2_filsys fs,
                                    ext2_ino_t dir,
                                    int flags,
                                    char *block_buf,
                                    int (*func)(struct ext2_dir_entry *dirent,
                                            int	offset,
                                            int	blocksize,
                                            char	*buf,
                                            void	*priv_data),
                                    void *priv_data)
{
    struct xlate xl;

    xl.real_private = priv_data;
    xl.func = func;

    return ext2fs_dir_iterate2(fs, dir, flags, block_buf,
                               xlate_func, &xl);
}