2023-10-31 19:28:40 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "KernelAllocator.hpp"
|
|
|
|
|
#include "file.hpp"
|
|
|
|
|
#include "utils/Rc.hpp"
|
2023-11-13 21:02:23 +01:00
|
|
|
#include "utils/SharedCV.hpp"
|
|
|
|
|
#include "utils/SharedMutex.hpp"
|
2024-01-04 01:53:58 +01:00
|
|
|
#include <utility>
|
2023-10-31 19:28:40 +01:00
|
|
|
|
|
|
|
|
namespace orbis {
|
|
|
|
|
struct Pipe final : File {
|
2023-11-13 21:02:23 +01:00
|
|
|
shared_cv cv;
|
2023-10-31 19:28:40 +01:00
|
|
|
kvector<std::byte> data;
|
2024-01-04 01:53:58 +01:00
|
|
|
Ref<Pipe> other;
|
2023-10-31 19:28:40 +01:00
|
|
|
};
|
|
|
|
|
|
2024-01-04 01:53:58 +01:00
|
|
|
std::pair<Ref<Pipe>, Ref<Pipe>> createPipe();
|
2023-10-31 19:28:40 +01:00
|
|
|
} // namespace orbis
|