Apache HTTPD
apr_tables.h
Go to the documentation of this file.
1/* Licensed to the Apache Software Foundation (ASF) under one or more
2 * contributor license agreements. See the NOTICE file distributed with
3 * this work for additional information regarding copyright ownership.
4 * The ASF licenses this file to You under the Apache License, Version 2.0
5 * (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at
7 *
8 * http://www.apache.org/licenses/LICENSE-2.0
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16
17#ifndef APR_TABLES_H
18#define APR_TABLES_H
19
25#include "apr.h"
26#include "apr_pools.h"
27
28#if APR_HAVE_STDARG_H
29#include <stdarg.h> /* for va_list */
30#endif
31
32#ifdef __cplusplus
33extern "C" {
34#endif /* __cplusplus */
35
56typedef struct apr_table_t apr_table_t;
57
60
74
79
83 char *key; /* maybe NULL in future;
84 * check when iterating thru table_elts
85 */
87 char *val;
88
91};
92
99
106
113
122 int nelts, int elt_size);
123
132
141#define APR_ARRAY_IDX(ary,i,type) (((type *)(ary)->elts)[i])
142
150#define APR_ARRAY_PUSH(ary,type) (*((type *)apr_array_push(ary)))
151
159
167
176
197 const apr_array_header_t *arr);
198
209
222 const apr_array_header_t *arr,
223 const char sep);
224
233
242 const apr_table_t *t);
243
253 const apr_table_t *t);
254
260
268APR_DECLARE(const char *) apr_table_get(const apr_table_t *t, const char *key);
269
279APR_DECLARE(const char *) apr_table_getm(apr_pool_t *p, const apr_table_t *t,
280 const char *key);
281
291APR_DECLARE(void) apr_table_set(apr_table_t *t, const char *key,
292 const char *val);
293
304APR_DECLARE(void) apr_table_setn(apr_table_t *t, const char *key,
305 const char *val);
306
312APR_DECLARE(void) apr_table_unset(apr_table_t *t, const char *key);
313
323APR_DECLARE(void) apr_table_merge(apr_table_t *t, const char *key,
324 const char *val);
325
335APR_DECLARE(void) apr_table_mergen(apr_table_t *t, const char *key,
336 const char *val);
337
347APR_DECLARE(void) apr_table_add(apr_table_t *t, const char *key,
348 const char *val);
349
360APR_DECLARE(void) apr_table_addn(apr_table_t *t, const char *key,
361 const char *val);
362
373
385typedef int (apr_table_do_callback_fn_t)(void *rec, const char *key,
386 const char *value);
387
408 void *rec, const apr_table_t *t, ...)
409#if defined(__GNUC__) && __GNUC__ >= 4
411#endif
412 ;
413
434 void *rec, const apr_table_t *t, va_list vp);
435
437#define APR_OVERLAP_TABLES_SET (0)
439#define APR_OVERLAP_TABLES_MERGE (1)
441#define APR_OVERLAP_TABLES_ADD (2)
486 unsigned flags);
487
500
503#ifdef __cplusplus
504}
505#endif
506
507#endif /* ! APR_TABLES_H */
APR memory allocation.
apr_array_append(apr_pool_t *p, const apr_array_header_t *first, const apr_array_header_t *second)
Definition apr_tables.c:213
apr_array_copy_hdr(apr_pool_t *p, const apr_array_header_t *arr)
Definition apr_tables.c:199
apr_bucket apr_bucket_brigade * a
apr_size_t size
const char * value
Definition apr_env.h:51
APR_DECLARE_NONSTD(void) apr_terminate(void)
Definition start.c:173
const char apr_status_t(*) apr_pool_t *poo __attribute__)((nonnull(2, 4)))
Definition apr_pools.h:567
void apr_skiplistnode apr_skiplist_compare comp
const apr_table_t * overlay
Definition apr_tables.h:371
APR_DECLARE(void) apr_array_clear(apr_array_header_t *arr)
Definition apr_pools.h:646
const apr_array_header_t * arr
Definition apr_tables.h:187
const apr_array_header_t const char sep
Definition apr_tables.h:223
int nelts
Definition apr_tables.h:122
const apr_table_t * t
Definition apr_tables.h:242
int() apr_table_do_callback_fn_t(void *rec, const char *key, const char *value)
Definition apr_tables.h:385
const apr_table_t const apr_table_t * base
Definition apr_tables.h:372
void * rec
Definition apr_tables.h:408
const apr_table_t unsigned flags
Definition apr_tables.h:486
void const apr_table_t void const apr_table_t va_list vp
Definition apr_tables.h:434
int int elt_size
Definition apr_tables.h:122
const apr_array_header_t * first
Definition apr_tables.h:207
const apr_array_header_t * src
Definition apr_tables.h:175
const apr_table_t * b
Definition apr_tables.h:485
const apr_array_header_t const apr_array_header_t * second
Definition apr_tables.h:208
const char const char * val
Definition apr_tables.h:292
const char * key
Definition apr_tables.h:268
apr_pool_t * p
Definition md_event.c:32
apr_pool_t * pool
Definition apr_tables.h:64
Definition apr_tables.h:81
apr_uint32_t key_checksum
Definition apr_tables.h:90
char * val
Definition apr_tables.h:87
char * key
Definition apr_tables.h:83
typedef int(WSAAPI *apr_winapi_fpt_WSAPoll)(IN OUT LPWSAPOLLFD fdArray