X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=libraries%2Fliblber%2Flber-int.h;h=7686cd57d90344b056aedda0547823f04e30c8e5;hb=62da0b6738e9329e2715699b7ac9556575ba83f1;hp=78cac6d0a08ac96c5366ce2fe389f454a381a85a;hpb=3fdbbcaba33f0a1c8c31c91a09a3958c4b2ed45d;p=openldap diff --git a/libraries/liblber/lber-int.h b/libraries/liblber/lber-int.h index 78cac6d0a0..7686cd57d9 100644 --- a/libraries/liblber/lber-int.h +++ b/libraries/liblber/lber-int.h @@ -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 . + * + * Copyright 1998-2004 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 + * . */ -/* 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,10 +29,14 @@ #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 +46,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 +81,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 +92,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) @@ -87,12 +109,11 @@ struct sockbuf { ber_socket_t sb_fd; unsigned int sb_trans_needs_read:1; unsigned int sb_trans_needs_write:1; + ber_len_t sb_max_incoming; }; #define SOCKBUF_VALID( sb ) ( (sb)->sb_valid == LBER_VALID_SOCKBUF ) -#define READBUFSIZ 8192 - struct seqorset { BerElement *sos_ber; ber_len_t sos_clen; @@ -106,10 +127,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 */ @@ -118,10 +145,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 ) @@ -144,33 +171,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)) @@ -178,7 +186,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 */