AU_BSM_TO_ERRNO(3) Library Functions Manual AU_BSM_TO_ERRNO(3)

au_bsm_to_errno, au_errno_to_bsm, au_strerrorconvert between BSM and local error numbers

Basic Security Module Library (libbsm, -lbsm)

<bsm/libbsm.h> int (u_char bsm_error, int *errorp) u_char au_errno_to_bsm(int error) const char * au_strerror(int bsm_error)

These interfaces may be used to convert between the local ( errno(2)) and BSM error number spaces found in BSM return tokens.

The () function accepts a BSM error value, bsm_error, and converts it to an errno(2) that will be stored in the integer pointed to by errorp if successful. This call will fail if the BSM error cannot be mapped into a local error number, which may occur if the return token was generated on another operating system.

The () function accepts a local errno(2) value, and returns the BSM error number for it. This call cannot fail, and instead returns a BSM error number indicating to a later decoder that the error could not be encoded.

The () function converts a BSM error value to a string, generally by converting first to a local error number and using the local strerror(3) function, but will also work for errors that are not locally defined.

On success, au_bsm_to_errno() returns 0 and a converted error value; on failure, it returns -1 but does not set errno(2).

On success, () returns a pointer to an error string; on failure it will return NULL.

au_to_return(3), au_to_return32(3), au_to_return64(3), libbsm(3)

au_bsm_to_errno() and au_errno_to_bsm() were introduced in OpenBSM 1.1.

These functions were implemented by Robert Watson under contract to Apple Inc.

The Basic Security Module (BSM) interface to audit records and audit event stream format were defined by Sun Microsystems.

au_strerror is unable to provide localized strings for errors not available in the local operating system.

December 8, 2008 macOS 14.4