Guardian Programmer's Guide

Table Of Contents
Creating and Managing Processes
Guardian Programmer’s Guide 421922-014
16 - 21
Using the PROCESS_LAUNCH_ Procedure
Using the PROCESS_LAUNCH_ Procedure
The only required parameter to the PROCESS_LAUNCH_ procedure is a structure that
allows you to specify values establishing the attributes of the new process. In the
DLAUNCH file, which is located on $SYSTEM.SYSTEM, this structure is defined as
follows:
The DLAUNCH file also defines literals for the VERSION and LENGTH fields (the first
two fields of the structure) and includes an array of default values
(P_L_DEFAULT_PARMS) for initalizing the input parameter structure. The DLAUNCH
file is for use with TAL and pTAL programs. The DLAUNCHH file is provided for use
with C and C++ programs.
If the value of a pointer field is equal to NIL_ or if the corresponding length parameter
is equal to 0, the item is considered to be omitted. The literal NIL_ is defined in the
DLAUNCH and DLAUNCHH files.
Declarations supporting the PROCESS_LAUNCH_ procedure, including a definition of
the input parameter structure, are also contained in the ZSYSTAL file. For C and C++
STRUCT PROCESS_LAUNCH_PARMS_(*) FIELDALIGN(SHARED2);
BEGIN
INT VERSION; ! version of the structure
INT LENGTH; ! length of the structure
STRING .EXT PROGRAM_NAME;
INT(32) PROGRAM_NAME_LEN;
STRING .EXT LIBRARY_NAME;
INT(32) LIBRARY_NAME_LEN;
STRING .EXT SWAPFILE_NAME;
INT(32) SWAPFILE_NAME_LEN;
STRING .EXT EXTSWAPFILE_NAME;
INT(32) EXTSWAPFILE_NAME_LEN;
STRING .EXT PROCESS_NAME;
INT(32) PROCESS_NAME_LEN;
STRING .EXT HOMETERM_NAME;
INT(32) HOMETERM_NAME_LEN;
STRING .EXT DEFINES;
INT(32) DEFINES_LEN;
INT(32) NOWAIT_TAG;
INT(32) PFS_SIZE;
INT(32) MAINSTACK_MAX;
INT(32) HEAP_MAX;
INT(32) SPACE_GUARANTEE;
INT(32) CREATE_OPTIONS;
INT NAME_OPTIONS;
INT DEBUG_OPTIONS;
INT PRIORITY;
INT CPU;
INT MEMORY_PAGES;
INT JOBID;
INT END_NOV95[0:-1]; ! dummy, to determine size of
! current version of the struct
END;