]> git.sur5r.net Git - openldap/blobdiff - libraries/liblber/lber-int.h
ITS#2657: authzid (and assertion) should apply to most everything
[openldap] / libraries / liblber / lber-int.h
index bb2ade16fcab98f3f1dcc7879b1dd04fb1756c69..b04c43b09283c0b39fe108b40a7f4593d8269665 100644 (file)
@@ -1,6 +1,6 @@
 /* $OpenLDAP$ */
 /*
- * Copyright 1998-2000 The OpenLDAP Foundation, All Rights Reserved.
+ * Copyright 1998-2003 The OpenLDAP Foundation, All Rights Reserved.
  * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
  */
 /* Portions
 #include "lber.h"
 #include "ldap_log.h"
 #include "lber_pvt.h"
+#include "ldap_queue.h"
 
 LDAP_BEGIN_DECL
 
-LBER_F (BER_ERRNO_FN) ber_int_errno_fn;
+typedef void (*BER_LOG_FN)(FILE *file,
+       const char *subsys, int level, const char *fmt, ... );
+
+LBER_V (BER_ERRNO_FN) ber_int_errno_fn;
 
 struct lber_options {
        short lbo_valid;
@@ -34,24 +38,33 @@ struct lber_options {
 };
 
 #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,
+       const char *fmt, ... );
+
 #define LBER_UNINITIALIZED             0x0
 #define LBER_INITIALIZED               0x1
 #define LBER_VALID_BERELEMENT  0x2
 #define LBER_VALID_SOCKBUF             0x3
 
-LBER_F (struct lber_options) ber_int_options;
+LBER_V (struct lber_options) ber_int_options;
 #define ber_int_debug ber_int_options.lbo_debug
 
 struct berelement {
@@ -60,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;
@@ -71,8 +84,9 @@ struct berelement {
 
        struct seqorset *ber_sos;
        char            *ber_rwptr;
+       void            *ber_memctx;
 };
-#define BER_VALID(ber) ((ber)->ber_valid==LBER_VALID_BERELEMENT)
+#define LBER_VALID(ber)        ((ber)->ber_valid==LBER_VALID_BERELEMENT)
 
 #define ber_pvt_ber_remaining(ber)     ((ber)->ber_end - (ber)->ber_ptr)
 #define ber_pvt_ber_total(ber)         ((ber)->ber_end - (ber)->ber_buf)
@@ -92,8 +106,6 @@ struct sockbuf {
 
 #define SOCKBUF_VALID( sb )    ( (sb)->sb_valid == LBER_VALID_SOCKBUF )
 
-#define READBUFSIZ     8192
-
 struct seqorset {
        BerElement      *sos_ber;
        ber_len_t       sos_clen;
@@ -107,10 +119,16 @@ struct seqorset {
 /*
  * io.c
  */
-int ber_realloc LDAP_P((
+LBER_F( int )
+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
  */
@@ -119,10 +137,10 @@ int ber_realloc LDAP_P((
 #ifdef NEW_LOGGING
 LBER_F( int )
 ber_output_dump LDAP_P((
-                        char *subsys,
-                        int level,
-                        BerElement *ber,
-                        int inout ));
+       const char *subsys,
+       int level,
+       BerElement *ber,
+       int inout ));
 #endif
 
 LBER_F( int )
@@ -145,33 +163,14 @@ ber_log_sos_dump LDAP_P((
        int loglvl,
        Seqorset *sos ));
 
+LBER_V (BER_LOG_FN) ber_int_log_proc;
+LBER_V (FILE *) ber_pvt_err_file;
 
 /* memory.c */
        /* simple macros to realloc for now */
-LBER_F (BerMemoryFunctions *)  ber_int_memory_fns;
-
-#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
-
-#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_V (BerMemoryFunctions *)  ber_int_memory_fns;
+LBER_F (char *)        ber_strndup( LDAP_CONST char *, ber_len_t );
+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))
@@ -179,7 +178,7 @@ LBER_F (BerMemoryFunctions *)       ber_int_memory_fns;
 #define LBER_FREE(p)           ber_memfree((p))        
 #define LBER_VFREE(v)          ber_memvfree((void**)(v))
 #define LBER_STRDUP(s)         ber_strdup((s))
-#endif
+#define LBER_STRNDUP(s,l)      ber_strndup((s),(l))
 
 /* sockbuf.c */