tperrno return values

The following is a list of error codes for tperrno that are set by LRT Tuxedo functions. All the ATMI functions whose failures are reported by the value returned in tperrno, belong to one of the categories listed below.

Protocol errors

Protocol errors occur when an ATMI function is called in an incorrect context. For example, when an ATMI function was called in the wrong order or if the call was made by the wrong process, an error may be triggered.

Error Code Category
TPEPROTOProtocol Errors.
TPESYSTEMSystem/T errors.
TPEOSOperating system errors|*LR_lrt_op_sys_errors_type.
TPEINVALErrors from invalid arguments|*LR_lrt_errors_from_invalargs_type.
TPENOENTErrors from lack of entries in system tables or the data structure used to identify buffer types.
TPEPERMErrors from lack of permission to enter the application.
TPERMERRResource manager errors.
TPETRANTransaction related errors.
TPEITYPE and TPEOTYPEErrors from mismatching of typed buffers
TPELIMIT and TPEBADDESCErrors that apply only to asynchronous communication calls or conversational calls because they involve call descriptors.
TPESVCFAIL, TPESVCERR, TPEBLOCK and TPGOTSIGErrors that can occur as a result of the communication calls in general.
TPETIMETransaction and blocking time-out errors.
TPEABORTErrors from calling tpcommit() when the transaction should have been explicitly aborted.
TPEHAZARD, TPEHEURISTICErrors that signal that a heuristic decision was (or may have been) taken.

System/T errors

When System/T errors occur, messages explaining their exact nature are written to the central event log. Since these are system errors rather than application errors, the system administrator may be needed to help correct them.

Operating system errors

Operating system errors indicate that a system call has failed. A numeric value identifying the failed system call is returned in the global variable, Uunixerr. Operating system errors are seldom application errors; systems administration may need to be called on to correct them.

Errors from invalid arguments

All of the ATMI functions that take arguments can fail if invalid arguments are passed to them. In the case where the function returns to the caller, the function fails and causes tperrno to be set to TPEINVAL. In the case of tpreturn() or tpforward(), if this type of error is discovered while processing the arguments, tperrno is set to TPESVCERR for the function waiting on the call; that is, either tpcall() or tpgetrply(). This is an application error and can be corrected by the programmer.