$save nolist /* *============================================================================ * This program is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE * * Permission to use for any purpose, modify, copy, and make enhancements * and derivative works of the software is granted if attribution is given to * R.M. Gillmore, dba the ACME Software Deli, as the author * * While the ACME Software Deli does not work for money, there is nonetheless * a significant amount of work involved. The ACME Software Deli maintains the * rights to all code written, though it may be used and distributed as long as * the following conditions are maintained. * * 1. The copyright statement at the top of each code block is maintained in * your distribution. * 2. You do not identify yourself as the ACME Software Deli * 3. Any changes made to the software are sent to the ACME Software Deli *============================================================================ */ /* * $Id: logger.ext 1157 2025-05-05 00:35:39Z rmgillmore $ */ $if not LOGGER_EXT_INCLUDED $set ( LOGGER_EXT_INCLUDED ) declare logLevel_t literally 'word', FATAL_ERROR literally '0', ERROR literally '1', WARNING literally '2', ROUTINE literally '3', DEBUG literally '4'; $if not loggerSource openLogFile: procedure( fileNamePtr ) external; declare fileNamePtr pointer; end openLogFile; closeLogFile: procedure external; end closeLogFile; changeLogLevel: procedure ( newLogLevel ) external; declare newLogLevel logLevel_t; end changeLogLevel; pauseInLog: procedure( logAtLevel ) external; declare logAtLevel logLevel_t; end pauseInLog; /* * addToLog is a variadic procedure. In C, the interface would * appear thusly: * * void * addToLog( logLevel_t logLevel, char * functionName, int lineNumber, * char * formatString, ... ); * * its call is like that of printf (indeed, the printfEngine is used to * do the work of creating the log entry) */ declare addToLog pointer external data; $endif $endif $restore