Open System Services Programmer's Guide

TMF_GET_EXTTRANSID_()FP_IEEE_EXCEPTIONS_SET_
TMF_GETTXHANDLE_()FP_IEEE_ROUND_GET_
TMF_SETTXHANDLE_()FP_IEEE_ROUND_SET_
TMF_SUSPEND_()GETCPCBINFO
TMF_SUSPEND_EXT_()GETSYSTEMSERIALNUMBER
TMF_TXBEGIN_()GETTMPNAME
TMF_TXHANDLE_FROM_BEGINTAG_()GETTRANSID
TMF_VERSION_()GETTRANSINFO
TRANSIDTOTEXTHALTPOLL
TS_NANOSECS_HEADROOM_ENSURE_
TS_UNIQUE_COMPARE_HIST_FORMAT_
TS_UNIQUE_CONVERT_TO_JULIAN_HIST_GETPRIOR_
TS_UNIQUE_CREATE_HIST_INIT_
VRO_SET_JULIANTIMESTAMP
NOTE: Not all of the NonStop Kernel (NSK) Guardian procedures have been converted to accept
64-bit pointers; therefore, 64-bit OSS programs need to use 32-bit pointers to access NSK Guardian
procedures that are not in the above list. The 32-bit heap is used for this purpose. See “32-Bit
Heap for 64-Bit Processes” (page 289) for details of a 64-bit OSS process using the 32-bit heap.
OSS Functions Callable from 32-bit Processes Using 64-bit Pointers
Beginning with the H06.24 and J06.13 RVUs, enhancements have been made so that native
Guardian and 32-bit OSS processes on TNS/E systems can access 64-bit address space, such as
performing OSS file and socket I/O operations to and from 64-bit memory segments.
IMPORTANT: All of the following OSS functions can also be called from 64-bit OSS processes.
The following OSS functions can be called from native Guardian and 32-bit OSS processes on
TNS/E systems using 64-bit pointers:
strcpy64()recvmsg64_()memchr64()
strlen64()send_nw2_64_()memcmp64()
strncat64()send64_()memcpy64()
strncmp64()sendmsg64_()memmove64()
strncpy64()sendto64_()memset64()
strrchr64()strcat64()read64_()
strstr64()strchr64()recv64_()
write64_()strcmp64()recvfrom64_()
32-Bit and 64-Bit Object Files
This section provides considerations for 32-bit and 64-bit object files, beginning with the H06.24
and J06.13 RVUs.
Linker Object Files
In NonStop TNS/E systems, 32-bit object files use the ELF64 format, where all addresses in the
ELF structures occupy 64 bits. The C/C++ compilers and tools categorize binaries in one of the
following ways:
32 bit
64 bit
Neutral
OSS and Guardian linkfiles can be linked together to create either an OSS or a Guardian loadfile.
You can have Guardian modules in an OSS loadfile and vice versa. 64-bit applications can link
32-Bit and 64-Bit Object Files 297