Usermode/libc - Fix strchr and strrchr behavior
[tpg/acess2.git] / Kernel / vfs / fs / devfs.c
diff --git a/Kernel/vfs/fs/devfs.c b/Kernel/vfs/fs/devfs.c
deleted file mode 100644 (file)
index b3f4a57..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Acess 2
- * Device Filesystem (DevFS)
- * - vfs/fs/devfs.c
- */
-#include <acess.h>
-#include <vfs.h>
-#include <fs_devfs.h>
-
-// === PROTOTYPES ===
-#if 0
- int   DevFS_AddDevice(tDevFS_Driver *Device);
-void   DevFS_DelDevice(tDevFS_Driver *Device);
-#endif
-tVFS_Node      *DevFS_InitDevice(const char *Device, const char **Options);
-char   *DevFS_ReadDir(tVFS_Node *Node, int Pos);
-tVFS_Node      *DevFS_FindDir(tVFS_Node *Node, const char *Name);
-
-// === GLOBALS ===
-tVFS_Driver    gDevFS_Info = {
-       "devfs", 0, DevFS_InitDevice, NULL, NULL
-       };
-tVFS_NodeType  gDevFS_DirType = {
-       .TypeName = "DevFS-Dir",
-       .ReadDir = DevFS_ReadDir,
-       .FindDir = DevFS_FindDir
-       };
-tVFS_Node      gDevFS_RootNode = {
-       .Size = 0,
-       .Flags = VFS_FFLAG_DIRECTORY,
-       .NumACLs = 1,
-       .ACLs = &gVFS_ACL_EveryoneRX,
-       .Type = &gDevFS_DirType
-       };
-tDevFS_Driver  *gDevFS_Drivers = NULL;
- int   giDevFS_NextID = 1;
-tShortSpinlock glDevFS_ListLock;
-
-// === CODE ===
-/**
- * \fn int DevFS_AddDevice(tDevFS_Driver *Device)
- */
-int DevFS_AddDevice(tDevFS_Driver *Device)
-{
-        int    ret = 0;
-       tDevFS_Driver   *dev;
-       
-       SHORTLOCK( &glDevFS_ListLock );
-       
-       // Check if the device is already registered or the name is taken
-       for( dev = gDevFS_Drivers; dev; dev = dev->Next )
-       {
-               if(dev == Device)       break;
-               if(strcmp(dev->Name, Device->Name) == 0)        break;
-       }
-       
-       if(dev) {
-               if(dev == Device)
-                       Log_Warning("DevFS", "Device %p '%s' attempted to register itself twice",
-                               dev, dev->Name);
-               else
-                       Log_Warning("DevFS", "Device %p attempted to register '%s' which was owned by %p",
-                               Device, dev->Name, dev);
-               ret = 0;        // Error
-       }
-       else {
-               Device->Next = gDevFS_Drivers;
-               gDevFS_Drivers = Device;
-               gDevFS_RootNode.Size ++;
-               ret = giDevFS_NextID ++;
-       }
-       SHORTREL( &glDevFS_ListLock );
-       
-       return ret;
-}
-
-/**
- * \brief Delete a device from the DevFS folder
- */
-void DevFS_DelDevice(tDevFS_Driver *Device)
-{
-       tDevFS_Driver   *prev = NULL, *dev;
-       
-       SHORTLOCK( &glDevFS_ListLock );
-       // Search list for device
-       for(dev = gDevFS_Drivers;
-               dev && dev != Device;
-               prev = dev, dev = dev->Next
-               );
-       
-       // Check if it was found
-       if(dev)
-       {
-               if(prev)
-                       prev->Next = Device->Next;
-               else
-                       gDevFS_Drivers = Device->Next;
-       }
-       else
-               Log_Warning("DevFS", "Attempted to unregister device %p '%s' which was not registered",
-                       Device, Device->Name);
-       
-       SHORTREL( &glDevFS_ListLock );
-}
-
-/**
- * \brief Initialise the DevFS and detect double-mounting, or just do nothing
- * \note STUB
- */
-tVFS_Node *DevFS_InitDevice(const char *Device, const char **Options)
-{
-       return &gDevFS_RootNode;
-}
-
-/**
- * \fn char *DevFS_ReadDir(tVFS_Node *Node, int Pos)
- */
-char *DevFS_ReadDir(tVFS_Node *Node, int Pos)
-{
-       tDevFS_Driver   *dev;
-       
-       if(Pos < 0)     return NULL;
-       
-       for(dev = gDevFS_Drivers;
-               dev && Pos--;
-               dev = dev->Next
-               );
-       
-       if(dev)
-               return strdup(dev->Name);
-       else
-               return NULL;
-}
-
-/**
- * \fn tVFS_Node *DevFS_FindDir(tVFS_Node *Node, const char *Name)
- * \brief Get an entry from the devices directory
- */
-tVFS_Node *DevFS_FindDir(tVFS_Node *Node, const char *Name)
-{
-       tDevFS_Driver   *dev;
-       
-       //ENTER("pNode sName", Node, Name);
-       
-       for(dev = gDevFS_Drivers;
-               dev;
-               dev = dev->Next
-               )
-       {
-               //LOG("dev = %p", dev);
-               //LOG("dev->Name = '%s'", dev->Name);
-               if(strcmp(dev->Name, Name) == 0) {
-                       //LEAVE('p', &dev->RootNode);
-                       return &dev->RootNode;
-               }
-       }
-       
-       //LEAVE('n');
-       return NULL;
-}
-
-// --- EXPORTS ---
-EXPORT(DevFS_AddDevice);
-EXPORT(DevFS_DelDevice);

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