root/include/linux/pipe_fs_i.h

/* [previous][next][first][last][top][bottom][index][help] */

INCLUDED FROM


   1 #ifndef _LINUX_PIPE_FS_I_H
   2 #define _LINUX_PIPE_FS_I_H
   3 
   4 struct pipe_inode_info {
   5         struct wait_queue * read_wait;
   6         struct wait_queue * write_wait;
   7         char * base;
   8         unsigned int head;
   9         unsigned int tail;
  10         unsigned int readers;
  11         unsigned int writers;
  12 };
  13 
  14 #define PIPE_READ_WAIT(inode)   ((inode).u.pipe_i.read_wait)
  15 #define PIPE_WRITE_WAIT(inode)  ((inode).u.pipe_i.write_wait)
  16 #define PIPE_BASE(inode)        ((inode).u.pipe_i.base)
  17 #define PIPE_HEAD(inode)        ((inode).u.pipe_i.head)
  18 #define PIPE_TAIL(inode)        ((inode).u.pipe_i.tail)
  19 #define PIPE_READERS(inode)     ((inode).u.pipe_i.readers)
  20 #define PIPE_WRITERS(inode)     ((inode).u.pipe_i.writers)
  21 #define PIPE_SIZE(inode)        ((PIPE_HEAD(inode)-PIPE_TAIL(inode))&(PAGE_SIZE-1))
  22 #define PIPE_EMPTY(inode)       (PIPE_HEAD(inode)==PIPE_TAIL(inode))
  23 #define PIPE_FULL(inode)        (PIPE_SIZE(inode)==(PAGE_SIZE-1))
  24 
  25 #endif

/* [previous][next][first][last][top][bottom][index][help] */