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 */
Directory.h
IOBuffer.h
LinnDirectoryEntry.h
LinnFileSystem.h
LinnInode.h
Types.h
Directory
Directory File functionality.
Definition
Directory.h:60
File
Represents a file present on a FileSystem.
Definition
File.h:40
IOBuffer
Abstract Input/Output buffer.
Definition
IOBuffer.h:38
LinnDirectory
Represents an directory on a LinnFS filesystem.
Definition
LinnDirectory.h:45
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
LinnDirectory::read
virtual FileSystem::Result read(IOBuffer &buffer, Size &size, const Size offset)
Read directory entries.
Definition
LinnDirectory.cpp:36
LinnDirectory::getLinnDirectoryEntry
bool getLinnDirectoryEntry(LinnDirectoryEntry *dent, const char *name)
Retrieve a directory entry.
Definition
LinnDirectory.cpp:129
LinnDirectory::lookup
virtual File * lookup(const char *name)
Retrieves a File pointer for the given entry name.
Definition
LinnDirectory.cpp:96
LinnFileSystem
Linnenbank FileSystem (LinnFS).
Definition
LinnFileSystem.h:74
u32
unsigned int u32
Unsigned 32-bit number.
Definition
Types.h:53
Size
unsigned int Size
Any sane size indicator cannot go negative.
Definition
Types.h:128
FileSystem::Result
Result
Result code for filesystem Actions.
Definition
FileSystem.h:53
LinnDirectoryEntry
Struct of an directory entry in LinnFS.
Definition
LinnDirectoryEntry.h:45
LinnInode
Structure of an inode on the disk in the LinnFS filesystem.
Definition
LinnInode.h:93
Generated by
1.9.8