Scroll to navigation

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

June 2017 Kernel Hackers Manual 4.11