1 /* 2 Derived from source code of TrueCrypt 7.1a, which is 3 Copyright (c) 2008-2012 TrueCrypt Developers Association and which is governed 4 by the TrueCrypt License 3.0. 5 6 Modifications and additions to the original source code (contained in this file) 7 and all other portions of this file are Copyright (c) 2013-2017 IDRIX 8 and are governed by the Apache License 2.0 the full text of which is 9 contained in the file License.txt included in VeraCrypt binary and source 10 code distribution packages. 11 */ 12 13 #ifndef TC_HEADER_Core_Unix_CoreServiceResponse 14 #define TC_HEADER_Core_Unix_CoreServiceResponse 15 16 #include "Platform/Serializable.h" 17 #include "Core/Core.h" 18 19 namespace VeraCrypt 20 { 21 struct CoreServiceResponse : public Serializable 22 { 23 }; 24 25 struct CheckFilesystemResponse : CoreServiceResponse 26 { 27 CheckFilesystemResponse () { } 28 TC_SERIALIZABLE (CheckFilesystemResponse); 29 }; 30 31 struct DismountFilesystemResponse : CoreServiceResponse 32 { 33 DismountFilesystemResponse () { } 34 TC_SERIALIZABLE (DismountFilesystemResponse); 35 }; 36 37 struct DismountVolumeResponse : CoreServiceResponse 38 { 39 DismountVolumeResponse () { } 40 TC_SERIALIZABLE (DismountVolumeResponse); 41 42 shared_ptr <VolumeInfo> DismountedVolumeInfo; 43 }; 44 45 struct GetDeviceSectorSizeResponse : CoreServiceResponse 46 { 47 GetDeviceSectorSizeResponse () { } 48 GetDeviceSectorSizeResponse (uint32 size) : Size (size) { } 49 TC_SERIALIZABLE (GetDeviceSectorSizeResponse); 50 51 uint32 Size; 52 }; 53 54 struct GetDeviceSizeResponse : CoreServiceResponse 55 { 56 GetDeviceSizeResponse () { } 57 GetDeviceSizeResponse (uint64 size) : Size (size) { } 58 TC_SERIALIZABLE (GetDeviceSizeResponse); 59 60 uint64 Size; 61 }; 62 63 struct GetHostDevicesResponse : CoreServiceResponse 64 { 65 GetHostDevicesResponse () { } 66 GetHostDevicesResponse (const HostDeviceList &hostDevices) : HostDevices (hostDevices) { } 67 TC_SERIALIZABLE (GetHostDevicesResponse); 68 69 HostDeviceList HostDevices; 70 }; 71 72 struct MountVolumeResponse : CoreServiceResponse 73 { 74 MountVolumeResponse () { } 75 MountVolumeResponse (shared_ptr <VolumeInfo> volumeInfo) : MountedVolumeInfo (volumeInfo) { } 76 TC_SERIALIZABLE (MountVolumeResponse); 77 78 shared_ptr <VolumeInfo> MountedVolumeInfo; 79 }; 80 81 struct SetFileOwnerResponse : CoreServiceResponse 82 { 83 SetFileOwnerResponse () { } 84 TC_SERIALIZABLE (SetFileOwnerResponse); 85 }; 86 } 87 88 #endif // TC_HEADER_Core_Unix_CoreServiceResponse