/*
 * Copyright (c) 1994, 2021 Alex Leigh, All Rights Reserved
 *
 * THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF ALEX LEIGH The copyright
 * notice above does not evidence any actual or intended publication of such
 * source code.
 *
 * Disclosure, copying, distribution, or transmission of this code without
 * express permission is prohibited.
 */

#ifndef M_L_H
#define M_L_H

// TODO: Windows is not the problem here, the MS compiler is. Check for that instead.
#ifdef _WIN32
#define mFlog_msg(...) mFlog_msg_internal("", __VA_ARGS__)
#else
#define mFlog_msg(args...) mFlog_msg_internal(__func__, args)
#endif

enum mEl_level {
    MECHA_LOG_OK = 0, MECHA_LOG_WARN = 1, MECHA_LOG_ERROR = 2, MECHA_LOG_DIAG = 4
};

void mFlog_init();

void mFlog_msg_internal(const char *func, enum mEl_level level, const char *m, ...);

#endif