24 #include "runtime.hpp"
25 #include "handshake.hpp"
26 #include "yassl_int.hpp"
27 #include "crypto_wrapper.hpp"
32 #include "openssl/ssl.h"
34 #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION
37 template class list<unsigned char*>;
46 template class list<TaoCrypt::Signer*>;
47 template class list<yaSSL::SSL_SESSION*>;
48 template class list<yaSSL::input_buffer*>;
49 template class list<yaSSL::output_buffer*>;
50 template class list<yaSSL::x509*>;
51 template class list<yaSSL::Digest*>;
52 template class list<yaSSL::BulkCipher*>;
61 template bool list<yaSSL::ThreadError>::erase(list<yaSSL::ThreadError>::iterator);
63 template void list<yaSSL::ThreadError>::pop_front();
64 template void list<yaSSL::ThreadError>::pop_back();
65 template list<yaSSL::ThreadError>::~list();
66 template pair<int, yaSSL::Message* (*)()>* GetArrayMemory<pair<int, yaSSL::Message* (*)()> >(size_t);
67 template void FreeArrayMemory<pair<int, yaSSL::Message* (*)()> >(pair<int, yaSSL::Message* (*)()>*);
68 template pair<int, yaSSL::HandShakeBase* (*)()>* GetArrayMemory<pair<int, yaSSL::HandShakeBase* (*)()> >(size_t);
69 template void FreeArrayMemory<pair<int, yaSSL::HandShakeBase* (*)()> >(pair<int, yaSSL::HandShakeBase* (*)()>*);
70 template pair<int, yaSSL::ServerKeyBase* (*)()>* GetArrayMemory<pair<int, yaSSL::ServerKeyBase* (*)()> >(size_t);
71 template void FreeArrayMemory<pair<int, yaSSL::ServerKeyBase* (*)()> >(pair<int, yaSSL::ServerKeyBase* (*)()>*);
72 template pair<int, yaSSL::ClientKeyBase* (*)()>* GetArrayMemory<pair<int, yaSSL::ClientKeyBase* (*)()> >(size_t);
73 template void FreeArrayMemory<pair<int, yaSSL::ClientKeyBase* (*)()> >(pair<int, yaSSL::ClientKeyBase* (*)()>*);
80 template void ysDelete<unsigned char>(
unsigned char*);
81 template void ysDelete<DH>(yaSSL::DH*);
84 template void ysDelete<input_buffer>(input_buffer*);
85 template void ysDelete<output_buffer>(output_buffer*);
86 template void ysDelete<x509>(x509*);
87 template void ysDelete<Auth>(Auth*);
88 template void ysDelete<HandShakeBase>(HandShakeBase*);
89 template void ysDelete<ServerKeyBase>(ServerKeyBase*);
90 template void ysDelete<ClientKeyBase>(ClientKeyBase*);
91 template void ysDelete<SSL_METHOD>(SSL_METHOD*);
92 template void ysDelete<DiffieHellman>(DiffieHellman*);
93 template void ysDelete<BulkCipher>(BulkCipher*);
94 template void ysDelete<Digest>(Digest*);
95 template void ysDelete<X509>(X509*);
96 template void ysDelete<Message>(Message*);
97 template void ysDelete<sslFactory>(sslFactory*);
98 template void ysDelete<Sessions>(Sessions*);
99 template void ysDelete<Errors>(Errors*);
100 template void ysArrayDelete<unsigned char>(
unsigned char*);
101 template void ysArrayDelete<char>(
char*);
103 template int min<int>(int, int);
104 template uint16 min<uint16>(uint16, uint16);
105 template unsigned int min<unsigned int>(
unsigned int,
unsigned int);
106 template unsigned long min<unsigned long>(
unsigned long,
unsigned long);
109 #endif // HAVE_EXPLICIT_TEMPLATE_INSTANTIATION