typedef int slap_syntax_transform_func LDAP_P((
struct slap_syntax *syntax,
struct berval * in,
- struct berval * out));
+ struct berval * out,
+ void *memctx));
typedef struct slap_syntax {
LDAPSyntax ssyn_syn;
char *sd_desc;
int sd_flags;
slap_syntax_validate_func *sd_validate;
- slap_syntax_transform_func *sd_normalizeXXX; /* to be deleted */
slap_syntax_transform_func *sd_pretty;
#ifdef SLAPD_BINARY_CONVERSION
slap_syntax_transform_func *sd_ber2str;
/* X -> Y Converter */
typedef int slap_mr_convert_func LDAP_P((
struct berval * in,
- struct berval * out ));
+ struct berval * out,
+ void *memctx ));
/* Normalizer */
typedef int slap_mr_normalize_func LDAP_P((
struct slap_syntax *syntax, /* NULL if in is asserted value */
struct slap_matching_rule *mr,
struct berval * in,
- struct berval * out ));
+ struct berval * out,
+ void *memctx ));
/* Match (compare) function */
typedef int slap_mr_match_func LDAP_P((
struct slap_matching_rule *mr,
struct berval *prefix,
BerVarray values,
- BerVarray *keys ));
+ BerVarray *keys,
+ void *memctx ));
/* Filter index function */
typedef int slap_mr_filter_func LDAP_P((
struct slap_matching_rule *mr,
struct berval *prefix,
void * assertValue,
- BerVarray *keys ));
+ BerVarray *keys,
+ void *memctx ));
typedef struct slap_matching_rule_use MatchingRuleUse;
ObjectClass *si_oc_rootdse;
ObjectClass *si_oc_subentry;
ObjectClass *si_oc_subschema;
- ObjectClass *si_oc_monitor;
ObjectClass *si_oc_collectiveAttributeSubentry;
ObjectClass *si_oc_dynamicObject;
#ifdef LDAP_API_FEATURE_X_OPENLDAP_V2_KBIND
AttributeDescription *si_ad_krbName;
#endif
-
+
/* Undefined Attribute Type */
AttributeType *si_at_undefined;
LDAPControl **o_ctrls; /* controls */
void *o_threadctx; /* thread pool thread context */
+ void *o_tmpmemctx; /* slab malloc context */
+ BerMemoryFunctions *o_tmpmfuncs;
+#define o_tmpalloc o_tmpmfuncs->bmf_malloc
+#define o_tmpcalloc o_tmpmfuncs->bmf_calloc
+#define o_tmprealloc o_tmpmfuncs->bmf_realloc
+#define o_tmpfree o_tmpmfuncs->bmf_free
void *o_private; /* anything the backend needs */
LDAP_STAILQ_ENTRY(slap_op) o_next; /* next operation in list */