summaryrefslogtreecommitdiff
path: root/source3/include
diff options
context:
space:
mode:
Diffstat (limited to 'source3/include')
-rw-r--r--source3/include/proto.h14
-rw-r--r--source3/include/smb.h68
2 files changed, 68 insertions, 14 deletions
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 56d72bd339..10f01c1b9d 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -160,6 +160,15 @@ BOOL deal_with_creds(uchar sess_key[8],
DOM_CRED *sto_clnt_cred,
DOM_CRED *rcv_clnt_cred, DOM_CRED *rtn_srv_cred);
+/*The following definitions come from debug.c */
+
+int sig_usr2( void );
+int sig_usr1( void );
+void setup_logging( char *pname, BOOL interactive );
+void reopen_logs( void );
+void force_check_log_size( void );
+BOOL dbghdr( int level, char *file, char *func, int line );
+
/*The following definitions come from dfree.c */
int sys_disk_free(char *path,int *bsize,int *dfree,int *dsize);
@@ -1972,11 +1981,6 @@ BOOL user_in_list(char *user,char *list);
/*The following definitions come from util.c */
-int sig_usr2(void);
-int sig_usr1(void);
-void setup_logging(char *pname,BOOL interactive);
-void reopen_logs(void);
-void force_check_log_size(void);
char *tmpdir(void);
BOOL is_a_socket(int fd);
BOOL next_token(char **ptr,char *buff,char *sep);
diff --git a/source3/include/smb.h b/source3/include/smb.h
index 115d8ce31b..60e214d73e 100644
--- a/source3/include/smb.h
+++ b/source3/include/smb.h
@@ -90,17 +90,69 @@ typedef unsigned short uint16;
/* how long to wait for secondary SMB packets (milli-seconds) */
#define SMB_SECONDARY_WAIT (60*1000)
-/* debugging code */
-#if !defined(WITH_SYSLOG) || defined(NO_SYSLOG)
-#define DEBUG(level,body) ((DEBUGLEVEL>=(level))?(Debug1 body):0)
-#define DEBUGLVL(level) (DEBUGLEVEL>=(level))
+/* -------------------------------------------------------------------------- **
+ * Debugging code. See also debug.c
+ */
+
+/* mkproto.awk has trouble with ifdef'd function definitions (it ignores
+ * the #ifdef directive and will read both definitions, thus creating two
+ * diffferent prototype declarations), so we must do these by hand.
+ */
+#ifdef HAVE_STDARG_H
+int Debug1( char *, ... );
+BOOL dbgtext( char *, ... );
#else
-extern int syslog_level;
+int Debug1();
+BOOL dbgtext();
+#endif
-#define DEBUG(level,body) ((DEBUGLEVEL>=(level))? (syslog_level = (level), Debug1 body):0)
-#define DEBUGLVL(level) ( DEBUGLEVEL >= (syslog_level=(level)) )
+/* If we have these macros, we can add additional info to the header. */
+#ifdef HAVE_FILE_MACRO
+#define FILE_MACRO (__FILE__)
+#else
+#define FILE_MACRO ("")
#endif
+#ifdef HAVE_FUNCTION_MACRO
+#define FUNCTION_MACRO (__FUNCTION__)
+#else
+#define FUNCTION_MACRO ("")
+#endif
+
+/* Debugging macros.
+ * DEBUGLVL() - If level is <= the system-wide DEBUGLEVEL then generate a
+ * header using the default macros for file, line, and
+ * function name.
+ * Returns True if the debug level was <= DEBUGLEVEL.
+ * Example usage:
+ * if( DEBUGLVL( 2 ) )
+ * dbgtext( "Some text.\n" );
+ * DEGUG() - Good old DEBUG(). Each call to DEBUG() will generate a new
+ * header *unless* the previous debug output was unterminated
+ * (i.e., no '\n'). See debug.c:dbghdr() for more info.
+ * Example usage:
+ * DEBUG( 2, ("Some text.\n") );
+ * DEBUGADD() - If level <= DEBUGLEVEL, then the text is appended to the
+ * current message (i.e., no header).
+ * Usage:
+ * DEBUGADD( 2, ("Some additional text.\n") );
+ */
+#define DEBUGLVL( level ) \
+ ( (DEBUGLEVEL>=(level)) \
+ && dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) ) )
+
+#define DEBUG( level, body ) \
+ if( (DEBUGLEVEL>=(level)) \
+ && dbghdr( level, FILE_MACRO, FUNCTION_MACRO, (__LINE__) ) ) \
+ (void)dbgtext body
+
+#define DEBUGADD( level, body ) \
+ if( DEBUGLEVEL>=(level) ) (void)dbgtext body
+
+/* End Debugging code section.
+ * -------------------------------------------------------------------------- **
+ */
+
/* this defines the error codes that receive_smb can put in smb_read_error */
#define READ_TIMEOUT 1
#define READ_EOF 2
@@ -1154,10 +1206,8 @@ struct parm_struct
#define ERRCMD 0xFF /* Command was not in the "SMB" format. */
#ifdef HAVE_STDARG_H
-int Debug1(char *, ...);
int slprintf(char *str, int n, char *format, ...);
#else
-int Debug1();
int slprintf();
#endif