The WRITEV function writes data on a socket from a set
of buffers.
The following requirements apply to this call:
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. |
>>-EZASMI--TYPE=WRITEV--,S--=--+-number---+--------------------->
+-address--+
+-*indaddr-+
'-(reg)----'
>--,IOV--=--+-address--+--,IOVCNT--=--+-address--+-------------->
+-*indaddr-+ +-*indaddr-+
'-(reg)----' '-(reg)----'
>--,ERRNO--=--+-address--+--,RETCODE--=--+-address--+----------->
+-*indaddr-+ +-*indaddr-+
'-(reg)----' '-(reg)----'
>--+---------------------------+--+-------------------------+--->
+-,ECB--=--+-address--+-----+ '-,ERROR--=--+-address--+-'
| +-*indaddr-+ | +-*indaddr-+
| '-(reg)----' | '-(reg)----'
'-,REQAREA--=--+-address--+-'
+-*indaddr-+
'-(reg)----'
>--+------------------------+----------------------------------><
'-,TASK--=--+-address--+-'
+-*indaddr-+
'-(reg)----'
- Keyword
- Description
- S
- Input parameter. A value or the
address of a halfword binary number specifying the descriptor of the
socket from which the data is to be written.
- IOV
- Input parameter. An array of three fullword
structures with the number of structures equal to the value in IOVCNT
and the format of the structures as follows:
- Fullword 1
- Input parameter. The address of a data buffer.
- Fullword 2
- Input parameter. The ALET for this buffer.
If the buffer is in the primary address space, this should be zeros.
If a nonzero ALET is specified, the ALET must represent a valid entry in the dispatchable unit access list
(DU-AL) for the task issuing this call. Note that ALETs can be specified only for synchronous socket calls (for example,
ECB/REQAREA cannot be specified). An exception to this is an ALET representing a SCOPE=COMMON data space.
- Fullword 3
- Input parameter. The length of the data buffer referenced in Fullword
1.
- IOVCNT
- Input parameter. A fullword binary
field specifying the number of data buffers provided for this call.
- ERRNO
- Output parameter. A fullword binary
field. If RETCODE is negative, this contains
an error number.
- RETCODE
- Output parameter. A fullword binary
field.
- Value
- Description
- >0
- A successful call. The value is set to the number of bytes transmitted.
- 0
- Connection partner has closed connection.
- -1
- Check ERRNO for an error code.
- ECB or REQAREA
- Input parameter. This parameter is required if you are
using APITYPE=3. It points to a 104-byte field containing:
- For ECB
- A 4-byte ECB posted by TCP/IP when the
macro completes.
- For REQAREA
- A 4-byte user token (set by you) that is presented to your exit
when the response to this function request is complete.
- For ECB/REQAREA
- The last 100 bytes is a storage field used by the interface to
save the state information.
Note: This storage must not be modified until the
macro function has completed and the ECB has
been posted, or the asynchronous exit has been driven.
- ERROR
- Input parameter. The location in
your program to receive control when the application programming interface
(API) processing module cannot be loaded.
- TASK
- Input parameter. The location of the task storage area in your
program.