more changes on original files
[linux-2.4.git] / fs / ntfs / dir.h
1 /*
2  * dir.h - Header file for dir.c
3  *
4  * Copyright (C) 1997 RĂ©gis Duchesne
5  */
6 #define ITERATE_SPLIT_DONE      1
7
8 enum ntfs_iterate_e {
9     BY_POSITION,
10     BY_NAME,
11     DIR_INSERT
12 };
13
14 /* not all fields are used for all operations */
15 typedef struct ntfs_iterate_s {
16         enum ntfs_iterate_e type;
17         ntfs_inode *dir;
18         union{
19                 ntfs_u64 pos;
20                 int flags;
21         }u;
22         char *result;      /* pointer to entry if found */
23         ntfs_u16* name;
24         int namelen;
25         int block;         /* current index record */
26         int newblock;      /* index record created in a split */
27         char *new_entry;
28         int new_entry_size;
29         /*ntfs_inode* new;*/
30 } ntfs_iterate_s;
31
32 int ntfs_getdir_unsorted(ntfs_inode *ino, ntfs_u32 *p_high, ntfs_u32* p_low,
33                          int (*cb)(ntfs_u8*, void*), void *param);
34
35 int ntfs_getdir_byname(ntfs_iterate_s *walk);
36
37 int ntfs_dir_add(ntfs_inode *dir, ntfs_inode *new, ntfs_attribute *name);
38
39 int ntfs_check_index_record(ntfs_inode *ino, char *record);
40
41 int ntfs_getdir_byposition(ntfs_iterate_s *walk);
42
43 int ntfs_mkdir(ntfs_inode* dir,const char* name,int namelen, ntfs_inode *ino);
44
45 int ntfs_split_indexroot(ntfs_inode *ino);
46
47 int ntfs_add_index_root(ntfs_inode *ino, int type);
48