diff options
author | jedgar <jedgar@FreeBSD.org> | 2001-04-24 22:45:41 +0000 |
---|---|---|
committer | jedgar <jedgar@FreeBSD.org> | 2001-04-24 22:45:41 +0000 |
commit | 2da23531d99e45f34811fd6982a681112de0e182 (patch) | |
tree | 0b8830fcccafadf6607f3658e96733124ef8617d /sys/sys/acl.h | |
parent | ecbf3eacd9a17a3a9b238e2fa65b2d33d85e8d1f (diff) | |
download | FreeBSD-src-2da23531d99e45f34811fd6982a681112de0e182.zip FreeBSD-src-2da23531d99e45f34811fd6982a681112de0e182.tar.gz |
o Separate acl_t into internal and external representations as
required by POSIX.1e. This maintains the current 'struct acl'
in the kernel while providing the generic external acl_t
interface required to complete the ACL editing library.
o Add the acl_get_entry() function.
o Convert the existing ACL utilities, getfacl and setfacl, to
fully make use of the ACL editing library.
Obtained from: TrustedBSD Project
Diffstat (limited to 'sys/sys/acl.h')
-rw-r--r-- | sys/sys/acl.h | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/sys/sys/acl.h b/sys/sys/acl.h index ec5a836..f274b26 100644 --- a/sys/sys/acl.h +++ b/sys/sys/acl.h @@ -56,11 +56,18 @@ struct acl_entry { }; typedef struct acl_entry *acl_entry_t; +/* internal ACL structure */ struct acl { int acl_cnt; struct acl_entry acl_entry[ACL_MAX_ENTRIES]; }; -typedef struct acl *acl_t; + +/* external ACL structure */ +struct acl_t_struct { + struct acl ats_acl; + int ats_cur_entry; +}; +typedef struct acl_t_struct *acl_t; /* * Possible valid values for ae_tag field. @@ -148,14 +155,14 @@ __END_DECLS */ __BEGIN_DECLS int acl_add_perm(acl_permset_t _permset_d, acl_perm_t _perm); -int acl_calc_mask(acl_t *acl_p); +int acl_calc_mask(acl_t *_acl_p); int acl_clear_perms(acl_permset_t _permset_d); int acl_copy_entry(acl_entry_t _dest_d, acl_entry_t _src_d); ssize_t acl_copy_ext(void *_buf_p, acl_t _acl, ssize_t _size); acl_t acl_copy_int(const void *_buf_p); int acl_create_entry(acl_t *_acl_p, acl_entry_t *_entry_p); int acl_delete_fd_np(int _filedes, acl_type_t _type); -int acl_delete_entry(acl_t acl, acl_entry_t entry_d); +int acl_delete_entry(acl_t _acl, acl_entry_t _entry_d); int acl_delete_file_np(const char *_path_p, acl_type_t _type); int acl_delete_def_file(const char *_path_p); int acl_delete_perm(acl_permset_t _permset_d, acl_perm_t _perm); |