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