f23a6e1a |
1 | // @(#) $Id$ |
2 | |
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 */ |
7 | |
8 | #include <vector> |
9 | using namespace std; |
10 | |
11 | extern "C" { |
12 | |
13 | typedef unsigned char AliHLTUInt8_t; |
14 | |
15 | typedef unsigned int AliHLTUInt32_t; |
16 | |
17 | typedef unsigned long long AliHLTUInt64_t; |
18 | |
19 | typedef AliHLTUInt64_t AliHLTEventID_t; |
20 | |
21 | enum AliHLTComponent_LogSeverity { kHLTLogNone=0, kHLTLogBenchmark=1, kHLTLogDebug=2, kHLTLogInfo=4, kHLTLogWarning=8, kHLTLogError=16, kHLTLogFatal=32 }; |
22 | |
23 | struct AliHLTComponent_EventData |
24 | { |
25 | AliHLTUInt32_t fStructSize; |
26 | AliHLTEventID_t fEventID; |
27 | AliHLTUInt32_t fEventCreation_s; |
28 | AliHLTUInt32_t fEventCreation_us; |
29 | AliHLTUInt32_t fBlockCnt; |
30 | }; |
31 | |
32 | struct AliHLTComponent_ShmData |
33 | { |
34 | AliHLTUInt32_t fStructSize; |
35 | AliHLTUInt32_t fShmType; |
36 | AliHLTUInt64_t fShmID; |
37 | }; |
38 | |
39 | struct AliHLTComponent_DataType |
40 | { |
41 | AliHLTUInt32_t fStructSize; |
42 | char fID[8]; |
43 | char fOrigin[4]; |
44 | }; |
45 | |
46 | struct AliHLTComponent_BlockData |
47 | { |
48 | AliHLTUInt32_t fStructSize; |
49 | AliHLTComponent_ShmData fShmKey; |
50 | AliHLTUInt32_t fOffset; |
51 | void* fPtr; |
52 | AliHLTUInt32_t fSize; |
53 | AliHLTComponent_DataType fDataType; |
54 | AliHLTUInt32_t fSpecification; |
55 | }; |
56 | |
57 | struct AliHLTComponent_TriggerData |
58 | { |
59 | AliHLTUInt32_t fStructSize; |
60 | AliHLTUInt32_t fDataSize; |
61 | void* fData; |
62 | }; |
63 | |
64 | struct AliHLTComponent_EventDoneData |
65 | { |
66 | AliHLTUInt32_t fStructSize; |
67 | AliHLTUInt32_t fDataSize; |
68 | void* fData; |
69 | }; |
70 | |
71 | struct AliHLTComponentEnvironment |
72 | { |
73 | AliHLTUInt32_t fStructSize; |
74 | void* fParam; |
75 | void* (*fAllocMemoryFunc)( void* param, unsigned long size ); |
76 | #if 0 |
77 | int (*fAllocShmMemoryFunc)( void* param, unsigned long size, AliHLTComponent_BlockData* blockLocation ); // future addition already foreseen/envisioned |
78 | #endif |
79 | int (*fMakeOutputDataBlockListFunc)( void* param, const vector<AliHLTComponent_BlockData>& blocks, AliHLTUInt32_t* blockCount, AliHLTComponent_BlockData** outputBlocks ); |
80 | int (*fGetEventDoneDataFunc)( void* param, AliHLTEventID_t eventID, unsigned long size, AliHLTComponent_EventDoneData** edd ); |
81 | int (*fLoggingFunc)( void* param, AliHLTComponent_LogSeverity severity, const char* origin, const char* keyword, const char* message ); |
82 | }; |
83 | } |
84 | |
85 | #endif |