ACL_STRIP_NP(3)

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

πŸ’… acl_strip_np(3) β€” strip extended entries from an ACL

okay bestie, so this page is acl_strip_np from section 3 (library functions) of the manual. Cute little function, does one thing, and honestly? she ate.

Library: Standard C Library (libc, -lc) 🫢


✨ SYNOPSIS ✨

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

acl_t
acl_strip_np(const acl_t acl, int recalculate_mask);

πŸ¦‹ DESCRIPTION πŸ¦‹

so the acl_strip_np() function returns a pointer to a trivial ACL computed from the ACL pointed to by the argument acl. like, it takes your fancy extended-entry-haver ACL and gives you back the simple, no-drama version. main character energy: stripped down, still valid.

heads up: this function may cause memory to be allocated. πŸ’€

so the caller should free any releasable memory once the new ACL is no longer required, by calling acl_free(3) with the (void*)acl_t as an argument. yes, cast it like that. don't be shy.

and no cap on this one: any existing ACL pointers that refer to the ACL referred to by acl shall continue to refer to the ACL. nothing gets yanked out from under you, we're not like that.


🌈 RETURN VALUES 🌈

Upon successful completion, this function shall return a pointer to the newly allocated ACL. slay. ✨

Otherwise, a value of (acl_t)NULL shall be returned, and errno shall be set to indicate the error. sad but informative.


πŸŽ€ ERRORS πŸŽ€

If any of the following conditions occur, the acl_init() function shall return a value of (acl_t)NULL and set errno to the corresponding value (yes, the page really does name acl_init() here β€” that's what it says, I don't make the rules πŸ™ˆ):

  • [EINVAL] β€” Argument acl does not point to a valid ACL. bestie that's not an ACL, that's a vibe.
  • [ENOMEM] β€” The acl_t to be returned requires more memory than is allowed by the hardware or system-imposed memory management constraints. the hardware said no and honestly? fair.

πŸ”₯ SEE ALSO πŸ”₯

go read them, iykyk πŸ’œ


🌸 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 retro, very "email list era", we respect it.


πŸ‘‘ HISTORY πŸ‘‘

POSIX.1e support was introduced in FreeBSD 4.0. The acl_strip_np() function was added in FreeBSD 8.0. glow up timeline, honestly.


🧚 AUTHORS 🧚

Edward Tomasz Napierala <trasz@FreeBSD.org> β€” icon, legend, wrote the thing πŸ’–


k byeee bestie, that's the whole page, go strip some ACLs responsibly πŸ“

this lil rewrite brought to you by the Debian edition of the manual, dated June 25, 2009 β€” mwah, drink water, and remember to acl_free(3) your memory πŸ’…

πŸ“¦ where this page comes from