diff options
Diffstat (limited to 'main/minimime/mm-docs/html/group__context.html')
-rw-r--r-- | main/minimime/mm-docs/html/group__context.html | 465 |
1 files changed, 465 insertions, 0 deletions
diff --git a/main/minimime/mm-docs/html/group__context.html b/main/minimime/mm-docs/html/group__context.html new file mode 100644 index 000000000..832151ea1 --- /dev/null +++ b/main/minimime/mm-docs/html/group__context.html @@ -0,0 +1,465 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"> +<title>MiniMIME: Accessing and manipulating MIME contexts</title> +<link href="doxygen.css" rel="stylesheet" type="text/css"> +<link href="tabs.css" rel="stylesheet" type="text/css"> +</head><body> +<!-- Generated by Doxygen 1.5.1 --> +<div class="tabs"> + <ul> + <li><a href="index.html"><span>Main Page</span></a></li> + <li><a href="modules.html"><span>Modules</span></a></li> + <li><a href="files.html"><span>Files</span></a></li> + <li><a href="pages.html"><span>Related Pages</span></a></li> + </ul></div> +<h1>Accessing and manipulating MIME contexts</h1><table border="0" cellpadding="0" cellspacing="0"> +<tr><td></td></tr> +<tr><td colspan="2"><br><h2>Manipulating MiniMIME contexts</h2></td></tr> +<tr><td class="memItemLeft" nowrap align="right" valign="top">MM_CTX * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#g919fd41f85534d9c87c256857faa2610">mm_context_new</a> (void)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#g76392d5269e9ef340c2f5f8336f7193b">mm_context_free</a> (MM_CTX *ctx)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#gec3ca486a61b392ff68774242086768e">mm_context_attachpart</a> (MM_CTX *ctx, struct mm_mimepart *part)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#g73a3dd187053aeabca4836dc28a6c468">mm_context_attachpart_after</a> (MM_CTX *ctx, struct mm_mimepart *part, int pos)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#g53d20c33a401539ef1ffa45f3dddb983">mm_context_deletepart</a> (MM_CTX *ctx, int which, int freemem)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#gf5bb032ad1c481d31d7b1b0710939712">mm_context_countparts</a> (MM_CTX *ctx)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">mm_mimepart * </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#g57fea229675f3e56a77eb40bb8193ee3">mm_context_getpart</a> (MM_CTX *ctx, int which)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#g1e73cadba4acd3ef9dd148dd0c2c3e70">mm_context_iscomposite</a> (MM_CTX *ctx)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#g8733dee7d83d3205349a7ee4ee5b2750">mm_context_haswarnings</a> (MM_CTX *ctx)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#g9710e485f51167099d90f0d659979068">mm_context_generateboundary</a> (MM_CTX *ctx)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#gc0e7cc297516618d4773830a1988fc8d">mm_context_setpreamble</a> (MM_CTX *ctx, char *preamble)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="g1ebbdd51106ccdee77ca421f9692bde7"></a><!-- doxytag: member="context::mm_context_getpreamble" ref="g1ebbdd51106ccdee77ca421f9692bde7" args="(MM_CTX *ctx)" --> +char * </td><td class="memItemRight" valign="bottom"><b>mm_context_getpreamble</b> (MM_CTX *ctx)</td></tr> + +<tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__context.html#g5288136ab923605f6508c09359ae5772">mm_context_flatten</a> (MM_CTX *ctx, char **flat, size_t *length, int flags)</td></tr> + +</table> +<hr><a name="_details"></a><h2>Detailed Description</h2> +Each message in MiniMIME is represented by a so called ``context''. A context holds all necessary information given about a MIME message, such as the envelope, all MIME parts etc. <hr><h2>Function Documentation</h2> +<a class="anchor" name="gec3ca486a61b392ff68774242086768e"></a><!-- doxytag: member="mm_context.c::mm_context_attachpart" ref="gec3ca486a61b392ff68774242086768e" args="(MM_CTX *ctx, struct mm_mimepart *part)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int mm_context_attachpart </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct mm_mimepart * </td> + <td class="paramname"> <em>part</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Attaches a MIME part object to a MiniMIME context.<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>the MiniMIME context </td></tr> + <tr><td valign="top"></td><td valign="top"><em>part</em> </td><td>the MIME part object to attach </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or -1 on failure. Sets mm_errno on failure.</dd></dl> +This function attaches a MIME part to a context, appending it to the end of the message.<p> +The MIME part should be initialized before attaching it using <a class="el" href="group__mimepart.html#g417e5dd361e30cddb91e1d9a5e30b223">mm_mimepart_new()</a>. +</div> +</div><p> +<a class="anchor" name="g73a3dd187053aeabca4836dc28a6c468"></a><!-- doxytag: member="mm_context.c::mm_context_attachpart_after" ref="g73a3dd187053aeabca4836dc28a6c468" args="(MM_CTX *ctx, struct mm_mimepart *part, int pos)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int mm_context_attachpart_after </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">struct mm_mimepart * </td> + <td class="paramname"> <em>part</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>pos</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Attaches a MIME part object to a MiniMIME context at a given position<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context </td></tr> + <tr><td valign="top"></td><td valign="top"><em>part</em> </td><td>The MIME part object to attach </td></tr> + <tr><td valign="top"></td><td valign="top"><em>pos</em> </td><td>After which part to attach the object </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or -1 if the given position is invalid </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__context.html#gec3ca486a61b392ff68774242086768e">mm_context_attachpart</a></dd></dl> +This function attaches a MIME part object after a given position in the specified context. If the position is invalid (out of range), the part will not get attached to the message and the function returns -1. If the index was in range, the MIME part will get attached after the MIME part at the given position, moving any possible following MIME parts one down the hierarchy. +</div> +</div><p> +<a class="anchor" name="gf5bb032ad1c481d31d7b1b0710939712"></a><!-- doxytag: member="mm_context.c::mm_context_countparts" ref="gf5bb032ad1c481d31d7b1b0710939712" args="(MM_CTX *ctx)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int mm_context_countparts </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em> </td> + <td> ) </td> + <td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Counts the number of attached MIME part objects in a given MiniMIME context<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>The MiniMIME context </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of attached MIME part objects </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g53d20c33a401539ef1ffa45f3dddb983"></a><!-- doxytag: member="mm_context.c::mm_context_deletepart" ref="g53d20c33a401539ef1ffa45f3dddb983" args="(MM_CTX *ctx, int which, int freemem)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int mm_context_deletepart </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>which</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>freemem</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Deletes a MIME part object from a MiniMIME context<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context object </td></tr> + <tr><td valign="top"></td><td valign="top"><em>which</em> </td><td>The number of the MIME part object to delete </td></tr> + <tr><td valign="top"></td><td valign="top"><em>freemem</em> </td><td>Whether to free the memory associated with the MIME part object </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or -1 on failure. Sets mm_errno on failure.</dd></dl> +This function deletes a MIME part from a given context. The MIME part to delete is specified as numerical index by the parameter ``which''. If the parameter ``freemem'' is set to anything greater than 0, the memory that is associated will be free'd by using <a class="el" href="group__mimepart.html#gbf47790a0bb96b22bc5e236bc40cb32e">mm_mimepart_free()</a>, otherwise the memory is left untouched (if you still have a pointer to the MIME part around). +</div> +</div><p> +<a class="anchor" name="g5288136ab923605f6508c09359ae5772"></a><!-- doxytag: member="mm_context.c::mm_context_flatten" ref="g5288136ab923605f6508c09359ae5772" args="(MM_CTX *ctx, char **flat, size_t *length, int flags)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int mm_context_flatten </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char ** </td> + <td class="paramname"> <em>flat</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">size_t * </td> + <td class="paramname"> <em>length</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>flags</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Creates an ASCII message of the specified context<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context object </td></tr> + <tr><td valign="top"></td><td valign="top"><em>flat</em> </td><td>Where to store the message </td></tr> + <tr><td valign="top"></td><td valign="top"><em>flags</em> </td><td>Flags that affect the flattening process</td></tr> + </table> +</dl> +This function ``flattens'' a MiniMIME context, that is, it creates an ASCII represantation of the message the context contains. The flags can be a bitwise combination of the following constants:<p> +<ul> +<li>MM_FLATTEN_OPAQUE : use opaque MIME parts when flattening</li><li>MM_FLATTEN_SKIPENVELOPE : do not flatten the envelope part</li></ul> +<p> +Great care is taken to not produce invalid MIME output. +</div> +</div><p> +<a class="anchor" name="g76392d5269e9ef340c2f5f8336f7193b"></a><!-- doxytag: member="mm_context.c::mm_context_free" ref="g76392d5269e9ef340c2f5f8336f7193b" args="(MM_CTX *ctx)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">void mm_context_free </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em> </td> + <td> ) </td> + <td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Releases a MiniMIME context object<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context </td></tr> + </table> +</dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__context.html#g919fd41f85534d9c87c256857faa2610">mm_context_new</a></dd></dl> +This function releases all memory associated with MiniMIME context object that was created using <a class="el" href="group__context.html#g919fd41f85534d9c87c256857faa2610">mm_context_new()</a>. It will also release all memory used for the MIME parts attached, and their specific properties (such as Content-Type information, headers, and the body data). +</div> +</div><p> +<a class="anchor" name="g9710e485f51167099d90f0d659979068"></a><!-- doxytag: member="mm_context.c::mm_context_generateboundary" ref="g9710e485f51167099d90f0d659979068" args="(MM_CTX *ctx)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int mm_context_generateboundary </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em> </td> + <td> ) </td> + <td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Generates a generic boundary string for a given context<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or -1 on failure</dd></dl> +This function generates a default boundary string for the given context. If there is already a boundary for the context, the memory will be free()'d. +</div> +</div><p> +<a class="anchor" name="g57fea229675f3e56a77eb40bb8193ee3"></a><!-- doxytag: member="mm_context.c::mm_context_getpart" ref="g57fea229675f3e56a77eb40bb8193ee3" args="(MM_CTX *ctx, int which)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">struct mm_mimepart* mm_context_getpart </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">int </td> + <td class="paramname"> <em>which</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Gets a specified MIME part object from a MimeMIME context<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>The MiniMIME context </td></tr> + <tr><td valign="top"></td><td valign="top"><em>which</em> </td><td>The number of the MIME part object to retrieve </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>The requested MIME part object on success or a NULL pointer if there is no such part. </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g8733dee7d83d3205349a7ee4ee5b2750"></a><!-- doxytag: member="mm_context.c::mm_context_haswarnings" ref="g8733dee7d83d3205349a7ee4ee5b2750" args="(MM_CTX *ctx)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int mm_context_haswarnings </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em> </td> + <td> ) </td> + <td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Checks whether there are any warnings associated with a given context<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if there are warnings associated with the context, otherwise 0 </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g1e73cadba4acd3ef9dd148dd0c2c3e70"></a><!-- doxytag: member="mm_context.c::mm_context_iscomposite" ref="g1e73cadba4acd3ef9dd148dd0c2c3e70" args="(MM_CTX *ctx)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int mm_context_iscomposite </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em> </td> + <td> ) </td> + <td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Checks whether a given context represents a composite (multipart) message<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context object </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the context is a composite message or 0 if it's flat </dd></dl> + +</div> +</div><p> +<a class="anchor" name="g919fd41f85534d9c87c256857faa2610"></a><!-- doxytag: member="mm_context.c::mm_context_new" ref="g919fd41f85534d9c87c256857faa2610" args="(void)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">MM_CTX* mm_context_new </td> + <td>(</td> + <td class="paramtype">void </td> + <td class="paramname"> </td> + <td> ) </td> + <td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Creates a new MiniMIME context object.<p> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>a new MiniMIME context object </dd></dl> +<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="group__context.html#g76392d5269e9ef340c2f5f8336f7193b">mm_context_free</a></dd></dl> +This function creates a new MiniMIME context, which will hold a message. The memory needed is allocated dynamically and should later be free'd using <a class="el" href="group__context.html#g76392d5269e9ef340c2f5f8336f7193b">mm_context_free()</a>.<p> +Before a context can be created, the MiniMIME library needs to be initialized properly using mm_library_init(). +</div> +</div><p> +<a class="anchor" name="gc0e7cc297516618d4773830a1988fc8d"></a><!-- doxytag: member="mm_context.c::mm_context_setpreamble" ref="gc0e7cc297516618d4773830a1988fc8d" args="(MM_CTX *ctx, char *preamble)" --> +<div class="memitem"> +<div class="memproto"> + <table class="memname"> + <tr> + <td class="memname">int mm_context_setpreamble </td> + <td>(</td> + <td class="paramtype">MM_CTX * </td> + <td class="paramname"> <em>ctx</em>, </td> + </tr> + <tr> + <td class="paramkey"></td> + <td></td> + <td class="paramtype">char * </td> + <td class="paramname"> <em>preamble</em></td><td> </td> + </tr> + <tr> + <td></td> + <td>)</td> + <td></td><td></td><td width="100%"></td> + </tr> + </table> +</div> +<div class="memdoc"> + +<p> +Sets a preamble for the given MiniMIME context<p> +<dl compact><dt><b>Parameters:</b></dt><dd> + <table border="0" cellspacing="2" cellpadding="0"> + <tr><td valign="top"></td><td valign="top"><em>ctx</em> </td><td>A valid MiniMIME context </td></tr> + <tr><td valign="top"></td><td valign="top"><em>preamble</em> </td><td>The preamble to set </td></tr> + </table> +</dl> +<dl class="return" compact><dt><b>Returns:</b></dt><dd>0 on success or -1 on failure</dd></dl> +This function sets the MIME preamble (the text between the end of envelope headers and the beginning of the first MIME part) for a given context object. If preamble is a NULL-pointer then the preamble will be deleted, and the currently associated memory will be free automagically. +</div> +</div><p> +<hr size="1"><address style="align: right;"><small>Generated on Thu Mar 29 17:59:08 2007 for MiniMIME by +<a href="http://www.doxygen.org/index.html"> +<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address> +</body> +</html> |