---
name: "struct_pipe_inode_info"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/struct_pipe_inode_info"
---

# struct\_pipe\_inode\_info(9)

a linux kernel pipe

## 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

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 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
