debug.h

Go to the documentation of this file.
00001 /*
00002 Copyright (C) 2003-2004 Douglas Thain and the University of Wisconsin
00003 Copyright (C) 2005- The University of Notre Dame
00004 This software is distributed under the GNU General Public License.
00005 See the file COPYING for details.
00006 */
00007 
00008 #ifndef DEBUG_H
00009 #define DEBUG_H
00010 
00035 #include <stdio.h>
00036 #include <unistd.h>
00037 #include <sys/types.h>
00038 
00039 #include "int_sizes.h"
00040 
00041 #define D_SYSCALL  0x000000001  
00042 #define D_CHANNEL  0x000000002  
00043 #define D_PROCESS  0x000000004  
00044 #define D_NOTICE   0x000000008  
00045 #define D_RESOLVE  0x000000010  
00046 #define D_LIBCALL  0x000000020  
00047 #define D_LOCAL    0x000000040  
00048 #define D_DNS      0x000000080  
00049 #define D_TCP      0x000000100  
00050 #define D_AUTH     0x000000200  
00051 #define D_IRODS    0x000000400  
00052 #define D_LANDLORD 0x000000800  
00053 #define D_HTTP     0x000001000  
00054 #define D_FTP      0x000002000  
00055 #define D_NEST     0x000004000  
00056 #define D_GROW     0x000008000  
00057 #define D_CHIRP    0x000010000  
00058 #define D_DCAP     0x000020000  
00059 #define D_RFIO     0x000040000  
00060 #define D_GLITE    0x000080000  
00061 #define D_MULTI    0x000100000  
00062 #define D_PSTREE   0x000200000  
00063 #define D_ALLOC    0x000400000  
00064 #define D_LFC      0x000800000  
00065 #define D_GFAL     0x001000000  
00066 #define D_SUMMARY  0x002000000  
00067 #define D_DEBUG    0x004000000  
00068 #define D_LOGIN    0x008000000  
00069 #define D_CACHE    0x010000000  
00070 #define D_POLL     0x020000000  
00071 #define D_HDFS     0x040000000  
00072 #define D_WQ       0x080000000  
00073 #define D_BXGRID   0x100000000LL  
00074 #define D_USER     0x200000000LL  
00077 #define D_REMOTE   (D_HTTP|D_FTP|D_NEST|D_CHIRP|D_DCAP|D_RFIO|D_LFC|D_GFAL|D_MULTI|D_GROW|D_IRODS|D_HDFS|D_BXGRID)
00078 
00080 #define D_ALL      0xfffffffffLL
00081 
00082 /*
00083 It turns out that many libraries and tools make use of
00084 symbols like "debug" and "fatal".  This causes strange
00085 failures when we link against such codes.  Rather than change
00086 all of our code, we simply insert these defines to
00087 transparently modify the linker namespace we are using.
00088 */
00089 
00090 #define debug                  cctools_debug
00091 #define fatal                  cctools_fatal
00092 #define debug_config           cctools_debug_config
00093 #define debug_config_file      cctools_debug_config_file
00094 #define debug_config_file_size cctools_debug_config_file_size
00095 #define debug_config_fatal     cctools_debug_config_fatal
00096 #define debug_config_getpid    cctools_debug_config_getpid
00097 #define debug_flags_set        cctools_debug_flags_set
00098 #define debug_flags_print      cctools_debug_flags_print
00099 #define debug_flags_clear      cctools_debug_flags_clear
00100 #define debug_flags_restore    cctools_debug_flags_restore
00101 #define debug_set_flag_name    cctools_debug_set_flag_name
00102 
00109 void debug( INT64_T flags, const char *fmt, ... );
00110 
00116 void fatal( const char *fmt, ... );
00117 
00123 void debug_config( const char *name );
00124 
00131 void debug_config_file( const char *file );
00132 
00140 void debug_config_file_size( int size );
00141 
00142 void debug_config_fatal( void (*callback)(void) );
00143 void debug_config_getpid( pid_t (*getpidfunc)(void) );
00144 
00153 int  debug_flags_set( const char *flagname );
00154 
00161 void debug_flags_print( FILE *stream );
00162 
00168 int  debug_flags_clear(void);
00169 
00176 void debug_set_flag_name( INT64_T flag, const char *name );
00177 
00178 #endif
00179 

Generated on Tue Mar 15 12:40:56 2011 for cctools by  doxygen 1.4.7