| /* |
| * Copyright 1995-2016 The OpenSSL Project Authors. All Rights Reserved. |
| * |
| * Licensed under the Apache License 2.0 (the "License"). You may not use |
| * this file except in compliance with the License. You can obtain a copy |
| * in the file LICENSE in the source distribution or at |
| * https://www.openssl.org/source/license.html |
| */ |
| |
| #include "internal/cryptlib.h" |
| |
| #include "buildinf.h" |
| |
| unsigned long OpenSSL_version_num(void) |
| { |
| return OPENSSL_VERSION_NUMBER; |
| } |
| |
| unsigned int OPENSSL_version_major(void) |
| { |
| return OPENSSL_VERSION_MAJOR; |
| } |
| |
| unsigned int OPENSSL_version_minor(void) |
| { |
| return OPENSSL_VERSION_MINOR; |
| } |
| |
| unsigned int OPENSSL_version_patch(void) |
| { |
| return OPENSSL_VERSION_PATCH; |
| } |
| |
| const char *OPENSSL_version_pre_release(void) |
| { |
| return OPENSSL_VERSION_PRE_RELEASE; |
| } |
| |
| const char *OPENSSL_version_build_metadata(void) |
| { |
| return OPENSSL_VERSION_BUILD_METADATA; |
| } |
| |
| extern char ossl_cpu_info_str[]; |
| |
| const char *OpenSSL_version(int t) |
| { |
| switch (t) { |
| case OPENSSL_VERSION: |
| return OPENSSL_VERSION_TEXT; |
| case OPENSSL_VERSION_STRING: |
| return OPENSSL_VERSION_STR; |
| case OPENSSL_FULL_VERSION_STRING: |
| return OPENSSL_FULL_VERSION_STR; |
| case OPENSSL_BUILT_ON: |
| return DATE; |
| case OPENSSL_CFLAGS: |
| return compiler_flags; |
| case OPENSSL_PLATFORM: |
| return PLATFORM; |
| case OPENSSL_DIR: |
| #ifdef OPENSSLDIR |
| return "OPENSSLDIR: \"" OPENSSLDIR "\""; |
| #else |
| return "OPENSSLDIR: N/A"; |
| #endif |
| case OPENSSL_ENGINES_DIR: |
| #ifdef ENGINESDIR |
| return "ENGINESDIR: \"" ENGINESDIR "\""; |
| #else |
| return "ENGINESDIR: N/A"; |
| #endif |
| case OPENSSL_MODULES_DIR: |
| #ifdef MODULESDIR |
| return "MODULESDIR: \"" MODULESDIR "\""; |
| #else |
| return "MODULESDIR: N/A"; |
| #endif |
| case OPENSSL_CPU_INFO: |
| if (OPENSSL_info(OPENSSL_INFO_CPU_SETTINGS) != NULL) |
| return ossl_cpu_info_str; |
| else |
| return "CPUINFO: N/A"; |
| } |
| return "not available"; |
| } |