IPX/SPX Programming Manual
HP NonStop IPX/SPX Programming Manual—528022-001
5-1
5 Library Routines
This section contains the syntax and semantics for the socket library routines provided
by the NonStop IPX/SPX software products. The Service Advertising Protocol (SAP)
library routines are described at the end of this section. These routines are compatible
with the socket routines in the 4.3 BSD UNIX operating system, except as noted here
or in the Porting Considerations on page 3-1.
In addition to the socket library, which is implemented in the C language, the NonStop
TCP/IP provides a TAL binding to socket library to support applications written in TAL.
Socket Library Routines
The socket library routines are provided in two sets of three files each. One set is
Common Run-Time Environment (CRE) dependent (CRE-Dependent) and the other
set has no dependence on CRE (CRE-Independent). For more information on CRE,
see CRE Considerations on page 5-8.
CRE-Dependent Socket Library
The CRE-dependent socket library is neutral with respect to the Common Runtime
Environment (CRE), in that it uses no routines that depend on CRE; however, this
library does depend on CRE for the global errno data variable which permits
applications to use the perror function. The CRE-Dependent, non-native, socket library
routines are provided in two versions for data storage: one for the large-memory model
and one for the wide-data model.
The large-memory-model routines are in the file $SYSTEM.ZTCPIP.LIBINETL. The
wide-data-model routines are in $SYSTEM.ZTCPIP.LIBINETW. TAL routines are
provided by the prototype procedures contained in SOCKPROC.
Native C users should use the SRL version of the socket library, ZINETSRL.
Current users of the wide-data-model routines, LIBINETW, require no changes to their
application code to use the D40 Native socket library. These applications must,
however, be recompiled using the D40 header files.
Applications using the large memory-model routines, LIBINETL, need to verify that the
correct data types are used in function calls to the socket library. If the correct data
types are specified, the only requirement is a recompilation using the D40 header files.
Otherwise, the data types must be changed to reflect the function descriptions in this
manual.
For more details on memory models, refer to the C/C++ Programmer’s Guide.
Note. CRE-Dependent was called CRE-Neutral in the D30.00 RVU edition of the TCP/IP and
IPX/SPX Programming Manual.