PatchworkOS
Loading...
Searching...
No Matches
pipe.h
Go to the documentation of this file.
1#pragma once
2
3#include <kernel/fs/vfs.h>
5#include <kernel/sched/wait.h>
6#include <kernel/utils/ring.h>
7
30typedef struct
31{
32 void* buffer;
38 // Note: These pointers are just for checking which end the current file is, they should not be referenced.
39 void* readEnd;
40 void* writeEnd;
42
43void pipe_init(void);
44
void pipe_init(void)
Definition pipe.c:206
A simple ticket lock implementation.
Definition lock.h:43
ring_t ring
Definition pipe.h:33
void * readEnd
Definition pipe.h:39
bool isWriteClosed
Definition pipe.h:35
void * writeEnd
Definition pipe.h:40
lock_t lock
Definition pipe.h:37
wait_queue_t waitQueue
Definition pipe.h:36
void * buffer
Definition pipe.h:32
bool isReadClosed
Definition pipe.h:34
Ring buffer structure.
Definition ring.h:19
Wait queue structure.
Definition wait.h:166