ACL_CHECK(3)
π ACL_CHECK(3) β Library Functions Manual π
okay so bestie, welcome to the libacl corner of the internet, we're doing error messages today and honestly? it's giving helpful. π
β¨ NAME β¨
acl_error β convert an ACL error code to a text message π¦
π LIBRARY π
Linux Access Control Lists library (libacl, -lacl). yep, that's the one, that's the vibe. π
πΈ SYNOPSIS πΈ
#include <sys/types.h>
#include <acl/libacl.h>
const char *
acl_error(int code);
π DESCRIPTION π
so the acl_error() function does one (1) thing and it does it flawlessly: it takes an ACL error code β like, the kind of thing acl_check() hands you β and turns it into a text message describing whatever went wrong. it's the translator bestie. it speaks fluent "error code" and fluent "human". π«Ά
and in the βPOSIXβ locale, acl_check() returns these descriptions for these error codes, no cap:
ACL_MULTI_ERRORβ βMultiple entriesβ π₯ACL_DUPLICATE_ERRORβ βDuplicate entriesβ πACL_MISS_ERRORβ βMissing or wrong entryβ πACL_ENTRY_ERRORβ βInvalid entry typeβ π
β RETURN VALUE β
if the error code is recognized, acl_error() returns a text message. slay.
if it's not recognized, you get a value of (const char *)NULL instead. so likeβ¦ check for that. don't be out here dereferencing NULL, that's not the main character move. π
π STANDARDS π
okay so this is a non-portable, Linux specific extension to the ACL manipulation functions defined in IEEE Std 1003.1e draft 17 (βPOSIX.1eβ, abandoned). yes bestie, abandoned. we still use it. iconic behaviour honestly. π
π SEE ALSO π
π AUTHOR π
Written by Andreas Gruenbacher <andreas.gruenbacher@gmail.com>. thank you king, we appreciate you. π«Ά
that's the whole page bestie, go forth and convert your error codes. β¨
mwah π β this was Linux ACL, from way back on March 23, 2002, filed under ACL_CHECK(3). π¦π
π¦ where this page comes from
- alpine 3.22: acl-doc 2.3.2-r1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later
- alpine 3.23: acl-doc 2.3.2-r1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later
- alpine 3.24: acl-doc 2.3.2-r1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later
- arch rolling: acl 2.4.0-1 Β· LGPL-2.1-or-later AND GPL-2.0-or-later
- centos-stream 10: libacl-devel 2.4.0-2.el10 Β· LGPL-2.1-or-later
- centos-stream 9: libacl-devel 2.4.0-2.el9 Β· LGPLv2+
- centos-stream 9: libacl-devel 2.4.0-2.el9 Β· LGPLv2+
- debian bookworm: libacl1-dev 2.3.1-3
- debian trixie: libacl1-dev 2.3.2-2+b1
- fedora 43: libacl-devel 2.3.2-4.fc43 Β· LGPL-2.1-or-later
- fedora 43: libacl-devel 2.3.2-4.fc43 Β· LGPL-2.1-or-later
- fedora 43: libacl-devel 2.4.0-1.fc43 Β· LGPL-2.1-or-later
- fedora 43: libacl-devel 2.4.0-1.fc43 Β· LGPL-2.1-or-later
- fedora 44: libacl-devel 2.3.2-6.fc44 Β· LGPL-2.1-or-later
- fedora 44: libacl-devel 2.3.2-6.fc44 Β· LGPL-2.1-or-later
- fedora 44: libacl-devel 2.4.0-1.fc44 Β· LGPL-2.1-or-later
- fedora 44: libacl-devel 2.4.0-1.fc44 Β· LGPL-2.1-or-later
- nixpkgs unstable: acl 2.4.0
- opensuse-leap 16.0: libacl-devel 2.4.0-160000.1.1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libacl-devel 2.4.0-160000.1.1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libacl-devel 2.4.0-160000.1.1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- opensuse-leap 16.0: libacl-devel 2.4.0-160000.1.1 Β· GPL-2.0-or-later AND LGPL-2.1-or-later
- ubuntu jammy: libacl1-dev 2.3.1-1
- ubuntu noble: libacl1-dev 2.3.2-1build1
- ubuntu noble: libacl1-dev 2.3.2-1build1.1
- ubuntu resolute: libacl1-dev 2.3.2-2
- ubuntu stonking: libacl1-dev 2.4.0-1
- (C) 2002 Andreas Gruenbacher, <andreas.gruenbacher@gmail.com>
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms