#define APPLINK_STDIN 1
#define APPLINK_STDOUT 2
#define APPLINK_STDERR 3
#define APPLINK_FPRINTF 4
#define APPLINK_FGETS 5
#define APPLINK_FREAD 6
#define APPLINK_FWRITE 7
#define APPLINK_FSETMOD 8
#define APPLINK_FEOF 9
#define APPLINK_FCLOSE 10 /* should not be used */
#define APPLINK_FOPEN 11 /* solely for completeness */
#define APPLINK_FSEEK 12
#define APPLINK_FTELL 13
#define APPLINK_FFLUSH 14
#define APPLINK_FERROR 15
#define APPLINK_CLEARERR 16
#define APPLINK_FILENO 17 /* to be used with below */
#define APPLINK_OPEN 18 /* formally can't be used, as flags can vary */
#define APPLINK_READ 19
#define APPLINK_WRITE 20
#define APPLINK_LSEEK 21
#define APPLINK_CLOSE 22
#define APPLINK_MAX 22 /* always same as last macro */
#ifndef APPMACROS_ONLY
# include <stdio.h>
# include <io.h>
# include <fcntl.h>
static void *app_stdin(void)
{
return stdin;
}
static void *app_stdout(void)
{
return stdout;
}
static void *app_stderr(void)
{
return stderr;
}
static int app_feof(FILE *fp)
{
return feof(fp);
}
static int app_ferror(FILE *fp)
{
return ferror(fp);
}
static void app_clearerr(FILE *fp)
{
clearerr(fp);
}
static int app_fileno(FILE *fp)
{
return _fileno(fp);
}
static int app_fsetmod(FILE *fp, char mod)
{
return _setmode(_fileno(fp), mod == 'b' ? _O_BINARY : _O_TEXT);
}
#ifdef __cplusplus
extern "C" {
#endif
__declspec(dllexport)
void **
# if defined(__BORLANDC__)
/*
* __stdcall appears to be the only way to get the name
* decoration right with Borland C. Otherwise it works
* purely incidentally, as we pass no parameters.
*/
__stdcall
# else
__cdecl
# endif
OPENSSL_Applink(void)
{
static int once = 1;
static void *OPENSSL_ApplinkTable[APPLINK_MAX + 1] =
{ (void *)APPLINK_MAX };
if (once) {
OPENSSL_ApplinkTable[APPLINK_STDIN] = app_stdin;
OPENSSL_ApplinkTable[APPLINK_STDOUT] = app_stdout;
OPENSSL_ApplinkTable[APPLINK_STDERR] = app_stderr;
OPENSSL_ApplinkTable[APPLINK_FPRINTF] = fprintf;
OPENSSL_ApplinkTable[APPLINK_FGETS] = fgets;
OPENSSL_ApplinkTable[APPLINK_FREAD] = fread;
OPENSSL_ApplinkTable[APPLINK_FWRITE] = fwrite;
OPENSSL_ApplinkTable[APPLINK_FSETMOD] = app_fsetmod;
OPENSSL_ApplinkTable[APPLINK_FEOF] = app_feof;
OPENSSL_ApplinkTable[APPLINK_FCLOSE] = fclose;
OPENSSL_ApplinkTable[APPLINK_FOPEN] = fopen;
OPENSSL_ApplinkTable[APPLINK_FSEEK] = fseek;
OPENSSL_ApplinkTable[APPLINK_FTELL] = ftell;
OPENSSL_ApplinkTable[APPLINK_FFLUSH] = fflush;
OPENSSL_ApplinkTable[APPLINK_FERROR] = app_ferror;
OPENSSL_ApplinkTable[APPLINK_CLEARERR] = app_clearerr;
OPENSSL_ApplinkTable[APPLINK_FILENO] = app_fileno;
OPENSSL_ApplinkTable[APPLINK_OPEN] = _open;
OPENSSL_ApplinkTable[APPLINK_READ] = _read;
OPENSSL_ApplinkTable[APPLINK_WRITE] = _write;
OPENSSL_ApplinkTable[APPLINK_LSEEK] = _lseek;
OPENSSL_ApplinkTable[APPLINK_CLOSE] = _close;
once = 0;
}
return OPENSSL_ApplinkTable;
}
#ifdef __cplusplus
}
#endif
#endif
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
openssl-1.0.1u_VS2008编译结果库 (108个子文件)
applink.c 3KB
safestack.h 183KB
obj_mac.h 164KB
ssl.h 127KB
evp.h 64KB
asn1.h 62KB
x509.h 51KB
ec.h 50KB
objects.h 46KB
engine.h 44KB
bn.h 41KB
x509v3.h 38KB
bio.h 38KB
tls1.h 38KB
ts.h 34KB
asn1t.h 34KB
ssl3.h 31KB
crypto.h 27KB
x509_vfy.h 27KB
rsa.h 26KB
ocsp.h 26KB
symhacks.h 25KB
cms.h 25KB
pem.h 25KB
asn1_mac.h 24KB
des_old.h 21KB
pkcs7.h 20KB
dso.h 20KB
ui.h 18KB
err.h 16KB
pkcs12.h 15KB
dsa.h 13KB
ssl2.h 12KB
des.h 12KB
conf.h 11KB
dh.h 11KB
e_os2.h 11KB
ecdsa.h 11KB
lhash.h 9KB
dtls1.h 9KB
krb5_asn.h 8KB
sha.h 8KB
modes.h 8KB
ossl_typ.h 8KB
opensslconf.h 7KB
kssl.h 7KB
srtp.h 7KB
aes.h 6KB
seed.h 6KB
srp.h 6KB
rand.h 6KB
camellia.h 5KB
blowfish.h 5KB
buffer.h 5KB
ecdh.h 5KB
md4.h 5KB
md5.h 5KB
idea.h 5KB
cast.h 5KB
txt_db.h 5KB
rc2.h 4KB
hmac.h 4KB
stack.h 4KB
ripemd.h 4KB
conf_api.h 4KB
mdc2.h 4KB
opensslv.h 4KB
rc4.h 4KB
ssl23.h 4KB
pqueue.h 4KB
ui_compat.h 3KB
cmac.h 3KB
pem2.h 3KB
comp.h 2KB
whrlpool.h 1KB
ebcdic.h 616B
libeay32MDd.lib 13.59MB
libeay32MD.lib 13.59MB
libeay32MTd.lib 13.59MB
libeay32MT.lib 13.58MB
libeay32MDd.lib 12.74MB
libeay32MD.lib 12.73MB
libeay32MTd.lib 12.73MB
libeay32MT.lib 12.72MB
ssleay32MDd.lib 1.85MB
ssleay32MD.lib 1.85MB
ssleay32MTd.lib 1.84MB
ssleay32MT.lib 1.84MB
ssleay32MDd.lib 1.83MB
ssleay32MD.lib 1.83MB
ssleay32MTd.lib 1.83MB
ssleay32MT.lib 1.83MB
libmd.pdb 428KB
libmdd.pdb 428KB
libmtd.pdb 428KB
libmt.pdb 428KB
libmd.pdb 428KB
libmdd.pdb 428KB
libmtd.pdb 428KB
libmt.pdb 428KB
共 108 条
- 1
- 2
资源评论
- 星空20132020-12-17多谢分享,可用
- Jacky_Dai2021-05-13不错,很有帮助
eye2see
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于matlab实现用有限元法计算电磁场的Matlab工具 .rar
- 基于matlab实现有限元算法 计算电磁场问题 边界条件包括第一类边界和第二类边界.rar
- 基于matlab实现用于计算不同车重下的电动汽车动力性和经济性.rar
- 基于matlab实现遗传算法求解多车场车辆路径问题 有多组算例可以用.rar
- 浏览器.apk
- 基于matlab实现是一个matlab中的power system 中搭建的一个模型
- 基于JSP毕业设计-教学管理系统(源代码+论文).zip
- 基于JSP毕业设计-家政管理系统-毕业设计.zip
- 基于Python实现淘宝商品评论采集(含逆向)源代码
- 基于matlab实现多目标进化算法NSGAⅡ&Matlab讲解.rar
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功