1 // *****************************************************************************
2 // *****************************************************************************
3 // ATTENTION: THIS IS AN AUTO-GENERATED FILE. DO NOT CHANGE IT!
4 // *****************************************************************************
5 // *****************************************************************************
6 // Copyright 2012, Cadence Design Systems
7 //
8 // This file is part of the Cadence LEF/DEF Open Source
9 // Distribution, Product Version 5.8.
10 //
11 // Licensed under the Apache License, Version 2.0 (the \"License\");
12 // you may not use this file except in compliance with the License.
13 // You may obtain a copy of the License at
14 //
15 // http://www.apache.org/licenses/LICENSE-2.0
16 //
17 // Unless required by applicable law or agreed to in writing, software
18 // distributed under the License is distributed on an \"AS IS\" BASIS,
19 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
20 // implied. See the License for the specific language governing
21 // permissions and limitations under the License.
22 //
23 //
24 // For updates, support, or to become part of the LEF/DEF Community,
25 // check www.openeda.org for details.
26 //
27 // $Author: dell $
28 // $Revision: #1 $
29 // $Date: 2017/06/06 $
30 // $State: $
31 // *****************************************************************************
32 // *****************************************************************************
33
34 #define EXTERN extern "C"
35
36 #include "lefiVia.h"
37 #include "lefiVia.hpp"
38
39 // Wrappers definitions.
lefiViaLayer_getPolygon(const::lefiViaLayer * obj,int index)40 struct ::lefiGeomPolygon* lefiViaLayer_getPolygon (const ::lefiViaLayer* obj, int index) {
41 return (::lefiGeomPolygon*) ((LefDefParser::lefiViaLayer*)obj)->getPolygon(index);
42 }
43
lefiVia_hasDefault(const::lefiVia * obj)44 int lefiVia_hasDefault (const ::lefiVia* obj) {
45 return ((LefDefParser::lefiVia*)obj)->hasDefault();
46 }
47
lefiVia_hasGenerated(const::lefiVia * obj)48 int lefiVia_hasGenerated (const ::lefiVia* obj) {
49 return ((LefDefParser::lefiVia*)obj)->hasGenerated();
50 }
51
lefiVia_hasForeign(const::lefiVia * obj)52 int lefiVia_hasForeign (const ::lefiVia* obj) {
53 return ((LefDefParser::lefiVia*)obj)->hasForeign();
54 }
55
lefiVia_hasForeignPnt(const::lefiVia * obj)56 int lefiVia_hasForeignPnt (const ::lefiVia* obj) {
57 return ((LefDefParser::lefiVia*)obj)->hasForeignPnt();
58 }
59
lefiVia_hasForeignOrient(const::lefiVia * obj)60 int lefiVia_hasForeignOrient (const ::lefiVia* obj) {
61 return ((LefDefParser::lefiVia*)obj)->hasForeignOrient();
62 }
63
lefiVia_hasProperties(const::lefiVia * obj)64 int lefiVia_hasProperties (const ::lefiVia* obj) {
65 return ((LefDefParser::lefiVia*)obj)->hasProperties();
66 }
67
lefiVia_hasResistance(const::lefiVia * obj)68 int lefiVia_hasResistance (const ::lefiVia* obj) {
69 return ((LefDefParser::lefiVia*)obj)->hasResistance();
70 }
71
lefiVia_hasTopOfStack(const::lefiVia * obj)72 int lefiVia_hasTopOfStack (const ::lefiVia* obj) {
73 return ((LefDefParser::lefiVia*)obj)->hasTopOfStack();
74 }
75
lefiVia_numLayers(const::lefiVia * obj)76 int lefiVia_numLayers (const ::lefiVia* obj) {
77 return ((LefDefParser::lefiVia*)obj)->numLayers();
78 }
79
lefiVia_layerName(const::lefiVia * obj,int layerNum)80 char* lefiVia_layerName (const ::lefiVia* obj, int layerNum) {
81 return ((LefDefParser::lefiVia*)obj)->layerName(layerNum);
82 }
83
lefiVia_numRects(const::lefiVia * obj,int layerNum)84 int lefiVia_numRects (const ::lefiVia* obj, int layerNum) {
85 return ((LefDefParser::lefiVia*)obj)->numRects(layerNum);
86 }
87
lefiVia_xl(const::lefiVia * obj,int layerNum,int rectNum)88 double lefiVia_xl (const ::lefiVia* obj, int layerNum, int rectNum) {
89 return ((LefDefParser::lefiVia*)obj)->xl(layerNum, rectNum);
90 }
91
lefiVia_yl(const::lefiVia * obj,int layerNum,int rectNum)92 double lefiVia_yl (const ::lefiVia* obj, int layerNum, int rectNum) {
93 return ((LefDefParser::lefiVia*)obj)->yl(layerNum, rectNum);
94 }
95
lefiVia_xh(const::lefiVia * obj,int layerNum,int rectNum)96 double lefiVia_xh (const ::lefiVia* obj, int layerNum, int rectNum) {
97 return ((LefDefParser::lefiVia*)obj)->xh(layerNum, rectNum);
98 }
99
lefiVia_yh(const::lefiVia * obj,int layerNum,int rectNum)100 double lefiVia_yh (const ::lefiVia* obj, int layerNum, int rectNum) {
101 return ((LefDefParser::lefiVia*)obj)->yh(layerNum, rectNum);
102 }
103
lefiVia_rectColorMask(const::lefiVia * obj,int layerNum,int rectNum)104 int lefiVia_rectColorMask (const ::lefiVia* obj, int layerNum, int rectNum) {
105 return ((LefDefParser::lefiVia*)obj)->rectColorMask(layerNum, rectNum);
106 }
107
lefiVia_polyColorMask(const::lefiVia * obj,int layerNum,int polyNum)108 int lefiVia_polyColorMask (const ::lefiVia* obj, int layerNum, int polyNum) {
109 return ((LefDefParser::lefiVia*)obj)->polyColorMask(layerNum, polyNum);
110 }
111
lefiVia_numPolygons(const::lefiVia * obj,int layerNum)112 int lefiVia_numPolygons (const ::lefiVia* obj, int layerNum) {
113 return ((LefDefParser::lefiVia*)obj)->numPolygons(layerNum);
114 }
115
lefiVia_getPolygon(const::lefiVia * obj,int layerNum,int polyNum)116 ::lefiGeomPolygon lefiVia_getPolygon (const ::lefiVia* obj, int layerNum, int polyNum) {
117 LefDefParser::lefiGeomPolygon tmp;
118 tmp = ((LefDefParser::lefiVia*)obj)->getPolygon(layerNum, polyNum);
119 return *((::lefiGeomPolygon*)&tmp);
120 }
121
lefiVia_name(const::lefiVia * obj)122 char* lefiVia_name (const ::lefiVia* obj) {
123 return ((LefDefParser::lefiVia*)obj)->name();
124 }
125
lefiVia_resistance(const::lefiVia * obj)126 double lefiVia_resistance (const ::lefiVia* obj) {
127 return ((LefDefParser::lefiVia*)obj)->resistance();
128 }
129
lefiVia_numProperties(const::lefiVia * obj)130 int lefiVia_numProperties (const ::lefiVia* obj) {
131 return ((LefDefParser::lefiVia*)obj)->numProperties();
132 }
133
lefiVia_propName(const::lefiVia * obj,int index)134 char* lefiVia_propName (const ::lefiVia* obj, int index) {
135 return ((LefDefParser::lefiVia*)obj)->propName(index);
136 }
137
lefiVia_propValue(const::lefiVia * obj,int index)138 char* lefiVia_propValue (const ::lefiVia* obj, int index) {
139 return ((LefDefParser::lefiVia*)obj)->propValue(index);
140 }
141
lefiVia_propNumber(const::lefiVia * obj,int index)142 double lefiVia_propNumber (const ::lefiVia* obj, int index) {
143 return ((LefDefParser::lefiVia*)obj)->propNumber(index);
144 }
145
lefiVia_propType(const::lefiVia * obj,int index)146 char lefiVia_propType (const ::lefiVia* obj, int index) {
147 return ((LefDefParser::lefiVia*)obj)->propType(index);
148 }
149
lefiVia_propIsNumber(const::lefiVia * obj,int index)150 int lefiVia_propIsNumber (const ::lefiVia* obj, int index) {
151 return ((LefDefParser::lefiVia*)obj)->propIsNumber(index);
152 }
153
lefiVia_propIsString(const::lefiVia * obj,int index)154 int lefiVia_propIsString (const ::lefiVia* obj, int index) {
155 return ((LefDefParser::lefiVia*)obj)->propIsString(index);
156 }
157
lefiVia_foreign(const::lefiVia * obj)158 char* lefiVia_foreign (const ::lefiVia* obj) {
159 return ((LefDefParser::lefiVia*)obj)->foreign();
160 }
161
lefiVia_foreignX(const::lefiVia * obj)162 double lefiVia_foreignX (const ::lefiVia* obj) {
163 return ((LefDefParser::lefiVia*)obj)->foreignX();
164 }
165
lefiVia_foreignY(const::lefiVia * obj)166 double lefiVia_foreignY (const ::lefiVia* obj) {
167 return ((LefDefParser::lefiVia*)obj)->foreignY();
168 }
169
lefiVia_foreignOrient(const::lefiVia * obj)170 int lefiVia_foreignOrient (const ::lefiVia* obj) {
171 return ((LefDefParser::lefiVia*)obj)->foreignOrient();
172 }
173
lefiVia_foreignOrientStr(const::lefiVia * obj)174 char* lefiVia_foreignOrientStr (const ::lefiVia* obj) {
175 return ((LefDefParser::lefiVia*)obj)->foreignOrientStr();
176 }
177
lefiVia_hasViaRule(const::lefiVia * obj)178 int lefiVia_hasViaRule (const ::lefiVia* obj) {
179 return ((LefDefParser::lefiVia*)obj)->hasViaRule();
180 }
181
lefiVia_viaRuleName(const::lefiVia * obj)182 const char* lefiVia_viaRuleName (const ::lefiVia* obj) {
183 return ((const LefDefParser::lefiVia*)obj)->viaRuleName();
184 }
185
lefiVia_xCutSize(const::lefiVia * obj)186 double lefiVia_xCutSize (const ::lefiVia* obj) {
187 return ((LefDefParser::lefiVia*)obj)->xCutSize();
188 }
189
lefiVia_yCutSize(const::lefiVia * obj)190 double lefiVia_yCutSize (const ::lefiVia* obj) {
191 return ((LefDefParser::lefiVia*)obj)->yCutSize();
192 }
193
lefiVia_botMetalLayer(const::lefiVia * obj)194 const char* lefiVia_botMetalLayer (const ::lefiVia* obj) {
195 return ((const LefDefParser::lefiVia*)obj)->botMetalLayer();
196 }
197
lefiVia_cutLayer(const::lefiVia * obj)198 const char* lefiVia_cutLayer (const ::lefiVia* obj) {
199 return ((const LefDefParser::lefiVia*)obj)->cutLayer();
200 }
201
lefiVia_topMetalLayer(const::lefiVia * obj)202 const char* lefiVia_topMetalLayer (const ::lefiVia* obj) {
203 return ((const LefDefParser::lefiVia*)obj)->topMetalLayer();
204 }
205
lefiVia_xCutSpacing(const::lefiVia * obj)206 double lefiVia_xCutSpacing (const ::lefiVia* obj) {
207 return ((LefDefParser::lefiVia*)obj)->xCutSpacing();
208 }
209
lefiVia_yCutSpacing(const::lefiVia * obj)210 double lefiVia_yCutSpacing (const ::lefiVia* obj) {
211 return ((LefDefParser::lefiVia*)obj)->yCutSpacing();
212 }
213
lefiVia_xBotEnc(const::lefiVia * obj)214 double lefiVia_xBotEnc (const ::lefiVia* obj) {
215 return ((LefDefParser::lefiVia*)obj)->xBotEnc();
216 }
217
lefiVia_yBotEnc(const::lefiVia * obj)218 double lefiVia_yBotEnc (const ::lefiVia* obj) {
219 return ((LefDefParser::lefiVia*)obj)->yBotEnc();
220 }
221
lefiVia_xTopEnc(const::lefiVia * obj)222 double lefiVia_xTopEnc (const ::lefiVia* obj) {
223 return ((LefDefParser::lefiVia*)obj)->xTopEnc();
224 }
225
lefiVia_yTopEnc(const::lefiVia * obj)226 double lefiVia_yTopEnc (const ::lefiVia* obj) {
227 return ((LefDefParser::lefiVia*)obj)->yTopEnc();
228 }
229
lefiVia_hasRowCol(const::lefiVia * obj)230 int lefiVia_hasRowCol (const ::lefiVia* obj) {
231 return ((LefDefParser::lefiVia*)obj)->hasRowCol();
232 }
233
lefiVia_numCutRows(const::lefiVia * obj)234 int lefiVia_numCutRows (const ::lefiVia* obj) {
235 return ((LefDefParser::lefiVia*)obj)->numCutRows();
236 }
237
lefiVia_numCutCols(const::lefiVia * obj)238 int lefiVia_numCutCols (const ::lefiVia* obj) {
239 return ((LefDefParser::lefiVia*)obj)->numCutCols();
240 }
241
lefiVia_hasOrigin(const::lefiVia * obj)242 int lefiVia_hasOrigin (const ::lefiVia* obj) {
243 return ((LefDefParser::lefiVia*)obj)->hasOrigin();
244 }
245
lefiVia_xOffset(const::lefiVia * obj)246 double lefiVia_xOffset (const ::lefiVia* obj) {
247 return ((LefDefParser::lefiVia*)obj)->xOffset();
248 }
249
lefiVia_yOffset(const::lefiVia * obj)250 double lefiVia_yOffset (const ::lefiVia* obj) {
251 return ((LefDefParser::lefiVia*)obj)->yOffset();
252 }
253
lefiVia_hasOffset(const::lefiVia * obj)254 int lefiVia_hasOffset (const ::lefiVia* obj) {
255 return ((LefDefParser::lefiVia*)obj)->hasOffset();
256 }
257
lefiVia_xBotOffset(const::lefiVia * obj)258 double lefiVia_xBotOffset (const ::lefiVia* obj) {
259 return ((LefDefParser::lefiVia*)obj)->xBotOffset();
260 }
261
lefiVia_yBotOffset(const::lefiVia * obj)262 double lefiVia_yBotOffset (const ::lefiVia* obj) {
263 return ((LefDefParser::lefiVia*)obj)->yBotOffset();
264 }
265
lefiVia_xTopOffset(const::lefiVia * obj)266 double lefiVia_xTopOffset (const ::lefiVia* obj) {
267 return ((LefDefParser::lefiVia*)obj)->xTopOffset();
268 }
269
lefiVia_yTopOffset(const::lefiVia * obj)270 double lefiVia_yTopOffset (const ::lefiVia* obj) {
271 return ((LefDefParser::lefiVia*)obj)->yTopOffset();
272 }
273
lefiVia_hasCutPattern(const::lefiVia * obj)274 int lefiVia_hasCutPattern (const ::lefiVia* obj) {
275 return ((LefDefParser::lefiVia*)obj)->hasCutPattern();
276 }
277
lefiVia_cutPattern(const::lefiVia * obj)278 const char* lefiVia_cutPattern (const ::lefiVia* obj) {
279 return ((const LefDefParser::lefiVia*)obj)->cutPattern();
280 }
281
lefiVia_print(const::lefiVia * obj,FILE * f)282 void lefiVia_print (const ::lefiVia* obj, FILE* f) {
283 ((LefDefParser::lefiVia*)obj)->print(f);
284 }
285
286