/* * dir.h * Header file for dir.c * * Copyright (C) 1997 Régis Duchesne */ #define ITERATE_SPLIT_DONE 1 enum ntfs_iterate_e { BY_POSITION, BY_NAME, DIR_INSERT }; /* not all fields are used for all operations */ typedef struct ntfs_iterate_s{ enum ntfs_iterate_e type; ntfs_inode *dir; union{ long long pos; int flags; }u; char *result; /* pointer to entry if found */ ntfs_u16* name; int namelen; int block; /* current index record */ int newblock; /* index record created in a split */ char *new_entry; int new_entry_size; /*ntfs_inode* new;*/ } ntfs_iterate_s; int ntfs_getdir_unsorted(ntfs_inode *ino, ntfs_u32 *p_high, ntfs_u32* p_low, int(*cb)(ntfs_u8*,void*), void *param); int ntfs_getdir_byname(ntfs_iterate_s *walk); int ntfs_dir_add(ntfs_inode *dir, ntfs_inode *new, ntfs_attribute *name); int ntfs_check_index_record(ntfs_inode *ino, char *record); int ntfs_getdir_byposition(ntfs_iterate_s *walk);