summaryrefslogtreecommitdiff
path: root/Source/Kernel/VFS/DirectoryNode.class.cpp
diff options
context:
space:
mode:
authorAlexis211 <alexis211@gmail.com>2009-10-23 19:40:08 +0200
committerAlexis211 <alexis211@gmail.com>2009-10-23 19:40:08 +0200
commit48de0cd029b52f64f76345b6e1fdf3cde5c58de3 (patch)
tree792061381c556bef6639b327716cca107f6168c5 /Source/Kernel/VFS/DirectoryNode.class.cpp
parentf0556ed7f051fb101dc68752526696365bf79a11 (diff)
downloadMelon-48de0cd029b52f64f76345b6e1fdf3cde5c58de3.tar.gz
Melon-48de0cd029b52f64f76345b6e1fdf3cde5c58de3.zip
More work on syscalls and shell
Diffstat (limited to 'Source/Kernel/VFS/DirectoryNode.class.cpp')
-rw-r--r--Source/Kernel/VFS/DirectoryNode.class.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/Source/Kernel/VFS/DirectoryNode.class.cpp b/Source/Kernel/VFS/DirectoryNode.class.cpp
index 0c58ca1..381ff49 100644
--- a/Source/Kernel/VFS/DirectoryNode.class.cpp
+++ b/Source/Kernel/VFS/DirectoryNode.class.cpp
@@ -1,5 +1,24 @@
#include "DirectoryNode.class.h"
+call_t DirectoryNode::m_callTable[] = {
+ CALL1(FNIF_GETIDXCHILD, &DirectoryNode::getIdxChildSC),
+ CALL1(FNIF_GETNAMECHILD, &DirectoryNode::getNameChildSC),
+ CALL0(0, 0)
+};
+
+u32int DirectoryNode::getIdxChildSC(u32int idx) {
+ FSNode* n = getChild(idx);
+ if (n != NULL) return n->resId();
+ return (u32int) - 1;
+}
+
+u32int DirectoryNode::getNameChildSC(u32int name) {
+ String* w = (String*)name;
+ FSNode* n = getChild(*w);
+ if (n != NULL) return n->resId();
+ return (u32int) - 1;
+}
+
bool DirectoryNode::removable() {
if (!m_contentLoaded)
if (!loadContent())