xref: /openbmc/linux/fs/ntfs/dir.h (revision 58e16d792a6a8c6b750f637a4649967fcac853dc)
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