///////////////////////////////////////////////////////////////////////////////
//                                                                           //
// Copyright (c) 2000-2019 Ericsson Telecom AB                               //
//                                                                           //
// All rights reserved. This program and the accompanying materials          //
// are made available under the terms of the Eclipse Public License v2.0     //
// which accompanies this distribution, and is available at                  //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html                                 //
///////////////////////////////////////////////////////////////////////////////

///////////////////////////////////////////////////////////
//  Module: EPTF_CLL_Common_PrivateDebugDefinitions
// 
//  Purpose:
//    This module provides private debug definitions for EPTF_Common.
// 
//  Module Parameters:
//    -
// 
//  Module depends on:
//    -
// 
//  Current Owner:
//    Gabor Tatarka (EGBOTAT)
// 
//  Last Review Date:
//    2008-10-31
// 
//  Detailed Comments:
// 
///////////////////////////////////////////////////////////

module EPTF_CLL_Common_PrivateDebugDefinitions {

///////////////////////////////////////////////////////////
//  Constant: c_EPTF_Common_debugSwitchPrivate
// 
//  Purpose:
//    Boolean constant to switch on/off debugging in the CLL code
// 
//  Detailed Comments:
//    The actual value depends on the preprocessor macro EPTF_DEBUG.
//    If EPTF_DEBUG is defined, the value is true.
///////////////////////////////////////////////////////////
#ifdef EPTF_DEBUG
const boolean c_EPTF_Common_debugSwitchPrivate := true;
#else   
const boolean c_EPTF_Common_debugSwitchPrivate := false;
#endif

const charstring c_EPTF_Common_versionInfo := 
#include "version.ttcnin"

}
