class_open - initialize the class scheduling database
#include <apar_types.h> #include <sys/class.h>
class_open(
apar_t part_id,
class_apar_handle_t *handle );
Class Scheduling Library (libclass.a)
This library is not available as a shared library.
Input that describes the unique partition identifier.
Output that displays the descriptor used in calls to reference
the partition.
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 Initializing
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 partition's
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 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
database is loaded from disk might not be appropriate.
Therefore, the program must call class_load_database() to
specify the target database.
The caller must have root access rights.
The operation completed successfully. The class_open()
succeeded but no database existed. A new database was
created with default configuration settings. The calling
process is not superuser (root) and permission is denied.
The malloc function failed to get memory for handle.
Failed to access disk file, if it exists. Failed to create
or attach to shared memory. Failed to create or
attach to semaphore.
Commands: runclass(1), class_admin(8)
Functions: class_load_database(3)
Files: class_scheduling(4)
System Administration
class_open(3)
[ Back ] |