gtpm6m0uMain Supervisor Reference

Cross Subsystem Access Services

In an MDBF system, system programs need support facilities to access the program or database of subsystem users in the complex. Under MDBF, each subsystem maintains its own database, which is identified by a subsystem database ID (DBI). All subsystem users within a particular subsystem have the same DBI. During IPL each subsystem (SS) and subsystem user (SSU) is assigned an ID.

Cross subsystem access service routines use the program base ID (PBI), database ID (DBI), and subsystem user ID (SSU ID) to service MDBF macro requests. Normal changes to the DBI and PBI are from the basic subsystem (BSS) to a subsystem (SS), or vice versa. System programs should use only MDBF macros to change and manipulate these fields. Application programs should not use MDBF macros. MDBF macros include:

CROSC
CROSC permits one subsystem to access another subsystem's data or program base. To access programs or global data, invoke the CROSC macro in either the ECB virtual memory or the system virtual memory. To get pools from another subsystem, use CEBIC to change the DBI and GETFC to get the pool.

UATBC
Use the UATBC macro to locate information pertaining to a particular subsystem. UATBC calculates and returns the address of a subsystem user from a list of addresses in the subsystem user table (SSUT). UATBC then uses the SSUT to access specific subsystem user data.

CEBIC
To access the database of any other subsystem, use the CEBIC macro to change the DBI and SSU ID in an active program's ECB. The DBI and SSU ID are preserved across CEBIC calls. Return is made to the original subsystem and/or subsystem user.

LEBIC
Several tables are generated in an MDBF system. These tables are accessed by using either the subsystem or SSU ID. To locate the proper ID from a list of identifiers requires an index into the list. The LEBIC macro standardizes the retrieval of these index values. Use the LEBIC macro to obtain the index value for a specified ID, validate the ID, and convert a specified subsystem or SSU ID to a subsystem/SSU ordinal number.

Both CP segments and E-type programs can use CEBIC and LEBIC, however, different input restrictions apply. See TPF General Macros and TPF System Macros for these restrictions and more information on all the MDBF macros.