]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/slap.h
Fix conversion of IDL to range
[openldap] / servers / slapd / slap.h
index 80509e11dfffa4b68d7fde969088ae71c094c2e1..49a89018743551cd7dc3116ace4ca1490b438d36 100644 (file)
@@ -110,12 +110,25 @@ LDAP_BEGIN_DECL
 # define SLAP_STRING_UNKNOWN   "unknown"
 #endif /* ! TCP Wrappers */
 
-/* LDAPMod.mod_op value ===> Must be kept in sync with ldap.h!
- * This is a value used internally by the backends. It is needed to allow
- * adding values that already exist without getting an error as required by
- * modrdn when the new rdn was already an attribute value itself.
+/* LDAPMod.mod_op value ===> Must be kept in sync with ldap.h! */
+/* These values are used internally by the backends. */
+/* SLAP_MOD_SOFTADD allows adding values that already exist without getting
+ * an error as required by modrdn when the new rdn was already an attribute
+ * value itself.
+ */
+#define SLAP_MOD_SOFTADD               0x1000
+/* SLAP_MOD_SOFTDEL allows deleting values if they exist without getting
+ * an error otherwise.
+ */
+#define SLAP_MOD_SOFTDEL               0x1001
+/* SLAP_MOD_ADD_IF_NOT_PRESENT allows adding values unless the attribute
+ * is already present without getting an error.
+ */
+#define SLAP_MOD_ADD_IF_NOT_PRESENT    0x1002
+/* SLAP_MOD_DEL_IF_PRESENT allows deleting values if the attribute
+ * is present, without getting an error otherwise.
+ * The semantics can be obtained using SLAP_MOD_SOFTDEL with NULL values.
  */
-#define SLAP_MOD_SOFTADD       0x1000
 
 #define MAXREMATCHES (100)
 
@@ -129,10 +142,10 @@ LDAP_BEGIN_DECL
 
 #define SLAP_TEXT_BUFLEN (256)
 
-/* psuedo error code indicating abandoned operation */
+/* pseudo error code indicating abandoned operation */
 #define SLAPD_ABANDON (-1024)
 
-/* psuedo error code indicating disconnect */
+/* pseudo error code indicating disconnect */
 #define SLAPD_DISCONNECT (-1025)
 
 /* unknown config file directive */
@@ -3025,7 +3038,6 @@ typedef int (*SLAP_ENTRY_INFO_FN) LDAP_P(( void *arg, Entry *e ));
 
 #define SLAP_SLAB_SIZE (1024*1024)
 #define SLAP_SLAB_STACK 1
-#define SLAP_SLAB_SOBLOCK 64
 
 #define SLAP_ZONE_ALLOC 1
 #undef SLAP_ZONE_ALLOC
@@ -3255,25 +3267,6 @@ struct ComponentSyntaxInfo {
 
 #endif /* LDAP_COMP_MATCH */
 
-/* slab heap data structures */
-
-struct slab_object {
-    void *so_ptr;
-       int so_blockhead;
-    LDAP_LIST_ENTRY(slab_object) so_link;
-};
-
-struct slab_heap {
-    void *sh_base;
-    void *sh_last;
-    void *sh_end;
-       int sh_stack;
-       int sh_maxorder;
-    unsigned char **sh_map;
-    LDAP_LIST_HEAD( sh_freelist, slab_object ) *sh_free;
-       LDAP_LIST_HEAD( sh_so, slab_object ) sh_sopool;
-};
-
 #ifdef SLAP_ZONE_ALLOC
 #define SLAP_ZONE_SIZE 0x80000         /* 512KB */
 #define SLAP_ZONE_SHIFT 19