1STRUCT PIPE_INODE_IN(9) pipes API STRUCT PIPE_INODE_IN(9)
2
3
4
6 struct_pipe_inode_info - a linux kernel pipe
7
9 struct pipe_inode_info {
10 wait_queue_head_t wait;
11 unsigned int nrbufs;
12 unsigned int curbuf;
13 unsigned int readers;
14 unsigned int writers;
15 unsigned int waiting_writers;
16 unsigned int r_counter;
17 unsigned int w_counter;
18 struct page * tmp_page;
19 struct fasync_struct * fasync_readers;
20 struct fasync_struct * fasync_writers;
21 struct inode * inode;
22 struct pipe_buffer * bufs;
23 };
24
26 wait
27 reader/writer wait point in case of empty/full pipe
28
29 nrbufs
30 the number of non-empty pipe buffers in this pipe
31
32 curbuf
33 the current pipe buffer entry
34
35 readers
36 number of current readers of this pipe
37
38 writers
39 number of current writers of this pipe
40
41 waiting_writers
42 number of writers blocked waiting for room
43
44 r_counter
45 reader counter
46
47 w_counter
48 writer counter
49
50 tmp_page
51 cached released page
52
53 fasync_readers
54 reader side fasync
55
56 fasync_writers
57 writer side fasync
58
59 inode
60 inode this pipe is attached to
61
62 bufs
63 the circular array of pipe buffers
64
66Kernel Hackers Manual 2.6. November 2011 STRUCT PIPE_INODE_IN(9)