The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
<html>
<head>
  <link rel="stylesheet" type="text/css" href="dox.css" />
  <title>libapreq2-2.13: libapreq2: include/apreq_util.h Source File</title> 
</head>
<body>
<div id="page-header">
<p class="menu">
   <a href="http://www.apache.org/">Apache Software Foundation</a> &gt; <a href="http://httpd.apache.org">HTTP Server Project</a> &gt;
<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.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
      <li><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
<h1>include/apreq_util.h</h1><a href="apreq__util_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
<a name="l00002"></a>00002 <span class="comment">**  Licensed to the Apache Software Foundation (ASF) under one or more</span>
<a name="l00003"></a>00003 <span class="comment">** contributor license agreements.  See the NOTICE file distributed with</span>
<a name="l00004"></a>00004 <span class="comment">** this work for additional information regarding copyright ownership.</span>
<a name="l00005"></a>00005 <span class="comment">** The ASF licenses this file to You under the Apache License, Version 2.0</span>
<a name="l00006"></a>00006 <span class="comment">** (the "License"); you may not use this file except in compliance with</span>
<a name="l00007"></a>00007 <span class="comment">** the License.  You may obtain a copy of the License at</span>
<a name="l00008"></a>00008 <span class="comment">**</span>
<a name="l00009"></a>00009 <span class="comment">**      http://www.apache.org/licenses/LICENSE-2.0</span>
<a name="l00010"></a>00010 <span class="comment">**</span>
<a name="l00011"></a>00011 <span class="comment">**  Unless required by applicable law or agreed to in writing, software</span>
<a name="l00012"></a>00012 <span class="comment">**  distributed under the License is distributed on an "AS IS" BASIS,</span>
<a name="l00013"></a>00013 <span class="comment">**  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
<a name="l00014"></a>00014 <span class="comment">**  See the License for the specific language governing permissions and</span>
<a name="l00015"></a>00015 <span class="comment">**  limitations under the License.</span>
<a name="l00016"></a>00016 <span class="comment">*/</span>
<a name="l00017"></a>00017 
<a name="l00018"></a>00018 <span class="preprocessor">#ifndef APREQ_UTIL_H</span>
<a name="l00019"></a>00019 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_UTIL_H</span>
<a name="l00020"></a>00020 <span class="preprocessor"></span>
<a name="l00021"></a>00021 <span class="preprocessor">#include "<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/apr__file__io_8h.html">apr_file_io.h</a>"</span>
<a name="l00022"></a>00022 <span class="preprocessor">#include "<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/apr__buckets_8h.html">apr_buckets.h</a>"</span>
<a name="l00023"></a>00023 <span class="preprocessor">#include "<a class="code" href="apreq_8h.html" title="Main header file...Define the generic APREQ_ macros and common data structures.">apreq.h</a>"</span>
<a name="l00024"></a>00024 
<a name="l00025"></a>00025 <span class="preprocessor">#ifdef  __cplusplus</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
<a name="l00027"></a>00027 <span class="preprocessor">#endif</span>
<a name="l00028"></a>00028 <span class="preprocessor"></span>
<a name="l00053"></a>00053 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<span class="keywordtype">char</span> *) <a class="code" href="apreq__util_8h.html#1aa668dc806fce4bd0fef348d1601930">apreq_join</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p,
<a name="l00054"></a>00054                                  const <span class="keywordtype">char</span> *sep,
<a name="l00055"></a>00055                                  const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/structapr__array__header__t.html">apr_array_header_t</a> *arr,
<a name="l00056"></a>00056                                  <a class="code" href="apreq_8h.html#c3784c04255e92629350505d35b0473e">apreq_join_t</a> mode);
<a name="l00057"></a>00057 
<a name="l00070"></a>00070 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#g215ebb88932bee220b766263ebbfe6fa">apr_ssize_t</a>) <a class="code" href="apreq__util_8h.html#c72c51ffe478faa804eaea5f68276dd8">apreq_index</a>(const <span class="keywordtype">char</span>* hay, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> hlen,
<a name="l00071"></a>00071                                        const <span class="keywordtype">char</span>* ndl, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> nlen,
<a name="l00072"></a>00072                                        const <a class="code" href="apreq_8h.html#590d7bfd9cd294f652d388c4f37fc8d5">apreq_match_t</a> type);
<a name="l00073"></a>00073 
<a name="l00086"></a>00086 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#b4aa9bed839bb576444f464666e0bd85">apreq_quote</a>(<span class="keywordtype">char</span> *dest, const <span class="keywordtype">char</span> *src,
<a name="l00087"></a>00087                                       const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> slen);
<a name="l00088"></a>00088 
<a name="l00102"></a>00102 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#fef8b7af9d36b0f7ec24e9d0f64a29a7">apreq_quote_once</a>(<span class="keywordtype">char</span> *dest, const <span class="keywordtype">char</span> *src,
<a name="l00103"></a>00103                                            const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> slen);
<a name="l00104"></a>00104 
<a name="l00115"></a>00115 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#034ccdfdcf751be6c0f8c2a1d30c2ae6">apreq_encode</a>(<span class="keywordtype">char</span> *dest, const <span class="keywordtype">char</span> *src,
<a name="l00116"></a>00116                                        const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> slen);
<a name="l00117"></a>00117 
<a name="l00129"></a>00129 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a>) <a class="code" href="apreq__util_8h.html#801aa204656988ff4aa32cec6dd80e5a">apreq_cp1252_to_utf8</a>(<span class="keywordtype">char</span> *dest,
<a name="l00130"></a>00130                                                const <span class="keywordtype">char</span> *src, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> slen);
<a name="l00131"></a>00131 
<a name="l00143"></a>00143 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="code" href="apreq_8h.html#6607dfa756796989c15014870b48c8cd">apreq_charset_t</a>) <a class="code" href="apreq__util_8h.html#e11e0b3e2304a2e8c30aaa464ea78037">apreq_charset_divine</a>(const <span class="keywordtype">char</span> *src,
<a name="l00144"></a>00144                                                     <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> slen);
<a name="l00145"></a>00145 
<a name="l00166"></a>00166 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#3c1d46b8c0e7991ae1ced0178c2f4738">apreq_decode</a>(<span class="keywordtype">char</span> *dest, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> *dlen,
<a name="l00167"></a>00167                                          const <span class="keywordtype">char</span> *src, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> slen);
<a name="l00168"></a>00168 
<a name="l00189"></a>00189 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#13a090a30a4d05353caabab92a67179d">apreq_decodev</a>(<span class="keywordtype">char</span> *dest, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> *dlen,
<a name="l00190"></a>00190                                           struct iovec *v, <span class="keywordtype">int</span> nelts);
<a name="l00191"></a>00191 
<a name="l00204"></a>00204 static APR_INLINE
<a name="l00205"></a><a class="code" href="apreq__util_8h.html#785be2ceae273b0a7b2ffda223b2ebae">00205</a> <span class="keywordtype">char</span> *<a class="code" href="apreq__util_8h.html#785be2ceae273b0a7b2ffda223b2ebae">apreq_escape</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p, const <span class="keywordtype">char</span> *src, const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> slen)
<a name="l00206"></a>00206 {
<a name="l00207"></a>00207     <span class="keywordtype">char</span> *rv;
<a name="l00208"></a>00208 
<a name="l00209"></a>00209     <span class="keywordflow">if</span> (src == NULL)
<a name="l00210"></a>00210         <span class="keywordflow">return</span> NULL;
<a name="l00211"></a>00211 
<a name="l00212"></a>00212     rv = (<span class="keywordtype">char</span> *)<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#g85f1e193c31d109affda72f9a92c6915">apr_palloc</a>(p, 3 * slen + 1);
<a name="l00213"></a>00213     <a class="code" href="apreq__util_8h.html#034ccdfdcf751be6c0f8c2a1d30c2ae6">apreq_encode</a>(rv, src, slen);
<a name="l00214"></a>00214     <span class="keywordflow">return</span> rv;
<a name="l00215"></a>00215 }
<a name="l00216"></a>00216 
<a name="l00224"></a><a class="code" href="apreq__util_8h.html#979c0af9322189581bde4644eec5fd41">00224</a> <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gada0f3e7bf27ea51795c2c27c20aee84">APR_INLINE</a> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#g215ebb88932bee220b766263ebbfe6fa">apr_ssize_t</a> <a class="code" href="apreq__util_8h.html#979c0af9322189581bde4644eec5fd41">apreq_unescape</a>(<span class="keywordtype">char</span> *str)
<a name="l00225"></a>00225 {
<a name="l00226"></a>00226     <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> len;
<a name="l00227"></a>00227     <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> rv = <a class="code" href="apreq__util_8h.html#3c1d46b8c0e7991ae1ced0178c2f4738">apreq_decode</a>(str, &amp;len, str, strlen(str));
<a name="l00228"></a>00228     <span class="keywordflow">if</span> (rv == <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>)
<a name="l00229"></a>00229         <span class="keywordflow">return</span> (<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#g215ebb88932bee220b766263ebbfe6fa">apr_ssize_t</a>)len;
<a name="l00230"></a>00230     <span class="keywordflow">else</span>
<a name="l00231"></a>00231         <span class="keywordflow">return</span> -1;
<a name="l00232"></a>00232 }
<a name="l00233"></a>00233 
<a name="l00245"></a>00245 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#g616cbaaadee33420d47071209fc30052">apr_int64_t</a>) <a class="code" href="apreq__util_8h.html#69acb9425572cb8f694d49277160b1f7">apreq_atoi64f</a>(const <span class="keywordtype">char</span> *s);
<a name="l00246"></a>00246 
<a name="l00258"></a>00258 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#g616cbaaadee33420d47071209fc30052">apr_int64_t</a>) <a class="code" href="apreq__util_8h.html#4e838a92724aa7d9be0b978dc5c4e50c">apreq_atoi64t</a>(const <span class="keywordtype">char</span> *s);
<a name="l00259"></a>00259 
<a name="l00277"></a>00277 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#3bbe5ee2d1537c6a9f30d0fed9f5f1e1">apreq_brigade_fwrite</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__file__io.html#ga46e4763ac375ea3c7a43ba6f6099e22">apr_file_t</a> *f,
<a name="l00278"></a>00278                                                  <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#g5e189bcae807cf93466aa5c905726edd">apr_off_t</a> *wlen,
<a name="l00279"></a>00279                                                  <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb);
<a name="l00296"></a>00296 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#b266a81c528de92654eb37f9890c4a7d">apreq_file_mktemp</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__file__io.html#ga46e4763ac375ea3c7a43ba6f6099e22">apr_file_t</a> **fp,
<a name="l00297"></a>00297                                               <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool,
<a name="l00298"></a>00298                                               const <span class="keywordtype">char</span> *path);
<a name="l00299"></a>00299 
<a name="l00309"></a>00309 static APR_INLINE
<a name="l00310"></a><a class="code" href="apreq__util_8h.html#91f3144692934b2daf54fb3c9ca7b180">00310</a> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> <a class="code" href="apreq__util_8h.html#91f3144692934b2daf54fb3c9ca7b180">apreq_brigade_setaside</a>(<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *p)
<a name="l00311"></a>00311 {
<a name="l00312"></a>00312     <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket.html">apr_bucket</a> *e;
<a name="l00313"></a>00313     <span class="keywordflow">for</span> (e = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#gb5826a11eb6ba90786a94282f806c230">APR_BRIGADE_FIRST</a>(bb); e != <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#g858da66dccab1e063415678bb115788a">APR_BRIGADE_SENTINEL</a>(bb);
<a name="l00314"></a>00314          e = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#g7171f690b203d548a5b6ae0b079068d8">APR_BUCKET_NEXT</a>(e))
<a name="l00315"></a>00315     {
<a name="l00316"></a>00316         <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> rv = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#gb00941ffd472982693eb415a964de7af">apr_bucket_setaside</a>(e, p);
<a name="l00317"></a>00317         <span class="keywordflow">if</span> (rv != <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>)
<a name="l00318"></a>00318             <span class="keywordflow">return</span> rv;
<a name="l00319"></a>00319     }
<a name="l00320"></a>00320     <span class="keywordflow">return</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>;
<a name="l00321"></a>00321 }
<a name="l00322"></a>00322 
<a name="l00323"></a>00323 
<a name="l00336"></a>00336 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gada0f3e7bf27ea51795c2c27c20aee84">APR_INLINE</a>
<a name="l00337"></a><a class="code" href="apreq__util_8h.html#b4def9e77622cf22cfa427e7fbf2ac45">00337</a> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> <a class="code" href="apreq__util_8h.html#b4def9e77622cf22cfa427e7fbf2ac45">apreq_brigade_copy</a>(<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *d, <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *s) {
<a name="l00338"></a>00338     <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket.html">apr_bucket</a> *e;
<a name="l00339"></a>00339     <span class="keywordflow">for</span> (e = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#gb5826a11eb6ba90786a94282f806c230">APR_BRIGADE_FIRST</a>(s); e != <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#g858da66dccab1e063415678bb115788a">APR_BRIGADE_SENTINEL</a>(s);
<a name="l00340"></a>00340          e = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#g7171f690b203d548a5b6ae0b079068d8">APR_BUCKET_NEXT</a>(e))
<a name="l00341"></a>00341     {
<a name="l00342"></a>00342         <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket.html">apr_bucket</a> *c;
<a name="l00343"></a>00343         <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a> rv = <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#gb33cc08b7f064d06397f312e427279c3">apr_bucket_copy</a>(e, &amp;c);
<a name="l00344"></a>00344         <span class="keywordflow">if</span> (rv != <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>)
<a name="l00345"></a>00345             <span class="keywordflow">return</span> rv;
<a name="l00346"></a>00346 
<a name="l00347"></a>00347         <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#g5447595f8374296c5ffe208db39b2f5d">APR_BRIGADE_INSERT_TAIL</a>(d, c);
<a name="l00348"></a>00348     }
<a name="l00349"></a>00349     <span class="keywordflow">return</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#g9ee311b7bf1c691dc521d721339ee2a6">APR_SUCCESS</a>;
<a name="l00350"></a>00350 }
<a name="l00351"></a>00351 
<a name="l00363"></a>00363 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gada0f3e7bf27ea51795c2c27c20aee84">APR_INLINE</a>
<a name="l00364"></a><a class="code" href="apreq__util_8h.html#a23561a0d169b50454a815926ccc0ba5">00364</a> <span class="keywordtype">void</span> <a class="code" href="apreq__util_8h.html#a23561a0d169b50454a815926ccc0ba5">apreq_brigade_move</a>(<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *d, <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *s,
<a name="l00365"></a>00365                         <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket.html">apr_bucket</a> *e)
<a name="l00366"></a>00366 {
<a name="l00367"></a>00367     <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket.html">apr_bucket</a> *f;
<a name="l00368"></a>00368 
<a name="l00369"></a>00369     <span class="keywordflow">if</span> (e != <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#g858da66dccab1e063415678bb115788a">APR_BRIGADE_SENTINEL</a>(s)) {
<a name="l00370"></a>00370         f = <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__ring.html#gcacd9cfca24feb7ff754d4008422efcb">APR_RING_FIRST</a>(&amp;s-&gt;list);
<a name="l00371"></a>00371         <span class="keywordflow">if</span> (f == e) <span class="comment">/* zero buckets to be moved */</span>
<a name="l00372"></a>00372             <span class="keywordflow">return</span>;
<a name="l00373"></a>00373 
<a name="l00374"></a>00374         <span class="comment">/* obtain the last bucket to be moved */</span>
<a name="l00375"></a>00375         e = <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__ring.html#g82d45623d505d59ea5619cf8f63d0ebb">APR_RING_PREV</a>(e, link);
<a name="l00376"></a>00376 
<a name="l00377"></a>00377         <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__ring.html#g1d725b0a9ea7ff88f771e37ec130c13b">APR_RING_UNSPLICE</a>(f, e, link);
<a name="l00378"></a>00378         <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__ring.html#g592e71a7cf219fc70f4fc47c60ef4c64">APR_RING_SPLICE_HEAD</a>(&amp;d-&gt;list, f, e, <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket.html">apr_bucket</a>, link);
<a name="l00379"></a>00379     }
<a name="l00380"></a>00380     <span class="keywordflow">else</span> {
<a name="l00381"></a>00381         <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/group___a_p_r___util___bucket___brigades.html#g7cecbc89be912ce9ab24c889eb8f955b">APR_BRIGADE_CONCAT</a>(d, s);
<a name="l00382"></a>00382     }
<a name="l00383"></a>00383 }
<a name="l00384"></a>00384 
<a name="l00385"></a>00385 
<a name="l00399"></a>00399 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#8195b6a32954928a6088e7cea077dd75">apreq_header_attribute</a>(const <span class="keywordtype">char</span> *hdr,
<a name="l00400"></a>00400                                                    const <span class="keywordtype">char</span> *name,
<a name="l00401"></a>00401                                                    const <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> nlen,
<a name="l00402"></a>00402                                                    const <span class="keywordtype">char</span> **val,
<a name="l00403"></a>00403                                                    <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> *vlen);
<a name="l00404"></a>00404 
<a name="l00405"></a>00405 
<a name="l00423"></a>00423 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__errno.html#gf76ee4543247e9fb3f3546203e590a6c">apr_status_t</a>) <a class="code" href="apreq__util_8h.html#4ddf563c9902474bdedbf014e24aafc8">apreq_brigade_concat</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__pools.html#gf137f28edcf9a086cd6bc36c20d7cdfb">apr_pool_t</a> *pool,
<a name="l00424"></a>00424                                                  const <span class="keywordtype">char</span> *temp_dir,
<a name="l00425"></a>00425                                                  <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__platform.html#gaa72b2253f6f3032cefea5712a27540e">apr_size_t</a> brigade_limit,
<a name="l00426"></a>00426                                                  <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *out,
<a name="l00427"></a>00427                                                  <a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *in);
<a name="l00428"></a>00428 
<a name="l00437"></a>00437 <a class="code" href="apreq_8h.html#02bf89714a74397155a11b9ccb942b0d">APREQ_DECLARE</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/1.3/" href="http://apr.apache.org/docs/apr/1.3/group__apr__file__io.html#ga46e4763ac375ea3c7a43ba6f6099e22">apr_file_t</a> *)<a class="code" href="apreq__util_8h.html#ec0de2141b6b742a1468667eb8f8158e">apreq_brigade_spoolfile</a>(<a class="codeRef" doxygen="apu.tag:http://apr.apache.org/docs/apr-util/1.3/" href="http://apr.apache.org/docs/apr-util/1.3/structapr__bucket__brigade.html">apr_bucket_brigade</a> *bb);
<a name="l00438"></a>00438 
<a name="l00439"></a>00439 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00440"></a>00440 <span class="preprocessor"></span> }
<a name="l00441"></a>00441 <span class="preprocessor">#endif</span>
<a name="l00442"></a>00442 <span class="preprocessor"></span>
<a name="l00443"></a>00443 <span class="preprocessor">#endif </span><span class="comment">/* APREQ_UTIL_H */</span>
</pre></div></div>
<div id="footer">
<p class="apache">
Copyright &copy; 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.5.6 on 25 Nov 2010</span>
</p>
</div>
</body>
</html>