1
0
mirror of https://github.com/samba-team/samba.git synced 2025-12-02 00:23:50 +03:00

r7776: add a method for getting arbitrary opaque data into a ldb context, for use by backends.

Currently only EventContext is used in this way.
This commit is contained in:
Andrew Tridgell
2005-06-20 04:56:43 +00:00
committed by Gerald (Jerry) Carter
parent 1a80ac6aa8
commit 9fa21b2458
4 changed files with 45 additions and 2 deletions

View File

@@ -178,3 +178,34 @@ const char *ldb_errstring(struct ldb_context *ldb)
return ldb->modules->ops->errstring(ldb->modules);
}
/*
set backend specific opaque parameters
*/
int ldb_set_opaque(struct ldb_context *ldb, const char *name, void *value)
{
struct ldb_opaque *o = talloc(ldb, struct ldb_opaque);
if (o == NULL) {
ldb_oom(ldb);
return -1;
}
o->next = ldb->opaque;
o->name = name;
o->value = value;
ldb->opaque = o;
return 0;
}
/*
get a previously set opaque value
*/
void *ldb_get_opaque(struct ldb_context *ldb, const char *name)
{
struct ldb_opaque *o;
for (o=ldb->opaque;o;o=o->next) {
if (strcmp(o->name, name) == 0) {
return o->value;
}
}
return NULL;
}