z/OS Communications Server: IP Sockets Application Programming Interface Guide and Reference
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


CALL instruction API environmental restrictions and programming requirements

z/OS Communications Server: IP Sockets Application Programming Interface Guide and Reference
SC27-3660-00

The following restrictions apply to both the Macro Socket API and the Callable Socket API:
Function Restriction
SRB mode These APIs can only be invoked in TCB mode (task mode).
Cross-memory mode These APIs can only be invoked in a non-cross-memory environment (PASN=SASN=HASN).
Functional Recovery Routine (FRR) Do not invoke these APIs with an FRR set. This causes system recovery routines to be bypassed and severely damage the system.
Locks No locks should be held when issuing these calls.
INITAPI and TERMAPI socket commands The INITAPI and TERMAPI socket commands must be issued under the same task.
Storage Storage acquired for the purpose of containing data returned from a socket call must be obtained in the same key as the application program status word (PSW) at the time of the socket call.
Nested socket API calls You cannot issue nested API calls within the same task. That is, if a request block (RB) issues a socket API call and is interrupted by an interrupt request block (IRB) in an STIMER exit, any additional socket API calls that the IRB attempts to issue are detected and flagged as errors.
Addressability mode (Amode) considerations The EZASOKET API can be invoked while the caller is in either 31-bit or 24-bit Amode. However, if the application is running in 24-bit addressability mode at the time of the call, all addresses of parameters passed by the application must be addressable in 31-bit Amode. This implies that even if the addresses being passed reside in storage below the 16 MB line (and therefore addressable by 24-bit Amode programs) the high-order byte of these addresses needs to be 0.
Use of z/OS® UNIX System Services Address spaces using the EZASOKET API should not use any z/OS UNIX System Services socket API facilities such as z/OS UNIX Assembler Callable Services or Language Environment® for z/OS C/C++. Doing so can yield unpredictable results.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014