Purpose
Reads
the characteristics
of superclasses or subclasses.
Library
Workload
Manager
Library (libwlm.a)
Syntax
#include <sys/wlm.h>
int wlm_read_classes (wlmargs, class_tbl, nclass)
struct wlm_args *wlmargs;
struct class_definition *class_tbl;
int *nclass;
Description
The wlm_read_classes subroutine
is used to get the characteristics of the superclasses or the subclasses
of a given subclass of a Workload Manager (WLM) configuration.
- If the name of a configuration is passed in the confdir field,
the wlm_read_classes subroutine reads the property files of
the classes of the specified configuration. If confdir is set
to a null string ('\0'), wlm_read classes reads the classes'
characteristics from the in-core WLM data structures when WLM is on
(and returns an error when WLM is off).
Note: These values may be
different from the values in the property files of the configuration
pointed to by /etc/wlm/current. For instance when a WLM administrator
has modified the property files for the configuration pointed to by /etc/wlm/current but
has not refreshed WLM yet. Another example is if applications dynamically
created or modified classes through the API without saving the changes
in the current configuration property files.
If
your application specifically needs to access the properties of the
classes as described in the /etc/wlm/current configuration,
you must specify current as the configuration name in confdir.
If
the name of a set of time-based configurations is passed in the confdir field,
the wlm_read_classes subroutine reads the classes of the currently
applicable configuration of the set.
- If the name of a
valid superclass of the given configuration is
passed in the name field of the class_descr substructure
of wlmargs, wlm_read_classes reads the property files
for the subclasses of this superclass. If a null string ('\0') is
passed in the name field, wlm_read_classes reads the
property files for the superclasses of the WLM configuration described
above.
- When wlm_read_classes is successful, the characteristics
of the superclasses or subclasses are copied into the array of class_definition structures
pointed to by class_tbl. The integer value pointed to by nclass indicates
the maximum number of class definitions to be copied. Upon successful
return from the function, this value reflects the actual number of
classes read.
If the number of elements copied by wlm_read_classes is
strictly smaller than the number of elements passed as an argument,
all the classes have been read. If it is equal, it may mean that some
classes were not copied into the class_tbl array because its
size is too small.
The maximum number of classes read by wlm_read_classes is
67 (64 user-defined superclasses plus System, Shared and Default)
when reading superclasses and 63 (61 user-defined subclasses plus
Shared and Default) when reading subclasses characteristics.
- Upon successful return from wlm_read_classes, the substructure class of
type struct class_definition of the structure pointed to by wlmargs contains
the default values of various class attributes for the returned set
of classes.
This operation does not require any special
privileges and
is accessible to all users.
Parameter
| Item |
Description |
| wlmargs |
Specifies the
address of a struct wlm_args data structure.
The following fields of the wlm_args structure and the
embedded substructures need to be provided:
- versflags
- Needs to be initialized with WLM_VERSION.
- confdir
- Specifies the name of a WLM configuration.
It must be either the
name of a valid subdirectory of /etc/wlm or a null string (starting
with '\0').
- name
- Specifies
the name of a superclass existing in the specified configuration
or a null string.
All the other fields can
be left uninitialized.
|
| Item |
Description |
| class_tbl |
Specifies
the address of an array of structures of type struct
class_definition. Upon successful return from wlm_read_classes,
this array contains the characteristics of the classes read. |
| nclass |
Specifies
the address of an integer containing the maximum
number of element (class definitions) for wlm_read_classes to
copy into the array above. If the call to wlm_read_classes is
successful, this integer contains the number of elements actually
copied. |
Return Values
Upon successful
completion, the wlm_read_classes subroutine returns a value
of 0. If the wlm_read_classes subroutine is unsuccessful, a
nonzero value is returned.
Error
Codes
For a list of
the possible error codes returned by the WLM API functions, see the
description of the wlm.h header
file.