summaryrefslogtreecommitdiff
path: root/apidocs/icalrecur_8c.html
diff options
context:
space:
mode:
authorAllen Winter <allen.winter@kdab.com>2014-09-26 17:04:59 -0400
committerAllen Winter <allen.winter@kdab.com>2014-09-26 17:04:59 -0400
commit783c08bf572924af599e0ab1396a310897924c95 (patch)
tree31117798a5fde034e3783024051b45517160344e /apidocs/icalrecur_8c.html
parent8364401e95ec796f4c54521969e67a068c85a380 (diff)
downloadlibical-git-783c08bf572924af599e0ab1396a310897924c95.tar.gz
api documentation, first version
Diffstat (limited to 'apidocs/icalrecur_8c.html')
-rw-r--r--apidocs/icalrecur_8c.html818
1 files changed, 818 insertions, 0 deletions
diff --git a/apidocs/icalrecur_8c.html b/apidocs/icalrecur_8c.html
new file mode 100644
index 00000000..554c5d44
--- /dev/null
+++ b/apidocs/icalrecur_8c.html
@@ -0,0 +1,818 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
+<meta http-equiv="X-UA-Compatible" content="IE=9"/>
+<meta name="generator" content="Doxygen 1.8.3.1"/>
+<title>Libical: icalrecur.c File Reference</title>
+<link href="tabs.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="jquery.js"></script>
+<script type="text/javascript" src="dynsections.js"></script>
+<link href="search/search.css" rel="stylesheet" type="text/css"/>
+<script type="text/javascript" src="search/search.js"></script>
+<script type="text/javascript">
+ $(document).ready(function() { searchBox.OnSelectItem(0); });
+</script>
+<link href="doxygen.css" rel="stylesheet" type="text/css" />
+</head>
+<body>
+<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
+<div id="titlearea">
+<table cellspacing="0" cellpadding="0">
+ <tbody>
+ <tr style="height: 56px;">
+ <td style="padding-left: 0.5em;">
+ <div id="projectname">Libical
+ &#160;<span id="projectnumber">1.0</span>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.3.1 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+ <div id="navrow1" class="tabs">
+ <ul class="tablist">
+ <li><a href="index.html"><span>Main&#160;Page</span></a></li>
+ <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
+ <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
+ <li class="current"><a href="files.html"><span>Files</span></a></li>
+ <li>
+ <div id="MSearchBox" class="MSearchBoxInactive">
+ <span class="left">
+ <img id="MSearchSelect" src="search/mag_sel.png"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ alt=""/>
+ <input type="text" id="MSearchField" value="Search" accesskey="S"
+ onfocus="searchBox.OnSearchFieldFocus(true)"
+ onblur="searchBox.OnSearchFieldFocus(false)"
+ onkeyup="searchBox.OnSearchFieldChange(event)"/>
+ </span><span class="right">
+ <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
+ </span>
+ </div>
+ </li>
+ </ul>
+ </div>
+ <div id="navrow2" class="tabs2">
+ <ul class="tablist">
+ <li><a href="files.html"><span>File&#160;List</span></a></li>
+ <li><a href="globals.html"><span>Globals</span></a></li>
+ </ul>
+ </div>
+<!-- window showing the filter options -->
+<div id="MSearchSelectWindow"
+ onmouseover="return searchBox.OnSearchSelectShow()"
+ onmouseout="return searchBox.OnSearchSelectHide()"
+ onkeydown="return searchBox.OnSearchSelectKey(event)">
+<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Pages</a></div>
+
+<!-- iframe showing the search results (closed by default) -->
+<div id="MSearchResultsWindow">
+<iframe src="javascript:void(0)" frameborder="0"
+ name="MSearchResults" id="MSearchResults">
+</iframe>
+</div>
+
+<div id="nav-path" class="navpath">
+ <ul>
+<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_b7a0ea939f6e83384f3c571d31a84be9.html">libical</a></li> </ul>
+</div>
+</div><!-- top -->
+<div class="header">
+ <div class="summary">
+<a href="#nested-classes">Data Structures</a> &#124;
+<a href="#define-members">Macros</a> &#124;
+<a href="#enum-members">Enumerations</a> &#124;
+<a href="#func-members">Functions</a> &#124;
+<a href="#var-members">Variables</a> </div>
+ <div class="headertitle">
+<div class="title">icalrecur.c File Reference</div> </div>
+</div><!--header-->
+<div class="contents">
+
+<p>Implementation of routines for dealing with recurring time.
+<a href="#details">More...</a></p>
+<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
+<code>#include &lt;stdarg.h&gt;</code><br/>
+<code>#include &lt;limits.h&gt;</code><br/>
+<code>#include &quot;<a class="el" href="icalrecur_8h_source.html">icalrecur.h</a>&quot;</code><br/>
+<code>#include &quot;icalerror.h&quot;</code><br/>
+<code>#include &quot;icalmemory.h&quot;</code><br/>
+<code>#include &lt;stdlib.h&gt;</code><br/>
+<code>#include &lt;errno.h&gt;</code><br/>
+<code>#include &lt;string.h&gt;</code><br/>
+<code>#include &lt;assert.h&gt;</code><br/>
+<code>#include &lt;stddef.h&gt;</code><br/>
+<code>#include &quot;pvl.h&quot;</code><br/>
+</div><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
+Data Structures</h2></td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structexpand__split__map__struct.html">expand_split_map_struct</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structicalrecur__iterator__impl.html">icalrecur_iterator_impl</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structicalrecur__parser.html">icalrecur_parser</a></td></tr>
+<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
+Macros</h2></td></tr>
+<tr class="memitem:a9cf3e49996efca157a44ddf050d17587"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9cf3e49996efca157a44ddf050d17587"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYDAYIDX</b>&#160;&#160;&#160;impl-&gt;by_indices[BY_DAY]</td></tr>
+<tr class="separator:a9cf3e49996efca157a44ddf050d17587"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a55db85bb11439b9d0db32611d5ffdf1f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a55db85bb11439b9d0db32611d5ffdf1f"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYDAYPTR</b>&#160;&#160;&#160;impl-&gt;by_ptrs[BY_DAY]</td></tr>
+<tr class="separator:a55db85bb11439b9d0db32611d5ffdf1f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab01fdc45bcda7728df3a82d37a160b27"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab01fdc45bcda7728df3a82d37a160b27"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYMDIDX</b>&#160;&#160;&#160;impl-&gt;by_indices[BY_MONTH_DAY]</td></tr>
+<tr class="separator:ab01fdc45bcda7728df3a82d37a160b27"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aae6b9beec9590c26a5a566d5812a146c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae6b9beec9590c26a5a566d5812a146c"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYMDPTR</b>&#160;&#160;&#160;impl-&gt;by_ptrs[BY_MONTH_DAY]</td></tr>
+<tr class="separator:aae6b9beec9590c26a5a566d5812a146c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1f35c03d273fda6efe1fcc874829213b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1f35c03d273fda6efe1fcc874829213b"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYMONIDX</b>&#160;&#160;&#160;impl-&gt;by_indices[BY_MONTH]</td></tr>
+<tr class="separator:a1f35c03d273fda6efe1fcc874829213b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a201c47ec9317d71295bab2bc6e909f79"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a201c47ec9317d71295bab2bc6e909f79"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYMONPTR</b>&#160;&#160;&#160;impl-&gt;by_ptrs[BY_MONTH]</td></tr>
+<tr class="separator:a201c47ec9317d71295bab2bc6e909f79"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a150dd0514071f2b28897656c3e87da61"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a150dd0514071f2b28897656c3e87da61"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYWEEKIDX</b>&#160;&#160;&#160;impl-&gt;by_indices[BY_WEEK_NO]</td></tr>
+<tr class="separator:a150dd0514071f2b28897656c3e87da61"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac6d2c721c7ba279662bc78a47d766b03"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac6d2c721c7ba279662bc78a47d766b03"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYWEEKPTR</b>&#160;&#160;&#160;impl-&gt;by_ptrs[BY_WEEK_NO]</td></tr>
+<tr class="separator:ac6d2c721c7ba279662bc78a47d766b03"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a626752c8779e0c793b31b816dba2efef"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a626752c8779e0c793b31b816dba2efef"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYYDIDX</b>&#160;&#160;&#160;impl-&gt;by_indices[BY_YEAR_DAY]</td></tr>
+<tr class="separator:a626752c8779e0c793b31b816dba2efef"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7ce50b044bf532a1c8220470985ee7ec"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7ce50b044bf532a1c8220470985ee7ec"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>BYYDPTR</b>&#160;&#160;&#160;impl-&gt;by_ptrs[BY_YEAR_DAY]</td></tr>
+<tr class="separator:a7ce50b044bf532a1c8220470985ee7ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a029eac024cf879ef0f0173d5bd139a67"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a029eac024cf879ef0f0173d5bd139a67"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>HBD</b>(x)&#160;&#160;&#160;has_by_data(impl,x)</td></tr>
+<tr class="separator:a029eac024cf879ef0f0173d5bd139a67"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a52a5e99e1bff7bae5f80a7d939e2858d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a52a5e99e1bff7bae5f80a7d939e2858d"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>is_bogus_date</b>(tt)&#160;&#160;&#160;(tt.day &gt; <a class="el" href="icaltime_8h.html#a99e9d9e26bea0231d23eb171990a1e8f">icaltime_days_in_month</a>(tt.month, tt.year))</td></tr>
+<tr class="separator:a52a5e99e1bff7bae5f80a7d939e2858d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a338642cc0e931bd6faa613b0b9d4bc51"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#a338642cc0e931bd6faa613b0b9d4bc51">MAX_TIME_T_YEAR</a>&#160;&#160;&#160;2037</td></tr>
+<tr class="separator:a338642cc0e931bd6faa613b0b9d4bc51"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9acb14595bfb9523655370c1bb477506"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9acb14595bfb9523655370c1bb477506"></a>
+#define&#160;</td><td class="memItemRight" valign="bottom"><b>TEMP_MAX</b>&#160;&#160;&#160;1024</td></tr>
+<tr class="separator:a9acb14595bfb9523655370c1bb477506"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
+Enumerations</h2></td></tr>
+<tr class="memitem:a88f444e929e550ba6ab7fb255aded9a2"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>byrule</b> { <br/>
+&#160;&#160;<b>NO_CONTRACTION</b> = -1,
+<b>BY_SECOND</b> = 0,
+<b>BY_MINUTE</b> = 1,
+<b>BY_HOUR</b> = 2,
+<br/>
+&#160;&#160;<b>BY_DAY</b> = 3,
+<b>BY_MONTH_DAY</b> = 4,
+<b>BY_YEAR_DAY</b> = 5,
+<b>BY_WEEK_NO</b> = 6,
+<br/>
+&#160;&#160;<b>BY_MONTH</b> = 7,
+<b>BY_SET_POS</b>
+<br/>
+ }</td></tr>
+<tr class="separator:a88f444e929e550ba6ab7fb255aded9a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9e40f889a9497463e352b302655f5c5d"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><b>expand_table</b> { <b>UNKNOWN</b> = 0,
+<b>CONTRACT</b> = 1,
+<b>EXPAND</b> =2,
+<b>ILLEGAL</b> =3
+ }</td></tr>
+<tr class="separator:a9e40f889a9497463e352b302655f5c5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
+Functions</h2></td></tr>
+<tr class="memitem:aa5d9b0128b7ac3d617ac5631144b69e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa5d9b0128b7ac3d617ac5631144b69e6"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>check_contract_restriction</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, enum byrule byrule, int v)</td></tr>
+<tr class="separator:aa5d9b0128b7ac3d617ac5631144b69e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6fba9eb61b039e2ac86b4fe1afb5fe98"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6fba9eb61b039e2ac86b4fe1afb5fe98"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>check_contracting_rules</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:a6fba9eb61b039e2ac86b4fe1afb5fe98"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:af0a99c19e869bf6c7ed1c05a0ffcc2e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af0a99c19e869bf6c7ed1c05a0ffcc2e5"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>check_set_position</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, int set_pos)</td></tr>
+<tr class="separator:af0a99c19e869bf6c7ed1c05a0ffcc2e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3502e7ebdf3684e314b67d4090c907d3"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="structpvl__list__t.html">pvl_list</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#a3502e7ebdf3684e314b67d4090c907d3">expand_by_day</a> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, int year)</td></tr>
+<tr class="separator:a3502e7ebdf3684e314b67d4090c907d3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab67dfc75e4365a4fd5398cf3b7134f23"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab67dfc75e4365a4fd5398cf3b7134f23"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>expand_year_days</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, int year)</td></tr>
+<tr class="separator:ab67dfc75e4365a4fd5398cf3b7134f23"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa90d2feeaddba0f1e3f25d4be7a6c923"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa90d2feeaddba0f1e3f25d4be7a6c923"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>has_by_data</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, enum byrule byrule)</td></tr>
+<tr class="separator:aa90d2feeaddba0f1e3f25d4be7a6c923"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa2a996ec5c164e9ae7f8a3f4d227cc88"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa2a996ec5c164e9ae7f8a3f4d227cc88"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_add_bydayrules</b> (struct <a class="el" href="structicalrecur__parser.html">icalrecur_parser</a> *parser, const char *vals)</td></tr>
+<tr class="separator:aa2a996ec5c164e9ae7f8a3f4d227cc88"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a589d841469c55014da66c9a316a85786"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a589d841469c55014da66c9a316a85786"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_add_byrules</b> (struct <a class="el" href="structicalrecur__parser.html">icalrecur_parser</a> *parser, short *array, int size, char *vals)</td></tr>
+<tr class="separator:a589d841469c55014da66c9a316a85786"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa4c03415268dc7ac103fc9e9036da10d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa4c03415268dc7ac103fc9e9036da10d"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_check_rulepart</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, int v, enum byrule byrule)</td></tr>
+<tr class="separator:aa4c03415268dc7ac103fc9e9036da10d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad488b902888b5f7abff063707b0aa802"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad488b902888b5f7abff063707b0aa802"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_clause_name_and_value</b> (struct <a class="el" href="structicalrecur__parser.html">icalrecur_parser</a> *parser, char **name, char **value)</td></tr>
+<tr class="separator:ad488b902888b5f7abff063707b0aa802"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a488780da8434731021af8d791b087b77"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#a488780da8434731021af8d791b087b77">icalrecur_expand_recurrence</a> (char *rule, time_t start, int count, time_t *array)</td></tr>
+<tr class="separator:a488780da8434731021af8d791b087b77"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9da9e474d8ae96d1eb833c045c9b6b8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9da9e474d8ae96d1eb833c045c9b6b8e"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_first_clause</b> (struct <a class="el" href="structicalrecur__parser.html">icalrecur_parser</a> *parser)</td></tr>
+<tr class="separator:a9da9e474d8ae96d1eb833c045c9b6b8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3b9e06ff25b276716636610c58e0abf2"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b9e06ff25b276716636610c58e0abf2"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_freq_to_string</b> (icalrecurrencetype_frequency kind)</td></tr>
+<tr class="separator:a3b9e06ff25b276716636610c58e0abf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a138381f68a7f9e80e490d630f2484b70"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#a138381f68a7f9e80e490d630f2484b70">icalrecur_iterator_free</a> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *i)</td></tr>
+<tr class="separator:a138381f68a7f9e80e490d630f2484b70"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3259c2b9b03763d8ee02868816d6261a"><td class="memItemLeft" align="right" valign="top"><a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#a3259c2b9b03763d8ee02868816d6261a">icalrecur_iterator_new</a> (struct <a class="el" href="structicalrecurrencetype.html">icalrecurrencetype</a> rule, struct <a class="el" href="structicaltimetype.html">icaltimetype</a> dtstart)</td></tr>
+<tr class="separator:a3259c2b9b03763d8ee02868816d6261a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad2d6bef31a3a7bbfb803df53ed895544"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structicaltimetype.html">icaltimetype</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#ad2d6bef31a3a7bbfb803df53ed895544">icalrecur_iterator_next</a> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:ad2d6bef31a3a7bbfb803df53ed895544"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a29bbb344b948d62471469876bed0fe5c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a29bbb344b948d62471469876bed0fe5c"></a>
+int&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_iterator_sizeof_byarray</b> (short *byarray)</td></tr>
+<tr class="separator:a29bbb344b948d62471469876bed0fe5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa7c180fcf772baae3ae80fef3fcdc23c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7c180fcf772baae3ae80fef3fcdc23c"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_next_clause</b> (struct <a class="el" href="structicalrecur__parser.html">icalrecur_parser</a> *parser)</td></tr>
+<tr class="separator:aa7c180fcf772baae3ae80fef3fcdc23c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aee1f2eda543d3187844b93845b8f8e4f"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#aee1f2eda543d3187844b93845b8f8e4f">icalrecur_one_byrule</a> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, enum byrule one)</td></tr>
+<tr class="separator:aee1f2eda543d3187844b93845b8f8e4f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a6011fe4f7973affecf45fd377de2b83a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6011fe4f7973affecf45fd377de2b83a"></a>
+icalrecurrencetype_frequency&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_string_to_freq</b> (const char *str)</td></tr>
+<tr class="separator:a6011fe4f7973affecf45fd377de2b83a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ad60e4e0c33acf7f90dbbf891e2326a8e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad60e4e0c33acf7f90dbbf891e2326a8e"></a>
+icalrecurrencetype_weekday&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_string_to_weekday</b> (const char *str)</td></tr>
+<tr class="separator:ad60e4e0c33acf7f90dbbf891e2326a8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0a45f9847b5bcec9d20c313e66f7c38c"><td class="memItemLeft" align="right" valign="top">static int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#a0a45f9847b5bcec9d20c313e66f7c38c">icalrecur_two_byrule</a> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, enum byrule one, enum byrule two)</td></tr>
+<tr class="separator:a0a45f9847b5bcec9d20c313e66f7c38c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a20b3fd7dfbcf3a75186714f59ddcb07a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20b3fd7dfbcf3a75186714f59ddcb07a"></a>
+const char *&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecur_weekday_to_string</b> (icalrecurrencetype_weekday kind)</td></tr>
+<tr class="separator:a20b3fd7dfbcf3a75186714f59ddcb07a"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a45f67a448ee73729ad1203276434ee52"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a45f67a448ee73729ad1203276434ee52"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecurrencetype_as_string</b> (struct <a class="el" href="structicalrecurrencetype.html">icalrecurrencetype</a> *recur)</td></tr>
+<tr class="separator:a45f67a448ee73729ad1203276434ee52"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a27204e0666e4e4e3b7d2ef0f159ac5a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a27204e0666e4e4e3b7d2ef0f159ac5a3"></a>
+char *&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecurrencetype_as_string_r</b> (struct <a class="el" href="structicalrecurrencetype.html">icalrecurrencetype</a> *recur)</td></tr>
+<tr class="separator:a27204e0666e4e4e3b7d2ef0f159ac5a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acee1aebd63b1631ce12469a646cb9ec8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acee1aebd63b1631ce12469a646cb9ec8"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>icalrecurrencetype_clear</b> (struct <a class="el" href="structicalrecurrencetype.html">icalrecurrencetype</a> *recur)</td></tr>
+<tr class="separator:acee1aebd63b1631ce12469a646cb9ec8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a96c160e7e6b16e0e369c540f2ee164c7"><td class="memItemLeft" align="right" valign="top">enum icalrecurrencetype_weekday&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#a96c160e7e6b16e0e369c540f2ee164c7">icalrecurrencetype_day_day_of_week</a> (short day)</td></tr>
+<tr class="separator:a96c160e7e6b16e0e369c540f2ee164c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa730e9ac327064456902076b718400f4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#aa730e9ac327064456902076b718400f4">icalrecurrencetype_day_position</a> (short day)</td></tr>
+<tr class="separator:aa730e9ac327064456902076b718400f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0e8ebcf355ba22299f553f8f5e657926"><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structicalrecurrencetype.html">icalrecurrencetype</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#a0e8ebcf355ba22299f553f8f5e657926">icalrecurrencetype_from_string</a> (const char *str)</td></tr>
+<tr class="separator:a0e8ebcf355ba22299f553f8f5e657926"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a14eca33b2647764b87b0f5702d68708e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14eca33b2647764b87b0f5702d68708e"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>increment_hour</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, int inc)</td></tr>
+<tr class="separator:a14eca33b2647764b87b0f5702d68708e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a1b222101e41e597f2f01160b18fd99cc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1b222101e41e597f2f01160b18fd99cc"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>increment_minute</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, int inc)</td></tr>
+<tr class="separator:a1b222101e41e597f2f01160b18fd99cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ace2ced056a0f2b91ef1c0aabd43684bb"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="icalrecur_8c.html#ace2ced056a0f2b91ef1c0aabd43684bb">increment_month</a> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:ace2ced056a0f2b91ef1c0aabd43684bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a2444129afb5062a14af1a3c4290fc935"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2444129afb5062a14af1a3c4290fc935"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>increment_monthday</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, int inc)</td></tr>
+<tr class="separator:a2444129afb5062a14af1a3c4290fc935"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a82e4b2bd20071855cf9cc26d00a069ca"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a82e4b2bd20071855cf9cc26d00a069ca"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>increment_second</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, int inc)</td></tr>
+<tr class="separator:a82e4b2bd20071855cf9cc26d00a069ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa30878b4b87245be7d69bb31ba4b759e"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa30878b4b87245be7d69bb31ba4b759e"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>increment_year</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, int inc)</td></tr>
+<tr class="separator:aa30878b4b87245be7d69bb31ba4b759e"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a09c9cb46169d38aa3ecc93079b8607db"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a09c9cb46169d38aa3ecc93079b8607db"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>is_day_in_byday</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, struct <a class="el" href="structicaltimetype.html">icaltimetype</a> tt)</td></tr>
+<tr class="separator:a09c9cb46169d38aa3ecc93079b8607db"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a71fdc29ec1c063cd63131d06f4a717d9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a71fdc29ec1c063cd63131d06f4a717d9"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>iso_week_number</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, struct <a class="el" href="structicaltimetype.html">icaltimetype</a> tt)</td></tr>
+<tr class="separator:a71fdc29ec1c063cd63131d06f4a717d9"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5b5b07f4c3962e14ecff23e2c727e6e5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5b5b07f4c3962e14ecff23e2c727e6e5"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>iso_weeks_in_year</b> (int year)</td></tr>
+<tr class="separator:a5b5b07f4c3962e14ecff23e2c727e6e5"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac3f92ef3fc28d85b6bf540fcf5246beb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3f92ef3fc28d85b6bf540fcf5246beb"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>next_day</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:ac3f92ef3fc28d85b6bf540fcf5246beb"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a8f29a230d1da96115f4a80a402c1ade0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8f29a230d1da96115f4a80a402c1ade0"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>next_hour</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:a8f29a230d1da96115f4a80a402c1ade0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aec9538225f0a53173f13d17c1c4b3b7d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aec9538225f0a53173f13d17c1c4b3b7d"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>next_minute</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:aec9538225f0a53173f13d17c1c4b3b7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a98c0736c3860156d76b993f4293416b8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a98c0736c3860156d76b993f4293416b8"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>next_month</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:a98c0736c3860156d76b993f4293416b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a5cbaeedd699f1645ef770bdb9bd9f024"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5cbaeedd699f1645ef770bdb9bd9f024"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>next_second</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:a5cbaeedd699f1645ef770bdb9bd9f024"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a9b30e65da77c32721119d20e3ed5115f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9b30e65da77c32721119d20e3ed5115f"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>next_week</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:a9b30e65da77c32721119d20e3ed5115f"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:abdd048f073baa24e7a72a9b94e4de800"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abdd048f073baa24e7a72a9b94e4de800"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>next_weekday_by_week</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:abdd048f073baa24e7a72a9b94e4de800"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac37b49cace0aa0953f976c4a43a4be73"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac37b49cace0aa0953f976c4a43a4be73"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>next_year</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl)</td></tr>
+<tr class="separator:ac37b49cace0aa0953f976c4a43a4be73"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ab666d0b944fc0918d2df8bb1b6b8f469"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab666d0b944fc0918d2df8bb1b6b8f469"></a>
+static int&#160;</td><td class="memItemRight" valign="bottom"><b>nth_weekday</b> (int dow, int pos, struct <a class="el" href="structicaltimetype.html">icaltimetype</a> t)</td></tr>
+<tr class="separator:ab666d0b944fc0918d2df8bb1b6b8f469"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a551fdeab503d792e5714b1b226681808"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a551fdeab503d792e5714b1b226681808"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>print_date_to_string</b> (char *str, struct <a class="el" href="structicaltimetype.html">icaltimetype</a> *data)</td></tr>
+<tr class="separator:a551fdeab503d792e5714b1b226681808"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7dbc85477c41fc79ac42f2ff3e69c11b"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7dbc85477c41fc79ac42f2ff3e69c11b"></a>
+void&#160;</td><td class="memItemRight" valign="bottom"><b>print_datetime_to_string</b> (char *str, struct <a class="el" href="structicaltimetype.html">icaltimetype</a> *data)</td></tr>
+<tr class="separator:a7dbc85477c41fc79ac42f2ff3e69c11b"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a0b552466aa46f72f902d614d11f1e527"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0b552466aa46f72f902d614d11f1e527"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>setup_defaults</b> (<a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *impl, enum byrule byrule, icalrecurrencetype_frequency req, int deftime, int *timepart)</td></tr>
+<tr class="separator:a0b552466aa46f72f902d614d11f1e527"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a7de87ec55be392a293b8cddda24df765"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7de87ec55be392a293b8cddda24df765"></a>
+static void&#160;</td><td class="memItemRight" valign="bottom"><b>sort_bydayrules</b> (struct <a class="el" href="structicalrecur__parser.html">icalrecur_parser</a> *parser)</td></tr>
+<tr class="separator:a7de87ec55be392a293b8cddda24df765"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table><table class="memberdecls">
+<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
+Variables</h2></td></tr>
+<tr class="memitem:a362bc2c864c43cc35e950f9ee9e439c1"><td class="memItemLeft" align="right" valign="top">static struct <br class="typebreak"/>
+<a class="el" href="structexpand__split__map__struct.html">expand_split_map_struct</a>&#160;</td><td class="memItemRight" valign="bottom"><b>expand_map</b> []</td></tr>
+<tr class="separator:a362bc2c864c43cc35e950f9ee9e439c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea6be7dcc2260c366e126f5a73850b0"><td class="memItemLeft" >struct {</td></tr>
+<tr class="memitem:a73373618a51d6bdd48084fc3a9de48b1"><td class="memItemLeft" >&#160;&#160;&#160;icalrecurrencetype_frequency&#160;&#160;&#160;<b>kind</b></td></tr>
+<tr class="separator:a73373618a51d6bdd48084fc3a9de48b1"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa783e9008b2555d2270a6b9d2ca1c0ad"><td class="memItemLeft" >&#160;&#160;&#160;const char *&#160;&#160;&#160;<b>str</b></td></tr>
+<tr class="separator:aa783e9008b2555d2270a6b9d2ca1c0ad"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aeea6be7dcc2260c366e126f5a73850b0"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>freq_map</b> []</td></tr>
+<tr class="separator:aeea6be7dcc2260c366e126f5a73850b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa822ddb99f9509d34c67310093bd0963"><td class="memItemLeft" >struct {</td></tr>
+<tr class="memitem:aba55c9dc8aaac9b265f90311ba2b0555"><td class="memItemLeft" >&#160;&#160;&#160;int&#160;&#160;&#160;<b>limit</b></td></tr>
+<tr class="separator:aba55c9dc8aaac9b265f90311ba2b0555"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac808dfb74ab2940b18ee5c363a344168"><td class="memItemLeft" >&#160;&#160;&#160;size_t&#160;&#160;&#160;<b>offset</b></td></tr>
+<tr class="separator:ac808dfb74ab2940b18ee5c363a344168"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a3f2dba35d26b41b22f209fe5c92ba332"><td class="memItemLeft" >&#160;&#160;&#160;const char *&#160;&#160;&#160;<b>str</b></td></tr>
+<tr class="separator:a3f2dba35d26b41b22f209fe5c92ba332"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:aa822ddb99f9509d34c67310093bd0963"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>recurmap</b> []</td></tr>
+<tr class="separator:aa822ddb99f9509d34c67310093bd0963"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a522f164e4b75e63576b06094ab692eee"><td class="memItemLeft" >struct {</td></tr>
+<tr class="memitem:a5f407d7d6869a420bca22afea2445915"><td class="memItemLeft" >&#160;&#160;&#160;const char *&#160;&#160;&#160;<b>str</b></td></tr>
+<tr class="separator:a5f407d7d6869a420bca22afea2445915"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a075a96f6e8f7bfa49003477c6b4b146c"><td class="memItemLeft" >&#160;&#160;&#160;icalrecurrencetype_weekday&#160;&#160;&#160;<b>wd</b></td></tr>
+<tr class="separator:a075a96f6e8f7bfa49003477c6b4b146c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:a522f164e4b75e63576b06094ab692eee"><td class="memItemLeft" valign="top">}&#160;</td><td class="memItemRight" valign="bottom"><b>wd_map</b> []</td></tr>
+<tr class="separator:a522f164e4b75e63576b06094ab692eee"><td class="memSeparator" colspan="2">&#160;</td></tr>
+</table>
+<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
+<div class="textblock"><p>Implementation of routines for dealing with recurring time. </p>
+<p>How this code works:</p>
+<p>Processing starts when the caller generates a new recurrence iterator via <a class="el" href="icalrecur_8h.html#a3259c2b9b03763d8ee02868816d6261a">icalrecur_iterator_new()</a>. This routine copies the recurrence rule into the iterator and extracts things like start and end dates. Then, it checks if the rule is legal, using some logic from RFC2445 and some logic that probably should be in RFC2445.</p>
+<p>Then, <a class="el" href="icalrecur_8h.html#a3259c2b9b03763d8ee02868816d6261a">icalrecur_iterator_new()</a> re-writes some of the BY* arrays. This involves ( via a call to setup_defaults() ) :</p>
+<p>1) For BY rule parts with no data ( ie BYSECOND was not specified ) copy the corresponding time part from DTSTART into the BY array. ( So impl-&gt;by_ptrs[BY_SECOND] will then have one element if is originally had none ) This only happens if the BY* rule part data would expand the number of occurrences in the occurrence set. This lets the code ignore DTSTART later on and still use it to get the time parts that were not specified in any other way.</p>
+<p>2) For the by rule part that are not the same interval as the frequency &ndash; for HOURLY anything but BYHOUR, for instance &ndash; copy the first data element from the rule part into the first occurrence. For example, for "INTERVAL=MONTHLY and BYHOUR=10,30", initialize the first time to be returned to have an hour of 10.</p>
+<p>Finally, for INTERVAL=YEARLY, the routine expands the rule to get all of the days specified in the rule. The code will do this for each new year, and this is the first expansion. This is a special case for the yearly interval; no other frequency gets expanded this way. The yearly interval is the most complex, so some special processing is required.</p>
+<p>After creating a new iterator, the caller will make successive calls to <a class="el" href="icalrecur_8h.html#a2e10af320612cd7ab8c6fb6177ade3e3">icalrecur_iterator_next()</a> to get the next time specified by the rule. The main part of this routine is a switch on the frequency of the rule. Each different frequency is handled by a different routine.</p>
+<p>For example, next_hour handles the case of INTERVAL=HOURLY, and it is called by other routines to get the next hour. First, the routine tries to get the next minute part of a time with a call to next_minute(). If next_minute() returns 1, it has reached the end of its data, usually the last element of the BYMINUTE array. Then, if there is data in the BYHOUR array, the routine changes the hour to the next one in the array. If INTERVAL=HOURLY, the routine advances the hour by the interval.</p>
+<p>If the routine used the last hour in the BYHOUR array, and the INTERVAL=HOURLY, then the routine calls increment_monthday() to set the next month day. The increment_* routines may call higher routine to increment the month or year also.</p>
+<p>The code for INTERVAL=DAILY is handled by next_day(). First, the routine tries to get the next hour part of a time with a call to next_hour. If next_hour() returns 1, it has reached the end of its data, usually the last element of the BYHOUR array. This means that next_day() should increment the time to the next day. If FREQUENCY==DAILY, the routine increments the day by the interval; otherwise, it increments the day by 1.</p>
+<p>Next_day() differs from next_hour because it does not use the BYDAY array to select an appropriate day. Instead, it returns every day ( incrementing by 1 if the frequency is not DAILY with INTERVAL!=1) Any days that are not specified in an non-empty BYDAY array are filtered out later.</p>
+<p>Generally, the flow of these routine is for a next_* call a next_* routine of a lower interval ( next_day calls next_hour) and then to possibly call an increment_* routine of an equal or higher interval. ( next_day calls increment_monthday() )</p>
+<p>When the call to the original next_* routine returns, <a class="el" href="icalrecur_8h.html#a2e10af320612cd7ab8c6fb6177ade3e3">icalrecur_iterator_next()</a> will check the returned data against other BYrule parts to determine if is should be excluded by calling check_contracting_rules. Generally, a contracting rule is any with a larger time span than the interval. For instance, if INTERVAL=DAILY, BYMONTH is a contracting rule part.</p>
+<p>Check_contracting_rules() uses icalrecur_check_rulepart() to do its work. icalrecur_check_rulepart() uses expand_map[] to determine if a rule is contracting, and if it is, and if the BY rule part has some data, then the routine checks if the value of a component of the time is part of the byrule part. For instance, for "INTERVAL=DAILY;
+ BYMONTH=6,10", icalrecur_check_rulepart() would check that the time value given to it has a month of either 6 or 10.</p>
+<p>Finally, <a class="el" href="icalrecur_8h.html#a2e10af320612cd7ab8c6fb6177ade3e3">icalrecur_iterator_next()</a> does a few other checks on the time value, and if it passes, it returns the time.</p>
+<p>A note about the end_of_data flag. The flag indicates that the routine is at the end of its data &ndash; the last BY rule if the routine is using by rules, or the last day of the week/month/year/etc if not.</p>
+<p>This flag is usually set early in a next_* routine and returned in the end. The way it is used allows the next_* routine to set the last time back to the first element in a BYxx rule, and then signal to the higer level routine to increment the next higher level. For instance. WITH FREQ=MONTHLY;BYDAY=TU,FR, After next_weekday_by_month runs though both TU and FR, it sets the week day back to TU and sets end_of_data to 1x. This signals next_month to increment the month. </p>
+<hr/>
+</div><h2 class="groupheader">Macro Definition Documentation</h2>
+<a class="anchor" id="a338642cc0e931bd6faa613b0b9d4bc51"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">#define MAX_TIME_T_YEAR&#160;&#160;&#160;2037</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>This is the last year we will go up to, since 32-bit time_t values only go up to the start of 2038. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Function Documentation</h2>
+<a class="anchor" id="a3502e7ebdf3684e314b67d4090c907d3"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static <a class="el" href="structpvl__list__t.html">pvl_list</a> expand_by_day </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *&#160;</td>
+ <td class="paramname"><em>impl</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>year</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Expand the BYDAY rule part and return a pointer to a newly allocated list of days. </p>
+
+</div>
+</div>
+<a class="anchor" id="a488780da8434731021af8d791b087b77"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int icalrecur_expand_recurrence </td>
+ <td>(</td>
+ <td class="paramtype">char *&#160;</td>
+ <td class="paramname"><em>rule</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">time_t&#160;</td>
+ <td class="paramname"><em>start</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">int&#160;</td>
+ <td class="paramname"><em>count</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">time_t *&#160;</td>
+ <td class="paramname"><em>array</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Fill an array with the 'count' number of occurrences generated by the rrule. Note that the times are returned in UTC, but the times are calculated in local time. YOu will have to convert the results back into local time before using them. </p>
+
+</div>
+</div>
+<a class="anchor" id="a138381f68a7f9e80e490d630f2484b70"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">void icalrecur_iterator_free </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Free the iterator </p>
+
+</div>
+</div>
+<a class="anchor" id="a3259c2b9b03763d8ee02868816d6261a"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname"><a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a>* icalrecur_iterator_new </td>
+ <td>(</td>
+ <td class="paramtype">struct <a class="el" href="structicalrecurrencetype.html">icalrecurrencetype</a>&#160;</td>
+ <td class="paramname"><em>rule</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">struct <a class="el" href="structicaltimetype.html">icaltimetype</a>&#160;</td>
+ <td class="paramname"><em>dtstart</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>Create a new recurrence rule iterator </p>
+
+</div>
+</div>
+<a class="anchor" id="ad2d6bef31a3a7bbfb803df53ed895544"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structicaltimetype.html">icaltimetype</a> icalrecur_iterator_next </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *&#160;</td>
+ <td class="paramname"></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">read</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Get the next occurrence from an iterator </p>
+
+</div>
+</div>
+<a class="anchor" id="aee1f2eda543d3187844b93845b8f8e4f"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static int icalrecur_one_byrule </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *&#160;</td>
+ <td class="paramname"><em>impl</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum byrule&#160;</td>
+ <td class="paramname"><em>one</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Check that the rule has only the one given interdat byrule parts. </p>
+
+</div>
+</div>
+<a class="anchor" id="a0a45f9847b5bcec9d20c313e66f7c38c"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static int icalrecur_two_byrule </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *&#160;</td>
+ <td class="paramname"><em>impl</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum byrule&#160;</td>
+ <td class="paramname"><em>one</em>, </td>
+ </tr>
+ <tr>
+ <td class="paramkey"></td>
+ <td></td>
+ <td class="paramtype">enum byrule&#160;</td>
+ <td class="paramname"><em>two</em>&#160;</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>)</td>
+ <td></td><td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Check that the rule has only the two given interday byrule parts. </p>
+
+</div>
+</div>
+<a class="anchor" id="a96c160e7e6b16e0e369c540f2ee164c7"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">enum icalrecurrencetype_weekday icalrecurrencetype_day_day_of_week </td>
+ <td>(</td>
+ <td class="paramtype">short&#160;</td>
+ <td class="paramname"><em>day</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>The 'day' element of icalrecurrencetype_weekday is encoded to allow representation of both the day of the week ( Monday, Tueday), but also the Nth day of the week ( First tuesday of the month, last thursday of the year) These routines decode the day values.</p>
+<p>The day's position in the period ( Nth-ness) and the numerical value of the day are encoded together as: pos*7 + dow</p>
+<p>A position of 0 means 'any' or 'every' </p>
+
+</div>
+</div>
+<a class="anchor" id="aa730e9ac327064456902076b718400f4"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">int icalrecurrencetype_day_position </td>
+ <td>(</td>
+ <td class="paramtype">short&#160;</td>
+ <td class="paramname"><em>day</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<p>0 == any of day of week. 1 == first, 2 = second, -2 == second to last, etc </p>
+
+</div>
+</div>
+<a class="anchor" id="a0e8ebcf355ba22299f553f8f5e657926"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structicalrecurrencetype.html">icalrecurrencetype</a> icalrecurrencetype_from_string </td>
+ <td>(</td>
+ <td class="paramtype">const char *&#160;</td>
+ <td class="paramname"><em>str</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">read</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Recurrance rule parser Convert between strings and recurrencetype structures. </p>
+
+</div>
+</div>
+<a class="anchor" id="ace2ced056a0f2b91ef1c0aabd43684bb"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">static void increment_month </td>
+ <td>(</td>
+ <td class="paramtype"><a class="el" href="icalrecur_8h.html#a15b0ec0400bb64fcfd625d5a5511db7f">icalrecur_iterator</a> *&#160;</td>
+ <td class="paramname"><em>impl</em></td><td>)</td>
+ <td></td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<p>Increment month is different that the other incement_* routines &ndash; it figures out the interval for itself, and uses BYMONTH data if available. </p>
+
+</div>
+</div>
+<h2 class="groupheader">Variable Documentation</h2>
+<a class="anchor" id="a362bc2c864c43cc35e950f9ee9e439c1"></a>
+<div class="memitem">
+<div class="memproto">
+<table class="mlabels">
+ <tr>
+ <td class="mlabels-left">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct <a class="el" href="structexpand__split__map__struct.html">expand_split_map_struct</a> expand_map[]</td>
+ </tr>
+ </table>
+ </td>
+ <td class="mlabels-right">
+<span class="mlabels"><span class="mlabel">static</span></span> </td>
+ </tr>
+</table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">=</div>
+<div class="line">{</div>
+<div class="line"> {ICAL_SECONDLY_RECURRENCE,{1,1,1,1,1,1,1,1}},</div>
+<div class="line"> {ICAL_MINUTELY_RECURRENCE,{2,1,1,1,1,1,1,1}},</div>
+<div class="line"> {ICAL_HOURLY_RECURRENCE, {2,2,1,1,1,1,1,1}},</div>
+<div class="line"> {ICAL_DAILY_RECURRENCE, {2,2,2,1,1,1,1,1}},</div>
+<div class="line"> {ICAL_WEEKLY_RECURRENCE, {2,2,2,2,3,3,1,1}},</div>
+<div class="line"> {ICAL_MONTHLY_RECURRENCE, {2,2,2,2,2,3,3,1}},</div>
+<div class="line"> {ICAL_YEARLY_RECURRENCE, {2,2,2,2,2,2,2,2}},</div>
+<div class="line"> {ICAL_NO_RECURRENCE, {0,0,0,0,0,0,0,0}}</div>
+<div class="line"></div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aeea6be7dcc2260c366e126f5a73850b0"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct { ... } freq_map[]</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
+<div class="line"> {ICAL_SECONDLY_RECURRENCE,<span class="stringliteral">&quot;SECONDLY&quot;</span>},</div>
+<div class="line"> {ICAL_MINUTELY_RECURRENCE,<span class="stringliteral">&quot;MINUTELY&quot;</span>},</div>
+<div class="line"> {ICAL_HOURLY_RECURRENCE,<span class="stringliteral">&quot;HOURLY&quot;</span>},</div>
+<div class="line"> {ICAL_DAILY_RECURRENCE,<span class="stringliteral">&quot;DAILY&quot;</span>},</div>
+<div class="line"> {ICAL_WEEKLY_RECURRENCE,<span class="stringliteral">&quot;WEEKLY&quot;</span>},</div>
+<div class="line"> {ICAL_MONTHLY_RECURRENCE,<span class="stringliteral">&quot;MONTHLY&quot;</span>},</div>
+<div class="line"> {ICAL_YEARLY_RECURRENCE,<span class="stringliteral">&quot;YEARLY&quot;</span>},</div>
+<div class="line"> {ICAL_NO_RECURRENCE,0}</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="aa822ddb99f9509d34c67310093bd0963"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct { ... } recurmap[]</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= </div>
+<div class="line">{</div>
+<div class="line"> {<span class="stringliteral">&quot;;BYSECOND=&quot;</span>,offsetof(<span class="keyword">struct</span> <a class="code" href="structicalrecurrencetype.html">icalrecurrencetype</a>,by_second), 61 - 1},</div>
+<div class="line"> {<span class="stringliteral">&quot;;BYMINUTE=&quot;</span>,offsetof(<span class="keyword">struct</span> <a class="code" href="structicalrecurrencetype.html">icalrecurrencetype</a>,by_minute), 61 - 1},</div>
+<div class="line"> {<span class="stringliteral">&quot;;BYHOUR=&quot;</span>,offsetof(<span class="keyword">struct</span> <a class="code" href="structicalrecurrencetype.html">icalrecurrencetype</a>,by_hour), 25 - 1},</div>
+<div class="line"> {<span class="stringliteral">&quot;;BYDAY=&quot;</span>,offsetof(<span class="keyword">struct</span> <a class="code" href="structicalrecurrencetype.html">icalrecurrencetype</a>,by_day), 364 - 1},</div>
+<div class="line"> {<span class="stringliteral">&quot;;BYMONTHDAY=&quot;</span>,offsetof(<span class="keyword">struct</span> <a class="code" href="structicalrecurrencetype.html">icalrecurrencetype</a>,by_month_day), 32 - 1},</div>
+<div class="line"> {<span class="stringliteral">&quot;;BYYEARDAY=&quot;</span>,offsetof(<span class="keyword">struct</span> <a class="code" href="structicalrecurrencetype.html">icalrecurrencetype</a>,by_year_day), 367 - 1},</div>
+<div class="line"> {<span class="stringliteral">&quot;;BYWEEKNO=&quot;</span>,offsetof(<span class="keyword">struct</span> <a class="code" href="structicalrecurrencetype.html">icalrecurrencetype</a>,by_week_no), 54 - 1},</div>
+<div class="line"> {<span class="stringliteral">&quot;;BYMONTH=&quot;</span>,offsetof(<span class="keyword">struct</span> <a class="code" href="structicalrecurrencetype.html">icalrecurrencetype</a>,by_month), 13 - 1},</div>
+<div class="line"> {<span class="stringliteral">&quot;;BYSETPOS=&quot;</span>,offsetof(<span class="keyword">struct</span> <a class="code" href="structicalrecurrencetype.html">icalrecurrencetype</a>,by_set_pos), 367 - 1},</div>
+<div class="line"> {0,0,0},</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+<a class="anchor" id="a522f164e4b75e63576b06094ab692eee"></a>
+<div class="memitem">
+<div class="memproto">
+ <table class="memname">
+ <tr>
+ <td class="memname">struct { ... }
+ wd_map[]</td>
+ </tr>
+ </table>
+</div><div class="memdoc">
+<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
+<div class="line"> {ICAL_SUNDAY_WEEKDAY,<span class="stringliteral">&quot;SU&quot;</span>},</div>
+<div class="line"> {ICAL_MONDAY_WEEKDAY,<span class="stringliteral">&quot;MO&quot;</span>},</div>
+<div class="line"> {ICAL_TUESDAY_WEEKDAY,<span class="stringliteral">&quot;TU&quot;</span>},</div>
+<div class="line"> {ICAL_WEDNESDAY_WEEKDAY,<span class="stringliteral">&quot;WE&quot;</span>},</div>
+<div class="line"> {ICAL_THURSDAY_WEEKDAY,<span class="stringliteral">&quot;TH&quot;</span>},</div>
+<div class="line"> {ICAL_FRIDAY_WEEKDAY,<span class="stringliteral">&quot;FR&quot;</span>},</div>
+<div class="line"> {ICAL_SATURDAY_WEEKDAY,<span class="stringliteral">&quot;SA&quot;</span>},</div>
+<div class="line"> {ICAL_NO_WEEKDAY,0}</div>
+<div class="line">}</div>
+</div><!-- fragment -->
+</div>
+</div>
+</div><!-- contents -->
+<!-- start footer part -->
+<hr class="footer"/><address class="footer"><small>
+Generated by &#160;<a href="http://www.doxygen.org/index.html">
+<img class="footer" src="doxygen.png" alt="doxygen"/>
+</a> 1.8.3.1
+</small></address>
+</body>
+</html>