PatchworkOS
Loading...
Searching...
No Matches
pipe.h
Go to the documentation of this file.
1
#pragma once
2
3
#include <
kernel/fs/vfs.h
>
4
#include <
kernel/sched/sched.h
>
5
#include <
kernel/sched/wait.h
>
6
#include <
kernel/utils/ring.h
>
7
30
typedef
struct
31
{
32
void
*
buffer
;
33
ring_t
ring
;
34
bool
isReadClosed
;
35
bool
isWriteClosed
;
36
wait_queue_t
waitQueue
;
37
lock_t
lock
;
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
;
41
}
pipe_private_t
;
42
43
void
pipe_init
(
void
);
44
pipe_init
void pipe_init(void)
Definition
pipe.c:206
ring.h
sched.h
lock_t
A simple ticket lock implementation.
Definition
lock.h:43
pipe_private_t
Definition
pipe.h:31
pipe_private_t::ring
ring_t ring
Definition
pipe.h:33
pipe_private_t::readEnd
void * readEnd
Definition
pipe.h:39
pipe_private_t::isWriteClosed
bool isWriteClosed
Definition
pipe.h:35
pipe_private_t::writeEnd
void * writeEnd
Definition
pipe.h:40
pipe_private_t::lock
lock_t lock
Definition
pipe.h:37
pipe_private_t::waitQueue
wait_queue_t waitQueue
Definition
pipe.h:36
pipe_private_t::buffer
void * buffer
Definition
pipe.h:32
pipe_private_t::isReadClosed
bool isReadClosed
Definition
pipe.h:34
ring_t
Ring buffer structure.
Definition
ring.h:19
wait_queue_t
Wait queue structure.
Definition
wait.h:166
vfs.h
wait.h
include
kernel
ipc
pipe.h
Generated by
1.9.8