dll.h
Go to the documentation of this file.
// dll.h - written and placed in the public domain by Wei Dai
//! \file
//! \headerfile dll.h
//! \brief Functions and definitions required for building the FIPS-140 DLL on Windows
#ifndef CRYPTOPP_DLL_H
#define CRYPTOPP_DLL_H
#if !defined(CRYPTOPP_IMPORTS) && !defined(CRYPTOPP_EXPORTS) && !defined(CRYPTOPP_DEFAULT_NO_DLL)
#ifdef CRYPTOPP_CONFIG_H
#error To use the DLL version of Crypto++, this file must be included before any other Crypto++ header files.
#endif
#define CRYPTOPP_IMPORTS
#endif
#include "aes.h"
#include "cbcmac.h"
#include "ccm.h"
#include "cmac.h"
#include "channels.h"
#include "des.h"
#include "dh.h"
#include "dsa.h"
#include "ec2n.h"
#include "eccrypto.h"
#include "ecp.h"
#include "files.h"
#include "fips140.h"
#include "gcm.h"
#include "hex.h"
#include "hmac.h"
#include "modes.h"
#include "mqueue.h"
#include "nbtheory.h"
#include "osrng.h"
#include "pkcspad.h"
#include "pssr.h"
#include "randpool.h"
#include "rsa.h"
#include "rw.h"
#include "sha.h"
#include "skipjack.h"
#include "trdlocal.h"
#ifdef CRYPTOPP_IMPORTS
#ifdef _DLL
// cause CRT DLL to be initialized before Crypto++ so that we can use malloc and free during DllMain()
#ifdef NDEBUG
#pragma comment(lib, "msvcrt")
#else
#pragma comment(lib, "msvcrtd")
#endif
#endif
#pragma comment(lib, "cryptopp")
#endif // #ifdef CRYPTOPP_IMPORTS
#include <new> // for new_handler
NAMESPACE_BEGIN(CryptoPP)
#if !(defined(_MSC_VER) && (_MSC_VER < 1300))
using std::new_handler;
#endif
typedef void * (CRYPTOPP_API * PNew)(size_t);
typedef void (CRYPTOPP_API * PDelete)(void *);
typedef void (CRYPTOPP_API * PGetNewAndDelete)(PNew &, PDelete &);
typedef new_handler (CRYPTOPP_API * PSetNewHandler)(new_handler);
typedef void (CRYPTOPP_API * PSetNewAndDelete)(PNew, PDelete, PSetNewHandler);
NAMESPACE_END
#endif
randpool.h
Class file for Randomness Pool.
modes.h
Class file for modes of operation.
ecp.h
Classes for Elliptic Curves over prime fields.
cbcmac.h
Classes for CBC MAC.
channels.h
Classes for multiple named channels.
cmac.h
Classes for CMAC message authentication code.
ec2n.h
Classes for Elliptic Curves over binary fields.
hmac.h
Classes for HMAC message authentication codes.
rw.h
Classes for Rabin-Williams signature scheme.
skipjack.h
Classes for the SKIPJACK block cipher.
dh.h
Classes for Diffie-Hellman key exchange.
hex.h
Classes for HexEncoder and HexDecoder.
aes.h
Class file for the AES cipher (Rijndael)
dsa.h
Classes for the DSA signature algorithm.
des.h
Classes for DES, 2-key Triple-DES, 3-key Triple-DES and DESX.
sha.h
Classes for SHA-1 and SHA-2 family of message digests.
nbtheory.h
Classes and functions for number theoretic operations.
rsa.h
Classes for the RSA cryptosystem.
fips140.h
Classes and functions for the FIPS 140-2 validated library.
gcm.h
GCM block cipher mode of operation.
void
eccrypto.h
Classes and functions for Elliptic Curves over prime and binary fields.
CryptoPP
Crypto++ library namespace.
pssr.h
Classes for probablistic signature schemes.
osrng.h
Classes for access to the operating system&#39;s random number generators.
ccm.h
CCM block cipher mode of operation.