openssl之BIO系列之15---内存(mem)类型BIO

本文详细介绍了OpenSSL中的内存BIO(mem BIO),它是用于在内存中存储和读取数据的BIO类型。内存BIO可以无限扩大其内存以适应写入的数据。文章讨论了BIO_s_mem函数、内存BIO的数据结构、读写行为、以及如何通过BIO_set_mem_eof_return设置读空时的行为。此外,还介绍了获取内存数据的函数和创建内存BIO的方法,包括只读和读写模式的用法。
摘要由CSDN通过智能技术生成
mem类型BIO
    ---根据openssl doc/crypto/bio_s_mem.pod翻译和自己的理解写成
    
    (作者:DragonKing, Mail: wzhah@263.net ,发布于: http://gdwzh.126.com 之openssl专业论坛)
    
    内存(mem)类型BIO所定义的相关系列函数如下(openssl/bio.h):
     BIO_METHOD * BIO_s_mem(void);
    
     BIO_set_mem_eof_return(BIO *b,int v)
     long BIO_get_mem_data(BIO *b, char **pp)
     BIO_set_mem_buf(BIO *b,BUF_MEM *bm,int c)
     BIO_get_mem_ptr(BIO *b,BUF_MEM **pp)
    
     BIO *BIO_new_mem_buf(void *buf, int len);
    内存型BIO是source/sink型BIO,它使用内存作为它的I/O。写进该类型BIO的数据被存储在BUF_MEM结构中,该结构被定义为适合存储数据的一种结构,其结构定义如下:
    typedef struct buf_mem_st
    {
     int length; /* current number of bytes */
     char *data;
     int max; /* size of buffer */
    } BUF_MEM;
    可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值