|
AquilaOS documentation
How it works, and its code
|
A pipe, or a FIFO's pipe. More...
#include <pipe.h>
Data Fields | |
| struct vnode * | r_node |
| its ends, NULL once closed (rw_node: a FIFO opened read-write) | |
| struct vnode * | w_node |
| struct vnode * | rw_node |
| struct waitq | queue |
| readers and writers sleep here | |
| unsigned long | r_opens |
| how many times a FIFO was opened for reading and for writing, so far: an open waiting for the other side sees that it came, even if it's gone already | |
| unsigned long | w_opens |
| struct vnode * | fifo |
| the FIFO this is the pipe of, or NULL for pipe() | |
| struct ringbuf * | ring |
| the data written, not read yet | |
| struct vnode* pipe::fifo |
the FIFO this is the pipe of, or NULL for pipe()
Definition at line 33 of file pipe.h.
Referenced by pipefs_close(), and pipefs_fifo_open().
| struct waitq pipe::queue |
readers and writers sleep here
Definition at line 24 of file pipe.h.
Referenced by pipefs_close(), pipefs_end(), and pipefs_fifo_open().
| struct vnode* pipe::r_node |
its ends, NULL once closed (rw_node: a FIFO opened read-write)
Definition at line 19 of file pipe.h.
Referenced by has_readers(), pipefs_close(), and pipefs_end().
| unsigned long pipe::r_opens |
how many times a FIFO was opened for reading and for writing, so far: an open waiting for the other side sees that it came, even if it's gone already
Definition at line 29 of file pipe.h.
Referenced by pipefs_fifo_open().
| struct ringbuf* pipe::ring |
the data written, not read yet
Definition at line 36 of file pipe.h.
Referenced by pipefs_can_read(), pipefs_can_write(), pipefs_eof(), pipefs_mkpipe(), pipefs_pfree(), pipefs_read(), and pipefs_write().
| struct vnode* pipe::rw_node |
Definition at line 21 of file pipe.h.
Referenced by has_readers(), has_writers(), pipefs_close(), and pipefs_end().
| struct vnode* pipe::w_node |
Definition at line 20 of file pipe.h.
Referenced by has_writers(), pipefs_close(), and pipefs_end().
| unsigned long pipe::w_opens |
Definition at line 30 of file pipe.h.
Referenced by pipefs_fifo_open().