xrtImapAtomValid
判断文本是否可以作为 IMAP atom 使用。
bool xrtImapAtomValid(xstrview Atom);
| 参数 | 说明 |
|---|---|
| xstrview Atom | 原子标识 |
返回:判断文本是否可以作为 IMAP atom 使用。
示例已编译验证
/* 判断文本是否可以作为 IMAP atom 使用。 */ result = xrtImapAtomValid(Atom);
xrtImapSequenceSetValid
验证序号集合、UID 集合或 SEARCHRES 的 `$` 引用。
bool xrtImapSequenceSetValid(xstrview Set);
| 参数 | 说明 |
|---|---|
| xstrview Set | 字节集合 |
返回:验证序号集合、UID 集合或 SEARCHRES 的 `$` 引用。
示例已编译验证
/* 验证序号集合、UID 集合或 SEARCHRES 的 `$` 引用。 */ result = xrtImapSequenceSetValid(Set);
xrtImapResponseParse
解析 tagged、untagged 或 continuation 响应行。
bool xrtImapResponseParse( xstrview Line, ximapresponseview* pResponse );
| 参数 | 说明 |
|---|---|
| xstrview Line | Lne 参数 |
| ximapresponseview* pResponse | 响应对象 |
返回:解析 tagged、untagged 或 continuation 响应行。
示例已编译验证
/* 解析 tagged、untagged 或 continuation 响应行。 */ result = xrtImapResponseParse(Line, pResponse);
xrtImapLiteralParse
查找行尾 literal 标记;无标记返回 END,合法标记返回 ITEM。
xmailnext xrtImapLiteralParse( xstrview Line, ximapliteralview* pLiteral );
| 参数 | 说明 |
|---|---|
| xstrview Line | Lne 参数 |
| ximapliteralview* pLiteral | Lteral 参数 |
返回:查找行尾 literal 标记;无标记返回 END,合法标记返回 ITEM。
示例已编译验证
/* 查找行尾 literal 标记;无标记返回 END,合法标记返回 ITEM。 */ result = xrtImapLiteralParse(Line, pLiteral);
xrtImapCodeParse
解析文本开头的 `[code arguments]`;没有响应码返回 END。
xmailnext xrtImapCodeParse( xstrview Text, ximapcodeview* pCode );
| 参数 | 说明 |
|---|---|
| xstrview Text | 文本视图 |
| ximapcodeview* pCode | 代码 |
返回:解析文本开头的 `[code arguments]`;没有响应码返回 END。
示例已编译验证
/* 解析文本开头的 `[code arguments]`;没有响应码返回 END。 */ result = xrtImapCodeParse(Text, pCode);
xrtImapNumberParse
解析 `number name [text]`;不是数字响应返回 END。
xmailnext xrtImapNumberParse( xstrview Text, ximapnumberview* pNumber );
| 参数 | 说明 |
|---|---|
| xstrview Text | 文本视图 |
| ximapnumberview* pNumber | 数字 |
返回:解析 `number name [text]`;不是数字响应返回 END。
示例已编译验证
/* 解析 `number name [text]`;不是数字响应返回 END。 */ result = xrtImapNumberParse(Text, pNumber);
xrtImapAtomCursorInit
初始化空白分隔 atom 游标。
bool xrtImapAtomCursorInit( ximapatomcursor* pCursor, xstrview Text );
| 参数 | 说明 |
|---|---|
| ximapatomcursor* pCursor | 游标 |
| xstrview Text | 文本视图 |
返回:初始化空白分隔 atom 游标。
示例已编译验证
imapatomcursorinit obj; xrtImapAtomCursorInit(&obj, pCursor, Text);
xrtImapAtomNext
返回下一 atom;控制字符或 IMAP atom-specials 返回错误。
xmailnext xrtImapAtomNext( ximapatomcursor* pCursor, xstrview* pAtom );
| 参数 | 说明 |
|---|---|
| ximapatomcursor* pCursor | 游标 |
| xstrview* pAtom | 原子标识 |
返回:返回下一 atom;控制字符或 IMAP atom-specials 返回错误。
示例已编译验证
/* 返回下一 atom;控制字符或 IMAP atom-specials 返回错误。 */ result = xrtImapAtomNext(pCursor, pAtom);
xrtImapCapability
返回已知 IMAP capability 的稳定标记,未知扩展返回零。
uint64 xrtImapCapability(xstrview Capability);
| 参数 | 说明 |
|---|---|
| xstrview Capability | 能力列表 |
返回:返回已知 IMAP capability 的稳定标记,未知扩展返回零。
示例已编译验证
/* 返回已知 IMAP capability 的稳定标记,未知扩展返回零。 */ result = xrtImapCapability(Capability);
xrtImapQuoteWrite
写出转义后的 IMAP quoted string,容量包含末尾零字节。
bool xrtImapQuoteWrite( xstrview Text, char* sOutput, size_t iCapacity, size_t* pOutputSize );
| 参数 | 说明 |
|---|---|
| xstrview Text | 文本视图 |
| char* sOutput | 输出缓冲 |
| size_t iCapacity | 容量 |
| size_t* pOutputSize | 出:输出长度 |
返回:写出转义后的 IMAP quoted string,容量包含末尾零字节。
示例已编译验证
/* 写出转义后的 IMAP quoted string,容量包含末尾零字节。 */ result = xrtImapQuoteWrite(Text, sOutput, iCapacity, pOutputSize);
xrtImapQuote
创建由 xrtFree 释放的 IMAP quoted string。
str xrtImapQuote(xstrview Text, size_t* pOutputSize);
| 参数 | 说明 |
|---|---|
| xstrview Text | 文本视图 |
| size_t* pOutputSize | 出:输出长度 |
返回:创建由 xrtFree 释放的 IMAP quoted string。
示例已编译验证
/* 创建由 xrtFree 释放的 IMAP quoted string。 */ result = xrtImapQuote(Text, pOutputSize);
xrtImapCommandWrite
安全写出 `Tag Command [Arguments]\r\n`。
bool xrtImapCommandWrite( xstrview Tag, xstrview Command, xstrview Arguments, size_t iMaxLine, char* sOutput, size_t iCapacity, size_t* pOutputSize );
| 参数 | 说明 |
|---|---|
| xstrview Tag | 标签 |
| xstrview Command | 命令文本 |
| xstrview Arguments | 命令参数 |
| size_t iMaxLine | MaxLne 参数 |
| char* sOutput | 输出缓冲 |
| size_t iCapacity | 容量 |
| size_t* pOutputSize | 出:输出长度 |
返回:安全写出 `Tag Command [Arguments]\r\n`。
示例已编译验证
/* 安全写出 `Tag Command [Arguments]\r\n`。 */ result = xrtImapCommandWrite(Tag, Command, Arguments, iMaxLine, sOutput, iCapacity, pOutputSize);
xrtImapCommand
创建由 xrtFree 释放的 IMAP 命令行。
str xrtImapCommand( xstrview Tag, xstrview Command, xstrview Arguments, size_t iMaxLine, size_t* pOutputSize );
| 参数 | 说明 |
|---|---|
| xstrview Tag | 标签 |
| xstrview Command | 命令文本 |
| xstrview Arguments | 命令参数 |
| size_t iMaxLine | MaxLne 参数 |
| size_t* pOutputSize | 出:输出长度 |
返回:创建由 xrtFree 释放的 IMAP 命令行。
示例已编译验证
/* 创建由 xrtFree 释放的 IMAP 命令行。 */ result = xrtImapCommand(Tag, Command, Arguments, iMaxLine, pOutputSize);