]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
compare attribute type, not value
[openldap] / servers / slapd / slap.h
index 8079c7329885e5149c7f0947bfe4a4725c55a733..06decced857bd7a70f6174bbb57542bb35393f80 100644 (file)
@@ -69,14 +69,13 @@ LDAP_BEGIN_DECL
  */
 #define SLAP_MOD_SOFTADD       0x1000
 
-#define ON     (1)
-#define OFF    (-1)
-#define UNDEFINED (0)
-
 #define MAXREMATCHES (10)
 
 #define SLAP_MAX_WORKER_THREADS                (32)
 
+#define SLAP_SB_MAX_INCOMING_DEFAULT ((1<<18) - 1)
+#define SLAP_SB_MAX_INCOMING_AUTH ((1<<24) - 1)
+
 #define SLAP_TEXT_BUFLEN (256)
 
 /* psuedo error code indicating abandoned operation */
@@ -196,7 +195,6 @@ typedef struct slap_ssf_set {
 #define SLAP_INDEX_FLAGS         0xF000UL
 #define SLAP_INDEX_NOSUBTYPES    0x1000UL /* don't use index w/ subtypes */
 #define SLAP_INDEX_NOLANG        0x2000UL /* don't use index w/ lang */
-#define SLAP_INDEX_AUTO_SUBTYPES 0x4000UL /* use mask with lang subtypes */
 
 /*
  * there is a single index for each attribute.  these prefixes ensure
@@ -329,8 +327,8 @@ typedef int slap_mr_indexer_func LDAP_P((
        struct slap_syntax *syntax,     /* syntax of stored value */
        struct slap_matching_rule *mr,
        struct berval *prefix,
-       BVarray values,
-       BVarray *keys ));
+       BerVarray values,
+       BerVarray *keys ));
 
 /* Filter index function */
 typedef int slap_mr_filter_func LDAP_P((
@@ -340,11 +338,11 @@ typedef int slap_mr_filter_func LDAP_P((
        struct slap_matching_rule *mr,
        struct berval *prefix,
        void * assertValue,
-       BVarray *keys ));
+       BerVarray *keys ));
 
 typedef struct slap_matching_rule {
        LDAPMatchingRule                smr_mrule;
-       ber_len_t                       smr_oidlen;
+       ber_len_t                               smr_oidlen;
        slap_mask_t                             smr_usage;
 
 #define SLAP_MR_HIDE                   0x8000U
@@ -432,13 +430,13 @@ typedef struct slap_attribute_type {
        AttributeTypeSchemaCheckFN      *sat_check;
        slap_mask_t                                     sat_flags;
 
-       struct slap_attr_desc           *sat_ad;
-       ldap_pvt_thread_mutex_t         sat_ad_mutex;
-#define sat_oid                        sat_atype.at_oid
-#define sat_names              sat_atype.at_names
-#define sat_desc               sat_atype.at_desc
+       struct slap_attribute_type      *sat_next;
+
+#define sat_oid                                sat_atype.at_oid
+#define sat_names                      sat_atype.at_names
+#define sat_desc                       sat_atype.at_desc
 #define sat_obsolete           sat_atype.at_obsolete
-#define sat_sup_oid            sat_atype.at_sup_oid
+#define sat_sup_oid                    sat_atype.at_sup_oid
 #define sat_equality_oid       sat_atype.at_equality_oid
 #define sat_ordering_oid       sat_atype.at_ordering_oid
 #define sat_substr_oid         sat_atype.at_substr_oid
@@ -446,10 +444,11 @@ typedef struct slap_attribute_type {
 #define sat_single_value       sat_atype.at_single_value
 #define sat_collective         sat_atype.at_collective
 #define sat_no_user_mod                sat_atype.at_no_user_mod
-#define sat_usage              sat_atype.at_usage
+#define sat_usage                      sat_atype.at_usage
 #define sat_extensions         sat_atype.at_extensions
 
-       struct slap_attribute_type      *sat_next;
+       struct slap_attr_desc           *sat_ad;
+       ldap_pvt_thread_mutex_t         sat_ad_mutex;
 } AttributeType;
 
 #define is_at_operational(at)  ((at)->sat_usage)
@@ -487,7 +486,7 @@ typedef struct slap_object_class {
        struct slap_object_class        *soc_next;
 } ObjectClass;
 
-#ifdef LDAP_DIT_CONTENT_RULES
+#ifdef LDAP_EXTENDED_SCHEMA
 /*
  * DIT content rule
  */
@@ -713,8 +712,11 @@ typedef struct slap_filter {
  */
 typedef struct slap_attr {
        AttributeDescription *a_desc;
-       BVarray a_vals;
+       BerVarray       a_vals;
        struct slap_attr        *a_next;
+       unsigned a_flags;
+#define SLAP_ATTR_IXADD                0x1U
+#define SLAP_ATTR_IXDEL                0x2U
 } Attribute;
 
 
@@ -755,7 +757,7 @@ typedef struct slap_mod {
        int sm_op;
        AttributeDescription *sm_desc;
        struct berval sm_type;
-       BVarray sm_bvalues;
+       BerVarray sm_bvalues;
 } Modification;
 
 typedef struct slap_mod_list {
@@ -1118,7 +1120,7 @@ struct slap_backend_db {
        struct slap_replica_info **be_replica;  /* replicas of this backend (in master) */
        char    *be_replogfile; /* replication log file (in master)        */
        struct berval be_update_ndn;    /* allowed to make changes (in replicas) */
-       BVarray be_update_refs; /* where to refer modifying clients to */
+       BerVarray       be_update_refs; /* where to refer modifying clients to */
        char    *be_realm;
 
        void    *be_private;    /* anything the backend database needs     */
@@ -1191,7 +1193,7 @@ typedef int (BI_op_extended) LDAP_P((
     struct berval ** rspdata,
        LDAPControl *** rspctrls,
        const char **   text,
-       BVarray *refs ));
+       BerVarray *refs ));
 
 typedef int (BI_entry_release_rw) LDAP_P((BackendDB *bd,
                struct slap_conn *c, struct slap_op *o,
@@ -1214,7 +1216,7 @@ typedef int (BI_acl_attribute)  LDAP_P((Backend *bd,
                struct slap_conn *c, struct slap_op *o,
                Entry *e, struct berval *edn,
                AttributeDescription *entry_at,
-               BVarray *vals ));
+               BerVarray *vals ));
 
 typedef int (BI_operational)  LDAP_P((Backend *bd,
                struct slap_conn *c, struct slap_op *o,
@@ -1354,16 +1356,13 @@ struct slap_backend_info {
 #define o_tls_ssf              o_authz.sai_tls_ssf
 #define o_sasl_ssf             o_authz.sai_sasl_ssf
 
-struct slap_op;
-struct slap_conn;
-
 typedef void (slap_response)( struct slap_conn *, struct slap_op *,
        ber_tag_t, ber_int_t, ber_int_t, const char *, const char *,
-       BVarray, const char *, struct berval *,
+       BerVarray, const char *, struct berval *,
        struct berval *, LDAPControl ** );
 
 typedef void (slap_sresult)( struct slap_conn *, struct slap_op *,
-       ber_int_t, const char *, const char *, BVarray,
+       ber_int_t, const char *, const char *, BerVarray,
        LDAPControl **, int nentries);
 
 typedef int (slap_sendentry)( BackendDB *, struct slap_conn *,
@@ -1521,11 +1520,6 @@ typedef struct sasl_regexp {
   int offset[SASLREGEX_REPLACE+2];        /* offsets of $1,$2... in *replace */
 } SaslRegexp_t;
 
-/* Flags for telling slap_sasl_getdn() what type of identity is being passed */
-#define FLAG_GETDN_FINAL   1
-#define FLAG_GETDN_AUTHCID 2
-#define FLAG_GETDN_AUTHZID 4
-
 /*
  * listener; need to access it from monitor backend
  */