mirror of
https://github.com/SDL-Hercules-390/hyperion.git
synced 2026-07-26 02:29:51 +02:00
0719fe7a2b
Closes #260.
71 lines
2.6 KiB
C
71 lines
2.6 KiB
C
/* LOGGER.H (C) Copyright Jan Jaeger, 2003-2012 */
|
|
/* System logger functions */
|
|
/* */
|
|
/* Released under "The Q Public License Version 1" */
|
|
/* (http://www.hercules-390.org/herclic.html) as modifications to */
|
|
/* Hercules. */
|
|
|
|
#ifndef __LOGGER_H__
|
|
#define __LOGGER_H__
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/* Define a default minimum/maximum logger pipe buffer size */
|
|
/*-------------------------------------------------------------------*/
|
|
#define MIN_LOG_DEFSIZE ( 64 * 1024) // 64K
|
|
#define MAX_LOG_DEFSIZE (1 * 1024 * 1024) // 1MB
|
|
|
|
#if !defined( LOG_DEFSIZE )
|
|
#if defined( SSIZE_MAX) && (SSIZE_MAX < MAX_LOG_DEFSIZE)
|
|
#define LOG_DEFSIZE SSIZE_MAX
|
|
#else
|
|
#define LOG_DEFSIZE MAX_LOG_DEFSIZE
|
|
#endif
|
|
#endif
|
|
|
|
#if defined( LOG_DEFSIZE )
|
|
#if LOG_DEFSIZE < MIN_LOG_DEFSIZE
|
|
#undef LOG_DEFSIZE
|
|
#define LOG_DEFSIZE MIN_LOG_DEFSIZE
|
|
#endif
|
|
#if LOG_DEFSIZE > MAX_LOG_DEFSIZE
|
|
#undef LOG_DEFSIZE
|
|
#define LOG_DEFSIZE MAX_LOG_DEFSIZE
|
|
#endif
|
|
#endif
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
/* log message logging facility */
|
|
/*-------------------------------------------------------------------*/
|
|
|
|
#define LOG_NOBLOCK 0 // log_read() block option
|
|
#define LOG_BLOCK 1 // log_read() block option
|
|
|
|
LOGR_DLL_IMPORT void logger_init ();
|
|
LOGR_DLL_IMPORT int log_read ( char** msg, int* msgidx, int block );
|
|
LOGR_DLL_IMPORT int log_line ( int linenumber );
|
|
LOGR_DLL_IMPORT void log_sethrdcpy ( const char* filename );
|
|
LOGR_DLL_IMPORT void log_wakeup ( void* arg );
|
|
LOGR_DLL_IMPORT char* log_dsphrdcpy ();
|
|
LOGR_DLL_IMPORT int logger_isactive ();
|
|
|
|
#define TIMESTAMPLOG (!sysblk.logoptnotime)
|
|
#define DATESTAMPLOG (!sysblk.logoptnodate)
|
|
#define STAMPLOG (TIMESTAMPLOG || DATESTAMPLOG)
|
|
|
|
LOGR_DLL_IMPORT void logger_timestamped_logfile_write( const void* pBuff, size_t nBytes );
|
|
|
|
#if !defined( _MSVC_ )
|
|
LOGR_DLL_IMPORT void logger_unredirect();
|
|
#endif
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
|
|
extern int logger_syslogfd[2]; // logger pipe file descriptors
|
|
|
|
#define LOG_READ 0 // read end of logger pipe
|
|
#define LOG_WRITE 1 // write end of logger pipe
|
|
|
|
/*-------------------------------------------------------------------*/
|
|
|
|
#endif /* __LOGGER_H__ */
|