169 lines
4.9 KiB
C++
169 lines
4.9 KiB
C++
//----------------------------------------------------------------------------
|
|
//
|
|
// Copyright (C) Intel Corporation, 2006 - 2007.
|
|
//
|
|
// File: global.h
|
|
//
|
|
// Contents: Global declarations and definitions.
|
|
//
|
|
// Notes:
|
|
//----------------------------------------------------------------------------
|
|
#ifndef _MPS_GLOBAL__H__
|
|
#define _MPS_GLOBAL__H__
|
|
|
|
//===================================================
|
|
// INCLUDES
|
|
//===================================================
|
|
#include <ace/Log_Msg.h>
|
|
#include <ace/Log_Priority.h>
|
|
#include <ace/String_Base.h>
|
|
#include <ace/DLL.h>
|
|
#include <ace/Global_Macros.h>
|
|
|
|
#include "GuardedCounter.h"
|
|
|
|
#if defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_SERVICES) && defined (_SERVICE)
|
|
#include "MPSEventLogger.h"
|
|
#endif /* ACE_WIN32 && !(ACE_LACKS_WIN32_SERVICES) && (_SERVICE)*/
|
|
|
|
using namespace std;
|
|
|
|
//===================================================
|
|
// DEFINES
|
|
//===================================================
|
|
|
|
#define MPS_NAME "MPS"
|
|
#define DYNAMIC_CONFIGURATION_DELAY 10
|
|
#define MAX_NOTIFICATIONS 8
|
|
#define TIMEOUT_DELAY 60
|
|
#define TIMEOUT_INTERVAL 0
|
|
|
|
#if defined (ACE_WIN32)
|
|
#define STATIC_CONFIG_FILENAME "conf\\mps.config"
|
|
#define DYNAMIC_CONFIG_FILENAME "conf\\mps_dynamic.config"
|
|
#else
|
|
#define STATIC_CONFIG_FILENAME "conf/mps.config"
|
|
#define DYNAMIC_CONFIG_FILENAME "conf/mps_dynamic.config"
|
|
#endif
|
|
|
|
//===================================================
|
|
// ENUM
|
|
//===================================================
|
|
enum STATUS{STATUS_FAILURE=-1,
|
|
STATUS_SUCCESS=0,
|
|
STATUS_FATAL_ERROR,
|
|
STATUS_GENERAL_ERROR,
|
|
STATUS_RECOVER_ERROR,
|
|
STATUS_BAD_REQUEST,
|
|
STATUS_MALLOC_FAILURE,
|
|
STATUS_ILLEGAL_PARAMS,
|
|
STATUS_CONNECTION_CLOSED,
|
|
STATUS_NETWORK_ERROR,
|
|
STATUS_QUEUE_TIMEOUT,
|
|
STATUS_QUEUE_FULL,
|
|
STATUS_QUEUE_DEACTIVATED,
|
|
STATUS_LOCK_FAILURE,
|
|
STATUS_ILLEGAL_APF_MESSAGE,
|
|
STATUS_ILLEGAL_SOCKS_MESSAGE,
|
|
STATUS_INVALID_CHANNEL,
|
|
STATUS_INVALID_TUNNEL_STATE,
|
|
STATUS_OPERATION_NOT_SUPPORTED,
|
|
STATUS_AUTH_FAILURE,
|
|
};
|
|
|
|
enum PRIORITY { PRIO_HIGH,
|
|
PRIO_MEDIUM,
|
|
PRIO_LOW
|
|
};
|
|
//===================================================
|
|
// GLOBALS AND CONSTANT
|
|
//===================================================
|
|
|
|
extern ACE_String_Base<ACE_TCHAR> absolutePath;
|
|
extern ACE_TString logFileNameFull;
|
|
|
|
const int DFLT_ZERO = 0;
|
|
const int DFLT_NEGETIVE_VALUE = 0;
|
|
|
|
// Not currently supported in Linux
|
|
#ifdef ACE_WIN32
|
|
|
|
const char AUTH_DLL_FUNC_NAME[13] = "Authenticate";
|
|
const int MAX_DLL_ERR_LEN = 512;
|
|
|
|
// Declare the type of the DLL symbol:
|
|
typedef UINT8 (*SOAP_Authenticate)(const char* userName ,const char* userPassword , const char* connectionStr ,char* errorString, UINT32 err_len);
|
|
|
|
extern ACE_DLL _SOCKS_AUTH_DLL;
|
|
extern ACE_DLL _AMT_AUTH_DLL;
|
|
extern SOAP_Authenticate _socks_auth_func;
|
|
extern SOAP_Authenticate _amt_auth_func;
|
|
|
|
#endif /* ACE_WIN32 */
|
|
|
|
#if defined (ACE_WIN32) && !defined (ACE_LACKS_WIN32_SERVICES) && defined (_SERVICE)
|
|
extern MPSEventLoggerWrapper m_pLogger;
|
|
#endif /* ACE_WIN32 && !(ACE_LACKS_WIN32_SERVICES) && (_SERVICE)*/
|
|
|
|
const int MAX_TUNNEL_COUNTER=1000;
|
|
const int MAX_TCP_COUNTER=1000;
|
|
extern GuardedCounter TUNNEL_COUNTER;
|
|
extern GuardedCounter TCP_COUNTER;
|
|
//===================================================
|
|
// GLOBAL MACROS
|
|
//===================================================
|
|
|
|
//log:
|
|
|
|
// Listing 1 code/ch03
|
|
#define MY_TRACE LM_TRACE, ACE_TEXT ("(%t)[%D] [%M] ")
|
|
#define MY_DEBUG LM_DEBUG, ACE_TEXT ("(%t)[%D] [%M] ")
|
|
#define MY_INFO LM_INFO, ACE_TEXT ("[%D] [%M] ")
|
|
#define MY_NOTICE LM_NOTICE, ACE_TEXT ("[%D] [%M] ")
|
|
#define MY_WARNING LM_WARNING, ACE_TEXT ("[%D] [%M] ")
|
|
#define MY_ERROR LM_ERROR, ACE_TEXT ("[%D] [%M] ")
|
|
#define MY_CRITICAL LM_CRITICAL, ACE_TEXT ("[%D] [%M] ")
|
|
#define MY_ALERT LM_ALERT, ACE_TEXT ("[%D] [%M] ")
|
|
#define MY_EMERGENCY LM_EMERGENCY, ACE_TEXT ("[%D] [%M] ")
|
|
|
|
|
|
#define CHECK_STATUS_REP(S1, TEXT) \
|
|
do { \
|
|
if ((S1) != STATUS_SUCCESS) \
|
|
{ \
|
|
ACE_DEBUG((MY_DEBUG TEXT)); \
|
|
return S1; \
|
|
} \
|
|
}while (0)
|
|
|
|
|
|
#define CHECK_ERROR_STATUS_REP(S1, S2, TEXT)\
|
|
do { \
|
|
if ((S1) == (S2)) \
|
|
{ \
|
|
ACE_DEBUG((MY_DEBUG TEXT)); \
|
|
return S1; \
|
|
} \
|
|
}while (0)
|
|
|
|
#define PRINT_ERROR_STATUS(S, TEXT) \
|
|
do { \
|
|
if ((S) != STATUS_SUCCESS) \
|
|
ACE_DEBUG((MY_DEBUG TEXT)); \
|
|
}while (0)
|
|
|
|
#define TRY_ACQUIRE_GUARD_RETURN(MUTEX, OBJ, LOCK, RETURN) \
|
|
ACE_Guard< MUTEX > OBJ (LOCK, 0); \
|
|
if (OBJ.locked () == 0) { return RETURN; }
|
|
|
|
#define TRY_ACQUIRE_GUARD(MUTEX, OBJ, LOCK) \
|
|
ACE_Guard< MUTEX > OBJ (LOCK, 0);
|
|
|
|
#define TRY_ACQUIRE_WRITE_GUARD(MUTEX, OBJ, LOCK) \
|
|
ACE_Write_Guard< MUTEX > OBJ (LOCK, 0);
|
|
|
|
#define TRY_ACQUIRE_WRITE_GUARD_RETURN(MUTEX, OBJ, LOCK, RETURN) \
|
|
ACE_Write_Guard< MUTEX > OBJ (LOCK, 0); \
|
|
if (OBJ.locked () == 0) { return RETURN; }
|
|
|
|
#endif //_MPS_GLOBAL__H__
|