dll.h
Go to the documentation of this file.
// dll.h - originally written and placed in the public domain by Wei Dai
/// \file 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"
#ifdef CRYPTOPP_IMPORTS
#ifdef _DLL
// cause CRT DLL to be initialized before Crypto++ so that we can use malloc and free during DllMain()
#ifdef CRYPTOPP_DEBUG
# pragma comment(lib, "msvcrtd")
# pragma comment(lib, "cryptopp")
#else
# pragma comment(lib, "msvcrt")
# pragma comment(lib, "cryptopp")
#endif
#endif
#endif // #ifdef CRYPTOPP_IMPORTS
#include <new> // for new_handler
NAMESPACE_BEGIN(CryptoPP)
typedef void * (CRYPTOPP_API * PNew)(size_t);
typedef void (CRYPTOPP_API * PDelete)(void *);
typedef void (CRYPTOPP_API * PGetNewAndDelete)(PNew &, PDelete &);
typedef std::new_handler (CRYPTOPP_API * PSetNewHandler)(std::new_handler);
typedef void (CRYPTOPP_API * PSetNewAndDelete)(PNew, PDelete, PSetNewHandler);
NAMESPACE_END
#endif
aes.h
Class file for the AES cipher (Rijndael)
cbcmac.h
Classes for CBC MAC.
ccm.h
CCM block cipher mode of operation.
channels.h
Classes for multiple named channels.
cmac.h
Classes for CMAC message authentication code.
CRYPTOPP_API
#define CRYPTOPP_API
Win32 calling convention.
Definition: config_dll.h:119
des.h
Classes for DES, 2-key Triple-DES, 3-key Triple-DES and DESX.
dh.h
Classes for Diffie-Hellman key exchange.
dsa.h
Classes for the DSA signature algorithm.
ec2n.h
Classes for Elliptic Curves over binary fields.
eccrypto.h
Classes and functions for Elliptic Curves over prime and binary fields.
ecp.h
Classes for Elliptic Curves over prime fields.
files.h
Classes providing file-based library services.
fips140.h
Classes and functions for the FIPS 140-2 validated library.
gcm.h
GCM block cipher mode of operation.
hex.h
Classes for HexEncoder and HexDecoder.
hmac.h
Classes for HMAC message authentication codes.
modes.h
Classes for block cipher modes of operation.
mqueue.h
Classes for an unlimited queue to store messages.
CryptoPP
Crypto++ library namespace.
nbtheory.h
Classes and functions for number theoretic operations.
osrng.h
Classes for access to the operating system's random number generators.
pkcspad.h
Classes for PKCS padding schemes.
pssr.h
Classes for probabilistic signature schemes.
randpool.h
Class file for Randomness Pool.
rsa.h
Classes for the RSA cryptosystem.
rw.h
Classes for Rabin-Williams signature scheme.
sha.h
Classes for SHA-1 and SHA-2 family of message digests.
skipjack.h
Classes for the SKIPJACK block cipher.