/* * Copyright (c) 2013-2023, The PurpleI2P Project * * This file is part of Purple i2pd project and licensed under BSD3 * * See full license text in LICENSE file at top of project tree */ #ifndef LIBI2PD_CPU_H #define LIBI2PD_CPU_H #if defined(_M_AMD64) || defined(__x86_64__) || defined(_M_IX86) || defined(__i386__) # define IS_X86 1 # if defined(_M_AMD64) || defined(__x86_64__) # define IS_X86_64 1 # else # define IS_X86_64 0 # endif #else # define IS_X86 0 # define IS_X86_64 0 #endif #if defined(__AES__) && !defined(_MSC_VER) && IS_X86 # define SUPPORTS_AES 1 #else # define SUPPORTS_AES 0 #endif namespace i2p { namespace cpu { extern bool aesni; void Detect(bool AesSwitch, bool force); } } #endif