One way to terminate a network connection is to issue
a CLOSE macro that attempts to complete all outstanding data transmission
requests prior to breaking the connection. The SHUTDOWN macro can
be used to close one-way traffic while completing data transfer in
the other direction. The HOW parameter determines the direction of
the traffic to shutdown.
A client program can use the SHUTDOWN macro to reuse a
given socket with a different connection.
If you issue SHUTDOWN for a socket that currently has
outstanding socket calls pending, see Table 1 to determine the effects
of this operation on the outstanding socket calls.
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=SHUTDOWN--,S--=--+-number---+------------------->
+-address--+
+-*indaddr-+
'-(reg)----'
>--,HOW--=--+-number---+--,ERRNO--=--+-address--+--------------->
+-address--+ +-*indaddr-+
+-*indaddr-+ '-(reg)----'
'-(reg)----'
>--,RETCODE--=--+-address--+--+---------------------------+----->
+-*indaddr-+ +-,ECB--=--+-address--+-----+
'-(reg)----' | +-*indaddr-+ |
| '-(reg)----' |
'-,REQAREA--=--+-address--+-'
+-*indaddr-+
'-(reg)----'
>--+-------------------------+--+------------------------+-----><
'-,ERROR--=--+-address--+-' '-,TASK--=--+-address--+-'
+-*indaddr-+ +-*indaddr-+
'-(reg)----' '-(reg)----'
- Keyword
- Description
- S
- Input parameter. A value or the
address of a halfword binary number specifying the socket to be shutdown.
- HOW
- Input parameter. A fullword binary field specifying the shutdown
method.
- Value
- Description
- 0
- Ends further receive operations.
- 1
- Ends further send operations.
- 2
- Ends further send and receive operations.
- ERRNO
- Output parameter. A fullword binary
field. If RETCODE is negative, this field
contains an error number. See Socket call error return codes for information about ERRNO return codes.
- RETCODE
- Output parameter. A fullword binary
field that returns the following values:
- Value
- Description
- 0
- Successful call.
- -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.