summaryrefslogtreecommitdiffstats
path: root/freebsd/sys/sys/pipe.h
diff options
context:
space:
mode:
Diffstat (limited to 'freebsd/sys/sys/pipe.h')
-rwxr-xr-xfreebsd/sys/sys/pipe.h11
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_ */