source: git/src-cryptopp/dll.h

Last change on this file was e230cb0, checked in by David Stainton <dstainton415@…>, at 2016-10-12T13:27:29Z

Add cryptopp from tag CRYPTOPP_5_6_5

  • Property mode set to 100644
File size: 1.9 KB
Line 
1// dll.h - written and placed in the public domain by Wei Dai
2
3//! \file
4//! \headerfile dll.h
5//! \brief Functions and definitions required for building the FIPS-140 DLL on Windows
6
7#ifndef CRYPTOPP_DLL_H
8#define CRYPTOPP_DLL_H
9
10#if !defined(CRYPTOPP_IMPORTS) && !defined(CRYPTOPP_EXPORTS) && !defined(CRYPTOPP_DEFAULT_NO_DLL)
11#ifdef CRYPTOPP_CONFIG_H
12#error To use the DLL version of Crypto++, this file must be included before any other Crypto++ header files.
13#endif
14#define CRYPTOPP_IMPORTS
15#endif
16
17#include "aes.h"
18#include "cbcmac.h"
19#include "ccm.h"
20#include "cmac.h"
21#include "channels.h"
22#include "des.h"
23#include "dh.h"
24#include "dsa.h"
25#include "ec2n.h"
26#include "eccrypto.h"
27#include "ecp.h"
28#include "files.h"
29#include "fips140.h"
30#include "gcm.h"
31#include "hex.h"
32#include "hmac.h"
33#include "modes.h"
34#include "mqueue.h"
35#include "nbtheory.h"
36#include "osrng.h"
37#include "pkcspad.h"
38#include "pssr.h"
39#include "randpool.h"
40#include "rsa.h"
41#include "rw.h"
42#include "sha.h"
43#include "skipjack.h"
44#include "trdlocal.h"
45
46#ifdef CRYPTOPP_IMPORTS
47
48#ifdef _DLL
49// cause CRT DLL to be initialized before Crypto++ so that we can use malloc and free during DllMain()
50#ifdef CRYPTOPP_DEBUG
51# pragma comment(lib, "msvcrtd")
52# pragma comment(lib, "cryptopp")
53#else
54# pragma comment(lib, "msvcrt")
55# pragma comment(lib, "cryptopp")
56#endif
57#endif
58
59#endif          // #ifdef CRYPTOPP_IMPORTS
60
61#include <new>  // for new_handler
62
63NAMESPACE_BEGIN(CryptoPP)
64
65#if !(defined(_MSC_VER) && (_MSC_VER < 1300))
66using std::new_handler;
67#endif
68
69typedef void * (CRYPTOPP_API * PNew)(size_t);
70typedef void (CRYPTOPP_API * PDelete)(void *);
71typedef void (CRYPTOPP_API * PGetNewAndDelete)(PNew &, PDelete &);
72typedef new_handler (CRYPTOPP_API * PSetNewHandler)(new_handler);
73typedef void (CRYPTOPP_API * PSetNewAndDelete)(PNew, PDelete, PSetNewHandler);
74
75NAMESPACE_END
76
77#endif
Note: See TracBrowser for help on using the repository browser.