gnv_conftest.c_first 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. /* This is needed for Configure tests to get the correct exit status */
  21. void __posix_exit(int __status);
  22. #define exit(__p1) __posix_exit(__p1)
  23. /* Fake pass the test to find a standard ldap routine that we know is */
  24. /* present on VMS, but with the wrong case for the symbol */
  25. char ldap_url_parse(void) {return 0;}
  26. /* These are to pass the test that does not use headers */
  27. /* Because configure does an #undef which keeps us from using #define */
  28. /* char CRYPTO_add_lock(void) {return 0;} */
  29. char SSL_connect(void) {return 0;}
  30. char ENGINE_init(void) {return 0;}
  31. char RAND_status(void) {return 0;}
  32. /* char RAND_screen(void) {return 0;} In headers, but not present */
  33. char RAND_egd(void) {return 0;}
  34. char CRYPTO_cleanup_all_ex_data(void) {return 0;}
  35. char SSL_get_shutdown(void) {return 0;}
  36. char ENGINE_load_builtin_engines (void) {return 0;}
  37. /* And these are to pass the test that uses headers. */
  38. /* Because the HP OpenSSL transfer vectors are currently in Upper case only */
  39. #pragma message disable macroredef
  40. #define CRYPTO_add_lock CRYPTO_ADD_LOCK
  41. #define SSL_connect SSL_CONNECT
  42. #define ENGINE_init ENGINE_INIT
  43. #define RAND_status RAND_STATUS
  44. /* #define RAND_screen RAND_SCREEN */
  45. #define RAND_egd RAND_EGD
  46. #define CRYPTO_cleanup_all_ex_data CRYPTO_CLEANUP_ALL_EX_DATA
  47. #define SSL_get_shutdown SSL_GET_SHUTDOWN
  48. #define ENGINE_load_builtin_engines ENGINE_LOAD_BUILTIN_ENGINES
  49. /* Can not use the #define macro to fix the case on CRYPTO_lock because */
  50. /* there is a macro CRYPTO_LOCK that is a number */
  51. /* After all the work to get configure to pass the CRYPTO_LOCK tests,
  52. * it turns out that VMS does not have the CRYPTO_LOCK symbol in the
  53. * transfer vector, even though it is in the header file.
  54. */