00001 //================================================================================================== 00002 // Copyright (C) 2010 Brian Tietz sdbtietz at yahoo dot com 00003 // 00004 // This program is free software; you can redistribute it and/or modify it under the terms of the 00005 // GNU General Public License as published by the Free Software Foundation, version 2.0 of the 00006 // License. 00007 // 00008 // This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without 00009 // even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00010 // General Public License for more details. 00011 // 00012 // You should have received a copy of the GNU General Public License along with this program; if 00013 // not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 00014 // 02110-1301, USA. 00015 // 00016 // For commercial software, the copyright holder (Brian Tietz, email sdbtietz at yahoo dot com) 00017 // reserves the right and is willing to waive the proprietary source code disclosure aspects of that 00018 // license as applied to the UT library in exchange for either substantial contributions to the 00019 // development of the UT library or other forms of compensation. Any such waiver must be 00020 // established in writing between the copyright holder and the commercial entity obtaining such a 00021 // waiver. 00022 //================================================================================================== 00023 00024 00025 // \cond DOXYGEN_DOCUMENT_NEVER 00026 00027 00028 //================================================================================================== 00029 //=== Forward name declarations 00030 //================================================================================================== 00031 class OutputStream_t; 00032 class File_t; 00033 class PathB_t; 00034 class Mutex_t; 00035 class DebugSymbolInfoCache_t; 00036 class MemDebugTracker_t; 00037 00038 00039 //================================================================================================== 00040 //=== Global variables 00041 //================================================================================================== 00042 extern bool g_memdebug_tracker_available; 00043 extern bool g_in_suicide; 00044 extern bool g_running_in_debugger; 00045 extern bool g_running_in_debugger_init; 00046 extern Mutex_t g_debug_printf_mutex; 00047 extern bool g_debug_print_file_exclusive; 00048 extern OutputStream_t* g_debug_printf_stream; 00049 extern int32 g_assert_num_instances; 00050 extern ptr_as_uint_t g_assert_recursion_guard_start; 00051 extern ptr_as_uint_t g_assert_recursion_guard_end; 00052 extern File_t* g_assert_log_file; 00053 extern PathB_t g_assert_log_path; 00054 extern bool g_locale_initialized; 00055 extern bool g_rand15_seeded; 00056 extern volatile int32 g_avail_rand_bit_count; 00057 extern volatile int32 g_avail_rand_value; 00058 extern int32 g_next_messaging_object_token; 00059 extern bool g_pool_guard_ref_init; 00060 extern DebugSymbolInfoCache_t g_debug_symbol_cache; 00061 #if UT_MEMDEBUG 00062 extern MemDebugTracker_t g_memdebug_tracker; 00063 #endif 00064 00065 00066 00067 // \endcond