1 /* -*- tab-width: 4 -*- 2 * 3 * Electric(tm) VLSI Design System 4 * 5 * File: data.c 6 * global data definitions 7 * Written by: Steven M. Rubin, Static Free Software 8 * 9 * Copyright (c) 2000 Static Free Software. 10 * 11 * Electric(tm) is free software; you can redistribute it and/or modify 12 * it under the terms of the GNU General Public License as published by 13 * the Free Software Foundation; either version 2 of the License, or 14 * (at your option) any later version. 15 * 16 * Electric(tm) is distributed in the hope that it will be useful, 17 * but WITHOUT ANY WARRANTY; without even the implied warranty of 18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 19 * GNU General Public License for more details. 20 * 21 * You should have received a copy of the GNU General Public License 22 * along with Electric(tm); see the file COPYING. If not, write to 23 * the Free Software Foundation, Inc., 59 Temple Place, Suite 330, 24 * Boston, Mass 02111-1307, USA. 25 * 26 * Static Free Software 27 * 4119 Alpine Road 28 * Portola Valley, California 94028 29 * info@staticfreesoft.com 30 */ 31 32 #include "global.h" 33 34 /******************************* GLOBAL *******************************/ 35 36 CHAR **el_namespace; /* names in name space */ 37 INTBIG el_numnames; /* number of names in name space */ 38 39 /* some keys to commonly used variable names */ 40 INTBIG el_node_name_key; /* key for "NODE_name" */ 41 INTBIG el_arc_name_key; /* key for "ARC_name" */ 42 INTBIG el_arc_radius_key; /* key for "ARC_radius" */ 43 INTBIG el_trace_key; /* key for "trace" */ 44 INTBIG el_cell_message_key; /* key for "FACET_message" */ 45 INTBIG el_schematic_page_size_key;/* key for "FACET_schematic_page_size" */ 46 INTBIG el_transistor_width_key; /* key for "transistor_width" */ 47 INTBIG el_prototype_center_key; /* key for "prototype_center" */ 48 INTBIG el_essential_bounds_key; /* key for "FACET_essentialbounds" */ 49 INTBIG el_node_size_default_key; /* key for "NODE_size_default" */ 50 INTBIG el_arc_width_default_key; /* key for "ARC_width_default" */ 51 INTBIG el_attrkey_width; /* key for "ATTR_width" */ 52 INTBIG el_attrkey_length; /* key for "ATTR_length" */ 53 INTBIG el_attrkey_area; /* key for "ATTR_area" */ 54 INTBIG el_attrkey_M; /* key for "ATTR_M" */ 55 INTBIG el_techstate_key; /* key for "TECH_state" */ 56 57 CLUSTER *el_tempcluster; /* cluster for temporary allocation */ 58 CLUSTER *db_cluster; /* database general allocation */ 59 60 INTBIG el_maxtools; /* current number of tools */ 61 LIBRARY *el_curlib; /* pointer to current library (list head) */ 62 63 VIEW *el_views; /* list of existing view */ 64 VIEW *el_unknownview; /* the unknown view */ 65 VIEW *el_layoutview; /* the layout view */ 66 VIEW *el_schematicview; /* the schematic view */ 67 VIEW *el_iconview; /* the icon view */ 68 VIEW *el_simsnapview; /* the simulation-snapshot view */ 69 VIEW *el_skeletonview; /* the skeleton view */ 70 VIEW *el_compview; /* the compensated view */ 71 VIEW *el_vhdlview; /* the VHDL view (text) */ 72 VIEW *el_verilogview; /* the Verilog view (text) */ 73 VIEW *el_netlistview; /* the netlist view, generic (text) */ 74 VIEW *el_netlistnetlispview; /* the netlist view, netlisp (text) */ 75 VIEW *el_netlistalsview; /* the netlist view, als (text) */ 76 VIEW *el_netlistquiscview; /* the netlist view, quisc (text) */ 77 VIEW *el_netlistrsimview; /* the netlist view, rsim (text) */ 78 VIEW *el_netlistsilosview; /* the netlist view, silos (text) */ 79 VIEW *el_docview; /* the documentation view (text) */ 80 81 WINDOWPART *el_topwindowpart; /* top window in list */ 82 WINDOWPART *el_curwindowpart; /* current window partition */ 83 84 WINDOWFRAME *el_firstwindowframe = NOWINDOWFRAME; 85 WINDOWFRAME *el_curwindowframe; 86 87 TECHNOLOGY *el_technologies; /* defined in "tectable.c" */ 88 TECHNOLOGY *el_curtech; /* pointer to current technology */ 89 TECHNOLOGY *el_curlayouttech; /* last layout technology referenced */ 90 INTBIG el_maxtech; /* current number of technologies */ 91 92 CONSTRAINT *el_curconstraint; /* current constraint solver */ 93 94 CHAR *el_libdir; /* pointer to library directory */ 95 96 INTBIG el_filetypetext; /* Plain text disk file descriptor */ 97 98 XARRAY el_matid; /* identity matrix */ 99 INTBIG el_pleasestop; /* nonzero if abort is requested */ 100 INTBIG el_units; /* display and internal units */ 101 102 /******************************* GRAPHICS *******************************/ 103 104 INTBIG el_maplength; /* number of entries in color map */ 105 INTBIG el_colcelltxt; /* color to use for cell text and port names */ 106 INTBIG el_colcell; /* color to use for cell outline */ 107 INTBIG el_colwinbor; /* color to use for window border */ 108 INTBIG el_colhwinbor; /* color to use for highlighted window border */ 109 INTBIG el_colmenbor; /* color to use for menu border */ 110 INTBIG el_colhmenbor; /* color to use for highlighted menu border */ 111 INTBIG el_colmentxt; /* color to use for menu text */ 112 INTBIG el_colmengly; /* color to use for menu glyphs */ 113 INTBIG el_colcursor; /* color to use for cursor */ 114