fa9e4066f08beec538e775443c5be79dd423fcabahrens * CDDL HEADER START
fa9e4066f08beec538e775443c5be79dd423fcabahrens * The contents of this file are subject to the terms of the
3f063a9d046be1602e680274441fdc168bba9f61ck * Common Development and Distribution License (the "License").
3f063a9d046be1602e680274441fdc168bba9f61ck * You may not use this file except in compliance with the License.
fa9e4066f08beec538e775443c5be79dd423fcabahrens * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
fa9e4066f08beec538e775443c5be79dd423fcabahrens * See the License for the specific language governing permissions
fa9e4066f08beec538e775443c5be79dd423fcabahrens * and limitations under the License.
fa9e4066f08beec538e775443c5be79dd423fcabahrens * When distributing Covered Code, include this CDDL HEADER in each
fa9e4066f08beec538e775443c5be79dd423fcabahrens * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
fa9e4066f08beec538e775443c5be79dd423fcabahrens * If applicable, add the following below this CDDL HEADER, with the
fa9e4066f08beec538e775443c5be79dd423fcabahrens * fields enclosed by brackets "[]" replaced with your own identifying
fa9e4066f08beec538e775443c5be79dd423fcabahrens * information: Portions Copyright [yyyy] [name of copyright owner]
fa9e4066f08beec538e775443c5be79dd423fcabahrens * CDDL HEADER END
0a586cea3ceec7e5e50e7e54c745082a7a333ac2Mark Shellenbaum * Copyright 2010 Sun Microsystems, Inc. All rights reserved.
fa9e4066f08beec538e775443c5be79dd423fcabahrens * Use is subject to license terms.
fa9e4066f08beec538e775443c5be79dd423fcabahrensextern "C" {
fa9e4066f08beec538e775443c5be79dd423fcabahrens/* zfs_dirent_lock() flags */
fa9e4066f08beec538e775443c5be79dd423fcabahrens#define ZSHARED 0x0004 /* shared access (zfs_dirlook()) */
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#define ZCILOOK 0x0020 /* case-insensitive lookup requested */
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw#define ZCIEXACT 0x0040 /* c-i requires c-s match (rename) */
afefc7e4027e02291d2f534f969cfd38b9dd1db3Sanjeev Bagewadi#define ZHAVELOCK 0x0080 /* z_name_lock is already held */
fa9e4066f08beec538e775443c5be79dd423fcabahrens/* mknode flags */
fa9e4066f08beec538e775443c5be79dd423fcabahrens#define IS_XATTR 0x02 /* create an extended attribute node */
fa9e4066f08beec538e775443c5be79dd423fcabahrensextern int zfs_dirent_lock(zfs_dirlock_t **, znode_t *, char *, znode_t **,
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amw int, int *, pathname_t *);
fa9e4066f08beec538e775443c5be79dd423fcabahrensextern int zfs_link_create(zfs_dirlock_t *, znode_t *, dmu_tx_t *, int);
893a6d32980d24be1349478f44169009d4801c25ahrensextern int zfs_link_destroy(zfs_dirlock_t *, znode_t *, dmu_tx_t *, int,
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwextern int zfs_dirlook(znode_t *, char *, vnode_t **, int, int *,
4ccbb6e737373468bb9dc1709618384cce4c9f92ahrensextern void zfs_mknode(znode_t *, vattr_t *, dmu_tx_t *, cred_t *,
da6c28aaf62fa55f0fdb8004aa40f88f23bf53f0amwextern void zfs_dl_name_switch(zfs_dirlock_t *dl, char *new, char **old);
fa9e4066f08beec538e775443c5be79dd423fcabahrensextern int zfs_sticky_remove_access(znode_t *, znode_t *, cred_t *cr);
3f063a9d046be1602e680274441fdc168bba9f61ckextern int zfs_get_xattrdir(znode_t *, vnode_t **, cred_t *, int);
fa9e4066f08beec538e775443c5be79dd423fcabahrensextern int zfs_make_xattrdir(znode_t *, vattr_t *, vnode_t **, cred_t *);
fa9e4066f08beec538e775443c5be79dd423fcabahrens#endif /* _SYS_FS_ZFS_DIR_H */