General Purpose library for Freestanding C++ and POSIX systems
Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 

29 řádky
601 B

#pragma once
#include <cstddef>
#include <atomic>
namespace gp {
namespace system {
class system;
}
template<typename> class buffer;
class file_description {
std::atomic_int64_t ref_counter;
public:
virtual void read() = 0;
virtual void write() = 0;
virtual void set_attr() = 0;
virtual void get_attr() = 0;
virtual void seek() = 0;
virtual void close() = 0;
static file_description* open(system::system&, gp::buffer<std::byte>);
static file_description* create(system::system&, gp::buffer<std::byte>);
static file_description* remove(system::system&, gp::buffer<std::byte>);
};
}