semanage\_exists(3) Libsemanage API documentation semanage\_exists(3)

# [NAME](#NAME)

semanage\_exists - SELinux Management API

# [SYNOPSIS](#SYNOPSIS)

The following exists function is supported for any semanage record.  
Replace the function and object name as necessary.

**extern int EXISTS\_FUNCTION (**  
**semanage\_handle\_t \*handle,**  
**const semanage\_OBJECT\_key\_t \*key,**  
**semanage\_OBJECT\_t \*\*response);**

# [DESCRIPTION](#DESCRIPTION)

[**Behavior:**](#Behavior:)

The exists function will return 0 if a matching key is not found, and 1 otherwise.

[**Parameters:**](#Parameters:)

The *handle* is used to track persistent state across semanage calls, and for error reporting. The *key* identifies the object being checked. The result of the test will be stored in the address pointed by *response* The key is a property of the caller, and will not be stored or modified internally.

[**Requirements:**](#Requirements:)

This function requires an semanage connection to be established (see [**semanage\_connect**(3)](/man/os/libsemanage/semanage_connect.3) )

# [RETURN VALUE](#RETURN_VALUE)

In case of failure, -1 is returned, and the semanage error callback is invoked, describing the error. Otherwise a non-negative integer is returned (a commit number). The same number will be returned by all other read calls to the semanage database until the next commit.

# [SEE ALSO](#SEE_ALSO)

[**semanage\_handle\_create**(3)](/man/os/libsemanage/semanage_handle_create.3), [**semanage\_connect**(3)](/man/os/libsemanage/semanage_connect.3),

16 March 2006 ivg2@cornell.edu

---

Document: semanage_iface_exists(3) from libsemanage 3.11-r3 (Chainguard OS)
Source: https://github.com/SELinuxProject/selinux.git
