1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/kernelhwsrv/kernel/eka/debug/ost/src/ost.cpp Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,568 @@
1.4 +// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of the License "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +// Trace API
1.18 +//
1.19 +
1.20 +#include <opensystemtrace.h>
1.21 +#include "traceutils.h"
1.22 +
1.23 +
1.24 +//Add the Doxygen macro so that Doxygen doesn't need to know about the SYMBIAN_TRACE_EXECUTABLE_IS_INCLUDED define.
1.25 +//This allows doxygen to pick up the comments for the enabled implementation of the trace API.
1.26 +#ifdef __DOXYGEN__
1.27 + #define SYMBIAN_TRACE_EXECUTABLE_IS_INCLUDED
1.28 +#endif //__DOXYGEN__
1.29 +
1.30 +
1.31 +
1.32 +/**
1.33 + * This method currently incorrectly returns 0, it should be returning the UID3 of the executable.
1.34 + *
1.35 + * @deprecated
1.36 + * @return Returns 0.
1.37 + */
1.38 +EXPORT_C TComponentId TTraceContext::DefaultComponentId()
1.39 + {
1.40 + return 0;
1.41 + }
1.42 +
1.43 +
1.44 +/**
1.45 + * Check if thread identification will be added by default.
1.46 + * @deprecated
1.47 + */
1.48 +EXPORT_C THasThreadIdentification TTraceContext::HasThreadIdentification() const
1.49 + {
1.50 + return iHasThreadIdentification;
1.51 + };
1.52 +
1.53 +/**
1.54 + * Check if PC will be added by default.
1.55 + * @deprecated
1.56 + */
1.57 +EXPORT_C THasProgramCounter TTraceContext::HasProgramCounter() const
1.58 + {
1.59 + return iHasProgramCounter;
1.60 + };
1.61 +
1.62 +
1.63 +/**
1.64 + * Get the current group ID in form of classification (although classification is deprecated)
1.65 + *
1.66 + * @deprecated Use TTraceContext::GroupId() instead.
1.67 + * @return The current group ID of the trace point context, in form of classification.
1.68 + */
1.69 +EXPORT_C TClassification TTraceContext::Classification() const
1.70 + {
1.71 + return static_cast<TClassification>(iGroupId);
1.72 + };
1.73 +
1.74 +/**
1.75 + * Get the current group ID
1.76 + *
1.77 + * @deprecated
1.78 + * @return The current group ID of the trace point context.
1.79 + */
1.80 +EXPORT_C TGroupId TTraceContext::GroupId() const
1.81 + {
1.82 + return iGroupId;
1.83 + };
1.84 +
1.85 +/**
1.86 + * Get the current Component Id
1.87 + *
1.88 + * @deprecated
1.89 + * @return The currently set Component Id
1.90 + */
1.91 +EXPORT_C TComponentId TTraceContext::ComponentId() const
1.92 + {
1.93 + return iComponentId;
1.94 + }
1.95 +
1.96 +
1.97 +//--------------------- OST compiled in ------------------------
1.98 +#ifdef SYMBIAN_TRACE_EXECUTABLE_IS_INCLUDED
1.99 +
1.100 +
1.101 +
1.102 +// --------- OstPrintf ------------
1.103 +
1.104 +/**
1.105 +Prints a string by outputting a trace packet with the Trace ID KFormatPrintf.
1.106 +
1.107 +If the specified string is too long to fit into a single trace packet
1.108 +a multipart trace is generated.
1.109 +
1.110 +@deprecated
1.111 +
1.112 +@param aContext The trace packet context. @see TTraceContext
1.113 +@param aDes The string. This can be of variable length.
1.114 +
1.115 +@return The trace packet was/was not output.
1.116 +
1.117 +@See BTrace::TMultipart
1.118 +*/
1.119 +EXPORT_C TBool OstPrint(const TTraceContext& aContext, const TDesC8& aDes)
1.120 + {
1.121 + if(IsTraceActive(aContext))
1.122 + {
1.123 + GET_PC(pc);
1.124 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, KFormatPrintf, aDes.Ptr(), aDes.Size());
1.125 + }
1.126 + return EFalse;
1.127 + };
1.128 +
1.129 +
1.130 +#ifdef __KERNEL_MODE__
1.131 +
1.132 +/**
1.133 +Prints a formatted string in kernel mode only by outputting a trace packet with the Trace ID KFormatPrintf.
1.134 +
1.135 +The function uses Kern::AppendFormat() to do the formatting.
1.136 +
1.137 +Although it is safe to call this function from an ISR, it polls the output
1.138 +serial port and may take a long time to complete, invalidating any
1.139 +real-time guarantee.
1.140 +
1.141 +If called from an ISR, it is possible for output text to be intermingled
1.142 +with other output text if one set of output interrupts or preempts another.
1.143 +
1.144 +Some of the formatting options may not work inside an ISR.
1.145 +
1.146 +Be careful not to use a string that is too long to fit onto the stack.
1.147 +If the specified string is too long to fit into a single trace packet
1.148 +a multipart trace is generated.
1.149 +
1.150 +@deprecated
1.151 +
1.152 +@param aContext The trace packet context. @see TTraceContext
1.153 +@param aFmt The format string. This must not be longer than 256 characters.
1.154 +@param ... A variable number of arguments to be converted to text as dictated
1.155 + by the format string.
1.156 +
1.157 +@return The trace packet was/was not output.
1.158 +
1.159 +@pre Calling thread can either be in a critical section or not.
1.160 +@pre Interrupts must be enabled.
1.161 +@pre Kernel must be unlocked
1.162 +@pre Call in any context.
1.163 +@pre Suitable for use in a device driver
1.164 +
1.165 +@see Kern::AppendFormat()
1.166 +@See BTrace::TMultipart
1.167 +
1.168 +*/
1.169 +EXPORT_C TBool OstPrintf(const TTraceContext& aContext, const char* aFmt, ...)
1.170 + {
1.171 + if(IsTraceActive(aContext))
1.172 + {
1.173 + GET_PC(pc);
1.174 + TBuf8<KMaxPrintfSize> buf;
1.175 + VA_LIST list;
1.176 + VA_START(list,aFmt);
1.177 + Kern::AppendFormat(buf,aFmt,list);
1.178 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, KFormatPrintf, buf.Ptr(), buf.Size());
1.179 + }
1.180 + return EFalse;
1.181 + }
1.182 +
1.183 +/**
1.184 +Prints a formatted string by outputting a trace packet with the Trace ID KFormatPrintf.
1.185 +
1.186 +If the specified string is too long to fit into a single trace packet
1.187 +a multipart trace is generated.
1.188 +
1.189 +@deprecated
1.190 +
1.191 +@param aContext The trace packet context. @see TTraceContext
1.192 +@param aFmt The format string. This must not be longer than 256 characters.
1.193 +@param ... A variable number of arguments to be converted to text as dictated
1.194 + by the format string.
1.195 +
1.196 +@return The trace packet was/was not output.
1.197 +
1.198 +@See BTrace::TMultipart
1.199 +*/
1.200 +EXPORT_C TBool OstPrintf(const TTraceContext& aContext, TRefByValue<const TDesC8> aFmt,...)
1.201 + {
1.202 + if(IsTraceActive(aContext))
1.203 + {
1.204 + GET_PC(pc);
1.205 + TBuf8<KMaxPrintfSize> buf;
1.206 + VA_LIST list;
1.207 + VA_START(list,aFmt);
1.208 + TDesC8 fmt = aFmt;
1.209 + Kern::AppendFormat(buf,(char*)fmt.Ptr(),list);
1.210 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, KFormatPrintf, buf.Ptr(), buf.Size());
1.211 + }
1.212 + return EFalse;
1.213 + }
1.214 +
1.215 +#endif // __KERNEL_MODE__
1.216 +#ifndef __KERNEL_MODE__
1.217 +
1.218 +/**
1.219 +Prints a formatted string by outputting a trace packet with the Trace ID KFormatPrintf.
1.220 +
1.221 +
1.222 +If the specified string is too long to fit into a single trace packet
1.223 +a multipart trace is generated.
1.224 +
1.225 +@deprecated
1.226 +
1.227 +@param aContext The trace packet context. @see TTraceContext
1.228 +@param aFmt The format string. This must not be longer than 256 characters.
1.229 +@param ... A variable number of arguments to be converted to text as dictated
1.230 + by the format string.
1.231 +
1.232 +@return The trace packet was/was not output.
1.233 +
1.234 +@See BTrace::TMultipart
1.235 +*/
1.236 +EXPORT_C TBool OstPrintf(const TTraceContext& aContext, const char* aFmt, ...)
1.237 + {
1.238 + if(IsTraceActive(aContext))
1.239 + {
1.240 + GET_PC(pc);
1.241 + TTruncateOverflow8 overflow;
1.242 + VA_LIST list;
1.243 + VA_START(list,aFmt);
1.244 + TPtrC8 fmt((const TText8*)aFmt);
1.245 + TBuf8<KMaxPrintfSize> buf;
1.246 + // coverity[uninit_use_in_call : FALSE]
1.247 + buf.AppendFormatList(fmt,list,&overflow);
1.248 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, KFormatPrintf, buf.Ptr(), buf.Size());
1.249 + }
1.250 + return EFalse;
1.251 + };
1.252 +
1.253 +/**
1.254 +Prints a formatted string by outputting a trace packet with the Trace ID KFormatPrintf.
1.255 +
1.256 +If the specified string is too long to fit into a single trace packet
1.257 +a multipart trace is generated.
1.258 +
1.259 +@deprecated
1.260 +
1.261 +@param aContext The trace packet context. @see TTraceContext
1.262 +@param aFmt The format string. This must not be longer than 256 characters.
1.263 +@param ... A variable number of arguments to be converted to text as dictated
1.264 + by the format string.
1.265 +
1.266 +@return The trace packet was/was not output.
1.267 +
1.268 +@See BTrace::TMultipart
1.269 +*/
1.270 +EXPORT_C TBool OstPrintf(const TTraceContext& aContext, TRefByValue<const TDesC8> aFmt,...)
1.271 + {
1.272 + if(IsTraceActive(aContext))
1.273 + {
1.274 + GET_PC(pc);
1.275 + TTruncateOverflow8 overflow;
1.276 + VA_LIST list;
1.277 + VA_START(list,aFmt);
1.278 + TBuf8<KMaxPrintfSize> buf;
1.279 + // coverity[uninit_use_in_call : FALSE]
1.280 + buf.AppendFormatList(aFmt,list,&overflow);
1.281 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, KFormatPrintf, buf.Ptr(), buf.Size());
1.282 + }
1.283 + return EFalse;
1.284 + }
1.285 +
1.286 +/**
1.287 +Prints a formatted string by outputting a trace packet with the Trace ID
1.288 +KFormatPrintfUnicode for unicode strings and KFormatPrintf for other strings.
1.289 +
1.290 +If the specified string is too long to fit into a single trace packet
1.291 +a multipart trace is generated.
1.292 +
1.293 +@deprecated
1.294 +
1.295 +@param aContext The trace packet context. @see TTraceContext
1.296 +@param aFmt The format string. This must not be longer than 256 characters.
1.297 +@param ... A variable number of arguments to be converted to text as dictated
1.298 + by the format string.
1.299 +
1.300 +@return The trace packet was/was not output.
1.301 +
1.302 +@See BTrace::TMultipart
1.303 +*/
1.304 +EXPORT_C TBool OstPrintf(const TTraceContext& aContext, TRefByValue<const TDesC16> aFmt,...)
1.305 + {
1.306 + if(IsTraceActive(aContext))
1.307 + {
1.308 + GET_PC(pc);
1.309 + TTruncateOverflow16 overflow;
1.310 + VA_LIST list;
1.311 + VA_START(list,aFmt);
1.312 + TBuf<KMaxPrintfSize> buf;
1.313 + // coverity[uninit_use_in_call : FALSE]
1.314 + buf.AppendFormatList(aFmt,list,&overflow);
1.315 + #ifndef _UNICODE
1.316 + TPtr8 p(buf.Collapse());
1.317 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), myPc, KFormatPrintf, buf.PtrZ(), p.Size());
1.318 + #else //_UNICODE
1.319 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, KFormatPrintfUnicode, buf.PtrZ(), buf.Size());
1.320 + #endif //_UNICODE
1.321 + }
1.322 + return EFalse;
1.323 + };
1.324 +
1.325 +
1.326 +/**
1.327 +Prints a string by outputting a trace packet with the Trace ID KFormatPrintfUnicode
1.328 +
1.329 +If the specified string is too long to fit into a single trace packet
1.330 +a multipart trace is generated.
1.331 +
1.332 +@deprecated
1.333 +
1.334 +@param aContext The trace packet context. @see TTraceContext
1.335 +@param aDes The string. This must not be longer than 256 characters.
1.336 +
1.337 +@return The trace packet was/was not output.
1.338 +
1.339 +@See BTrace::TMultipart
1.340 +*/
1.341 +EXPORT_C TBool OstPrint(const TTraceContext& aContext, const TDesC16& aDes)
1.342 + {
1.343 + if(IsTraceActive(aContext))
1.344 + {
1.345 + GET_PC(pc);
1.346 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, KFormatPrintfUnicode, aDes.Ptr(), aDes.Size());
1.347 + }
1.348 + return EFalse;
1.349 + }
1.350 +#endif // __KERNEL_MODE__
1.351 +
1.352 +
1.353 +// --------- trace ------------
1.354 +
1.355 +/**
1.356 +Outputs a trace packet containing no payload data.
1.357 +
1.358 +@deprecated
1.359 +
1.360 +@param aContext The trace packet context. @see TTraceContext
1.361 +@param aTraceId The trace point identifier as specified by @see TTraceId
1.362 +
1.363 +@return The trace packet was/was not output.
1.364 +*/
1.365 +EXPORT_C TBool OstTrace(const TTraceContext& aContext, TTraceId aTraceId)
1.366 + {
1.367 + GET_PC(pc);
1.368 + return OST_SECONDARY_0(aContext.GroupId(),aContext.ComponentId(),aContext.HasThreadIdentification(),aContext.HasProgramCounter(), pc, aTraceId);
1.369 + }
1.370 +
1.371 +/**
1.372 +Outputs a trace packet containing 4 bytes of data.
1.373 +
1.374 +This method is likely to be deprecated soon.
1.375 +
1.376 +@param aContext The trace packet context. @see TTraceContext
1.377 +@param aTraceId The trace point identifier as specified by @see TTraceId
1.378 +@param aData 4 bytes of data
1.379 +
1.380 +@return The trace packet was/was not output.
1.381 +*/
1.382 +EXPORT_C TBool OstTrace(const TTraceContext& aContext, TTraceId aTraceId, TUint32 aData)
1.383 + {
1.384 + GET_PC(pc);
1.385 + return OST_SECONDARY_1(aContext.GroupId(),aContext.ComponentId(),aContext.HasThreadIdentification(),aContext.HasProgramCounter(),pc,aTraceId,aData);
1.386 + }
1.387 +
1.388 +/**
1.389 +Outputs a trace packet containing 8 bytes of data.
1.390 +
1.391 +@deprecated
1.392 +
1.393 +@param aContext The trace packet context. @see TTraceContext
1.394 +@param aTraceId The trace point identifier as specified by @see TTraceId
1.395 +@param aData1 4 bytes of data
1.396 +@param aData2 4 bytes of data
1.397 +
1.398 +@return The trace packet was/was not output.
1.399 +*/
1.400 +EXPORT_C TBool OstTrace(const TTraceContext& aContext, TTraceId aTraceId, TUint32 aData1, TUint32 aData2)
1.401 + {
1.402 + GET_PC(pc);
1.403 + TUint32 packet[2];
1.404 + packet[0] = aData1;
1.405 + packet[1] = aData2;
1.406 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, aTraceId, &packet, 8);
1.407 + }
1.408 +
1.409 +/**
1.410 +Outputs a trace packet containing variable length data.
1.411 +
1.412 +If the specified data is too big to fit into a single
1.413 +trace packet a multipart trace is generated.
1.414 +
1.415 +@deprecated
1.416 +
1.417 +@param aContext The trace packet context. @see TTraceContext
1.418 +@param aTraceId The trace point identifier as specified by @see TTraceId
1.419 +@param aData Address of additional data to add to trace packet.
1.420 + Must be word aligned, i.e. a multiple of 4.
1.421 +@param aSize Number of bytes of additional data.
1.422 +
1.423 +@return The trace packet was/was not output.
1.424 +
1.425 +@See BTrace::TMultipart
1.426 +*/
1.427 +EXPORT_C TBool OstTrace(const TTraceContext& aContext, TTraceId aTraceId, const TAny* aData, TInt aSize)
1.428 + {
1.429 + if(IsTraceActive(aContext))
1.430 + {
1.431 + GET_PC(pc);
1.432 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, aTraceId, aData, aSize);
1.433 + }
1.434 + return EFalse;
1.435 + }
1.436 +
1.437 +/**
1.438 +Outputs a trace packet containing 4 bytes of data.
1.439 +
1.440 +@deprecated
1.441 +
1.442 +@param aContext The trace packet context. @see TTraceContext
1.443 +@param aTraceId The trace point identifier as specified by @see TTraceId
1.444 +@param aData 4 bytes of data
1.445 +
1.446 +@return The trace packet was/was not output.
1.447 +*/
1.448 +EXPORT_C TBool OstTrace(const TTraceContext& aContext, const TTraceId aTraceId, const TUint16 aData)
1.449 + {
1.450 + GET_PC(pc);
1.451 + return OST_SECONDARY_1(aContext.GroupId(),aContext.ComponentId(),aContext.HasThreadIdentification(),aContext.HasProgramCounter(),pc,aTraceId,aData);
1.452 + }
1.453 +
1.454 +/**
1.455 +Outputs a trace packet containing 4 bytes of data.
1.456 +
1.457 +@deprecated
1.458 +
1.459 +@param aContext The trace packet context. @see TTraceContext
1.460 +@param aTraceId The trace point identifier as specified by @see TTraceId
1.461 +@param aData 4 bytes of data
1.462 +
1.463 +@return The trace packet was/was not output.
1.464 +*/
1.465 +EXPORT_C TBool OstTrace(const TTraceContext& aContext, const TTraceId aTraceId, const TUint8 aData)
1.466 + {
1.467 + GET_PC(pc);
1.468 + return OST_SECONDARY_1(aContext.GroupId(),aContext.ComponentId(),aContext.HasThreadIdentification(),aContext.HasProgramCounter(),pc,aTraceId,aData);
1.469 + }
1.470 +
1.471 +#ifndef __KERNEL_MODE__
1.472 +/**
1.473 +Outputs a trace packet containing variable length data.
1.474 +
1.475 +If the specified data is too big to fit into a single
1.476 +trace record a multipart trace is generated.
1.477 +
1.478 +@deprecated
1.479 +
1.480 +@param aContext Attributes of the trace point.
1.481 +@param aTraceId The trace point identifier as specified by @see TTraceId
1.482 +@param aData Additional data to add to trace packet.
1.483 + Must be word aligned, i.e. a multiple of 4.
1.484 +
1.485 +@return The trace packet was/was not logged.
1.486 +
1.487 +@See BTrace::TMultipart
1.488 +*/
1.489 +EXPORT_C TBool OstTrace(const TTraceContext& aContext, const TTraceId aTraceId, const TDesC16& aData)
1.490 + {
1.491 + if(IsTraceActive(aContext))
1.492 + {
1.493 + GET_PC(pc);
1.494 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, aTraceId, aData.Ptr(), aData.Size());
1.495 + }
1.496 + return EFalse;
1.497 + }
1.498 +#endif //__KERNEL_MODE__
1.499 +
1.500 +/**
1.501 +Outputs a trace packet containing variable length data.
1.502 +
1.503 +If the specified data is too big to fit into a single
1.504 +trace record a multipart trace is generated.
1.505 +
1.506 +@deprecated
1.507 +
1.508 +@param aContext Attributes of the trace point.
1.509 +@param aTraceId The trace point identifier as specified by @see TTraceId
1.510 +@param aData Additional data to add to trace packet.
1.511 + Must be word aligned, i.e. a multiple of 4.
1.512 +
1.513 +@return The trace packet was/was not logged.
1.514 +
1.515 +@See BTrace::TMultipart
1.516 +*/
1.517 +EXPORT_C TBool OstTrace(const TTraceContext& aContext, const TTraceId aTraceId, const TDesC8& aData)
1.518 + {
1.519 + if(IsTraceActive(aContext))
1.520 + {
1.521 + GET_PC(pc);
1.522 + return OST_SECONDARY_ANY(aContext.GroupId(), aContext.ComponentId(), aContext.HasThreadIdentification(), aContext.HasProgramCounter(), pc, aTraceId, aData.Ptr(), aData.Size());
1.523 + }
1.524 + return EFalse;
1.525 + }
1.526 +
1.527 +
1.528 +
1.529 +/**
1.530 + * Check whether a trace packet would be traced or not.
1.531 + *
1.532 + * @deprecated
1.533 + *
1.534 + * @param aContext The context of the trace packet(s) to be checked.
1.535 + * @return Returns whether the trace packet would be traced or not.
1.536 + * Note: The value should never be stored since the filters can be changed without warning.
1.537 + */
1.538 +EXPORT_C TBool IsTraceActive(const TTraceContext& aContext)
1.539 + {
1.540 + return BTrace::CheckFilter2(aContext.GroupId(), aContext.ComponentId());
1.541 + };
1.542 +
1.543 +//--------------------- OST compiled out ------------------------
1.544 +
1.545 +#else //SYMBIAN_TRACE_EXECUTABLE_IS_INCLUDED
1.546 +
1.547 +//--------OstPrintf
1.548 +EXPORT_C TBool OstPrintf(const TTraceContext&, const char*, ...) { return EFalse; }
1.549 +EXPORT_C TBool OstPrint(const TTraceContext&, const TDesC8&) { return EFalse; }
1.550 +EXPORT_C TBool OstPrintf(const TTraceContext&, TRefByValue<const TDesC8> ,...) { return EFalse; }
1.551 +#ifndef __KERNEL_MODE__
1.552 +EXPORT_C TBool OstPrintf(const TTraceContext&, TRefByValue<const TDesC16>,...) { return EFalse; }
1.553 +EXPORT_C TBool OstPrint(const TTraceContext&, const TDesC16&) { return EFalse; }
1.554 +#endif //__KERNEL_MODE__
1.555 +
1.556 +//--------OstTrace
1.557 +EXPORT_C TBool OstTrace(const TTraceContext&, TTraceId) { return EFalse; }
1.558 +EXPORT_C TBool OstTrace(const TTraceContext&, TTraceId, TUint32) { return EFalse; }
1.559 +EXPORT_C TBool OstTrace(const TTraceContext&, TTraceId, TUint32, TUint32) { return EFalse; }
1.560 +EXPORT_C TBool OstTrace(const TTraceContext&, TTraceId, const TAny*, TInt) { return EFalse; }
1.561 +
1.562 +EXPORT_C TBool OstTrace(const TTraceContext&, const TTraceId, const TUint8) { return EFalse; }
1.563 +EXPORT_C TBool OstTrace(const TTraceContext&, const TTraceId, const TUint16) { return EFalse; }
1.564 +EXPORT_C TBool OstTrace(const TTraceContext&, const TTraceId, const TDesC8&) { return EFalse; }
1.565 +#ifndef __KERNEL_MODE__
1.566 +EXPORT_C TBool OstTrace(const TTraceContext&, const TTraceId, const TDesC16&) { return EFalse; }
1.567 +#endif
1.568 +EXPORT_C TBool IsTraceActive(const TTraceContext&) { return EFalse; }
1.569 +
1.570 +
1.571 +#endif //SYMBIAN_TRACE_EXECUTABLE_IS_INCLUDED