xref: /curl/packages/vms/gnv_conftest.c_first (revision c09466ab)
1/* File: GNV$CONFTEST.C_FIRST
2 *
3 * Copyright (C) John Malmberg
4 *
5 * Permission to use, copy, modify, and/or distribute this software for any
6 * purpose with or without fee is hereby granted, provided that the above
7 * copyright notice and this permission notice appear in all copies.
8 *
9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12 * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14 * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
15 * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16 *
17 * SPDX-License-Identifier: ISC
18 *
19 */
20
21/* This is needed for Configure tests to get the correct exit status */
22void __posix_exit(int __status);
23#define exit(__p1) __posix_exit(__p1)
24
25/* Fake pass the test to find a standard ldap routine that we know is */
26/* present on VMS, but with the wrong case for the symbol */
27char ldap_url_parse(void) {return 0;}
28
29/* These are to pass the test that does not use headers */
30/* Because configure does an #undef which keeps us from using #define */
31/* char CRYPTO_add_lock(void) {return 0;} */
32char SSL_connect(void) {return 0;}
33char ENGINE_init(void) {return 0;}
34char RAND_status(void) {return 0;}
35/* char RAND_screen(void) {return 0;} In headers, but not present */
36char CRYPTO_cleanup_all_ex_data(void) {return 0;}
37char SSL_get_shutdown(void) {return 0;}
38char ENGINE_load_builtin_engines (void) {return 0;}
39
40/* And these are to pass the test that uses headers. */
41/* Because the HP OpenSSL transfer vectors are currently in Upper case only */
42#pragma message disable macroredef
43#define CRYPTO_add_lock CRYPTO_ADD_LOCK
44#define SSL_connect SSL_CONNECT
45#define ENGINE_init ENGINE_INIT
46#define RAND_status RAND_STATUS
47/* #define RAND_screen RAND_SCREEN */
48#define CRYPTO_cleanup_all_ex_data CRYPTO_CLEANUP_ALL_EX_DATA
49#define SSL_get_shutdown SSL_GET_SHUTDOWN
50#define ENGINE_load_builtin_engines ENGINE_LOAD_BUILTIN_ENGINES
51
52/* Can not use the #define macro to fix the case on CRYPTO_lock because */
53/* there is a macro CRYPTO_LOCK that is a number */
54
55/* After all the work to get configure to pass the CRYPTO_LOCK tests,
56 * it turns out that VMS does not have the CRYPTO_LOCK symbol in the
57 * transfer vector, even though it is in the header file.
58 */
59