stuserio(3)
NAME
stLog, stQuietFlag, stShutupFlag, stProgramName, stMessage, stGetFromStdin, stAskConfirm, stGetTermWidth - user interaction
SYNOPSIS
#include <config.h> #include <sttk.h.h> voidstLog (char *logMsg, int logType); int stQuietFlag; int stShutupFlag; char*stProgramName; charstMessage[]; char*stGetFromStdin (int termChar); int stAskConfirm (char *message, char *defaultAnswer); int stGetTermWidth (int fdes);
DESCRIPTION
These functions do the dialogue with the user. stLog outputs a message
to the user's terminal. The message text is given in the logMsg buffer.
logType is one of
ST_LOG_MSG Message to be sent to standard output.
- ST_LOG_MSGERR
- Message to be sent to standard error.
- ST_LOG_WARNING
- Warning message, preceded by the string `programName warning:', going to standard error.
- ST_LOG_ERROR Error message, preceded by the string `programName
- error:', going to standard error.
- Additionally, when the flag
- ST_LOG_NONL is ored to the message type (e.g. `ST_LOG_MSG |
- ST_LOG_NONL'), the message is printed without adding a newline character. Otherwise, a newline is always added.
- Whether a message really makes it's way to the user, depends on the variables stQuietFlag and stShutupFlag. When stQuietFlag is set to a non null value, all messages except error messages (ST_LOG_ERROR) will be suppressed. With the stShutupFlag set to a null value, all messages will be suppressed. Initially, both flags are set to NULL.
- The stProgramName pointer should be set pointing to a buffer containing the name how the program was called. It is used for composing proper error messages and warnings (see above).
- stMessage is a buffer for constructing messages using sprintf(3). It is designed to be large enough to hold a file's pathname and an additional short message. It's size is MAXPATHLEN+128.
- stGetFromStdin reads from stdin a text terminated by ^D or by the specified single character termChar at the beginning of a new line. If termChar is -1 text is terminated by ^D.
- stAskConfirm returns true if the answer is equivalent to defaultAnswer (assumption).
- stGetTermWidth returns the actual with of the user's termainal in columns.
BUGS
- stGetTermWidth will not work on all machines properly. In it's current
implementation, it is quite SUN specific.