AquilaOS documentation
How it works, and its code
Loading...
Searching...
No Matches
pipe Struct Reference

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

Detailed Description

A pipe, or a FIFO's pipe.

Definition at line 17 of file pipe.h.

Field Documentation

◆ fifo

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().

◆ queue

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().

◆ r_node

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().

◆ r_opens

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().

◆ ring

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().

◆ rw_node

struct vnode* pipe::rw_node

Definition at line 21 of file pipe.h.

Referenced by has_readers(), has_writers(), pipefs_close(), and pipefs_end().

◆ w_node

struct vnode* pipe::w_node

Definition at line 20 of file pipe.h.

Referenced by has_writers(), pipefs_close(), and pipefs_end().

◆ w_opens

unsigned long pipe::w_opens

Definition at line 30 of file pipe.h.

Referenced by pipefs_fifo_open().


The documentation for this struct was generated from the following file: