ACL_EQUIV_MODE_NP(3)

πŸ“¦ version 15.1, in freebsd 14.5, freebsd 15.1

πŸ’… ACL_EQUIV_MODE_NP(3) β€” Library Functions Manual

okay so bestie, welcome to the acl_equiv_mode_np(3) page from the Library Functions Manual β€” we're checking ACL vibes against plain UNIX permission bits, and it's honestly kind of iconic ✨


🌸 NAME 🌸

acl_equiv_mode_np β€” check if ACL can be represented as UNIX permissions

🫢 LIBRARY 🫢

It lives in the Standard C Library (libc, -lc) β€” yes, that's the exact library line, no cap πŸ’–

✨ SYNOPSIS ✨

#include <sys/types.h>
#include <sys/acl.h>

int
acl_equiv_mode_np(acl_t acl, mode_t* mode_p);

πŸ’… DESCRIPTION πŸ’…

The acl_equiv_mode_np() function is a non-portable call, iykyk β€” it checks that entries contained in the acl argument use only the ACL_USER_OBJ, ACL_GROUP_OBJ, and ACL_OTHER tag types, and that permissions contained in these entries consist only of ACL_READ, ACL_WRITE and ACL_EXECUTE. If the check succeeds, the ACL can be represented as traditional UNIX file permissions bits set πŸ‘‘

If mode_p is not NULL and the check succeeds, the function fills the argument with a mode value corresponding to permissions contained in the ACL. Cute, right? πŸŽ€

πŸ”₯ RETURN VALUES πŸ”₯

Upon successful completion, the function returns 0 if the ACL can be represented as UNIX permissions and 1 if it is not possible. Otherwise, a value of -1 is returned, and errno is set to indicate the error. So 0 = slay, 1 = nope, -1 = something went off πŸ’€

🚨 ERRORS 🚨

If any of the following conditions occur, the acl_equiv_mode_np() function returns a value of -1 and sets errno to the corresponding value:

  • [EINVAL] β€” Argument acl does not point to a valid ACL.

πŸ‘€ SEE ALSO πŸ‘€

🌈 STANDARDS 🌈

POSIX.1e is described in IEEE POSIX.1e draft 17. Discussion of the draft continues on the cross-platform POSIX.1e implementation mailing list. To join this list, see the FreeBSD POSIX.1e implementation page for more information. Very "deep lore" of you, bestie πŸ“š

πŸ¦‹ HISTORY πŸ¦‹

POSIX.1e support was introduced in FreeBSD 4.0, and development continues. Periodt β€” the lore keeps going 🌱

πŸ‘‘ AUTHORS πŸ‘‘

Gleb Popov


Sign-off tea β˜•: this page is from Debian, dated January 20, 2021, and the footer tag is ACL_EQUIV_MODE_NP(3) β€” bye bestie, go check those ACLs πŸ’–

πŸ“¦ where this page comes from