FreeBSD/Linux Kernel Cross Reference
sys/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
Cache object: f2ee43242e7fa03f148794f45da1f23e
|