1 /* 2 * Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved. 3 * 4 * Licensed under the Apache License 2.0 (the "License"). You may not use 5 * this file except in compliance with the License. You can obtain a copy 6 * in the file LICENSE in the source distribution or at 7 * https://www.openssl.org/source/license.html 8 */ 9 10 #include "internal/cryptlib.h" 11 #include "internal/common.h" 12 13 #include "buildinf.h" 14 OpenSSL_version_num(void)15unsigned long OpenSSL_version_num(void) 16 { 17 return OPENSSL_VERSION_NUMBER; 18 } 19 OPENSSL_version_major(void)20unsigned int OPENSSL_version_major(void) 21 { 22 return OPENSSL_VERSION_MAJOR; 23 } 24 OPENSSL_version_minor(void)25unsigned int OPENSSL_version_minor(void) 26 { 27 return OPENSSL_VERSION_MINOR; 28 } 29 OPENSSL_version_patch(void)30unsigned int OPENSSL_version_patch(void) 31 { 32 return OPENSSL_VERSION_PATCH; 33 } 34 OPENSSL_version_pre_release(void)35const char *OPENSSL_version_pre_release(void) 36 { 37 return OPENSSL_VERSION_PRE_RELEASE; 38 } 39 OPENSSL_version_build_metadata(void)40const char *OPENSSL_version_build_metadata(void) 41 { 42 return OPENSSL_VERSION_BUILD_METADATA; 43 } 44 45 extern char ossl_cpu_info_str[]; 46 OpenSSL_version(int t)47const char *OpenSSL_version(int t) 48 { 49 switch (t) { 50 case OPENSSL_VERSION: 51 return OPENSSL_VERSION_TEXT; 52 case OPENSSL_VERSION_STRING: 53 return OPENSSL_VERSION_STR; 54 case OPENSSL_FULL_VERSION_STRING: 55 return OPENSSL_FULL_VERSION_STR; 56 case OPENSSL_BUILT_ON: 57 return DATE; 58 case OPENSSL_CFLAGS: 59 return compiler_flags; 60 case OPENSSL_PLATFORM: 61 return PLATFORM; 62 case OPENSSL_DIR: 63 return ossl_get_openssldir(); 64 case OPENSSL_ENGINES_DIR: 65 return ossl_get_enginesdir(); 66 case OPENSSL_MODULES_DIR: 67 return ossl_get_modulesdir(); 68 case OPENSSL_CPU_INFO: 69 if (OPENSSL_info(OPENSSL_INFO_CPU_SETTINGS) != NULL) 70 return ossl_cpu_info_str; 71 else 72 return "CPUINFO: N/A"; 73 case OPENSSL_WINCTX: 74 return ossl_get_wininstallcontext(); 75 } 76 return "not available"; 77 } 78