GitOS
Operating system exercise
Loading...
Searching...
No Matches
PipeFS.hpp
Go to the documentation of this file.
1//
2// Created by Paweł Reich on 2/4/25.
3//
4
5#pragma once
6#include <stdint-gcc.h>
7#include <stddef.h>
8
9extern "C" {
10#include <fs/file.h>
11}
12
13class PipeFS {
14 public:
15 PipeFS(size_t buffer_size);
17
18 uint32_t get_buffer_size();
19
20 int read(uint32_t size, char *out);
21
22 int write(const char *data, uint32_t size);
23
24 private:
25 char* m_buffer;
26 size_t m_buffer_size;
27 uint32_t m_buffer_read_idx;
28 uint32_t m_buffer_write_idx;
29 uint32_t m_count;
30};
Definition PipeFS.hpp:13
int write(const char *data, uint32_t size)
Definition PipeFS.cpp:107
int read(uint32_t size, char *out)
Definition PipeFS.cpp:87
filesystem * get_struct()
Definition PipeFS.cpp:69
uint32_t get_buffer_size()
Definition PipeFS.cpp:83
uint16_t size
Definition gdt.h:0
Definition file.h:75
uint8_t * data
Definition window.h:0