class_open(3) — Subroutines
NAME
class_open − Initialize the class scheduler database.
SYNOPSIS
#include <apar_types.h>
#include <sys/class.h> class_open(
apart_id,
part_id,
∗class_apar_handle_t,
handle );
PARAMETERS
part_id
Input which describes the unique partition identifier.
handle
Output that displays the descriptor used in calls to reference the partition.
DESCRIPTION
The class_open function is used to prepare the class scheduler database for use as follows:
•Opening the disk file (if any).
•Creating (or attaching to) a shared memory section.
•Creating (or attaching to) a semaphore.
•Initializing the database if one did not aready exist.
Before class scheduling can be used for a partition, its class scheduler database must be initialized. At the first call of class_open() since the system last started, the function creates a shared memory segment for the partition database and, if it exists on disk, reads it into the shared memory. A semaphore is also created that is used to synchronize potential simultaneous database updates (from class_admin and runclass, for instance). If no database exists for the partition one will be created with the default configuration
On subsequent calls to class_open() the function attaches to the existing shared memory and semaphore.
RESTRICTIONS
The caller must have root access rights.
RETURN VALUES
CLASS_SUCCESS
Operation successfully completed.
CLASS_DEFAULT_CONFIGURED
The class_open succeeded but no database existed. A new database was created with default configuration settings.
CLASS_NOT_SUSER
The calling process is not super user (root) and permission is denied.
CLASS_MEM_ALLOC_FAILURE
The malloc function failed to get memory for handle.
CLASS_FILE_FAILURE.
Failed to access disk file, if it exists.
CLASS_SHARED_MEM_FAILURE
Failed to create or attach to shared memory.
CLASS_SEMAPHORE_FAILURE
Failed to create or attach to semaphore.