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 iLineSize | LneSze 参数 |
| size_t* pOutputSize | 出:输出长度 |
返回:创建由 xrtFree 释放的完整字段行。
示例已编译验证
/* 创建由 xrtFree 释放的完整字段行。 */ result = xrtMailHeader(Name, Value, iLineSize, pOutputSize);