The following exists function is supported for any semanage record.
.br
Replace the function and object name as necessary.
.BexternintEXISTS_FUNCTION(
.br
.BI" semanage_handle_t *"handle","
.br
.BI" const semanage_OBJECT_key_t *"key","
.br
.BI" semanage_OBJECT_t **"response");"
.SH"DESCRIPTION"
.TP
.BBehavior:
The exists function will return 0 if a matching key is not found, and 1 otherwise.
.TP
.BParameters:
The
.Ihandle
is used to track persistent state across semanage calls, and for error reporting. The
.Ikey
identifies the object being checked. The result of the test will be stored in the address pointed by
.Iresponse
The key is a property of the caller, and will not be stored or modified internally.
.TP
.BRequirements:
This function requires an semanage connection to be established (see
.BRsemanage_connect"(3)"
)
.SH"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.