summaryrefslogtreecommitdiff
path: root/source4/lib/ldb/include
diff options
context:
space:
mode:
authorSimo Sorce <idra@samba.org>2005-07-19 09:09:00 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:29:41 -0500
commitbfb11862698743ee36bc6050269378321e6e577c (patch)
treed8fc86c593dfd6d81eb3853646d75e30d58ba52a /source4/lib/ldb/include
parentcb060f8bac4114766a1945c2929a75848d0d7185 (diff)
downloadsamba-bfb11862698743ee36bc6050269378321e6e577c.tar.gz
samba-bfb11862698743ee36bc6050269378321e6e577c.tar.bz2
samba-bfb11862698743ee36bc6050269378321e6e577c.zip
r8585: add to ldb and ldap comparison functionality
better pares filters Approx is currently only a stub need to dig more info to understand what it really means and how it works exactly (This used to be commit a9e8cd0bad27ed2b3c6a12302e787ba3c9a70a3c)
Diffstat (limited to 'source4/lib/ldb/include')
-rw-r--r--source4/lib/ldb/include/ldb.h25
1 files changed, 15 insertions, 10 deletions
diff --git a/source4/lib/ldb/include/ldb.h b/source4/lib/ldb/include/ldb.h
index 485e2bc730..6670089902 100644
--- a/source4/lib/ldb/include/ldb.h
+++ b/source4/lib/ldb/include/ldb.h
@@ -154,20 +154,21 @@ struct ldb_debug_ops {
/* structues for ldb_parse_tree handling code */
-enum ldb_parse_op {LDB_OP_SIMPLE=1, LDB_OP_EXTENDED=2,
- LDB_OP_SUBSTRING=3, LDB_OP_PRESENT=4,
- LDB_OP_AND='&', LDB_OP_OR='|', LDB_OP_NOT='!'};
+enum ldb_parse_op { LDB_OP_AND=1, LDB_OP_OR=2, LDB_OP_NOT=3,
+ LDB_OP_EQUALITY=4, LDB_OP_SUBSTRING=5,
+ LDB_OP_GREATER=6, LDB_OP_LESS=7, LDB_OP_PRESENT=8,
+ LDB_OP_APPROX=9, LDB_OP_EXTENDED=10 };
struct ldb_parse_tree {
enum ldb_parse_op operation;
union {
struct {
- char *attr;
- struct ldb_val value;
- } simple;
+ struct ldb_parse_tree *child;
+ } isnot;
struct {
char *attr;
- } present;
+ struct ldb_val value;
+ } equality;
struct {
char *attr;
int start_with_wildcard;
@@ -176,6 +177,13 @@ struct ldb_parse_tree {
} substring;
struct {
char *attr;
+ } present;
+ struct {
+ char *attr;
+ struct ldb_val value;
+ } comparison;
+ struct {
+ char *attr;
int dnAttributes;
char *rule_id;
struct ldb_val value;
@@ -184,9 +192,6 @@ struct ldb_parse_tree {
unsigned int num_elements;
struct ldb_parse_tree **elements;
} list;
- struct {
- struct ldb_parse_tree *child;
- } isnot;
} u;
};