Use the CNOSC general macro with the CHANGE verb specified to change the LU
6.2 session limit and the contention-winner polarities for parallel
session connections.
Format
- label
- A symbolic name can be assigned to the macro statement.
- CHANGE
- Directs the CNOSC macro to perform the CHANGE verb function.
- LUNAME
- Specifies the symbolic name of a field or a register pointing to a
field. This is a 16-byte field that contains the network name of the
partner (remote) LU to which the session limit and contention-winner polarity
changes apply. The first 8 bytes contain the left-justified network
name, which is padded with blanks, or all blanks if the LU name is
unqualified. The second 8 bytes contain the left-justified LU name,
which is padded with blanks.
- MODE
- Specifies the symbolic name of a field or a register pointing to a
field. This is an 8-byte field that contains the mode name for which
the session limit and polarities are to be changed.
- LIMIT
- Specifies the symbolic name of a field or a register pointing to a
field. This is a 2-byte field that contains the session limit for the
specified mode name. (The session limit is the maximum number of
sessions to be allowed between the source (TPF) LU and the target (remote)
LU.)
The specified limit must be greater than zero and greater than or equal to
the sum of the numbers specified in the CONW and CONL parameters. If
you do not specify LIMIT, the value defaults to 2.
- CONW
- Specifies the symbolic name of a field or a register pointing to a
field. This is a 2-byte field that contains the minimum number of
sessions for which the source LU is designated to be the contention
winner.
The specified number must be zero or greater, and the sum of this number
and the number specified for CONL cannot exceed the number specified with
LIMIT. If you do not specify CONW, the value defaults to 0.
- CONL
- Specifies the symbolic name of a field or a register pointing to a
field. This is a 2-byte field that contains the minimum number of
sessions for which the source LU is designated to be the contention
loser.
The specified number must be zero or greater, and the sum of this number
and the number specified for CONW cannot exceed the number specified with
LIMIT. If you do not specify CONL, the value defaults to 0.
- RESP
- Specifies the LU that is responsible for selecting and deactivating
parallel sessions as a result of a change that decreases the session limit or
the maximum number of contention-winners for the source or target LUs.
The allowed values are:
- SOURCE
- Specifies that the source LU is responsible for selecting and deactivating
sessions as a result of a change that decreases the session limit or the
maximum number of contention-winners for the source or target LUs. The
target LU cannot negotiate this argument. This is the default
value.
- TARGET
- Specifies that the target LU is responsible for selecting and deactivating
sessions as a result of a change that decreases the session limit or the
maximum number of contention-winners for the source or target LUs. The
target LU can negotiate this argument to make the source LU
responsible.
- RCODE
- Specifies the symbolic name of a field or a register that points to a
field. This is a 6-byte field in which the return code is
placed. The return code consists of a 2-byte primary return code
followed by a 4-byte secondary return code. The actual values returned
are listed in Return Conditions.
Entry Requirements
See Entry Requirements for the entry requirements relating to the CNOSC macro in
general.
Return Conditions
- The results of the verb are indicated by the value returned in
RCODE. The valid return codes are listed in the following
section.
- See Return Conditions for the return conditions relating to the CNOSC macro in
general.
- The following table contains a list of the primary and secondary return
codes that can be returned to the program that issued the CHANGE verb.
A complete list of return codes and their definitions can be found in Table 3 and in Table 4.
Symbolic Name
| Primary Code
| Secondary Code
|
CNOSRC_OK
| 0000
|
|
CNOSRC_AS_SPECIFIED
| ....
| 00000000
|
CNOSRC_AS_NEGOTIATED
| ....
| 00000004
|
CNOSRC_PARAMETER_ERROR
| 0004
|
|
CNOSRC_INVALID_LU
| ....
| 00000014
|
CNOSRC_INVALID_MODE
| ....
| 00000018
|
CNOSRC_NON_ZERO_LIMIT_REQ
| ....
| 0000001C
|
CNOSRC_SNASVCMG_INVALID
| ....
| 00000020
|
CNOSRC_SUM_ERROR
| ....
| 00000024
|
CNOSRC_MAX_SESSION_EXCEED
| ....
| 00000054
|
CNOSRC_ALLOC_ERROR
| 0008
|
|
CNOSRC_RETRY_LATER
| ....
| 0000000C
|
CNOSRC_NO_RETRY
| ....
| 00000010
|
CNOSRC_RACE_REJECT
| 000C
|
|
CNOSRC_LIMIT_ZERO
| 0010
|
|
CNOSRC_RESOURCE_FAILURE
| 0014
|
|
CNOSRC_NO_RETRY
| ....
| 00000010
|
CNOSRC_LOCAL_NOT_ACTIVE
| ....
| 00000064
|
CNOSRC_INVALID_REQ
| 0020
|
|
CNOSRC_INVALID_STATE
| ....
| 00000030
|
CNOSRC_SINGLE_INVALID
| ....
| 00000038
|
Programming Considerations
- If you specify a register for a keyword value, the register must be
enclosed in parentheses and in the range R1-R7.
- You cannot use the change function for the SNA-defined mode name,
SNASCVMG, or for modes initialized as single sessions.
- The CHANGE verb starts a conversation with the LU name specified to
exchange information in the specified mode name. The macro generates an
ALLOCATE, a SEND to send the limit and polarity information to the remote LU,
a RECEIVE to receive the reply. The remote LU then issues a
DEALLOCATE. When you issue the CHANGE verb, the program gives up
control while waiting for the reply from the remote LU.
- See Programming Considerations for programming considerations relating to the CNOSC macro
in general.
Examples
SYMB100 CNOSC CHANGE, X
LUNAME=EBX024, X
MODE=EBX040, X
LIMIT=EBW020, X
CONW=EBW030, X
CONL=EBW040, X
RESP=TARGET, X
RCODE=(R4)