42 */
43 #define ZFS_MAX_DELEG_NAME 128
44
45 #define ZFS_DELEG_LOCAL 'l'
46 #define ZFS_DELEG_DESCENDENT 'd'
47 #define ZFS_DELEG_NA '-'
48
49 typedef enum {
50 ZFS_DELEG_NOTE_CREATE,
51 ZFS_DELEG_NOTE_DESTROY,
52 ZFS_DELEG_NOTE_SNAPSHOT,
53 ZFS_DELEG_NOTE_ROLLBACK,
54 ZFS_DELEG_NOTE_CLONE,
55 ZFS_DELEG_NOTE_PROMOTE,
56 ZFS_DELEG_NOTE_RENAME,
57 ZFS_DELEG_NOTE_RECEIVE,
58 ZFS_DELEG_NOTE_ALLOW,
59 ZFS_DELEG_NOTE_USERPROP,
60 ZFS_DELEG_NOTE_MOUNT,
61 ZFS_DELEG_NOTE_SHARE,
62 ZFS_DELEG_NOTE_NONE
63 } zfs_deleg_note_t;
64
65 typedef struct zfs_deleg_perm_tab {
66 char *z_perm;
67 zfs_deleg_note_t z_note;
68 } zfs_deleg_perm_tab_t;
69
70 extern zfs_deleg_perm_tab_t zfs_deleg_perm_tab[];
71
72 int zfs_deleg_verify_nvlist(nvlist_t *nvlist);
73 void zfs_deleg_whokey(char *attr, zfs_deleg_who_type_t type,
74 char checkflag, void *data);
75 const char *zfs_deleg_canonicalize_perm(const char *perm);
76
77 #ifdef __cplusplus
78 }
79 #endif
80
81 #endif /* _ZFS_DELEG_H */
|
42 */
43 #define ZFS_MAX_DELEG_NAME 128
44
45 #define ZFS_DELEG_LOCAL 'l'
46 #define ZFS_DELEG_DESCENDENT 'd'
47 #define ZFS_DELEG_NA '-'
48
49 typedef enum {
50 ZFS_DELEG_NOTE_CREATE,
51 ZFS_DELEG_NOTE_DESTROY,
52 ZFS_DELEG_NOTE_SNAPSHOT,
53 ZFS_DELEG_NOTE_ROLLBACK,
54 ZFS_DELEG_NOTE_CLONE,
55 ZFS_DELEG_NOTE_PROMOTE,
56 ZFS_DELEG_NOTE_RENAME,
57 ZFS_DELEG_NOTE_RECEIVE,
58 ZFS_DELEG_NOTE_ALLOW,
59 ZFS_DELEG_NOTE_USERPROP,
60 ZFS_DELEG_NOTE_MOUNT,
61 ZFS_DELEG_NOTE_SHARE,
62 ZFS_DELEG_NOTE_CRYPTO_DSL,
63 ZFS_DELEG_NOTE_CRYPTO_DSL_CHANGE,
64 ZFS_DELEG_NOTE_NONE
65 } zfs_deleg_note_t;
66
67 typedef struct zfs_deleg_perm_tab {
68 char *z_perm;
69 zfs_deleg_note_t z_note;
70 } zfs_deleg_perm_tab_t;
71
72 extern zfs_deleg_perm_tab_t zfs_deleg_perm_tab[];
73
74 int zfs_deleg_verify_nvlist(nvlist_t *nvlist);
75 void zfs_deleg_whokey(char *attr, zfs_deleg_who_type_t type,
76 char checkflag, void *data);
77 const char *zfs_deleg_canonicalize_perm(const char *perm);
78
79 #ifdef __cplusplus
80 }
81 #endif
82
83 #endif /* _ZFS_DELEG_H */
|