566eeb4b214c0d1e884640ec7dc9f1d0ccd7195e
[u/mrichter/AliRoot.git] / HLT / BASE / AliHLT_C_Component_WrapperInterface.h
1 // @(#) $Id$
2
3 #ifndef ALIHLT_C_COMPONENT_WARAPPERINTERFACE_H
4 #define ALIHLT_C_COMPONENT_WARAPPERINTERFACE_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6  * See cxx source for full Copyright notice                               */
7
8 /* AliHLT_C_Component_WrapperInterface
9    pure C interface to the AliRoot HLT component handler
10    utilized by the HLT PubSub Framework
11  */
12
13 #include <AliHLTDataTypes.h>
14
15 extern "C" {
16 typedef void* AliHLTComponentHandle;
17
18   const AliHLTComponentHandle kEmptyHLTComponentHandle = 0;
19
20 int AliHLT_C_Component_InitSystem( AliHLTComponentEnvironment* environ );
21 int AliHLT_C_Component_DeinitSystem();
22 int AliHLT_C_Component_LoadLibrary( const char* libraryPath );
23 int AliHLT_C_Component_UnloadLibrary( const char* libraryPath );
24 int AliHLT_C_CreateComponent( const char* componentType, void* environ_param, int argc, const char** argv, AliHLTComponentHandle* handle );
25 void AliHLT_C_DestroyComponent( AliHLTComponentHandle );
26 int AliHLT_C_ProcessEvent( AliHLTComponentHandle, AliHLTComponent_EventData evtData, AliHLTComponent_BlockData* blocks, 
27                            AliHLTComponent_TriggerData trigData, AliHLTUInt8_t* outputPtr,
28                            AliHLTUInt32_t* size, AliHLTUInt32_t* outputBlockCnt, 
29                            AliHLTComponent_BlockData** outputBlocks,
30                            AliHLTComponent_EventDoneData** edd );
31
32 }
33
34 #endif //ALIHLT_C_COMPONENT_WARAPPERINTERFACE_H