]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/vnode_if.h
xnu-1228.9.59.tar.gz
[apple/xnu.git] / bsd / sys / vnode_if.h
index 4112e27d2d4bc611725e39bfbed4f87e9be0e12a..87fa293330e812a56f37e905e8e9f4d6f545315f 100644 (file)
  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
  * SUCH DAMAGE.
  */
-
+/*
+ * NOTICE: This file was modified by SPARTA, Inc. in 2005 to introduce
+ * support for mandatory and extensible security protections.  This notice
+ * is included in support of clause 2.2 (b) of the Apple Public License,
+ * Version 2.0.
+ */
 
 /*
  * Warning: This file is generated automatically.
@@ -95,8 +100,6 @@ extern struct vnodeop_desc vnop_close_desc;
 extern struct vnodeop_desc vnop_access_desc;
 extern struct vnodeop_desc vnop_getattr_desc;
 extern struct vnodeop_desc vnop_setattr_desc;
-extern struct vnodeop_desc vnop_getattrlist_desc;
-extern struct vnodeop_desc vnop_setattrlist_desc;
 extern struct vnodeop_desc vnop_read_desc;
 extern struct vnodeop_desc vnop_write_desc;
 extern struct vnodeop_desc vnop_ioctl_desc;
@@ -124,7 +127,6 @@ extern struct vnodeop_desc vnop_truncate_desc;
 extern struct vnodeop_desc vnop_allocate_desc;
 extern struct vnodeop_desc vnop_pagein_desc;
 extern struct vnodeop_desc vnop_pageout_desc;
-extern struct vnodeop_desc vnop_devblocksize_desc;
 extern struct vnodeop_desc vnop_searchfs_desc;
 extern struct vnodeop_desc vnop_copyfile_desc;
 extern struct vnodeop_desc vnop_blktooff_desc;
@@ -133,6 +135,16 @@ extern struct vnodeop_desc vnop_blockmap_desc;
 extern struct vnodeop_desc vnop_strategy_desc;
 extern struct vnodeop_desc vnop_bwrite_desc;
 
+#ifdef __APPLE_API_UNSTABLE
+
+#if NAMEDSTREAMS
+extern struct vnodeop_desc vnop_getnamedstream_desc;
+extern struct vnodeop_desc vnop_makenamedstream_desc;
+extern struct vnodeop_desc vnop_removenamedstream_desc;
+#endif
+
+#endif
+
 __BEGIN_DECLS
 /*
  *# 
@@ -264,37 +276,6 @@ struct vnop_setattr_args {
 };
 extern errno_t VNOP_SETATTR(vnode_t, struct vnode_attr *, vfs_context_t);
 
-/*
- *#
- *#% getattrlist  vp      = = =
- *#
- */
-struct vnop_getattrlist_args {
-       struct vnodeop_desc *a_desc;
-       vnode_t a_vp;
-       struct attrlist *a_alist;
-       struct uio *a_uio;
-       int a_options;
-       vfs_context_t a_context;
-};
-extern errno_t VNOP_GETATTRLIST(vnode_t, struct attrlist *, struct uio *, int, vfs_context_t);
-
-
-/*
- *#
- *#% setattrlist  vp      L L L
- *#
- */
-struct vnop_setattrlist_args {
-       struct vnodeop_desc *a_desc;
-       vnode_t a_vp;
-       struct attrlist *a_alist;
-       struct uio *a_uio;
-       int a_options;
-       vfs_context_t a_context;
-};
-extern errno_t VNOP_SETATTRLIST(vnode_t, struct attrlist *, struct uio *, int, vfs_context_t);
-
 
 /*
  *#
@@ -710,18 +691,6 @@ struct vnop_pageout_args {
 extern errno_t VNOP_PAGEOUT(vnode_t, upl_t, vm_offset_t, off_t, size_t, int, vfs_context_t);
 
 
-#ifdef BSD_KERNEL_PRIVATE
-/*
- *#% devblocksize vp      = = =
- *#
- */
-struct vnop_devblocksize_args {
-       struct vnodeop_desc *a_desc;
-       vnode_t a_vp;
-       register_t *a_retval;
-};
-#endif /* BSD_KERNEL_PRIVATE */
-
 /*
  *#
  *#% searchfs     vp      L L L
@@ -769,7 +738,7 @@ extern errno_t VNOP_COPYFILE(vnode_t, vnode_t, vnode_t, struct componentname *,
 struct vnop_getxattr_args {
        struct vnodeop_desc *a_desc;
        vnode_t a_vp;
-       char * a_name;
+       const char * a_name;
        uio_t a_uio;
        size_t *a_size;
        int a_options;
@@ -781,7 +750,7 @@ extern errno_t VNOP_GETXATTR(vnode_t, const char *, uio_t, size_t *, int, vfs_co
 struct vnop_setxattr_args {
        struct vnodeop_desc *a_desc;
        vnode_t a_vp;
-       char * a_name;
+       const char * a_name;
        uio_t a_uio;
        int a_options;
        vfs_context_t a_context;
@@ -792,7 +761,7 @@ extern errno_t VNOP_SETXATTR(vnode_t, const char *, uio_t, int, vfs_context_t);
 struct vnop_removexattr_args {
        struct vnodeop_desc *a_desc;
        vnode_t a_vp;
-       char * a_name;
+       const char * a_name;
        int a_options;
        vfs_context_t a_context;
 };
@@ -889,6 +858,56 @@ struct vnop_kqfilt_remove_args {
 extern struct vnodeop_desc vnop_kqfilt_remove_desc;
 errno_t VNOP_KQFILT_REMOVE(vnode_t , uintptr_t , vfs_context_t);
 
+struct label;
+struct vnop_setlabel_args {
+       struct vnodeop_desc *a_desc;
+       struct vnode *a_vp;
+       struct label *a_vl;
+       vfs_context_t a_context;
+};
+extern struct vnodeop_desc vnop_setlabel_desc;
+errno_t VNOP_SETLABEL(vnode_t, struct label *, vfs_context_t);
+
+#ifdef __APPLE_API_UNSTABLE
+
+#if NAMEDSTREAMS
+
+enum nsoperation       { NS_OPEN, NS_CREATE, NS_DELETE };
+
+struct vnop_getnamedstream_args {
+       struct vnodeop_desc *a_desc;
+       vnode_t a_vp;
+       vnode_t *a_svpp;
+       const char *a_name;
+       enum nsoperation a_operation;
+       int a_flags;
+       vfs_context_t a_context;
+};
+extern errno_t VNOP_GETNAMEDSTREAM(vnode_t, vnode_t *, const char *, enum nsoperation, int flags, vfs_context_t);
+
+struct vnop_makenamedstream_args {
+       struct vnodeop_desc *a_desc;
+       vnode_t *a_svpp;
+       vnode_t a_vp;
+       const char *a_name;
+       int a_flags;
+       vfs_context_t a_context;
+};
+extern errno_t VNOP_MAKENAMEDSTREAM(vnode_t, vnode_t *, const char *, int flags, vfs_context_t);
+
+struct vnop_removenamedstream_args {
+       struct vnodeop_desc *a_desc;
+       vnode_t a_vp;
+       vnode_t a_svp;
+       const char *a_name;
+       int a_flags;
+       vfs_context_t a_context;
+};
+extern errno_t VNOP_REMOVENAMEDSTREAM(vnode_t, vnode_t, const char *, int flags, vfs_context_t);
+#endif
+
+#endif
+
 __END_DECLS
 
 #endif /* KERNEL */