Table Of Contents
API Return Codes
Overview
Returned Information
AOPEN/ACLOSE Macro Instructions
TPL-Based Macro Instructions
AOPEN and ACLOSE General Return Codes
AOPEN and ACLOSE Error Codes
TPL-Based General Return Codes - R15
Recovery Action Codes - R00
Conditional Completion Codes - R00
R00 Diagnostic Codes
Specific Error Codes
Recovery Action Code Combinations
Exceptional Conditions: RTNCD 04xx
Connection and Data Integrity Errors: RTNCD 08xx
Execution Environment Errors: RTNCD 0Cxx
Format or Specification Errors: RTNCD 10xx
Sequence and Procedural Errors: RTNCD 14xx
Logic Errors with No TPL Return Code: 18xx
API Return Codes
This chapter defines diagnostic information returned by the Cisco IOS for S/390 API macro instructions.
For information on API diagnostic codes, refer to Chapter 5, .
This chapter includes these sections:
•
Overview
•
AOPEN and ACLOSE General Return Codes
•
AOPEN and ACLOSE Error Codes
•
TPL-Based General Return Codes - R15
•
Recovery Action Codes - R00
•
Conditional Completion Codes - R00
•
Specific Error Codes
•
Exceptional Conditions: RTNCD 04xx
•
Connection and Data Integrity Errors: RTNCD 08xx
•
Execution Environment Errors: RTNCD 0Cxx
•
Format or Specification Errors: RTNCD 10xx
•
Sequence and Procedural Errors: RTNCD 14xx
•
Logic Errors with No TPL Return Code: 18xx
Overview
When a Cisco IOS for S/390 API macro instruction completes, the system returns diagnostic information to the application program indicating the success or failure of the request, and if an error occurred, what specific error was encountered.
Returned Information
The information presented in this chapter is organized according to the categories of return information. For each return code within a given category, this information is given (if appropriate):
•
A mnemonic for the return code that is defined in the APCB or TPL dsect
•
The actual value of the return code in decimal and hexadecimal format
•
A short description of the error
•
A detailed description of conditions that may cause the return code to be generated, and in some cases, a suggested course of action
AOPEN/ACLOSE Macro Instructions
For AOPEN or ACLOSE macro instructions, this information is returned:
•
A general return code returned in register 15 indicating general success or failure of the macro instruction
•
An error code returned in register 0, and usually stored in the APCB, indicating the type of error that occurred
•
A diagnostic code stored in the APCB that gives specific information about the error
TPL-Based Macro Instructions
For TPL-based macro instructions, this information is returned:
•
A general return code returned in register 15 indicating general success or failure of the macro instruction.
•
The contents of register 00 are dependent on the contents of register 15:
Register 15 Contents
|
Register 00 Contents
|
0 |
Conditional completion code |
4 |
Recovery action code |
8 |
Function code (TPL is not applicable) |
12 (or higher) |
4-byte diagnostic code (TPL is not applicable) |
•
The contents of TPL field TPLRTNCD are also dependent on the contents of register 15:
Register 15 Contents
|
TPLRTNCD Contents
|
0 |
Recovery action code (X'00') and the conditional completion code |
4 |
Recovery action code (X'04' - X'14') and the specific error code |
8 (or higher) |
Not updated |
•
Provider-specific and protocol-specific diagnostic codes and sense data that may be helpful in diagnosing the cause of certain errors. The field TPLDGNCD contains a 1-byte module ID and a 1-byte instance ID. If you are using the extended TPL, the field TPLXDIAG contains a 2-byte module ID and a 2-byte instance ID. The 1-byte module ID in TPLDGNCD can be mapped to the 2-byte module ID with the table presented in this chapter.
For more information on how the Assembler API handles errors and special conditions, refer to Cisco IOS for S/390 Assembler API Concepts.
AOPEN and ACLOSE General Return Codes
General return codes are returned in register 15 to indicate the general success or failure of an AOPEN or ACLOSE macro instruction.
If the return code is zero, the operation was successful. If the return code is non-zero, the operation failed. In the latter case, additional information is returned in register 0 and the APCB to more specifically identify the error that occurred.
Unlike TPL-based macro instructions, no mnemonics have been defined for AOPEN and ACLOSE return codes. This section lists the general return codes.
Return Code
|
Description
|
0 (X'00') Operation Successful |
The requested operation was successful. If an AOPEN macro was executed, a new transport user has been defined and a session with the Cisco IOS for S/390 API has been established. The APCB has been opened and initialized and can be used to open transport service endpoints. If an ACLOSE macro was executed, the session between the Cisco IOS for S/390 API and the transport user has been terminated, and any endpoints opened by the transport user have been closed. The APCB has been returned to its original state and can be reused in another AOPEN macro instruction. |
4 (X'04') No Operation |
No operation was performed (no error code stored in the APCB). If an AOPEN macro instruction was executed, the APCB was already opened. If an ACLOSE macro instruction was executed, the APCB was already closed. The state of the APCB is unchanged, and no operation has been performed. An error code or diagnostic code is not stored in the APCB. However, an error code is returned in register 0. |
8 (X'08') Temporary Failure |
A temporary failure occurred. The error code is stored in the APCB. The requested macro instruction failed, but the failure is considered temporary, and the macro instruction may be retried after some delay. The error code returned in register 0 is also stored in the APCB and identifies a particular type of error. The diagnostic code stored in the APCB indicates a specific instance of the error type. This code is returned only by the AOPEN macro instruction; the APCB remains closed. |
12 (X'0C') Permanent Failure |
A permanent failure occurred. The error code is stored in the APCB. The requested macro instruction failed, and the failure is considered permanent. The error code returned in register 0 is also stored in the APCB and identifies a particular type of error. The diagnostic code stored in the APCB indicates a specific instance of the error type. If the macro instruction was AOPEN, the APCB remains closed. The permanent error flag is set in the APCB and must be cleared before another AOPEN macro instruction is attempted. If the macro instruction was ACLOSE, the APCB remains opened. The permanent error flag is not set in the APCB. |
16 (X'10') Fatal Error |
A fatal error occurred. There is no error code stored in the APCB. A fatal error occurred, and the requested operation could not be performed. An error code is returned in register 0, but is not stored in the APCB. The state of the APCB is unchanged. No diagnostic code is returned in the APCB. A fatal error is generally caused by an invalid APCB address passed in register 1 or an invalid or corrupted APCB. |
AOPEN and ACLOSE Error Codes
If an AOPEN or ACLOSE macro instruction fails, an error code is returned in register 0. Depending on the general return code in register 15, this error code might also be stored in the APCB (at APCBERRC). This error code identifies a particular type of error.
For some types of errors, more than one situation can cause the error to be generated. In this case, if an error code was stored in the APCB, a diagnostic code is also stored (at APCBDGNC) that identifies the specific instance of the error type. This section lists all AOPEN and ACLOSE error codes.
For more information about AOPEN error codes, see C258xxxx (1Axx) T012AOPN. For more information about ACLOSE error codes, see C258xxxx (1Axx) T012AOPN.
Table 4-1 AOPEN and ACLOSE Error Codes
Error Code
|
Description
|
1 (X'01') APCBECFG |
The Cisco IOS for S/390 API subsystem has not been configured in the chain of MVS subsystems. Either the subsystem name in the APCB is invalid and the subsystem does not exist, or the name is valid but the subsystem has not been activated since the last IPL of the system. The latter condition may occur if the application program is started before the Cisco IOS for S/390 API address space. |
2 (X'02') APCBEACT |
The Cisco IOS for S/390 API subsystem CVT has been located, and the subsystem name in the APCB is probably correct. However, the subsystem has not been activated by the system operator. This can occur if the application program is started before the Cisco IOS for S/390 API address space, or if the subsystem has terminated or has been stopped. The request may be reissued after clearing the permanent error flag in the APCB. |
3 (X'03') APCBERDY |
The Cisco IOS for S/390 API subsystem is active, but is in the process of initializing or terminating and cannot service the AOPEN request. The application program should pause momentarily and then reissue the AOPEN macro instruction. |
4 (X'04') APCBESTP |
The Cisco IOS for S/390 API subsystem has been stopped by the system operator, and sessions with new transport users cannot be established. Existing sessions are maintained for a sufficient period of time to let the application program gracefully terminate its use of the Cisco IOS for S/390 API services. |
5 (X'05') APCBEDRA |
The Cisco IOS for S/390 API subsystem is draining (i.e., terminating), and no sessions with new transport users can be established. The application program may continue using the Cisco IOS for S/390 API via existing sessions, and when the last session is terminated, the Cisco IOS for S/390 API gracefully terminates itself. |
6 (X'06') APCBEVCK |
An error was encountered while validity checking certain fields within the APCB. If the general return code was 16, the error was fatal, and indicates that the address in register 1 did not point to a valid APCB, or that the APCB storage area may have been corrupted. If the general return code is 12, the error is considered permanent and the permanent error flag is set. |
7 (X'07') APCBELER |
An internal logic error occurred during the execution of an AOPEN or ACLOSE macro instruction. If the general return code is 16, the error is considered fatal and no diagnostic code is returned. Some possible causes are the inability to establish the top-level ESTAE recovery environment or a system ABEND while attempting to release allocated memory. If the general return code is 12, the error is considered permanent and the permanent error flag is set. |
8 (X'08') APCBEPRB |
An AOPEN or ACLOSE macro instruction was issued and the RB chain contained supervisor or interrupt request blocks. A typical cause of this error is issuing such a macro instruction within an asynchronous exit routine, or within a load module linked to or called by an exit routine. Asynchronous exit routines are preemptive, and run under control of an IRB. The diagnostic code indicates whether an AOPEN or ACLOSE macro instruction was issued. |
9 (X'09') APCBEOPN |
An AOPEN macro instruction was issued and the APCB was already opened. No operation is performed, and the APCB is not modified. No error code or diagnostic code is stored in the APCB. |
10 (X'0A') APCBECLS |
An ACLOSE macro instruction was issued and the APCB was already closed. No operation is performed, and the APCB is not modified. In particular, no error code or diagnostic code are stored in the APCB. |
11 (X'0B') APCBEBSY |
An AOPEN or ACLOSE macro instruction was issued while the APCB was busy with another operation. Since AOPEN and ACLOSE run to completion before returning to the application program, the second request must have been issued from another task or from an asynchronous exit associated with the same task. No operation is performed, and the APCB is not modified. In particular, no error code or diagnostic code are stored in the APCB. |
12 (X'0C') APCBEPER |
An AOPEN macro instruction was issued and the permanent error flag was set in the APCB. No operation is performed, and no information is stored in the APCB. If an AOPEN macro instruction fails with a general return code of 12, the APCB that was intended to be opened has its permanent error flag set. The application program must clear this flag before using the APCB with another AOPEN macro instruction. If an ACLOSE macro instruction is issued with an APCB that has its permanent error flag set, the APCB must already be closed, and APCBECLS is returned as the error code. |
13 (X'0D') APCBECVT |
An AOPEN macro instruction was issued and the address of the access method's Communications Vector Table (CVT) was zero, indicating that the access method has not completed initialization. This error is similar to APCBERDY, except that it applies to the access method specifically instead of the subsystem in general. The application program should pause momentarily, and then reissue the request. Typically the Cisco IOS for S/390 API address space is started during system initialization procedures after an IPL and allowed to stabilize before other application programs are started. Therefore, under normal circumstances, this error should not occur. |
14 (X'0E') APCBEMEM |
Insufficient memory is available within the application program's address space for local data structures allocated and maintained by the Cisco IOS for S/390 API. These data structures are allocated from subpool 0. If the current addressing mode is 31-bit and the APCB RMODE is ANY, memory is allocated above 16MB. Otherwise, memory is allocated below 16MB. The diagnostic code indicates which data structure was being allocated. |
15 (X'0F') APCBEENV |
An error occurred while attempting to initialize the language environment during AOPEN processing, or while attempting to terminate the environment during ACLOSE processing. If the application program is operating in an assembler language environment (ENVIRO=ASM), this error should not occur. Otherwise, the application must be operating within the environment of some higher level language and should be using the appropriate the Cisco IOS for S/390 API run-time library. |
16 (X'10') APCBEBEG |
An error occurred in the PC routine (APICTBEG) that is called to establish a session with the Cisco IOS for S/390 API. No session is established, and the APCB is returned to its state before the AOPEN macro instruction was issued. The diagnostic code indicates why the session could not be established. |
17 (X'11') APCBEVER |
The access method version number stored in the APCB is invalid. If the application program uses the APCB macro instruction to generate the APCB, this error should not occur. If the application program constructs the APCB using some other mechanism, the programmer should make sure the version number is correct. The version number is stored in the low-order nibble with the access method ID (APCBAM). The current version number is zero (0). |
18 (X'12') APCBEOPT |
An invalid or unsupported option was indicated in the APCB. If the APCB is generated using the APCB macro instruction, this error should not occur. Otherwise, the application program should take care to set all unused bits in the option code (APCBOPTC) to zero. |
20 (X'14') APCBEAMD |
An ACLOSE macro instruction was issued in 24-bit addressing mode for an APCB that was opened in 31-bit mode. If an APCB is opened in 31-bit mode, all subsequent requests associated with the APCB, either directly or indirectly, must be executed in 31-bit mode. An APCB opened in 24-bit mode can be closed in either addressing mode. The application program must make sure that the current addressing mode is consistent with the manner in which the APCB is opened. If the APCB was opened in 24-bit mode and this error indication appears to be erroneous, the APCB may have been corrupted. The programmer should verify that the APCB has not been inadvertently modified by the application program. |
21 (X'15') APCBETRV |
An ACLOSE macro instruction was issued, and the AM-dependent processing routine could not be invoked. Either the address of the access method transfer vector, which was stored in the APCB by AOPEN, has been modified by the application program, or the transfer vector itself has been corrupted. The latter is less likely because the transfer vector resides in store-protected memory. |
22 (X'16') APCBEEND |
An error occurred in the PC routine (APICTEND) that is called to terminate a session with the Cisco IOS for S/390 API. The session, if it existed, is not terminated, and the APCB remains opened. The diagnostic code stored in the APCB indicates why the session could not be terminated. |
TPL-Based General Return Codes - R15
General return codes are returned in register 15 to indicate the general success or failure of a TPL-based macro instruction. If the macro instruction was executed in synchronous mode, the general return code indicates whether or not the requested operation was completed normally. If the macro instruction was executed in asynchronous mode, the general return code indicates whether or not the transport service request was accepted. The subsequent TCHECK macro instruction indicates normal or abnormal completion by returning the same general return code that would have been returned in synchronous mode.
The general return codes defined in this section are those generated by the Cisco IOS for S/390 API. If a SYNAD or LERAD exit routine was entered because of an error condition, the general return code in register 15 is provided by the exit routine and may differ from the return codes used by the Cisco IOS for S/390 API.
Table 4-2 TPL-Based General Return Codes in R15
Error Code
|
Description
|
0 (X'00') TROKAY |
Request accepted, or completed normally or conditionally. If the macro instruction was executed in synchronous mode, the requested operation was completed normally or conditionally without any errors. Register 0 contains a conditional completion code that indicates what, if any, unusual conditions occurred. If the macro instruction was executed in asynchronous mode, the request was accepted and the requested operation was initiated. A TCHECK macro instruction is required to obtain the final completion status of the request. |
4 (X'04') TRFAILED |
Request not accepted, or request completed abnormally due to a nonrecoverable error or abnormal condition. If the macro instruction was executed in synchronous mode, the operation was completed abnormally. Register 0 contains a recovery action code unless this information has been modified by the SYNAD or LERAD exit routine. If the macro instruction was executed in asynchronous mode, the request was not accepted because of an error or abnormal condition. Register 0 contains a recovery action code unless this information has been modified by the SYNAD or LERAD exit routine. A TCHECK macro instruction is not required because the requested operation was never initiated. |
8 (X'08') TRFATLFC |
Requested operation could not be initiated because of an invalid function code. A fatal error occurred due to an invalid function code. The requested operation could not be initiated and the invalid function code was returned in register 0. The SYNAD and LERAD exit routines are not entered. If the macro instruction was executed in asynchronous mode, a TCHECK macro instruction should not be executed. |
12 (X'0C') TRFATLPL |
Requested operation could not be initiated because of an invalid or corrupted TPL. A fatal error occurred due to an invalid or corrupted TPL. Either the TPL address was incorrect or the TPL did not contain a valid control block identifier. If the TPL appears to be correct, then it may have been located in store-protected memory. The requested operation could not be initiated and a diagnostic code is returned in register 0. The SYNAD and LERAD exit routines are not entered. If the macro instruction was executed in asynchronous mode, a TCHECK macro instruction should not be executed. |
16 (X'10') TRFATLAM |
Requested operation could not be initiated because of a fatal access method error. A fatal error occurred due to an internal access method error. Most likely an internal control block has been corrupted or information stored in the APCB by the Cisco IOS for S/390 API has been inadvertently changed. The requested operation could not be initiated and a diagnostic code is returned in register 0. The SYNAD and LERAD exit routines are not entered. If the macro instruction was executed in asynchronous mode, a TCHECK macro instruction should not be executed. |
20 (X'14') TRFATLAP |
Requested operation could not be initiated because the APCB is closed. A fatal error occurred due to a closed or corrupted APCB. The requested operation could not be initiated and a diagnostic code is returned in register 0. The SYNAD and LERAD exit routines are not entered. If the macro instruction was executed in asynchronous mode, a TCHECK macro instruction should not be executed. |
24 (X'18') TRUSER |
First user return code from SYNAD or LERAD exit routine. This return code is defined to provide a reference for application programs that want to assign application-specific return codes generated within a SYNAD or LERAD exit routine. General return codes equal to or greater than this value does not conflict with those used by the Cisco IOS for S/390 API. |
Recovery Action Codes - R00
The recovery action code is stored in the TPL return code field (TPLRTNCD) and returned in register 0 whenever the general return code in register 15=X'04'. The recovery action code defines categories of errors that may be handled in a common manner and can serve as an index into a branch table to determine processing action within an error routine.
The recovery action codes defined in this section are those generated by the Cisco IOS for S/390 API. If SYNAD or LERAD exit routines are being used, this code is also passed to the exit routine in register 0. If the exit routine does not modify register 0, the recovery action code is returned to the application program.
Table 4-3 Recovery Action Codes
Error Code
|
Description
|
0 (X'00') TAOKAY |
Request accepted, or completed normally or conditionally. This is the value initially set in the TPL return code field. If this value remains after request acceptance or completion, an error did not occur. In this case, the conditional return code (also stored in the TPL return code field) is returned to the application program in register 0. |
4 (X'04') TAEXCPTN |
An exceptional condition occurred that prevented normal completion or acceptance of the requested function. Errors of this type generally do not affect the integrity of a network connection or the data transferred over it. |
8 (X'08') TAINTEG |
Connection or data integrity error. An error or abnormal condition occurred that may affect the integrity of the connection associated with an endpoint or the data received or transmitted over it. |
12 (X'0C') TAENVIRO |
Failure due to abnormal environmental condition. This code is generally indicative of an abnormal condition in the execution environment that is outside the direct control of the application program. Some external action may be required to relieve the condition. |
16 (X'10') TAFORMAT |
A failure occurred because of a format or specification error, usually associated with a parameter provided by the application program in a TPL-based request. Errors of this type generally indicate a logic error in the application program and should not occur once the program has been debugged. |
20 (X'14') TAPROCED |
A failure occurred because a request was issued out of sequence or when the endpoint was in an inappropriate state, or a procedural requirement was violated. Errors of this type generally indicate a logic error in the application program and should not occur once the program has been debugged. |
24 (X'18') TATPLERR |
A logic error occurred, but the TPL associated with the request was in a state or condition that prevents storing the recovery action code and specific error code in the RTNCD field of the TPL. The recovery action code is returned to the application program in register 0 as usual, but no specific error code is available. |
28 (X'1C') TAUSER |
This recovery action code is defined to provide a reference for application programs that want to assign application-specific return codes generated by a SYNAD or LERAD exit routine. Recovery action codes equal to or greater than this value does not conflict with those used by the Cisco IOS for S/390 API. |
Conditional Completion Codes - R00
Conditional completion codes are returned in register 0 whenever the general return code in register 15 indicates normal or conditional completion. The conditional completion code is also stored in the TPL return code field (TPLRTNCD) in place of the specific error code (TPLERRCD). The recovery action code (TPLACTCD) is set to zero (TAOKAY) to indicate normal or conditional completion.
Conditional completion codes are used to indicate unusual conditions that accompanied an otherwise normal completion of the requested operation. These codes generally are used to indicate the occurrence of a condition that normally does not affect the successful execution of the application program and should not be treated as an error, or special completion status the transport provider needs to return to the application program.
Each bit of the 8-bit completion code represents a particular condition. Therefore, unlike specific error codes, a conditional completion code can represent the presence of more than one condition.
Table 4-4 Conditional Completion Codes
Error Code
|
Description
|
0 (X'00)' TCOKAY |
The requested operation completed normally without any unusual conditions. The requested operation was performed, and all appropriate information was returned. |
4 (X'04') TCTIME |
A TRECV has completed based on a timeout expiring. The TPL is updated to reflect the length of data received so far. |
8 (X'08') TCSTOP |
The system operator has entered a command from the operator's console to stop the Cisco IOS for S/390 API subsystem or the transport provider. Graceful shutdown procedures have begun, but the application program is allowed to continue operation for a limited amount of time. The application program should begin a graceful shutdown of the endpoint. |
32 (X'20') TCTRUNC |
One or more return values would not fit in the storage area provided by the application program and OPTCD=TRUNC was specified. As much information as would fit in the storage area is returned, and the remainder is discarded. |
64 (X'40') TCNEGOT |
One or more options or user-supplied values were negotiated to an inferior value because they were beyond the supported range. OPTCD=NEGOT was also set in TPLOPTCD. This code applies only when the option or RTNCD 00xx facility is supported but the value is out of range. |
128 (X'80') TCVERIFY |
The requested option is not supported. One or more options did not verify with the TOPTION service request. |
R00 Diagnostic Codes
When the general return code in R15=X'12' or higher, Register 00 contains the 4 byte diagnostic codes described in Chapter 5, . In this case, the TPL is not updated.
Specific Error Codes
When the general return code is X'04' (TRFAILED) and the recovery action code is less than X'24' (TATPLERR), a specific error code is stored with the recovery action code in the TPL return code field (TPLRTNCD). This error code provides a more definitive characterization of the failure and can be used in combination with the recovery action code to determine the precise error recovery procedure.
Recovery Action Code Combinations
This table shows the valid combinations of recovery action codes and specific error codes. An entry in the table indicates that the column and row values are valid combinations for TPLRTNCD. The label appearing in the table is the mnemonic defined in the TPL DSECT:
Table 4-5 Valid Combinations Return Code Settings for TPLRTNCD
Value
|
TAEXCPTN
X'04'
|
TAINTEG
X '08'
|
TAENVIRO
X '0C'
|
TAFORMAT
X '10'
|
TAPROCED
X'14'
|
TATPLERR 0x'18'
|
X'00' |
|
|
|
|
|
|
X'01' |
|
TEPROTO |
TESYSERR |
TEBDOPCD |
TESTATE |
TEB4EXIT |
X'02' |
|
TEOVRFLO |
TESUBSYS |
TEBDEPID |
TEINEXIT |
TEACTIVE |
X'03' |
|
TEDISCON |
TENOTCNF |
TEBDXECB |
TEINACTV |
|
X'04' |
|
TERELESE |
TENOTACT |
TEBDDOM |
TEINCMPL |
|
X'05' |
|
TEOVLAY |
TENOTRDY |
TEBDPROT |
TEINDICA |
|
X'06' |
TENONEGO |
|
TEDRAIN |
TEBDTYPE |
TEBUFOVR |
|
X'07' |
|
|
TESTOP |
TEBDXLST |
TEBEQOVR |
|
X'08' |
|
|
TETERM |
TEBDUSER |
TENOCONN |
|
X'09' |
TENOBLOK |
TEFLOW |
TEUNSUPO |
TEBDACEE |
TENODISC |
|
X'0A' |
TENOLSTN |
TERETRCT |
TEUNSUPF |
TEBDSQNO |
TEOUTSEQ |
|
X'0B' |
|
TEPURGED |
TEUNAVBL |
TEBDQLEN |
TENOERR |
|
X'0C' |
|
|
TEUNAUTH |
TEBDTCB |
|
|
X'0D' |
|
|
TERSOURC |
TEBDASCB |
TEAMODE |
|
X'0E' |
|
|
TEINUSE |
TEBDADDR |
TEOWNER |
|
X'0F' |
|
|
TEUSRXIT |
TEBDOPTN |
TELISTEN |
|
X'10' |
|
|
|
TEBDDATA |
TEACCEPT |
|
X'12' |
|
|
|
TEBDTSID |
|
|
Exceptional Conditions: RTNCD 04xx
This section includes the exceptional condition specific error codes.
Table 4-6 Exceptional Condition Error Codes
Hex Code
|
Description
|
6 (X'06') TENONEGO |
One or more options or values were out of range and could not be negotiated because OPTCD=NONEGOT was specified (read "Conditional Completion Codes - R00" on page -9). |
9 (X'09') TENOBLOK |
No blocking allowed; a request was issued with OPTCD=NOBLOCK specified and the request could not be completed immediately. |
10 (X'0A') TENOLSTN |
A TRETRACT was issued and no TLISTEN was outstanding. |
Connection and Data Integrity Errors: RTNCD 08xx
This section lists the connection and data integrity error specific error codes.
Table 4-7 Connection and Data Integrity Errors
Hex Error Code
|
Description
|
1 (X'01') TEPROTO |
A protocol error occurred that prevents successful completion of the request. |
2 (X'02') TEOVRFLO |
The data to be returned to the user would not fit into the storage area provided, and OPTCD=NOTRUNC was specified. In this case, no data is returned to the user and the buffer length is not changed. |
3 (X'03') TEDISCON |
The endpoint was disconnected, either remotely or locally (for example, by the operator). |
4 (X'04') TERELESE |
An orderly release has been received from the remote TU. |
5 (X'05') TEOVLAY |
A control block has been overlaid. |
9 (X'09') TEFLOW |
The request could not be completed because of a temporary flow control condition. The request can be retried later after the flow condition is relieved. In the case of the XWA pool, it may need to be increased because it cannot expand dynamically. |
10 (X'0A') TERETRCT |
An outstanding TLISTEN request has been retracted with TRETRACT. This error code applies only to TLISTEN. |
11 (X'0B') TEPURGED |
A pending request was purged by TCLOSE due to the endpoint becoming disconnected or closed. |
Execution Environment Errors: RTNCD 0Cxx
This section includes the execution environment specific error codes.
Table 4-8 Execution Environment Errors
Error Code
|
Description
|
1 (X'01') TESYSERR |
An MVS system ABEND occurred within the Cisco IOS for S/390 API or the transport provider that is not covered by another error code. |
2 (X'02') TESUBSYS |
An MVS subsystem error (other than an ABEND) occurred within the Cisco IOS for S/390 API for which a more appropriate error code does not exist. |
3 (X'03') TENOTCNF |
The subsystem is not configured in MVS. The subsystem is not installed (i.e., no SSCVT found with matching subsystem name). |
4 (X'04') TENOTACT |
The subsystem is installed, but not started or active (i.e., SSCTUSE is 0). |
5 (X'05') TENOTRDY |
The subsystem is installed, is active (SSCTSUSE is nonzero), but has not completed initialization or is not accepting requests from external address space. |
6 (X'06') TEDRAIN |
The system operator has entered a command to drain the Cisco IOS for S/390 API subsystem. Graceful shutdown procedures have begun, but the application program is allowed to continue operation. The application program should begin a graceful shutdown of the endpoint.: |
7 (X'07') TESTOP |
The subsystem or TP has been stopped by the operator (graceful halt). |
8 (X'08') TETERM |
The subsystem or TP has terminated abnormally. |
9 (X'09') TEUNSUPO |
The requested option or facility(suppressible) is not supported and OPTCD=UNCOND was specified. |
10 (X'0A') TEUNSUPF |
The requested function or service (nonsuppressible) is not supported. TEUNSUPF is intended to apply to a particular T-function or service in its entirety, whereas TEUNSUPO applies to a particular nuance of a specific function that is supported. |
11 (X'0B') TEUNAVBL |
The requested service or facility is unavailable (e.g., offline) at this time. |
12 (X'0C') TEUNAUTH |
The requested service or facility is available, but the application program or user is not authorized to use it. |
13 (X'0D') TERSOURC |
The request could not be completed because certain required resources were not available. |
14 (X'0E') TEINUSE |
A requested resource or facility is serially reusable and is allocated to another user at the time requested. |
15 (X'OF') TEUSRXIT |
An API request was failed by a user exit routine. |
Format or Specification Errors: RTNCD 10xx
The error code TEBDxxxx indicates an error in the format or specification of the xxxx parameter. These are some examples:
In general, the Cisco IOS for S/390 API interface routine determines these:
•
The parameter is required but was not specified (the parameter length determines whether or not the parameter is specified).
•
The parameter length is non-zero but the parameter address is zero.
•
The parameter address is invalid (e.g., inappropriate storage key, nonexistent storage, etc.).
•
The Cisco IOS for S/390 API PC routine determines this:
•
The parameter length is out of range (e.g., too short or too long).
•
The transport provider determines this:
•
The parameter length and address are valid, but the content or format is not.
Table 4-9
Error Code
|
Description
|
1 (X'01') TEBDOPCD |
Invalid option code. |
2 (X'02') TEBDEPID |
Invalid endpoint ID. |
3 (X'03') TEBDXECB |
Invalid ECB/EXIT address.: |
4 (X'04') TEBDDOM |
Invalid communication domain. |
5 (X'05') TEBDPROT |
Invalid transport protocol number. |
6 (X'06') TEBDTYPE |
Invalid transport service type. |
7 (X'07') TEBDXLST |
Invalid exit list. |
8 (X'08') TEBDUSER |
Invalid user block or user block address. |
9 (X'09') TEBDACEE |
Invalid ACEE or ACEE address. |
10 (X'0A') TEBDSQNO |
Invalid sequence number. |
11 (X'0B') TEBDQLEN |
Invalid queue length parameter. |
12 (X'0C') TEBDTCB |
Invalid TCB or TCB address. |
13 (X'0D') TEBDASCB |
Invalid ASCB or ASCB address. |
14 (X'0E') TEBDADDR |
Invalid protocol address. |
15 (X'0F') TEBDOPTN |
Invalid protocol option. |
16 (X'10') TEBDDATA |
Invalid user data parameter. |
18 (X'12') TEBDTSID |
Invalid transport service ID. |
Format or Specification Errors
Sequence and Procedural Errors: RTNCD 14xx
This subsection includes sequence and procedural error codes.
Table 4-10 Sequence and Procedural Errors
Error Code
|
Description
|
1 (X'01') TESTATE |
The current state of the endpoint is invalid for the requested function. Because the endpoint state is known only in the user's address space, only the Cisco IOS for S/390 API interface routine can generate this error code. |
2 (X'02') TEINEXIT |
A function that cannot be executed within an exit routine was requested. |
3 (X'03') TEINACTV |
A TCHECK was issued to an inactive TPL. |
4 (X'04') TEINCMPL |
A request was issued on an endpoint that had pending requests (e.g., an incomplete function request). The request could not be executed because a previous request had not yet completed. |
5 (X'05') TEINDICA |
The request could not be completed because of a pending connect indication. |
6 (X'06') TEBUFOVR |
The Send/Receive buffer is overrun. The cumulative amount of space required for incomplete TSEND/TSENDTO exceeds the allocated limit. |
7 (X'07') TEREQOVR |
The Send/Receive request is overrun. The total number of pending TSEND/TSENDTO or TRECV/TRECVFR requests exceeds the allocated limit. |
8 (X'08') TENOCONN |
No connect is indication. |
9 (X'09') TENODISC |
No disconnect indication is pending. |
10 (X'0A') TEOUTSEQ |
A request was issued in a sequence that is not supported. A TOPTION request was issued with OPTCD=API specifying the SRE of a buffer when the buffer has already been allocated. Buffers are allocated by data transfer requests. |
11 (X'0B') TENOERR |
No datagram error indication is pending. |
13 (X'0D') TEAMODE |
The current addressing mode (AMODE) is inconsistent with the addressing mode at the time the APCB was opened. |
14 (X'0E') TEOWNER |
The request issued must be issued by the task that opened the endpoint (e.g., TCLOSE, TACCEPT). |
15 (X'0F') TELISTEN |
A TLISTEN was issued when the current number of outstanding connect indications was at its maximum value. |
16 (X'10') TEACCEPT |
The endpoint is busy due to a TACCEPT being issued specifying this endpoint as the new endpoint. |
Logic Errors with No TPL Return Code: 18xx
This subsection includes the logic errors with no TPL return code.
Table 4-11 Logic Errors with No TPL Return Code
Error Code
|
Description
|
1 (X'01') TEB4EXIT |
A TCHECK macro instruction was executed using a TPL that is marked incomplete but specified a TPL exit routine. The TCHECK macro instruction was apparently issued before the exit routine was entered. No information is stored in the TPLRTNCD field. |
2 (X'02') TEACTIVE |
A TPL-based macro instruction (other than TCHECK) was executed using an active TPL. No information is stored in the TPLRTNCD field. |