Apache2
apr_dbm_private.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_DBM_PRIVATE_H
18 #define APR_DBM_PRIVATE_H
19 
20 #include "apr.h"
21 #include "apr_errno.h"
22 #include "apr_pools.h"
23 #include "apr_dbm.h"
24 #include "apr_file_io.h"
25 
26 #include "apu.h"
27 
28 /* ### for now, include the DBM selection; this will go away once we start
29  ### building and linking all of the DBMs at once. */
30 #include "apu_select_dbm.h"
31 
32 #ifdef __cplusplus
33 extern "C" {
34 #endif
35 
43 
49  const char *name;
50 
52  apr_status_t (*open)(apr_dbm_t **pdb, const char *pathname,
54  apr_pool_t *pool);
55 
57  void (*close)(apr_dbm_t *dbm);
58 
61  apr_datum_t * pvalue);
62 
65 
68 
71 
74 
77 
79  void (*freedatum)(apr_dbm_t *dbm, apr_datum_t data);
80 
83  const char *pathname,
84  const char **used1,
85  const char **used2);
86 
87 };
88 
89 
93 struct apr_dbm_t
94 {
97 
99  void *file;
100 
102  int errcode;
104  const char *errmsg;
105 
108 };
109 
110 
111 /* Declare all of the DBM provider tables */
117 
118 #ifdef __cplusplus
119 }
120 #endif
121 
122 #endif /* APR_DBM_PRIVATE_H */
APR Platform Definitions.
APR-UTIL DBM library.
APR_MODULE_DECLARE_DATA const apr_dbm_driver_t apr_dbm_type_db
APR_MODULE_DECLARE_DATA const apr_dbm_driver_t apr_dbm_type_gdbm
APR_MODULE_DECLARE_DATA const apr_dbm_driver_t apr_dbm_type_lmdb
APR_MODULE_DECLARE_DATA const apr_dbm_driver_t apr_dbm_type_sdbm
int apr_posix_perms2mode(apr_fileperms_t perm)
APR_MODULE_DECLARE_DATA const apr_dbm_driver_t apr_dbm_type_ndbm
APR Error Codes.
APR File I/O Handling.
APR memory allocation.
apr_bucket_brigade ap_input_mode_t mode
Definition: mod_dav.h:2662
apr_bucket_brigade request_rec apr_pool_t * pool
Definition: mod_dav.h:557
int
Definition: mod_proxy.h:674
int apr_status_t
Definition: apr_errno.h:44
apr_int32_t apr_fileperms_t
Definition: apr_file_info.h:125
int apr_int32_t
Definition: apr.h:347
struct apr_pool_t apr_pool_t
Definition: apr_pools.h:60
#define APR_MODULE_DECLARE_DATA
Definition: macros.h:18
#define APR_DECLARE(x)
Definition: macros.h:6
Definition: apr_dbm.h:54
Definition: apr_dbm_private.h:47
apr_status_t(* nextkey)(apr_dbm_t *dbm, apr_datum_t *pkey)
Definition: apr_dbm_private.h:76
void(* freedatum)(apr_dbm_t *dbm, apr_datum_t data)
Definition: apr_dbm_private.h:79
apr_status_t(* firstkey)(apr_dbm_t *dbm, apr_datum_t *pkey)
Definition: apr_dbm_private.h:73
apr_status_t(* store)(apr_dbm_t *dbm, apr_datum_t key, apr_datum_t value)
Definition: apr_dbm_private.h:64
apr_status_t(* open)(apr_dbm_t **pdb, const char *pathname, apr_int32_t mode, apr_fileperms_t perm, apr_pool_t *pool)
Definition: apr_dbm_private.h:52
const char * name
Definition: apr_dbm_private.h:49
int(* exists)(apr_dbm_t *dbm, apr_datum_t key)
Definition: apr_dbm_private.h:70
void(* close)(apr_dbm_t *dbm)
Definition: apr_dbm_private.h:57
void(* getusednames)(apr_pool_t *pool, const char *pathname, const char **used1, const char **used2)
Definition: apr_dbm_private.h:82
apr_status_t(* fetch)(apr_dbm_t *dbm, apr_datum_t key, apr_datum_t *pvalue)
Definition: apr_dbm_private.h:60
apr_status_t(* del)(apr_dbm_t *dbm, apr_datum_t key)
Definition: apr_dbm_private.h:67
Definition: apr_dbm_private.h:94
int errcode
Definition: apr_dbm_private.h:102
void * file
Definition: apr_dbm_private.h:99
const apr_dbm_driver_t * type
Definition: apr_dbm_private.h:107
const char * errmsg
Definition: apr_dbm_private.h:104
apr_pool_t * pool
Definition: apr_dbm_private.h:96