Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GEOPSYSIGNALHEADER_H
00029 #define GEOPSYSIGNALHEADER_H
00030
00031 #include <QtCore>
00032 #include "GeopsyCoreDLLExport.h"
00033
00034 namespace GeopsyCore {
00035
00036 #define GEOPSYSIGNAL_TAG "GeopsySignal "
00037 #define GEOPSYSIGNAL_MAGICINT -2078964521
00038 #define GEOPSYSIGNAL_MAGICFLOAT -333.3333333e33
00039 #define GEOPSYSIGNAL_VERSION 2
00040 #define GEOPSYSIGNAL_HEADERSIZE 16+8+4*4
00041
00042 #pragma pack(1) // set alignment to 1 byte boundary
00043
00044 class GEOPSYCORE_EXPORT GeopsySignalHeader
00045 {
00046 public:
00047 bool isValid();
00048
00049 union {
00050 char raw [GEOPSYSIGNAL_HEADERSIZE];
00051 struct {
00052 char tag[16];
00053 double magicFloat;
00054 qint32 magicInt;
00055 qint32 version;
00056 qint32 offset;
00057 qint32 nSignals;
00058 } field;
00059 struct {
00060 char tag[10];
00061 qint32 version;
00062 qint32 offset;
00063 qint32 nSignals;
00064 } compat1;
00065 };
00066 };
00067
00068 #pragma pack() // restore original alignment
00069
00070 }
00071
00072 #endif // GEOPSYSIGNALHEADER_H