//--------------------------------------------------------------------------- // // SCSI Target Emulator PiSCSI // for Raspberry Pi // // Copyright (C) 2023 akuker // //--------------------------------------------------------------------------- #pragma once #include #include #include "shared/shared_memory.h" #include "hal/data_sample.h" using namespace std; class ScsiSim { public: ScsiSim() = default; ~ScsiSim() = default; int run(const vector& args); private: void Banner(const vector&) const; static void TerminationHandler(int signum); bool ParseArgument(const vector&); int InitSharedMemory(); void TeardownSharedMemory(); void PrintDifferences(const DataSample ¤t, const DataSample &previous); void TestClient(); bool enable_debug = false; unique_ptr signals; uint32_t prev_data; bool running; bool test_mode = false; };