General Purpose library for Freestanding C++ and POSIX systems
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

25 wiersze
556 B

  1. #pragma once
  2. #include <cstddef>
  3. #include <atomic>
  4. namespace gp {
  5. template<typename> class buffer;
  6. class file_description {
  7. std::atomic_int64_t ref_counter;
  8. public:
  9. virtual void read() = 0;
  10. virtual void write() = 0;
  11. virtual void set_attr() = 0;
  12. virtual void get_attr() = 0;
  13. virtual void seek() = 0;
  14. virtual void close() = 0;
  15. static file_description* open(class system&, gp::buffer<std::byte>);
  16. static file_description* create(class system&, gp::buffer<std::byte>);
  17. static file_description* remove(class system&, gp::buffer<std::byte>);
  18. };
  19. }