API управления SELinux (SELinux Management API)
Дубль
(статьи:
semanage_bool_iterate - API управления SELinux )
Имя (Name)
semanage_iterate - SELinux Management API
Синопсис (Synopsis)
The following iterate function is supported for any semanage
record.
Replace the function and object name as necessary.
extern int ITERATE_FUNCTION (
semanage_handle_t *
handle,
int (*handler) (
const semanage_OBJECT_t *
object,
void *
varg),
void *
handler_arg);
Описание (Description)
Behavior:
The iterate function will execute the specified handler
over all objects in the selected location. An arbitrary
argument can be passed into the handler function along
with each object.
The object passed in is property of the libsemanage
library, and may not be modified or preserved - use
semanage_OBJECT_clone
if that is necessary.
The handler code may not invoke any semanage write
requests for the same object type (i.e. modifying the
underlying store is not allowed). The iterate function is
reentrant only while inside a transaction (see
semanage_begin_transaction
). It is not safe to execute
other semanage read or write requests within iterate if
not inside a transaction. The handler may return -1 to
signal error exit, 0 to signal continue, and 1 to signal
successful exit early (the iterate function will stop
accordingly).
Parameters:
The handle is used to track persistent state across
semanage calls, and for error reporting. The handler is
the function to execute, with handler_arg as its second
parameter, and each object as its first parameter.
Requirements:
This function requires an semanage connection to be
established (see semanage_connect
(3) )
Возвращаемое значение (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 semanage object read calls until
the next commit.
Смотри также (See also)
semanage_handle_create
(3), semanage_connect
(3),