xrtMailLineRead
XRT_API xmailnext xrtMailLineRead( xstrview Data, size_t iMaxLine, xstrview* pLine, size_t* pConsumed );
;
返回:XRT_API xmailnext xrtMailLineRead( xstrview Data, size_t iMaxLine, xstrview* pLine, size_t* pConsumed );
示例已编译验证
/* XRT_API xmailnext xrtMailLineRead( xstrview Data, size_t iMaxLine, xstrview* pLine, size_t* pConsumed ); */ result = xrtMailLineRead();
xrtMailDotLine
对一条已去除 CRLF 的 dot-transparent 行去转义;单点终止行返回 END。
xmailnext xrtMailDotLine(xstrview Line, xstrview* pData);
| 参数 | 说明 |
|---|---|
| xstrview Line | Lne 参数 |
| xstrview* pData | 用户数据 |
返回:对一条已去除 CRLF 的 dot-transparent 行去转义;单点终止行返回 END。
示例已编译验证
/* 对一条已去除 CRLF 的 dot-transparent 行去转义;单点终止行返回 END。 */ result = xrtMailDotLine(Line, pData);
xrtMailDotWriterInit
初始化可接收任意分块边界的增量 dot writer。
bool xrtMailDotWriterInit(xmaildotwriter* pWriter);
| 参数 | 说明 |
|---|---|
| xmaildotwriter* pWriter | 写入器 |
返回:初始化可接收任意分块边界的增量 dot writer。
示例已编译验证
maildotwriterinit obj; xrtMailDotWriterInit(&obj, pWriter);
xrtMailDotWriterWrite
校验严格 CRLF 并向 sink 写出一个 dot-transparent 输入片段。
bool xrtMailDotWriterWrite( xmaildotwriter* pWriter, xbytesview Data, xmailwriteproc pWrite, ptr pUserData );
| 参数 | 说明 |
|---|---|
| xmaildotwriter* pWriter | 写入器 |
| xbytesview Data | 数据内容 |
| xmailwriteproc pWrite | 写入回调 |
| ptr pUserData | 透传用户数据 |
返回:校验严格 CRLF 并向 sink 写出一个 dot-transparent 输入片段。
示例已编译验证
/* 校验严格 CRLF 并向 sink 写出一个 dot-transparent 输入片段。 */ result = xrtMailDotWriterWrite(pWriter, Data, pWrite, pUserData);
xrtMailDotWriterFinish
补足最后一行并写出 SMTP/POP3 点终止行。
bool xrtMailDotWriterFinish( xmaildotwriter* pWriter, xmailwriteproc pWrite, ptr pUserData );
| 参数 | 说明 |
|---|---|
| xmaildotwriter* pWriter | 写入器 |
| xmailwriteproc pWrite | 写入回调 |
| ptr pUserData | 透传用户数据 |
返回:补足最后一行并写出 SMTP/POP3 点终止行。
示例已编译验证
/* 补足最后一行并写出 SMTP/POP3 点终止行。 */ result = xrtMailDotWriterFinish(pWriter, pWrite, pUserData);
xrtMailDotWrite
XRT_API bool xrtMailDotWrite( xstrview Data, bool Terminate, void* pOutput, size_t iCapacity, size_t* pOutputSize );
;
返回:XRT_API bool xrtMailDotWrite( xstrview Data, bool Terminate, void* pOutput, size_t iCapacity, size_t* pOutputSize );
示例已编译验证
/* XRT_API bool xrtMailDotWrite( xstrview Data, bool Terminate, void* pOutput, size_t iCapacity, size_t* pOutputSize ); */ result = xrtMailDotWrite();
xrtMailDot
创建由 xrtFree 释放的 dot-transparent 字节。
bytes xrtMailDot( xstrview Data, bool Terminate, size_t* pOutputSize );
| 参数 | 说明 |
|---|---|
| xstrview Data | 数据内容 |
| bool Terminate | Termnate 参数 |
| size_t* pOutputSize | 出:输出长度 |
返回:创建由 xrtFree 释放的 dot-transparent 字节。
示例已编译验证
/* 创建由 xrtFree 释放的 dot-transparent 字节。 */ result = xrtMailDot(Data, Terminate, pOutputSize);
xrtMailDotDecodeWrite
解码完整的 dot-transparent 行块;可要求最后一行必须是终止行。
bool xrtMailDotDecodeWrite( xstrview Data, bool RequireTerminator, void* pOutput, size_t iCapacity, size_t* pOutputSize );
| 参数 | 说明 |
|---|---|
| xstrview Data | 数据内容 |
| bool RequireTerminator | RequreTermnator 参数 |
| void* pOutput | 出:输出缓冲 |
| size_t iCapacity | 容量 |
| size_t* pOutputSize | 出:输出长度 |
返回:解码完整的 dot-transparent 行块;可要求最后一行必须是终止行。
示例已编译验证
/* 解码完整的 dot-transparent 行块;可要求最后一行必须是终止行。 */ result = xrtMailDotDecodeWrite(Data, RequireTerminator, pOutput, iCapacity, pOutputSize);
xrtMailDotDecode
创建由 xrtFree 释放的去转义字节。
bytes xrtMailDotDecode( xstrview Data, bool RequireTerminator, size_t* pOutputSize );
| 参数 | 说明 |
|---|---|
| xstrview Data | 数据内容 |
| bool RequireTerminator | RequreTermnator 参数 |
| size_t* pOutputSize | 出:输出长度 |
返回:创建由 xrtFree 释放的去转义字节。
示例已编译验证
/* 创建由 xrtFree 释放的去转义字节。 */ result = xrtMailDotDecode(Data, RequireTerminator, pOutputSize);