haiku-website/static/legacy-docs/bebook/TheMailDaemon_Functions.html

120 lines
26 KiB
HTML
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /><title>The Be Book - Classes And Methods - The Mail Kit</title><link rel="stylesheet" href="be_book.css" type="text/css" media="all" /><link rel="shortcut icon" type="image/vnd.microsoft.icon" href="./images/favicon.ico" /><!--[if IE]>
<link rel="stylesheet" type="text/css" href="be_book_ie.css" />
<![endif]--><meta name="generator" content="DocBook XSL Stylesheets V1.73.2" /><meta name="keywords" content="Access, BeOS, BeBook, API" /><link rel="start" href="index.html" title="The Be Book" /><link rel="up" href="TheMailKit.html" title="The Mail Kit" /><link rel="prev" href="BMailMessage.html" title="BMailMessage" /><link rel="next" href="TheMediaKit.html" title="The Media Kit" /></head><body><div id="header"><div id="headerT"><div id="headerTL"><a accesskey="p" href="BMailMessage.html" title="BMailMessage"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a accesskey="u" href="TheMailKit.html" title="The Mail Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a accesskey="n" href="TheMediaKit.html" title="The Media Kit"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="headerTR"><div id="navigpeople"><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div><div class="navigboxed" id="navigindex"><a accesskey="i" href="ClassIndex.html" title="Index">I</a></div><div class="navigboxed" id="naviglang" title="English">en</div></div><div id="headerTC">The Be Book - Classes And Methods - The Mail Kit</div></div><div id="headerB">Prev: <a href="BMailMessage.html">BMailMessage</a>  Up: <a href="TheMailKit.html">The Mail Kit</a>  Next: <a href="TheMediaKit.html">The Media Kit</a></div><hr /></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><div xmlns:d="http://docbook.org/ns/docbook"><h2 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="TheMailDaemon_Functions"></a>The Mail Daemon Functions</h2></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="check_for_mail"></a><a id="B_MAIL_NO_DAEMON"></a>
<a id="B_MAIL_UNKNOWN_USER"></a>
<a id="B_MAIL_WRONG_PASSWORD"></a>
<a id="B_MAIL_UNKNOWN_HOST"></a>
<a id="B_MAIL_ACCESS_ERROR"></a>
check_for_mail()</h3></div></div></div><a id="id1115750" class="indexterm"></a><a id="id1115757" class="indexterm"></a><a id="id1115766" class="indexterm"></a><a id="id1115776" class="indexterm"></a><a id="id1115785" class="indexterm"></a><a id="id1115795" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">check_for_mail</span>(<span class="methodparam"><span class="type">int32* </span><span class="parameter">incoming_count</span><span class="initializer"> = <span class="constant">NULL</span></span></span>);</code><p>Sends and retrieves mail. More specifically, this function asks the
mail daemon to retrieve incoming messages from the POP server and send any
queued outgoing messages to the SMTP server. The number of POP messages
that were retrieved are stored in the variable pointed to by
<code class="parameter">incoming_count</code>. If you specify
<code class="constant">NULL</code> for
<code class="parameter">incoming_count</code>,
<code class="function">check_for_mail()</code> won't return the number of
messages retrieved. You should specify <code class="constant">NULL</code> unless
you really want to know how many messages were retrieved, since requesting
this information could potentially slow down the retrieval
process.</p><p>If all is well in the mail world, this function returns
<code class="constant">B_OK</code>; otherwise, it returns a highly useful result
code.</p><table class="variablelist returncodes"><thead><tr><th>Return Code</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_OK</code></span></p></td><td><p>Mail was sent and retrieved without incident.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_MAIL_NO_DAEMON</code></span></p></td><td><p>The mail daemon isn't running.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_MAIL_UNKNOWN_USER</code></span></p></td><td><p>The POP server doesn't recognize the user name.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_MAIL_WRONG_PASSWORD</code></span></p></td><td><p>The POP server doesn't recognize the password.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_MAIL_UNKNOWN_HOST</code></span></p></td><td><p>The POP or SMTP server can't be found.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_MAIL_ACCESS_ERROR</code></span></p></td><td><p>The connection to the POP or SMTP server failed.</p></td></tr></tbody></table></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="count_pop_accounts"></a>count_pop_accounts()</h3></div></div></div><a id="id1115988" class="indexterm"></a><code class="methodsynopsis c"><span class="type">int32 </span><span class="methodname">count_pop_accounts</span>();</code><p>Returns the number of POP accounts that have been configured.</p><div class="admonition note"><div class="title">Note</div><div class="graphic"><img class="icon" alt="Note" width="32" src="./images/admonitions/Info_32.png" /><div class="text"><p>The mail daemon currently supports only one POP account, so this
function will always return 1. You shouldn't assume there will only be
one POP account, though, as this will probably change in the future.</p></div></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="decode_base64"></a>decode_base64()</h3></div></div></div><a id="id1116036" class="indexterm"></a><code class="methodsynopsis c"><span class="type">ssize_t </span><span class="methodname">decode_base64</span>(<span class="methodparam"><span class="type">char* </span><span class="parameter">out</span></span>,<br />                      <span class="methodparam"><span class="type">char* </span><span class="parameter">in</span></span>,<br />                      <span class="methodparam"><span class="type">off_t </span><span class="parameter">length</span></span>,<br />                      <span class="methodparam"><span class="type">bool </span><span class="parameter">replace_cr</span><span class="initializer"> = <span class="constant">false</span></span></span>);</code><p>Decodes the base-64 data pointed to by
<code class="parameter">in</code>, which is <code class="parameter">length</code>
bytes long, and writes the decoded output into the buffer pointed to by
<code class="parameter">out</code>. If <code class="parameter">replace_cr</code> is
<code class="constant">true</code>, carriage return characters in the output are
converted into newlines, otherwise the data is returned in its original,
unaltered, form.</p><p>You would typically specify <code class="parameter">replace_cr</code>
as <code class="constant">true</code> if you're decoding an ASCII text document,
and as <code class="constant">false</code> if decoding a binary file.</p><p>This function returns the size of the output data that's been
stored in the <code class="parameter">out</code> buffer.</p><div class="admonition warning"><div class="title">Warning</div><div class="graphic"><img class="icon" alt="Warning" width="32" src="./images/admonitions/Stop_32.png" /><div class="text"><p>You must be certain, in advance, that the output buffer is large enough
to hold the decoded data, or this function will do bad things.</p></div></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="encode_base64"></a>encode_base64()</h3></div></div></div><a id="id1116165" class="indexterm"></a><code class="methodsynopsis c"><span class="type">ssize_t </span><span class="methodname">encode_base64</span>(<span class="methodparam"><span class="type">char* </span><span class="parameter">out</span></span>,<br />                      <span class="methodparam"><span class="type">char* </span><span class="parameter">in</span></span>,<br />                      <span class="methodparam"><span class="type">off_t </span><span class="parameter">length</span></span>);</code><p>Encodes the data pointed to by <code class="parameter">in</code>,
which is <code class="parameter">length</code> bytes long, and writes
the base-64 encoded output into the buffer pointed to by
<code class="parameter">out</code>.</p><p>This function returns the size of the output data that's been stored in
the <code class="parameter">out</code> buffer.</p><div class="admonition warning"><div class="title">Warning</div><div class="graphic"><img class="icon" alt="Warning" width="32" src="./images/admonitions/Stop_32.png" /><div class="text"><p>You must be certain, in advance, that the output buffer is large enough
to hold the encoded data, or this function will do bad things.</p></div></div></div></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="forward_mail"></a>forward_mail()</h3></div></div></div><a id="id1116255" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">forward_mail</span>(<span class="methodparam"><span class="type">entry_ref* </span><span class="parameter">message_ref</span></span>,<br />                      <span class="methodparam"><span class="modifier">const </span><span class="type">char* </span><span class="parameter">recipients</span></span>,<br />                      <span class="methodparam"><span class="type">bool </span><span class="parameter">now</span><span class="initializer"> = <span class="constant">true</span></span></span>);</code><p>Forwards the mail message specified by
<code class="parameter">message_ref</code> to the list of users given by
<code class="parameter">recipients</code>. The list of user names specified in
<code class="parameter">recipients</code> must be separated by commas and/or
whitespace, and must be null-terminated.</p><p>If the <code class="parameter">now</code> parameter is
<code class="constant">true</code>, the messages will be sent immediately; if
<code class="constant">false</code>, the message will be queued up to be sent
the next time <a class="link" href="TheMailDaemon_Functions.html#check_for_mail" title="check_for_mail()"><code class="function">check_for_mail()</code>
</a> is called, or the next time the mail daemon performs an automatic
mail check.</p><table class="variablelist returncodes"><thead><tr><th>Return Code</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_OK</code></span></p></td><td><p>The message was forwarded without error.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_MAIL_NO_RECIPIENT</code></span></p></td><td><p>No valid recipients were specified.</p></td></tr><tr><td><p><span class="term">Other Errors</span></p></td><td><p>Errors returned by
<a class="link" href="TheMailDaemon_Functions.html#send_queued_mail" title="send_queued_mail()"><code class="function">send_queued_mail()</code></a>,
if <code class="parameter">now</code> is <code class="constant">true</code>.</p></td></tr></tbody></table></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="get_mail_notification"></a><a id="set_mail_notification"></a>
<a id="mail_notification"></a>
get_mail_notification(), set_mail_notification(), mail_notification</h3></div></div></div><a id="id1116441" class="indexterm"></a><a id="id1116449" class="indexterm"></a><a id="id1116456" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">get_mail_notification</span>(<span class="methodparam"><span class="type">mail_notification* </span><span class="parameter">notification_settings</span></span>);</code><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">set_mail_notification</span>(<span class="methodparam"><span class="type">mail_notification* </span><span class="parameter">notification_settings</span></span>,<br />                               <span class="methodparam"><span class="type">bool </span><span class="parameter">save</span><span class="initializer"> = <span class="constant">true</span></span></span>);</code><p><code class="function">get_mail_notification()</code> fills the specified
<span class="type">mail_notification</span> structure
with information describing how the user is currently being notified of
received e-mail. There are two possible notification signals: the mail
alert panel and the system beep. The <span class="type">mail_notification</span>
structure looks like this:</p><pre class="programlisting definition c">typedef struct
{
<span class="type">bool</span> <code class="varname">alert</code>;
<span class="type">bool</span> <code class="varname">beep</code>;
} <span class="type">mail_notification</span>;</pre><p><code class="function">get_mail_notification()</code> always returns
<code class="constant">B_OK</code>. If the current settings can't be checked
(for example, if the user has never configured mail),
<code class="varname">alert</code> will be returned as the default value of
<code class="constant">false</code>, and <code class="varname">beep</code> will be
<code class="constant">true</code>.</p><p><code class="function">set_mail_notification()</code> accepts a pointer
to a <span class="type">mail_notification</span> structure and configures the system
to report incoming mail using the methods specified therein. If the
<code class="parameter">save</code> argument is <code class="constant">true</code>,
the change is set as the new default and will be remembered when the
computer is shut down. If <code class="constant">false</code>, the change is
temporary.</p><table class="variablelist returncodes"><thead><tr><th>Return Code</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_OK</code></span></p></td><td><p>The notification was successfully set or retrieved.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_NO_REPLY</code></span></p></td><td><p>The mail daemon didn't respond to the request.</p></td></tr></tbody></table></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="get_pop_account"></a><a id="set_pop_account"></a>
<a id="mail_pop_account"></a>
<a id="B_CHECK_NEVER"></a>
<a id="B_CHECK_WEEKDAYS"></a>
<a id="B_CHECK_DAILY"></a>
<a id="B_CHECK_CONTINUOUSLY"></a>
get_pop_account(), set_pop_account(), mail_pop_account</h3></div></div></div><a id="id1116696" class="indexterm"></a><a id="id1116703" class="indexterm"></a><a id="id1116710" class="indexterm"></a><a id="id1116717" class="indexterm"></a><a id="id1116726" class="indexterm"></a><a id="id1116735" class="indexterm"></a><a id="id1116744" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">get_pop_account</span>(<span class="methodparam"><span class="type">mail_pop_account* </span><span class="parameter">account_info</span></span>,<br />                         <span class="methodparam"><span class="type">int32 </span><span class="parameter">index</span><span class="initializer"> = 0</span></span>);</code><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">set_pop_account</span>(<span class="methodparam"><span class="type">mail_pop_account* </span><span class="parameter">account_info</span></span>,<br />                         <span class="methodparam"><span class="type">int32 </span><span class="parameter">index</span><span class="initializer"> = 0</span></span>);</code><p>Get and set the specified POP account's information. The
<span class="type">mail_pop_account</span> structure is defined as follows:</p><pre class="programlisting definition c">typedef struct
{
<span class="type">char</span> <code class="varname">pop_name</code>[<code class="constant">B_MAX_USER_NAME_LENGTH</code>];
<span class="type">char</span> <code class="varname">pop_password</code>[<code class="constant">B_MAX_USER_NAME_LENGTH</code>];
<span class="type">char</span> <code class="varname">pop_host</code>[<code class="constant">B_MAX_HOST_NAME_LENGTH</code>];
<span class="type">char</span> <code class="varname">real_name</code>[128];
<span class="type">char</span> <code class="varname">reply_to</code>[128];
<span class="type">int32</span> <code class="varname">days</code>;
<span class="type">int32</span> <code class="varname">interval</code>;
<span class="type">int32</span> <code class="varname">begin_time</code>;
<span class="type">int32</span> <code class="varname">end_time</code>;
} <span class="type">mail_pop_account</span>;</pre><p>The <code class="varname">pop_name</code>, <code class="varname">pop_password</code>,
and <code class="varname">pop_host</code> fields in the <span class="type">mail_pop_account</span>
structure represent the username, password, and POP server host of the
e-mail user. The <code class="varname">real_name</code> is the user's
real name, and <code class="varname">reply_to</code> is the
e-mail address to which replies should be sent.</p><p>The <code class="varname">days</code> field can contain any of the following flags to specify which
days of the week the mail daemon should automatically check mail for the
described account:</p><table class="variablelist constants"><thead><tr><th>Constant</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_CHECK_NEVER</code></span></p></td><td><p>Don't automatically check the account's mail.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_CHECK_WEEKDAYS</code></span></p></td><td><p>Check the mail only on weekdays.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_CHECK_DAILY</code></span></p></td><td><p>Check the mail every day.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_CHECK_CONTINUOUSLY</code></span></p></td><td><p>Check continuously every day.</p></td></tr></tbody></table><p>The <code class="varname">interval</code> specifies how many seconds apart each e-mail retrieval
should be, and the <code class="varname">begin_time</code> and <code class="varname">end_time</code> specify the time of day (in
seconds) that automatic retrieval should begin and end. If <code class="varname">begin_time</code> and
<code class="varname">end_time</code> are the same, the daemon checks mail round-the-clock.</p><div class="admonition note"><div class="title">Note</div><div class="graphic"><img class="icon" alt="Note" width="32" src="./images/admonitions/Info_32.png" /><div class="text"><p>Eventually these functions will support multiple POP accounts; at this
time, the Mail Kit only supports one POP account, so you must use an
<code class="parameter">index</code> of 0. Any other <code class="parameter">index</code>
will result in a <code class="constant">B_BAD_INDEX</code> error.</p></div></div></div><p><code class="function">get_pop_account()</code> fills the specified
<span class="type">mail_pop_account</span> structure with the
information on the POP account, and
<code class="function">set_pop_account()</code> takes the
information in the buffer and saves it as the new default.</p><table class="variablelist returncodes"><thead><tr><th>Return Code</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_OK</code></span></p></td><td><p>The notification was successfully set or retrieved.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_BAD_INDEX</code></span></p></td><td><p>An <code class="parameter">index</code> other than 0 was specified.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_NO_REPLY</code></span></p></td><td><p>The mail daemon didn't reply to the request.</p></td></tr></tbody></table></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="get_smtp_host"></a><a id="set_smtp_host"></a>
get_smtp_host(), set_smtp_host()</h3></div></div></div><a id="id1117170" class="indexterm"></a><a id="id1117177" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">get_smtp_host</span>(<span class="methodparam"><span class="type">char* </span><span class="parameter">smtp_host</span></span>);</code><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">set_smtp_host</span>(<span class="methodparam"><span class="type">char* </span><span class="parameter">smtp_host</span></span>,<br />                       <span class="methodparam"><span class="type">bool </span><span class="parameter">save</span><span class="initializer"> = <span class="constant">true</span></span></span>);</code><p><code class="function">get_smtp_host()</code> returns in the buffer
pointed to by <code class="parameter">smtp_host</code> the name of the SMTP
host as currently configured. The buffer should be at lest
<code class="constant">B_MAX_HOST_NAME_LENGTH</code> bytes long.</p><p><code class="function">set_smtp_host()</code> sets the SMTP host through
which mail will be sent in the future to the specified host. If
<code class="parameter">save</code> is <code class="constant">true</code>, the new
setting becomes the default and will persist through a reboot of the
computer; otherwise, the change is only temporary.</p><table class="variablelist returncodes"><thead><tr><th>Return Code</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_OK</code></span></p></td><td><p>The notification was successfully set or retrieved.</p></td></tr><tr><td><p><span class="term"><code class="constant">B_NO_REPLY</code></span></p></td><td><p>The mail daemon didn't respond to the request.</p></td></tr></tbody></table></div><div class="section"><div xmlns="" xmlns:d="http://docbook.org/ns/docbook" class="titlepage"><div><hr /><div xmlns:d="http://docbook.org/ns/docbook"><h3 xmlns="http://www.w3.org/1999/xhtml" class="title"><a id="send_queued_mail"></a>send_queued_mail()</h3></div></div></div><a id="id1117323" class="indexterm"></a><code class="methodsynopsis c"><span class="type">status_t </span><span class="methodname">send_queued_mail</span>();</code><p>Tells the mail daemon to send all pending outgoing mail.</p><table class="variablelist returncodes"><thead><tr><th>Return Code</th><th>Description</th></tr></thead><tbody><tr><td><p><span class="term"><code class="constant">B_OK</code></span></p></td><td><p>Mail transfer intitiated successfully.</p></td></tr><tr><td><p><span class="term">Other Errors</span></p></td><td><p>From
<a class="link" href="BMessenger.html#BMessenger_SendMessage" title="SendMessage()"><code class="methodname">BMessenger::SendMessage()</code></a></p></td></tr></tbody></table></div></div><div id="footer"><hr /><div id="footerT">Prev: <a href="BMailMessage.html">BMailMessage</a>  Up: <a href="TheMailKit.html">The Mail Kit</a>  Next: <a href="TheMediaKit.html">The Media Kit</a> </div><div id="footerB"><div id="footerBL"><a href="BMailMessage.html" title="BMailMessage"><img src="./images/navigation/prev.png" alt="Prev" /></a> <a href="TheMailKit.html" title="The Mail Kit"><img src="./images/navigation/up.png" alt="Up" /></a> <a href="TheMediaKit.html" title="The Media Kit"><img src="./images/navigation/next.png" alt="Next" /></a></div><div id="footerBR"><div><a href="http://www.haiku-os.org"><img src="./images/People_24.png" alt="haiku-os.org" title="Visit The Haiku Website" /></a></div><div class="navighome" title="Home"><a accesskey="h" href="index.html"><img src="./images/navigation/home.png" alt="Home" /></a></div></div><div id="footerBC"><a href="http://www.access-company.com/home.html" title="ACCESS Co."><img alt="Access Company" src="./images/access_logo.png" /></a></div></div></div><div id="licenseFooter"><div id="licenseFooterBL"><a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/" title="Creative Commons License"><img alt="Creative Commons License" style="border-width:0" src="https://licensebuttons.net/l/by-nc-nd/3.0/88x31.png" /></a></div><div id="licenseFooterBR"><a href="./LegalNotice.html">Legal Notice</a></div><div id="licenseFooterBC"><span id="licenseText">This work is licensed under a
<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/3.0/">Creative
Commons Attribution-Non commercial-No Derivative Works 3.0 License</a>.</span></div></div></body></html>