|
|
1.1 root 1: /*
2: Copyright (c) 2008 TrueCrypt Foundation. All rights reserved.
3:
4: Governed by the TrueCrypt License 2.4 the full text of which is contained
5: in the file License.txt included in TrueCrypt binary and source code
6: distribution packages.
7: */
8:
9: #ifndef TC_HEADER_Volume_VolumeInfo
10: #define TC_HEADER_Volume_VolumeInfo
11:
12: #include "Platform/Platform.h"
13: #include "Platform/Serializable.h"
14: #include "Volume/Volume.h"
15: #include "Volume/VolumeSlot.h"
16:
17: namespace TrueCrypt
18: {
19: class VolumeInfo;
20: typedef list < shared_ptr <VolumeInfo> > VolumeInfoList;
21:
22: class VolumeInfo : public Serializable
23: {
24: public:
25: VolumeInfo () { }
26: virtual ~VolumeInfo () { }
27:
28: TC_SERIALIZABLE (VolumeInfo);
29: void Set (const Volume &volume);
30:
31: // Modifying this structure can introduce incompatibility with previous versions
32: DirectoryPath AuxMountPoint;
33: uint32 EncryptionAlgorithmBlockSize;
34: uint32 EncryptionAlgorithmKeySize;
35: uint32 EncryptionAlgorithmMinBlockSize;
36: wstring EncryptionAlgorithmName;
37: wstring EncryptionModeName;
38: VolumeTime HeaderCreationTime;
39: bool HiddenVolumeProtectionTriggered;
40: DevicePath LoopDevice;
41: DirectoryPath MountPoint;
42: VolumePath Path;
43: uint32 Pkcs5IterationCount;
44: wstring Pkcs5PrfName;
45: uint32 ProgramVersion;
46: VolumeProtection::Enum Protection;
47: uint64 SerialInstanceNumber;
48: uint64 Size;
49: VolumeSlotNumber SlotNumber;
50: uint64 TotalDataRead;
51: uint64 TotalDataWritten;
52: VolumeType::Enum Type;
53: DevicePath VirtualDevice;
54: VolumeTime VolumeCreationTime;
55:
56: private:
57: VolumeInfo (const VolumeInfo &);
58: VolumeInfo &operator= (const VolumeInfo &);
59: };
60: }
61:
62: #endif // TC_HEADER_Volume_VolumeInfo
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.