rctl_walk(3C)




NAME

     rctl_walk - visit registered rctls on current system


SYNOPSIS

     #include <rctl.h>

     int rctl_walk(int  (*callback)(const  char  *rctlname,  void
     *walk_data), void *init_data);


DESCRIPTION

     The rctl_walk() function provides a mechanism for the appli-
     cation  author  to  examine  all  active  resource  controls
     (rctls) on the current system.  The callback  function  pro-
     vided  by  the  application  is given the name of an rctl at
     each invocation and can use the walk_data to record its  own
     state.  The  callback  function should return non-zero if it
     encounters an error condition or attempts to  terminate  the
     walk  prematurely;  otherwise  the  callback function should
     return 0.


RETURN VALUES

     Upon  successful  completion,  rctl_walk()  returns  0.   It
     returns  -1  if  the  callback  function returned a non-zero
     value or if the walk encountered an  error,  in  which  case
     errno is set to indicate the error.


ERRORS

     The rctl_walk() function will fail if:

     ENOMEM
           There is insufficient memory available to set  up  the
           initial data for the walk.

     Other returned error values are  presumably  caused  by  the
     callback function.


EXAMPLES

     Example 1: Count the number of rctls available on  the  sys-
     tem.

     The following example counts the number of resource controls
     on the system.

     #include <sys/types.h>
     #include <rctl.h>
     #include <stdio.h>

     typedef struct wdata {
          uint_t count;
     } wdata_t;

     wdata_t total_count;
     int
     simple_callback(const char *name, void *pvt)
     {
          wdata_t *w = (wdata_t *)pvt;
          w->count++;
          return (0);
     }

     ...

     total_count.count = 0;
     errno = 0;
     if (rctl_walk(simple_callback, &total_count)) == 0)
          (void) printf("count = %u0, total_count.count);


ATTRIBUTES

     See attributes(5) for descriptions of the  following  attri-
     butes:

     ____________________________________________________________
    |       ATTRIBUTE TYPE        |       ATTRIBUTE VALUE       |
    |_____________________________|_____________________________|
    | Interface Stability         | Evolving                    |
    |_____________________________|_____________________________|
    | MT-Level                    | MT-Safe                     |
    |_____________________________|_____________________________|


SEE ALSO

     setrctl(2), attributes(5)


Man(1) output converted with man2html