class_open(3)class_open(3)NAMEclass_open - initialize the class scheduling database
SYNOPSIS
#include <apar_types.h> #include <sys/class.h>
class_open(
apar_t part_id,
class_apar_handle_t *handle );
LIBRARY
Class Scheduling Library (libclass.a)
This library is not available as a shared library.
PARAMETERS
Input that describes the unique partition identifier. Output that dis‐
plays the descriptor used in calls to reference the partition.
DESCRIPTION
The class_open() function is used to prepare the class database for use
as follows: Opening the disk file (if required) Creating (or attaching
to) a shared memory section Creating (or attaching to) a semaphore Ini‐
tializing the database if one does not aready exist
Before class scheduling can be used for a partition, its class 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 par‐
tition's database and, if it exists on disk, reads it into the shared
memory. A semaphore is also created that is used to synchronize poten‐
tial simultaneous database updates (from class_admin and runclass, for
instance). If no database exists for the partition, one will be created
with the default name and configuration.
On subsequent calls to class_open(), the function attaches to the
shared memory and semaphore for the database most recently loaded into
memory for the specified partition.
Note
It is possible for multiple databases to be set up on disk for use with
the same partition (to be applied at different times). In this case,
the database currently loaded into memory or, if no database is loaded,
the default pathname assumed by the class_open() function when a data‐
base is loaded from disk might not be appropriate. Therefore, the pro‐
gram must call class_load_database() to specify the target database.
RESTRICTIONS
The caller must have root access rights.
RETURN VALUES
The operation completed successfully. The class_open() succeeded but
no database existed. A new database was created with default configu‐
ration settings. The calling process is not superuser (root) and per‐
mission is denied. The malloc function failed to get memory for han‐
dle. Failed to access disk file, if it exists. Failed to create or
attach to shared memory. Failed to create or attach to semaphore.
SEE ALSO
Commands: runclass(1), class_admin(8)
Functions: class_load_database(3)
Files: class_scheduling(4)
System Administration
class_open(3)