mirror of
https://github.com/RTimothyEdwards/magic.git
synced 2026-08-30 09:58:55 +02:00
a routine that should have been called with a NULL argument, but instead was called with no argument, making the behavior system- dependent. Revised the parsing of the "defaultareacap" and "defaultperimeter" statements in the tech file, such that the short version of both statements gets automatic handling of the substrate and isolated substrate areas; this goes back to the recent change in extraction behavior to redefine the "substrate type" (e.g., pwell) during extraction as defining isolated substrate areas, and not the default substrate. The earlier code change dealt with problems related to extracting nodes and regions, but did not consider how parasitic capacitance was affected. This commit resolves that issue.
99 lines
3.5 KiB
C
99 lines
3.5 KiB
C
/*
|
|
* main.h --
|
|
*
|
|
* Header file containing global variables for all MAGIC modules and a
|
|
* couple of global procedures.
|
|
*
|
|
* *********************************************************************
|
|
* * Copyright (C) 1985, 1990 Regents of the University of California. *
|
|
* * Permission to use, copy, modify, and distribute this *
|
|
* * software and its documentation for any purpose and without *
|
|
* * fee is hereby granted, provided that the above copyright *
|
|
* * notice appear in all copies. The University of California *
|
|
* * makes no representations about the suitability of this *
|
|
* * software for any purpose. It is provided "as is" without *
|
|
* * express or implied warranty. Export of this software outside *
|
|
* * of the United States of America may require an export license. *
|
|
* *********************************************************************
|
|
*
|
|
*
|
|
* rcsid="$Header: /usr/cvsroot/magic-8.0/utils/main.h,v 1.2 2009/09/10 20:32:55 tim Exp $"
|
|
*/
|
|
|
|
#ifndef _MAIN_H
|
|
#define _MAIN_H
|
|
|
|
#include "windows/windows.h"
|
|
#include "database/database.h"
|
|
|
|
/* global data structures */
|
|
|
|
extern char *Path; /* Search path */
|
|
extern char *CellLibPath; /* Library search path for cells */
|
|
extern char *SysLibPath; /* Library search path for tech files,
|
|
* etc.
|
|
*/
|
|
extern char *MainMouseFile; /* The filename of the mouse */
|
|
extern char *MainGraphicsFile; /* The filename of the display */
|
|
extern char *MainDisplayType;
|
|
extern char *MainMonType;
|
|
|
|
extern FILE *mouseStream; /* the mouse file */
|
|
extern FILE *graphicsStream; /* the graphics file */
|
|
|
|
extern short RuntimeFlags; /* A number of flags, defined below */
|
|
|
|
/*
|
|
* RuntimeFlags bits:
|
|
*/
|
|
|
|
#define MAIN_DEBUG 0x1 /* Produce debugging output */
|
|
#define MAIN_RECOVER 0x2 /* Recover crash files */
|
|
#define MAIN_SILENT 0x4 /* Output as little as possible,
|
|
* for batch mode
|
|
*/
|
|
#define MAIN_MAKE_WINDOW 0x8 /* True if we are to produce a window
|
|
* on startup.
|
|
*/
|
|
#define MAIN_TK_CONSOLE 0x10 /* True if the Tcl version is running
|
|
* via the "tkcon" console window.
|
|
*/
|
|
#define MAIN_TK_PRINTF 0x20 /* Set to 0 to redirect output from the
|
|
* console back to the terminal.
|
|
*/
|
|
/*
|
|
* Macros which convert the RuntimeFlags bits to their original use as
|
|
* bool types.
|
|
*/
|
|
#define mainDebug (((RuntimeFlags & MAIN_DEBUG) > 0) ? TRUE : FALSE)
|
|
#define mainRecover (((RuntimeFlags & MAIN_RECOVER) > 0) ? TRUE : FALSE)
|
|
#define MakeMainWindow (((RuntimeFlags & MAIN_MAKE_WINDOW) > 0) ? TRUE : FALSE)
|
|
#define TxTkConsole (((RuntimeFlags & MAIN_TK_CONSOLE) > 0) ? TRUE : FALSE)
|
|
#define TxTkOutput (((RuntimeFlags & MAIN_TK_PRINTF) > 0) ? TRUE : FALSE)
|
|
#define MainSilent (((RuntimeFlags & MAIN_SILENT) > 0) ? TRUE : FALSE)
|
|
|
|
/*
|
|
* The following information is kept about the Edit cell:
|
|
*
|
|
* EditCellUse pointer to the CellUse from which the edit
|
|
* cell was selected.
|
|
* EditRootDef pointer to root def of window in which edit cell
|
|
* was selected.
|
|
* EditToRootTransform transform from coordinates of the Def of edit cell
|
|
* to those of EditRootDef.
|
|
* RootToEditTransform transform from coordinates EditRootDef to those
|
|
* of the Def of the edit cell.
|
|
*/
|
|
|
|
extern CellUse *EditCellUse;
|
|
extern CellDef *EditRootDef;
|
|
extern Transform EditToRootTransform;
|
|
extern Transform RootToEditTransform;
|
|
|
|
/* global procedures */
|
|
|
|
extern void MainExit(int); /* a way of exiting that cleans up after itself */
|
|
extern void magicMain();
|
|
|
|
#endif /* _MAIN_H */
|