FreeNOS
|
Represents a file on a mounted LinnFS filesystem. More...
#include <LinnFile.h>
Public Member Functions | |
LinnFile (LinnFileSystem *fs, const u32 inode, LinnInode *inodeData) | |
Constructor function. More... | |
virtual | ~LinnFile () |
Destructor function. More... | |
virtual FileSystem::Result | read (IOBuffer &buffer, Size &size, const Size offset) |
Read bytes from the file. More... | |
Public Member Functions inherited from File | |
File (const u32 inode, const FileSystem::FileType type=FileSystem::RegularFile, const UserID uid=ZERO, const GroupID gid=ZERO) | |
Constructor function. More... | |
virtual | ~File () |
Destructor function. More... | |
u32 | getInode () const |
Get inode number. More... | |
FileSystem::FileType | getType () const |
Retrieve our filetype. More... | |
virtual FileSystem::Result | write (IOBuffer &buffer, Size &size, const Size offset) |
Write bytes to the file. More... | |
virtual FileSystem::Result | status (FileSystem::FileStat &st) |
Retrieve file statistics. More... | |
virtual bool | canRead () const |
Check if the File has data ready for reading. More... | |
virtual bool | canWrite () const |
Check if the File can be written to. More... | |
Private Attributes | |
LinnFileSystem * | m_fs |
Filesystem pointer. More... | |
LinnInode * | m_inodeData |
Inode pointer. More... | |
Additional Inherited Members | |
Protected Attributes inherited from File | |
const u32 | m_inode |
Inode number. More... | |
const FileSystem::FileType | m_type |
Type of this file. More... | |
UserID | m_uid |
Owner of the file. More... | |
GroupID | m_gid |
Group of the file. More... | |
FileSystem::FileModes | m_access |
Access permissions. More... | |
Size | m_size |
Size of the file, in bytes. More... | |
Represents a file on a mounted LinnFS filesystem.
Definition at line 38 of file LinnFile.h.
LinnFile::LinnFile | ( | LinnFileSystem * | fs, |
const u32 | inode, | ||
LinnInode * | inodeData | ||
) |
Constructor function.
fs | LinnFS filesystem pointer. |
inode | Inode number |
inodeData | Inode data pointer. |
Definition at line 22 of file LinnFile.cpp.
References File::m_access, m_inodeData, File::m_size, LinnInode::mode, and LinnInode::size.
|
virtual |
Destructor function.
Definition at line 33 of file LinnFile.cpp.
|
virtual |
Read bytes from the file.
buffer | Input/Output buffer to output bytes to. |
size | Maximum number of bytes to read on input. On output, the actual number of bytes read. |
offset | Offset inside the file to start reading. |
Reimplemented from File.
Definition at line 37 of file LinnFile.cpp.
References IOBuffer::addCount(), assert, LinnSuperBlock::blockSize, IOBuffer::getBuffer(), LinnFileSystem::getOffsetRange(), LinnFileSystem::getStorage(), LinnFileSystem::getSuperBlock(), FileSystem::IOError, LINN_INODE_NUM_BLOCKS, LINN_MAX_BLOCK_SIZE, m_fs, m_inodeData, Storage::read(), LinnInode::size, and FileSystem::Success.
|
private |
|
private |