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.