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