1 /* config_file.h : authz parsing and searching, private to libsvn_repos
3 * ====================================================================
4 * Licensed to the Apache Software Foundation (ASF) under one
5 * or more contributor license agreements. See the NOTICE file
6 * distributed with this work for additional information
7 * regarding copyright ownership. The ASF licenses this file
8 * to you under the Apache License, Version 2.0 (the
9 * "License"); you may not use this file except in compliance
10 * with the License. You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing,
15 * software distributed under the License is distributed on an
16 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17 * KIND, either express or implied. See the License for the
18 * specific language governing permissions and limitations
20 * ====================================================================
23 #ifndef SVN_REPOS_CONFIG_FILE_H
24 #define SVN_REPOS_CONFIG_FILE_H
27 #include <apr_pools.h>
28 #include <apr_tables.h>
30 #include "svn_config.h"
31 #include "svn_error.h"
33 #include "svn_repos.h"
37 #endif /* __cplusplus */
41 /* An opaque struct that helps making config data access resource efficient. */
42 typedef struct config_access_t config_access_t;
44 /* Return a new config access struct allocated in RESULT_POOL.
45 * Try to access REPOS_HINT first when resolving URLs; may be NULL. */
47 svn_repos__create_config_access(svn_repos_t *repos_hint,
48 apr_pool_t *result_pool);
50 /* Release all resources allocated while using ACCESS. */
52 svn_repos__destroy_config_access(config_access_t *access);
54 /* Using ACCESS as a helper object, access the textual configuration at PATH,
55 * which may be an URL or a local path. Return content's checksum in
56 * *CHECKSUM and provide its content in *STREAM.
58 * The access will fail if the item does not exist and MUST_EXIST is set.
59 * The result has the same lifetime as ACCESS. Use SCRATCH_POOL for
60 * temporary allocations.
63 svn_repos__get_config(svn_stream_t **stream,
64 svn_checksum_t **checksum,
65 config_access_t *access,
67 svn_boolean_t must_exist,
68 apr_pool_t *scratch_pool);
72 #endif /* __cplusplus */
74 #endif /* SVN_REPOS_CONFIG_FILE_H */