When NPs are used, TDP employs the MVS EZASMI socket API, so only this socket API may be used by TDPLGUX. According to IBM publication z/OS Communications Server: IP Sockets Application Programming Interface Guide and Reference, only one type of socket API may be used within a single address space, with unpredictable problems if another API is used.
When customizing a TDPLGUX module, the following points must be considered:
On z/OS or VOS3, a dump is written to the TDPSNAP DDName. If the exit attaches tasks and a subtask abnormally terminates, TDP does not process the error. That is, the exit is not disabled and no dump is written by TDP. However, the operating system might record the dump if the standard resources are available (a SYSUDUMP DD statement on z/OS, for example). It is the exit’s responsibility to properly manage its subtasks so that such failures do not impact its operation.
Control is passed to TDPLGUX with general register 1 pointing to the TDPLGPRM control block. This control block contains a user word, the logon string, pointers to fields containing information about the register, and the session character set.
If the logon string is parsed, the userid, password, and account name each consists of characters from the session character set. When supported by the session character set, each contiguous group of EBCDIC double-byte characters is preceded by the Shift-out control character, X’0E’, and followed by the Shift-in control character, X’0F’. Neither commas nor blanks can be specified as double byte characters.
On return, TDPLGUX passes one of the following return codes to TDP in general register 15:
Return Code |
Meaning |
0 |
Allow the logon request to continue. |
Nonzero |
Do not allow the logon request to continue. |