00001 /******************************************************************** 00002 * The Data Acquisition Backbone Core (DABC) 00003 ******************************************************************** 00004 * Copyright (C) 2009- 00005 * GSI Helmholtzzentrum fuer Schwerionenforschung GmbH 00006 * Planckstr. 1 00007 * 64291 Darmstadt 00008 * Germany 00009 * Contact: http://dabc.gsi.de 00010 ******************************************************************** 00011 * This software can be used under the GPL license agreements as stated 00012 * in LICENSE.txt file which is part of the distribution. 00013 ********************************************************************/ 00014 #ifndef DABC_records 00015 #define DABC_records 00016 00017 #ifdef __cplusplus /* compatibility mode for pure C includes */ 00018 00019 namespace dabc 00020 { 00021 00022 #endif 00023 00024 typedef struct 00025 { 00026 int channels; /* channels of data */ 00027 float xlow; 00028 float xhigh; 00029 char xlett[32]; 00030 char cont[32]; 00031 char color[16]; /* (color name: White, Red, Green, Blue, Cyan, Yellow, Magenta) */ 00032 int data; /* first data word. */ 00033 /* DIM record must be allocated by malloc, including this header and the data field. */ 00034 } HistogramRec; 00035 00036 typedef struct 00037 { 00038 int severity; /* (0=success, 1=warning, 2=error, 3=fatal)*/ 00039 char color[16]; /* (color name: Red, Green, Blue, Cyan, Yellow, Magenta)*/ 00040 char status[16]; /* status name */ 00041 } StatusRec; 00042 00043 typedef struct 00044 { 00045 int verbose; /* (0=Plain text, 1=Node:text) */ 00046 char color[16]; /* (Red, Green, Blue, Cyan, Magenta, Yellow) */ 00047 char info[128]; /* info message */ 00048 } InfoRec; 00049 00050 typedef struct 00051 { 00052 float value; 00053 int displaymode; /* one of the DISPLAY_x */ 00054 float lower; /* limit. If limits are equal, use autoscale */ 00055 float upper; /* limit */ 00056 float alarmlower; /* alarm */ 00057 float alarmupper; /* alarm */ 00058 char color[16]; /* (color name: Red, Green, Blue, Cyan, Yellow, Magenta) */ 00059 char alarmcolor[16]; /* (color name: Red, Green, Blue, Cyan, Yellow, Magenta) */ 00060 char units[16]; 00061 } RateRec; 00062 00063 enum RateDisplayMode 00064 { 00065 DISPLAY_ARC = 0, 00066 DISPLAY_BAR = 1, 00067 DISPLAY_TREND = 2, 00068 DISPLAY_STAT = 3 00069 }; 00070 00071 #ifdef __cplusplus 00072 00073 extern const char* HistogramRecDesc; 00074 extern const char* StatusRecDesc; 00075 extern const char* InfoRecDesc; 00076 extern const char* RateRecDesc; 00077 00078 extern const char* col_Red; 00079 extern const char* col_Green; 00080 extern const char* col_Blue; 00081 extern const char* col_Cyan; 00082 extern const char* col_Yellow; 00083 extern const char* col_Magenta; 00084 00085 } /* namespace */ 00086 #endif /* c++ */ 00087 00088 #endif