semanage_iterate(3) — Linux manual page


semanage_iterate(3)   Libsemanage API documentation  semanage_iterate(3)

NAME         top

       semanage_iterate - SELinux Management API

SYNOPSIS         top

       The following iterate function is supported for any semanage
       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         top

              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

              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.

              This function requires an semanage connection to be
              established (see semanage_connect(3) )

RETURN VALUE         top

       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         top

       semanage_handle_create(3), semanage_connect(3),

COLOPHON         top

       This page is part of the selinux (Security-Enhanced Linux user-
       space libraries and tools) project.  Information about the
       project can be found at 
       ⟨⟩.  If you have a
       bug report for this manual page, see
       This page was obtained from the project's upstream Git repository
       ⟨⟩ on 2023-12-22.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2023-05-11.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to              15 March 2006          semanage_iterate(3)

Pages that refer to this page: semanage_bool(3)semanage_fcontext(3)semanage_iface(3)semanage_node(3)semanage_port(3)semanage_seuser(3)semanage_user(3)