PURPOSE

tperrno - TUXEDO System/T error codes

SYNOPSIS


#include <atmi.h>

DESCRIPTION

The numerical value represented by the symbolic name of an error condition is assigned to tperrno for errors that occur when executing a System/T library routine.

The name tperrno expands to a modifiable lvalue that has type int, the value of which is set to a positive error number by several System/T library routines. tperrno need not be the identifier of an object; it might expand to a modifiable lvalue resulting from a function call. It is unspecified whether tperrno is a macro or an identifier declared with external linkage. If a tperrno macro definition is suppressed to access an actual object, or if a program defines an identifier with the name tperrno, the behavior is undefined.

The manual pages for System/T library routines list possible error conditions for each routine and the meaning of the error in that context. The order in which possible errors are listed is not significant and does not imply precedence. The value of tperrno should be checked only after an error has been indicated; that is, when the return value of the component indicates an error and the component definition specifies that tperrno be set. An application that checks the value of tperrno must include the <atmi.h> header file.

The following list describes the general meaning of each error:

TPEABORT
A transaction could not commit because either the work performed by the initiator or by one or more of its participants could not commit.
TPEBADDESC
A call descriptor is invalid or is not the descriptor with which a conversational service was invoked.
TPEBLOCK
A blocking condition exists and TPNOBLOCK was specified.
TPEINVAL
An invalid argument was detected.
TPELIMIT
The caller's request was not sent because the maximum number of outstanding requests or connections has been reached.
TPENOENT
Can not send to svc because it does not exist or is not the correct type of service.
TPEOS
An operating system error has occurred.
TPEPERM
A client cannot join an application because it does not have permission to do so or because it has not supplied the correct application password.
TPEPROTO
A library routine was called in an improper context.
TPESVCERR
A service routine encountered an error either in tpreturn(3c) or tpforward(3c) (for example, bad arguments were passed).
TPESVCFAIL
The service routine sending the caller's reply called tpreturn(3c) with TPFAIL. This is an application-level failure.
TPESYSTEM
A System/T error has occurred.
TPETIME
A timeout occurred.
TPETRAN
The caller cannot be placed in transaction mode.
TPGOTSIG
A signal was received and TPSIGRSTRT was not specified.
TPERMERR
A resource manager failed to open or close correctly.
TPEITYPE
The type and sub-type of the input buffer is not one of the types and sub-types that the service accepts.
TPEOTYPE
The type and sub-type of the reply are not known to the caller.
TPEHAZARD
Due to some failure, the work done on behalf of the transaction can have been heuristically completed.
TPEHEURISTIC
Due to a heuristic decision, the work done on behalf of the transaction was partially committed and partially aborted.
TPEEVENT
An event occurred; the event type is returned in revent.
TPEMATCH
svcname is already advertised for the server but with a function other than func.

USAGE

Some routines do not have an error return value. Because no routine sets tperrno to zero, an application can set tperrno to zero, call a routine and then check tperrno again to see if an error has occurred.

SEE ALSO

See the ERRORS section of the individual System/T library routines for a more detailed description of the meaning of the error codes returned by each routine.