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 */
8 /* AliHLT_C_Component_WrapperInterface
9 pure C interface to the AliRoot HLT component handler
10 utilized by the HLT PubSub Framework
13 #include <AliHLTDataTypes.h>
18 typedef void* AliHLTComponentHandle;
20 const AliHLTComponentHandle kEmptyHLTComponentHandle = 0;
22 int AliHLT_C_Component_InitSystem( AliHLTComponentEnvironment* environ );
23 int AliHLT_C_Component_DeinitSystem();
24 int AliHLT_C_Component_LoadLibrary( const char* libraryPath );
25 int AliHLT_C_Component_UnloadLibrary( const char* libraryPath );
26 int AliHLT_C_CreateComponent( const char* componentType, void* environ_param, int argc, const char** argv, AliHLTComponentHandle* handle );
27 void AliHLT_C_DestroyComponent( AliHLTComponentHandle );
28 int AliHLT_C_ProcessEvent( AliHLTComponentHandle, const AliHLTComponent_EventData* evtData, const AliHLTComponent_BlockData* blocks,
29 AliHLTComponent_TriggerData* trigData, AliHLTUInt8_t* outputPtr,
30 AliHLTUInt32_t* size, AliHLTUInt32_t* outputBlockCnt,
31 AliHLTComponent_BlockData** outputBlocks,
32 AliHLTComponent_EventDoneData** edd );
33 int AliHLT_C_GetOutputDataType( AliHLTComponentHandle, AliHLTComponent_DataType* dataType );
34 int AliHLT_C_GetOutputSize( AliHLTComponentHandle, unsigned long* constBase, double* inputMultiplier );
40 #endif //ALIHLT_C_COMPONENT_WARAPPERINTERFACE_H