Ai
30 Star 131 Fork 0

Gitee 极速下载/OpenSSL

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
此仓库是为了提升国内下载速度的镜像仓库,每日同步一次。 原始仓库: https://github.com/openssl/openssl
克隆/下载
cversion.c 3.14 KB
一键复制 编辑 原始数据 按行查看 历史
Bob Beck 提交于 2025-12-09 15:08 +08:00 . 4.0-POST-CLANG-FORMAT-WEBKIT
/*
* Copyright 1995-2025 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 <stdio.h>
#include <openssl/bio.h>
#include "internal/e_os.h"
#include "internal/cryptlib.h"
#include "internal/common.h"
#include "internal/thread_once.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[];
#if defined(_WIN32) && defined(OSSL_WINCTX)
/* size: MAX_PATH + sizeof("OPENSSLDIR: \"\"") */
static char openssldir[MAX_PATH + 15];
/* size: MAX_PATH + sizeof("MODULESDIR: \"\"") */
static char modulesdir[MAX_PATH + 15];
static CRYPTO_ONCE version_strings_once = CRYPTO_ONCE_STATIC_INIT;
DEFINE_RUN_ONCE_STATIC(version_strings_setup)
{
BIO_snprintf(openssldir, sizeof(openssldir), "OPENSSLDIR: \"%s\"",
ossl_get_openssldir());
BIO_snprintf(modulesdir, sizeof(modulesdir), "MODULESDIR: \"%s\"",
ossl_get_modulesdir());
return 1;
}
#define TOSTR(x) #x
#define OSSL_WINCTX_STRING "OSSL_WINCTX: \"" TOSTR(OSSL_WINCTX) "\""
#endif
const char *OpenSSL_version(int t)
{
#if defined(_WIN32) && defined(OSSL_WINCTX)
/* Cannot really fail but we would return empty strings anyway */
(void)RUN_ONCE(&version_strings_once, version_strings_setup);
#endif
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;
#if defined(_WIN32) && defined(OSSL_WINCTX)
case OPENSSL_DIR:
return openssldir;
case OPENSSL_MODULES_DIR:
return modulesdir;
#else
case OPENSSL_DIR:
#ifdef OPENSSLDIR
return "OPENSSLDIR: \"" OPENSSLDIR "\"";
#else
return "OPENSSLDIR: N/A";
#endif
case OPENSSL_MODULES_DIR:
#ifdef MODULESDIR
return "MODULESDIR: \"" MODULESDIR "\"";
#else
return "MODULESDIR: N/A";
#endif
#endif
case OPENSSL_CPU_INFO:
if (OPENSSL_info(OPENSSL_INFO_CPU_SETTINGS) != NULL)
return ossl_cpu_info_str;
else
return "CPUINFO: N/A";
case OPENSSL_WINCTX:
#if defined(_WIN32) && defined(OSSL_WINCTX)
return OSSL_WINCTX_STRING;
#else
return "OSSL_WINCTX: Undefined";
#endif
case OPENSSL_ENGINES_DIR:
return "ENGINESDIR: N/A";
}
return "not available";
}
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C
1
https://gitee.com/mirrors/openssl.git
git@gitee.com:mirrors/openssl.git
mirrors
openssl
OpenSSL
master

搜索帮助