Provided by: libsemanage1-dev_2.3-1build3_amd64 bug

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),