BIO系列之3---BIO的声明和释放等基本操作
BIO的声明和释放等基本操作
---根据openssl doc/crypto/bio/bio_new.pod翻译和自己的理解写成
(作者:DragonKing Mail:wzhah@263.net 发布于:gdwzh.126.com openssl专业论坛)
在BIO的基本操作系列函数中,他们用来BIO分配和释放操作,包括:
BIO_new, BIO_set, BIO_free, BIO_vfree, BIO_free_all
他们的声明在openssl/bio.h文件中,其声明形式如下:
BIO * BIO_new(BIO_METHOD *type);
int BIO_set(BIO *a,BIO_METHOD *type);
int BIO_free(BIO *a);
void BIO_vfree(BIO *a);
void BIO_free_all(BIO *a);
下面分别对这些函数进行解释.
【BIO_new】
这个函数创建并返回一个相应的新的BIO,并根据给定的BIO_METHOD类型调用下述的BIO_set()函数给BIO结构的method成员赋值,如果创建或给method赋值失败,则返回NULL。创建一个Memory类型的BIO例子如下:
BIO* mem=BIO_new(BIO_s_mem());
有些类型的BIO使用BIO_new()函数之后就可以直接使用了,如memory类型的BIO;而有些BIO创建之后还需要一些初始化工作,如文件BIO,一般来说,也提供了这样的一些函数来创建和初始化这种类型的BIO。
这
---根据openssl doc/crypto/bio/bio_new.pod翻译和自己的理解写成
(作者:DragonKing Mail:wzhah@263.net 发布于:gdwzh.126.com openssl专业论坛)
在BIO的基本操作系列函数中,他们用来BIO分配和释放操作,包括:
BIO_new, BIO_set, BIO_free, BIO_vfree, BIO_free_all
他们的声明在openssl/bio.h文件中,其声明形式如下:
BIO * BIO_new(BIO_METHOD *type);
int BIO_set(BIO *a,BIO_METHOD *type);
int BIO_free(BIO *a);
void BIO_vfree(BIO *a);
void BIO_free_all(BIO *a);
下面分别对这些函数进行解释.
【BIO_new】
这个函数创建并返回一个相应的新的BIO,并根据给定的BIO_METHOD类型调用下述的BIO_set()函数给BIO结构的method成员赋值,如果创建或给method赋值失败,则返回NULL。创建一个Memory类型的BIO例子如下:
BIO* mem=BIO_new(BIO_s_mem());
有些类型的BIO使用BIO_new()函数之后就可以直接使用了,如memory类型的BIO;而有些BIO创建之后还需要一些初始化工作,如文件BIO,一般来说,也提供了这样的一些函数来创建和初始化这种类型的BIO。
这
下一篇:
jar 包启动时,读取配置文件优先顺序