Provided by: libsemanage-dev_3.5-1build5_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),