1N/A * inode.h - Defines for NTFS inode handling. Part of the Linux-NTFS project. 1N/A * Copyright (c) 2001,2002 Anton Altaparmakov 1N/A * Copyright (c) 2004-2007 Yura Pakhuchiy 1N/A * Copyright (c) 2004-2005 Richard Russon 1N/A * modify it under the terms of the GNU General Public License as published 1N/A * by the Free Software Foundation; either version 2 of the License, or 1N/A * (at your option) any later version. 1N/A * useful, but WITHOUT ANY WARRANTY; without even the implied warranty 1N/A * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 1N/A * GNU General Public License for more details. 1N/A * You should have received a copy of the GNU General Public License 1N/A * along with this program (in the main directory of the Linux-NTFS 1N/A * distribution in the file COPYING); if not, write to the Free Software 1N/A * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 1N/A/* Forward declaration */ 1N/A * enum ntfs_inode_state_bits - 1N/A * Defined bits for the state field in the ntfs_inode structure. 1N/A * (f) = files only, (d) = directories only 1N/A NI_Dirty,
/* 1: Mft record needs to be written to disk. */ 1N/A /* Below fields only make sense for base inodes. */ 1N/A mft record and then to disk. */ 1N/A * struct _ntfs_inode - The NTFS in-memory inode structure. 1N/A * It is just used as an extension to the fields already provided in the VFS 1N/A unsigned long state;
/* NTFS specific flags describing this inode. 1N/A See ntfs_inode_state_bits above. */ 1N/A (Copy from STANDARD_INFORMATION) */ 1N/A * Attribute list support (for use by the attribute lookup functions). 1N/A * Setup during ntfs_open_inode() for all inodes with attribute lists. 1N/A * Only valid if NI_AttrList is set in state. 1N/A /* Below fields are always valid. */ 1N/A attached extent inodes (0 if none), for 1N/A extent records this is -1. */ 1N/A union {
/* This union is only used if nr_extents != 0. */ 1N/A ntfs inodes of the extent mft 1N/A records belonging to this base 1N/A inode which have been loaded. */ 1N/A inode of the base mft record. */ 1N/A /* Below fields are valid only for base inode. */ 1N/A * These two fields are used to sync filename index and guaranteed to be 1N/A * correct, however value in index itself maybe wrong (windows itself 1N/A * do not update them properly). 1N/A index. (NOTE: Equal to allocated size of 1N/A the unnamed data attribute for normal or 1N/A encrypted files and to compressed size 1N/A of the unnamed data attribute for sparse or 1N/A compressed files.) */ 1N/A * These four fields are copy of relevant fields from 1N/A * STANDARD_INFORMATION attribute and used to sync it and FILE_NAME 1N/A * attribute in the index. 1N/A /* These 2 fields are used to keep track of opened inodes. */ 1N/A opened. We really close inode only 1N/A when this reaches zero. */ 1N/A * ntfs_inode_mark_dirty - set the inode (and its base inode if it exists) dirty 1N/A * @ni: ntfs inode to set dirty 1N/A * Set the inode @ni dirty so it is written out later (at the latest at 1N/A * ntfs_inode_close() time). If @ni is an extent inode, set the base inode 1N/A * This function cannot fail. 1N/A#
endif /* defined _NTFS_INODE_H */