/* Do not modify this file -- it is automatically generated! */

#include "debugtools.h"

#define DEBUG_CLASS_COUNT __DBCL_COUNT

#ifdef DEBUG_RUNTIME

const char * const debug_cl_name[] = { "fixme", "err", "warn", "trace" };

int dbch_accel = 0;
int dbch_advapi = 1;
int dbch_animate = 2;
int dbch_aspi = 3;
int dbch_atom = 4;
int dbch_avifile = 5;
int dbch_bitblt = 6;
int dbch_bitmap = 7;
int dbch_caret = 8;
int dbch_cdaudio = 9;
int dbch_class = 10;
int dbch_clipboard = 11;
int dbch_clipping = 12;
int dbch_combo = 13;
int dbch_comboex = 14;
int dbch_comm = 15;
int dbch_commctrl = 16;
int dbch_commdlg = 17;
int dbch_console = 18;
int dbch_crtdll = 19;
int dbch_cursor = 20;
int dbch_datetime = 21;
int dbch_dc = 22;
int dbch_dde = 23;
int dbch_ddeml = 24;
int dbch_ddraw = 25;
int dbch_debug = 26;
int dbch_delayhlp = 27;
int dbch_dialog = 28;
int dbch_dinput = 29;
int dbch_dll = 30;
int dbch_dosfs = 31;
int dbch_dosmem = 32;
int dbch_dplay = 33;
int dbch_driver = 34;
int dbch_dsound = 35;
int dbch_edit = 36;
int dbch_elfdll = 37;
int dbch_event = 38;
int dbch_exec = 39;
int dbch_file = 40;
int dbch_fixup = 41;
int dbch_font = 42;
int dbch_gdi = 43;
int dbch_global = 44;
int dbch_graphics = 45;
int dbch_header = 46;
int dbch_heap = 47;
int dbch_hook = 48;
int dbch_hotkey = 49;
int dbch_icon = 50;
int dbch_imagehlp = 51;
int dbch_imagelist = 52;
int dbch_imm = 53;
int dbch_int = 54;
int dbch_int10 = 55;
int dbch_int16 = 56;
int dbch_int17 = 57;
int dbch_int19 = 58;
int dbch_int21 = 59;
int dbch_int31 = 60;
int dbch_io = 61;
int dbch_ipaddress = 62;
int dbch_key = 63;
int dbch_keyboard = 64;
int dbch_ldt = 65;
int dbch_listbox = 66;
int dbch_listview = 67;
int dbch_local = 68;
int dbch_mci = 69;
int dbch_mcianim = 70;
int dbch_mciavi = 71;
int dbch_mcimidi = 72;
int dbch_mciwave = 73;
int dbch_mdi = 74;
int dbch_menu = 75;
int dbch_message = 76;
int dbch_metafile = 77;
int dbch_midi = 78;
int dbch_mmaux = 79;
int dbch_mmio = 80;
int dbch_mmsys = 81;
int dbch_mmtime = 82;
int dbch_module = 83;
int dbch_monthcal = 84;
int dbch_mpr = 85;
int dbch_msacm = 86;
int dbch_msg = 87;
int dbch_msvideo = 88;
int dbch_nativefont = 89;
int dbch_nonclient = 90;
int dbch_ntdll = 91;
int dbch_ole = 92;
int dbch_pager = 93;
int dbch_palette = 94;
int dbch_pidl = 95;
int dbch_print = 96;
int dbch_process = 97;
int dbch_profile = 98;
int dbch_progress = 99;
int dbch_prop = 100;
int dbch_propsheet = 101;
int dbch_psapi = 102;
int dbch_psdrv = 103;
int dbch_ras = 104;
int dbch_rebar = 105;
int dbch_reg = 106;
int dbch_region = 107;
int dbch_relay = 108;
int dbch_resource = 109;
int dbch_scroll = 110;
int dbch_security = 111;
int dbch_segment = 112;
int dbch_selector = 113;
int dbch_sem = 114;
int dbch_sendmsg = 115;
int dbch_server = 116;
int dbch_shell = 117;
int dbch_shm = 118;
int dbch_snoop = 119;
int dbch_sound = 120;
int dbch_static = 121;
int dbch_statusbar = 122;
int dbch_stress = 123;
int dbch_string = 124;
int dbch_syscolor = 125;
int dbch_system = 126;
int dbch_tab = 127;
int dbch_tapi = 128;
int dbch_task = 129;
int dbch_text = 130;
int dbch_thread = 131;
int dbch_thunk = 132;
int dbch_timer = 133;
int dbch_toolbar = 134;
int dbch_toolhelp = 135;
int dbch_tooltips = 136;
int dbch_trackbar = 137;
int dbch_treeview = 138;
int dbch_ttydrv = 139;
int dbch_tweak = 140;
int dbch_updown = 141;
int dbch_ver = 142;
int dbch_virtual = 143;
int dbch_vxd = 144;
int dbch_wave = 145;
int dbch_win = 146;
int dbch_win16drv = 147;
int dbch_win32 = 148;
int dbch_wing = 149;
int dbch_winsock = 150;
int dbch_wnet = 151;
int dbch_x11 = 152;
int dbch_x11drv = 153;

#define DEBUG_CHANNEL_COUNT 154

char debug_msg_enabled[DEBUG_CHANNEL_COUNT][DEBUG_CLASS_COUNT] = {
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0},
{1, 1, 0, 0}
};

const char * const debug_ch_name[DEBUG_CHANNEL_COUNT] = {
"accel",
"advapi",
"animate",
"aspi",
"atom",
"avifile",
"bitblt",
"bitmap",
"caret",
"cdaudio",
"class",
"clipboard",
"clipping",
"combo",
"comboex",
"comm",
"commctrl",
"commdlg",
"console",
"crtdll",
"cursor",
"datetime",
"dc",
"dde",
"ddeml",
"ddraw",
"debug",
"delayhlp",
"dialog",
"dinput",
"dll",
"dosfs",
"dosmem",
"dplay",
"driver",
"dsound",
"edit",
"elfdll",
"event",
"exec",
"file",
"fixup",
"font",
"gdi",
"global",
"graphics",
"header",
"heap",
"hook",
"hotkey",
"icon",
"imagehlp",
"imagelist",
"imm",
"int",
"int10",
"int16",
"int17",
"int19",
"int21",
"int31",
"io",
"ipaddress",
"key",
"keyboard",
"ldt",
"listbox",
"listview",
"local",
"mci",
"mcianim",
"mciavi",
"mcimidi",
"mciwave",
"mdi",
"menu",
"message",
"metafile",
"midi",
"mmaux",
"mmio",
"mmsys",
"mmtime",
"module",
"monthcal",
"mpr",
"msacm",
"msg",
"msvideo",
"nativefont",
"nonclient",
"ntdll",
"ole",
"pager",
"palette",
"pidl",
"print",
"process",
"profile",
"progress",
"prop",
"propsheet",
"psapi",
"psdrv",
"ras",
"rebar",
"reg",
"region",
"relay",
"resource",
"scroll",
"security",
"segment",
"selector",
"sem",
"sendmsg",
"server",
"shell",
"shm",
"snoop",
"sound",
"static",
"statusbar",
"stress",
"string",
"syscolor",
"system",
"tab",
"tapi",
"task",
"text",
"thread",
"thunk",
"timer",
"toolbar",
"toolhelp",
"tooltips",
"trackbar",
"treeview",
"ttydrv",
"tweak",
"updown",
"ver",
"virtual",
"vxd",
"wave",
"win",
"win16drv",
"win32",
"wing",
"winsock",
"wnet",
"x11",
"x11drv"
};

#endif /*DEBUG_RUNTIME*/

/* end of automatically generated debug.h */
