]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/filedesc.h
xnu-3248.60.10.tar.gz
[apple/xnu.git] / bsd / sys / filedesc.h
index b5b80a6bc6814d8de000decc4c6b2580343701b1..41dc190b5a3d4808119a660eb4488a51618894c0 100644 (file)
@@ -145,6 +145,16 @@ extern int fdavail(proc_t p, int n);
                        (&(p)->p_fd->fd_ofiles[(fd)])
 #define                fdflags(p, fd)                                  \
                        (&(p)->p_fd->fd_ofileflags[(fd)])
                        (&(p)->p_fd->fd_ofiles[(fd)])
 #define                fdflags(p, fd)                                  \
                        (&(p)->p_fd->fd_ofileflags[(fd)])
+
+/*
+ * Accesor macros for fd flags
+ */
+#define FDFLAGS_GET(p, fd) (*fdflags(p, fd) & (UF_EXCLOSE|UF_FORKCLOSE))
+#define FDFLAGS_SET(p, fd, bits) \
+          (*fdflags(p, fd) |= ((bits) & (UF_EXCLOSE|UF_FORKCLOSE)))
+#define FDFLAGS_CLR(p, fd, bits) \
+          (*fdflags(p, fd) &= ~((bits) & (UF_EXCLOSE|UF_FORKCLOSE)))
+
 extern int     falloc(proc_t p, struct fileproc **resultfp, int *resultfd, vfs_context_t ctx);
 
 #ifdef __APPLE_API_PRIVATE
 extern int     falloc(proc_t p, struct fileproc **resultfp, int *resultfd, vfs_context_t ctx);
 
 #ifdef __APPLE_API_PRIVATE