gnv_conftest.c_first 2.5 KB

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