1. NAME▲
struct_pipe_inode_info - a linux kernel pipe
2. 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;
}
;
3. 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
4. COPYRIGHT ▲