diff options
author | Alexis211 <alexis211@gmail.com> | 2009-10-23 19:40:08 +0200 |
---|---|---|
committer | Alexis211 <alexis211@gmail.com> | 2009-10-23 19:40:08 +0200 |
commit | 48de0cd029b52f64f76345b6e1fdf3cde5c58de3 (patch) | |
tree | 792061381c556bef6639b327716cca107f6168c5 /Source/Kernel/VFS/DirectoryNode.class.cpp | |
parent | f0556ed7f051fb101dc68752526696365bf79a11 (diff) | |
download | Melon-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.cpp | 19 |
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()) |