BIND request

A BIND request is sent from the application program (which acts as the PLU) to the SLU to establish a session. The BIND includes the session parameters which define the protocols to be used on the session. The session parameters can be suggested by the initiator of the session (code BNDAREA=0 and LOGMODE=0 in the NIB to get the session parameters), another set of session parameters identified by a logon mode name (code BNDAREA=0 and LOGMODE=logon mode name [or =C' ' for the default] in the NIB), or a set built by the application program (code BNDAREA= address of the session parameter). Refer to Establishing parameters for sessions for more information about session communication.

You can use the OPNDST macroinstruction to pass a BIND image to VTAM®. If the BIND contains user-data-structured subfields and you need to specify the network qualified PLU name, you can obtain the network ID from the network-name vector. This vector is part of the Resource-Identification Vector List, which is returned by VTAM after the PLU's ACB has successfully opened.

The BIND request can be negotiable or non-negotiable. A negotiable BIND permits the SLU the option of modifying the session parameters if they are unsuitable. If the BIND is non-negotiable and the session parameters are unacceptable to the SLU, the SLU must reject the BIND request to prevent the session from being established. To specify whether a BIND or BIND response is to be negotiable or non-negotiable, the application program must use the PROC=NEGBIND or PROC=NNEGBIND parameters in the NIB.

To send a negotiable BIND, specify PROC=NEGBIND in the NIB. In this case, the RPLAAREA field should point to an area into which the BIND response can be placed, and AAREALN must be the length of this area. Only one NIB in an NIB list can specify negotiable BIND, as there is only one alternate area field in which to put the BIND response. If OPNDST is successful, VTAM places the BIND response into the location pointed to by AAREA and sets the RPL's ARECLEN field to the actual length of the response. The response is truncated if ARECLEN is greater than AAREALN. The PLU application program should examine any changes made to the session parameters by the SLU. If they are acceptable, communication can begin. If not, the application program must issue CLSDST to terminate the session. The SLU can send a non-negotiable BIND response to a negotiable BIND request. This implies that no changes are desired by the SLU (the SLU has found the parameters in the BIND to be acceptable and agrees to establish the session). The PLU can examine the BIND type field in the BIND response to determine whether the response is negotiable or non-negotiable.

To send a non-negotiable BIND, specify PROC=NNEGBIND in the NIB. If the SLU sends a negotiable BIND response to a non-negotiable BIND request, VTAM automatically terminates the session and OPNDST fails with (RTNCD,FDB2)=(X'10',X'01') and sense code = X'084E0000'. This same return code and sense code are set for any other VTAM-detected errors in a received BIND response (for example, a transmission services profile that is not valid).