Main Page | Alphabetical List | Data Structures | File List | Data Fields | Globals | Related Pages

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 a BSD-style 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 #define D_SYSCALL  0x00000001  
00040 #define D_CHANNEL  0x00000002  
00041 #define D_PROCESS  0x00000004  
00042 #define D_NOTICE   0x00000008  
00043 #define D_RESOLVE  0x00000010  
00044 #define D_LIBCALL  0x00000020  
00045 #define D_LOCAL    0x00000040  
00046 #define D_DNS      0x00000080  
00047 #define D_TCP      0x00000100  
00048 #define D_AUTH     0x00000200  
00049 #define D_IRODS    0x00000400  
00050 #define D_CLOUD    0x00000800  
00051 #define D_HTTP     0x00001000  
00052 #define D_FTP      0x00002000  
00053 #define D_NEST     0x00004000  
00054 #define D_GROW     0x00008000  
00055 #define D_CHIRP    0x00010000  
00056 #define D_DCAP     0x00020000  
00057 #define D_RFIO     0x00040000  
00058 #define D_GLITE    0x00080000  
00059 #define D_MULTI    0x00100000  
00060 #define D_PSTREE   0x00200000  
00061 #define D_ALLOC    0x00400000  
00062 #define D_LFC      0x00800000  
00063 #define D_GFAL     0x01000000  
00064 #define D_SUMMARY  0x02000000  
00065 #define D_DEBUG    0x04000000  
00066 #define D_LOGIN    0x08000000  
00067 #define D_CACHE    0x10000000  
00068 #define D_POLL     0x20000000  
00071 #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)
00072 
00074 #define D_ALL      0xffffffff
00075 
00076 /*
00077 It turns out that many libraries and tools make use of
00078 symbols like "debug" and "fatal".  This causes strange
00079 failures when we link against such codes.  Rather than change
00080 all of our code, we simply insert these defines to
00081 transparently modify the linker namespace we are using.
00082 */
00083 
00084 #define debug                  cctools_debug
00085 #define fatal                  cctools_fatal
00086 #define debug_config           cctools_debug_config
00087 #define debug_config_file      cctools_debug_config_file
00088 #define debug_config_file_size cctools_debug_config_file_size
00089 #define debug_config_fatal     cctools_debug_config_fatal
00090 #define debug_config_getpid    cctools_debug_config_getpid
00091 #define debug_flags_set        cctools_debug_flags_set
00092 #define debug_flags_print      cctools_debug_flags_print
00093 #define debug_flags_clear      cctools_debug_flags_clear
00094 #define debug_flags_restore    cctools_debug_flags_restore
00095 
00102 void debug( int flags, char *fmt, ... );
00103 
00109 void fatal( char *fmt, ... );
00110 
00116 void debug_config( char *name );
00117 
00124 void debug_config_file( const char *file );
00125 
00133 void debug_config_file_size( int size );
00134 
00135 void debug_config_fatal( void (*callback) () );
00136 void debug_config_getpid( pid_t (*getpidfunc)() );
00137 
00146 int  debug_flags_set( const char *flagname );
00147 
00154 void debug_flags_print( FILE *stream );
00155 
00161 int  debug_flags_clear();
00162 
00163 #endif
00164 

Generated on Thu Sep 11 10:01:22 2008 for cctools by  doxygen 1.3.9.1