other versions
- stretch 4.9.168-1
STRUCT PIPE_INODE_IN(9) | pipes API | STRUCT PIPE_INODE_IN(9) |
NAME¶
struct_pipe_inode_info - a linux kernel pipeSYNOPSIS¶
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¶
mutexmutex 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 referring 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
user
the user who created this pipe
COPYRIGHT¶
April 2019 | Kernel Hackers Manual 4.9. |