FreeBSD 7.0 manual page repository

FreeBSD is a free computer operating system based on BSD UNIX originally. Many IT companies, like DeployIS is using it to provide an up-to-date, stable operating system.

acl_calc_mask - calculate and set ACL mask permissions



      acl_calc_mask - calculate and set ACL mask permissions


      Standard C Library (libc, -lc)


      #include <sys/types.h>
      #include <sys/acl.h>
      acl_calc_mask(acl_t *acl_p);


      The acl_calc_mask() function is a POSIX.1e call that calculates and set
      the permissions associated with the ACL_MASK ACL entry of the ACL
      referred to by acl_p.
      The value of new permissions are the union of the permissions granted by
      the ACL_GROUP, ACL_GROUP_OBJ, ACL_USER tag types which match processes in
      the file group class contained in the ACL referred to by acl_p.
      If the ACL referred to by acl_p already contains an ACL_MASK entry, its
      permissions shall be overwritten; if it does not contain an ACL_MASK
      entry, one shall be added.
      The acl_calc_mask() function returns the value 0 if successful; otherwise
      the value -1 is returned and the global variable errno is set to indicate
      the error.


      The acl_calc_mask() function fails if:
      [EINVAL]           Argument acl_p does not point to a pointer to a valid
      acl(3), acl_get_entry(3), acl_valid(3), posix1e(3)


      POSIX.1e is described in IEEE POSIX.1e draft 17.


      POSIX.1e support was introduced in FreeBSD 4.0.  The acl_calc_mask()
      function was added in FreeBSD 5.0.


      The acl_calc_mask() function was written by Chris D. Faulhaber


Based on BSD UNIX
FreeBSD is an advanced operating system for x86 compatible (including Pentium and Athlon), amd64 compatible (including Opteron, Athlon64, and EM64T), UltraSPARC, IA-64, PC-98 and ARM architectures. It is derived from BSD, the version of UNIX developed at the University of California, Berkeley. It is developed and maintained by a large team of individuals. Additional platforms are in various stages of development.