34 lines
632 B
C++
34 lines
632 B
C++
#include "fs/OpenFileDescription.h"
|
|
#include <bits/open-flags.h>
|
|
|
|
OpenFileDescription::OpenFileDescription(SharedPtr<VFS::Inode> ino, int fl) : inode(ino), flags(fl)
|
|
{
|
|
inode->add_handle();
|
|
}
|
|
|
|
OpenFileDescription::~OpenFileDescription()
|
|
{
|
|
inode->remove_handle();
|
|
inode->did_close();
|
|
}
|
|
|
|
bool FileDescriptor::should_append()
|
|
{
|
|
return description->flags & O_APPEND;
|
|
}
|
|
|
|
bool FileDescriptor::should_block()
|
|
{
|
|
return !(description->flags & O_NONBLOCK);
|
|
}
|
|
|
|
bool FileDescriptor::is_readable()
|
|
{
|
|
return description->flags & O_RDONLY;
|
|
}
|
|
|
|
bool FileDescriptor::is_writable()
|
|
{
|
|
return description->flags & O_WRONLY;
|
|
}
|