]> git.sur5r.net Git - openldap/blobdiff - include/lber.h
Fix select/yield
[openldap] / include / lber.h
index ea24431fcc1e2933462b0c11b3324bc1f9d7c05f..c01b3acc04f59ac2ff4412317ea0a910e6e3050f 100644 (file)
@@ -90,6 +90,7 @@ LDAP_BEGIN_DECL
 #define LBER_OPT_BER_REMAINING_BYTES   0x03
 #define LBER_OPT_BER_TOTAL_BYTES               0x04
 #define LBER_OPT_BER_BYTES_TO_WRITE            0x05
+#define LBER_OPT_BER_MEMCTX                            0x06
 
 #define LBER_OPT_DEBUG_LEVEL   LBER_OPT_BER_DEBUG
 #define LBER_OPT_REMAINING_BYTES       LBER_OPT_BER_REMAINING_BYTES
@@ -109,16 +110,16 @@ typedef int* (*BER_ERRNO_FN) LDAP_P(( void ));
 
 typedef void (*BER_LOG_PRINT_FN) LDAP_P(( LDAP_CONST char *buf ));
 
-typedef void* (*BER_MEMALLOC_FN)       LDAP_P(( ber_len_t size ));
-typedef void* (*BER_MEMCALLOC_FN)      LDAP_P(( ber_len_t n, ber_len_t size ));
-typedef void* (*BER_MEMREALLOC_FN)     LDAP_P(( void *p, ber_len_t size ));
-typedef void  (*BER_MEMFREE_FN)                LDAP_P(( void *p ));
+typedef void* (BER_MEMALLOC_FN)        LDAP_P(( ber_len_t size, void *ctx ));
+typedef void* (BER_MEMCALLOC_FN)       LDAP_P(( ber_len_t n, ber_len_t size, void *ctx ));
+typedef void* (BER_MEMREALLOC_FN)      LDAP_P(( void *p, ber_len_t size, void *ctx ));
+typedef void  (BER_MEMFREE_FN)         LDAP_P(( void *p, void *ctx ));
 
 typedef struct lber_memory_fns {
-       BER_MEMALLOC_FN bmf_malloc;
-       BER_MEMCALLOC_FN bmf_calloc;
-       BER_MEMREALLOC_FN bmf_realloc;
-       BER_MEMFREE_FN bmf_free;
+       BER_MEMALLOC_FN *bmf_malloc;
+       BER_MEMCALLOC_FN *bmf_calloc;
+       BER_MEMREALLOC_FN *bmf_realloc;
+       BER_MEMFREE_FN *bmf_free;
 } BerMemoryFunctions;
 
 /* LBER Sockbuf_IO options */
@@ -148,7 +149,8 @@ typedef struct lber_memory_fns {
 #define LBER_OPT_SOCKBUF_DEBUG         0x1002
 
 /* on/off values */
-#define LBER_OPT_ON            ((void *) 1)
+extern char ber_pvt_opt_on;
+#define LBER_OPT_ON            ((void *) &ber_pvt_opt_on)
 #define LBER_OPT_OFF   ((void *) 0)
 
 #define LBER_OPT_SUCCESS       (0)
@@ -475,6 +477,10 @@ ber_flatten2 LDAP_P((
        struct berval *bv,
        int alloc ));
 
+LBER_F( int )
+ber_remaining LDAP_P((
+       BerElement *ber ));
+
 /*
  * LBER ber accessor functions
  */