]> git.sur5r.net Git - openldap/blobdiff - libraries/liblber/lber-int.h
use lutil_ato*() whenever appropriate
[openldap] / libraries / liblber / lber-int.h
index c3e7ecf42c4f6a8f1fde936d207fb767a671708a..16cabd995cbb0d8893e07abf50105eacdb63d510 100644 (file)
@@ -1,10 +1,18 @@
 /* $OpenLDAP$ */
-/*
- * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
- * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+/* This work is part of OpenLDAP Software <http://www.openldap.org/>.
+ *
+ * Copyright 1998-2005 The OpenLDAP Foundation.
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted only as authorized by the OpenLDAP
+ * Public License.
+ *
+ * A copy of this license is available in the file LICENSE in the
+ * top-level directory of the distribution or, alternatively, at
+ * <http://www.OpenLDAP.org/license.html>.
  */
-/* Portions
- * Copyright (c) 1990 Regents of the University of Michigan.
+/* Portions Copyright (c) 1990 Regents of the University of Michigan.
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms are permitted
@@ -21,6 +29,7 @@
 #include "lber.h"
 #include "ldap_log.h"
 #include "lber_pvt.h"
+#include "ldap_queue.h"
 
 LDAP_BEGIN_DECL
 
@@ -29,26 +38,22 @@ typedef void (*BER_LOG_FN)(FILE *file,
 
 LBER_V (BER_ERRNO_FN) ber_int_errno_fn;
 
+#ifdef LDAP_MEMORY_TRACE
+# ifndef LDAP_MEMORY_DEBUG
+#  define LDAP_MEMORY_DEBUG 1
+# endif
+#endif
+
+#ifdef LDAP_MEMORY_DEBUG
+LBER_V (long)  ber_int_meminuse;
+#endif
+
 struct lber_options {
        short lbo_valid;
        unsigned short          lbo_options;
        int                     lbo_debug;
-       long            lbo_meminuse;
 };
 
-#ifdef NEW_LOGGING
-#    ifdef LDAP_DEBUG
-#        ifdef LDAP_LOG
-#            undef LDAP_LOG
-#        endif
-#        define LDAP_LOG(a) ber_pvt_log_output a
-#        define BER_DUMP(a) ber_output_dump a
-#    else
-#        define LDAP_LOG(a)
-#        define BER_DUMP(a)
-#    endif
-#endif
-
 LBER_F( int ) ber_pvt_log_output(
        const char *subsystem,
        int level,
@@ -68,10 +73,10 @@ struct berelement {
 #define ber_options            ber_opts.lbo_options
 #define ber_debug              ber_opts.lbo_debug
 
-       ber_tag_t       ber_usertag;
-
+       /* Do not change the order of these 3 fields! see ber_get_next */
        ber_tag_t       ber_tag;
        ber_len_t       ber_len;
+       ber_tag_t       ber_usertag;
 
        char            *ber_buf;
        char            *ber_ptr;
@@ -79,6 +84,7 @@ struct berelement {
 
        struct seqorset *ber_sos;
        char            *ber_rwptr;
+       void            *ber_memctx;
 };
 #define LBER_VALID(ber)        ((ber)->ber_valid==LBER_VALID_BERELEMENT)
 
@@ -118,20 +124,16 @@ ber_realloc LDAP_P((
        BerElement *ber,
        ber_len_t len ));
 
+LBER_F (char *) ber_start LDAP_P(( BerElement * ));
+LBER_F (int) ber_len LDAP_P(( BerElement * ));
+LBER_F (int) ber_ptrlen LDAP_P(( BerElement * ));
+LBER_F (void) ber_rewind LDAP_P(( BerElement * ));
+
 /*
  * bprint.c
  */
 #define ber_log_printf ber_pvt_log_printf
 
-#ifdef NEW_LOGGING
-LBER_F( int )
-ber_output_dump LDAP_P((
-       const char *subsys,
-       int level,
-       BerElement *ber,
-       int inout ));
-#endif
-
 LBER_F( int )
 ber_log_bprint LDAP_P((
        int errlvl,
@@ -159,31 +161,7 @@ LBER_V (FILE *) ber_pvt_err_file;
        /* simple macros to realloc for now */
 LBER_V (BerMemoryFunctions *)  ber_int_memory_fns;
 LBER_F (char *)        ber_strndup( LDAP_CONST char *, ber_len_t );
-LBER_F (char *)        ber_strndup__( LDAP_CONST char *, size_t );
-
-#ifdef CSRIMALLOC
-#define LBER_INT_MALLOC                malloc
-#define LBER_INT_CALLOC                calloc
-#define LBER_INT_REALLOC       realloc
-#define LBER_INT_FREE          free
-#define LBER_INT_VFREE         ber_memvfree
-#define LBER_INT_STRDUP                strdup
-
-#define LBER_MALLOC                    malloc
-#define LBER_CALLOC                    calloc
-#define LBER_REALLOC           realloc
-#define LBER_FREE                      free
-#define LBER_VFREE                     ber_memvfree
-#define LBER_STRDUP                    strdup
-#define LBER_STRNDUP                   ber_strndup__
-
-#else
-#define LBER_INT_MALLOC(s)             ber_memalloc((s))
-#define LBER_INT_CALLOC(n,s)   ber_memcalloc((n),(s))
-#define LBER_INT_REALLOC(p,s)  ber_memrealloc((p),(s))
-#define LBER_INT_FREE(p)               ber_memfree((p))
-#define LBER_INT_VFREE(v)              ber_memvfree((void**)(v))
-#define LBER_INT_STRDUP(s)             ber_strdup((s))
+LBER_F (char *)        ber_strndup_x( LDAP_CONST char *, ber_len_t, void *ctx );
 
 #define LBER_MALLOC(s)         ber_memalloc((s))
 #define LBER_CALLOC(n,s)       ber_memcalloc((n),(s))
@@ -192,7 +170,6 @@ LBER_F (char *)     ber_strndup__( LDAP_CONST char *, size_t );
 #define LBER_VFREE(v)          ber_memvfree((void**)(v))
 #define LBER_STRDUP(s)         ber_strdup((s))
 #define LBER_STRNDUP(s,l)      ber_strndup((s),(l))
-#endif
 
 /* sockbuf.c */