netatalk  4.4.0dev
Free and Open Source Apple Filing Protocol (AFP) Server
Loading...
Searching...
No Matches
dbif.h File Reference
#include <db.h>
#include <atalk/adouble.h>
#include "db_param.h"

Go to the source code of this file.

Data Structures

struct  db_table
struct  DBD

Macros

#define DBIF_DB_CNT   4
#define DBIF_CNID   0
#define DBIF_IDX_DEVINO   1
#define DBIF_IDX_DIDNAME   2
#define DBIF_IDX_NAME   3
#define LOCKFILENAME   "lock"
#define LOCK_FREE   0
#define LOCK_UNLOCK   1
#define LOCK_EXCL   2
#define LOCK_SHRD   3

Functions

DBDdbif_init (const char *envhome, const char *dbname)
int dbif_env_open (DBD *dbd, struct db_param *dbp, uint32_t dbenv_oflags)
int dbif_open (DBD *dbd, struct db_param *dbp, int reindex)
int dbif_close (DBD *dbd)
int dbif_env_remove (const char *path)
int dbif_get (DBD *, const int, DBT *, DBT *, uint32_t)
int dbif_pget (DBD *, const int, DBT *, DBT *, DBT *, uint32_t)
int dbif_put (DBD *, const int, DBT *, DBT *, uint32_t)
int dbif_del (DBD *, const int, DBT *, uint32_t)
int dbif_count (DBD *, const int, uint32_t *)
int dbif_search (DBD *dbd, DBT *key, char *resbuf)
int dbif_copy_rootinfokey (DBD *srcdbd, DBD *destdbd)
int dbif_txn_begin (DBD *)
int dbif_txn_commit (DBD *)
int dbif_txn_abort (DBD *)
int dbif_txn_close (DBD *dbd, int ret)
int dbif_txn_checkpoint (DBD *, uint32_t, uint32_t, uint32_t)
int dbif_dump (DBD *dbd, int dumpindexes)
int dbif_idwalk (DBD *dbd, cnid_t *cnid, int close)

Macro Definition Documentation

◆ DBIF_CNID

#define DBIF_CNID   0

◆ DBIF_DB_CNT

#define DBIF_DB_CNT   4

◆ DBIF_IDX_DEVINO

#define DBIF_IDX_DEVINO   1

◆ DBIF_IDX_DIDNAME

#define DBIF_IDX_DIDNAME   2

◆ DBIF_IDX_NAME

#define DBIF_IDX_NAME   3

◆ LOCK_EXCL

#define LOCK_EXCL   2

◆ LOCK_FREE

#define LOCK_FREE   0

◆ LOCK_SHRD

#define LOCK_SHRD   3

◆ LOCK_UNLOCK

#define LOCK_UNLOCK   1

◆ LOCKFILENAME

#define LOCKFILENAME   "lock"

Function Documentation

◆ dbif_close()

int dbif_close ( DBD * dbd)

◆ dbif_copy_rootinfokey()

int dbif_copy_rootinfokey ( DBD * srcdbd,
DBD * destdbd )

◆ dbif_count()

int dbif_count ( DBD * dbd,
const int dbi,
uint32_t * count )

◆ dbif_del()

int dbif_del ( DBD * dbd,
const int dbi,
DBT * key,
uint32_t flags )

◆ dbif_dump()

int dbif_dump ( DBD * dbd,
int dumpindexes )

◆ dbif_env_open()

int dbif_env_open ( DBD * dbd,
struct db_param * dbp,
uint32_t dbenv_oflags )

◆ dbif_env_remove()

int dbif_env_remove ( const char * path)

◆ dbif_get()

int dbif_get ( DBD * dbd,
const int dbi,
DBT * key,
DBT * val,
uint32_t flags )

◆ dbif_idwalk()

int dbif_idwalk ( DBD * dbd,
cnid_t * cnid,
int close )

◆ dbif_init()

DBD * dbif_init ( const char * envhome,
const char * dbname )

◆ dbif_open()

int dbif_open ( DBD * dbd,
struct db_param * dbp,
int reindex )

◆ dbif_pget()

int dbif_pget ( DBD * ,
const int ,
DBT * ,
DBT * ,
DBT * ,
uint32_t  )

◆ dbif_put()

int dbif_put ( DBD * dbd,
const int dbi,
DBT * key,
DBT * val,
uint32_t flags )

◆ dbif_search()

int dbif_search ( DBD * dbd,
DBT * key,
char * resbuf )

Search the database by name

Parameters
dbd(r) database handle
key(r) key to search for, must be initialized with name to search for (key->data, key->size)
resbuf(w) buffer for search results CNIDs, maxsize is assumed to be DBD_MAX_SRCH_RSLTS * sizefof(cnid_t)
Returns
-1 on error, 0 when nothing found, else the number of matches

◆ dbif_txn_abort()

int dbif_txn_abort ( DBD * dbd)

◆ dbif_txn_begin()

int dbif_txn_begin ( DBD * dbd)

◆ dbif_txn_checkpoint()

int dbif_txn_checkpoint ( DBD * dbd,
uint32_t kbyte,
uint32_t min,
uint32_t flags )

◆ dbif_txn_close()

int dbif_txn_close ( DBD * dbd,
int ret )

◆ dbif_txn_commit()

int dbif_txn_commit ( DBD * dbd)