git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Usermode - Removed unused (and fat) pcidump utility
[tpg/acess2.git]
/
Kernel
/
include
/
vfs.h
diff --git
a/Kernel/include/vfs.h
b/Kernel/include/vfs.h
index
248a1ac
..
91771c8
100644
(file)
--- a/
Kernel/include/vfs.h
+++ b/
Kernel/include/vfs.h
@@
-94,7
+94,7
@@
typedef struct sVFS_Node
* corresponds to.
* \{
*/
* corresponds to.
* \{
*/
- Uint64 Inode; //!< Inode ID
(Essentially another ImplInt)
+ Uint64 Inode; //!< Inode ID
- Must identify the node uniquely if tVFS_Driver.GetNodeFromINode is non-NULL
Uint ImplInt; //!< Implementation Usable Integer
void *ImplPtr; //!< Implementation Usable Pointer
/**
Uint ImplInt; //!< Implementation Usable Integer
void *ImplPtr; //!< Implementation Usable Pointer
/**
@@
-155,6
+155,7
@@
typedef struct sVFS_Node
/**
* \name VFS_Select() fields
/**
* \name VFS_Select() fields
+ * \note Used by the VFS internals, drivers should use VFS_Mark*
* \{
*/
int DataAvaliable;
* \{
*/
int DataAvaliable;
@@
-166,6
+167,15
@@
typedef struct sVFS_Node
/**
* \}
*/
/**
* \}
*/
+
+ /**
+ * \name VFS_MMap() fields
+ * \{
+ */
+ void *MMapInfo;
+ /**
+ * \}
+ */
/**
* \name Common Functions
/**
* \name Common Functions
@@
-303,16
+313,30
@@
typedef struct sVFS_Node
*/
typedef struct sVFS_Driver
{
*/
typedef struct sVFS_Driver
{
- //! \brief Unique Identifier for this filesystem type
+ /**
+ * \brief Unique Identifier for this filesystem type
+ */
const char *Name;
const char *Name;
- //! \brief Flags applying to this driver
+ /**
+ * \brief Flags applying to this driver
+ */
Uint Flags;
Uint Flags;
- //! \brief Callback to mount a device
+ /**
+ * \brief Callback to mount a device
+ */
tVFS_Node *(*InitDevice)(const char *Device, const char **Options);
tVFS_Node *(*InitDevice)(const char *Device, const char **Options);
- //! \brief Callback to unmount a device
+ /**
+ * \brief Callback to unmount a device
+ */
void (*Unmount)(tVFS_Node *Node);
void (*Unmount)(tVFS_Node *Node);
- //! \brief Used internally (next driver in the chain)
+ /**
+ * \brief Retrieve a VFS node from an inode
+ */
+ tVFS_Node *(*GetNodeFromINode)(tVFS_Node *RootNode, Uint64 InodeValue);
+ /**
+ * \brief Used internally (next driver in the chain)
+ */
struct sVFS_Driver *Next;
} tVFS_Driver;
struct sVFS_Driver *Next;
} tVFS_Driver;
@@
-346,7
+370,6
@@
extern tVFS_ACL gVFS_ACL_EveryoneRO; //!< Everyone Read only
*/
extern int VFS_AddDriver(tVFS_Driver *Info);
/**
*/
extern int VFS_AddDriver(tVFS_Driver *Info);
/**
- * \fn tVFS_Driver *VFS_GetFSByName(char *Name)
* \brief Get the information structure of a driver given its name
* \param Name Name of filesystem driver to find
*/
* \brief Get the information structure of a driver given its name
* \param Name Name of filesystem driver to find
*/
@@
-400,7
+423,13
@@
extern int VFS_SelectNode(tVFS_Node *Node, int Type, tTime *Timeout, const char
* \brief Change the full flag on a node
*/
extern int VFS_MarkFull(tVFS_Node *Node, BOOL IsBufferFull);
* \brief Change the full flag on a node
*/
extern int VFS_MarkFull(tVFS_Node *Node, BOOL IsBufferFull);
+/**
+ * \brief Alter the space avaliable flag on a node
+ */
extern int VFS_MarkAvaliable(tVFS_Node *Node, BOOL IsDataAvaliable);
extern int VFS_MarkAvaliable(tVFS_Node *Node, BOOL IsDataAvaliable);
+/**
+ * \brief Alter the error flags on a node
+ */
extern int VFS_MarkError(tVFS_Node *Node, BOOL IsErrorState);
// --- Node Cache --
extern int VFS_MarkError(tVFS_Node *Node, BOOL IsErrorState);
// --- Node Cache --
UCC
git Repository :: git.ucc.asn.au