Print this page




  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 */