forked from dekellum/hashdot
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathproperty.h
77 lines (65 loc) · 2.61 KB
/
property.h
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
/**************************************************************************
* Copyright (C) 2008-2010 David Kellum
* This file is part of Hashdot.
*
* Hashdot is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 3, or (at your option)
* any later version.
*
* Hashdot is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with Hashdot. If not, see http://www.gnu.org/licenses/.
*
* Dynamically linking other modules to this executable is making a
* combined work based on this executable. Thus, the terms and
* conditions of the GNU General Public License cover the whole
* combination.
*
* As a special exception, the Hashdot copyright holder gives you
* permission to dynamically link independent modules to this
* executable, regardless of the license terms of these independent
* modules, and to copy and distribute the combination under terms of
* your choice, provided that you also meet, for each linked
* independent module, the terms and conditions of the license of that
* module. An independent module is a module which is not derived
* from or based from the source of Hashdot. If you modify Hashdot,
* you may extend this exception to your version, but you are not
* obligated to do so. If you do not wish to do so, delete this
* exception statement from your version.
*************************************************************************/
#ifndef _PROPERTY_H
#define _PROPERTY_H
#include <apr_general.h>
#include <apr_tables.h>
#include <apr_hash.h>
apr_status_t
parse_profile( const char *pname,
apr_hash_t *rprops );
apr_status_t
expand_recursive_props( apr_hash_t *rprops );
apr_status_t
parse_hashdot_header( const char *fname,
apr_hash_t *rprops );
apr_status_t
glob_values( apr_array_header_t *values,
apr_array_header_t **tvalues );
apr_array_header_t *
get_property_array( const char *name );
apr_status_t
get_property_value( const char *name,
char separator,
int required,
const char **value );
void
set_property_array( const char *name,
apr_array_header_t *vals );
apr_status_t
set_property_value( const char *name,
const char *value );
extern apr_hash_t *_props;
#endif