Merge branch 'master' of ssh.ucc.asn.au:tpg/acess2
[tpg/acess2.git] / KernelLand / Kernel / include / vfs_ext.h
index d9bc833..2cd4101 100644 (file)
@@ -13,6 +13,8 @@ typedef Uint64        tInode;
 typedef Uint32 tMount;
 
 // === CONSTANTS ===
+//! Maximum length of a filename (including NULL byte)
+#define FILENAME_MAX   256
 //! Maximum size of a Memory Path generated by VFS_GetMemPath
 #define        VFS_MEMPATH_SIZE        (3 + (BITS/4)*2)
 /**
@@ -114,14 +116,16 @@ enum eVFS_SeekDirs
  */
 typedef struct sVFS_ACL
 {
+       //! ACL entity selection
        struct {
                unsigned Group: 1;      //!< Group (as opposed to user) flag
                unsigned ID:    31;     //!< ID of Group/User (-1 for nobody/world)
-       };
+       } Ent;
+       //! ACL Permissions mask
        struct {
                unsigned Inv:   1;      //!< Invert Permissions
                unsigned Perms: 31;     //!< Permission Flags
-       };
+       } Perm;
 } tVFS_ACL;
 
 /**
@@ -142,6 +146,10 @@ typedef struct sFInfo
        tVFS_ACL        acls[]; //!< ACL buffer (size is passed in the \a MaxACLs argument to VFS_FInfo)
 } PACKED tFInfo;
 
+// --- fd_set --
+#include "../../../Usermode/Libraries/ld-acess.so_src/include_exp/acess/fd_set.h"
+
+#if 0
 /**
  * \brief fd_set for select()
  */
@@ -169,6 +177,7 @@ typedef struct
  * \param fdsetp       Set to modify
  */
 #define FD_ISSET(fd, fdsetp) ((fdsetp)->flags[(fd)/16]&(1<<((fd)%16)))
+#endif
 
 // === FUNCTIONS ===
 /**
@@ -368,10 +377,10 @@ extern int        VFS_Symlink(const char *Name, const char *Link);
 /**
  * \brief Read from a directory
  * \param FD   File handle returned by ::VFS_Open
- * \param Dest Destination array for the file name (max 255 bytes)
+ * \param Dest Destination array for the file name (max FILENAME_MAX bytes)
  * \return Boolean Success
  */
-extern int     VFS_ReadDir(int FD, char *Dest);
+extern int     VFS_ReadDir(int FD, char Dest[FILENAME_MAX]);
 /**
  * \brief Wait for an aciton on a file descriptor
  * \param MaxHandle    Maximum set handle in \a *Handles

UCC git Repository :: git.ucc.asn.au