]> git.sur5r.net Git - openldap/blobdiff - libraries/liblber/lber-int.h
Fix text2time to handle 4 digit years. Fix YEAR() to handle
[openldap] / libraries / liblber / lber-int.h
index eef5e18b393cbdbb4694cdf1f378039c91121e15..37db2a986b04661c864ad31d14559eb2f4c09518 100644 (file)
@@ -1,4 +1,8 @@
 /*
+ * Copyright 1998 The OpenLDAP Foundation, All Rights Reserved.
+ * COPYING RESTRICTIONS APPLY, see COPYRIGHT file
+ */
+/* Portions
  * Copyright (c) 1990 Regents of the University of Michigan.
  * All rights reserved.
  *
 #define _LBER_INT_H
 
 #include "lber.h"
+#include "ldap_log.h"
+#include "lber_pvt.h"
 
 LDAP_BEGIN_DECL
 
-typedef struct berelement {
+#define LBER_ITEM_BERELEMENT 1
+#define LBER_ITEM_SOCKBUF 2
+
+extern int lber_int_debug;
+#define lber_log_printf lber_pvt_log_printf
+
+struct berelement {
+       short           ber_item_type;  /* always LBER_ITEM_BERELEMENT */
+       short           ber_options;
+       int                     ber_debug;
+
+       int                     ber_usertag;
+
+       unsigned long   ber_tag;
+       unsigned long   ber_len;
+
        char            *ber_buf;
        char            *ber_ptr;
        char            *ber_end;
+
        struct seqorset *ber_sos;
-       unsigned long   ber_tag;
-       unsigned long   ber_len;
-       int             ber_usertag;
-       char            ber_options;
-#define LBER_USE_DER           0x01
-#define LBER_USE_INDEFINITE_LEN        0x02
-#define LBER_TRANSLATE_STRINGS 0x04
        char            *ber_rwptr;
        BERTranslateProc ber_encode_translate_proc;
        BERTranslateProc ber_decode_translate_proc;
-} BerElement;
+};
 #define NULLBER        ((BerElement *) 0)
 
-typedef struct sockbuf {
+struct sockbuf {
+       short           sb_item_type;   /* always LBER_ITEM_SOCKBUF */
+       short           sb_options;     /* to support copying ber elements */
+       int                     sb_debug;
+
+       int                     sb_fd;
 #ifndef MACOS
        int             sb_sd;
 #else /* MACOS */
        void            *sb_sd;
 #endif /* MACOS */
+
+       long            sb_max_incoming;
+
        BerElement      sb_ber;
 
-       int             sb_naddr;       /* > 0 implies using CLDAP (UDP) */
+       int                     sb_naddr;       /* > 0 implies using CLDAP (UDP) */
        void            *sb_useaddr;    /* pointer to sockaddr to use next */
        void            *sb_fromaddr;   /* pointer to message source sockaddr */
        void            **sb_addrs;     /* actually an array of pointers to
                                                sockaddrs */
-
-       int             sb_options;     /* to support copying ber elements */
-#define LBER_TO_FILE           0x01    /* to a file referenced by sb_fd   */
-#define LBER_TO_FILE_ONLY      0x02    /* only write to file, not network */
-#define LBER_MAX_INCOMING_SIZE 0x04    /* impose limit on incoming stuff  */
-#define LBER_NO_READ_AHEAD     0x08    /* read only as much as requested  */
-       int             sb_fd;
-       long            sb_max_incoming;
-} Sockbuf;
+};
 #define READBUFSIZ     8192
 
-typedef struct seqorset {
+struct seqorset {
        BerElement      *sos_ber;
        unsigned long   sos_clen;
        unsigned long   sos_tag;
        char            *sos_first;
        char            *sos_ptr;
        struct seqorset *sos_next;
-} Seqorset;
+};
 #define NULLSEQORSET   ((Seqorset *) 0)
 
+/*
+ * bprint.c
+ */
+LDAP_F int lber_log_bprint LDAP_P((
+       int errlvl,
+       int loglvl,
+       char *data,
+       int len ));
+
+LDAP_F int lber_log_dump LDAP_P((
+       int errlvl,
+       int loglvl,
+       BerElement *ber,
+       int inout ));
+
+LDAP_F int lber_log_sos_dump LDAP_P((
+       int errlvl,
+       int loglvl,
+       Seqorset *sos ));
+
 #endif /* _LBER_INT_H */