File: apreq_8h-source.html

package info (click to toggle)
rapache 1.2.10-3
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 6,368 kB
  • sloc: sh: 18,629; ansic: 10,417; perl: 5,675; javascript: 2,800; makefile: 307
file content (147 lines) | stat: -rw-r--r-- 12,531 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
<html>
<head>
  <link rel="stylesheet" type="text/css" href="dox.css" />
  <title>libapreq2-2.05-dev: libapreq2: include/apreq.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.4.2 -->
<div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="modules.html">Modules</a> | <a class="qindex" href="annotated.html">Data&nbsp;Structures</a> | <a class="qindex" href="dirs.html">Directories</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Data&nbsp;Fields</a> | <a class="qindex" href="globals.html">Globals</a> | <a class="qindex" href="pages.html">Related&nbsp;Pages</a></div>
<div class="nav">
<a class="el" href="dir_000000.html">include</a></div>
<h1>apreq.h</h1><a href="apreq_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 <span class="comment">/*</span>
00002 <span class="comment">**  Copyright 2003-2005  The Apache Software Foundation</span>
00003 <span class="comment">**</span>
00004 <span class="comment">**  Licensed under the Apache License, Version 2.0 (the "License");</span>
00005 <span class="comment">**  you may not use this file except in compliance with the License.</span>
00006 <span class="comment">**  You may obtain a copy of the License at</span>
00007 <span class="comment">**</span>
00008 <span class="comment">**      http://www.apache.org/licenses/LICENSE-2.0</span>
00009 <span class="comment">**</span>
00010 <span class="comment">**  Unless required by applicable law or agreed to in writing, software</span>
00011 <span class="comment">**  distributed under the License is distributed on an "AS IS" BASIS,</span>
00012 <span class="comment">**  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.</span>
00013 <span class="comment">**  See the License for the specific language governing permissions and</span>
00014 <span class="comment">**  limitations under the License.</span>
00015 <span class="comment">*/</span>
00016 
00017 <span class="preprocessor">#ifndef APREQ_H</span>
00018 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_H</span>
00019 <span class="preprocessor"></span>
00020 <span class="preprocessor">#ifdef APREQ_DEBUG</span>
00021 <span class="preprocessor"></span><span class="preprocessor">#include &lt;assert.h&gt;</span>
00022 <span class="preprocessor">#endif</span>
00023 <span class="preprocessor"></span>
00024 <span class="preprocessor">#include "<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/apr__tables_8h.html">apr_tables.h</a>"</span>
00025 <span class="preprocessor">#include &lt;stddef.h&gt;</span>
00026 
00027 <span class="preprocessor">#ifdef  __cplusplus</span>
00028 <span class="preprocessor"></span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
00029 <span class="preprocessor">#endif </span>
00030 <span class="preprocessor"></span>
00039 <span class="preprocessor">#ifndef WIN32</span>
00040 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_DECLARE(d)                APR_DECLARE(d)</span>
00041 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_DECLARE_NONSTD(d)         APR_DECLARE_NONSTD(d)</span>
00042 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_DECLARE_DATA</span>
00043 <span class="preprocessor"></span><span class="preprocessor">#else</span>
00044 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_DECLARE(type)             __declspec(dllexport) type __stdcall</span>
00045 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_DECLARE_NONSTD(type)      __declspec(dllexport) type</span>
00046 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_DECLARE_DATA              __declspec(dllexport)</span>
00047 <span class="preprocessor"></span><span class="preprocessor">#endif</span>
00048 <span class="preprocessor"></span>
00049 <span class="preprocessor">#define APREQ_DEFAULT_READ_BLOCK_SIZE   (64  * 1024)</span>
00050 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_DEFAULT_READ_LIMIT        (64 * 1024 * 1024)</span>
00051 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_DEFAULT_BRIGADE_LIMIT     (256 * 1024)</span>
00052 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_DEFAULT_NELTS              8</span>
00053 <span class="preprocessor"></span>
00054 
00055 
00056 <span class="preprocessor">#define APREQ_FLAGS_OFF(f, name) ((f) &amp;= ~(name##_MASK &lt;&lt; name##_BIT))</span>
00057 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_FLAGS_ON(f, name)  ((f) |=  (name##_MASK &lt;&lt; name##_BIT))</span>
00058 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_FLAGS_GET(f, name) (((f) &gt;&gt; name##_BIT) &amp; name##_MASK)</span>
00059 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_FLAGS_SET(f, name, value)                 \</span>
00060 <span class="preprocessor">    ((f) = (((f) &amp; ~(name##_MASK &lt;&lt; name##_BIT))        \</span>
00061 <span class="preprocessor">            | ((name##_MASK &amp; (value)) &lt;&lt; name##_BIT)))</span>
00062 <span class="preprocessor"></span>
00063 
00064 <span class="preprocessor">#define APREQ_CHARSET_BIT           0</span>
00065 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_CHARSET_MASK        255</span>
00066 <span class="preprocessor"></span>
00067 <span class="preprocessor">#define APREQ_TAINTED_BIT           8</span>
00068 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_TAINTED_MASK          1</span>
00069 <span class="preprocessor"></span>
00070 <span class="preprocessor">#define APREQ_COOKIE_VERSION_BIT   11</span>
00071 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_COOKIE_VERSION_MASK   3</span>
00072 <span class="preprocessor"></span>
00073 <span class="preprocessor">#define APREQ_COOKIE_SECURE_BIT    13</span>
00074 <span class="preprocessor"></span><span class="preprocessor">#define APREQ_COOKIE_SECURE_MASK    1</span>
00075 <span class="preprocessor"></span>
<a name="l00077"></a><a class="code" href="apreq_8h.html#a37">00077</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00078     APREQ_CHARSET_ASCII  =0,
00079     APREQ_CHARSET_LATIN1 =1, <span class="comment">/* ISO-8859-1   */</span>
00080     APREQ_CHARSET_CP1252 =2, <span class="comment">/* Windows-1252 */</span>
00081     APREQ_CHARSET_UTF8   =8
00082 } <a class="code" href="apreq_8h.html#a37">apreq_charset_t</a>;
00083 
00084 
<a name="l00086"></a><a class="code" href="apreq_8h.html#a38">00086</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> { 
00087     <a class="code" href="apreq_8h.html#a38a25">APREQ_JOIN_AS_IS</a>,      
00088     <a class="code" href="apreq_8h.html#a38a26">APREQ_JOIN_ENCODE</a>,     
00089     <a class="code" href="apreq_8h.html#a38a27">APREQ_JOIN_DECODE</a>,     
00090     <a class="code" href="apreq_8h.html#a38a28">APREQ_JOIN_QUOTE</a>       
00091 } <a class="code" href="apreq_8h.html#a38">apreq_join_t</a>;
00092 
<a name="l00094"></a><a class="code" href="apreq_8h.html#a39">00094</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00095     <a class="code" href="apreq_8h.html#a39a29">APREQ_MATCH_FULL</a>,       
00096     <a class="code" href="apreq_8h.html#a39a30">APREQ_MATCH_PARTIAL</a>     
00097 } <a class="code" href="apreq_8h.html#a39">apreq_match_t</a>;
00098 
<a name="l00100"></a><a class="code" href="apreq_8h.html#a40">00100</a> <span class="keyword">typedef</span> <span class="keyword">enum</span> {
00101     <a class="code" href="apreq_8h.html#a40a31">APREQ_EXPIRES_HTTP</a>,       
00102     <a class="code" href="apreq_8h.html#a40a32">APREQ_EXPIRES_NSCOOKIE</a>    
00103 } <a class="code" href="apreq_8h.html#a40">apreq_expires_t</a>;
00104 
00105 
<a name="l00107"></a><a class="code" href="structapreq__value__t.html">00107</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structapreq__value__t.html">apreq_value_t</a> {
<a name="l00108"></a><a class="code" href="structapreq__value__t.html#o0">00108</a>     <span class="keywordtype">char</span>             *<a class="code" href="structapreq__value__t.html#o0">name</a>;    
<a name="l00109"></a><a class="code" href="structapreq__value__t.html#o1">00109</a>     <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a>        <a class="code" href="structapreq__value__t.html#o1">nlen</a>;    
<a name="l00110"></a><a class="code" href="structapreq__value__t.html#o2">00110</a>     <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga7">apr_size_t</a>        <a class="code" href="structapreq__value__t.html#o2">dlen</a>;    
<a name="l00111"></a><a class="code" href="structapreq__value__t.html#o3">00111</a>     <span class="keywordtype">char</span>              <a class="code" href="structapreq__value__t.html#o3">data</a>[1]; 
00112 } <a class="code" href="structapreq__value__t.html">apreq_value_t</a>;
00113 
00114 <span class="keyword">static</span> <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__platform.html#ga11">APR_INLINE</a>
00115 <span class="keywordtype">void</span> apreq_value_table_add(<span class="keyword">const</span> <a class="code" href="structapreq__value__t.html">apreq_value_t</a> *v, <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__tables.html#ga0">apr_table_t</a> *t) {
00116     <a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__tables.html#ga25">apr_table_addn</a>(t, v-&gt;<a class="code" href="structapreq__value__t.html#o0">name</a>, v-&gt;<a class="code" href="structapreq__value__t.html#o3">data</a>);
00117 }
00118 
00119 <span class="preprocessor">#define apreq_attr_to_type(T,A,P) ( (T*) ((char*)(P)-offsetof(T,A)) )</span>
00120 <span class="preprocessor"></span>
00132 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a>) <a class="code" href="apreq_8h.html#a34">apreq_initialize</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#ga0">apr_pool_t</a> *pool);
00133 
00134 
00146 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a>) <a class="code" href="apreq_8h.html#a35">apreq_pre_initialize</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#ga0">apr_pool_t</a> *pool);
00147 
00155 APREQ_DECLARE(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__errno.html#ga0">apr_status_t</a>) <a class="code" href="apreq_8h.html#a36">apreq_post_initialize</a>(<a class="codeRef" doxygen="apr.tag:http://apr.apache.org/docs/apr/" href="http://apr.apache.org/docs/apr/group__apr__pools.html#ga0">apr_pool_t</a> *pool);
00156 
00157 
00158 #ifdef __cplusplus
00159  }
00160 #endif
00161 
00162 #endif <span class="comment">/* APREQ_H */</span>
</pre></div><div id="footer">
<p class="apache">
Copyright &copy; 2003-2005 <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.4.2 on 4 May 2005</span>
</p>
</div>
</body>
</html>