11e9ea7e0SNamjae Jeon /* SPDX-License-Identifier: GPL-2.0-or-later */ 21e9ea7e0SNamjae Jeon /* 3*40796051SNamjae Jeon * Defines for directory handling in NTFS Linux kernel driver. 41e9ea7e0SNamjae Jeon * 51e9ea7e0SNamjae Jeon * Copyright (c) 2002-2004 Anton Altaparmakov 61e9ea7e0SNamjae Jeon */ 71e9ea7e0SNamjae Jeon 81e9ea7e0SNamjae Jeon #ifndef _LINUX_NTFS_DIR_H 91e9ea7e0SNamjae Jeon #define _LINUX_NTFS_DIR_H 101e9ea7e0SNamjae Jeon 111e9ea7e0SNamjae Jeon #include "inode.h" 121e9ea7e0SNamjae Jeon 131e9ea7e0SNamjae Jeon /* 141e9ea7e0SNamjae Jeon * ntfs_name is used to return the file name to the caller of 151e9ea7e0SNamjae Jeon * ntfs_lookup_inode_by_name() in order for the caller (namei.c::ntfs_lookup()) 161e9ea7e0SNamjae Jeon * to be able to deal with dcache aliasing issues. 171e9ea7e0SNamjae Jeon */ 18*40796051SNamjae Jeon struct ntfs_name { 19*40796051SNamjae Jeon u64 mref; 20*40796051SNamjae Jeon u8 type; 211e9ea7e0SNamjae Jeon u8 len; 22*40796051SNamjae Jeon __le16 name[]; 23*40796051SNamjae Jeon } __packed; 241e9ea7e0SNamjae Jeon 251e9ea7e0SNamjae Jeon /* The little endian Unicode string $I30 as a global constant. */ 26*40796051SNamjae Jeon extern __le16 I30[5]; 271e9ea7e0SNamjae Jeon 28*40796051SNamjae Jeon u64 ntfs_lookup_inode_by_name(struct ntfs_inode *dir_ni, 29*40796051SNamjae Jeon const __le16 *uname, const int uname_len, struct ntfs_name **res); 30*40796051SNamjae Jeon int ntfs_check_empty_dir(struct ntfs_inode *ni, struct mft_record *ni_mrec); 311e9ea7e0SNamjae Jeon 321e9ea7e0SNamjae Jeon #endif /* _LINUX_NTFS_FS_DIR_H */ 33