18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 28c2ecf20Sopenharmony_ci/* 38c2ecf20Sopenharmony_ci * dir.h - Defines for directory handling in NTFS Linux kernel driver. Part of 48c2ecf20Sopenharmony_ci * the Linux-NTFS project. 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Copyright (c) 2002-2004 Anton Altaparmakov 78c2ecf20Sopenharmony_ci */ 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ci#ifndef _LINUX_NTFS_DIR_H 108c2ecf20Sopenharmony_ci#define _LINUX_NTFS_DIR_H 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci#include "layout.h" 138c2ecf20Sopenharmony_ci#include "inode.h" 148c2ecf20Sopenharmony_ci#include "types.h" 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ci/* 178c2ecf20Sopenharmony_ci * ntfs_name is used to return the file name to the caller of 188c2ecf20Sopenharmony_ci * ntfs_lookup_inode_by_name() in order for the caller (namei.c::ntfs_lookup()) 198c2ecf20Sopenharmony_ci * to be able to deal with dcache aliasing issues. 208c2ecf20Sopenharmony_ci */ 218c2ecf20Sopenharmony_citypedef struct { 228c2ecf20Sopenharmony_ci MFT_REF mref; 238c2ecf20Sopenharmony_ci FILE_NAME_TYPE_FLAGS type; 248c2ecf20Sopenharmony_ci u8 len; 258c2ecf20Sopenharmony_ci ntfschar name[0]; 268c2ecf20Sopenharmony_ci} __attribute__ ((__packed__)) ntfs_name; 278c2ecf20Sopenharmony_ci 288c2ecf20Sopenharmony_ci/* The little endian Unicode string $I30 as a global constant. */ 298c2ecf20Sopenharmony_ciextern ntfschar I30[5]; 308c2ecf20Sopenharmony_ci 318c2ecf20Sopenharmony_ciextern MFT_REF ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, 328c2ecf20Sopenharmony_ci const ntfschar *uname, const int uname_len, ntfs_name **res); 338c2ecf20Sopenharmony_ci 348c2ecf20Sopenharmony_ci#endif /* _LINUX_NTFS_FS_DIR_H */ 35