The following code issues a select for a previously connected
socket. SOCKDESC was returned when the socket was created. In this
case, the select is for a single socket for read, write and exception.
Do not request waiting. There are no ECBs. For the
callable service, see
select/selectex (BPX1SEL, BPX4SEL) — Select on file descriptors and message queues. For the data
structures, see
BPXYSOCK — Map SOCKADDR structure and constants and
BPXYSEL — Map the select options. AMODE 64 callers use
BPX4SEL (select) example.
SPACE ,
*
MVC SELLIST(4),=XL4'81000000' +
Turn on the bit representing sd 0 +
and sd 7
LA R8,8 One more than largest descriptor
ST R8,SOCKDESC Set number of sockets to check
*
CALL BPX1SEL, Select on a set of sockets +
(SOCKDESC, Input: Number of file descriptors +
=A(4), Input: Length of read list +
SELLIST, Input: Read list +
=A(4), Input: Length of write list +
SELLIST, Input: Write list +
=A(4), Input: Length of exception list +
SELLIST, Input: Exception list +
=A(0), Input: Address of Timeout value +
=A(0), Input: ECB pointer +
=A(SEL#BITSFORWARD), Input: Option - bits forward +
RETVAL, Return value: 0 or -1 +
RETCODE, Return code +
RSNCODE), Reason code +
VL,MF=(E,PLIST) ----------------------------------