FreeNOS
server
filesystem
linn
LinnDirectory.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2009 Niek Linnenbank
3
*
4
* This program is free software: you can redistribute it and/or modify
5
* it under the terms of the GNU General Public License as published by
6
* the Free Software Foundation, either version 3 of the License, or
7
* (at your option) any later version.
8
*
9
* This program is distributed in the hope that it will be useful,
10
* but WITHOUT ANY WARRANTY; without even the implied warranty of
11
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
* GNU General Public License for more details.
13
*
14
* You should have received a copy of the GNU General Public License
15
* along with this program. If not, see <http://www.gnu.org/licenses/>.
16
*/
17
18
#ifndef __FILESYSTEM_LINN_DIRECTORY_H
19
#define __FILESYSTEM_LINN_DIRECTORY_H
20
#ifndef __HOST__
21
22
#include <
Directory.h
>
23
#include <
Types.h
>
24
#include "
LinnDirectoryEntry.h
"
25
#include "
LinnFileSystem.h
"
26
#include "
LinnInode.h
"
27
#include "
IOBuffer.h
"
28
44
class
LinnDirectory
:
public
Directory
45
{
46
public
:
47
58
LinnDirectory
(
LinnFileSystem
*fs,
59
const
u32
inode,
60
LinnInode
*inodeData);
61
72
virtual
FileSystem::Result
read
(
IOBuffer
& buffer,
73
Size
& size,
74
const
Size
offset);
75
90
virtual
File
*
lookup
(
const
char
*name);
91
92
private
:
93
102
bool
getLinnDirectoryEntry
(
LinnDirectoryEntry
*dent,
103
const
char
*name);
104
105
private
:
106
108
LinnFileSystem
*
m_fs
;
109
111
LinnInode
*
m_inodeData
;
112
};
113
119
#endif
/* __HOST__ */
120
#endif
/* __FILESYSTEM_EXT2DIRECTORY_H */
Types.h
LinnDirectory::read
virtual FileSystem::Result read(IOBuffer &buffer, Size &size, const Size offset)
Read directory entries.
Definition:
LinnDirectory.cpp:36
LinnFileSystem
Linnenbank FileSystem (LinnFS).
Definition:
LinnFileSystem.h:73
Directory
Directory File functionality.
Definition:
Directory.h:59
LinnDirectory::LinnDirectory
LinnDirectory(LinnFileSystem *fs, const u32 inode, LinnInode *inodeData)
Constructor function.
Definition:
LinnDirectory.cpp:25
LinnDirectoryEntry
Struct of an directory entry in LinnFS.
Definition:
LinnDirectoryEntry.h:44
LinnDirectory::lookup
virtual File * lookup(const char *name)
Retrieves a File pointer for the given entry name.
Definition:
LinnDirectory.cpp:96
IOBuffer.h
File
Represents a file present on a FileSystem.
Definition:
File.h:39
LinnDirectory::m_fs
LinnFileSystem * m_fs
Filesystem pointer.
Definition:
LinnDirectory.h:108
LinnDirectory::m_inodeData
LinnInode * m_inodeData
Inode which describes the directory.
Definition:
LinnDirectory.h:111
LinnInode.h
IOBuffer
Abstract Input/Output buffer.
Definition:
IOBuffer.h:37
u32
unsigned int u32
Unsigned 32-bit number.
Definition:
Types.h:53
LinnInode
Structure of an inode on the disk in the LinnFS filesystem.
Definition:
LinnInode.h:92
Size
unsigned int Size
Any sane size indicator cannot go negative.
Definition:
Types.h:128
LinnDirectory
Represents an directory on a LinnFS filesystem.
Definition:
LinnDirectory.h:44
LinnDirectory::getLinnDirectoryEntry
bool getLinnDirectoryEntry(LinnDirectoryEntry *dent, const char *name)
Retrieve a directory entry.
Definition:
LinnDirectory.cpp:129
FileSystem::Result
Result
Result code for filesystem Actions.
Definition:
FileSystem.h:52
Directory.h
LinnDirectoryEntry.h
LinnFileSystem.h
Generated by
1.8.17