3 #ifndef ALIHLTDATATYPES_H
4 #define ALIHLTDATATYPES_H
5 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
6 * See cxx source for full Copyright notice */
8 /* #include <vector> */
9 /* using namespace std; */
13 typedef unsigned char AliHLTUInt8_t;
15 typedef unsigned short AliHLTUInt16_t;
17 typedef unsigned int AliHLTUInt32_t;
19 typedef unsigned long long AliHLTUInt64_t;
21 typedef AliHLTUInt64_t AliHLTEventID_t;
23 enum AliHLTComponent_LogSeverity { kHLTLogNone=0, kHLTLogBenchmark=1, kHLTLogDebug=2, kHLTLogInfo=4, kHLTLogWarning=8, kHLTLogError=16, kHLTLogFatal=32, kHLTLogAll=0x3f, kHLTLogDefault=0x39 };
25 struct AliHLTComponent_EventData
27 AliHLTUInt32_t fStructSize;
28 AliHLTEventID_t fEventID;
29 AliHLTUInt32_t fEventCreation_s;
30 AliHLTUInt32_t fEventCreation_us;
31 AliHLTUInt32_t fBlockCnt;
34 struct AliHLTComponent_ShmData
36 AliHLTUInt32_t fStructSize;
37 AliHLTUInt32_t fShmType;
38 AliHLTUInt64_t fShmID;
40 const AliHLTUInt32_t gkAliHLTComponent_InvalidShmType = 0;
41 const AliHLTUInt64_t gkAliHLTComponent_InvalidShmID = ~(AliHLTUInt64_t)0;
43 struct AliHLTComponent_DataType
45 AliHLTUInt32_t fStructSize;
50 struct AliHLTComponent_BlockData
52 AliHLTUInt32_t fStructSize;
53 AliHLTComponent_ShmData fShmKey;
54 AliHLTUInt32_t fOffset;
57 AliHLTComponent_DataType fDataType;
58 AliHLTUInt32_t fSpecification;
61 struct AliHLTComponent_TriggerData
63 AliHLTUInt32_t fStructSize;
64 AliHLTUInt32_t fDataSize;
68 struct AliHLTComponent_EventDoneData
70 AliHLTUInt32_t fStructSize;
71 AliHLTUInt32_t fDataSize;
75 typedef int (*AliHLTfctLogging)( void* param, AliHLTComponent_LogSeverity severity, const char* origin, const char* keyword, const char* message );
77 struct AliHLTComponentEnvironment
79 AliHLTUInt32_t fStructSize;
81 void* (*fAllocMemoryFunc)( void* param, unsigned long size );
83 int (*fAllocShmMemoryFunc)( void* param, unsigned long size, AliHLTComponent_BlockData* blockLocation ); // future addition already foreseen/envisioned
85 /* int (*fMakeOutputDataBlockListFunc)( void* param, const vector<AliHLTComponent_BlockData>& blocks, AliHLTUInt32_t* blockCount, AliHLTComponent_BlockData** outputBlocks ); */
86 int (*fGetEventDoneDataFunc)( void* param, AliHLTEventID_t eventID, unsigned long size, AliHLTComponent_EventDoneData** edd );
87 AliHLTfctLogging fLoggingFunc;
91 inline bool operator==( const AliHLTComponent_DataType& dt1, const AliHLTComponent_DataType& dt2 )
93 for ( unsigned i = 0; i < 8; i++ )
94 if ( dt1.fID[i] != dt2.fID[i] )
96 for ( unsigned i = 0; i < 4; i++ )
97 if ( dt1.fOrigin[i] != dt2.fOrigin[i] )
102 inline bool operator!=( const AliHLTComponent_DataType& dt1, const AliHLTComponent_DataType& dt2 )
104 for ( unsigned i = 0; i < 8; i++ )
105 if ( dt1.fID[i] != dt2.fID[i] )
107 for ( unsigned i = 0; i < 4; i++ )
108 if ( dt1.fOrigin[i] != dt2.fOrigin[i] )