The READV function reads data on a socket and stores it
in a set of buffers. If a datagram packet is too long to fit in the
supplied buffers, datagram sockets discard extra bytes.
Table 1. READV call requirementsCondition |
Requirement |
---|
Authorization: |
Supervisor state or problem state, any PSW key. |
Dispatchable unit mode: |
Task. |
Cross memory mode: |
PASN = HASN. |
Amode: |
31-bit or 24-bit.
|
ASC mode: |
Primary address space control (ASC) mode. |
Interrupt status: |
Enabled for interrupts. |
Locks: |
Unlocked. |
Control parameters: |
All parameters must be addressable by the caller
and in the primary address space. |
Figure 1 shows an example
of READV call instructions.
Figure 1. READV call
instruction example WORKING-STORAGE SECTION.
01 SOC-FUNCTION PIC X(16) VALUE 'READV'.
01 S PIC 9(4) BINARY.
01 IOVCNT PIC 9(8) BINARY.
01 IOV.
03 BUFFER-ENTRY OCCURS N TIMES.
05 BUFFER-POINTER USAGE IS POINTER.
05 RESERVED PIC X(4).
05 BUFFER_LENGTH PIC 9(8) BINARY.
01 ERRNO PIC 9(8) BINARY.
01 RETCODE PIC 9(8) BINARY.
PROCEDURE DIVISION.
SET BUFFER-POINTER(1) TO ADDRESS OF BUFFER1.
SET BUFFER-LENGTH(1) TO LENGTH OF BUFFER1.
SET BUFFER-POINTER(2) TO ADDRESS OF BUFFER2.
SET BUFFER-LENGTH(2) TO LENGTH OF BUFFER2.
" " " " "
" " " " "
SET BUFFER-POINTER(n) TO ADDRESS OF BUFFERn.
SET BUFFER-LENGTH(n) TO LENGTH OF BUFFERn.
Call 'EZASOCKET' USING SOC-FUNCTION S IOV IOVCNT ERRNO RETCODE.