X-Git-Url: https://git.saurik.com/apple/xnu.git/blobdiff_plain/4452a7af2eac33dbad800bcc91f2399d62c18f53..593a1d5fd87cdf5b46dd5fcb84467b432cea0f91:/bsd/sys/vnode_if.h diff --git a/bsd/sys/vnode_if.h b/bsd/sys/vnode_if.h index 3061e27ae..87fa29333 100644 --- a/bsd/sys/vnode_if.h +++ b/bsd/sys/vnode_if.h @@ -59,7 +59,12 @@ * 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 */