<html>
<head>
<link rel="stylesheet" type="text/css" href="dox.css" />
<title>libapreq2-2.16: include/apreq_cookie.h File Reference</title>
</head>
<body>
<div id="page-header">
<p class="menu">
<a href="http://www.apache.org/">Apache Software Foundation</a> > <a href="http://httpd.apache.org">HTTP Server Project</a> >
<a href="http://httpd.apache.org/apreq/">Request Library Subproject</a></p>
<p class="apache">Apache HTTP Server Request Library</p>
<img alt="" src="feather.gif" /></div>
<!-- Generated by Doxygen 1.8.20 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
$(function() {
initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_d44c64559bbebec7f509842c48db8b23.html">include</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> |
<a href="#define-members">Macros</a> |
<a href="#typedef-members">Typedefs</a> |
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">apreq_cookie.h File Reference<div class="ingroups"><a class="el" href="group__libapreq2.html">Apache Request Library</a></div></div> </div>
</div><!--header-->
<div class="contents">
<p>Cookies and Jars.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include "<a class="el" href="apreq_8h_source.html">apreq.h</a>"</code><br />
<code>#include "apr_time.h"</code><br />
</div>
<p><a href="apreq__cookie_8h_source.html">Go to the source code of this file.</a></p>
<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  </td><td class="memItemRight" valign="bottom"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft"> </td><td class="mdescRight">Cookie type, supporting both Netscape and RFC cookie specifications. <a href="structapreq__cookie__t.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2"> </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:a681b8ef60cad05e684876d4dd2be043b"><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a681b8ef60cad05e684876d4dd2be043b">APREQ_COOKIE_MAX_LENGTH</a>   4096</td></tr>
<tr class="separator:a681b8ef60cad05e684876d4dd2be043b"><td class="memSeparator" colspan="2"> </td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a40b9ebd9bc37f9019c0091ee97c4c535"><td class="memItemLeft" align="right" valign="top"><a id="a40b9ebd9bc37f9019c0091ee97c4c535"></a>
typedef struct <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a40b9ebd9bc37f9019c0091ee97c4c535">apreq_cookie_t</a></td></tr>
<tr class="memdesc:a40b9ebd9bc37f9019c0091ee97c4c535"><td class="mdescLeft"> </td><td class="mdescRight">Cookie type, supporting both Netscape and RFC cookie specifications. <br /></td></tr>
<tr class="separator:a40b9ebd9bc37f9019c0091ee97c4c535"><td class="memSeparator" colspan="2"> </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:ab69d56f31d7c8f6f6f598a133817b46e"><td class="memItemLeft" align="right" valign="top">static APR_INLINE <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#ab69d56f31d7c8f6f6f598a133817b46e">apreq_value_to_cookie</a> (const char *val)</td></tr>
<tr class="separator:ab69d56f31d7c8f6f6f598a133817b46e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a04eaee766e51f143ff2ca4d8a0107004"><td class="memItemLeft" align="right" valign="top">static APR_INLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a04eaee766e51f143ff2ca4d8a0107004">apreq_cookie_version</a> (const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:a04eaee766e51f143ff2ca4d8a0107004"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aeff5b05ca6b935dd61dcc9da1a047546"><td class="memItemLeft" align="right" valign="top">static APR_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#aeff5b05ca6b935dd61dcc9da1a047546">apreq_cookie_version_set</a> (<a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c, unsigned v)</td></tr>
<tr class="separator:aeff5b05ca6b935dd61dcc9da1a047546"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a7553c7f54497ce30e1828082c98c813e"><td class="memItemLeft" align="right" valign="top">static APR_INLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a7553c7f54497ce30e1828082c98c813e">apreq_cookie_is_secure</a> (const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:a7553c7f54497ce30e1828082c98c813e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a1df7a1ba35cf4c47fc907f40b95fe5e4"><td class="memItemLeft" align="right" valign="top">static APR_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a1df7a1ba35cf4c47fc907f40b95fe5e4">apreq_cookie_secure_on</a> (<a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:a1df7a1ba35cf4c47fc907f40b95fe5e4"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ad9f4813b99b80801ba1dc11d0099ac10"><td class="memItemLeft" align="right" valign="top">static APR_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#ad9f4813b99b80801ba1dc11d0099ac10">apreq_cookie_secure_off</a> (<a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:ad9f4813b99b80801ba1dc11d0099ac10"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a61c3709414b9fe614e32587da8ee8e8a"><td class="memItemLeft" align="right" valign="top">static APR_INLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a61c3709414b9fe614e32587da8ee8e8a">apreq_cookie_is_httponly</a> (const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:a61c3709414b9fe614e32587da8ee8e8a"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:aa9a94a9b03dea7b286a9c4041d3c7e4e"><td class="memItemLeft" align="right" valign="top">static APR_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#aa9a94a9b03dea7b286a9c4041d3c7e4e">apreq_cookie_httponly_on</a> (<a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:aa9a94a9b03dea7b286a9c4041d3c7e4e"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a619cc2d56e20134e91bf1d31ab26bfec"><td class="memItemLeft" align="right" valign="top">static APR_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a619cc2d56e20134e91bf1d31ab26bfec">apreq_cookie_httponly_off</a> (<a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:a619cc2d56e20134e91bf1d31ab26bfec"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a08618139ba29e98cd2327de3f0e961fe"><td class="memItemLeft" align="right" valign="top">static APR_INLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a08618139ba29e98cd2327de3f0e961fe">apreq_cookie_is_tainted</a> (const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:a08618139ba29e98cd2327de3f0e961fe"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afeec2e0802ae883d4f2fda750b74ca55"><td class="memItemLeft" align="right" valign="top">static APR_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#afeec2e0802ae883d4f2fda750b74ca55">apreq_cookie_tainted_on</a> (<a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:afeec2e0802ae883d4f2fda750b74ca55"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:ac3b777e9709fa062ff978afef3867964"><td class="memItemLeft" align="right" valign="top">static APR_INLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#ac3b777e9709fa062ff978afef3867964">apreq_cookie_tainted_off</a> (<a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c)</td></tr>
<tr class="separator:ac3b777e9709fa062ff978afef3867964"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a113be08c01bc82605ec52d80c054cbf6"><td class="memItemLeft" align="right" valign="top">apr_status_t </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a113be08c01bc82605ec52d80c054cbf6">apreq_parse_cookie_header</a> (apr_pool_t *pool, apr_table_t *jar, const char *header)</td></tr>
<tr class="separator:a113be08c01bc82605ec52d80c054cbf6"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a53b5bb02baf7fb318cd643fb55820422"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a53b5bb02baf7fb318cd643fb55820422">apreq_cookie_make</a> (apr_pool_t *pool, const char *name, const apr_size_t nlen, const char *value, const apr_size_t vlen)</td></tr>
<tr class="separator:a53b5bb02baf7fb318cd643fb55820422"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a10c1d6639303c3f85fb5818d88e654d3"><td class="memItemLeft" align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a10c1d6639303c3f85fb5818d88e654d3">apreq_cookie_as_string</a> (const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c, apr_pool_t *p)</td></tr>
<tr class="separator:a10c1d6639303c3f85fb5818d88e654d3"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:afc06d8f5e4ee8530013c4f3c3b12e01f"><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#afc06d8f5e4ee8530013c4f3c3b12e01f">apreq_cookie_serialize</a> (const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c, char *buf, apr_size_t len)</td></tr>
<tr class="separator:afc06d8f5e4ee8530013c4f3c3b12e01f"><td class="memSeparator" colspan="2"> </td></tr>
<tr class="memitem:a8c6eb3c7c0f003bdc150d2ce99dacc7f"><td class="memItemLeft" align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="apreq__cookie_8h.html#a8c6eb3c7c0f003bdc150d2ce99dacc7f">apreq_cookie_expires</a> (<a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> *c, const char *time_str)</td></tr>
<tr class="separator:a8c6eb3c7c0f003bdc150d2ce99dacc7f"><td class="memSeparator" colspan="2"> </td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Cookies and Jars. </p>
<p><a class="el" href="apreq__cookie_8h.html" title="Cookies and Jars.">apreq_cookie.h</a> describes a common server-side API for request (incoming) and response (outgoing) cookies. It aims towards compliance with the standard cookie specifications listed below.</p>
<dl class="section see"><dt>See also</dt><dd><a href="http://wp.netscape.com/newsref/std/cookie_spec.html">http://wp.netscape.com/newsref/std/cookie_spec.html</a> </dd>
<dd>
<a href="http://www.ietf.org/rfc/rfc2109.txt">http://www.ietf.org/rfc/rfc2109.txt</a> </dd>
<dd>
<a href="http://www.ietf.org/rfc/rfc2964.txt">http://www.ietf.org/rfc/rfc2964.txt</a> </dd>
<dd>
<a href="http://www.ietf.org/rfc/rfc2965.txt">http://www.ietf.org/rfc/rfc2965.txt</a> </dd></dl>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="a681b8ef60cad05e684876d4dd2be043b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a681b8ef60cad05e684876d4dd2be043b">◆ </a></span>APREQ_COOKIE_MAX_LENGTH</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define APREQ_COOKIE_MAX_LENGTH   4096</td>
</tr>
</table>
</div><div class="memdoc">
<p>This macro is deprecated.</p>
<p>Maximum length of a single Set-Cookie(2) header. </p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="a10c1d6639303c3f85fb5818d88e654d3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10c1d6639303c3f85fb5818d88e654d3">◆ </a></span>apreq_cookie_as_string()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char* apreq_cookie_as_string </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_pool_t * </td>
<td class="paramname"><em>p</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a string that represents the cookie as it would appear in a valid "Set-Cookie*" header.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">c</td><td>cookie. </td></tr>
<tr><td class="paramname">p</td><td>pool which allocates the returned string.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>header string. </dd></dl>
</div>
</div>
<a id="a8c6eb3c7c0f003bdc150d2ce99dacc7f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c6eb3c7c0f003bdc150d2ce99dacc7f">◆ </a></span>apreq_cookie_expires()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void apreq_cookie_expires </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>time_str</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Set the Cookie's expiration date.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">c</td><td>The cookie. </td></tr>
<tr><td class="paramname">time_str</td><td>If NULL, the Cookie's expiration date is unset, making it a session cookie. This means no "expires" or "max-age" attribute will appear in the cookie's serialized form. If time_str is not NULL, the expiration date will be reset to the offset (from now) represented by time_str. The time_str should be in a format that <a class="el" href="apreq__util_8h.html#a4e838a92724aa7d9be0b978dc5c4e50c">apreq_atoi64t()</a> can understand, namely /[+-]?\d+\s*[YMDhms]/.</td></tr>
</table>
</dd>
</dl>
<dl class="section remark"><dt>Remarks</dt><dd>Now time_str may also be a fixed date; see apr_date_parse_rfc() for admissible formats. </dd></dl>
</div>
</div>
<a id="a619cc2d56e20134e91bf1d31ab26bfec"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a619cc2d56e20134e91bf1d31ab26bfec">◆ </a></span>apreq_cookie_httponly_off()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE void apreq_cookie_httponly_off </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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>Turns off the cookie's HttpOnly flag. </p>
</div>
</div>
<a id="aa9a94a9b03dea7b286a9c4041d3c7e4e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa9a94a9b03dea7b286a9c4041d3c7e4e">◆ </a></span>apreq_cookie_httponly_on()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE void apreq_cookie_httponly_on </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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>Sets the cookie's HttpOnly flag, meaning it is not accessible through client-side script in supported browsers. </p>
</div>
</div>
<a id="a61c3709414b9fe614e32587da8ee8e8a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a61c3709414b9fe614e32587da8ee8e8a">◆ </a></span>apreq_cookie_is_httponly()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE unsigned apreq_cookie_is_httponly </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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">
<dl class="section return"><dt>Returns</dt><dd>1 if the HttpOnly flag is set, 0 otherwise. </dd></dl>
</div>
</div>
<a id="a7553c7f54497ce30e1828082c98c813e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7553c7f54497ce30e1828082c98c813e">◆ </a></span>apreq_cookie_is_secure()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE unsigned apreq_cookie_is_secure </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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">
<dl class="section return"><dt>Returns</dt><dd>1 if the secure flag is set, 0 otherwise. </dd></dl>
</div>
</div>
<a id="a08618139ba29e98cd2327de3f0e961fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a08618139ba29e98cd2327de3f0e961fe">◆ </a></span>apreq_cookie_is_tainted()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE unsigned apreq_cookie_is_tainted </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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">
<dl class="section return"><dt>Returns</dt><dd>1 if the taint flag is set, 0 otherwise. </dd></dl>
</div>
</div>
<a id="a53b5bb02baf7fb318cd643fb55820422"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a53b5bb02baf7fb318cd643fb55820422">◆ </a></span>apreq_cookie_make()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a>* apreq_cookie_make </td>
<td>(</td>
<td class="paramtype">apr_pool_t * </td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>name</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const apr_size_t </td>
<td class="paramname"><em>nlen</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>value</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const apr_size_t </td>
<td class="paramname"><em>vlen</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Returns a new cookie, made from the argument list.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>Pool which allocates the cookie. </td></tr>
<tr><td class="paramname">name</td><td>The cookie's name. </td></tr>
<tr><td class="paramname">nlen</td><td>Length of name. </td></tr>
<tr><td class="paramname">value</td><td>The cookie's value. </td></tr>
<tr><td class="paramname">vlen</td><td>Length of value.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>the new cookie </dd></dl>
</div>
</div>
<a id="ad9f4813b99b80801ba1dc11d0099ac10"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9f4813b99b80801ba1dc11d0099ac10">◆ </a></span>apreq_cookie_secure_off()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE void apreq_cookie_secure_off </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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>Turns off the cookie's secure flag. </p>
</div>
</div>
<a id="a1df7a1ba35cf4c47fc907f40b95fe5e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1df7a1ba35cf4c47fc907f40b95fe5e4">◆ </a></span>apreq_cookie_secure_on()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE void apreq_cookie_secure_on </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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>Sets the cookie's secure flag, meaning it only comes back over an SSL-encrypted connction. </p>
</div>
</div>
<a id="afc06d8f5e4ee8530013c4f3c3b12e01f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afc06d8f5e4ee8530013c4f3c3b12e01f">◆ </a></span>apreq_cookie_serialize()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int apreq_cookie_serialize </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char * </td>
<td class="paramname"><em>buf</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_size_t </td>
<td class="paramname"><em>len</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Same functionality as apreq_cookie_as_string. Stores the string representation in buf, using up to len bytes in buf as storage. The return value has the same semantics as that of apr_snprintf, including the special behavior for a "len = 0" argument.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">c</td><td>cookie. </td></tr>
<tr><td class="paramname">buf</td><td>storage location for the result. </td></tr>
<tr><td class="paramname">len</td><td>size of buf's storage area.</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>size of resulting header string. </dd></dl>
</div>
</div>
<a id="ac3b777e9709fa062ff978afef3867964"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac3b777e9709fa062ff978afef3867964">◆ </a></span>apreq_cookie_tainted_off()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE void apreq_cookie_tainted_off </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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>Turns off the cookie's tainted flag. </p>
</div>
</div>
<a id="afeec2e0802ae883d4f2fda750b74ca55"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afeec2e0802ae883d4f2fda750b74ca55">◆ </a></span>apreq_cookie_tainted_on()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE void apreq_cookie_tainted_on </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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>Sets the cookie's tainted flag. </p>
</div>
</div>
<a id="a04eaee766e51f143ff2ca4d8a0107004"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a04eaee766e51f143ff2ca4d8a0107004">◆ </a></span>apreq_cookie_version()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE unsigned apreq_cookie_version </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</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">
<dl class="section return"><dt>Returns</dt><dd>1 if this is an RFC cookie, 0 if its a Netscape cookie. </dd></dl>
</div>
</div>
<a id="aeff5b05ca6b935dd61dcc9da1a047546"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aeff5b05ca6b935dd61dcc9da1a047546">◆ </a></span>apreq_cookie_version_set()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE void apreq_cookie_version_set </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a> * </td>
<td class="paramname"><em>c</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">unsigned </td>
<td class="paramname"><em>v</em> </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>Sets the cookie's protocol version. </p>
</div>
</div>
<a id="a113be08c01bc82605ec52d80c054cbf6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a113be08c01bc82605ec52d80c054cbf6">◆ </a></span>apreq_parse_cookie_header()</h2>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">apr_status_t apreq_parse_cookie_header </td>
<td>(</td>
<td class="paramtype">apr_pool_t * </td>
<td class="paramname"><em>pool</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">apr_table_t * </td>
<td class="paramname"><em>jar</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>header</em> </td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Parse a cookie header and store the cookies in an apr_table_t.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramname">pool</td><td>pool which allocates the cookies </td></tr>
<tr><td class="paramname">jar</td><td>table where parsed cookies are stored </td></tr>
<tr><td class="paramname">header</td><td>the header value</td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>APR_SUCCESS. </dd>
<dd>
<a class="el" href="apreq__error_8h.html#a73a69e21acc2cf849310a421ab43d2ba">APREQ_ERROR_BADSEQ</a> if an unparseable character sequence appears. </dd>
<dd>
<a class="el" href="apreq__error_8h.html#a33080081185585997ef9c5232ec4dd8f">APREQ_ERROR_MISMATCH</a> if an rfc-cookie attribute appears in a netscape cookie header. </dd>
<dd>
::APR_ENOTIMPL if an unrecognized rfc-cookie attribute appears. </dd>
<dd>
<a class="el" href="apreq__error_8h.html#a59be3610ba54a58fbb3cd6bb655ff972">APREQ_ERROR_NOTOKEN</a> if a required token was not present. </dd>
<dd>
<a class="el" href="apreq__error_8h.html#a04b6a01738a1ee7fd1ecc79d256e721f">APREQ_ERROR_BADCHAR</a> if an unexpected token was present. </dd></dl>
</div>
</div>
<a id="ab69d56f31d7c8f6f6f598a133817b46e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab69d56f31d7c8f6f6f598a133817b46e">◆ </a></span>apreq_value_to_cookie()</h2>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static APR_INLINE <a class="el" href="structapreq__cookie__t.html">apreq_cookie_t</a>* apreq_value_to_cookie </td>
<td>(</td>
<td class="paramtype">const char * </td>
<td class="paramname"><em>val</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>Upgrades a jar's table values to <a class="el" href="structapreq__cookie__t.html" title="Cookie type, supporting both Netscape and RFC cookie specifications.">apreq_cookie_t</a> structs. </p>
</div>
</div>
</div><!-- contents -->
<div id="footer">
<p class="apache">
Copyright © 2003-2006 <a href="http://www.apache.org">The Apache Software Foundation</a>.<br/>
See <a href="apreq_license.html">LICENSE</a>.</p>
<p class="menu">
<span style="color:#aaa">page generated by <a href="http://www.doxygen.org/"><code>doxygen</code></a>
version 1.8.20 on Wed Mar 10 2021</span>
</p>
</div>
</body>
</html>