Guardian Procedure Calls Reference Manual (G06.25+)
Guardian Procedure Calls (P)
Guardian Procedure Calls Reference Manual—522629-013
12-148
PROCESS_LAUNCH_ Procedure
•
Program file and user library file differences
A user library is an program file containing one or more procedures. The
difference between a program file and a library file is that the library file cannot
contain a MAIN procedure; a program file must contain a MAIN procedure.
Undefined external references in a program file are resolved from the user library,
if any, or the system library. Unresolved references in a library are resolved only
from the system library.
•
Library conflict: PROCESS_LAUNCH_ error
The library file for a process can be shared by any number of processes.
However, when a program is shared by two or more processes, all non-PIC
processes must have the same user library configuration; that is, all non-PIC
processes sharing the program either have the same user library, or they have no
user library. A library conflict error occurs when there is already a copy of the
non-PIC program running with a library configuration different from that specified in
the call to PROCESS_LAUNCH_.
This error is also generated if a user library file is specified when running an older
TNS program containing an implicit user library. (Prior to the D30.00 RVU, a large
TNS program file could be created with 16 segments of user code and up to 16
additional segments mapped as a user library. Subsequently, the user code and
user library limits were raised to 32 segments each, and the binder stopped
creating programs with an implicit user library.)
•
Device subtypes for named processes (process subtypes)
The device subtype (or process subtype) is a program file attribute that can be set
by either a TAL compiler directive at compile time,
nld flag at link time, or Binder
command at bind time. You can obtain the device type and subtype of a named
process by calling FILE_GETINFO[BYNAME]_ , FILEINFO, or DEVICEINFO.
Note that a process with a device subtype other than 0 must always be named.
There are 64 process subtypes available, where 0 is the default subtype for
general use. The other subtypes are as follows:
1 — 47 are reserved for definition by HP. Currently, 1 is a CMI process, 2
is a security monitor process, 30 is a device simulation process,
and 31 is a spooler collector process. Also, for subtypes 1 to 15,
PROCESS_LAUNCH_ rejects the create request with an invalid
process subtype error unless the caller has a creator access ID of
the super ID, or the program file is licensed, or the program file has
the PROGID attribute set and an owner of the super ID.
48 — 63 are for general use. Any user can create a named process with a
device subtype in this range.
Refer to Appendix A for a list of all device types and subtypes.