1 | Return code | Output | Binary(4) |
2 | Reason code | Output | Binary(4) |
3 | Diagnostic data | Output | Char(40) |
4 | New provider connection end point ID | Output | Binary(4) |
5 | New user end point connection ID | Input | Binary(4) |
6 | Existing provider connection end point ID | Input | Binary(4) |
7 | Communications handle | Input | Char(10) |
8 | Operation | Input | Char(2) |
9 | Number of data units | Input | Binary(4) |
The Send Data (QOLSEND) API performs output on a link that is currently enabled in the job in which the application program is running. The operation parameter allows you to specify the type of output operation to perform. The application program must provide the data associated with the output operation in the output buffer that was created when the link was enabled. For X'0000' operations, the application program must also provide a description of that data in the output buffer descriptor that was created when the link was enabled.
The types of output operations that can be performed on a link depend on the type of communications line that the link is using. See LAN Output Operations for more information on output operations that are supported on links using a token-ring, Ethernet, wireless, or FDDI communications line. See X.25 SVC and PVC Output Operations for more information on output operations that are supported on links using an X.25 communications line.
None.
The recovery action to take. See Return and Reason Codes.
The error that occurred. See Return and Reason Codes.
Additional diagnostic data. See Diagnostic Data Parameter Format for more information.
The content of this parameter is only valid when the operation parameter is set to X'0000' or X'B400'.
The provider connection end point (PCEP) ID for the connection that is to be established. This identifier must be used on all subsequent calls to the QOLSEND API for this connection.
The content of this parameter is only valid for links using an X.25 communications line and when the operation parameter is set to X'B000'.
The user connection end point (UCEP) ID for the connection that is to be established. This is the identifier on which all incoming data for this connection will be received. Any numeric value except zero should be used. See Receive Data (QOLRECV) API for more information.
The content of this parameter is only valid for links using an X.25 communications line and when the operation parameter is set to X'B000' or X'B400'.
The PCEP ID for the connection on which this operation will be performed. For links using a token-ring, Ethernet, or wireless communications line, the content of this parameter must always be set to 1.
For links using an X.25 communications line, the content of this parameter is only valid when the operation parameter is set to X'0000', X'B100', X'B400', or X'BF00'. It must contain the PCEP ID that was returned in the new provider connection end point ID parameter from the call to the QOLSEND API with operation X'B000', or the PCEP ID that was returned in the new provider connection end point ID parameter from the call to the QOLRECV API with operation X'B201' (incoming call). See Receive Data (QOLRECV) API for more information on receiving X.25 calls.
The name of the link on which to perform the output operation.
The type of output operation to perform. With the exception of X'0000', all values are only valid for links using an X.25 communications line. The valid values are as follows:
X'0000' | Send data. |
X'B000' | Send call request packet (SVC) or open PVC connection. |
X'B100' | Send clear packet (SVC) or close PVC connection. |
X'B110' | Initiate final cleanup of all connections that were closed by
the system.
This operation is only valid when the application receives an X'B311' operation to receive connection failure data. |
X'B400' | Send call accept packet (SVC). |
X'BF00' | Send reset request packet or reset confirmation packet (SVC or PVC). |
The number of data units in the output buffer that contain data. Any value between 1 and the number of data units created in the output buffer may be used.
The content of this parameter is only valid when the operation parameter is set to X'0000'.
Note: The number of data units created in the output buffer was returned in the data units created parameter on the call to the QOLELINK API. See Enable Link (QOLELINK) API for more information.
The format of the diagnostic data parameter is shown below. The contents of the fields within this parameter are only valid on X'0000' and X'B400' operations for the indicated return and reason codes.
Field | Type | Description | ||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Reserved | CHAR(2) | Reserved for extension. | ||||||||||||||||||||||
Error code | CHAR(4) | Specifies hexadecimal diagnostic
information that can be used to determine recovery actions. See Error Codesfor more information.
The content of this field is only valid for 83/4001, 83/4002, and 83/4003 return/reason codes. |
||||||||||||||||||||||
Time stamp | CHAR(8) | The time the error occurred.
The content of this field is only valid for 83/4001, 83/4002, and 83/4003 return/reason codes. |
||||||||||||||||||||||
Error log identifier | CHAR(4) | The hexadecimal identifier that can
be used for locating error information in the error log.
The content of this field is only valid for 83/4001, 83/4002, and 83/4003 return/reason codes. |
||||||||||||||||||||||
Reserved | CHAR(10) | Reserved for extension. | ||||||||||||||||||||||
Indicators | CHAR(1) | Specifies indicators the user-defined
communications application program can use for diagnosing a potential error
condition. This is a bit sensitive field.
The valid values for bit 0 (leftmost bit) are as follows:
The valid values for bit 1 are as follows:
The valid values for bit 2 are as follows:
The valid values for bit 3 are as follows:
For example, consider the following values for the indicators field:
The content of this field is valid only for 83/4001, 83/4002, 83/3202 and 83/4003 return/reason codes. |
||||||||||||||||||||||
X.25 cause code | CHAR(1) | Specifies additional information on
the condition reported. See the X.25 Network Support book
for interpreting the values of this field.
The content of this field is only valid for 83/4001, 83/4002 and 83/3202 return/reason codes. |
||||||||||||||||||||||
X.25 diagnostic code | CHAR(1) | Specifies additional information on
the condition reported. See the X.25 Network Support book
for interpreting the values of this field.
The content of this field is only valid for 83/4001, 83/4002 and 83/3202 return/reason codes. |
||||||||||||||||||||||
Reserved | CHAR(1) | Reserved for extension. | ||||||||||||||||||||||
Error offset | BINARY(4) | The offset from the top of the output
buffer to the incorrect data in the output buffer.
The content of this field is only valid for a 83/1999 return/reason code. |
||||||||||||||||||||||
Reserved | CHAR(4) | Reserved for extension. |
The only output operation supported on links using a token-ring, Ethernet, wireless, or FDDI communications line is X'0000' (send user data). For each data frame to be sent on the network, the application program must provide the following information:
For example, suppose a user-defined communications application program wants to send two data frames. The information for the first frame would be placed in first data unit of the output buffer and described in the first element of the output buffer descriptor. The information for the second frame would be placed in the second data unit of the output buffer and described in the second element of the output buffer descriptor. The number of data units parameter on the call to the QOLSEND API would be set to 2.
Note: The X'0000' operation is synchronous. Control will not return from the QOLSEND API until the operation completes.
Data Unit Format-LAN Operation X'0000'
Each data frame to be sent on the network corresponds to a data unit in the output buffer. The information in each of these data units is made up of general LAN information, optional routing data, and user data.
Field | Type | Description | ||||||
---|---|---|---|---|---|---|---|---|
Length of general LAN information | BINARY(2) | The length of the general LAN information in the data unit. This must be set to 16. | ||||||
Destination adapter address | CHAR(6) | Specifies, in packed form, the
adapter address to which this data frame will be sent.
Note: Because user-defined communications support only allows connectionless service over LANs, it is not necessary for all frames being sent on a single output operation to have the same destination adapter address. |
||||||
DSAP address | CHAR(1) | The service access point on which the
destination system will receive this frame. Any value may be used.
Note: The Ethernet Version 2 standard does not use logical link control, which utilizes SAPs. Therefore, to send Ethernet Version 2 frames, a null DSAP address (X'00') must be specified in the DSAP address field. Also, the Ethernet Standard (ETHSTD) parameter in the Ethernet line description must be configured as either *ETHV2 or *ALL. |
||||||
SSAP address | CHAR(1) | The service access point on which the
iSeries server will send this frame. Any service access point configured in the
token-ring, Ethernet, wireless, or FDDI line description may be used.
Note: The Ethernet Version 2 standard does not use logical link control, which utilizes SAPs. Therefore, to send Ethernet Version 2 frames, a null SSAP address (X'00') must be specified in the SSAP address field. Also, the Ethernet Standard (ETHSTD) parameter in the Ethernet line description must be configured as either *ETHV2 or *ALL. |
||||||
Access control | CHAR(1) | Specifies outbound frame priority and
is mapped to the access priority bits in the access control field of 802.5
frames. For links using a token-ring communications line, any value between
X'00' and X'07' may be used, where X'00' is the lowest priority and X'07' is
the highest priority.
For links using an Ethernet or wireless communications line, the content of this field is not applicable and must be set to X'00'. |
||||||
Priority control | CHAR(1) | Specifies how to interpret the value
set in the access control field. For links using a token-ring communications
line, the valid values are as follows:
For links using an Ethernet or wireless communications line, the content of this field is not applicable and must be set to X'00'. |
||||||
Length of routing information | BINARY(2) | The length of the routing information
in the data unit. For links using a token-ring communications line, any value
between 0 and 18 may be used, where 0 indicates that there is no routing
information.
For links using an Ethernet or wireless communications line, the content of this field is not applicable and must be set to 0 indicating that there is no routing information. |
||||||
Length of user data | BINARY(2) | The length of the user data in the
data unit. This must be less than or equal to the maximum frame size allowed on
the service access point specified in the SSAP address field. See Query Line Description (QOLQLIND) API to
determine the maximum frame size allowed on the service access point specified
in the SSAP address field.
For Ethernet Version 2 frames, this must be at least 48 and not more than 1502 (including 2 bytes for the Ethernet type field). Note: Ethernet 802.3 frames will be padded when the user data is less than 46 bytes. |
Output Buffer Descriptor Element Format-LAN Operation X'0000'
The information specified in each data unit of the output buffer must be described in the corresponding element of the output buffer descriptor.
Field | Type | Description |
---|---|---|
Length | BINARY(2) | The number of bytes of information in the corresponding data unit of the output buffer. This must be equal to the length of the general LAN information plus the length of the routing information plus the length of the user data. See Format of the General LAN Information in the Receive Data (QOLRECV) API for more information on the format of the general LAN information. |
Reserved | CHAR(30) | Reserved for extension. |
The following table shows the output operations that are supported on links using an X.25 communications line.
Operation | Meaning |
---|---|
X'0000' | Send user data (SVC or PVC).
Note: This is a synchronous operation. Control will not return from the QOLSEND API until the operation completes. |
X'B000' | Send a call request packet (SVC) or
open the PVC connection.
Note: This is an asynchronous operation. Notification of the completion of this operation will be returned from the QOLRECV API with operation X'B001' only after control returns from the QOLSEND API with a 0/0 return and reason code. See Receive Data (QOLRECV) API for more information. |
X'B100' | Send a clear packet (SVC) or close
the PVC connection.
Note: This is an asynchronous operation. Notification of the completion of this operation will be returned from the QOLRECV API with operation X'B101' only after control returns from the QOLSEND API with a 0/0 return and reason code. See Receive Data (QOLRECV) API for more information. |
X'B110' | Close all connections which were
cleared by the reason given in the connection failure date received on X
'B311'.
Note: This is an asynchronous operation. Notification of the completion of this operation will be returned from the QOLRECV API with operation X'B111' only after control returns from the QOLSEND API with a 0/0 return and reason code. See Receive Data (QOLRECV) API for more information. |
X'B400' | Send a call accept packet (SVC only).
Note: This is a synchronous operation. Control will not return from the QOLSEND API until the operation completes. |
X'BF00' | Send a reset request or reset
confirmation packet (SVC or PVC).
Note: This is an asynchronous operation. Notification of the completion of this operation will be returned from the QOLRECV API with operation X'BF01' only after control returns from the QOLSEND API with a 0/0 return and reason code. See Receive Data (QOLRECV) API for more information. |
Note: The maximum number of outstanding asynchronous operations (notification of completion not yet received from the QOLRECV API) is five. All calls made to the QOLSEND API or QOLSETF API under this condition will be rejected with a return and reason code of 83/3200. |
This operation allows the application program to send user data on an SVC or PVC X.25 connection. The application must provide the following information:
For example, suppose a user-defined communications application program wants to send two data units of user data. The first portion of the user data would be placed in first data unit of the output buffer and described in the first element of the output buffer descriptor. The second portion of the user data would be placed in the second data unit of the output buffer and described in the second element of the output buffer descriptor. The number of data units parameter on the call to the QOLSEND API would be set to 2.
User-defined communications support automatically fragments the user data in each data unit into one or more appropriately sized X.25 packets based on the negotiated transmit packet size for the connection. All packets constructed for a data unit, except for the last (or only) packet, will always have the X.25 more data bit (M-bit) set on. See Output Buffer Descriptor Element Format-X.25 Operation X'0000' for more information on how to set the X.25 M-bit on or off in the last (or only) packet constructed for a data unit.
Data Unit Format-X.25 Operation X'000'
Each data unit in the output buffer consists solely of user data and starts offset 0 from the top of the data unit.
Output Buffer Descriptor Element Format-X.25 Operation X'0000'
The user data specified in each data unit of the output buffer must be described in the corresponding element of the output buffer descriptor.
Field | Type | Description | ||||
---|---|---|---|---|---|---|
Length | BINARY(2) | The number of bytes of user data in the corresponding data unit of the output buffer. This must always be less than or equal to the X.25 user data size parameter that was specified on the call to the QOLELINK API when the link was enabled. See Enable Link (QOLELINK) API for more information. | ||||
More data indicator | CHAR(1) | Specifies whether the X.25 more data
bit (M-bit) should be set on or off in the last (or only) X.25 packet
constructed for the corresponding data unit. The valid values are as follows:
|
||||
Qualified data indicator | CHAR(1) | Specifies whether the X.25 qualifier
bit (Q-bit) should be set on or off in all X.25 packets constructed for the
corresponding data unit. The valid values are as follows:
|
||||
Interrupt packet indicator | CHAR(1) | Specifies whether the user data in
the corresponding data unit should be sent in an X.25 interrupt packet. The
valid values are as follows:
|
||||
Delivery confirmation indicator | CHAR(1) | Specifies whether the X.25 delivery
confirmation bit (D-bit) should be set on or off in all X.25 packets
constructed for the corresponding data unit. The valid values are as follows:
|
||||
Reserved | CHAR(26) | Reserved for extension. |
This operation allows the application program to either initiate an SVC call or to open a PVC connection. The application must provide the data for this operation in the first data unit of the output buffer. The output buffer descriptor is not used.
The format of the data required for the X'B000' operation depends on whether it is used to initiate an SVC call or to open a PVC connection. Each format is explained in the following table.
Note: When initiating an SVC call, the iSeries server chooses an available SVC to use. The logical channel identifier of the SVC that was chosen will be returned when notification of the completion of X'B000' is received from the QOLRECV API (operation X'B001'). See Receive Data (QOLRECV) API for more information.
Data Unit Format-X.25 Operation X'B000' (Initiate an SVC Call)
The data for this operation starts at offset 0 from the top of the first data unit in the output buffer. The following table shows the format of the data required for the X'B000' operation when initiating an SVC call.
Field | Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Reserved | CHAR(1) | This field must be set to X'02'. | ||||||||
Reserved | CHAR(3) | This field must be set to hexadecimal zeros. | ||||||||
Transmit packet size | BINARY(2) | The requested transmit packet size
for this connection. The valid values are 64, 128, 256, 512, 1024, 2048, and
4096. The value specified must be less than or equal to the transmit maximum
packet size configured for this line. The special value of X'FFFF' may be
specified to use the transmit default packet size configured for this line.
See Query Line Description (QOLQLIND) API for information on determining the transmit maximum packet size and the transmit default packet size configured for this line. |
||||||||
Transmit window size | BINARY(2) | The requested transmit window size
for this connection. The valid values are as follows:
See Query Line Description (QOLQLIND) API for information on determining the modulus value and the transmit default window size configured for this line. |
||||||||
Receive packet size | BINARY(2) | The requested receive packet size for
this connection. The valid values are 64, 128, 256, 512, 1024, 2048, and 4096.
The value specified must be less than or equal to the receive maximum packet
size configured for this line. The special value of X'FFFF' may be specified to
use the receive default packet size configured for this line.
See Query Line Description (QOLQLIND) API for information on determining the receive maximum packet size and the receive default packet size configured for this line. |
||||||||
Receive window size | BINARY(2) | The requested receive window size for
this connection. The valid values are as follows:
See Query Line Description (QOLQLIND) API for information on determining the modulus value and the receive default window size configured for this line. |
||||||||
Reserved | CHAR(7) | This field must be set to hexadecimal zeros. | ||||||||
DTE address length | BINARY(1) | The number of binary coded decimal
(BCD) digits in the DTE address to call. The valid values are as follows:
See Query Line Description (QOLQLIND) API to determine if extended network addressing is configured for this line. |
||||||||
DTE address | CHAR(16) | Specifies, in binary coded decimal (BCD), the DTE address to call. The address must be left justified and padded on the right with BCD zeros. | ||||||||
Reserved | CHAR(8) | This field must be set to hexadecimal zeros. | ||||||||
Delivery confirmation support | CHAR(1) | Specifies whether the X.25 delivery
confirmation bit (D-bit) should be set on or off in the call request packet.
The valid values are as follows:
|
||||||||
Reserved | CHAR(7) | This field must be set to hexadecimal zeros. | ||||||||
Closed user group indicator | CHAR(1) | Specifies whether the closed user
group (CUG) identifier should be included in the call packet. The valid values
are as follows:
|
||||||||
Closed user group identifier | CHAR(1) | The CUG identifier to be included in
the call packet. The valid values are as follows:
|
||||||||
Reverse charging indicator | CHAR(1) | Specifies reverse charging options.
The valid values are as follows:
|
||||||||
Fast select indicator | CHAR(1) | Specifies fast select options. The
valid values are as follows:
|
||||||||
X.25 facilities length | BINARY(1) | The number of bytes of data in the
X.25 facilities field. Any value between 0 and 109 may be used.
Note: The iSeries server codes the closed user group, reverse charging, and fast select facilities in the X.25 facilities field, if the user requested them in the above fields. Additionally, if the network user identification parameter (NETUSRID) is specified in the line description, the network user identification (NUI) facility is coded in the field, following the other additional facilities, if present. Finally, if the packet and window size values specified are different than the network default, the facilities containing these values are coded in the field as well. The system will update the X.25 facilities length field appropriately for each facility to which the iSeries server adds the X.25 facilities field. This length cannot exceed 109 bytes. |
||||||||
X.25 facilities | CHAR(109) | Specifies additional X.25 facilities
data requested.
Note: The application programmer should not code the facilities for NUI, fast select, reverse charging, closed user group, packet size, or window size in this field. By doing so, this field could contain duplicate facilities, which may not be consistently supported by all X.25 networks. |
||||||||
Reserved | CHAR(48) | This field must be set to hexadecimal zeros. | ||||||||
Call user data length | BINARY(2) | The number of bytes of data in the
call user data field. The valid values are as follows:
|
||||||||
Call user data | CHAR(128) | The call user data. | ||||||||
Reserved | CHAR(128) | This field must be set to hexadecimal zeros. | ||||||||
Control information | CHAR(1) | Specifies control information for
this connection. This is a bit-sensitive field with bit 0 (leftmost bit)
defined for reset support. The remaining bits are undefined and should be set
off ('0'B).
The valid values for bit 0 are as follows:
For example, consider the following values for the control information field:
|
||||||||
Reserved | CHAR(3) | This field must be set to hexadecimal zeros. | ||||||||
Maximum data unit assembly size | BINARY(4) | The maximum number of bytes of user
data that is received in a complete X.25 packet sequence before passing the
user data to the application. Any value between 1024 and 32767 may be used, and
should be set to the largest value that the application will support.
Notes:
|
||||||||
Automatic flow control | BINARY(2) | Relates to the amount of data that
will be held by user-defined communications support before sending a receive
not ready (RNR) packet to the sending system. The recommended value for this
field is 32, but any value between 1 and 128 may be used.
Note: A receive ready (RR) packet will be sent when the user-defined communications application program receives some of the data. |
||||||||
Reserved | CHAR(30) | This field must be set to hexadecimal zeros. |
Data Unit Format-X.25 Operation X'B000' (Open a PVC Connection)
The data for this operation starts at offset 0 from the top of the first data unit in the output buffer. The following table shows the format of the data required for the X'B000' operation when opening a PVC connection.
Field | Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Reserved | CHAR(1) | This field must be set to hexadecimal zeros. | ||||||||
Reserved | CHAR(1) | This field must be set to hexadecimal zeros. | ||||||||
Logical channel identifier | CHAR(2) | The logical channel identifier of the
PVC to open. Any PVC configured for this line that is eligible to be used by
the network controller that the link is using may be specified and must be in
the range of X'0001'-X'0FFF'.
See Query Line Description (QOLQLIND) API for information on determining the PVCs configured for this line that are eligible to be used by the network controller the link is using. |
||||||||
Transmit packet size | BINARY(2) | The requested transmit packet size
for this connection. The valid values are 64, 128, 256, 512, 1024, 2048, and
4096. The value specified must be less than or equal to the transmit maximum
packet size configured for this line. The special value of X'FFFF' may be
specified to use the transmit default packet size configured for this line.
See Query Line Description (QOLQLIND) API for information on determining the transmit maximum packet size and the transmit default packet size configured for this line. |
||||||||
Transmit window size | BINARY(2) | The requested transmit window size
for this connection. The valid values are as follows:
See Query Line Description (QOLQLIND) API for information on determining the modulus value and the transmit default window size configured for this line. |
||||||||
Receive packet size | BINARY(2) | The requested receive packet size for
this connection. The valid values are 64, 128, 256, 512, 1024, 2048, and 4096.
The value specified must be less than or equal to the receive maximum packet
size configured for this line. The special value of X'FFFF' may be specified to
use the receive default packet size configured for this line.
See Query Line Description (QOLQLIND) API for information on determining the receive maximum packet size and the receive default packet size configured for this line. |
||||||||
Receive window size | BINARY(2) | The requested receive window size for
this connection. The valid values are as follows:
See Query Line Description (QOLQLIND) API for information on determining the modulus value and the receive default window size configured for this line. |
||||||||
Reserved | CHAR(32) | This field must be set to hexadecimal zeros. | ||||||||
Delivery confirmation support | CHAR(1) | The X.25 delivery confirmation bit
(D-bit) support for this connection. The valid values are as follows:
|
||||||||
Reserved | CHAR(427) | This field must be set to hexadecimal zeros. | ||||||||
Control information | CHAR(1) | Specifies control information for
this connection. This is a bit-sensitive field with bit 0 (leftmost bit)
defined for reset support. The remaining bits are undefined and should be set
off ('0'B).
The valid values for bit 0 are as follows:
For example, consider the following values for the control information field:
|
||||||||
Reserved | CHAR(3) | This field must be set to hexadecimal zeros. | ||||||||
Maximum data unit assembly size | BINARY(4) | The maximum number of bytes of user
data that is received in a complete X.25 packet sequence before passing the
user data to the application. Any value between 1024 and 32767 may be used, and
should be set to the largest value that the application will support.
Notes:
|
||||||||
Automatic flow control | BINARY(2) | Relates to the amount of data that
will be held by user-defined communications support before sending a receive
not ready (RNR) packet to the sending system. The recommended value for this
field is 32, but any value between 1 and 128 may be used.
Note: A receive ready (RR) packet will be sent when the user-defined communications application program receives some of the data. |
||||||||
Reserved | CHAR(30) | This field must be set to hexadecimal zeros. |
This operation allows the application program to either send a clear packet on an SVC, close an SVC connection that was cleared by the remote system, or to close a PVC connection. The application must provide the data for this operation in the first data unit of the output buffer. The output buffer descriptor is not used.
The format of the data required for the X'B100' operation is the same whether or not it is used to send a clear packet on an SVC or to close a PVC connection. The format of the data required for the X'B100' operation should be set to hexadecimal zeros if it is used to close an SVC connection that was previously cleared by the remote system.
Notes:
Data Unit Format-X.25 Operation X'B100'
The data for this operation starts at offset 0 from the top of the first data unit in the output buffer. The following table shows the format of the data required for the X'B100' operation.
Field | Type | Description |
---|---|---|
Reserved | CHAR(2) | This field must be set to hexadecimal zeros. |
Cause code | CHAR(1) | The X.25 cause code. |
Diagnostic code | CHAR(1) | The X.25 diagnostic code. |
Reserved | CHAR(4) | This field must be set to hexadecimal zeros. |
X.25 facilities length1 | BINARY(1) | The number of bytes of data in the X.25 facilities field. Any value between 0 and 109 may be used. |
X.25 facilities1 | CHAR(109) | The X.25 facilities data. |
Reserved | CHAR(48) | This field must be set to hexadecimal zeros. |
Clear user data length1 | BINARY(2) | The number of bytes of data in the clear user data field. Any value between 0 and 128 may be used. |
Clear user data1 | CHAR(128) | The clear user data.
Note: The CCITT standard recommends that this field only be present in conjunction with the fast select or call deflection selection facility. The iSeries server does not enforce this restriction, however. |
Reserved | CHAR(216) | This field must be set to hexadecimal zeros. |
1 This field is not used for PVC connections and should be set to hexadecimal zeros. |
This operation allows the application program to clean up all internal control information on all the connections over the link and free up all PCEPs and UCEPs. This operation is only valid following the receipt of the X'B311' operation that reports the connection failure data to the application. There is no data associated with this operation.
This operation allows the application program to accept an incoming SVC call. The application must provide the data for this operation in the first data unit of the output buffer. The output buffer descriptor is not used.
Note: Notification of incoming calls are received from the QOLRECV API with operation X'B201'. See Receive Data (QOLRECV) API for more information.
Data Unit Format-X.25 Operation X'B400'
The data for this operation starts at offset 0 from the top of the first data unit in the output buffer. The following table shows the format of the data required for the X'B400' operation.
Field | Type | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
Reserved | CHAR(1) | This field must be set to hexadecimal zeros. | ||||||||
Reserved | CHAR(3) | This field must be set to hexadecimal zeros. | ||||||||
Transmit packet size | BINARY(2) | The transmit packet size for this
connection. The valid values are 64, 128, 256, 512, 1024, 2048, and 4096. The
value specified must be less than or equal to the transmit maximum packet size
configured for this line. The special value of X'FFFF' may be specified to use
the transmit default packet size configured for this line.
See Query Line Description (QOLQLIND) API for information on determining the transmit maximum packet size and the transmit default packet size configured for this line. |
||||||||
Transmit window size | BINARY(2) | The transmit window size for this
connection. The valid values are as follows:
See Query Line Description (QOLQLIND) API for information on determining the modulus value and the transmit default window size configured for this line. |
||||||||
Receive packet size | BINARY(2) | The receive packet size for this
connection. The valid values are 64, 128, 256, 512, 1024, 2048, and 4096. The
value specified must be less than or equal to the receive maximum packet size
configured for this line. The special value of X'FFFF' may be specified to use
the receive default packet size configured for this line.
See Query Line Description (QOLQLIND) API for information on determining the receive maximum packet size and the receive default packet size configured for this line. |
||||||||
Receive window size | BINARY(2) | The receive window size for this
connection. The valid values are as follows:
See Query Line Description (QOLQLIND) API for information on determining the modulus value and the receive default window size configured for this line. |
||||||||
Reserved | CHAR(32) | This field must be set to hexadecimal zeros. | ||||||||
Delivery confirmation support | CHAR(1) | Specifies whether the X.25 delivery
confirmation bit (D-bit) should be set on or off in the call accept packet.
This also specifies the D-bit support for this connection. The valid values are
as follows:
|
||||||||
Reserved | CHAR(11) | This field must be set to hexadecimal zeros. | ||||||||
X.25 facilities length | BINARY(1) | The number of bytes of data in the
X.25 facilities field. Any value between 0 and 109 may be used.
Note: The iSeries server codes the packet and window size facilities in this field, if necessary. The total length of all facilities cannot exceed 109 bytes. |
||||||||
X.25 facilities | CHAR(109) | The X.25 facilities data.
Note: The application programmer should not code the facilities for packet or window sizes in this field. By doing so, this field could contain duplicate facilities, which may not be consistently supported by all X.25 networks. |
||||||||
Reserved | CHAR(306) | This field must be set to hexadecimal zeros. | ||||||||
Control information | CHAR(1) | Specifies control information for
this connection. This is a bit-sensitive field with bit 0 (leftmost bit)
defined for reset support. The remaining bits are undefined and should be set
off ('0'B).
The valid values for bit 0 are as follows:
For example, consider the following values for the control information field:
|
||||||||
Reserved | CHAR(3) | This field must be set to hexadecimal zeros. | ||||||||
Maximum data unit assembly size | BINARY(4) | The maximum number of bytes of user
data that can be received in a complete X.25 packet sequence on this
connection. If this limit is exceeded, the connection will be ended. Any value
between 1024 and 32767 may be used.
Notes:
|
||||||||
Automatic flow control | BINARY(2) | Relates to the amount of data that
will be held by user-defined communications support before sending a receive
not ready (RNR) packet to the sending system. The recommended value for this
field is 32, but any value between 1 and 128 may be used.
Note: A receive ready (RR) packet will be sent when the user-defined communications application program receives some of the data. |
||||||||
Reserved | CHAR(30) | This field must be set to hexadecimal zeros. |
This operation allows an application program to send a reset request packet or a reset confirmation packet on an X.25 SVC or PVC connection. The application must provide the X.25 cause and diagnostic codes required for this operation in the first data unit of the output buffer. The output buffer descriptor is not used.
Information indicating whether a reset request or reset confirmation packet was sent is returned when notification of the completion of the X'BF00' operation is received from the QOLRECV API (operation X'BF01'). This information will be in the diagnostic data parameter of the QOLRECV API. See Receive Data (QOLRECV) API for more information.
A reset confirmation packet will be sent under the following conditions:
This is known as a reset collision. In this case, user-defined communications support will discard the reset indication and, therefore, the application program will not receive it from the QOLRECV API. However, the cause and diagnostic codes from the reset indication are returned in the diagnostic data parameter of the QOLRECV program when the application receives notification of the completion of the X'BF00' operation. See Receive Data (QOLRECV) API for more information.
A reset request packet will be sent when none of the above conditions are true.
Notes:
Data Unit Format-X.25 Operation X'BF00'
The first 2 bytes of the data unit in the output buffer are used for this operation. The first byte contains the X.25 cause code. The second byte contains the X.25 diagnostic code.
The return and reason codes that can be returned from the QOLSEND API depend on the type of communications line the link is using and on the operation that was requested.
Return and Reason Codes for LAN Operation X'0000'
Return / Reason Code | Meaning | Recovery |
---|---|---|
0/0 | Operation successful. | Continue processing. |
80/2200 | Queue error detected. Escape message CPF91F1 will be sent to the application program when this return and reason code is received. | Ensure the link is disabled and see messages in the job log for further information. Then correct the error, enable the link, and try the request again. |
80/2401 | Output buffer or output buffer descriptor error detected. Escape message CPF91F1 will be sent to the application program when this return and reason code is received. | Ensure the link is disabled and see messages in the job log for further information. Then correct the error, enable the link, and try the request again. |
80/3002 | A previous error occurred on this link that was reported to the application program by escape message CPF91F0 or CPF91F1. However, the application program has attempted another operation. | Ensure the link is disabled and see messages in the job log for further information. If escape message CPF91F0 was sent to the application program, then report the problem using the ANZPRB command. Otherwise, correct the error, enable the link, and try the request again. |
80/4000 | Error recovery has been canceled for this link. | Ensure the link is disabled and see messages in the job log for further information. Correct the condition, enable the link, and try the request again. |
80/8000 | The amount of user data in a data unit of the output buffer is greater than the maximum frame size allowed on the communications line the link is using. Escape message CPF91F1 will be sent to the application program when this return and reason code is received. | Ensure the link is disabled. Correct the error, enable the link, and try the request again. |
80/9999 | Internal system error detected. Escape message CPF91F0 will be sent to the application program when this return and reason code is received. | See messages in the job log for further information. Report the problem using the ANZPRB command. |
83/1006 | Output operation not valid. | Correct the operation parameter. Try the request again. |
83/1007 | Connection identifier not valid. | Correct the existing provider connection end point ID parameter. Try the request again. |
83/1008 | Number of data units not valid. | Correct the number of data units parameter. Try the request again. |
83/1998 | The amount of data in a data unit of the output buffer is not correct. | Correct the amount of user data, or the total amount of generalLAN information, routing information, and user data in the offending data unit. Try the request again. |
83/1999 | Incorrect data in a data unit of the output buffer. The error offset field in the diagnostic data parameter will point to the incorrect data. | Correct the incorrect data. Try the request again. |
83/3001 | Link not enabled. | Correct the communications handle parameter. Try the request again. |
83/3004 | Link is enabling. | Wait for the enable-complete entry to be sent to the data queue or user queue. If the link was successfully enabled, try the request again. |
83/4001 | Link failure, system starting error recovery for this link. | Wait for the link to recover. Try the request again. |
83/4003 | Error detected by the input/output processor (IOP). The diagnostic data parameter will contain more information on this error. | Correct the error, and try the request again. |
General X.25 Return and Reason Codes
The following table shows the return and reason codes that can be received from the QOLSEND API for any requested operation.
Return / Reason Code | Meaning | Recovery |
---|---|---|
80/2200 | Queue error detected. Escape message CPF91F1 will be sent to the application program when this return and reason code is received. | Ensure the link is disabled and see messages in the job log for further information. Correct the error, enable the link, and try the request again. |
80/2401 | Output buffer or output buffer descriptor error detected. Escape message CPF91F1 will be sent to the application program when this return and reason code is received. | Ensure the link is disabled and see messages in the job log for further information. Correct the error, enable the link, and try the request again. |
80/3002 | A previous error occurred on this link that was reported to the application program by escape message CPF91F0 or CPF91F1. However, the application has attempted another operation. | Ensure the link is disabled and see messages in the job log for further information. If escape message CPF91F0 was sent to the application program, report the problem using the ANZPRB command. Otherwise, correct the error, enable the link, and try the request again. |
80/4000 | Error recovery has been canceled for this link. | Ensure the link is disabled and see messages in the job log for further information. Correct the condition, enable the link, and try the request again. |
80/9999 | Internal system error detected. Escape message CPF91F0 will be sent to the application program when this return and reason code is received. | See messages in the job log for further information. Report the problem using the ANZPRB command. |
83/1006 | Output operation not valid. | Correct the operation parameter. Try the request again. |
83/3001 | Link not enabled. | Correct the communications handle parameter. Try the request again. |
83/3004 | Link is enabling. | Wait for the enable-complete entry to be sent to the data queue or user queue. If the link was successfully enabled, try the request again. |
83/3200 | All resources are currently in use by asynchronous operations that have not yet completed. | Wait for at least one of the asynchronous operations to complete. Notification of completion of these operations will be received from the QOLRECV API. Try the request again. |
Return and Reason Codes for X.25 Operation X'0000'
Return / Reason Code | Meaning | Recovery |
---|---|---|
0/0 | Operation successful. | Continue processing. |
83/1007 | Connection identifier not valid. | Correct the existing provider connection end point ID parameter. Try the request again. |
83/1008 | Number of data units not valid. | Correct the number of data units parameter. Try the request again. |
83/1997 | The amount of user data in a data unit of the output buffer is not a multiple of the negotiated transmit packet size, and the more data indicator in the corresponding element of the output buffer descriptor is set to X'01'. | Correct the amount of user data in the offending data unit. Try the request again. |
83/1998 | The amount of user data in a data unit of the output buffer is not correct. | Correct the amount of user data in the offending data unit. Try the request again. |
83/3201 | The maximum amount of incoming user data that can be held by user-defined communications support for the application program on this connection has been exceeded. | Wait to receive a failure notification from the QOLRECV API indicating this condition (X'B301' operation, 83/3201 return and reason code). Issue the X'B100' output operation to end the connection. |
83/3202 | A reset indication has been received on this connection. The X.25 cause and diagnostic code fields in the diagnostic data parameter will contain the cause and diagnostic codes of the reset indication. | Wait to receive notification from the QOLRECV API indicating this condition (X'B301' operation, 83/3202 return and reason code). Issue the X'BF00' output operation to send a reset confirmation packet. |
83/3205 | Connection not in a valid state. | Ensure the connection is in a valid state for this operation. Try the request again. |
83/4001 | Link failure, system starting error recovery for this link. | Wait to receive a failure notification from the QOLRECV API indicating this condition (X'B301' or X'B311' operation, 83/4001 return and reason code). Issue the X'B100' output operation to end the connection. |
83/4002 | Connection failure. | Wait to receive a failure notification from the QOLRECV API indicating this condition (X'B301' operation, 83/4002 return and reason code). Issue the X'B100' output operation to end the connection. |
83/4003 | Data not sent. Error detected by input/output processor. | Try the request again. If the error persists, use the ANZPRB command to analyze and report the problem. |
Return and Reason Codes for X.25 Operation X'B000'
Return / Reason Code | Meaning | Recovery |
---|---|---|
0/0 | Operation initiated. | Wait for notification of the completion of the X'B000' operation from the QOLRECV API (X'B001' operation). |
83/4005 | All connections are currently in use. | Wait for a connection to become available and try the request again. |
Return and Reason Codes for X.25 Operation X'B100'
Return / Reason Code | Meaning | Recovery |
---|---|---|
0/0 | Operation initiated. | Wait for notification of the completion of the X'B100' operation from the QOLRECV API (X'B101' operation). |
83/1007 | Connection identifier not valid. | Correct the existing provider connection end point ID parameter. Try the request again. |
83/3205 | Connection not in a valid state. | Ensure the connection is in a valid state for this operation. Try the request again. |
Return and Reason Codes for X.25 Operation X'B110'
Return / Reason Code | Meaning | Recovery |
---|---|---|
0/0 | Operation initiated. | Wait for notification of the completion of the X'B110' operation from the QOLRECV API (X'B111' operation). |
Return and Reason Codes for X.25 Operation X'B400'
Return / Reason Code | Meaning | Recovery |
---|---|---|
0/0 | Operation successful. | Continue processing. |
83/1007 | Connection identifier not valid. | Correct the existing provider connection end point ID parameter. Try the request again. |
83/1999 | Incorrect data in a data unit of the output buffer. The error offset field in the diagnostic data parameter will point to the incorrect data. | Correct the incorrect data. Try the request again. |
83/3205 | Connection not in a valid state. | Ensure the connection is in a valid state for this operation. Try the request again. |
83/4001 | Link failure, system starting error recovery for this link. | Issue the X'B100' output operation to end the connection. |
83/4004 | Inbound call timed out. | Issue the X'B100' output operation to end the connection. |
Return and Reason Codes for X.25 Operation X'BF00'
Return / Reason Code | Meaning | Recovery |
---|---|---|
0/0 | Operation initiated. | Wait for notification of the completion of the X'BF00' operation from the QOLRECV API (X'BF01' operation). |
83/1007 | Connection identifier not valid. | Correct the existing provider connection end point ID parameter. Try the request again. |
83/3205 | Connection not in a valid state. | Ensure the connection is in a valid state for this operation. Try the request again. |
Message ID | Error Message Text |
---|---|
CPF3C90 E | Literal value cannot be changed. |
CPF91F0 E | Internal system error. |
CPF91F1 E | User-defined communications application error. |
CPF9872 E | Program or service program &1 in library &2 ended. Reason code &3. |
Top| Communications APIs | APIs by category |