More work on x86_64 build, error handling and IDT
[tpg/acess2.git] / Kernel / vfs / mount.c
index eb6a5b1..45591a4 100644 (file)
@@ -1,7 +1,7 @@
 /* 
  * Acess Micro - VFS Server version 1
  */
-#include <common.h>
+#include <acess.h>
 #include <vfs.h>
 #include <vfs_int.h>
 #include <fs_sysfs.h>
@@ -11,7 +11,7 @@ extern int    giVFS_MountFileID;
 extern char    *gsVFS_MountFile;
 
 // === PROTOTYPES ===
- int   VFS_Mount(char *Device, char *MountPoint, char *Filesystem, char *ArgString);
+ int   VFS_Mount(char *Device, char *MountPoint, char *Filesystem, char *Options);
 void   VFS_UpdateMountFile();
 
 // === GLOBALS ===
@@ -21,26 +21,29 @@ tVFS_Mount  *gVFS_RootMount = NULL;
 
 // === CODE ===
 /**
- * \fn int VFS_Mount(char *Device, char *MountPoint, char *Filesystem, char *ArgString)
  * \brief Mount a device
  * \param Device       Device string to mount
  * \param MountPoint   Destination for the mount
  * \param Filesystem   Filesystem to use for the mount
- * \param ArgString            Options to be passed to the filesystem
+ * \param Options              Options to be passed to the filesystem
  * \return -1 on Invalid FS, -2 on No Mem, 0 on success
+ * 
+ * Mounts the filesystem on \a Device at \a MountPoint using the driver
+ * \a Filesystem. The options in the string \a Options is passed to the
+ * driver's mount.
  */
-int VFS_Mount(char *Device, char *MountPoint, char *Filesystem, char *ArgString)
+int VFS_Mount(char *Device, char *MountPoint, char *Filesystem, char *Options)
 {
        tVFS_Mount      *mnt;
        tVFS_Driver     *fs;
         int    deviceLen = strlen(Device);
         int    mountLen = strlen(MountPoint);
-        int    argLen = strlen(ArgString);
+        int    argLen = strlen(Options);
        
        // Get the filesystem
        fs = VFS_GetFSByName(Filesystem);
        if(!fs) {
-               Warning("VFS_Mount - Unknown FS Type '%s'", Filesystem);
+               Log_Warning("VFS", "VFS_Mount - Unknown FS Type '%s'", Filesystem);
                return -1;
        }
        
@@ -66,7 +69,7 @@ int VFS_Mount(char *Device, char *MountPoint, char *Filesystem, char *ArgString)
        memcpy( mnt->MountPoint, MountPoint, mountLen+1 );
        
        mnt->Options = &mnt->StrData[deviceLen+1+mountLen+1];
-       memcpy( mnt->Options, ArgString, argLen+1 );
+       memcpy( mnt->Options, Options, argLen+1 );
        
        // Initialise Volume
        mnt->RootNode = fs->InitDevice(Device, NULL);   //&ArgString);
@@ -93,7 +96,7 @@ int VFS_Mount(char *Device, char *MountPoint, char *Filesystem, char *ArgString)
        }
        RELEASE( &glVFS_MountList );
        
-       Log("VFS_Mount: Mounted '%s' to '%s' ('%s')", Device, MountPoint, Filesystem);
+       Log_Log("VFS", "Mounted '%s' to '%s' ('%s')", Device, MountPoint, Filesystem);
        
        VFS_UpdateMountFile();
        
@@ -101,8 +104,9 @@ int VFS_Mount(char *Device, char *MountPoint, char *Filesystem, char *ArgString)
 }
 
 /**
- * \fn void VFS_UpdateMountFile()
  * \brief Updates the mount file buffer
+ * 
+ * Updates the ProcFS mounts file buffer to match the current mounts list.
  */
 void VFS_UpdateMountFile()
 {

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