Annotation of truecrypt/volume/volumeinfo.cpp, revision 1.1

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: #include "Common/Tcdefs.h"
        !            10: #include "VolumeInfo.h"
        !            11: #include "Platform/SerializerFactory.h"
        !            12: 
        !            13: namespace TrueCrypt
        !            14: {
        !            15:        void VolumeInfo::Deserialize (shared_ptr <Stream> stream)
        !            16:        {
        !            17:                Serializer sr (stream);
        !            18: 
        !            19:                sr.Deserialize ("ProgramVersion", ProgramVersion);
        !            20:                AuxMountPoint = sr.DeserializeWString ("AuxMountPoint");
        !            21:                sr.Deserialize ("EncryptionAlgorithmBlockSize", EncryptionAlgorithmBlockSize);
        !            22:                sr.Deserialize ("EncryptionAlgorithmKeySize", EncryptionAlgorithmKeySize);
        !            23:                sr.Deserialize ("EncryptionAlgorithmMinBlockSize", EncryptionAlgorithmMinBlockSize);
        !            24:                EncryptionAlgorithmName = sr.DeserializeWString ("EncryptionAlgorithmName");
        !            25:                EncryptionModeName = sr.DeserializeWString ("EncryptionModeName");
        !            26:                sr.Deserialize ("HeaderCreationTime", HeaderCreationTime);
        !            27:                sr.Deserialize ("HiddenVolumeProtectionTriggered", HiddenVolumeProtectionTriggered);
        !            28:                LoopDevice = sr.DeserializeWString ("LoopDevice");
        !            29:                MountPoint = sr.DeserializeWString ("MountPoint");
        !            30:                Path = sr.DeserializeWString ("Path");
        !            31:                sr.Deserialize ("Pkcs5IterationCount", Pkcs5IterationCount);
        !            32:                Pkcs5PrfName = sr.DeserializeWString ("Pkcs5PrfName");
        !            33:                Protection = static_cast <VolumeProtection::Enum> (sr.DeserializeInt32 ("Protection"));
        !            34:                sr.Deserialize ("SerialInstanceNumber", SerialInstanceNumber);
        !            35:                sr.Deserialize ("Size", Size);
        !            36:                sr.Deserialize ("SlotNumber", SlotNumber);
        !            37:                sr.Deserialize ("TotalDataRead", TotalDataRead);
        !            38:                sr.Deserialize ("TotalDataWritten", TotalDataWritten);
        !            39:                Type = static_cast <VolumeType::Enum> (sr.DeserializeInt32 ("Type"));
        !            40:                VirtualDevice = sr.DeserializeWString ("VirtualDevice");
        !            41:                sr.Deserialize ("VolumeCreationTime", VolumeCreationTime);
        !            42:        }
        !            43: 
        !            44:        void VolumeInfo::Serialize (shared_ptr <Stream> stream) const
        !            45:        {
        !            46:                Serializable::Serialize (stream);
        !            47:                Serializer sr (stream);
        !            48: 
        !            49:                const uint32 version = VERSION_NUM;
        !            50:                sr.Serialize ("ProgramVersion", version);
        !            51:                sr.Serialize ("AuxMountPoint", wstring (AuxMountPoint));
        !            52:                sr.Serialize ("EncryptionAlgorithmBlockSize", EncryptionAlgorithmBlockSize);
        !            53:                sr.Serialize ("EncryptionAlgorithmKeySize", EncryptionAlgorithmKeySize);
        !            54:                sr.Serialize ("EncryptionAlgorithmMinBlockSize", EncryptionAlgorithmMinBlockSize);
        !            55:                sr.Serialize ("EncryptionAlgorithmName", EncryptionAlgorithmName);
        !            56:                sr.Serialize ("EncryptionModeName", EncryptionModeName);
        !            57:                sr.Serialize ("HeaderCreationTime", HeaderCreationTime);
        !            58:                sr.Serialize ("HiddenVolumeProtectionTriggered", HiddenVolumeProtectionTriggered);
        !            59:                sr.Serialize ("LoopDevice", wstring (LoopDevice));
        !            60:                sr.Serialize ("MountPoint", wstring (MountPoint));
        !            61:                sr.Serialize ("Path", wstring (Path));
        !            62:                sr.Serialize ("Pkcs5IterationCount", Pkcs5IterationCount);
        !            63:                sr.Serialize ("Pkcs5PrfName", Pkcs5PrfName);
        !            64:                sr.Serialize ("Protection", static_cast <uint32> (Protection));
        !            65:                sr.Serialize ("SerialInstanceNumber", SerialInstanceNumber);
        !            66:                sr.Serialize ("Size", Size);
        !            67:                sr.Serialize ("SlotNumber", SlotNumber);
        !            68:                sr.Serialize ("TotalDataRead", TotalDataRead);
        !            69:                sr.Serialize ("TotalDataWritten", TotalDataWritten);
        !            70:                sr.Serialize ("Type", static_cast <uint32> (Type));
        !            71:                sr.Serialize ("VirtualDevice", wstring (VirtualDevice));
        !            72:                sr.Serialize ("VolumeCreationTime", VolumeCreationTime);
        !            73:        }
        !            74: 
        !            75:        void VolumeInfo::Set (const Volume &volume)
        !            76:        {
        !            77:                EncryptionAlgorithmBlockSize = static_cast <uint32> (volume.GetEncryptionAlgorithm()->GetMaxBlockSize());
        !            78:                EncryptionAlgorithmKeySize = static_cast <uint32> (volume.GetEncryptionAlgorithm()->GetKeySize());
        !            79:                EncryptionAlgorithmMinBlockSize = static_cast <uint32> (volume.GetEncryptionAlgorithm()->GetMinBlockSize());
        !            80:                EncryptionAlgorithmName = volume.GetEncryptionAlgorithm()->GetName();
        !            81:                EncryptionModeName = volume.GetEncryptionMode()->GetName();
        !            82:                HeaderCreationTime = volume.GetHeaderCreationTime();
        !            83:                VolumeCreationTime = volume.GetVolumeCreationTime();
        !            84:                HiddenVolumeProtectionTriggered = volume.IsHiddenVolumeProtectionTriggered();
        !            85:                Path = volume.GetPath();
        !            86:                Pkcs5IterationCount = volume.GetPkcs5Kdf()->GetIterationCount();
        !            87:                Pkcs5PrfName = volume.GetPkcs5Kdf()->GetName();
        !            88:                Protection = volume.GetProtectionType();
        !            89:                Size = volume.GetSize();
        !            90:                Type = volume.GetType();
        !            91:                TotalDataRead = volume.GetTotalDataRead();
        !            92:                TotalDataWritten = volume.GetTotalDataWritten();
        !            93:        }
        !            94: 
        !            95:        TC_SERIALIZER_FACTORY_ADD_CLASS (VolumeInfo);
        !            96: }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.