162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */ 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * dir.h - Defines for directory handling in NTFS Linux kernel driver. Part of 462306a36Sopenharmony_ci * the Linux-NTFS project. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright (c) 2002-2004 Anton Altaparmakov 762306a36Sopenharmony_ci */ 862306a36Sopenharmony_ci 962306a36Sopenharmony_ci#ifndef _LINUX_NTFS_DIR_H 1062306a36Sopenharmony_ci#define _LINUX_NTFS_DIR_H 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci#include "layout.h" 1362306a36Sopenharmony_ci#include "inode.h" 1462306a36Sopenharmony_ci#include "types.h" 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/* 1762306a36Sopenharmony_ci * ntfs_name is used to return the file name to the caller of 1862306a36Sopenharmony_ci * ntfs_lookup_inode_by_name() in order for the caller (namei.c::ntfs_lookup()) 1962306a36Sopenharmony_ci * to be able to deal with dcache aliasing issues. 2062306a36Sopenharmony_ci */ 2162306a36Sopenharmony_citypedef struct { 2262306a36Sopenharmony_ci MFT_REF mref; 2362306a36Sopenharmony_ci FILE_NAME_TYPE_FLAGS type; 2462306a36Sopenharmony_ci u8 len; 2562306a36Sopenharmony_ci ntfschar name[0]; 2662306a36Sopenharmony_ci} __attribute__ ((__packed__)) ntfs_name; 2762306a36Sopenharmony_ci 2862306a36Sopenharmony_ci/* The little endian Unicode string $I30 as a global constant. */ 2962306a36Sopenharmony_ciextern ntfschar I30[5]; 3062306a36Sopenharmony_ci 3162306a36Sopenharmony_ciextern MFT_REF ntfs_lookup_inode_by_name(ntfs_inode *dir_ni, 3262306a36Sopenharmony_ci const ntfschar *uname, const int uname_len, ntfs_name **res); 3362306a36Sopenharmony_ci 3462306a36Sopenharmony_ci#endif /* _LINUX_NTFS_FS_DIR_H */ 35