EMSABP TDB database API. More...
#include "mapiproxy/dcesrv_mapiproxy.h"
#include "dcesrv_exchange_nsp.h"
#include <util/debug.h>
Functions | |
_PUBLIC_ enum MAPISTATUS | emsabp_tdb_close (TDB_CONTEXT *tdb_ctx) |
_PUBLIC_ enum MAPISTATUS | emsabp_tdb_fetch (TDB_CONTEXT *tdb_ctx, const char *keyname, TDB_DATA *result) |
_PUBLIC_ enum MAPISTATUS | emsabp_tdb_fetch_dn_from_MId (TALLOC_CTX *mem_ctx, TDB_CONTEXT *tdb_ctx, uint32_t MId, char **dn) |
_PUBLIC_ enum MAPISTATUS | emsabp_tdb_fetch_MId (TDB_CONTEXT *tdb_ctx, const char *keyname, uint32_t *MId) |
_PUBLIC_ TDB_CONTEXT * | emsabp_tdb_init (TALLOC_CTX *mem_ctx, struct loadparm_context *lp_ctx) |
_PUBLIC_ TDB_CONTEXT * | emsabp_tdb_init_tmp (TALLOC_CTX *mem_ctx) |
_PUBLIC_ enum MAPISTATUS | emsabp_tdb_insert (TDB_CONTEXT *tdb_ctx, const char *keyname) |
_PUBLIC_ bool | emsabp_tdb_lookup_MId (TDB_CONTEXT *tdb_ctx, uint32_t MId) |
static int | emsabp_tdb_traverse_MId (TDB_CONTEXT *tdb_ctx, TDB_DATA key, TDB_DATA dbuf, void *state) |
static int | emsabp_tdb_traverse_MId_DN (TDB_CONTEXT *tdb_ctx, TDB_DATA key, TDB_DATA dbuf, void *state) |
EMSABP TDB database API.
_PUBLIC_ enum MAPISTATUS emsabp_tdb_close | ( | TDB_CONTEXT * | tdb_ctx | ) |
Close EMSABP TDB database
_PUBLIC_ enum MAPISTATUS emsabp_tdb_fetch | ( | TDB_CONTEXT * | tdb_ctx, | |
const char * | keyname, | |||
TDB_DATA * | result | |||
) |
Fetch an element within a TDB database given its key
tdb_ctx | pointer to the EMSABP TDB context | |
keyname | pointer to the TDB key to fetch | |
result | pointer on TDB results |
Referenced by emsabp_tdb_init(), and emsabp_tdb_insert().
_PUBLIC_ enum MAPISTATUS emsabp_tdb_fetch_dn_from_MId | ( | TALLOC_CTX * | mem_ctx, | |
TDB_CONTEXT * | tdb_ctx, | |||
uint32_t | MId, | |||
char ** | dn | |||
) |
Traverse the EMSABP TDB and fetch the DN associated with the MId
mem_ctx | pointer to the memory context | |
tdb_ctx | pointer to the EMSABP TDB context | |
MId | MID to search | |
dn | pointer on pointer to the dn to return |
References emsabp_MId::dn, emsabp_tdb_traverse_MId_DN(), and emsabp_MId::MId.
Referenced by emsabp_ab_container_by_id(), and emsabp_fetch_attrs().
_PUBLIC_ enum MAPISTATUS emsabp_tdb_fetch_MId | ( | TDB_CONTEXT * | tdb_ctx, | |
const char * | keyname, | |||
uint32_t * | MId | |||
) |
Retrieve the Minimal EntryID associated to a given DN
tdb_ctx | pointer to the EMSABP TDB context | |
keyname | pointer to the TDB key to search for | |
MId | pointer on the integer the function returns |
Referenced by dcesrv_NspiDNToMId(), emsabp_fetch_attrs_from_msg(), emsabp_search(), and emsabp_table_fetch_attrs().
_PUBLIC_ TDB_CONTEXT* emsabp_tdb_init | ( | TALLOC_CTX * | mem_ctx, | |
struct loadparm_context * | lp_ctx | |||
) |
Open EMSABP TDB database
mem_ctx | pointer to the memory context | |
lp_ctx | pointer to the loadparm context |
References EMSABP_TDB_DATA_REC, emsabp_tdb_fetch(), EMSABP_TDB_MID_START, and mapiproxy_server_emsabp_tdb_init().
Referenced by dcesrv_exchange_nsp_init().
_PUBLIC_ TDB_CONTEXT* emsabp_tdb_init_tmp | ( | TALLOC_CTX * | mem_ctx | ) |
Initialize a temporary (on-memory) TDB database. This database is used to store temporary MId used within a session lifetime.
mem_ctx | pointer to the memory context |
References EMSABP_TDB_DATA_REC, and EMSABP_TDB_TMP_MID_START.
Referenced by emsabp_init().
_PUBLIC_ enum MAPISTATUS emsabp_tdb_insert | ( | TDB_CONTEXT * | tdb_ctx, | |
const char * | keyname | |||
) |
Insert an element into TDB database
tdb_ctx | pointer to the EMSABP TDB context | |
keyname | pointer to the TDB key name string |
References EMSABP_TDB_DATA_REC, and emsabp_tdb_fetch().
Referenced by dcesrv_NspiDNToMId(), emsabp_fetch_attrs_from_msg(), emsabp_search(), and emsabp_table_fetch_attrs().
_PUBLIC_ bool emsabp_tdb_lookup_MId | ( | TDB_CONTEXT * | tdb_ctx, | |
uint32_t | MId | |||
) |
Traverse the EMSABP TDB database and look for the input MId
tdb_ctx | pointer to the EMSABP TDB context | |
MId | MID to lookup |
References emsabp_tdb_traverse_MId().
Referenced by dcesrv_NspiGetProps(), dcesrv_NspiQueryRows(), dcesrv_NspiSeekEntries(), dcesrv_NspiUpdateStat(), and emsabp_search().
static int emsabp_tdb_traverse_MId | ( | TDB_CONTEXT * | tdb_ctx, | |
TDB_DATA | key, | |||
TDB_DATA | dbuf, | |||
void * | state | |||
) | [static] |
Referenced by emsabp_tdb_lookup_MId().
static int emsabp_tdb_traverse_MId_DN | ( | TDB_CONTEXT * | tdb_ctx, | |
TDB_DATA | key, | |||
TDB_DATA | dbuf, | |||
void * | state | |||
) | [static] |
References emsabp_MId::dn, and emsabp_MId::MId.
Referenced by emsabp_tdb_fetch_dn_from_MId().
![]() ![]() ![]() |
This content is licensed under the Creative Commons Attribution ShareAlike License v. 3.0: http://creativecommons.org/licenses/by-sa/3.0/ |