Guardian Procedure Calls Reference Manual (G06.25+)

Guardian Procedure Calls (P)
Guardian Procedure Calls Reference Manual522629-013
12-180
PROCESS_SPAWN_ Procedure
In the C tdmext.h header file, the structure for the process-extension parameter is
defined as:
C programs should initialize the process_extension structure by using the #define
DEFAULT_PROCESS_EXTENSION in the tdmext.h header file.
Z^Len
is the length of the ZSYS^DDL^PROCESSEXTENSION structure. Because the
structure is subject to change, Z^LEN is used by PROCESS_SPAWN_ to identify
the version of the structure.
Z^LibraryName
is the address of the null-terminated OSS pathname of the Guardian user library
file to be used by the new process. For the program to create a linkage to the
library file, the caller must have write permission to the program file. If the
pathname is relative, it is resolved using the OSS current working directory.
If the Z^LIBRARYNAME field of the
process-extension parameter is specified,
external references are resolved first from the specified Z^LIBRARYNAME, then
from the system library.
If you specify the value -1D, the new process is to run with no user library file.
(The references that were previously resolved from the user library are resolved
from the system library.) For the program to remove a linkage to a library file, the
caller must have write permission to the program file.
typedef struct process_extension {
long pe_len;
char *pe_library_name;
char *pe_swap_file_name;
char *pe_extswap_file_name;
short pe_priority;
short pe_cpu;
short pe_name_options;
char filler_1[2];
char *pe_process_name;
char *pe_hometerm;
short pe_memory_pages;
short pe_jobid;
short pe_create_options;
char filler_2[2];
char *pe_defines;
short pe_defines_len;
short pe_debug_options;
long pe_pfs_size;
short pe_OSS_options;
char filler_3[2];
long z_mainstackmax;
long z_heapmax;
long z_spaceguarantee;
} process_extension_def;