]> git.sur5r.net Git - openldap/blobdiff - include/ldap_log.h
Validate ber on get/set option calls
[openldap] / include / ldap_log.h
index 7efc5872c72a231b36e2acdb19a5c91ebe526d66..d52358d430558598e110052dec0b62c8cd65f9b9 100644 (file)
@@ -1,4 +1,14 @@
+/* $OpenLDAP$ */
 /*
+ * Copyright 1998-2000 The OpenLDAP Foundation, Redwood City, California, USA
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms are permitted only
+ * as authorized by the OpenLDAP Public License.  A copy of this
+ * license is available at http://www.OpenLDAP.org/license.html or
+ * in file LICENSE in the top-level directory of the distribution.
+ */
+/* Portions
  * Copyright (c) 1990 Regents of the University of Michigan.
  * All rights reserved.
  *
 
 LDAP_BEGIN_DECL
 
+#define LDAP_DEBUG_TRACE       0x0001
+#define LDAP_DEBUG_PACKETS     0x0002
+#define LDAP_DEBUG_ARGS                0x0004
+#define LDAP_DEBUG_CONNS       0x0008
+#define LDAP_DEBUG_BER         0x0010
+#define LDAP_DEBUG_FILTER      0x0020
+#define LDAP_DEBUG_CONFIG      0x0040
+#define LDAP_DEBUG_ACL         0x0080
+#define LDAP_DEBUG_STATS       0x0100
+#define LDAP_DEBUG_STATS2      0x0200
+#define LDAP_DEBUG_SHELL       0x0400
+#define LDAP_DEBUG_PARSE       0x0800
+
+#define LDAP_DEBUG_DEPRECATED  0x1000
+#define LDAP_DEBUG_NONE                0x8000
+#define LDAP_DEBUG_ANY         -1
+
 /* debugging stuff */
 #ifdef LDAP_DEBUG
+
+/*
+ * This is a bogus extern declaration for the compiler. No need to ensure
+ * a 'proper' dllimport.
+ */
+#ifndef ldap_debug
 extern int     ldap_debug;
+#endif /* !ldap_debug */
+
 #ifdef LDAP_SYSLOG
 extern int     ldap_syslog;
 extern int     ldap_syslog_level;
 #endif /* LDAP_SYSLOG */
 
-#define LDAP_DEBUG_TRACE       0x001
-#define LDAP_DEBUG_PACKETS     0x002
-#define LDAP_DEBUG_ARGS                0x004
-#define LDAP_DEBUG_CONNS       0x008
-#define LDAP_DEBUG_BER         0x010
-#define LDAP_DEBUG_FILTER      0x020
-#define LDAP_DEBUG_CONFIG      0x040
-#define LDAP_DEBUG_ACL         0x080
-#define LDAP_DEBUG_STATS       0x100
-#define LDAP_DEBUG_STATS2      0x200
-#define LDAP_DEBUG_SHELL       0x400
-#define LDAP_DEBUG_PARSE       0x800
-#define LDAP_DEBUG_ANY         0xffff
-
 /* this doesn't below as part of ldap.h */
 #ifdef LDAP_SYSLOG
 #define Debug( level, fmt, arg1, arg2, arg3 )  \
-       { \
-               if ( ldap_debug & (level) ) \
-                       fprintf( stderr, (fmt), (arg1), (arg2), (arg3) ); \
-               if ( ldap_syslog & level ) \
+       do { \
+               lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3) ); \
+               if ( ldap_syslog & (level) ) \
                        syslog( ldap_syslog_level, (fmt), (arg1), (arg2), (arg3) ); \
-       }
-#else /* LDAP_SYSLOG */
-#ifndef WINSOCK
+       } while ( 0 )
+
+#else
 #define Debug( level, fmt, arg1, arg2, arg3 ) \
-               if ( ldap_debug & (level) ) \
-                       fprintf( stderr, (fmt), (arg1), (arg2), (arg3) );
-#else /* !WINSOCK */
-extern void Debug( int level, char* fmt, ... );
-#endif /* !WINSOCK */
-#endif /* LDAP_SYSLOG */
+       lutil_debug( ldap_debug, (level), (fmt), (arg1), (arg2), (arg3) )
+#endif
+
 #else /* LDAP_DEBUG */
 #define Debug( level, fmt, arg1, arg2, arg3 )
 #endif /* LDAP_DEBUG */
 
+LDAP_LUTIL_F(void) lutil_debug LDAP_P((
+       int debug, int level,
+       const char* fmt, ... )) LDAP_GCCATTR((format(printf, 3, 4)));
+
 LDAP_END_DECL
 
-#endif /* _LDAP_H */
+#endif /* _LDAP_LOG_H */