/*!
    \file  MonesGlobal.h
    \brief グローバル インスタンス宣言

    Copyright (c) 2004 Yamami
    All rights reserved.
    License=MIT/X Licnese

    \author  Yamami 
    \version $Revision: 1.2 $
    \date   create:2004/09/04 update:$Date: 2004/09/20 15:29:03 $
*/

#ifndef _MONES_GLOBAL_
#define _MONES_GLOBAL_

//MONES_GLOBAL_VALUE_DEFINEDマクロが宣言されている箇所のみ、インスタンス化
//他は、extern "C" で宣言
#ifdef MONES_GLOBAL_VALUE_DEFINED
#define GLOBAL /* */
#define GLOBAL_VAL(v) = (v)
#else
#define GLOBAL extern "C"
//#define GLOBAL extern 
#define GLOBAL_VAL(v) /* */
#endif


#include <sys/types.h>
#include "MonesConfig.h"
#include "MoEther.h"
#include "MoArp.h"
#include "MoIp.h"
#include "MoIcmp.h"

//GLOBAL VirtualConsole* g_console GLOBAL_VAL(0);      /*< pointer to console    */
//GLOBAL VirtualConsole* g_log     GLOBAL_VAL(0);

//MonesConfigをインスタンス化
GLOBAL MonesConfig G_MonesCon;
GLOBAL MoEther* g_MoEther;
GLOBAL MoArp* g_MoArp;
GLOBAL MoIp* g_MoIp;
GLOBAL MoIcmp* g_MoIcmp;

#endif
