xrtPop3ReplyParse

解析 `+OK` 或 `-ERR` 状态行。

bool xrtPop3ReplyParse(xstrview Line, xpop3replyview* pReply);
参数说明
xstrview LineLne 参数
xpop3replyview* pReply回复队列
返回:解析 `+OK` 或 `-ERR` 状态行。

示例已编译验证

/* 解析 `+OK` 或 `-ERR` 状态行。 */
result = xrtPop3ReplyParse(Line, pReply);

xrtPop3StatParse

解析成功 STAT 响应中的消息数量和总字节数。

bool xrtPop3StatParse(xstrview Line, xpop3stat* pStat);
参数说明
xstrview LineLne 参数
xpop3stat* pStatStat 参数
返回:解析成功 STAT 响应中的消息数量和总字节数。

示例已编译验证

/* 解析成功 STAT 响应中的消息数量和总字节数。 */
result = xrtPop3StatParse(Line, pStat);

xrtPop3ListParse

解析多行 LIST 响应中的一项。

bool xrtPop3ListParse(xstrview Line, xpop3listview* pItem);
参数说明
xstrview LineLne 参数
xpop3listview* pItem元素
返回:解析多行 LIST 响应中的一项。

示例已编译验证

/* 解析多行 LIST 响应中的一项。 */
result = xrtPop3ListParse(Line, pItem);

xrtPop3UidlParse

解析多行 UIDL 响应中的一项。

bool xrtPop3UidlParse(xstrview Line, xpop3uidlview* pItem);
参数说明
xstrview LineLne 参数
xpop3uidlview* pItem元素
返回:解析多行 UIDL 响应中的一项。

示例已编译验证

/* 解析多行 UIDL 响应中的一项。 */
result = xrtPop3UidlParse(Line, pItem);

xrtPop3CapabilityParse

解析一条 CAPA 能力行。

bool xrtPop3CapabilityParse( xstrview Line, xpop3capabilityview* pCapability );
参数说明
xstrview LineLne 参数
xpop3capabilityview* pCapability能力列表
返回:解析一条 CAPA 能力行。

示例已编译验证

/* 解析一条 CAPA 能力行。 */
result = xrtPop3CapabilityParse(Line, pCapability);

xrtPop3Capability

返回已知 POP3 能力名称的稳定标记,未知扩展返回零。

uint32 xrtPop3Capability(xstrview Name);
参数说明
xstrview Name名称(xstrview)
返回:返回已知 POP3 能力名称的稳定标记,未知扩展返回零。

示例已编译验证

/* 返回已知 POP3 能力名称的稳定标记,未知扩展返回零。 */
result = xrtPop3Capability(Name);

xrtPop3SaslMechanism

返回内置 SASL 机制名称的稳定标记,未知机制返回零。

uint32 xrtPop3SaslMechanism(xstrview Name);
参数说明
xstrview Name名称(xstrview)
返回:返回内置 SASL 机制名称的稳定标记,未知机制返回零。

示例已编译验证

/* 返回内置 SASL 机制名称的稳定标记,未知机制返回零。 */
result = xrtPop3SaslMechanism(Name);

xrtPop3CommandWrite

安全写出 `Verb [Arguments]\r\n`,拒绝控制字符和超长命令。

bool xrtPop3CommandWrite( xstrview Verb, xstrview Arguments, char* sOutput, size_t iCapacity, size_t* pOutputSize );
参数说明
xstrview VerbVerb 参数
xstrview Arguments命令参数
char* sOutput输出缓冲
size_t iCapacity容量
size_t* pOutputSize出:输出长度
返回:安全写出 `Verb [Arguments]\r\n`,拒绝控制字符和超长命令。

示例已编译验证

/* 安全写出 `Verb [Arguments]\r\n`,拒绝控制字符和超长命令。 */
result = xrtPop3CommandWrite(Verb, Arguments, sOutput, iCapacity, pOutputSize);

xrtPop3Command

创建由 xrtFree 释放的 POP3 命令行。

str xrtPop3Command( xstrview Verb, xstrview Arguments, size_t* pOutputSize );
参数说明
xstrview VerbVerb 参数
xstrview Arguments命令参数
size_t* pOutputSize出:输出长度
返回:创建由 xrtFree 释放的 POP3 命令行。

示例已编译验证

/* 创建由 xrtFree 释放的 POP3 命令行。 */
result = xrtPop3Command(Verb, Arguments, pOutputSize);