SYNOPSIS #include Uunix.h void Uunix_err(s) char *s;
When a TUXEDO System/T function calls a UNIX system call that detects an error, an error is returned. The external integer Uunixerr is set to a value (as defined in Uunix.h) that identifies the system call that returned the error. In addition, the system call sets errno to a value (as defined in errno.h) that tells why the system call failed.
The Uunix_err() function is provided to produce a message on the standard error output, describing the last system call error encountered during a call to a TUXEDO System/T function. It takes one argument, a string. The function prints the argument string, then a colon and a blank, followed by the name of the system call that failed, the reason for failure, and a newline. To be of most use, the argument string should include the name of the program that incurred the error. The system call error number is taken from the external variable Uunixerr, the reason is taken from errno. Both variables are set when errors occur. They are not cleared when non-erroneous calls are made.
To simplify variant formatting of messages, the array of message strings extern char *Uunixmsg[];is provided; Uunixerr can be used as an index into this table to get the name of the system call that failed (without the newline).
#include Uunix.h extern int Uunixerr, errno; .......... if((fd=open("myfile", 3, 0660)) == -1) { Uunixerr = UOPEN; Uunix_err("myprog"); exit(1); }