| STRUCT PIPE_INODE_IN(9) | pipes API | STRUCT PIPE_INODE_IN(9) | 
NAME¶
struct_pipe_inode_info - a linux kernel pipe
SYNOPSIS¶
struct pipe_inode_info {
  struct mutex mutex;
  wait_queue_head_t wait;
  unsigned int nrbufs;
  unsigned int curbuf;
  unsigned int buffers;
  unsigned int readers;
  unsigned int writers;
  unsigned int files;
  unsigned int waiting_writers;
  unsigned int r_counter;
  unsigned int w_counter;
  struct page * tmp_page;
  struct fasync_struct * fasync_readers;
  struct fasync_struct * fasync_writers;
  struct pipe_buffer * bufs;
};  
MEMBERS¶
mutex
mutex protecting the whole thing
wait
reader/writer wait point in case of empty/full pipe
nrbufs
the number of non-empty pipe buffers in this pipe
curbuf
the current pipe buffer entry
buffers
total number of buffers (should be a power of 2)
readers
number of current readers of this pipe
writers
number of current writers of this pipe
files
number of struct file refering this pipe (protected by
  ->i_lock)
waiting_writers
number of writers blocked waiting for room
r_counter
reader counter
w_counter
writer counter
tmp_page
cached released page
fasync_readers
reader side fasync
fasync_writers
writer side fasync
bufs
the circular array of pipe buffers
COPYRIGHT¶
| June 2024 | Kernel Hackers Manual 3.10 |