]> git.sur5r.net Git - openldap/blobdiff - servers/slapd/sl_malloc.c
ITS#6437, move structs slab_object and slab_heap from slap.h to sl_malloc.c
[openldap] / servers / slapd / sl_malloc.c
index 11f05fb78cf59cb3330bcca8e7800f5dbd370015..6c9b8a21d6f489b287089fbbcd683f9633505006 100644 (file)
@@ -62,6 +62,25 @@ enum { No_sl_malloc = 1 };
 enum { No_sl_malloc = 0 };
 #endif
 
+#define SLAP_SLAB_SOBLOCK 64
+
+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;
+};
+
 enum {
        Align = sizeof(ber_len_t) > 2*sizeof(int)
                ? sizeof(ber_len_t) : 2*sizeof(int),