X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FModules%2FFilesystems%2FNTFS%2Fcommon.h;h=3ef810971e3625056d0fa688aaa5d4f731f0acf8;hb=c5680ddd7aa4934759203aac95f14ac40e5c456b;hp=ac93b520e3c36aef145fbf66d41098667608cd13;hpb=3baaddee040c6e58d3fdb10c3d04b69354e221e7;p=tpg%2Facess2.git diff --git a/KernelLand/Modules/Filesystems/NTFS/common.h b/KernelLand/Modules/Filesystems/NTFS/common.h index ac93b520..3ef81097 100644 --- a/KernelLand/Modules/Filesystems/NTFS/common.h +++ b/KernelLand/Modules/Filesystems/NTFS/common.h @@ -40,7 +40,7 @@ struct sNTFS_Directory struct sNTFS_Disk { int FD; - int CacheHandle; + tInodeCache *InodeCache; int ClusterSize; @@ -49,7 +49,7 @@ struct sNTFS_Disk tNTFS_Attrib *MFTDataAttr; tNTFS_Attrib *MFTBitmapAttr; - + tNTFS_Directory RootDir; }; @@ -80,11 +80,22 @@ struct sNTFS_Attrib }; }; +extern tVFS_NodeType gNTFS_DirType; +extern tVFS_NodeType gNTFS_FileType; + +extern void NTFS_Close(tVFS_Node *Node); +extern void NTFS_FreeNode(tVFS_Node *Node); +extern int NTFS_int_ApplyUpdateSequence(void *Buf, size_t BufLen, const Uint16 *Sequence, size_t NumEntries); // -- MFT Access / Manipulation +extern tNTFS_FILE_Header *NTFS_GetMFT(tNTFS_Disk *Disk, Uint32 MFTEntry); +extern void NTFS_ReleaseMFT(tNTFS_Disk *Disk, Uint32 MFTEntry, tNTFS_FILE_Header *Entry); extern tNTFS_Attrib *NTFS_GetAttrib(tNTFS_Disk *Disk, Uint32 MFTEntry, int Type, const char *Name, int DesIdx); +extern void NTFS_FreeAttrib(tNTFS_Attrib *Attrib); extern size_t NTFS_ReadAttribData(tNTFS_Attrib *Attrib, Uint64 Offset, size_t Length, void *Buffer); // -- dir.c extern int NTFS_ReadDir(tVFS_Node *Node, int Pos, char Dest[FILENAME_MAX]); extern tVFS_Node *NTFS_FindDir(tVFS_Node *Node, const char *Name, Uint Flags); +// -- io.c +extern size_t NTFS_ReadFile(tVFS_Node *Node, Uint64 Offset, size_t Length, void *Buffer, Uint Flags); #endif