X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=KernelLand%2FKernel%2Finclude%2Fvfs.h;h=6afe309a1677623748f4cd8a87e11372ceb39b2e;hb=d8b31df1121ff75fe218f83574eb600c47f8d2d5;hp=91dcd693f9547aed736af4e0b11a0d248c65a0e2;hpb=11dbd684e9a3d907d43d71a3145205f1a86992fb;p=tpg%2Facess2.git diff --git a/KernelLand/Kernel/include/vfs.h b/KernelLand/Kernel/include/vfs.h index 91dcd693..6afe309a 100644 --- a/KernelLand/Kernel/include/vfs.h +++ b/KernelLand/Kernel/include/vfs.h @@ -77,7 +77,15 @@ typedef struct sVFS_NodeType tVFS_NodeType; * is unmapped. Nice for read-only files and memory-only files (or * pseudo-readonly filesystems) */ -#define VFS_FFLAG_NOWRITEBACK +#define VFS_FFLAG_NOWRITEBACK 0x1000 + +/** + * \brief "Dirty Metadata" Flag + * + * Indicates that the node's metadata has been altered since the flag was last + * cleared. Tells the driver that it should update the inode at the next flush. + */ +#define VFS_FFLAG_DIRTY 0x8000 /** * \} */ @@ -339,6 +347,15 @@ typedef struct sVFS_Driver */ Uint Flags; + /** + * \brief Detect if a volume is accessible using this driver + * \return Boolean success (with higher numbers being higher priority) + * + * E.g. FAT would return 1 as it's the lowest common denominator while ext2 might return 2, + * because it can be embedded in a FAT volume (and is a more fully featured filesystem). + */ + int (*Detect)(int FD); + /** * \brief Callback to mount a device */