1STRUCT PIPE_INODE_IN(9)            pipes API           STRUCT PIPE_INODE_IN(9)
2
3
4

NAME

6       struct_pipe_inode_info - a linux kernel pipe
7

SYNOPSIS

9       struct pipe_inode_info {
10         struct mutex mutex;
11         wait_queue_head_t wait;
12         unsigned int nrbufs;
13         unsigned int curbuf;
14         unsigned int buffers;
15         unsigned int readers;
16         unsigned int writers;
17         unsigned int files;
18         unsigned int waiting_writers;
19         unsigned int r_counter;
20         unsigned int w_counter;
21         struct page * tmp_page;
22         struct fasync_struct * fasync_readers;
23         struct fasync_struct * fasync_writers;
24         struct pipe_buffer * bufs;
25       };
26

MEMBERS

28       mutex
29           mutex protecting the whole thing
30
31       wait
32           reader/writer wait point in case of empty/full pipe
33
34       nrbufs
35           the number of non-empty pipe buffers in this pipe
36
37       curbuf
38           the current pipe buffer entry
39
40       buffers
41           total number of buffers (should be a power of 2)
42
43       readers
44           number of current readers of this pipe
45
46       writers
47           number of current writers of this pipe
48
49       files
50           number of struct file refering this pipe (protected by ->i_lock)
51
52       waiting_writers
53           number of writers blocked waiting for room
54
55       r_counter
56           reader counter
57
58       w_counter
59           writer counter
60
61       tmp_page
62           cached released page
63
64       fasync_readers
65           reader side fasync
66
67       fasync_writers
68           writer side fasync
69
70       bufs
71           the circular array of pipe buffers
72
74Kernel Hackers Manual 3.10         June 2019           STRUCT PIPE_INODE_IN(9)
Impressum