Open System Services Programmer's Guide

stat structure – This new stat structure has the same fields as the stat64 structure, with
the exception of 8-byte time fields. This structure is in /usr/include/sys/stat.h.
statvfs structure – This new statvfs structure has the same fields as the statvfs64
structure, with the exception of unsigned long fields. This structure is in /usr/include/
sys/statvfs.h.
64-Bit OSS Callers of HIST_INIT_
64-bit OSS callers of HIST_INIT_ must use the new 64-bit version of the NSK_histWorkspace
data structure and must pass HistVersion3 for the version parameter. For information about
64-bit OSS process calls to HIST_INIT_, see the Guardian Procedure Calls Reference Manual in
the NTL.
New 64-Bit Data Structures for Process Creation
Some data structures contain #ifdef __LP64 inside the data structure and around certain fields.
This can cause the fields to be different sizes (and potentially different offsets) between ILP32 and
LP64 compilations. Additionally, some data structures are a different size between ILP32 and LP64
compilations.
New 64-Bit Data Structures for Guardian Process Creation
The PROCESS_LAUNCH_ procedure creates only Guardian processes; however, it can be called
from a native Guardian process, a 32-bit OSS process, or a 64-bit OSS process on TNS/E systems.
For 64-bit callers, the param-list argument specifies the address of either the
zsys_ddl_plaunch_parms_def data structure or the new zsys_ddl_plaunch_parms64_def
64-bit data structure that contains all of the input fields for PROCESS_LAUNCH_. The
zsys_ddl_plaunch_parms64_def data structure should be used by 64-bit applications.
This new zsys_ddl_plaunch_parms64_def 64-bit data structure is in ZSYSDDL and related
files (for example, zsysc).
For information about the PROCESS_LAUNCH_ procedure, see the Guardian Procedure Calls
Reference Manual in the NTL.
New 64-Bit Data Structures for OSS Process Creation
The PROCESS_SPAWN_ Guardian procedure and the tdm_exec*() and tdm_spawn*() sets
of OSS functions create OSS processes. New 64-bit data structures are provided for 64-bit callers.
Two examples of new 64-bit data structures are zsys_ddl_processextension64_def (in
ZSYSC) and process_extension (in tdmext.h).
By default, 32-bit callers to PROCESS_SPAWN_ and these OSS functions get a
process_extension data structure that only allows specifying a 32-bit value for the maximum
heap size. 64-bit callers get the 64-bit version of the process_extension data structure. 32-bit
C/C++ callers can compile using the #define _PROCEX32_64BIT 1 feature test macro, or an
equivalent compiler command option, to get the 64-bit version of the process_extension data
structure that allows specifying larger values for maximum heap size when creating a 64-bit process.
NOTE: _PROCEX32_64BIT is only used in tdmext.h; it is not in ZSYSC. Also, the parameters
to PROCESS_SPAWN_ have not been widened to 64 bits. All pointer parameters to
PROCESS_SPAWN_ must be in 32-bit addressable space.
For information about the PROCESS_SPAWN_ procedure, see the Guardian Procedure Calls
Reference Manual in the NTL. For information about the sets of tdm_exec*() and tdm_spawn*()
OSS functions, see the Open System Services System Calls Reference Manual in the NTL.
306 64-Bit Support in OSS and Guardian