00001 #ifndef SM_LOGGING_H 00002 #define SM_LOGGING_H 00003 00004 extern const char * sm_program_name; 00005 00006 void sm_set_program_name(const char*); 00007 00008 void sm_debug(const char *msg, ...); 00009 void sm_error(const char *msg, ...); 00010 void sm_info(const char *msg, ...); 00011 00012 /* Optional context handling for hyerarchical display */ 00013 void sm_log_push(const char*); 00014 void sm_log_pop(); 00015 00016 /* Enable/disable writing of debug information */ 00017 void sm_debug_write(int enabled); 00018 00019 00020 00021 /* Private interface */ 00022 void sm_write_context(); 00023 void check_for_xterm_color(); 00024 00025 #endif