---
name: "acl_get_brand_np"
section: "3"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/acl_get_brand_np"
---

# acl\_get\_brand\_np(3)

retrieve the ACL brand from an ACL entry

## NAME

**acl\_get\_brand\_np** – retrieve the ACL brand from an ACL entry

## LIBRARY

Standard C Library (libc, -lc)

## SYNOPSIS

**#include \<sys/types.h\>**

**#include \<sys/acl.h\>**

*int*\

**acl\_get\_brand\_np**(*acl\_t acl*, *int \*brand\_p*);

## DESCRIPTION

The **acl\_get\_brand\_np**() function is a non-portable call that returns the ACL brand for the ACL *acl*. Upon successful completion, the location referred to by the argument *brand\_p* will be set to the ACL brand of the ACL *acl*.

Branding is an internal mechanism intended to prevent mixing POSIX.1e and NFSv4 entries by mistake. It's also used by the libc to determine how to print out the ACL. The first call to function that is specific for one particular brand - POSIX.1e or NFSv4 - "brands" the ACL. After that, calling function specific to another brand will result in error.

## RETURN VALUES

The **acl\_get\_brand\_np()** function returns the value 0 if successful; otherwise the value -1 is returned and the global variable errno is set to indicate the error.

## ERRORS

The **acl\_get\_brand\_np**() function fails if:

- \[EINVAL\]

  Argument *acl* does not point to a valid ACL.

## SEE ALSO

[acl(3)](/acl/3.md), [posix1e(3)](/posix1e/3.md)

## STANDARDS

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

## HISTORY

POSIX.1e support was introduced in FreeBSD 4.0. The **acl\_get\_brand\_np**() function was added in FreeBSD 8.0.

## AUTHORS

The **acl\_get\_brand\_np**() function was written by Edward Tomasz Napierala ⟨*trasz@FreeBSD.org*⟩.
