libraries/clogger/debugRouter/debugRouter-kext.h
changeset 0 7f656887cf89
equal deleted inserted replaced
-1:000000000000 0:7f656887cf89
       
     1 // debugRouter-kext.h
       
     2 // 
       
     3 // Copyright (c) 2007 - 2010 Accenture. All rights reserved.
       
     4 // This component and the accompanying materials are made available
       
     5 // under the terms of the "Eclipse Public License v1.0"
       
     6 // which accompanies this distribution, and is available
       
     7 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 // 
       
     9 // Initial Contributors:
       
    10 // Accenture - Initial contribution
       
    11 //
       
    12 
       
    13 #include <u32std.h>
       
    14 
       
    15 namespace CloggerDebugRouter
       
    16 	{
       
    17 	const TInt KCloggerDebugPort = 67;
       
    18 	
       
    19 	NONSHARABLE_STRUCT(SCrashDumpArea)
       
    20 		{
       
    21 		DChunk* iChunk;
       
    22 		TBuf8<32> iName;
       
    23 		TUint32 iReserved[6]; // For use by variant-specific functions
       
    24 		};
       
    25 
       
    26 	/* Implementations of these functions should expect to be called in a thread context with the kernel unlocked
       
    27 	 */
       
    28 	typedef void (*TRegisterFn)(TAny* /*aAddr*/, TUint /*aSize*/, SCrashDumpArea& /*aCrashDumpArea*/);
       
    29 	typedef void (*TUnregisterFn)(SCrashDumpArea& /*aCrashDumpArea*/);
       
    30 
       
    31 	IMPORT_C void DebugPortChanged();
       
    32 	
       
    33 	/* If you're going to be calling this, the debug router has to be loaded as a kernel extension.
       
    34 	 * Call the function after the kext has loaded, and preferably before the user-side cloggerserver has started.
       
    35 	 * Kernel must be unlocked, no fast mutexes or system lock held, and in a thread context.
       
    36 	 * 
       
    37 	 * The functions you pass in must be prepared to get called before this function has returned.
       
    38 	 */
       
    39 	IMPORT_C void SetCrashDumpFunctions(TRegisterFn aRegisterFn, TUnregisterFn aUnregisterFn);
       
    40 	}