logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

semanage_iterate - SELinux Management API

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

Name

       semanage_iterate - SELinux Management API

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

ivg2@cornell.edu                                  15 March 2006                              semanage_iterate(3)

Synopsis

       The following iterate function is supported for any semanage record.
       Replace the function and object name as necessary.

       externintITERATE_FUNCTION(semanage_handle_t*handle,int(*handler)(constsemanage_OBJECT_t*object,void*varg),void*handler_arg);

See Also