1*a1d312deSThomas Gleixner /* SPDX-License-Identifier: GPL-2.0-or-later */ 21da177e4SLinus Torvalds /* 31da177e4SLinus Torvalds * dir.h - Defines for directory handling in NTFS Linux kernel driver. Part of 41da177e4SLinus Torvalds * the Linux-NTFS project. 51da177e4SLinus Torvalds * 61da177e4SLinus Torvalds * Copyright (c) 2002-2004 Anton Altaparmakov 71da177e4SLinus Torvalds */ 81da177e4SLinus Torvalds 91da177e4SLinus Torvalds #ifndef _LINUX_NTFS_DIR_H 101da177e4SLinus Torvalds #define _LINUX_NTFS_DIR_H 111da177e4SLinus Torvalds 121da177e4SLinus Torvalds #include "layout.h" 131da177e4SLinus Torvalds #include "inode.h" 141da177e4SLinus Torvalds #include "types.h" 151da177e4SLinus Torvalds 161da177e4SLinus Torvalds /* 171da177e4SLinus Torvalds * ntfs_name is used to return the file name to the caller of 181da177e4SLinus Torvalds * ntfs_lookup_inode_by_name() in order for the caller (namei.c::ntfs_lookup()) 191da177e4SLinus Torvalds * to be able to deal with dcache aliasing issues. 201da177e4SLinus Torvalds */ 211da177e4SLinus Torvalds typedef struct { 221da177e4SLinus Torvalds MFT_REF mref; 231da177e4SLinus Torvalds FILE_NAME_TYPE_FLAGS type; 241da177e4SLinus Torvalds u8 len; 251da177e4SLinus Torvalds ntfschar name[0]; 261da177e4SLinus Torvalds } __attribute__ ((__packed__)) ntfs_name; 271da177e4SLinus Torvalds 281da177e4SLinus Torvalds /* The little endian Unicode string $I30 as a global constant. */ 291da177e4SLinus Torvalds extern ntfschar I30[5]; 301da177e4SLinus Torvalds 311da177e4SLinus Torvalds extern MFT_REF ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, 321da177e4SLinus Torvalds const ntfschar *uname, const int uname_len, ntfs_name **res); 331da177e4SLinus Torvalds 341da177e4SLinus Torvalds #endif /* _LINUX_NTFS_FS_DIR_H */ 35