DLL Programmer's Guide for TNS/E Systems
DLLs on a TNS/E System
DLL Programmer’s Guide for TNS/E Systems—527252-006
1-10
The Public Library Registry
TNS/E compiler run-time libraries.
Libraries that support connections to TNS/E communication facilities.
Certain TNS/E tools, utilities, and the loader library (rld).
TNS/E compilers generate needed linkages from PIC programs and DLLs to the
compilers’ run-time libraries.
In Figure 1-2 on page 1-4, DLLs F and G might instead be public DLLs, because they
refer to no PIC loadfiles. This is reflected in Figure 1-4 on page 1-9, where these
libraries are labeled simply Lib.
In addition to accessing public libraries, PIC programs and DLLs will automatically
access the system and millicode libraries, without your specifying this linkage
requirement. The system and millicode libraries are PIC libraries that the system loads
before loading any application code, and the loader and operating system
automatically link your application to these libraries as appropriate. These are known
as implicit libraries because every loadfile is implicitly a user of them.
This can be contrasted with the public DLLs, which are explicit because a loadfile must
explicitly ask to use a public DLL, although you need not specify where to find the
public DLL. The combination of the ZREG file (the Public LIbrary Registry file) and
ZREGPTR (pointer) file specifies the location.
One main user of the ZREG file (and the ZREGPTR) is the preloader. Public DLLs are
preloaded during coldload, reload of a CPU or when a set of public DLLs is replaced
online. The other main user is the linker (eld). Typically, eld “finds” the DLLs by
finding the ZREG file that is in the same subdirectory, then searches the registry. The
linker does not use the ZREGPTR pointer directly, but acquires its information from the
preloader by use of a procedure call.
Each set of public libraries is installed in a separate subvolume, separate from the
SYSnn subvolume and separate from any other set of public DLLs. This subvolume is
on the same disk as the SYSnn subvolume.
The SYSnn subvolume also contains the imp-imp file, named zimpimp. This is the
import file usable for resolving external references to the implicit libraries. The imp-imp
file can be copied to the public-DLL subvolume. This renders the public-DLL
subvolume portable. A portable public-DLL subvolume contains everything the linker
needs to link files to use these particular public libraries. A portable subvolume can be
copied for use by the linker (eld) on another system or another platform, such as a
PC.
The Public Library Registry
The public-DLL registry file (ZREG) serves as an interface between DSM/SCM (that
you use), the public-library installation tool (that DSM/SCM uses on your behalf), the
preloader and the linker.










