VeraCrypt
aboutsummaryrefslogtreecommitdiff
path: root/src/Volume/Volume.make
AgeCommit message (Expand)AuthorFilesLines
2017-11-27SIMD speed optimization for Kuznyechik cipher implementation (up to 2x speedu...Mounir IDRASSI1-0/+1
2017-06-27MacOSX: various changes for assembly files build. Don't use 32-bit assembly c...Mounir IDRASSI1-14/+14
2017-06-23Update IDRIX copyright yearMounir IDRASSI1-1/+1
2017-06-23Linux/MacOSX: use yasm instead of nasm for compiling all assembly files.Mounir IDRASSI1-15/+15
2017-06-23Crypto: Add optimized SHA-512 and SHA-256 assembly implementations for x86_64...Mounir IDRASSI1-0/+44
2017-06-21Crypto: Add optimized Camellia assembly implementation for x86_64 based on wo...Mounir IDRASSI1-0/+10
2016-12-26MacOSX: use Yasm to build Twofish 64-bit assembly code on OSX since native co...Mounir IDRASSI1-1/+1
2016-12-07Crypto: Add optimized Twofish assembly implementation for x86_64.Mounir IDRASSI1-0/+5
2016-10-17Crypto: Use SIMD optimized Serpent implementation from Botan. 2.5x speed gain...Mounir IDRASSI1-1/+2
2016-08-15Windows: Add support for Streebog (hash) and kuznyechik (encryption)Mounir IDRASSI1-0/+3
2016-06-19Linux/MacOSX: Solve compilation error linked to Camellia cipher addition.Mounir IDRASSI1-0/+1
2016-05-10Remove trailing whitespaceDavid Foerster1-1/+1
2016-01-20Copyright: update dates to include 2016.Mounir IDRASSI1-1/+1
2015-12-31Cryptography: Optimize Whirlpool implementation by using public domain assemb...Mounir IDRASSI1-0/+1
2015-08-06Update license information to reflect the use of a dual license Apache 2.0 an...Mounir IDRASSI1-4/+8
2014-11-08MacOSX : Correct issue of compiling assembly files in both 32-bit and 64-bit ...Mounir IDRASSI1-4/+15
2014-11-08Correct Linux compilation after removing legacy cryptographic code.Mounir IDRASSI1-2/+0
2014-11-08Remove remaining legacy cryptographic algorithms that are never used by VeraC...Mounir IDRASSI1-4/+0
2014-11-08Add TrueCrypt 7.1a MacOSX/Linux specific source files.Mounir IDRASSI1-0/+62
ns and additions to the original source code (contained in this file) and all other portions of this file are Copyright (c) 2013-2017 IDRIX and are governed by the Apache License 2.0 the full text of which is contained in the file License.txt included in VeraCrypt binary and source code distribution packages. */ #ifndef TC_HEADER_Platform_Thread #define TC_HEADER_Platform_Thread #ifdef TC_WINDOWS # include "System.h" # define TC_THREAD_PROC DWORD WINAPI #else # include <pthread.h> # define TC_THREAD_PROC void* #endif #include "PlatformBase.h" #include "Functor.h" #include "SharedPtr.h" #include "SyncEvent.h" namespace VeraCrypt { class Thread { public: #ifdef TC_WINDOWS typedef HANDLE ThreadSystemHandle; typedef LPTHREAD_START_ROUTINE ThreadProcPtr; #else typedef pthread_t ThreadSystemHandle; typedef void* (*ThreadProcPtr) (void *); #endif Thread () { }; virtual ~Thread () { }; void Join () const; void Start (ThreadProcPtr threadProc, void *parameter = nullptr); void Start (Functor *functor) { Start (Thread::FunctorEntry, (void *)functor); } static void Sleep (uint32 milliSeconds); protected: static TC_THREAD_PROC FunctorEntry (void *functorArg) { Functor *functor = (Functor *) functorArg; try { (*functor) (); } catch (...) { } delete functor; return 0; } static const size_t MinThreadStackSize = 1024 * 1024; ThreadSystemHandle SystemHandle; private: Thread (const Thread &); Thread &operator= (const Thread &); }; } #endif // TC_HEADER_Platform_Thread