Fix spl version check
[zfs.git] / module / zfs / include / sys / dsl_deleg.h
index a29e44e..73c43bd 100644 (file)
  * CDDL HEADER END
  */
 /*
- * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
- * Use is subject to license terms.
+ * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
  */
 
 #ifndef        _SYS_DSL_DELEG_H
 #define        _SYS_DSL_DELEG_H
 
-#pragma ident  "%Z%%M% %I%     %E% SMI"
-
 #include <sys/dmu.h>
 #include <sys/dsl_pool.h>
 #include <sys/zfs_context.h>
@@ -51,6 +48,13 @@ extern "C" {
 #define        ZFS_DELEG_PERM_ALLOW            "allow"
 #define        ZFS_DELEG_PERM_USERPROP         "userprop"
 #define        ZFS_DELEG_PERM_VSCAN            "vscan"
+#define        ZFS_DELEG_PERM_USERQUOTA        "userquota"
+#define        ZFS_DELEG_PERM_GROUPQUOTA       "groupquota"
+#define        ZFS_DELEG_PERM_USERUSED         "userused"
+#define        ZFS_DELEG_PERM_GROUPUSED        "groupused"
+#define        ZFS_DELEG_PERM_HOLD             "hold"
+#define        ZFS_DELEG_PERM_RELEASE          "release"
+#define        ZFS_DELEG_PERM_DIFF             "diff"
 
 /*
  * Note: the names of properties that are marked delegatable are also
@@ -60,6 +64,7 @@ extern "C" {
 int dsl_deleg_get(const char *ddname, nvlist_t **nvp);
 int dsl_deleg_set(const char *ddname, nvlist_t *nvp, boolean_t unset);
 int dsl_deleg_access(const char *ddname, const char *perm, cred_t *cr);
+int dsl_deleg_access_impl(struct dsl_dataset *ds, const char *perm, cred_t *cr);
 void dsl_deleg_set_create_perms(dsl_dir_t *dd, dmu_tx_t *tx, cred_t *cr);
 int dsl_deleg_can_allow(char *ddname, nvlist_t *nvp, cred_t *cr);
 int dsl_deleg_can_unallow(char *ddname, nvlist_t *nvp, cred_t *cr);