connectivitylayer/isce/ismpmultiplexer_dll/inc/multiplexertrace.h
author mikaruus
Tue, 19 Oct 2010 13:16:20 +0300
changeset 9 8486d82aef45
parent 0 63b37f68c1ce
permissions -rw-r--r--
modemadaptation release 2010wk40

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of the License "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
* 
* Description: 
*
*/



#ifndef __MUX_TRACE_H__
#define __MUX_TRACE_H__

// INCLUDES
#include <kernel.h>

// CONSTANTS

const TUint8 KFaultIdentifierShift = 8;
const TUint8 KChannelNumberShift = 16;
const TUint8 KExtraInfoShift = 24;

// Identifies in which class assert happened.
enum FaultClassCategories
    {
    EDMultiplexerTraceId = 0,
    EDMuxTraceId,
    };

const TUint8 KClassIdentifierShift( 8 );

// MACROS
#define _T( a ) a
#define __TRACE_PRINTF(a) Kern::Printf a

#ifdef _DEBUG
    #if defined COMPONENT_TRACE_FLAG
        #define C_TRACE(a) __TRACE_PRINTF(a)
    #else
        #define C_TRACE(a) 
    #endif // COMPONENT_TRACE_FLAG
#else // _DEBUG
    #define C_TRACE(a)
#endif // _DEBUG
//

// Resets are made both in UDEB and UREL (traces only in udeb)
// Internal asserts
#define ASSERT_RESET_ALWAYS(a,b) if(!(a)) { __TRACE_PRINTF(("Assertion failed: file=" __FILE__ ", line=%d, compiled="__DATE__" "__TIME__, __LINE__)); Kern::Fault( "Multiplexer Fault:", b ); }
#define ASSERT_THREAD_CONTEXT_ALWAYS( a )ASSERT_RESET_ALWAYS( NKern::CurrentContext() == NKern::EThread, a );

// IST API asserts
#define ISTAPI_ASSERT_KERNEL_THREAD_CONTEXT_ALWAYS NKern::CurrentContext() == NKern::EThread /*  Kernel thread context && ( Kern::CurrentThread().iThreadType!=EThreadUser || Kern::CurrentThread().iNThread.iCsCount > 0 )*/

#endif // __MUX_TRACE_H__

//  End of File