xrtMailMediaTypeParse

解析并完整验证 Content-Type 字段值。

bool xrtMailMediaTypeParse( xstrview Text, xmailmediatypeview* pMediaType );
参数说明
xstrview Text文本视图
xmailmediatypeview* pMediaTypeMedaTye 参数
返回:解析并完整验证 Content-Type 字段值。

示例已编译验证

/* 解析并完整验证 Content-Type 字段值。 */
result = xrtMailMediaTypeParse(Text, pMediaType);

xrtMailDispositionParse

解析并完整验证 Content-Disposition 字段值。

bool xrtMailDispositionParse( xstrview Text, xmaildispositionview* pDisposition );
参数说明
xstrview Text文本视图
xmaildispositionview* pDisposition内容描述
返回:解析并完整验证 Content-Disposition 字段值。

示例已编译验证

/* 解析并完整验证 Content-Disposition 字段值。 */
result = xrtMailDispositionParse(Text, pDisposition);

xrtMailParamCursorInit

初始化以分号开头或为空的 MIME 参数游标。

bool xrtMailParamCursorInit( xmailparamcursor* pCursor, xstrview Parameters );
参数说明
xmailparamcursor* pCursor游标
xstrview Parameters参数列表
返回:初始化以分号开头或为空的 MIME 参数游标。

示例已编译验证

mailparamcursorinit obj;
xrtMailParamCursorInit(&obj, pCursor, Parameters);

xrtMailParamNext

返回下一个 MIME 参数及其 RFC 2231 section 描述。

xmailnext xrtMailParamNext( xmailparamcursor* pCursor, xmailparamview* pParameter );
参数说明
xmailparamcursor* pCursor游标
xmailparamview* pParameterParameter 参数
返回:返回下一个 MIME 参数及其 RFC 2231 section 描述。

示例已编译验证

/* 返回下一个 MIME 参数及其 RFC 2231 section 描述。 */
result = xrtMailParamNext(pCursor, pParameter);

xrtMailParamDecodeWrite

解码单个参数 section 的 quoted-pair 和扩展百分号编码。

bool xrtMailParamDecodeWrite( const xmailparamview* pParameter, char* sOutput, size_t iCapacity, size_t* pOutputSize, xstrview* pCharset, xstrview* pLanguage );
参数说明
const xmailparamview* pParameterParameter 参数
char* sOutput输出缓冲
size_t iCapacity容量
size_t* pOutputSize出:输出长度
xstrview* pCharset字符集
xstrview* pLanguage语言对象
返回:解码单个参数 section 的 quoted-pair 和扩展百分号编码。

示例已编译验证

/* 解码单个参数 section 的 quoted-pair 和扩展百分号编码。 */
result = xrtMailParamDecodeWrite(pParameter, sOutput, iCapacity, pOutputSize, pCharset, pLanguage);

xrtMailParamFindWrite

查找、合并并解码参数;返回 ITEM、END 或 ERROR。

xmailnext xrtMailParamFindWrite( xstrview Parameters, xstrview Name, char* sOutput, size_t iCapacity, size_t* pOutputSize, xmailparaminfo* pInfo );
参数说明
xstrview Parameters参数列表
xstrview Name名称(xstrview)
char* sOutput输出缓冲
size_t iCapacity容量
size_t* pOutputSize出:输出长度
xmailparaminfo* pInfo上下文信息
返回:查找、合并并解码参数;返回 ITEM、END 或 ERROR。

示例已编译验证

/* 查找、合并并解码参数;返回 ITEM、END 或 ERROR。 */
result = xrtMailParamFindWrite(Parameters, Name, sOutput, iCapacity, pOutputSize, pInfo);

xrtMailParamFind

创建由 xrtFree 释放的合并参数;未找到和错误均返回 NULL。

str xrtMailParamFind( xstrview Parameters, xstrview Name, size_t* pOutputSize, xmailparaminfo* pInfo );
参数说明
xstrview Parameters参数列表
xstrview Name名称(xstrview)
size_t* pOutputSize出:输出长度
xmailparaminfo* pInfo上下文信息
返回:创建由 xrtFree 释放的合并参数;未找到和错误均返回 NULL。

示例已编译验证

/* 创建由 xrtFree 释放的合并参数;未找到和错误均返回 NULL。 */
result = xrtMailParamFind(Parameters, Name, pOutputSize, pInfo);

xrtMailParamWrite

写出包含分号前缀的 MIME 参数,长值自动拆成 RFC 2231 连续段。

bool xrtMailParamWrite( xstrview Name, xstrview Value, xmailparamencoding Encoding, char* sOutput, size_t iCapacity, size_t* pOutputSize );
参数说明
xstrview Name名称(xstrview)
xstrview Value值
xmailparamencoding Encoding编码
char* sOutput输出缓冲
size_t iCapacity容量
size_t* pOutputSize出:输出长度
返回:写出包含分号前缀的 MIME 参数,长值自动拆成 RFC 2231 连续段。

示例已编译验证

/* 写出包含分号前缀的 MIME 参数,长值自动拆成 RFC 2231 连续段。 */
result = xrtMailParamWrite(Name, Value, Encoding, sOutput, iCapacity, pOutputSize);

xrtMailParam

创建由 xrtFree 释放的单个 MIME 参数。

str xrtMailParam( xstrview Name, xstrview Value, xmailparamencoding Encoding, size_t* pOutputSize );
参数说明
xstrview Name名称(xstrview)
xstrview Value值
xmailparamencoding Encoding编码
size_t* pOutputSize出:输出长度
返回:创建由 xrtFree 释放的单个 MIME 参数。

示例已编译验证

/* 创建由 xrtFree 释放的单个 MIME 参数。 */
result = xrtMailParam(Name, Value, Encoding, pOutputSize);