//--------------------------------------------------------------------------- // // SCSI Target Emulator PiSCSI // for Raspberry Pi // // Copyright (C) 2022 Uwe Seimet // // Shared code for SCSI command implementations // //--------------------------------------------------------------------------- #pragma once #include "shared/scsi.h" #include #include using namespace std; class DeviceLogger; namespace scsi_command_util { void ModeSelect(const DeviceLogger&, scsi_defs::scsi_command, const vector&, const vector&, int, int); void EnrichFormatPage(map>&, bool, int); void AddAppleVendorModePage(map>&, bool); int GetInt16(const vector&, int); int GetInt16(const vector&, int); int GetInt24(const vector&, int); uint32_t GetInt32(const vector&, int); uint64_t GetInt64(const vector&, int); void SetInt16(vector&, int, int); void SetInt32(vector&, int, uint32_t); void SetInt16(vector&, int, int); void SetInt32(vector&, int, uint32_t); void SetInt64(vector&, int, uint64_t); }