1 /*
2  * Copyright (c) Kermin Elliott Fleming 2007-2017.
3  *
4  * This program is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU General Public License
6  * as published by the Free Software Foundation; either version 2
7  * of the License, or (at your option) any later version.
8  */
9 
10 #ifndef GLOBALS_H
11 #define GLOBALS_H
12 
13 #include <config.h>
14 #include <stdio.h>
15 
16 #if defined __MINGW32__ || defined _MSC_VER
17 #include <windows.h>
18 #include <io.h>
19 #endif
20 
21 #include "ae2.h"
22 #include "analyzer.h"
23 #include "bsearch.h"
24 #include "busy.h"
25 #include "clipping.h"
26 #include "color.h"
27 #include "currenttime.h"
28 #include "debug.h"
29 #include "fgetdynamic.h"
30 #include "fonts.h"
31 #include "fstapi.h"
32 #include "gconf.h"
33 #include "ghw.h"
34 #include "globals.h"
35 #include "gnu_regex.h"
36 #include "gtk12compat.h"
37 #include "lx2.h"
38 #include "lxt.h"
39 #include "main.h"
40 #include "memory.h"
41 #include "menu.h"
42 #include "pipeio.h"
43 #include "pixmaps.h"
44 #include "print.h"
45 #include "ptranslate.h"
46 #include "ttranslate.h"
47 #include "rc.h"
48 #include "regex_wave.h"
49 #include "savefile.h"
50 #include "strace.h"
51 #include "symbol.h"
52 #include "tcl_helper.h"
53 #include "translate.h"
54 #include "tree.h"
55 #include "vcd.h"
56 #include "vcd_saver.h"
57 #include "vlist.h"
58 #include "vzt.h"
59 #include "version.h"
60 #include "wavealloca.h"
61 #include "jrb.h"
62 #include "extload.h"
63 
64 #ifdef _WAVE_HAVE_JUDY
65 #include <Judy.h>
66 #endif
67 
68 
69 struct Global{
70 
71 /*
72  * ae2.c
73  */
74 #ifdef AET2_IS_PRESENT
75 #ifdef AET2_ALIASDB_IS_PRESENT
76 FILE *adb_alias_stream_file;
77 ADB_DB adb;
78 unsigned long adb_max_terms;
79 ADB_TERM *adb_terms;
80 ADB_TERM **adb_aliases;
81 unsigned short *adb_num_terms;
82 unsigned short *adb_idx_first;
83 unsigned short *adb_idx_last;
84 unsigned char *adb_alloc_pool_base;
85 size_t adb_alloc_idx;
86 #endif
87 unsigned long ae2_num_facs;
88 unsigned long ae2_num_aliases;
89 unsigned long ae2_num_sections;
90 struct lx2_entry **ae2_lx2_table;
91 FILE *ae2_f;
92 AE2_HANDLE *ae2;
93 AE2_FACREF *ae2_fr;
94 TimeType ae2_start_limit_cyc;
95 TimeType ae2_end_limit_cyc;
96 char *ae2_process_mask;
97 #endif
98 TimeType ae2_start_cyc;
99 TimeType ae2_end_cyc;
100 TimeType *ae2_time_xlate;
101 char disable_ae2_alias;
102 
103 
104 /*
105  * analyzer.c
106  */
107 TraceFlagsType default_flags; /* from analyzer.c 5 */
108 unsigned int default_fpshift;
109 Times tims; /* from analyzer.c 6 */
110 Traces traces; /* from analyzer.c 7 */
111 int hier_max_level; /* from analyzer.c 8 */
112 int hier_max_level_shadow; /* from analyzer.c */
113 TimeType timestart_from_savefile;
114 char timestart_from_savefile_valid;
115 int group_depth;
116 char hier_ignore_escapes;
117 
118 
119 /*
120  * baseconvert.c
121  */
122 char color_active_in_filter; /* from baseconvert.c 9 */
123 
124 
125 /*
126  * bsearch.c
127  */
128 TimeType shift_timebase; /* from bsearch.c 10 */
129 TimeType shift_timebase_default_for_add; /* from bsearch.c 11 */
130 TimeType max_compare_time_tc_bsearch_c_1; /* from bsearch.c 12 */
131 TimeType *max_compare_pos_tc_bsearch_c_1; /* from bsearch.c 13 */
132 TimeType max_compare_time_bsearch_c_1; /* from bsearch.c 14 */
133 struct HistEnt *max_compare_pos_bsearch_c_1; /* from bsearch.c 15 */
134 struct HistEnt **max_compare_index; /* from bsearch.c 16 */
135 TimeType vmax_compare_time_bsearch_c_1; /* from bsearch.c 17 */
136 struct VectorEnt *vmax_compare_pos_bsearch_c_1; /* from bsearch.c 18 */
137 struct VectorEnt **vmax_compare_index; /* from bsearch.c 19 */
138 int maxlen_trunc; /* from bsearch.c 20 */
139 char *maxlen_trunc_pos_bsearch_c_1; /* from bsearch.c 21 */
140 char *trunc_asciibase_bsearch_c_1; /* from bsearch.c 22 */
141 
142 
143 /*
144  * busy.c
145  */
146 GdkCursor *busycursor_busy_c_1; /* from busy.c 23 */
147 int busy_busy_c_1; /* from busy.c 24 */
148 
149 
150 /*
151  * color.c
152  */
153 char keep_xz_colors;
154 struct wave_gcchain_t *wave_gcchain;
155 int color_back; /* from color.c 25  */
156 int color_baseline; /* from color.c 26 */
157 int color_grid; /* from color.c 27 */
158 int color_grid2; /* from color.c */
159 int color_high; /* from color.c 28 */
160 int color_low; /* from color.c 29 */
161 int color_mark; /* from color.c 30 */
162 int color_mid; /* from color.c 31 */
163 int color_time; /* from color.c 32 */
164 int color_timeb; /* from color.c 33 */
165 int color_trans; /* from color.c 34 */
166 int color_umark; /* from color.c 35 */
167 int color_value; /* from color.c 36 */
168 int color_vbox; /* from color.c 37 */
169 int color_vtrans; /* from color.c 38 */
170 int color_x; /* from color.c 39 */
171 int color_xfill; /* from color.c 40 */
172 int color_0; /* from color.c 41 */
173 int color_1; /* from color.c 42 */
174 int color_ufill; /* from color.c 43 */
175 int color_u; /* from color.c 44 */
176 int color_wfill; /* from color.c 45 */
177 int color_w; /* from color.c 46 */
178 int color_dashfill; /* from color.c 47 */
179 int color_dash; /* from color.c 48 */
180 int color_white; /* from color.c 49 */
181 int color_black; /* from color.c 50 */
182 int color_ltgray; /* from color.c 51 */
183 int color_normal; /* from color.c 52 */
184 int color_mdgray; /* from color.c 53 */
185 int color_dkgray; /* from color.c 54 */
186 int color_dkblue; /* from color.c 55 */
187 int color_brkred;
188 int color_ltblue;
189 int color_gmstrd;
190 int color_highfill;
191 int color_1fill;
192 
193 
194 /*
195  * currenttime.c
196  */
197 TimeType global_time_offset;
198 char is_vcd; /* from currenttime.c 56 */
199 char partial_vcd; /* from currenttime.c 57 */
200 char use_maxtime_display; /* from currenttime.c 58 */
201 char use_frequency_delta; /* from currenttime.c 59 */
202 GtkWidget *max_or_marker_label_currenttime_c_1; /* from currenttime.c 60 */
203 GtkWidget *base_or_curtime_label_currenttime_c_1; /* from currenttime.c 61 */
204 TimeType cached_currenttimeval_currenttime_c_1; /* from currenttime.c 62 */
205 TimeType currenttime; /* from currenttime.c 63 */
206 TimeType max_time; /* from currenttime.c 64 */
207 TimeType min_time; /* from currenttime.c 65 */
208 char display_grid; /* from currenttime.c 66 */
209 TimeType time_scale; /* from currenttime.c 67 */
210 char time_dimension; /* from currenttime.c 68 */
211 char scale_to_time_dimension; /* from currenttime.c */
212 GtkWidget *maxtimewid_currenttime_c_1; /* from currenttime.c 70 */
213 GtkWidget *curtimewid_currenttime_c_1; /* from currenttime.c 71 */
214 char *maxtext_currenttime_c_1; /* from currenttime.c 72 */
215 char *curtext_currenttime_c_1; /* from currenttime.c 73 */
216 TimeType time_trunc_val_currenttime_c_1; /* from currenttime.c 77 */
217 char use_full_precision; /* from currenttime.c 78 */
218 
219 
220 /*
221  * debug.c
222  */
223 void **alloc2_chain; /* from debug.c */
224 int outstanding; /* from debug.c */
225 const char *atoi_cont_ptr; /* from debug.c 79 */
226 char disable_tooltips; /* from debug.c 80 */
227 
228 
229 /*
230  * entry.c
231  */
232 GtkWidget *window_entry_c_1; /* from entry.c 81 */
233 GtkWidget *entry_entry_c_1; /* from entry.c 82 */
234 char *entrybox_text; /* from entry.c 83 */
235 void (*cleanup_entry_c_1)(void); /* from entry.c 84 */
236 int entry_raise_timer;
237 
238 
239 /* extload.c */
240 unsigned int extload_ffr_import_count; /* from extload.c */
241 void *extload_ffr_ctx; /* from extload.c */
242 FILE *extload; /* from extload.c */
243 unsigned int *extload_idcodes; /* from extload.c */
244 int *extload_inv_idcodes; /* from extload.c */
245 #if !defined __MINGW32__ && !defined _MSC_VER
246 time_t extload_lastmod; /* from extload.c */
247 char extload_already_errored; /* from extload.c */
248 #endif
249 char **extload_namecache;
250 int *extload_namecache_max;
251 int *extload_namecache_lens;
252 int *extload_namecache_patched;
253 struct symbol *extload_sym_block;
254 struct Node *extload_node_block;
255 void *extload_xc;
256 struct symbol *extload_prevsymroot;
257 struct symbol *extload_prevsym;
258 struct tree **extload_npar;
259 int extload_i;
260 int extload_hlen;
261 unsigned char extload_vt_prev;
262 unsigned char extload_vd_prev;
263 int f_name_build_buf_len;
264 char *f_name_build_buf;
265 unsigned int extload_max_tree;
266 unsigned int extload_curr_tree;
267 
268 
269 /*
270  * fetchbuttons.c
271  */
272 TimeType fetchwindow; /* from fetchbuttons.c 85 */
273 
274 
275 /*
276  * fgetdynamic.c
277  */
278 int fgetmalloc_len; /* from fgetdynamic.c 86 */
279 
280 
281 /*
282  * file.c
283  */
284 #if GTK_CHECK_VERSION(2,4,0)
285 GtkWidget *pFileChoose;
286 char *pFileChooseFilterName;
287 GPatternSpec *pPatternSpec;
288 #endif
289 GtkWidget *fs_file_c_1; /* from file.c 87 */
290 char **fileselbox_text; /* from file.c 88 */
291 char filesel_ok; /* from file.c 89 */
292 void (*cleanup_file_c_2)(void); /* from file.c 90 */
293 void (*bad_cleanup_file_c_1)(void); /* from file.c 91 */
294 
295 
296 /*
297  * fonts.c
298  */
299 char *fontname_signals; /* from fonts.c 92 */
300 char *fontname_waves; /* from fonts.c 93 */
301 #if defined(WAVE_USE_GTK2) && !defined(GTK_ENABLE_BROKEN) && GTK_CHECK_VERSION(2,8,0)
302 PangoRenderer *fonts_renderer;
303 GdkGC *fonts_gc;
304 GdkScreen *fonts_screen;
305 PangoContext *fonts_context;
306 PangoLayout *fonts_layout;
307 #endif
308 char use_pango_fonts;
309 
310 
311 /*
312  * fst.c
313  */
314 void *fst_fst_c_1;
315 const char *fst_scope_name;
316 int fst_scope_name_len;
317 TimeType first_cycle_fst_c_3;
318 TimeType last_cycle_fst_c_3;
319 TimeType total_cycles_fst_c_3;
320 struct lx2_entry *fst_table_fst_c_1;
321 struct fac *mvlfacs_fst_c_3;
322 fstHandle *mvlfacs_fst_alias;
323 fstHandle *mvlfacs_fst_rvs_alias;
324 fstHandle fst_maxhandle;
325 int busycnt_fst_c_2;
326 double *double_curr_fst;
327 double *double_fini_fst;
328 char nonimplicit_direction_encountered;
329 char supplemental_datatypes_encountered;
330 char supplemental_vartypes_encountered;
331 char is_vhdl_component_format;
332 JRB subvar_jrb;
333 unsigned int subvar_jrb_count;
334 char **subvar_pnt;
335 unsigned char fst_filetype;
336 unsigned subvar_jrb_count_locked : 1;
337 uint32_t stem_file_idx;
338 uint32_t stem_line_number;
339 char **stem_path_string_table;
340 struct stem_struct_t *stem_struct_base;
341 struct stem_struct_t *istem_struct_base;
342 uint32_t stem_path_string_table_siz;
343 uint32_t stem_path_string_table_alloc;
344 uint32_t stem_struct_base_siz;
345 uint32_t stem_struct_base_siz_alloc;
346 uint32_t istem_struct_base_siz;
347 uint32_t istem_struct_base_siz_alloc;
348 unsigned stem_valid : 1;
349 unsigned istem_valid : 1;
350 char *fst_synclock_str;
351 JRB synclock_jrb;
352 #ifdef _WAVE_HAVE_JUDY
353 Pvoid_t *xl_enum_filter;
354 #else
355 struct xl_tree_node **xl_enum_filter;
356 #endif
357 int num_xl_enum_filter;
358 fstEnumHandle queued_xl_enum_filter;
359 JRB enum_nptrs_jrb;
360 
361 
362 /*
363  * ghw.c
364  */
365 struct Node **nxp_ghw_c_1; /* from ghw.c 95 */
366 int sym_which_ghw_c_1; /* from ghw.c 98 */
367 struct ghw_tree_node *gwt_ghw_c_1; /* from ghw.c 99 */
368 struct ghw_tree_node *gwt_corr_ghw_c_1; /* from ghw.c 100 */
369 int xlat_1164_ghw_c_1; /* from ghw.c 101 */
370 char is_ghw; /* from ghw.c 102 */
371 char *asbuf; /* from ghw.c 103 */
372 int nbr_sig_ref_ghw_c_1; /* from ghw.c 104 */
373 int num_glitches_ghw_c_1; /* from ghw.c 105 */
374 int num_glitch_regions_ghw_c_1; /* from ghw.c 106 */
375 char *fac_name_ghw_c_1; /* from ghw.c 108 */
376 int fac_name_len_ghw_c_1; /* from ghw.c 109 */
377 int fac_name_max_ghw_c_1; /* from ghw.c 110 */
378 int last_fac_ghw_c_1; /* from ghw.c 111 */
379 int warned_ghw_c_1; /* from ghw.c 112 */
380 
381 
382 /*
383  * globals.c
384  */
385 struct Global ***dead_context;		/* for deallocating tabbed contexts later (when no race conditions exist) */
386 struct Global **gtk_context_bridge_ptr; /* from globals.c, migrates to reloaded contexts to link buttons to ctx */
387 
388 
389 /*
390  * help.c
391  */
392 int helpbox_is_active; /* from help.c 114 */
393 GtkWidget *text_help_c_1; /* from help.c 115 */
394 GtkWidget *vscrollbar_help_c_1; /* from help.c 116 */
395 #if defined(WAVE_USE_GTK2) && !defined(GTK_ENABLE_BROKEN)
396 GtkTextIter iter_help_c_1; /* from help.c 117 */
397 GtkTextTag *bold_tag_help_c_1; /* from help.c 118 */
398 #endif
399 GtkWidget *window_help_c_2; /* from help.c 119 */
400 
401 
402 /*
403  * hierpack.c
404  */
405 unsigned char *hp_buf;
406 size_t *hp_offs;
407 size_t hp_prev;
408 size_t hp_buf_siz;
409 unsigned char *fmem_buf;
410 size_t fmem_buf_siz;
411 size_t fmem_buf_offs;
412 size_t fmem_uncompressed_siz;
413 char disable_auto_comphier;
414 
415 
416 /*
417  * hiersearch.c
418  */
419 char hier_grouping; /* from hiersearch.c 120 */
420 GtkWidget *window_hiersearch_c_3; /* from hiersearch.c 121 */
421 GtkWidget *entry_main_hiersearch_c_1; /* from hiersearch.c 122 */
422 GtkWidget *clist_hiersearch_c_1; /* from hiersearch.c 123 */
423 char bundle_direction_hiersearch_c_1; /* from hiersearch.c 124 */
424 void (*cleanup_hiersearch_c_3)(void); /* from hiersearch.c 125 */
425 int num_rows_hiersearch_c_1; /* from hiersearch.c 126 */
426 int selected_rows_hiersearch_c_1; /* from hiersearch.c 127 */
427 GtkWidget *window1_hiersearch_c_1; /* from hiersearch.c 128 */
428 GtkWidget *entry_hiersearch_c_2; /* from hiersearch.c 129 */
429 char *entrybox_text_local_hiersearch_c_1; /* from hiersearch.c 130 */
430 void (*cleanup_e_hiersearch_c_1)(void); /* from hiersearch.c 131 */
431 struct tree *h_selectedtree_hiersearch_c_1; /* from hiersearch.c 132 */
432 struct tree *current_tree_hiersearch_c_1; /* from hiersearch.c 133 */
433 struct treechain *treechain_hiersearch_c_1; /* from hiersearch.c 134 */
434 int is_active_hiersearch_c_1; /* from hiersearch.c 135 */
435 
436 
437 /*
438  * logfile.c
439  */
440 void **logfiles;
441 char *fontname_logfile; /* from logfile.c 137 */
442 GdkFont *font_logfile_c_1; /* from logfile.c 138 */
443 #if defined(WAVE_USE_GTK2) && !defined(GTK_ENABLE_BROKEN)
444 GtkTextIter iter_logfile_c_2; /* from logfile.c 139 */
445 GtkTextTag *bold_tag_logfile_c_2; /* from logfile.c 140 */
446 GtkTextTag *mono_tag_logfile_c_1; /* from logfile.c 141 */
447 GtkTextTag *size_tag_logfile_c_1; /* from logfile.c 142 */
448 #endif
449 
450 
451 /*
452  * lx2.c
453  */
454 unsigned char is_lx2; /* from lx2.c 143 */
455 struct lxt2_rd_trace *lx2_lx2_c_1; /* from lx2.c 144 */
456 TimeType first_cycle_lx2_c_1; /* from lx2.c 145 */
457 TimeType last_cycle_lx2_c_1; /* from lx2.c 146 */
458 TimeType total_cycles_lx2_c_1; /* from lx2.c 147 */
459 struct lx2_entry *lx2_table_lx2_c_1; /* from lx2.c 148 */
460 struct fac *mvlfacs_lx2_c_1; /* from lx2.c 149 */
461 int busycnt_lx2_c_1; /* from lx2.c 150 */
462 
463 
464 /*
465  * lxt.c
466  */
467 char *mm_lxt_mmap_addr;
468 size_t mm_lxt_mmap_len;
469 #if defined __MINGW32__ || defined _MSC_VER
470 HANDLE hIn, hInMap;
471 char *win_fname;
472 #endif
473 int fpos_lxt_c_1; /* from lxt.c 151 */
474 char is_lxt; /* from lxt.c 152 */
475 char lxt_clock_compress_to_z; /* from lxt.c 153 */
476 void *mm_lxt_c_1; /* from lxt.c 154 */
477 void *mmcache_lxt_c_1; /* from lxt.c 155 */
478 int version_lxt_c_1; /* from lxt.c 156 */
479 struct fac *mvlfacs_lxt_c_2; /* from lxt.c 157 */
480 TimeType first_cycle_lxt_c_2; /* from lxt.c 158 */
481 TimeType last_cycle_lxt_c_2; /* from lxt.c 159 */
482 TimeType total_cycles_lxt_c_2; /* from lxt.c 160 */
483 int maxchange_lxt_c_1; /* from lxt.c 161 */
484 int maxindex_lxt_c_1; /* from lxt.c 162 */
485 int f_len_lxt_c_1; /* from lxt.c 163 */
486 int *positional_information_lxt_c_1; /* from lxt.c 164 */
487 TimeType *time_information; /* from lxt.c 165 */
488 int change_field_offset_lxt_c_1; /* from lxt.c 166 */
489 int facname_offset_lxt_c_1; /* from lxt.c 167 */
490 int facgeometry_offset_lxt_c_1; /* from lxt.c 168 */
491 int time_table_offset_lxt_c_1; /* from lxt.c 169 */
492 int time_table_offset64_lxt_c_1; /* from lxt.c 170 */
493 int sync_table_offset_lxt_c_1; /* from lxt.c 171 */
494 int initial_value_offset_lxt_c_1; /* from lxt.c 172 */
495 int timescale_offset_lxt_c_1; /* from lxt.c 173 */
496 int double_test_offset_lxt_c_1; /* from lxt.c 174 */
497 int zdictionary_offset_lxt_c_1; /* from lxt.c 175 */
498 unsigned int zfacname_predec_size_lxt_c_1; /* from lxt.c 176 */
499 unsigned int zfacname_size_lxt_c_1; /* from lxt.c 177 */
500 unsigned int zfacgeometry_size_lxt_c_1; /* from lxt.c 178 */
501 unsigned int zsync_table_size_lxt_c_1; /* from lxt.c 179 */
502 unsigned int ztime_table_size_lxt_c_1; /* from lxt.c 180 */
503 unsigned int zchg_predec_size_lxt_c_1; /* from lxt.c 181 */
504 unsigned int zchg_size_lxt_c_1; /* from lxt.c 182 */
505 unsigned int zdictionary_predec_size_lxt_c_1; /* from lxt.c 183 */
506 unsigned char initial_value_lxt_c_1; /* from lxt.c 184 */
507 unsigned int dict_num_entries_lxt_c_1; /* from lxt.c 185 */
508 unsigned int dict_string_mem_required_lxt_c_1; /* from lxt.c 186 */
509 int dict_16_offset_lxt_c_1; /* from lxt.c 187 */
510 int dict_24_offset_lxt_c_1; /* from lxt.c 188 */
511 int dict_32_offset_lxt_c_1; /* from lxt.c 189 */
512 unsigned int dict_width_lxt_c_1; /* from lxt.c 190 */
513 char **dict_string_mem_array_lxt_c_1; /* from lxt.c 191 */
514 int exclude_offset_lxt_c_1; /* from lxt.c 192 */
515 int lxt_timezero_offset;
516 char *lt_buf_lxt_c_1; /* from lxt.c 193 */
517 int lt_len_lxt_c_1; /* from lxt.c 194 */
518 int fd_lxt_c_1; /* from lxt.c 195 */
519 unsigned char double_mask_lxt_c_1[8]; /* from lxt.c 196 */
520 char double_is_native_lxt_c_1; /* from lxt.c 197 */
521 int max_compare_time_tc_lxt_c_2; /* from lxt.c 199 */
522 int max_compare_pos_tc_lxt_c_2; /* from lxt.c 200 */
523 struct Node **resolve_lxt_alias_to;
524 unsigned int *lastchange;
525 
526 
527 /*
528  * main.c
529  */
530 char is_gtkw_save_file;
531 gboolean dumpfile_is_modified;
532 GtkWidget *missing_file_toolbar;
533 char *argvlist;
534 #ifdef HAVE_LIBTCL
535 Tcl_Interp *interp;
536 #endif
537 char *repscript_name;
538 unsigned int repscript_period;
539 char *tcl_init_cmd;
540 char tcl_running;
541 char block_xy_update;
542 char *winname;
543 unsigned int num_notebook_pages;
544 unsigned int num_notebook_pages_cumulative;
545 unsigned char context_tabposition;
546 unsigned int this_context_page;
547 unsigned char second_page_created;
548 struct Global ***contexts;
549 GtkWidget *notebook;
550 char *loaded_file_name;
551 char *unoptimized_vcd_file_name;
552 char *skip_start;
553 char *skip_end;
554 enum FileType loaded_file_type;
555 char is_optimized_stdin_vcd;
556 char *whoami; /* from main.c 201 */
557 struct logfile_chain *logfile; /* from main.c 202 */
558 char *stems_name; /* from main.c 203 */
559 int stems_type; /* from main.c 204 */
560 char *aet_name; /* from main.c 205 */
561 struct gtkwave_annotate_ipc_t *anno_ctx; /* from main.c 206 */
562 struct gtkwave_dual_ipc_t *dual_ctx; /* from main.c 207 */
563 int dual_id; /* from main.c 208 */
564 unsigned int dual_attach_id_main_c_1; /* from main.c 209 */
565 int dual_race_lock; /* from main.c 210 */
566 GtkWidget *mainwindow; /* from main.c 211 */
567 GtkWidget *signalwindow; /* from main.c 212 */
568 GtkWidget *wavewindow; /* from main.c 213 */
569 GtkWidget *toppanedwindow; /* from main.c 214 */
570 GtkWidget *panedwindow;
571 gint toppanedwindow_size_cache;
572 gint panedwindow_size_cache;
573 gint vpanedwindow_size_cache;
574 GtkWidget *sstpane; /* from main.c 215 */
575 GtkWidget *expanderwindow; /* from main.c 216 */
576 char disable_window_manager; /* from main.c 217 */
577 char disable_empty_gui; /* from main.c */
578 char paned_pack_semantics; /* from main.c 218 */
579 char zoom_was_explicitly_set; /* from main.c 219 */
580 int initial_window_x; /* from main.c 220 */
581 int initial_window_y; /* from main.c 221 */
582 int initial_window_width; /* from main.c 222 */
583 int initial_window_height; /* from main.c 223 */
584 int xy_ignore_main_c_1; /* from main.c 224 */
585 int optimize_vcd; /* from main.c 225 */
586 int num_cpus; /* from main.c 226 */
587 int initial_window_xpos; /* from main.c 227 */
588 int initial_window_ypos; /* from main.c 228 */
589 int initial_window_set_valid; /* from main.c 229 */
590 int initial_window_xpos_set; /* from main.c 230 */
591 int initial_window_ypos_set; /* from main.c 231 */
592 int initial_window_get_valid; /* from main.c 232 */
593 int initial_window_xpos_get; /* from main.c 233 */
594 int initial_window_ypos_get; /* from main.c 234 */
595 int xpos_delta; /* from main.c 235 */
596 int ypos_delta; /* from main.c 236 */
597 char use_scrollbar_only; /* from main.c 237 */
598 char force_toolbars; /* from main.c 238 */
599 int hide_sst; /* from main.c 239 */
600 int sst_expanded; /* from main.c 240 */
601 #ifdef WAVE_USE_GTK2
602 GdkNativeWindow socket_xid; /* from main.c 241 */
603 #endif
604 int disable_menus; /* from main.c 242 */
605 char *ftext_main_main_c_1; /* from main.c 243 */
606 char use_toolbutton_interface; /* from main.c */
607 
608 
609 /*
610  * markerbox.c
611  */
612 GtkWidget *window_markerbox_c_4; /* from markerbox.c 248 */
613 GtkWidget *entries_markerbox_c_1[WAVE_NUM_NAMED_MARKERS]; /* from markerbox.c 249 */
614 void (*cleanup_markerbox_c_4)(void); /* from markerbox.c 250 */
615 int dirty_markerbox_c_1; /* from markerbox.c 251 */
616 TimeType shadow_markers_markerbox_c_1[WAVE_NUM_NAMED_MARKERS]; /* from markerbox.c 252 */
617 char *marker_names[WAVE_NUM_NAMED_MARKERS]; /* from markerbox.c */
618 char *shadow_marker_names[WAVE_NUM_NAMED_MARKERS]; /* from markerbox.c */
619 
620 /*
621  * menu.c
622  */
623 char *cutcopylist; /* from menu.c */
624 char enable_fast_exit; /* from menu.c 253 */
625 char quiet_checkmenu;
626 struct wave_script_args *wave_script_args; /* from tcl_helper.c */
627 char ignore_savefile_pane_pos;
628 char ignore_savefile_pos; /* from menu.c 255 */
629 char ignore_savefile_size; /* from menu.c 256 */
630 #ifndef WAVE_USE_MLIST_T
631 GtkItemFactory *item_factory_menu_c_1; /* from menu.c 258 */
632 #endif
633 char *regexp_string_menu_c_1; /* from menu.c 259 */
634 struct TraceEnt *trace_to_alias_menu_c_1; /* from menu.c 260 */
635 struct TraceEnt *showchangeall_menu_c_1; /* from menu.c 261 */
636 char *filesel_newviewer_menu_c_1; /* from menu.c 262 */
637 char *filesel_logfile_menu_c_1; /* from menu.c 263 */
638 char *filesel_scriptfile_menu; /* from menu.c */
639 char *filesel_writesave; /* from menu.c 264 */
640 char *filesel_imagegrab; /* from menu.c */
641 char save_success_menu_c_1; /* from menu.c 265 */
642 char *filesel_vcd_writesave; /* from menu.c 266 */
643 char *filesel_lxt_writesave; /* from menu.c 267 */
644 char *filesel_tim_writesave; /* from menu.c */
645 int lock_menu_c_1; /* from menu.c 268 */
646 int lock_menu_c_2; /* from menu.c 269 */
647 char *buf_menu_c_1; /* from menu.c 270 */
648 GtkWidget *signal_popup_menu; /* from menu.c */
649 GtkWidget *sst_signal_popup_menu; /* from menu.c */
650 
651 
652 /*
653  * mouseover.c
654  */
655 char disable_mouseover; /* from mouseover.c 271 */
656 char clipboard_mouseover; /* from mouseover.c */
657 GtkWidget *mouseover_mouseover_c_1; /* from mouseover.c 272 */
658 GtkWidget *mo_area_mouseover_c_1; /* from mouseover.c 273 */
659 GdkDrawable *mo_pixmap_mouseover_c_1; /* from mouseover.c 274 */
660 GdkGC *mo_dk_gray_mouseover_c_1; /* from mouseover.c 275 */
661 GdkGC *mo_black_mouseover_c_1; /* from mouseover.c 276 */
662 int mo_width_mouseover_c_1; /* from mouseover.c 277 */
663 int mo_height_mouseover_c_1; /* from mouseover.c 278 */
664 
665 
666 /*
667  * pagebuttons.c
668  */
669 double page_divisor; /* from pagebuttons.c 279 */
670 
671 
672 /*
673  * pixmaps.c
674  */
675 GdkDrawable *redo_pixmap; /* from pixmaps.c */
676 GdkDrawable *redo_mask; /* from pixmaps.c */
677 GdkDrawable *larrow_pixmap; /* from pixmaps.c 281 */
678 GdkDrawable *larrow_mask; /* from pixmaps.c 282 */
679 GdkDrawable *rarrow_pixmap; /* from pixmaps.c 284 */
680 GdkDrawable *rarrow_mask; /* from pixmaps.c 285 */
681 GdkDrawable *zoomin_pixmap; /* from pixmaps.c 287 */
682 GdkDrawable *zoomin_mask; /* from pixmaps.c 288 */
683 GdkDrawable *zoomout_pixmap; /* from pixmaps.c 290 */
684 GdkDrawable *zoomout_mask; /* from pixmaps.c 291 */
685 GdkDrawable *zoomfit_pixmap; /* from pixmaps.c 293 */
686 GdkDrawable *zoomfit_mask; /* from pixmaps.c 294 */
687 GdkDrawable *zoomundo_pixmap; /* from pixmaps.c 296 */
688 GdkDrawable *zoomundo_mask; /* from pixmaps.c 297 */
689 GdkDrawable *zoom_larrow_pixmap; /* from pixmaps.c 299 */
690 GdkDrawable *zoom_larrow_mask; /* from pixmaps.c 300 */
691 GdkDrawable *zoom_rarrow_pixmap; /* from pixmaps.c 302 */
692 GdkDrawable *zoom_rarrow_mask; /* from pixmaps.c 303 */
693 GdkDrawable *prev_page_pixmap; /* from pixmaps.c 305 */
694 GdkDrawable *prev_page_mask; /* from pixmaps.c 306 */
695 GdkDrawable *next_page_pixmap; /* from pixmaps.c 308 */
696 GdkDrawable *next_page_mask; /* from pixmaps.c 309 */
697 GdkDrawable *wave_info_pixmap; /* from pixmaps.c 311 */
698 GdkDrawable *wave_info_mask; /* from pixmaps.c 312 */
699 GdkDrawable *wave_alert_pixmap; /* from pixmaps.c 314 */
700 GdkDrawable *wave_alert_mask; /* from pixmaps.c 315 */
701 GdkDrawable *hiericon_module_pixmap; /* from pixmaps.c */
702 GdkDrawable *hiericon_module_mask; /* from pixmaps.c */
703 GdkDrawable *hiericon_task_pixmap; /* from pixmaps.c */
704 GdkDrawable *hiericon_task_mask; /* from pixmaps.c */
705 GdkDrawable *hiericon_function_pixmap; /* from pixmaps.c */
706 GdkDrawable *hiericon_function_mask; /* from pixmaps.c */
707 GdkDrawable *hiericon_begin_pixmap; /* from pixmaps.c */
708 GdkDrawable *hiericon_begin_mask; /* from pixmaps.c */
709 GdkDrawable *hiericon_fork_pixmap; /* from pixmaps.c */
710 GdkDrawable *hiericon_fork_mask; /* from pixmaps.c */
711 GdkDrawable *hiericon_interface_pixmap;
712 GdkDrawable *hiericon_interface_mask;
713 GdkDrawable *hiericon_svpackage_pixmap;
714 GdkDrawable *hiericon_svpackage_mask;
715 GdkDrawable *hiericon_program_pixmap;
716 GdkDrawable *hiericon_program_mask;
717 GdkDrawable *hiericon_class_pixmap;
718 GdkDrawable *hiericon_class_mask;
719 GdkDrawable *hiericon_record_pixmap;
720 GdkDrawable *hiericon_record_mask;
721 GdkDrawable *hiericon_generate_pixmap;
722 GdkDrawable *hiericon_generate_mask;
723 GdkDrawable *hiericon_design_pixmap;
724 GdkDrawable *hiericon_design_mask;
725 GdkDrawable *hiericon_block_pixmap;
726 GdkDrawable *hiericon_block_mask;
727 GdkDrawable *hiericon_generateif_pixmap;
728 GdkDrawable *hiericon_generateif_mask;
729 GdkDrawable *hiericon_generatefor_pixmap;
730 GdkDrawable *hiericon_generatefor_mask;
731 GdkDrawable *hiericon_instance_pixmap;
732 GdkDrawable *hiericon_instance_mask;
733 GdkDrawable *hiericon_package_pixmap;
734 GdkDrawable *hiericon_package_mask;
735 GdkDrawable *hiericon_signal_pixmap;
736 GdkDrawable *hiericon_signal_mask;
737 GdkDrawable *hiericon_portin_pixmap;
738 GdkDrawable *hiericon_portin_mask;
739 GdkDrawable *hiericon_portout_pixmap;
740 GdkDrawable *hiericon_portout_mask;
741 GdkDrawable *hiericon_portinout_pixmap;
742 GdkDrawable *hiericon_portinout_mask;
743 GdkDrawable *hiericon_buffer_pixmap;
744 GdkDrawable *hiericon_buffer_mask;
745 GdkDrawable *hiericon_linkage_pixmap;
746 GdkDrawable *hiericon_linkage_mask;
747 
748 
749 /*
750  * print.c
751  */
752 int inch_print_c_1; /* from print.c 316 */
753 double ps_chwidth_print_c_1; /* from print.c 317 */
754 double ybound_print_c_1; /* from print.c 318 */
755 int pr_signal_fill_width_print_c_1; /* from print.c 319 */
756 int ps_nummaxchars_print_c_1; /* from print.c 320 */
757 char ps_fullpage; /* from print.c 321 */
758 int ps_maxveclen; /* from print.c 322 */
759 int liney_max; /* from print.c 323 */
760 
761 
762 /*
763  * ptranslate.c
764  */
765 int current_translate_proc; /* from ptranslate.c 326 */
766 int current_filter_ptranslate_c_1; /* from ptranslate.c 327 */
767 int num_proc_filters; /* from ptranslate.c 328 */
768 char **procsel_filter; /* from ptranslate.c 329 */
769 struct pipe_ctx **proc_filter; /* from ptranslate.c 330 */
770 int is_active_ptranslate_c_2; /* from ptranslate.c 331 */
771 char *fcurr_ptranslate_c_1; /* from ptranslate.c 332 */
772 GtkWidget *window_ptranslate_c_5; /* from ptranslate.c 333 */
773 GtkWidget *clist_ptranslate_c_2; /* from ptranslate.c 334 */
774 
775 
776 /*
777  * rc.c
778  */
779 int rc_line_no; /* from rc.c 336 */
780 int possibly_use_rc_defaults; /* from rc.c 337 */
781 char *editor_name; /* from rc.c */
782 
783 
784 /*
785  * regex.c
786  */
787 struct re_pattern_buffer *preg_regex_c_1; /* from regex.c 339 */
788 int *regex_ok_regex_c_1; /* from regex.c 340 */
789 
790 
791 /*
792  * renderopt.c
793  */
794 #ifdef WAVE_GTK_UNIX_PRINT
795 GtkPrintSettings *gprs;
796 GtkPageSetup *gps;
797 char *gp_tfn;
798 #endif
799 char is_active_renderopt_c_3; /* from renderopt.c 341 */
800 GtkWidget *window_renderopt_c_6; /* from renderopt.c 342 */
801 char *filesel_print_pdf_renderopt_c_1; /* from renderopt.c */
802 char *filesel_print_ps_renderopt_c_1; /* from renderopt.c 343 */
803 char *filesel_print_mif_renderopt_c_1; /* from renderopt.c 344 */
804 char target_mutex_renderopt_c_1[4]; /* from renderopt.c 346 */
805 char page_mutex_renderopt_c_1[5]; /* from renderopt.c 348 */
806 char render_mutex_renderopt_c_1[3]; /* from renderopt.c 350 */
807 int page_size_type_renderopt_c_1; /* from renderopt.c 351 */
808 
809 
810 /*
811  * savefile.c
812  */
813 char *sfn;
814 char *lcname;
815 
816 
817 /*
818  * search.c
819  */
820 GtkWidget *menuitem_search[5]; /* from search.c */
821 GtkWidget *window1_search_c_2; /* from search.c 359 */
822 GtkWidget *entry_a_search_c_1; /* from search.c 360 */
823 char *entrybox_text_local_search_c_2; /* from search.c 361 */
824 void (*cleanup_e_search_c_2)(void); /* from search.c 362 */
825 SearchProgressData *pdata; /* from search.c 363 */
826 int is_active_search_c_4; /* from search.c 364 */
827 char is_insert_running_search_c_1; /* from search.c 365 */
828 char is_replace_running_search_c_1; /* from search.c 366 */
829 char is_append_running_search_c_1; /* from search.c 367 */
830 char is_searching_running_search_c_1; /* from search.c 368 */
831 char regex_mutex_search_c_1[5]; /* from search.c 371 */
832 int regex_which_search_c_1; /* from search.c 372 */
833 GtkWidget *window_search_c_7; /* from search.c 373 */
834 GtkWidget *entry_search_c_3; /* from search.c 374 */
835 GtkWidget *clist_search_c_3; /* from search.c 375 */
836 char *searchbox_text_search_c_1; /* from search.c 377 */
837 char bundle_direction_search_c_2; /* from search.c 378 */
838 void (*cleanup_search_c_5)(void); /* from search.c 379 */
839 int num_rows_search_c_2; /* from search.c 380 */
840 int selected_rows_search_c_2; /* from search.c 381 */
841 
842 
843 /*
844  * showchange.c
845  */
846 GtkWidget *button1_showchange_c_1; /* from showchange.c 382 */
847 GtkWidget *button2_showchange_c_1; /* from showchange.c 383 */
848 GtkWidget *button3_showchange_c_1; /* from showchange.c 384 */
849 GtkWidget *button4_showchange_c_1; /* from showchange.c 385 */
850 GtkWidget *button5_showchange_c_1; /* from showchange.c 386 */
851 GtkWidget *button6_showchange_c_1; /* from showchange.c 387 */
852 GtkWidget *button7_showchange_c_1; /* from showchange.c 387 */
853 GtkWidget *button8_showchange_c_1; /* from showchange.c 387 */
854 GtkWidget *button9_showchange_c_1; /* from showchange.c 387 */
855 GtkWidget *toggle1_showchange_c_1; /* from showchange.c 388 */
856 GtkWidget *toggle2_showchange_c_1; /* from showchange.c 389 */
857 GtkWidget *toggle3_showchange_c_1; /* from showchange.c 390 */
858 GtkWidget *toggle4_showchange_c_1; /* from showchange.c 391 */
859 GtkWidget *toggle5_showchange_c_1; /* from showchange.c 391 */
860 GtkWidget *toggle6_showchange_c_1; /* from showchange.c 391 */
861 GtkWidget *window_showchange_c_8; /* from showchange.c 392 */
862 void (*cleanup_showchange_c_6)(void); /* from showchange.c 393 */
863 struct TraceEnt *tcache_showchange_c_1; /* from showchange.c 394 */
864 TraceFlagsType flags_showchange_c_1; /* from showchange.c 395 */
865 
866 
867 /*
868  * signalwindow.c
869  */
870 GtkWidget *signalarea; /* from signalwindow.c 396 */
871 struct font_engine_font_t *signalfont; /* from signalwindow.c 397 */
872 GdkDrawable *signalpixmap; /* from signalwindow.c 398 */
873 #ifdef WAVE_ALLOW_QUARTZ_FLUSH_WORKAROUND
874 char force_hide_show;
875 #endif
876 int max_signal_name_pixel_width; /* from signalwindow.c 399 */
877 int signal_pixmap_width; /* from signalwindow.c 400 */
878 int signal_fill_width; /* from signalwindow.c 401 */
879 int old_signal_fill_width; /* from signalwindow.c 402 */
880 int old_signal_fill_height; /* from signalwindow.c 403 */
881 int right_align_active; /* from signalwindow.c */
882 int fontheight; /* from signalwindow.c 404 */
883 char dnd_state; /* from signalwindow.c 405 */
884 unsigned int dnd_cursor_timer; /* from signalwindow.c */
885 GtkWidget *hscroll_signalwindow_c_1; /* from signalwindow.c 406 */
886 GtkObject *signal_hslider; /* from signalwindow.c 407 */
887 unsigned int cachedhiflag_signalwindow_c_1; /* from signalwindow.c 408 */
888 int cachedwhich_signalwindow_c_1; /* from signalwindow.c 409 */
889 struct TraceEnt *cachedtrace; /* from signalwindow.c 410 */
890 struct TraceEnt *shift_click_trace; /* from signalwindow.c 411 */
891 int trtarget_signalwindow_c_1; /* from signalwindow.c 412 */
892 Trptr starting_unshifted_trace; /* from signalwindow.c */
893 unsigned char standard_trace_dnd_degate; /* from signalwindow.c */
894 unsigned char use_standard_trace_select; /* from signalwindow.c */
895 unsigned char use_standard_clicking; /* from signalwindow.c */
896 unsigned char std_collapse_pressed; /* from signalwindow.c */
897 unsigned char std_dnd_tgt_on_signalarea; /* from signalwindow.c */
898 unsigned char std_dnd_tgt_on_wavearea; /* from signalwindow.c */
899 unsigned char signalarea_has_focus; /* from signalwindow.c */
900 GtkWidget *signalarea_event_box; /* from signalwindow.c */
901 gint keypress_handler_id; /* from signalwindow.c */
902 gint cached_mouseover_x; /* from signalwindow.c */
903 gint cached_mouseover_y; /* from signalwindow.c */
904 gint mouseover_counter; /* from signalwindow.c */
905 unsigned button2_debounce_flag : 1;
906 int dragzoom_threshold;
907 
908 
909 /*
910  * simplereq.c
911  */
912 GtkWidget *window_simplereq_c_9; /* from simplereq.c 413 */
913 void (*cleanup)(GtkWidget *, void *); /* from simplereq.c 414 */
914 
915 
916 /*
917  * splash.c
918  */
919 char splash_is_loading;
920 char splash_fix_win_title;
921 char splash_disable; /* from splash.c 415 */
922 GdkDrawable *wave_splash_pixmap; /* from splash.c 417 */
923 GdkDrawable *wave_splash_mask; /* from splash.c 418 */
924 GtkWidget *splash_splash_c_1; /* from splash.c 419 */
925 GtkWidget *darea_splash_c_1; /* from splash.c 420 */
926 GTimer *gt_splash_c_1; /* from splash.c 421 */
927 int timeout_tag; /* from splash.c 422 */
928 int load_complete_splash_c_1; /* from splash.c 423 */
929 int cnt_splash_c_1; /* from splash.c 424 */
930 int prev_bar_x_splash_c_1; /* from splash.c 425 */
931 
932 
933 /*
934  * status.c
935  */
936 GtkWidget *text_status_c_2; /* from status.c 426 */
937 GtkWidget *vscrollbar_status_c_2; /* from status.c 427 */
938 #if defined(WAVE_USE_GTK2) && !defined(GTK_ENABLE_BROKEN)
939 GtkTextIter iter_status_c_3; /* from status.c 428 */
940 GtkTextTag *bold_tag_status_c_3; /* from status.c 429 */
941 #endif
942 
943 
944 /*
945  * strace.c
946  */
947 struct strace_ctx_t *strace_ctx; /* moved to strace.h */
948 struct strace_ctx_t strace_windows[WAVE_NUM_STRACE_WINDOWS];
949 int strace_current_window;
950 int strace_repeat_count;
951 
952 
953 /*
954  * symbol.c
955  */
956 #ifdef _WAVE_HAVE_JUDY
957 Pvoid_t sym_judy; /* from symbol.c */
958 Pvoid_t s_selected; /* from symbol.c */
959 #endif
960 struct symbol **sym_hash; /* from symbol.c 453 */
961 struct symbol **facs; /* from symbol.c 454 */
962 char facs_are_sorted; /* from symbol.c 455 */
963 char facs_have_symbols_state_machine; /* from symbol.c */
964 int numfacs; /* from symbol.c 456 */
965 int regions; /* from symbol.c 457 */
966 int longestname; /* from symbol.c 458 */
967 struct symchain *firstnode; /* from symbol.c 459 */
968 struct symchain *curnode; /* from symbol.c 460 */
969 int hashcache; /* from symbol.c 461 */
970 
971 
972 /*
973  * tcl_commands.c
974  */
975 char *previous_braced_tcl_string;
976 
977 
978 /*
979  * tcl_helper.c
980  */
981 char in_tcl_callback;
982 
983 
984 /*
985  * timeentry.c
986  */
987 GtkWidget *from_entry; /* from timeentry.c 462 */
988 GtkWidget *to_entry; /* from timeentry.c 463 */
989 
990 
991 /*
992  * translate.c
993  */
994 int current_translate_file; /* from translate.c 464 */
995 int current_filter_translate_c_2; /* from translate.c 465 */
996 int num_file_filters; /* from translate.c 466 */
997 char **filesel_filter; /* from translate.c 467 */
998 struct xl_tree_node **xl_file_filter; /* from translate.c 468 */
999 int is_active_translate_c_5; /* from translate.c 469 */
1000 char *fcurr_translate_c_2; /* from translate.c 470 */
1001 GtkWidget *window_translate_c_11; /* from translate.c 471 */
1002 GtkWidget *clist_translate_c_4; /* from translate.c 472 */
1003 
1004 
1005 /*
1006  * tree.c
1007  */
1008 #ifdef _WAVE_HAVE_JUDY
1009 Pvoid_t sym_tree;
1010 Pvoid_t sym_tree_addresses;
1011 #endif
1012 struct tree *treeroot; /* from tree.c 473 */
1013 struct tree *mod_tree_parent; /* from tree.c */
1014 char *module_tree_c_1; /* from tree.c 474 */
1015 int module_len_tree_c_1; /* from tree.c 475 */
1016 struct tree *terminals_tchain_tree_c_1; /* from tree.c 476 */
1017 char hier_delimeter; /* from tree.c 477 */
1018 char hier_was_explicitly_set; /* from tree.c 478 */
1019 char alt_hier_delimeter; /* from tree.c 479 */
1020 int fast_tree_sort; /* from tree.c 480 */
1021 struct symbol **facs2_tree_c_1; /* from tree.c 481 */
1022 int facs2_pos_tree_c_1; /* from tree.c 482 */
1023 unsigned char *talloc_pool_base;
1024 size_t talloc_idx;
1025 char *sst_exclude_filename;
1026 uint64_t exclhiermask;
1027 JRB exclcompname;
1028 JRB exclinstname;
1029 
1030 
1031 /*
1032  * tree_component.c
1033  */
1034 #ifdef _WAVE_HAVE_JUDY
1035 Pvoid_t comp_name_judy;
1036 #else
1037 JRB comp_name_jrb;
1038 #endif
1039 char **comp_name_idx;
1040 int comp_name_serial;
1041 size_t comp_name_total_stringmem;
1042 int comp_name_longest;
1043 
1044 
1045 /*
1046  * treesearch_gtk1.c
1047  */
1048 GtkWidget *window1_treesearch_gtk1_c;  /* manual adds by ajb... */
1049 GtkWidget *entry_a_treesearch_gtk1_c;
1050 char *entrybox_text_local_treesearch_gtk1_c;
1051 void (*cleanup_e_treesearch_gtk1_c)(void);
1052 struct tree *selectedtree_treesearch_gtk1_c;
1053 int is_active_treesearch_gtk1_c;
1054 GtkWidget *window_treesearch_gtk1_c;
1055 GtkWidget *tree_treesearch_gtk1_c;
1056 char bundle_direction_treesearch_gtk1_c;
1057 void (*cleanup_treesearch_gtk1_c)(void); /* ...end of manual adds */
1058 
1059 
1060 /*
1061  * treesearch_gtk2.c
1062  */
1063 #ifdef MAC_INTEGRATION
1064 char *dnd_helper_quartz;
1065 #endif
1066 struct string_chain_t *treeopen_chain_head; /* from bitvec.c */
1067 struct string_chain_t *treeopen_chain_curr; /* from bitvec.c */
1068 char tree_dnd_begin; /* from treesearch_gtk2.c */
1069 char tree_dnd_requested; /* from treesearch_gtk2.c */
1070 char do_dynamic_treefilter; /* from treesearch_gtk2.c */
1071 GtkWidget *treesearch_gtk2_window_vbox; /* from treesearch_gtk2.c */
1072 char *selected_hierarchy_name; /* from treesearch_gtk2.c */
1073 char *selected_sig_name; /* from treesearch_gtk2.c */
1074 GtkWidget *gtk2_tree_frame; /* from treesearch_gtk2.c */
1075 GtkWidget *filter_entry; /* from treesearch_gtk2.c */
1076 GtkCTreeNode *any_tree_node; /* from treesearch_gtk2.c */
1077 struct xl_tree_node *open_tree_nodes; /* from treesearch_gtk2.c */
1078 char autoname_bundles; /* from treesearch_gtk2.c 483 */
1079 GtkWidget *window1_treesearch_gtk2_c_3; /* from treesearch_gtk2.c 484 */
1080 GtkWidget *entry_a_treesearch_gtk2_c_2; /* from treesearch_gtk2.c 485 */
1081 char *entrybox_text_local_treesearch_gtk2_c_3; /* from treesearch_gtk2.c 486 */
1082 void (*cleanup_e_treesearch_gtk2_c_3)(void); /* from treesearch_gtk2.c 487 */
1083 struct tree *sig_root_treesearch_gtk2_c_1; /* from treesearch_gtk2.c 488 */
1084 struct tree *sst_sig_root_treesearch_gtk2_c_1; /* from treesearch_gtk2.c */
1085 char *filter_str_treesearch_gtk2_c_1; /* from treesearch_gtk2.c 489 */
1086 int filter_typ_treesearch_gtk2_c_1;
1087 int filter_typ_polarity_treesearch_gtk2_c_1;
1088 int filter_matlen_treesearch_gtk2_c_1;
1089 unsigned char filter_noregex_treesearch_gtk2_c_1;
1090 #if defined(WAVE_USE_GTK2)
1091 GtkListStore *sig_store_treesearch_gtk2_c_1; /* from treesearch_gtk2.c 490 */
1092 GtkTreeSelection *sig_selection_treesearch_gtk2_c_1; /* from treesearch_gtk2.c 491 */
1093 #endif
1094 int is_active_treesearch_gtk2_c_6; /* from treesearch_gtk2.c 492 */
1095 GtkCTree *ctree_main; /* from treesearch_gtk2.c 493 */
1096 struct autocoalesce_free_list *afl_treesearch_gtk2_c_1; /* from treesearch_gtk2.c 494 */
1097 GtkWidget *window_treesearch_gtk2_c_12; /* from treesearch_gtk2.c 495 */
1098 GtkWidget *tree_treesearch_gtk2_c_1; /* from treesearch_gtk2.c 496 */
1099 void (*cleanup_treesearch_gtk2_c_8)(void); /* from treesearch_gtk2.c 498 */
1100 int pre_import_treesearch_gtk2_c_1; /* from treesearch_gtk2.c 499 */
1101 Traces tcache_treesearch_gtk2_c_2; /* from treesearch_gtk2.c 500 */
1102 unsigned char dnd_tgt_on_signalarea_treesearch_gtk2_c_1; /* from treesearch_gtk2.c 501 */
1103 unsigned char dnd_tgt_on_wavearea_treesearch_gtk2_c_1; /* from treesearch_gtk2.c */
1104 GtkWidget *dnd_sigview; /* from treesearch_gtk2.c */
1105 GtkPaned *sst_vpaned; /* from treesearch_gtk2.c */
1106 int fetchlow;
1107 int fetchhigh;
1108 enum sst_cb_action sst_dbl_action_type;
1109 
1110 
1111 /*
1112  * ttranslate.c
1113  */
1114 int current_translate_ttrans;
1115 int current_filter_ttranslate_c_1;
1116 int num_ttrans_filters;
1117 char **ttranssel_filter;
1118 struct pipe_ctx **ttrans_filter;
1119 int is_active_ttranslate_c_2;
1120 char *fcurr_ttranslate_c_1;
1121 GtkWidget *window_ttranslate_c_5;
1122 GtkWidget *clist_ttranslate_c_2;
1123 char *ttranslate_args;
1124 
1125 
1126 /*
1127  * vcd.c
1128  */
1129 unsigned char do_hier_compress; /* from vcd.c */
1130 char *prev_hier_uncompressed_name; /* from vcd.c */
1131 jmp_buf *vcd_jmp_buf; /* from vcd.c */
1132 int vcd_warning_filesize; /* from vcd.c 502 */
1133 char autocoalesce; /* from vcd.c 503 */
1134 char autocoalesce_reversal; /* from vcd.c 504 */
1135 int vcd_explicit_zero_subscripts; /* from vcd.c 505 */
1136 char convert_to_reals; /* from vcd.c 506 */
1137 char atomic_vectors; /* from vcd.c 507 */
1138 char make_vcd_save_file; /* from vcd.c 508 */
1139 char vcd_preserve_glitches; /* from vcd.c 509 */
1140 char vcd_preserve_glitches_real;
1141 FILE *vcd_save_handle; /* from vcd.c 510 */
1142 FILE *vcd_handle_vcd_c_1; /* from vcd.c 511 */
1143 char vcd_is_compressed_vcd_c_1; /* from vcd.c 512 */
1144 off_t vcdbyteno_vcd_c_1; /* from vcd.c 513 */
1145 int error_count_vcd_c_1; /* from vcd.c 514 */
1146 int header_over_vcd_c_1; /* from vcd.c 515 */
1147 int dumping_off_vcd_c_1; /* from vcd.c 516 */
1148 TimeType start_time_vcd_c_1; /* from vcd.c 517 */
1149 TimeType end_time_vcd_c_1; /* from vcd.c 518 */
1150 TimeType current_time_vcd_c_1; /* from vcd.c 519 */
1151 int num_glitches_vcd_c_2; /* from vcd.c 520 */
1152 int num_glitch_regions_vcd_c_2; /* from vcd.c 521 */
1153 char vcd_hier_delimeter[2]; /* from vcd.c 522 */
1154 struct vcdsymbol *pv_vcd_c_1; /* from vcd.c 523 */
1155 struct vcdsymbol *rootv_vcd_c_1; /* from vcd.c 524 */
1156 char *vcdbuf_vcd_c_1; /* from vcd.c 525 */
1157 char *vst_vcd_c_1; /* from vcd.c 526 */
1158 char *vend_vcd_c_1; /* from vcd.c 527 */
1159 int escaped_names_found_vcd_c_1; /* from vcd.c 528 */
1160 struct slist *slistroot; /* from vcd.c 529 */
1161 struct slist *slistcurr; /* from vcd.c 530 */
1162 char *slisthier; /* from vcd.c 531 */
1163 int slisthier_len; /* from vcd.c 532 */
1164 int T_MAX_STR_vcd_c_1; /* from vcd.c 534 */
1165 char *yytext_vcd_c_1; /* from vcd.c 535 */
1166 int yylen_vcd_c_1; /* from vcd.c 536 */
1167 int yylen_cache_vcd_c_1; /* from vcd.c 537 */
1168 struct vcdsymbol *vcdsymroot_vcd_c_1; /* from vcd.c 538 */
1169 struct vcdsymbol *vcdsymcurr_vcd_c_1; /* from vcd.c 539 */
1170 struct vcdsymbol **sorted_vcd_c_1; /* from vcd.c 540 */
1171 struct vcdsymbol **indexed_vcd_c_1; /* from vcd.c 541 */
1172 int numsyms_vcd_c_1; /* from vcd.c 542 */
1173 struct HistEnt *he_curr_vcd_c_1; /* from vcd.c 543 */
1174 struct HistEnt *he_fini_vcd_c_1; /* from vcd.c 544 */
1175 unsigned int vcd_minid_vcd_c_1; /* from vcd.c 546 */
1176 unsigned int vcd_maxid_vcd_c_1; /* from vcd.c 547 */
1177 int err_vcd_c_1; /* from vcd.c 548 */
1178 off_t vcd_fsiz_vcd_c_1; /* from vcd.c 549 */
1179 char *varsplit_vcd_c_1; /* from vcd.c 550 */
1180 char *vsplitcurr_vcd_c_1; /* from vcd.c 551 */
1181 int var_prevch_vcd_c_1; /* from vcd.c 552 */
1182 char vcd_already_backtracked;
1183 
1184 
1185 /*
1186  * vcd_partial.c
1187  */
1188 off_t vcdbyteno_vcd_partial_c_2; /* from vcd_partial.c 555 */
1189 int error_count_vcd_partial_c_2; /* from vcd_partial.c 556 */
1190 int header_over_vcd_partial_c_2; /* from vcd_partial.c 557 */
1191 int dumping_off_vcd_partial_c_2; /* from vcd_partial.c 558 */
1192 TimeType start_time_vcd_partial_c_2; /* from vcd_partial.c 559 */
1193 TimeType end_time_vcd_partial_c_2; /* from vcd_partial.c 560 */
1194 TimeType current_time_vcd_partial_c_2; /* from vcd_partial.c 561 */
1195 int num_glitches_vcd_partial_c_3; /* from vcd_partial.c 562 */
1196 int num_glitch_regions_vcd_partial_c_3; /* from vcd_partial.c 563 */
1197 struct vcdsymbol *pv_vcd_partial_c_2; /* from vcd_partial.c 564 */
1198 struct vcdsymbol *rootv_vcd_partial_c_2; /* from vcd_partial.c 565 */
1199 char *vcdbuf_vcd_partial_c_2; /* from vcd_partial.c 566 */
1200 char *vst_vcd_partial_c_2; /* from vcd_partial.c 567 */
1201 char *vend_vcd_partial_c_2; /* from vcd_partial.c 568 */
1202 char *consume_ptr_vcd_partial_c_1; /* from vcd_partial.c 569 */
1203 char *buf_vcd_partial_c_2; /* from vcd_partial.c 570 */
1204 int consume_countdown_vcd_partial_c_1; /* from vcd_partial.c 571 */
1205 int T_MAX_STR_vcd_partial_c_2; /* from vcd_partial.c 573 */
1206 char *yytext_vcd_partial_c_2; /* from vcd_partial.c 574 */
1207 int yylen_vcd_partial_c_2; /* from vcd_partial.c 575 */
1208 int yylen_cache_vcd_partial_c_2; /* from vcd_partial.c 576 */
1209 struct vcdsymbol *vcdsymroot_vcd_partial_c_2; /* from vcd_partial.c 577 */
1210 struct vcdsymbol *vcdsymcurr_vcd_partial_c_2; /* from vcd_partial.c 578 */
1211 struct vcdsymbol **sorted_vcd_partial_c_2; /* from vcd_partial.c 579 */
1212 struct vcdsymbol **indexed_vcd_partial_c_2; /* from vcd_partial.c 580 */
1213 int numsyms_vcd_partial_c_2; /* from vcd_partial.c 582 */
1214 unsigned int vcd_minid_vcd_partial_c_2; /* from vcd_partial.c 584 */
1215 unsigned int vcd_maxid_vcd_partial_c_2; /* from vcd_partial.c 585 */
1216 int err_vcd_partial_c_2; /* from vcd_partial.c 586 */
1217 char *varsplit_vcd_partial_c_2; /* from vcd_partial.c 587 */
1218 char *vsplitcurr_vcd_partial_c_2; /* from vcd_partial.c 588 */
1219 int var_prevch_vcd_partial_c_2; /* from vcd_partial.c 589 */
1220 int timeset_vcd_partial_c_1; /* from vcd_partial.c 592 */
1221 
1222 
1223 /*
1224  * vcd_recoder.c
1225  */
1226 struct vlist_t *time_vlist_vcd_recoder_c_1; /* from vcd_recoder.c 593 */
1227 struct vlist_t *time_vlist_vcd_recoder_write; /* from vcd_recoder.c */
1228 char *fastload_depacked; /* from vcd_recoder.c */
1229 char *fastload_current; /* from vcd_recoder.c */
1230 unsigned int time_vlist_count_vcd_recoder_c_1; /* from vcd_recoder.c 594 */
1231 FILE *vcd_handle_vcd_recoder_c_2; /* from vcd_recoder.c 595 */
1232 char vcd_is_compressed_vcd_recoder_c_2; /* from vcd_recoder.c 596 */
1233 char use_fastload;
1234 off_t vcdbyteno_vcd_recoder_c_3; /* from vcd_recoder.c 597 */
1235 int error_count_vcd_recoder_c_3; /* from vcd_recoder.c 598 */
1236 int header_over_vcd_recoder_c_3; /* from vcd_recoder.c 599 */
1237 int dumping_off_vcd_recoder_c_3; /* from vcd_recoder.c 600 */
1238 TimeType start_time_vcd_recoder_c_3; /* from vcd_recoder.c 601 */
1239 TimeType end_time_vcd_recoder_c_3; /* from vcd_recoder.c 602 */
1240 TimeType current_time_vcd_recoder_c_3; /* from vcd_recoder.c 603 */
1241 int num_glitches_vcd_recoder_c_4; /* from vcd_recoder.c 604 */
1242 int num_glitch_regions_vcd_recoder_c_4; /* from vcd_recoder.c 605 */
1243 struct vcdsymbol *pv_vcd_recoder_c_3; /* from vcd_recoder.c 606 */
1244 struct vcdsymbol *rootv_vcd_recoder_c_3; /* from vcd_recoder.c 607 */
1245 char *vcdbuf_vcd_recoder_c_3; /* from vcd_recoder.c 608 */
1246 char *vst_vcd_recoder_c_3; /* from vcd_recoder.c 609 */
1247 char *vend_vcd_recoder_c_3; /* from vcd_recoder.c 610 */
1248 int T_MAX_STR_vcd_recoder_c_3; /* from vcd_recoder.c 612 */
1249 char *yytext_vcd_recoder_c_3; /* from vcd_recoder.c 613 */
1250 int yylen_vcd_recoder_c_3; /* from vcd_recoder.c 614 */
1251 int yylen_cache_vcd_recoder_c_3; /* from vcd_recoder.c 615 */
1252 struct vcdsymbol *vcdsymroot_vcd_recoder_c_3; /* from vcd_recoder.c 616 */
1253 struct vcdsymbol *vcdsymcurr_vcd_recoder_c_3; /* from vcd_recoder.c 617 */
1254 struct vcdsymbol **sorted_vcd_recoder_c_3; /* from vcd_recoder.c 618 */
1255 struct vcdsymbol **indexed_vcd_recoder_c_3; /* from vcd_recoder.c 619 */
1256 int numsyms_vcd_recoder_c_3; /* from vcd_recoder.c 620 */
1257 unsigned int vcd_minid_vcd_recoder_c_3; /* from vcd_recoder.c 621 */
1258 unsigned int vcd_maxid_vcd_recoder_c_3; /* from vcd_recoder.c 622 */
1259 int err_vcd_recoder_c_3; /* from vcd_recoder.c 623 */
1260 off_t vcd_fsiz_vcd_recoder_c_2; /* from vcd_recoder.c 624 */
1261 char *varsplit_vcd_recoder_c_3; /* from vcd_recoder.c 625 */
1262 char *vsplitcurr_vcd_recoder_c_3; /* from vcd_recoder.c 626 */
1263 int var_prevch_vcd_recoder_c_3; /* from vcd_recoder.c 627 */
1264 unsigned int vcd_hash_max; /* from vcd_recoder.c */
1265 int vcd_hash_kill; /* from vcd_recoder.c */
1266 
1267 
1268 /*
1269  * vcd_saver.c
1270  */
1271 FILE *f_vcd_saver_c_1; /* from vcd_saver.c 630 */
1272 char buf_vcd_saver_c_3[16]; /* from vcd_saver.c 631 */
1273 struct vcdsav_tree_node **hp_vcd_saver_c_1; /* from vcd_saver.c 632 */
1274 struct namehier *nhold_vcd_saver_c_1; /* from vcd_saver.c 633 */
1275 
1276 
1277 /*
1278  * vlist.c
1279  */
1280 char vlist_spill_to_disk;
1281 char vlist_prepack;
1282 FILE *vlist_handle;
1283 off_t vlist_bytes_written;
1284 int vlist_compression_depth; /* from vlist.c 634 */
1285 
1286 
1287 /*
1288  * vzt.c
1289  */
1290 struct vzt_rd_trace *vzt_vzt_c_1; /* from vzt.c 635 */
1291 TimeType first_cycle_vzt_c_3; /* from vzt.c 636 */
1292 TimeType last_cycle_vzt_c_3; /* from vzt.c 637 */
1293 TimeType total_cycles_vzt_c_3; /* from vzt.c 638 */
1294 struct lx2_entry *vzt_table_vzt_c_1; /* from vzt.c 639 */
1295 struct fac *mvlfacs_vzt_c_3; /* from vzt.c 640 */
1296 int busycnt_vzt_c_2; /* from vzt.c 641 */
1297 
1298 
1299 /*
1300  * wavewindow.c
1301  */
1302 char highlight_wavewindow; /* from wavewindow.c */
1303 char alt_wheel_mode; /* from wavewindow.c */
1304 char use_scrollwheel_as_y; /* from wavewindow.c */
1305 char enable_slider_zoom; /* from wavewindow.c */
1306 int m1x_wavewindow_c_1; /* from wavewindow.c 642 */
1307 int m2x_wavewindow_c_1; /* from wavewindow.c 643 */
1308 char black_and_white; /* from wavewindow.c */
1309 char signalwindow_width_dirty; /* from wavewindow.c 644 */
1310 char enable_ghost_marker; /* from wavewindow.c 645 */
1311 char enable_horiz_grid; /* from wavewindow.c 646 */
1312 char enable_vert_grid; /* from wavewindow.c 647 */
1313 char use_big_fonts; /* from wavewindow.c 648 */
1314 char use_nonprop_fonts; /* from wavewindow.c 649 */
1315 char do_resize_signals; /* from wavewindow.c 650 */
1316 char first_unsized_signals;
1317 int initial_signal_window_width;
1318 char constant_marker_update; /* from wavewindow.c 651 */
1319 char use_roundcaps; /* from wavewindow.c 652 */
1320 char show_base; /* from wavewindow.c 653 */
1321 char wave_scrolling; /* from wavewindow.c 654 */
1322 int vector_padding; /* from wavewindow.c 655 */
1323 unsigned int in_button_press_wavewindow_c_1; /* from wavewindow.c 656 */
1324 char left_justify_sigs; /* from wavewindow.c 657 */
1325 char zoom_pow10_snap; /* from wavewindow.c 658 */
1326 char zoom_dyn; /* from menu.c */
1327 char zoom_dyne; /* from menu.c */
1328 int cursor_snap; /* from wavewindow.c 659 */
1329 float old_wvalue; /* from wavewindow.c 660 */
1330 struct blackout_region_t *blackout_regions; /* from wavewindow.c 661 */
1331 TimeType zoom; /* from wavewindow.c 662 */
1332 TimeType scale; /* from wavewindow.c 663 */
1333 TimeType nsperframe; /* from wavewindow.c 664 */
1334 double pixelsperframe; /* from wavewindow.c 665 */
1335 double hashstep; /* from wavewindow.c 666 */
1336 TimeType prevtim_wavewindow_c_1; /* from wavewindow.c 667 */
1337 double pxns; /* from wavewindow.c 668 */
1338 double nspx; /* from wavewindow.c 669 */
1339 double zoombase; /* from wavewindow.c 670 */
1340 struct TraceEnt *topmost_trace; /* from wavewindow.c 671 */
1341 int waveheight; /* from wavewindow.c 672 */
1342 int wavecrosspiece; /* from wavewindow.c 673 */
1343 int wavewidth; /* from wavewindow.c 674 */
1344 struct font_engine_font_t *wavefont; /* from wavewindow.c 675 */
1345 struct font_engine_font_t *wavefont_smaller; /* from wavewindow.c 676 */
1346 GtkWidget *wavearea; /* from wavewindow.c 677 */
1347 GtkWidget *vscroll_wavewindow_c_1; /* from wavewindow.c 678 */
1348 GtkWidget *hscroll_wavewindow_c_2; /* from wavewindow.c 679 */
1349 GdkDrawable *wavepixmap_wavewindow_c_1; /* from wavewindow.c 680 */
1350 GtkObject *wave_vslider; /* from wavewindow.c 681 */
1351 GtkObject *wave_hslider; /* from wavewindow.c 682 */
1352 TimeType named_markers[WAVE_NUM_NAMED_MARKERS]; /* from wavewindow.c 683 */
1353 int named_marker_lock_idx; /* from menu.c */
1354 char made_gc_contexts_wavewindow_c_1; /* from wavewindow.c 684 */
1355 int which_t_color;
1356 GdkGC *gc_white; /* from wavewindow.c 710 */
1357 GdkGC *gc_black; /* from wavewindow.c 711 */
1358 struct wave_gcmaster_t gc;
1359 GdkGC *gc_rainbow[2*WAVE_NUM_RAINBOW];
1360 char made_sgc_contexts_wavewindow_c_1; /* from wavewindow.c 709 */
1361 char fill_in_smaller_rgb_areas_wavewindow_c_1; /* from wavewindow.c 719 */
1362 TimeType prev_markertime; /* from wavewindow.c */
1363 struct wave_gcmaster_t gccache;
1364 int analog_redraw_skip_count; /* from wavewindow.c */
1365 int str_wid_x;
1366 int str_wid_width;
1367 int str_wid_bigw;
1368 int str_wid_state;
1369 int str_wid_slider;
1370 int str_wid_height;
1371 TimeType ruler_origin;
1372 TimeType ruler_step;
1373 char fill_waveform;
1374 gboolean save_on_exit;
1375 
1376 
1377 /*
1378  * zoombuttons.c
1379  */
1380 char do_zoom_center; /* from zoombuttons.c 720 */
1381 char do_initial_zoom_fit; /* from zoombuttons.c 721 */
1382 char do_initial_zoom_fit_used;
1383 
1384 };
1385 
1386 
1387 struct Global *initialize_globals(void);
1388 void reload_into_new_context(void);
1389 void strcpy2_into_new_context(struct Global *g, char **newstrref, char **oldstrref);
1390 void free_and_destroy_page_context(void);
1391 void dead_context_sweep(void);
1392 
1393 void install_focus_cb(GtkWidget *w, intptr_t ptr_offset);
1394 
1395 gulong gtkwave_signal_connect_x(GtkObject *object, const gchar *name, GtkSignalFunc func, gpointer data, char *f, intptr_t line);
1396 gulong gtkwave_signal_connect_object_x(GtkObject *object, const gchar *name, GtkSignalFunc func, gpointer data, char *f, intptr_t line);
1397 
1398 #ifdef GTKWAVE_SIGNAL_CONNECT_DEBUG
1399 #define gtkwave_signal_connect(a,b,c,d) gtkwave_signal_connect_x(a,b,c,d,__FILE__,__LINE__)
1400 #define gtkwave_signal_connect_object(a,b,c,d) gtkwave_signal_connect_object_x(a,b,c,d,__FILE__,__LINE__)
1401 #else
1402 #define gtkwave_signal_connect(a,b,c,d) gtkwave_signal_connect_x(a,b,c,d,NULL,0)
1403 #define gtkwave_signal_connect_object(a,b,c,d) gtkwave_signal_connect_object_x(a,b,c,d,NULL,0)
1404 #endif
1405 
1406 void set_GLOBALS_x(struct Global *g, const char *file, int line);
1407 
1408 #ifdef GTKWAVE_GLOBALS_DEBUG
1409 #define set_GLOBALS(a) set_GLOBALS_x(a,__FILE__,__LINE__)
1410 #else
1411 #define set_GLOBALS(a) set_GLOBALS_x(a,NULL,0)
1412 #endif
1413 
1414 void logbox_reload(void);
1415 void clone_icon_pointers_across_contexts(struct Global *a, struct Global *b);
1416 
1417 extern struct Global *GLOBALS;
1418 #endif
1419