---
name: "audit_log_semanage_message"
section: "3"
platform: "linux"
package: "audit"
version: "4.2.1-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/audit_log_semanage_message"
---

# audit\_log\_semanage\_message(3)

log a semanage message

## NAME

audit\_log\_semanage\_message - log a semanage message

## SYNOPSIS

```
#include <libaudit.h>
```

**int audit\_log\_semanage\_message(int** *audit\_fd***,**                                **int** *type***,**                                **const char \****pgname***,**                                **const char \****op***,**                                **const char \****name***,**                                **unsigned int** *id***,**                                **const char \****new\_seuser***,**                                **const char \****new\_role***,**                                **const char \****new\_range***,**                                **const char \****old\_seuser***,**                                **const char \****old\_role***,**                                **const char \****old\_range***,**                                **const char \****host***,**                                **const char \****addr***,**                                **const char \****tty***,**                                **int** *result***);**

## DESCRIPTION

This function will log a message to the audit system using a predefined message format. It should be used for all SE Linux user and role manipulation operations. The function parameters are as follows:

```
audit_fd - The fd returned by audit_open
type - type of message: AUDIT_ROLE_ASSIGN/REMOVE for changing any SE Linux user or role attributes.
pgname - program's name
op  -  operation. "adding-user", "adding-role", "deleting-user", "deleting-role"
name - user's account. If not available use NULL.
id  -  uid that the operation is being performed on. This is used only when name is NULL.
new_seuser - the new seuser that the login user is getting
new_role - the new_role that the login user is getting
new_range - the new mls range that the login user is getting
old_seuser - the old seuser that the login usr had
old_role - the old role that the login user had
old_range - the old mls range that the login usr had
host - The hostname if known
addr - The network address of the user
tty  - The tty of the user
result - 1 is "success" and 0 is "failed"
```

## RETURN VALUE

It returns the sequence number which is \> 0 on success or \<= 0 on error.

## ERRORS

This function returns -1 on failure. Examine errno for more info.

## SEE ALSO

[**audit\_log\_user\_message**(3)](/audit_log_user_message/3.md), [**audit\_log\_acct\_message**(3)](/audit_log_acct_message/3.md), [**audit\_log\_user\_avc\_message**(3)](/audit_log_user_avc_message/3.md), [**audit\_log\_user\_comm\_message**(3)](/audit_log_user_comm_message/3.md).

## AUTHOR

Steve Grubb
