]> 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 3061e27ae3e26899711231b143c645aa7b29ae21..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;
@@ -132,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
 /*
  *# 
@@ -263,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);
-
 
 /*
  *#
@@ -756,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;
@@ -768,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;
@@ -779,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;
 };
@@ -876,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 */