#ifndef __VSA03_H__ #define __VSA03_H__ #ifdef __cplusplus #include "icsneo/disk/vsa/vsa.h" namespace icsneo { /** * Class used to store event */ class VSA03 : public VSA { public: /** * Constructor that extracts data from the given bytestream * * @param bytes Bytestream to extract VSA record data from */ VSA03(uint8_t* const bytes); /** * Get the timestamp for this record in 25 nanosecond ticks since January 1, 2007 * * @return The timestamp for this record in 25 nanosecond ticks since January 1, 2007 */ uint64_t getTimestamp() override { return timestamp & UINT63_MAX; } private: /** * Perform checksum for this record * * @param bytes Bytestream to test against the checksum */ void doChecksum(uint8_t* bytes) override; enum class EventType : uint16_t { CaptureStarted = 0, StorageReconnected = 3, FileSystemBufferOverflow = 4, LoggerWentToSleep = 5, Internal = 7, CaptureStopped = 8, LoggerPowerEvent = 9 } eventType; // Enumerated value indicating which type of event occurred uint16_t eventData; // Information about the event that is dependent on eventType uint64_t timestamp; // Timestamp of this record in 25 nanosecond ticks since January 1, 2007 uint16_t checksum; // The sum of the previous 7 words }; } // namespace icsneo #endif // __cplusplus #endif // __VSA03_H__