mySQL 5.0.11 sources for tomato
[tomato.git] / release / src / router / mysql / extra / yassl / src / template_instnt.cpp
blob638ddfb3e4ebc7963e71343b5b505cb74b00cd58
1 /*
2 Copyright (c) 2000-2008 MySQL AB
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; version 2 of the License.
8 This program is distributed in the hope that it will be useful,
9 but WITHOUT ANY WARRANTY; without even the implied warranty of
10 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 GNU General Public License for more details.
13 You should have received a copy of the GNU General Public License
14 along with this program; see the file COPYING. If not, write to the
15 Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
16 MA 02110-1301 USA.
20 /* Explicit template instantiation requests
24 #include "runtime.hpp"
25 #include "handshake.hpp"
26 #include "yassl_int.hpp"
27 #include "crypto_wrapper.hpp"
28 #include "hmac.hpp"
29 #include "md5.hpp"
30 #include "sha.hpp"
31 #include "ripemd.hpp"
32 #include "openssl/ssl.h"
34 #ifdef HAVE_EXPLICIT_TEMPLATE_INSTANTIATION
36 namespace mySTL {
37 template class list<unsigned char*>;
38 template yaSSL::del_ptr_zero for_each(mySTL::list<unsigned char*>::iterator, mySTL::list<unsigned char*>::iterator, yaSSL::del_ptr_zero);
39 template pair<int, yaSSL::Message* (*)()>* uninit_copy<mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*);
40 template pair<int, yaSSL::HandShakeBase* (*)()>* uninit_copy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
41 template void destroy<mySTL::pair<int, yaSSL::Message* (*)()>*>(mySTL::pair<int, yaSSL::Message* (*)()>*, mySTL::pair<int, yaSSL::Message* (*)()>*);
42 template void destroy<mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*>(mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*, mySTL::pair<int, yaSSL::HandShakeBase* (*)()>*);
43 template pair<int, yaSSL::ServerKeyBase* (*)()>* uninit_copy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
44 template void destroy<mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ServerKeyBase* (*)()>*);
45 template pair<int, yaSSL::ClientKeyBase* (*)()>* uninit_copy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
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*>;
53 template void destroy<mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*>(mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*, mySTL::pair<int, yaSSL::ClientKeyBase* (*)()>*);
54 template yaSSL::del_ptr_zero for_each<mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<TaoCrypt::Signer*>::iterator, mySTL::list<TaoCrypt::Signer*>::iterator, yaSSL::del_ptr_zero);
55 template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::SSL_SESSION*>::iterator, mySTL::list<yaSSL::SSL_SESSION*>::iterator, yaSSL::del_ptr_zero);
56 template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::input_buffer*>::iterator, mySTL::list<yaSSL::input_buffer*>::iterator, yaSSL::del_ptr_zero);
57 template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::output_buffer*>::iterator, mySTL::list<yaSSL::output_buffer*>::iterator, yaSSL::del_ptr_zero);
58 template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::x509*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::x509*>::iterator, mySTL::list<yaSSL::x509*>::iterator, yaSSL::del_ptr_zero);
59 template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::Digest*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::Digest*>::iterator, mySTL::list<yaSSL::Digest*>::iterator, yaSSL::del_ptr_zero);
60 template yaSSL::del_ptr_zero for_each<mySTL::list<yaSSL::BulkCipher*>::iterator, yaSSL::del_ptr_zero>(mySTL::list<yaSSL::BulkCipher*>::iterator, mySTL::list<yaSSL::BulkCipher*>::iterator, yaSSL::del_ptr_zero);
61 template bool list<yaSSL::ThreadError>::erase(list<yaSSL::ThreadError>::iterator);
62 template void list<yaSSL::ThreadError>::push_back(yaSSL::ThreadError);
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* (*)()>*);
76 namespace yaSSL {
77 template void ysDelete<SSL_CTX>(yaSSL::SSL_CTX*);
78 template void ysDelete<SSL>(yaSSL::SSL*);
79 template void ysDelete<BIGNUM>(yaSSL::BIGNUM*);
80 template void ysDelete<unsigned char>(unsigned char*);
81 template void ysDelete<DH>(yaSSL::DH*);
82 template void ysDelete<TaoCrypt::Signer>(TaoCrypt::Signer*);
83 template void ysDelete<SSL_SESSION>(yaSSL::SSL_SESSION*);
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