diff options
Diffstat (limited to 'freebsd/sys/sys/pipe.h')
-rwxr-xr-x | freebsd/sys/sys/pipe.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/freebsd/sys/sys/pipe.h b/freebsd/sys/sys/pipe.h index c59ecc75..d596b3bb 100755 --- a/freebsd/sys/sys/pipe.h +++ b/freebsd/sys/sys/pipe.h @@ -54,9 +54,12 @@ #define PIPENPAGES (BIG_PIPE_SIZE / PAGE_SIZE + 1) /* - * See sys_pipe.c for info on what these limits mean. + * See sys_pipe.c for info on what these limits mean. */ extern long maxpipekva; +#ifndef __rtems__ +extern struct fileops pipeops; +#endif /* __rtems__ */ /* * Pipe buffer information. @@ -96,6 +99,7 @@ struct pipemapping { #define PIPE_LWANT 0x200 /* Process wants exclusive access to pointers/data. */ #define PIPE_DIRECTW 0x400 /* Pipe direct write active. */ #define PIPE_DIRECTOK 0x800 /* Direct mode ok. */ +#define PIPE_NAMED 0x1000 /* Is a named pipe. */ /* * Per-pipe data structure. @@ -114,6 +118,7 @@ struct pipe { u_int pipe_state; /* pipe status info */ int pipe_busy; /* busy flag, mostly to handle rundown sanely */ int pipe_present; /* still present? */ + int pipe_wgen; /* writer generation for named pipe */ ino_t pipe_ino; /* fake inode for stat(2) */ }; @@ -140,5 +145,7 @@ struct pipepair { #define PIPE_UNLOCK(pipe) mtx_unlock(PIPE_MTX(pipe)) #define PIPE_LOCK_ASSERT(pipe, type) mtx_assert(PIPE_MTX(pipe), (type)) - +void pipe_dtor(struct pipe *dpipe); +void pipe_named_ctor(struct pipe **ppipe, struct thread *td); +void pipeselwakeup(struct pipe *cpipe); #endif /* !_SYS_PIPE_H_ */ |