circlemud_squared_0.5.153/cnf/
circlemud_squared_0.5.153/etc/
circlemud_squared_0.5.153/etc/etc/
circlemud_squared_0.5.153/etc/house/
circlemud_squared_0.5.153/etc/misc/
circlemud_squared_0.5.153/etc/plralias/A-E/
circlemud_squared_0.5.153/etc/plralias/F-J/
circlemud_squared_0.5.153/etc/plralias/K-O/
circlemud_squared_0.5.153/etc/plralias/P-T/
circlemud_squared_0.5.153/etc/plralias/U-Z/
circlemud_squared_0.5.153/etc/plralias/ZZZ/
circlemud_squared_0.5.153/etc/plrobjs/
circlemud_squared_0.5.153/etc/plrobjs/A-E/
circlemud_squared_0.5.153/etc/plrobjs/F-J/
circlemud_squared_0.5.153/etc/plrobjs/K-O/
circlemud_squared_0.5.153/etc/plrobjs/P-T/
circlemud_squared_0.5.153/etc/plrobjs/U-Z/
circlemud_squared_0.5.153/etc/plrobjs/ZZZ/
circlemud_squared_0.5.153/etc/text/
circlemud_squared_0.5.153/etc/text/help/
circlemud_squared_0.5.153/src/util/
circlemud_squared_0.5.153/src/util/worldconv/
/**
 * @file log.h
 * @ingroup common
 *
 * Logging support.
 *
 * @author Geoff Davis <geoff@circlemudsquared.org>
 *
 * @par Copyright:
 *   Copyright (C) 2006 Geoff Davis <geoff@circlemudsquared.org><br>
 *                      Greg Buxton <greg@circlemudsquared.org>
 *
 * @par
 *   Copyright (C) 1993, 94 by the Trustees of the Johns Hopkins University<br>
 *   CircleMUD is based on DikuMUD, Copyright (C) 1990, 1991.
 *
 * @par
 *   All rights reserved.  See license.doc for complete information.
 *
 * @package cs
 * @version 1.0
 */

#ifndef __LOG_H__
#define __LOG_H__

#include "base.h"

/*
 * defines for mudlog()
 */
#define OFF                   (0)       /* no logging at all                */
#define BRF                   (1)       /* only brief logging               */
#define NRM                   (2)       /* "normal" log messages            */
#define CMP                   (3)       /* all (complete) log messages      */

/*
 * "Rename" function basic_mud_log() to log().
 */
#define log basic_mud_log

/*
 * External variables.
 */

#ifndef __LOG_C__
extern FILE *logfile;
#endif /* __LOG_C__ */

/**
 * Writes an entry to the log file.
 * @param format the printf-style format specifier string
 * @return none
 */
void basic_mud_log(const char *format, ...) __attribute__ ((format (printf, 1, 2)));

/**
 * Writes an entry to the log file.
 * @param format the printf-style format specifier string
 * @return none
 */
void basic_mud_vlog(const char *format, va_list args);

/**
 * Logs when a player is killed by a death trap.
 * @param ch the character who was killed
 * @return none
 */
void log_death_trap(charData_t *ch);

/**
 * Broadcasts a log message to connected immortals, optionally writing an
 * entry is also written to the log file.
 * @param type the type of log entry
 * @param auth the minimum auth level required to received the broadcast
 * @param file whether the log message should be written to the log file
 * @param str the printf-style format string
 * @return none
 */
void mudlog(int type, int auth, bool file, const char *str, ...) __attribute__ ((format (printf, 4, 5)));

#endif /* __LOG_H__ */