other versions
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;
struct user_struct * user; };
MEMBERS¶
struct mutex mutex
mutex protecting the whole thing
wait_queue_head_t wait
reader/writer wait point in case of empty/full pipe
unsigned int nrbufs
the number of non-empty pipe buffers in this pipe
unsigned int curbuf
the current pipe buffer entry
unsigned int buffers
total number of buffers (should be a power of 2)
unsigned int readers
number of current readers of this pipe
unsigned int writers
number of current writers of this pipe
unsigned int files
number of struct file referring this pipe (protected by
->i_lock)
unsigned int waiting_writers
number of writers blocked waiting for room
unsigned int r_counter
reader counter
unsigned int w_counter
writer counter
struct page * tmp_page
cached released page
struct fasync_struct * fasync_readers
reader side fasync
struct fasync_struct * fasync_writers
writer side fasync
struct pipe_buffer * bufs
the circular array of pipe buffers
struct user_struct * user
the user who created this pipe
COPYRIGHT¶
July 2017 | Kernel Hackers Manual 4.12 |