DBM routines
[APR Utility Functions]


Modules

 SDBM library

Data Structures

struct  apr_datum_t

Defines

#define APR_DBM_READONLY   1
#define APR_DBM_READWRITE   2
#define APR_DBM_RWCREATE   3
#define APR_DBM_RWTRUNC   4

Typedefs

typedef struct apr_dbm_t apr_dbm_t

Functions

apr_status_t apr_dbm_open_ex (apr_dbm_t **dbm, const char *type, const char *name, apr_int32_t mode, apr_fileperms_t perm, apr_pool_t *cntxt)
apr_status_t apr_dbm_open (apr_dbm_t **dbm, const char *name, apr_int32_t mode, apr_fileperms_t perm, apr_pool_t *cntxt)
void apr_dbm_close (apr_dbm_t *dbm)
apr_status_t apr_dbm_fetch (apr_dbm_t *dbm, apr_datum_t key, apr_datum_t *pvalue)
apr_status_t apr_dbm_store (apr_dbm_t *dbm, apr_datum_t key, apr_datum_t value)
apr_status_t apr_dbm_delete (apr_dbm_t *dbm, apr_datum_t key)
int apr_dbm_exists (apr_dbm_t *dbm, apr_datum_t key)
apr_status_t apr_dbm_firstkey (apr_dbm_t *dbm, apr_datum_t *pkey)
apr_status_t apr_dbm_nextkey (apr_dbm_t *dbm, apr_datum_t *pkey)
void apr_dbm_freedatum (apr_dbm_t *dbm, apr_datum_t data)
char * apr_dbm_geterror (apr_dbm_t *dbm, int *errcode, char *errbuf, apr_size_t errbufsize)
apr_status_t apr_dbm_get_usednames_ex (apr_pool_t *pool, const char *type, const char *pathname, const char **used1, const char **used2)
void apr_dbm_get_usednames (apr_pool_t *pool, const char *pathname, const char **used1, const char **used2)

Define Documentation

#define APR_DBM_READONLY   1

open for read-only access

#define APR_DBM_READWRITE   2

open for read-write access

#define APR_DBM_RWCREATE   3

open for r/w, create if needed

#define APR_DBM_RWTRUNC   4

open for r/w, truncating an existing DB if present


Typedef Documentation

typedef struct apr_dbm_t apr_dbm_t

Structure for referencing a dbm


Function Documentation

void apr_dbm_close ( apr_dbm_t dbm  ) 

Close a dbm file previously opened by apr_dbm_open

Parameters:
dbm The database to close

apr_status_t apr_dbm_delete ( apr_dbm_t dbm,
apr_datum_t  key 
)

Delete a dbm record value by key

Parameters:
dbm The database
key The key datum of the record to delete
Remarks:
It is not an error to delete a non-existent record.

int apr_dbm_exists ( apr_dbm_t dbm,
apr_datum_t  key 
)

Search for a key within the dbm

Parameters:
dbm The database
key The datum describing a key to test

apr_status_t apr_dbm_fetch ( apr_dbm_t dbm,
apr_datum_t  key,
apr_datum_t pvalue 
)

Fetch a dbm record value by key

Parameters:
dbm The database
key The key datum to find this record
pvalue The value datum retrieved for this record

apr_status_t apr_dbm_firstkey ( apr_dbm_t dbm,
apr_datum_t pkey 
)

Retrieve the first record key from a dbm

Parameters:
dbm The database
pkey The key datum of the first record

void apr_dbm_freedatum ( apr_dbm_t dbm,
apr_datum_t  data 
)

Proactively toss any memory associated with the apr_datum_t.

Parameters:
dbm The database
data The datum to free.

void apr_dbm_get_usednames ( apr_pool_t *  pool,
const char *  pathname,
const char **  used1,
const char **  used2 
)

If the specified file/path were passed to apr_dbm_open(), return the actual file/path names which would be (created and) used. At most, two files may be used; used2 may be NULL if only one file is used.

Parameters:
pool The pool for allocating used1 and used2.
pathname The path name to generate used-names from.
used1 The first pathname used by the apr_dbm implementation.
used2 The second pathname used by apr_dbm. If only one file is used by the specific implementation, this will be set to NULL.
Remarks:
The dbm file(s) don't need to exist. This function only manipulates the pathnames.

apr_status_t apr_dbm_get_usednames_ex ( apr_pool_t *  pool,
const char *  type,
const char *  pathname,
const char **  used1,
const char **  used2 
)

If the specified file/path were passed to apr_dbm_open(), return the actual file/path names which would be (created and) used. At most, two files may be used; used2 may be NULL if only one file is used.

Parameters:
pool The pool for allocating used1 and used2.
type The type of DBM you require info on
pathname The path name to generate used-names from.
used1 The first pathname used by the apr_dbm implementation.
used2 The second pathname used by apr_dbm. If only one file is used by the specific implementation, this will be set to NULL.
Returns:
An error if the specified type is invalid.
Remarks:
The dbm file(s) don't need to exist. This function only manipulates the pathnames.

char* apr_dbm_geterror ( apr_dbm_t dbm,
int *  errcode,
char *  errbuf,
apr_size_t  errbufsize 
)

Report more information when an apr_dbm function fails.

Parameters:
dbm The database
errcode A DBM-specific value for the error (for logging). If this isn't needed, it may be NULL.
errbuf Location to store the error text
errbufsize The size of the provided buffer
Returns:
The errbuf parameter, for convenience.

apr_status_t apr_dbm_nextkey ( apr_dbm_t dbm,
apr_datum_t pkey 
)

Retrieve the next record key from a dbm

Parameters:
dbm The database
pkey The key datum of the next record

apr_status_t apr_dbm_open ( apr_dbm_t **  dbm,
const char *  name,
apr_int32_t  mode,
apr_fileperms_t  perm,
apr_pool_t *  cntxt 
)

Open a dbm file by file name

Parameters:
dbm The newly opened database
name The dbm file name to open
mode The flag value
           APR_DBM_READONLY   open for read-only access
           APR_DBM_READWRITE  open for read-write access
           APR_DBM_RWCREATE   open for r/w, create if needed
           APR_DBM_RWTRUNC    open for r/w, truncate if already there
 
perm Permissions to apply to if created
cntxt The pool to use when creating the dbm
Remarks:
The dbm name may not be a true file name, as many dbm packages append suffixes for seperate data and index files.

apr_status_t apr_dbm_open_ex ( apr_dbm_t **  dbm,
const char *  type,
const char *  name,
apr_int32_t  mode,
apr_fileperms_t  perm,
apr_pool_t *  cntxt 
)

Open a dbm file by file name and type of DBM

Parameters:
dbm The newly opened database
type The type of the DBM (not all may be available at run time)
  GDBM for GDBM files
  SDBM for SDBM files
  DB   for berkeley DB files
  NDBM for NDBM files
  default for the default DBM type
  
name The dbm file name to open
mode The flag value
           APR_DBM_READONLY   open for read-only access
           APR_DBM_READWRITE  open for read-write access
           APR_DBM_RWCREATE   open for r/w, create if needed
           APR_DBM_RWTRUNC    open for r/w, truncate if already there
 
perm Permissions to apply to if created
cntxt The pool to use when creating the dbm
Remarks:
The dbm name may not be a true file name, as many dbm packages append suffixes for seperate data and index files.

apr_status_t apr_dbm_store ( apr_dbm_t dbm,
apr_datum_t  key,
apr_datum_t  value 
)

Store a dbm record value by key

Parameters:
dbm The database
key The key datum to store this record by
value The value datum to store in this record


Generated on Sat Aug 16 19:14:10 2008 for Apache Portable Runtime Utility Library by  doxygen 1.5.6