1/* ====================================================================
2 * Copyright (c) 1999 The OpenSSL Project. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * 2. Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 *
16 * 3. All advertising materials mentioning features or use of this
17 * software must display the following acknowledgment:
18 * "This product includes software developed by the OpenSSL Project
19 * for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
20 *
21 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
22 * endorse or promote products derived from this software without
23 * prior written permission. For written permission, please contact
24 * openssl-core@openssl.org.
25 *
26 * 5. Products derived from this software may not be called "OpenSSL"
27 * nor may "OpenSSL" appear in their names without prior written
28 * permission of the OpenSSL Project.
29 *
30 * 6. Redistributions of any form whatsoever must retain the following
31 * acknowledgment:
32 * "This product includes software developed by the OpenSSL Project
33 * for use in the OpenSSL Toolkit (http://www.openssl.org/)"
34 *
35 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
36 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
37 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
38 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR
39 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
41 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
42 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46 * OF THE POSSIBILITY OF SUCH DAMAGE.
47 * ====================================================================
48 *
49 * This product includes cryptographic software written by Eric Young
50 * (eay@cryptsoft.com). This product includes software written by Tim
51 * Hudson (tjh@cryptsoft.com).
52 *
53 */
54
55#ifndef HEADER_SYMHACKS_H
56#define HEADER_SYMHACKS_H
57
58#include <openssl/e_os2.h>
59
60/* Hacks to solve the problem with linkers incapable of handling very long
61 symbol names. In the case of VMS, the limit is 31 characters on VMS for
62 VAX. */
63/* Note that this affects util/libeay.num and util/ssleay.num... you may
64 change those manually, but that's not recommended, as those files are
65 controlled centrally and updated on Unix, and the central definition
66 may disagree with yours, which in turn may come with shareable library
67 incompatibilities. */
68#ifdef OPENSSL_SYS_VMS
69
70/* Hack a long name in crypto/ex_data.c */
71#undef CRYPTO_get_ex_data_implementation
72#define CRYPTO_get_ex_data_implementation CRYPTO_get_ex_data_impl
73#undef CRYPTO_set_ex_data_implementation
74#define CRYPTO_set_ex_data_implementation CRYPTO_set_ex_data_impl
75
76/* Hack a long name in crypto/asn1/a_mbstr.c */
77#undef ASN1_STRING_set_default_mask_asc
78#define ASN1_STRING_set_default_mask_asc ASN1_STRING_set_def_mask_asc
79
80#if 0 /* No longer needed, since safestack macro magic does the job */
81/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) */
82#undef i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO
83#define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO i2d_ASN1_SET_OF_PKCS7_SIGINF
84#undef d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO
85#define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO d2i_ASN1_SET_OF_PKCS7_SIGINF
86#endif
87
88#if 0 /* No longer needed, since safestack macro magic does the job */
89/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) */
90#undef i2d_ASN1_SET_OF_PKCS7_RECIP_INFO
91#define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO i2d_ASN1_SET_OF_PKCS7_RECINF
92#undef d2i_ASN1_SET_OF_PKCS7_RECIP_INFO
93#define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO d2i_ASN1_SET_OF_PKCS7_RECINF
94#endif
95
96#if 0 /* No longer needed, since safestack macro magic does the job */
97/* Hack the names created with DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) */
98#undef i2d_ASN1_SET_OF_ACCESS_DESCRIPTION
99#define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION i2d_ASN1_SET_OF_ACC_DESC
100#undef d2i_ASN1_SET_OF_ACCESS_DESCRIPTION
101#define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION d2i_ASN1_SET_OF_ACC_DESC
102#endif
103
104/* Hack the names created with DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE) */
105#undef PEM_read_NETSCAPE_CERT_SEQUENCE
106#define PEM_read_NETSCAPE_CERT_SEQUENCE PEM_read_NS_CERT_SEQ
107#undef PEM_write_NETSCAPE_CERT_SEQUENCE
108#define PEM_write_NETSCAPE_CERT_SEQUENCE PEM_write_NS_CERT_SEQ
109#undef PEM_read_bio_NETSCAPE_CERT_SEQUENCE
110#define PEM_read_bio_NETSCAPE_CERT_SEQUENCE PEM_read_bio_NS_CERT_SEQ
111#undef PEM_write_bio_NETSCAPE_CERT_SEQUENCE
112#define PEM_write_bio_NETSCAPE_CERT_SEQUENCE PEM_write_bio_NS_CERT_SEQ
113#undef PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE
114#define PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE PEM_write_cb_bio_NS_CERT_SEQ
115
116/* Hack the names created with DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO) */
117#undef PEM_read_PKCS8_PRIV_KEY_INFO
118#define PEM_read_PKCS8_PRIV_KEY_INFO PEM_read_P8_PRIV_KEY_INFO
119#undef PEM_write_PKCS8_PRIV_KEY_INFO
120#define PEM_write_PKCS8_PRIV_KEY_INFO PEM_write_P8_PRIV_KEY_INFO
121#undef PEM_read_bio_PKCS8_PRIV_KEY_INFO
122#define PEM_read_bio_PKCS8_PRIV_KEY_INFO PEM_read_bio_P8_PRIV_KEY_INFO
123#undef PEM_write_bio_PKCS8_PRIV_KEY_INFO
124#define PEM_write_bio_PKCS8_PRIV_KEY_INFO PEM_write_bio_P8_PRIV_KEY_INFO
125#undef PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO
126#define PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO PEM_wrt_cb_bio_P8_PRIV_KEY_INFO
127
128/* Hack other PEM names */
129#undef PEM_write_bio_PKCS8PrivateKey_nid
130#define PEM_write_bio_PKCS8PrivateKey_nid PEM_write_bio_PKCS8PrivKey_nid
131
132/* Hack some long X509 names */
133#undef X509_REVOKED_get_ext_by_critical
134#define X509_REVOKED_get_ext_by_critical X509_REVOKED_get_ext_by_critic
135#undef X509_policy_tree_get0_user_policies
136#define X509_policy_tree_get0_user_policies X509_pcy_tree_get0_usr_policies
137#undef X509_policy_node_get0_qualifiers
138#define X509_policy_node_get0_qualifiers X509_pcy_node_get0_qualifiers
139#undef X509_STORE_CTX_get_explicit_policy
140#define X509_STORE_CTX_get_explicit_policy X509_STORE_CTX_get_expl_policy
141#undef X509_STORE_CTX_get0_current_issuer
142#define X509_STORE_CTX_get0_current_issuer X509_STORE_CTX_get0_cur_issuer
143
144/* Hack some long CRYPTO names */
145#undef CRYPTO_set_dynlock_destroy_callback
146#define CRYPTO_set_dynlock_destroy_callback CRYPTO_set_dynlock_destroy_cb
147#undef CRYPTO_set_dynlock_create_callback
148#define CRYPTO_set_dynlock_create_callback CRYPTO_set_dynlock_create_cb
149#undef CRYPTO_set_dynlock_lock_callback
150#define CRYPTO_set_dynlock_lock_callback CRYPTO_set_dynlock_lock_cb
151#undef CRYPTO_get_dynlock_lock_callback
152#define CRYPTO_get_dynlock_lock_callback CRYPTO_get_dynlock_lock_cb
153#undef CRYPTO_get_dynlock_destroy_callback
154#define CRYPTO_get_dynlock_destroy_callback CRYPTO_get_dynlock_destroy_cb
155#undef CRYPTO_get_dynlock_create_callback
156#define CRYPTO_get_dynlock_create_callback CRYPTO_get_dynlock_create_cb
157#undef CRYPTO_set_locked_mem_ex_functions
158#define CRYPTO_set_locked_mem_ex_functions CRYPTO_set_locked_mem_ex_funcs
159#undef CRYPTO_get_locked_mem_ex_functions
160#define CRYPTO_get_locked_mem_ex_functions CRYPTO_get_locked_mem_ex_funcs
161
162/* Hack some long SSL names */
163#undef SSL_CTX_set_default_verify_paths
164#define SSL_CTX_set_default_verify_paths SSL_CTX_set_def_verify_paths
165#undef SSL_get_ex_data_X509_STORE_CTX_idx
166#define SSL_get_ex_data_X509_STORE_CTX_idx SSL_get_ex_d_X509_STORE_CTX_idx
167#undef SSL_add_file_cert_subjects_to_stack
168#define SSL_add_file_cert_subjects_to_stack SSL_add_file_cert_subjs_to_stk
169#undef SSL_add_dir_cert_subjects_to_stack
170#define SSL_add_dir_cert_subjects_to_stack SSL_add_dir_cert_subjs_to_stk
171#undef SSL_CTX_use_certificate_chain_file
172#define SSL_CTX_use_certificate_chain_file SSL_CTX_use_cert_chain_file
173#undef SSL_CTX_set_cert_verify_callback
174#define SSL_CTX_set_cert_verify_callback SSL_CTX_set_cert_verify_cb
175#undef SSL_CTX_set_default_passwd_cb_userdata
176#define SSL_CTX_set_default_passwd_cb_userdata SSL_CTX_set_def_passwd_cb_ud
177#undef SSL_COMP_get_compression_methods
178#define SSL_COMP_get_compression_methods SSL_COMP_get_compress_methods
179#undef ssl_add_clienthello_renegotiate_ext
180#define ssl_add_clienthello_renegotiate_ext ssl_add_clienthello_reneg_ext
181#undef ssl_add_serverhello_renegotiate_ext
182#define ssl_add_serverhello_renegotiate_ext ssl_add_serverhello_reneg_ext
183#undef ssl_parse_clienthello_renegotiate_ext
184#define ssl_parse_clienthello_renegotiate_ext ssl_parse_clienthello_reneg_ext
185#undef ssl_parse_serverhello_renegotiate_ext
186#define ssl_parse_serverhello_renegotiate_ext ssl_parse_serverhello_reneg_ext
187#undef SSL_srp_server_param_with_username
188#define SSL_srp_server_param_with_username SSL_srp_server_param_with_un
189#undef SSL_CTX_set_srp_client_pwd_callback
190#define SSL_CTX_set_srp_client_pwd_callback SSL_CTX_set_srp_client_pwd_cb
191#undef SSL_CTX_set_srp_verify_param_callback
192#define SSL_CTX_set_srp_verify_param_callback SSL_CTX_set_srp_vfy_param_cb
193#undef SSL_CTX_set_srp_username_callback
194#define SSL_CTX_set_srp_username_callback SSL_CTX_set_srp_un_cb
195#undef ssl_add_clienthello_use_srtp_ext
196#define ssl_add_clienthello_use_srtp_ext ssl_add_clihello_use_srtp_ext
197#undef ssl_add_serverhello_use_srtp_ext
198#define ssl_add_serverhello_use_srtp_ext ssl_add_serhello_use_srtp_ext
199#undef ssl_parse_clienthello_use_srtp_ext
200#define ssl_parse_clienthello_use_srtp_ext ssl_parse_clihello_use_srtp_ext
201#undef ssl_parse_serverhello_use_srtp_ext
202#define ssl_parse_serverhello_use_srtp_ext ssl_parse_serhello_use_srtp_ext
203#undef SSL_CTX_set_next_protos_advertised_cb
204#define SSL_CTX_set_next_protos_advertised_cb SSL_CTX_set_next_protos_adv_cb
205#undef SSL_CTX_set_next_proto_select_cb
206#define SSL_CTX_set_next_proto_select_cb SSL_CTX_set_next_proto_sel_cb
207
208/* Hack some long ENGINE names */
209#undef ENGINE_get_default_BN_mod_exp_crt
210#define ENGINE_get_default_BN_mod_exp_crt ENGINE_get_def_BN_mod_exp_crt
211#undef ENGINE_set_default_BN_mod_exp_crt
212#define ENGINE_set_default_BN_mod_exp_crt ENGINE_set_def_BN_mod_exp_crt
213#undef ENGINE_set_load_privkey_function
214#define ENGINE_set_load_privkey_function ENGINE_set_load_privkey_fn
215#undef ENGINE_get_load_privkey_function
216#define ENGINE_get_load_privkey_function ENGINE_get_load_privkey_fn
217#undef ENGINE_unregister_pkey_asn1_meths
218#define ENGINE_unregister_pkey_asn1_meths ENGINE_unreg_pkey_asn1_meths
219#undef ENGINE_register_all_pkey_asn1_meths
220#define ENGINE_register_all_pkey_asn1_meths ENGINE_reg_all_pkey_asn1_meths
221#undef ENGINE_set_default_pkey_asn1_meths
222#define ENGINE_set_default_pkey_asn1_meths ENGINE_set_def_pkey_asn1_meths
223#undef ENGINE_get_pkey_asn1_meth_engine
224#define ENGINE_get_pkey_asn1_meth_engine ENGINE_get_pkey_asn1_meth_eng
225#undef ENGINE_set_load_ssl_client_cert_function
226#define ENGINE_set_load_ssl_client_cert_function \
227 ENGINE_set_ld_ssl_clnt_cert_fn
228#undef ENGINE_get_ssl_client_cert_function
229#define ENGINE_get_ssl_client_cert_function ENGINE_get_ssl_client_cert_fn
230
231/* Hack some long OCSP names */
232#undef OCSP_REQUEST_get_ext_by_critical
233#define OCSP_REQUEST_get_ext_by_critical OCSP_REQUEST_get_ext_by_crit
234#undef OCSP_BASICRESP_get_ext_by_critical
235#define OCSP_BASICRESP_get_ext_by_critical OCSP_BASICRESP_get_ext_by_crit
236#undef OCSP_SINGLERESP_get_ext_by_critical
237#define OCSP_SINGLERESP_get_ext_by_critical OCSP_SINGLERESP_get_ext_by_crit
238
239/* Hack some long DES names */
240#undef _ossl_old_des_ede3_cfb64_encrypt
241#define _ossl_old_des_ede3_cfb64_encrypt _ossl_odes_ede3_cfb64_encrypt
242#undef _ossl_old_des_ede3_ofb64_encrypt
243#define _ossl_old_des_ede3_ofb64_encrypt _ossl_odes_ede3_ofb64_encrypt
244
245/* Hack some long EVP names */
246#undef OPENSSL_add_all_algorithms_noconf
247#define OPENSSL_add_all_algorithms_noconf OPENSSL_add_all_algo_noconf
248#undef OPENSSL_add_all_algorithms_conf
249#define OPENSSL_add_all_algorithms_conf OPENSSL_add_all_algo_conf
250#undef EVP_PKEY_meth_set_verify_recover
251#define EVP_PKEY_meth_set_verify_recover EVP_PKEY_meth_set_vrfy_recover
252
253/* Hack some long EC names */
254#undef EC_GROUP_set_point_conversion_form
255#define EC_GROUP_set_point_conversion_form EC_GROUP_set_point_conv_form
256#undef EC_GROUP_get_point_conversion_form
257#define EC_GROUP_get_point_conversion_form EC_GROUP_get_point_conv_form
258#undef EC_GROUP_clear_free_all_extra_data
259#define EC_GROUP_clear_free_all_extra_data EC_GROUP_clr_free_all_xtra_data
260#undef EC_KEY_set_public_key_affine_coordinates
261#define EC_KEY_set_public_key_affine_coordinates \
262 EC_KEY_set_pub_key_aff_coords
263#undef EC_POINT_set_Jprojective_coordinates_GFp
264#define EC_POINT_set_Jprojective_coordinates_GFp \
265 EC_POINT_set_Jproj_coords_GFp
266#undef EC_POINT_get_Jprojective_coordinates_GFp
267#define EC_POINT_get_Jprojective_coordinates_GFp \
268 EC_POINT_get_Jproj_coords_GFp
269#undef EC_POINT_set_affine_coordinates_GFp
270#define EC_POINT_set_affine_coordinates_GFp EC_POINT_set_affine_coords_GFp
271#undef EC_POINT_get_affine_coordinates_GFp
272#define EC_POINT_get_affine_coordinates_GFp EC_POINT_get_affine_coords_GFp
273#undef EC_POINT_set_compressed_coordinates_GFp
274#define EC_POINT_set_compressed_coordinates_GFp EC_POINT_set_compr_coords_GFp
275#undef EC_POINT_set_affine_coordinates_GF2m
276#define EC_POINT_set_affine_coordinates_GF2m EC_POINT_set_affine_coords_GF2m
277#undef EC_POINT_get_affine_coordinates_GF2m
278#define EC_POINT_get_affine_coordinates_GF2m EC_POINT_get_affine_coords_GF2m
279#undef EC_POINT_set_compressed_coordinates_GF2m
280#define EC_POINT_set_compressed_coordinates_GF2m \
281 EC_POINT_set_compr_coords_GF2m
282#undef ec_GF2m_simple_group_clear_finish
283#define ec_GF2m_simple_group_clear_finish ec_GF2m_simple_grp_clr_finish
284#undef ec_GF2m_simple_group_check_discriminant
285#define ec_GF2m_simple_group_check_discriminant ec_GF2m_simple_grp_chk_discrim
286#undef ec_GF2m_simple_point_clear_finish
287#define ec_GF2m_simple_point_clear_finish ec_GF2m_simple_pt_clr_finish
288#undef ec_GF2m_simple_point_set_to_infinity
289#define ec_GF2m_simple_point_set_to_infinity ec_GF2m_simple_pt_set_to_inf
290#undef ec_GF2m_simple_points_make_affine
291#define ec_GF2m_simple_points_make_affine ec_GF2m_simple_pts_make_affine
292#undef ec_GF2m_simple_point_set_affine_coordinates
293#define ec_GF2m_simple_point_set_affine_coordinates \
294 ec_GF2m_smp_pt_set_af_coords
295#undef ec_GF2m_simple_point_get_affine_coordinates
296#define ec_GF2m_simple_point_get_affine_coordinates \
297 ec_GF2m_smp_pt_get_af_coords
298#undef ec_GF2m_simple_set_compressed_coordinates
299#define ec_GF2m_simple_set_compressed_coordinates \
300 ec_GF2m_smp_set_compr_coords
301#undef ec_GFp_simple_group_set_curve_GFp
302#define ec_GFp_simple_group_set_curve_GFp ec_GFp_simple_grp_set_curve_GFp
303#undef ec_GFp_simple_group_get_curve_GFp
304#define ec_GFp_simple_group_get_curve_GFp ec_GFp_simple_grp_get_curve_GFp
305#undef ec_GFp_simple_group_clear_finish
306#define ec_GFp_simple_group_clear_finish ec_GFp_simple_grp_clear_finish
307#undef ec_GFp_simple_group_set_generator
308#define ec_GFp_simple_group_set_generator ec_GFp_simple_grp_set_generator
309#undef ec_GFp_simple_group_get0_generator
310#define ec_GFp_simple_group_get0_generator ec_GFp_simple_grp_gt0_generator
311#undef ec_GFp_simple_group_get_cofactor
312#define ec_GFp_simple_group_get_cofactor ec_GFp_simple_grp_get_cofactor
313#undef ec_GFp_simple_point_clear_finish
314#define ec_GFp_simple_point_clear_finish ec_GFp_simple_pt_clear_finish
315#undef ec_GFp_simple_point_set_to_infinity
316#define ec_GFp_simple_point_set_to_infinity ec_GFp_simple_pt_set_to_inf
317#undef ec_GFp_simple_points_make_affine
318#define ec_GFp_simple_points_make_affine ec_GFp_simple_pts_make_affine
319#undef ec_GFp_simple_set_Jprojective_coordinates_GFp
320#define ec_GFp_simple_set_Jprojective_coordinates_GFp \
321 ec_GFp_smp_set_Jproj_coords_GFp
322#undef ec_GFp_simple_get_Jprojective_coordinates_GFp
323#define ec_GFp_simple_get_Jprojective_coordinates_GFp \
324 ec_GFp_smp_get_Jproj_coords_GFp
325#undef ec_GFp_simple_point_set_affine_coordinates_GFp
326#define ec_GFp_simple_point_set_affine_coordinates_GFp \
327 ec_GFp_smp_pt_set_af_coords_GFp
328#undef ec_GFp_simple_point_get_affine_coordinates_GFp
329#define ec_GFp_simple_point_get_affine_coordinates_GFp \
330 ec_GFp_smp_pt_get_af_coords_GFp
331#undef ec_GFp_simple_set_compressed_coordinates_GFp
332#define ec_GFp_simple_set_compressed_coordinates_GFp \
333 ec_GFp_smp_set_compr_coords_GFp
334#undef ec_GFp_simple_point_set_affine_coordinates
335#define ec_GFp_simple_point_set_affine_coordinates \
336 ec_GFp_smp_pt_set_af_coords
337#undef ec_GFp_simple_point_get_affine_coordinates
338#define ec_GFp_simple_point_get_affine_coordinates \
339 ec_GFp_smp_pt_get_af_coords
340#undef ec_GFp_simple_set_compressed_coordinates
341#define ec_GFp_simple_set_compressed_coordinates \
342 ec_GFp_smp_set_compr_coords
343#undef ec_GFp_simple_group_check_discriminant
344#define ec_GFp_simple_group_check_discriminant ec_GFp_simple_grp_chk_discrim
345
346/* Hack som long STORE names */
347#undef STORE_method_set_initialise_function
348#define STORE_method_set_initialise_function STORE_meth_set_initialise_fn
349#undef STORE_method_set_cleanup_function
350#define STORE_method_set_cleanup_function STORE_meth_set_cleanup_fn
351#undef STORE_method_set_generate_function
352#define STORE_method_set_generate_function STORE_meth_set_generate_fn
353#undef STORE_method_set_modify_function
354#define STORE_method_set_modify_function STORE_meth_set_modify_fn
355#undef STORE_method_set_revoke_function
356#define STORE_method_set_revoke_function STORE_meth_set_revoke_fn
357#undef STORE_method_set_delete_function
358#define STORE_method_set_delete_function STORE_meth_set_delete_fn
359#undef STORE_method_set_list_start_function
360#define STORE_method_set_list_start_function STORE_meth_set_list_start_fn
361#undef STORE_method_set_list_next_function
362#define STORE_method_set_list_next_function STORE_meth_set_list_next_fn
363#undef STORE_method_set_list_end_function
364#define STORE_method_set_list_end_function STORE_meth_set_list_end_fn
365#undef STORE_method_set_update_store_function
366#define STORE_method_set_update_store_function STORE_meth_set_update_store_fn
367#undef STORE_method_set_lock_store_function
368#define STORE_method_set_lock_store_function STORE_meth_set_lock_store_fn
369#undef STORE_method_set_unlock_store_function
370#define STORE_method_set_unlock_store_function STORE_meth_set_unlock_store_fn
371#undef STORE_method_get_initialise_function
372#define STORE_method_get_initialise_function STORE_meth_get_initialise_fn
373#undef STORE_method_get_cleanup_function
374#define STORE_method_get_cleanup_function STORE_meth_get_cleanup_fn
375#undef STORE_method_get_generate_function
376#define STORE_method_get_generate_function STORE_meth_get_generate_fn
377#undef STORE_method_get_modify_function
378#define STORE_method_get_modify_function STORE_meth_get_modify_fn
379#undef STORE_method_get_revoke_function
380#define STORE_method_get_revoke_function STORE_meth_get_revoke_fn
381#undef STORE_method_get_delete_function
382#define STORE_method_get_delete_function STORE_meth_get_delete_fn
383#undef STORE_method_get_list_start_function
384#define STORE_method_get_list_start_function STORE_meth_get_list_start_fn
385#undef STORE_method_get_list_next_function
386#define STORE_method_get_list_next_function STORE_meth_get_list_next_fn
387#undef STORE_method_get_list_end_function
388#define STORE_method_get_list_end_function STORE_meth_get_list_end_fn
389#undef STORE_method_get_update_store_function
390#define STORE_method_get_update_store_function STORE_meth_get_update_store_fn
391#undef STORE_method_get_lock_store_function
392#define STORE_method_get_lock_store_function STORE_meth_get_lock_store_fn
393#undef STORE_method_get_unlock_store_function
394#define STORE_method_get_unlock_store_function STORE_meth_get_unlock_store_fn
395
396/* Hack some long TS names */
397#undef TS_RESP_CTX_set_status_info_cond
398#define TS_RESP_CTX_set_status_info_cond TS_RESP_CTX_set_stat_info_cond
399#undef TS_RESP_CTX_set_clock_precision_digits
400#define TS_RESP_CTX_set_clock_precision_digits TS_RESP_CTX_set_clk_prec_digits
401#undef TS_CONF_set_clock_precision_digits
402#define TS_CONF_set_clock_precision_digits TS_CONF_set_clk_prec_digits
403
404/* Hack some long CMS names */
405#undef CMS_RecipientInfo_ktri_get0_algs
406#define CMS_RecipientInfo_ktri_get0_algs CMS_RecipInfo_ktri_get0_algs
407#undef CMS_RecipientInfo_ktri_get0_signer_id
408#define CMS_RecipientInfo_ktri_get0_signer_id CMS_RecipInfo_ktri_get0_sigr_id
409#undef CMS_OtherRevocationInfoFormat_it
410#define CMS_OtherRevocationInfoFormat_it CMS_OtherRevocInfoFormat_it
411#undef CMS_KeyAgreeRecipientIdentifier_it
412#define CMS_KeyAgreeRecipientIdentifier_it CMS_KeyAgreeRecipIdentifier_it
413#undef CMS_OriginatorIdentifierOrKey_it
414#define CMS_OriginatorIdentifierOrKey_it CMS_OriginatorIdOrKey_it
415#undef cms_SignerIdentifier_get0_signer_id
416#define cms_SignerIdentifier_get0_signer_id cms_SignerId_get0_signer_id
417
418/* Hack some long DTLS1 names */
419#undef dtls1_retransmit_buffered_messages
420#define dtls1_retransmit_buffered_messages dtls1_retransmit_buffered_msgs
421
422/* Hack some long SRP names */
423#undef SRP_generate_server_master_secret
424#define SRP_generate_server_master_secret SRP_gen_server_master_secret
425#undef SRP_generate_client_master_secret
426#define SRP_generate_client_master_secret SRP_gen_client_master_secret
427
428/* Hack some long UI names */
429#undef UI_method_get_prompt_constructor
430#define UI_method_get_prompt_constructor UI_method_get_prompt_constructr
431#undef UI_method_set_prompt_constructor
432#define UI_method_set_prompt_constructor UI_method_set_prompt_constructr
433
434#endif /* defined OPENSSL_SYS_VMS */
435
436
437/* Case insensitive linking causes problems.... */
438#if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2)
439#undef ERR_load_CRYPTO_strings
440#define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings
441#undef OCSP_crlID_new
442#define OCSP_crlID_new OCSP_crlID2_new
443
444#undef d2i_ECPARAMETERS
445#define d2i_ECPARAMETERS d2i_UC_ECPARAMETERS
446#undef i2d_ECPARAMETERS
447#define i2d_ECPARAMETERS i2d_UC_ECPARAMETERS
448#undef d2i_ECPKPARAMETERS
449#define d2i_ECPKPARAMETERS d2i_UC_ECPKPARAMETERS
450#undef i2d_ECPKPARAMETERS
451#define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS
452
453/* These functions do not seem to exist! However, I'm paranoid...
454 Original command in x509v3.h:
455 These functions are being redefined in another directory,
456 and clash when the linker is case-insensitive, so let's
457 hide them a little, by giving them an extra 'o' at the
458 beginning of the name... */
459#undef X509v3_cleanup_extensions
460#define X509v3_cleanup_extensions oX509v3_cleanup_extensions
461#undef X509v3_add_extension
462#define X509v3_add_extension oX509v3_add_extension
463#undef X509v3_add_netscape_extensions
464#define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions
465#undef X509v3_add_standard_extensions
466#define X509v3_add_standard_extensions oX509v3_add_standard_extensions
467
468/* This one clashes with CMS_data_create */
469#undef cms_Data_create
470#define cms_Data_create priv_cms_Data_create
471
472#endif
473
474
475#endif /* ! defined HEADER_VMS_IDHACKS_H */
476