資源簡(jiǎn)介
vs2015編譯的openssl-1.0.2l包含靜態(tài)庫(kù)(lib)和動(dòng)態(tài)庫(kù)(dll)頭文件等
代碼片段和文件信息
#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?
#?include?
#?include?
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[
評(píng)論
共有 條評(píng)論