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。
    这
经验分享 程序员 微信小程序 职场和发展