#include "fs/OpenFileDescription.h" #include OpenFileDescription::OpenFileDescription(SharedPtr 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; }