1*1e9ea7e0SNamjae Jeon /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*1e9ea7e0SNamjae Jeon /* 3*1e9ea7e0SNamjae Jeon * dir.h - Defines for directory handling in NTFS Linux kernel driver. Part of 4*1e9ea7e0SNamjae Jeon * the Linux-NTFS project. 5*1e9ea7e0SNamjae Jeon * 6*1e9ea7e0SNamjae Jeon * Copyright (c) 2002-2004 Anton Altaparmakov 7*1e9ea7e0SNamjae Jeon */ 8*1e9ea7e0SNamjae Jeon 9*1e9ea7e0SNamjae Jeon #ifndef _LINUX_NTFS_DIR_H 10*1e9ea7e0SNamjae Jeon #define _LINUX_NTFS_DIR_H 11*1e9ea7e0SNamjae Jeon 12*1e9ea7e0SNamjae Jeon #include "layout.h" 13*1e9ea7e0SNamjae Jeon #include "inode.h" 14*1e9ea7e0SNamjae Jeon #include "types.h" 15*1e9ea7e0SNamjae Jeon 16*1e9ea7e0SNamjae Jeon /* 17*1e9ea7e0SNamjae Jeon * ntfs_name is used to return the file name to the caller of 18*1e9ea7e0SNamjae Jeon * ntfs_lookup_inode_by_name() in order for the caller (namei.c::ntfs_lookup()) 19*1e9ea7e0SNamjae Jeon * to be able to deal with dcache aliasing issues. 20*1e9ea7e0SNamjae Jeon */ 21*1e9ea7e0SNamjae Jeon typedef struct { 22*1e9ea7e0SNamjae Jeon MFT_REF mref; 23*1e9ea7e0SNamjae Jeon FILE_NAME_TYPE_FLAGS type; 24*1e9ea7e0SNamjae Jeon u8 len; 25*1e9ea7e0SNamjae Jeon ntfschar name[0]; 26*1e9ea7e0SNamjae Jeon } __attribute__ ((__packed__)) ntfs_name; 27*1e9ea7e0SNamjae Jeon 28*1e9ea7e0SNamjae Jeon /* The little endian Unicode string $I30 as a global constant. */ 29*1e9ea7e0SNamjae Jeon extern ntfschar I30[5]; 30*1e9ea7e0SNamjae Jeon 31*1e9ea7e0SNamjae Jeon extern MFT_REF ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, 32*1e9ea7e0SNamjae Jeon const ntfschar *uname, const int uname_len, ntfs_name **res); 33*1e9ea7e0SNamjae Jeon 34*1e9ea7e0SNamjae Jeon #endif /* _LINUX_NTFS_FS_DIR_H */ 35