xrtMailHeaderNameValid

判断字段名是否只包含 RFC 5322 ftext 字节。

bool xrtMailHeaderNameValid(xstrview Name);
参数说明
xstrview Name名称(xstrview)
返回:判断字段名是否只包含 RFC 5322 ftext 字节。

示例已编译验证

/* 判断字段名是否只包含 RFC 5322 ftext 字节。 */
result = xrtMailHeaderNameValid(Name);

xrtMailHeaderValueValid

判断字段值是否只包含安全正文和合法 CRLF 折叠。

bool xrtMailHeaderValueValid(xstrview Value);
参数说明
xstrview Value值
返回:判断字段值是否只包含安全正文和合法 CRLF 折叠。

示例已编译验证

/* 判断字段值是否只包含安全正文和合法 CRLF 折叠。 */
result = xrtMailHeaderValueValid(Value);

xrtMailHeaderCursorInit

初始化零分配字段游标;Block 可以包含或省略末尾空行。

bool xrtMailHeaderCursorInit( xmailheadercursor* pCursor, xstrview Block );
参数说明
xmailheadercursor* pCursor游标
xstrview Block阻塞对象
返回:初始化零分配字段游标;Block 可以包含或省略末尾空行。

示例已编译验证

mailheadercursorinit obj;
xrtMailHeaderCursorInit(&obj, pCursor, Block);

xrtMailHeaderNext

返回下一个字段的借用名称和原始折叠值。

xmailnext xrtMailHeaderNext( xmailheadercursor* pCursor, xmailheaderview* pHeader );
参数说明
xmailheadercursor* pCursor游标
xmailheaderview* pHeader头部
返回:返回下一个字段的借用名称和原始折叠值。

示例已编译验证

/* 返回下一个字段的借用名称和原始折叠值。 */
result = xrtMailHeaderNext(pCursor, pHeader);

xrtMailHeaderUnfoldWrite

展开一个字段值中的 CRLF + WSP,输出容量必须包含末尾零字节。

bool xrtMailHeaderUnfoldWrite( xstrview Value, char* sOutput, size_t iCapacity, size_t* pOutputSize );
参数说明
xstrview Value值
char* sOutput输出缓冲
size_t iCapacity容量
size_t* pOutputSize出:输出长度
返回:展开一个字段值中的 CRLF + WSP,输出容量必须包含末尾零字节。

示例已编译验证

/* 展开一个字段值中的 CRLF + WSP,输出容量必须包含末尾零字节。 */
result = xrtMailHeaderUnfoldWrite(Value, sOutput, iCapacity, pOutputSize);

xrtMailHeaderUnfold

创建由 xrtFree 释放的展开字段值。

str xrtMailHeaderUnfold(xstrview Value, size_t* pOutputSize);
参数说明
xstrview Value值
size_t* pOutputSize出:输出长度
返回:创建由 xrtFree 释放的展开字段值。

示例已编译验证

/* 创建由 xrtFree 释放的展开字段值。 */
result = xrtMailHeaderUnfold(Value, pOutputSize);

xrtMailHeaderWrite

XRT_API bool xrtMailHeaderWrite( xstrview Name, xstrview Value, size_t iLineSize, char* sOutput, size_t iCapacity, size_t* pOutputSize );

;
返回:XRT_API bool xrtMailHeaderWrite( xstrview Name, xstrview Value, size_t iLineSize, char* sOutput, size_t iCapacity, size_t* pOutputSize );

示例已编译验证

/* XRT_API bool xrtMailHeaderWrite( xstrview Name, xstrview Value, size_t iLineSize, char* sOutput, size_t iCapacity, size_t* pOutputSize ); */
result = xrtMailHeaderWrite();

xrtMailHeader

创建由 xrtFree 释放的完整字段行。

str xrtMailHeader( xstrview Name, xstrview Value, size_t iLineSize, size_t* pOutputSize );
参数说明
xstrview Name名称(xstrview)
xstrview Value值
size_t iLineSizeLneSze 参数
size_t* pOutputSize出:输出长度
返回:创建由 xrtFree 释放的完整字段行。

示例已编译验证

/* 创建由 xrtFree 释放的完整字段行。 */
result = xrtMailHeader(Name, Value, iLineSize, pOutputSize);