/* Copyright 2017-2024 by Altair Engineering Inc. All rights reserved. =========================================================================== This source code belongs to Altair Engineering Inc. It is considered trade secret, and is not to be divulged or used or copied by parties who have not received written authorization from the owner, Altair Engineering Inc. ============================================================================ Title: Edb data types. Author: Heinz Bruederlin ============================================================================ */ #ifndef EDBTYPES_H #define EDBTYPES_H /* -------------------------------------------------------------------------- */ typedef enum EdbBool { EdbFalse = 0, EdbTrue = 1 } EdbBool; /* -------------------------------------------------------------------------- */ typedef enum EdbComponentType { EdbComponentTUNDEF = 0, EdbComponentTECU = 1, EdbComponentTINLINER = 2, EdbComponentTSPLICE = 3, EdbComponentTEYELET = 4, EdbComponentTSVG = 5, EdbComponentTHIER = 6, EdbComponentTHBOX = 7 /* there are two arrays of size 8 in edip.h that must be updated if * EdbComponentType gets extended. */ } EdbComponentType; /* -------------------------------------------------------------------------- */ typedef enum EdbConnectorType { EdbConnectorTUNDEF = 0, EdbConnectorTMALE = 1, /* control appearance */ EdbConnectorTFEMALE = 2, /* control appearance */ EdbConnectorTHALF = 3, /* unused, deprecated */ EdbConnectorTINVISIBLE = 4, /* control appearance */ EdbConnectorTMASK = 0xf, /* bits for the real enum w/out flags */ EdbConnectorTANTI = 0x10 /* optional flag: opposite side */ } EdbConnectorType; /* -------------------------------------------------------------------------- */ typedef enum EdbCavityType { EdbCavityTUNDEF = 0, EdbCavityTHALFDOT = 1, EdbCavityTSPLICED = 2, EdbCavityTMASK = 0xf, /* bits for the real enum w/out flags */ EdbCavityTIN = 0x10, /* optional flag */ EdbCavityTOUT = 0x20, /* optional flag */ EdbCavityTIO = 0x30 /* EdbCavityTIN|EdbCavityTOUT */ } EdbCavityType; /* -------------------------------------------------------------------------- */ typedef enum EdbWireType { EdbWireTUNDEF = 0, EdbWireTGROUND = 1, EdbWireTPOWER = 2, EdbWireTLOGICAL = 3, EdbWireTBUS = 4, EdbWireTHV = 5, EdbWireTARC = 6 /* there are three arrays of size 7 in edip.h that must be updated if * EdbWireType gets extended. */ } EdbWireType; /* -------------------------------------------------------------------------- */ typedef enum EdbMulticoreType { EdbMulticoreTUNDEF = 0, EdbMulticoreTTWISTED = 1, EdbMulticoreTSHIELDED = 2, EdbMulticoreTTWSHIELDED = 3 } EdbMulticoreType; /* -------------------------------------------------------------------------- */ typedef enum EdbModuleType { EdbModuleTUNDEF = 0, EdbModuleTCONFIG = 1, EdbModuleTHARNESS = 2, EdbModuleTSIGNAL = 3, EdbModuleTFUNCTION = 4, EdbModuleTALWAYS = 5, /* local to kbl parser */ EdbModuleTBUS = 6 } EdbModuleType; /* -------------------------------------------------------------------------- */ typedef enum EdbModuleOption { EdbModuleOAUTOCOMPLETE = 0 } EdbModuleOption; typedef enum EdbOption { EdbOptionFPWire = 1, /* postfilter processing */ EdbOptionFPartner = 2, /* postfilter processing */ EdbOptionFPropagate = 4, /* postfilter processing */ EdbOptionFMergeConn = 8 /* postfilter processing */ } EdbOption; /* -------------------------------------------------------------------------- */ typedef struct Edb Edb; typedef struct EdbAttr EdbAttr; typedef struct EdbObject EdbObject; /* base class for RTTI */ typedef struct EdbComponent EdbComponent; typedef struct EdbConnector EdbConnector; typedef struct EdbCavity EdbCavity; typedef struct EdbWire EdbWire; typedef struct EdbMulticore EdbMulticore; typedef struct EdbModule EdbModule; /* -------------------------------------------------------------------------- */ #endif