librstb 0.1.1

Write HDL-Testbenches in Rust.
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
/* automatically generated by rust-bindgen 0.58.1 */

pub const vhpiCbValueChange: u32 = 1001;
pub const vhpiCbAfterDelay: u32 = 1010;
pub const vhpiCbLastKnownDeltaCycle: u32 = 1020;
pub const vhpiCbEndOfTimeStep: u32 = 1024;
pub const vhpiCbStartOfSimulation: u32 = 1034;
pub const vhpiCbEndOfSimulation: u32 = 1035;
pub const vhpiReturnCb: u32 = 1;
pub type size_t = ::std::os::raw::c_ulong;
pub type __uint8_t = ::std::os::raw::c_uchar;
pub type __int32_t = ::std::os::raw::c_int;
pub type __uint32_t = ::std::os::raw::c_uint;
pub type __uint64_t = ::std::os::raw::c_ulong;
pub type vhpiHandleT = *mut u32;
pub type vhpiEnumT = u32;
pub type vhpiSmallEnumT = u8;
pub type vhpiIntT = u32;
pub type vhpiLongIntT = u64;
pub type vhpiCharT = ::std::os::raw::c_char;
pub type vhpiRealT = f64;
pub type vhpiSmallPhysT = u32;
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct vhpiPhysS {
    pub high: i32,
    pub low: u32,
}
pub type vhpiPhysT = vhpiPhysS;
#[doc = " time structure"]
#[repr(C)]
#[derive(Debug, Default, Copy, Clone)]
pub struct vhpiTimeS {
    pub high: u32,
    pub low: u32,
}
pub type vhpiTimeT = vhpiTimeS;
pub const vhpiFormatT_vhpiBinStrVal: vhpiFormatT = 1;
pub const vhpiFormatT_vhpiOctStrVal: vhpiFormatT = 2;
pub const vhpiFormatT_vhpiDecStrVal: vhpiFormatT = 3;
pub const vhpiFormatT_vhpiHexStrVal: vhpiFormatT = 4;
pub const vhpiFormatT_vhpiEnumVal: vhpiFormatT = 5;
pub const vhpiFormatT_vhpiIntVal: vhpiFormatT = 6;
pub const vhpiFormatT_vhpiLogicVal: vhpiFormatT = 7;
pub const vhpiFormatT_vhpiRealVal: vhpiFormatT = 8;
pub const vhpiFormatT_vhpiStrVal: vhpiFormatT = 9;
pub const vhpiFormatT_vhpiCharVal: vhpiFormatT = 10;
pub const vhpiFormatT_vhpiTimeVal: vhpiFormatT = 11;
pub const vhpiFormatT_vhpiPhysVal: vhpiFormatT = 12;
pub const vhpiFormatT_vhpiObjTypeVal: vhpiFormatT = 13;
pub const vhpiFormatT_vhpiPtrVal: vhpiFormatT = 14;
pub const vhpiFormatT_vhpiEnumVecVal: vhpiFormatT = 15;
pub const vhpiFormatT_vhpiIntVecVal: vhpiFormatT = 16;
pub const vhpiFormatT_vhpiLogicVecVal: vhpiFormatT = 17;
pub const vhpiFormatT_vhpiRealVecVal: vhpiFormatT = 18;
pub const vhpiFormatT_vhpiTimeVecVal: vhpiFormatT = 19;
pub const vhpiFormatT_vhpiPhysVecVal: vhpiFormatT = 20;
pub const vhpiFormatT_vhpiPtrVecVal: vhpiFormatT = 21;
pub const vhpiFormatT_vhpiRawDataVal: vhpiFormatT = 22;
pub const vhpiFormatT_vhpiSmallEnumVal: vhpiFormatT = 23;
pub const vhpiFormatT_vhpiSmallEnumVecVal: vhpiFormatT = 24;
pub const vhpiFormatT_vhpiLongIntVal: vhpiFormatT = 25;
pub const vhpiFormatT_vhpiLongIntVecVal: vhpiFormatT = 26;
pub const vhpiFormatT_vhpiSmallPhysVal: vhpiFormatT = 27;
pub const vhpiFormatT_vhpiSmallPhysVecVal: vhpiFormatT = 28;
#[doc = " value structure"]
pub type vhpiFormatT = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Copy, Clone)]
pub struct vhpiValueS {
    pub format: vhpiFormatT,
    pub bufSize: size_t,
    pub numElems: i32,
    pub unit: vhpiPhysT,
    pub value: vhpiValueS__bindgen_ty_1,
}
#[repr(C)]
#[derive(Copy, Clone)]
pub union vhpiValueS__bindgen_ty_1 {
    pub enumv: vhpiEnumT,
    pub enumvs: *mut vhpiEnumT,
    pub smallenumv: vhpiSmallEnumT,
    pub smallenumvs: *mut vhpiSmallEnumT,
    pub intg: vhpiIntT,
    pub intgs: *mut vhpiIntT,
    pub longintg: vhpiLongIntT,
    pub longintgs: *mut vhpiLongIntT,
    pub real: vhpiRealT,
    pub reals: *mut vhpiRealT,
    pub smallphys: vhpiSmallPhysT,
    pub smallphyss: *mut vhpiSmallPhysT,
    pub phys: vhpiPhysT,
    pub physs: *mut vhpiPhysT,
    pub time: vhpiTimeT,
    pub times: *mut vhpiTimeT,
    pub ch: vhpiCharT,
    pub str_: *mut vhpiCharT,
    pub ptr: *mut ::std::os::raw::c_void,
    pub ptrs: *mut *mut ::std::os::raw::c_void,
}
impl Default for vhpiValueS__bindgen_ty_1 {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
impl Default for vhpiValueS {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type vhpiValueT = vhpiValueS;
pub const vhpiOneToOneT_vhpiAbstractLiteral: vhpiOneToOneT = 1301;
pub const vhpiOneToOneT_vhpiActual: vhpiOneToOneT = 1302;
pub const vhpiOneToOneT_vhpiAll: vhpiOneToOneT = 1303;
pub const vhpiOneToOneT_vhpiAttrDecl: vhpiOneToOneT = 1304;
pub const vhpiOneToOneT_vhpiAttrSpec: vhpiOneToOneT = 1305;
pub const vhpiOneToOneT_vhpiBaseType: vhpiOneToOneT = 1306;
pub const vhpiOneToOneT_vhpiBaseUnit: vhpiOneToOneT = 1307;
pub const vhpiOneToOneT_vhpiBasicSignal: vhpiOneToOneT = 1308;
pub const vhpiOneToOneT_vhpiBlockConfig: vhpiOneToOneT = 1309;
pub const vhpiOneToOneT_vhpiCaseExpr: vhpiOneToOneT = 1310;
pub const vhpiOneToOneT_vhpiCondExpr: vhpiOneToOneT = 1311;
pub const vhpiOneToOneT_vhpiConfigDecl: vhpiOneToOneT = 1312;
pub const vhpiOneToOneT_vhpiConfigSpec: vhpiOneToOneT = 1313;
pub const vhpiOneToOneT_vhpiConstraint: vhpiOneToOneT = 1314;
pub const vhpiOneToOneT_vhpiContributor: vhpiOneToOneT = 1315;
pub const vhpiOneToOneT_vhpiCurCallback: vhpiOneToOneT = 1316;
pub const vhpiOneToOneT_vhpiCurEqProcess: vhpiOneToOneT = 1317;
pub const vhpiOneToOneT_vhpiCurStackFrame: vhpiOneToOneT = 1318;
pub const vhpiOneToOneT_vhpiDerefObj: vhpiOneToOneT = 1319;
pub const vhpiOneToOneT_vhpiDecl: vhpiOneToOneT = 1320;
pub const vhpiOneToOneT_vhpiDesignUnit: vhpiOneToOneT = 1321;
pub const vhpiOneToOneT_vhpiDownStack: vhpiOneToOneT = 1322;
pub const vhpiOneToOneT_vhpiElemSubtype: vhpiOneToOneT = 1323;
pub const vhpiOneToOneT_vhpiEntityAspect: vhpiOneToOneT = 1324;
pub const vhpiOneToOneT_vhpiEntityDecl: vhpiOneToOneT = 1325;
pub const vhpiOneToOneT_vhpiEqProcessStmt: vhpiOneToOneT = 1326;
pub const vhpiOneToOneT_vhpiExpr: vhpiOneToOneT = 1327;
pub const vhpiOneToOneT_vhpiFormal: vhpiOneToOneT = 1328;
pub const vhpiOneToOneT_vhpiFuncDecl: vhpiOneToOneT = 1329;
pub const vhpiOneToOneT_vhpiGroupTempDecl: vhpiOneToOneT = 1330;
pub const vhpiOneToOneT_vhpiGuardExpr: vhpiOneToOneT = 1331;
pub const vhpiOneToOneT_vhpiGuardSig: vhpiOneToOneT = 1332;
pub const vhpiOneToOneT_vhpiImmRegion: vhpiOneToOneT = 1333;
pub const vhpiOneToOneT_vhpiInPort: vhpiOneToOneT = 1334;
pub const vhpiOneToOneT_vhpiInitExpr: vhpiOneToOneT = 1335;
pub const vhpiOneToOneT_vhpiIterScheme: vhpiOneToOneT = 1336;
pub const vhpiOneToOneT_vhpiLeftExpr: vhpiOneToOneT = 1337;
pub const vhpiOneToOneT_vhpiLexicalScope: vhpiOneToOneT = 1338;
pub const vhpiOneToOneT_vhpiLhsExpr: vhpiOneToOneT = 1339;
pub const vhpiOneToOneT_vhpiLocal: vhpiOneToOneT = 1340;
pub const vhpiOneToOneT_vhpiLogicalExpr: vhpiOneToOneT = 1341;
pub const vhpiOneToOneT_vhpiName: vhpiOneToOneT = 1342;
pub const vhpiOneToOneT_vhpiOperator: vhpiOneToOneT = 1343;
pub const vhpiOneToOneT_vhpiOthers: vhpiOneToOneT = 1344;
pub const vhpiOneToOneT_vhpiOutPort: vhpiOneToOneT = 1345;
pub const vhpiOneToOneT_vhpiParamDecl: vhpiOneToOneT = 1346;
pub const vhpiOneToOneT_vhpiParamExpr: vhpiOneToOneT = 1347;
pub const vhpiOneToOneT_vhpiParent: vhpiOneToOneT = 1348;
pub const vhpiOneToOneT_vhpiPhysLiteral: vhpiOneToOneT = 1349;
pub const vhpiOneToOneT_vhpiPrefix: vhpiOneToOneT = 1350;
pub const vhpiOneToOneT_vhpiPrimaryUnit: vhpiOneToOneT = 1351;
pub const vhpiOneToOneT_vhpiProtectedTypeBody: vhpiOneToOneT = 1352;
pub const vhpiOneToOneT_vhpiProtectedTypeDecl: vhpiOneToOneT = 1353;
pub const vhpiOneToOneT_vhpiRejectTime: vhpiOneToOneT = 1354;
pub const vhpiOneToOneT_vhpiReportExpr: vhpiOneToOneT = 1355;
pub const vhpiOneToOneT_vhpiResolFunc: vhpiOneToOneT = 1356;
pub const vhpiOneToOneT_vhpiReturnExpr: vhpiOneToOneT = 1357;
pub const vhpiOneToOneT_vhpiReturnTypeMark: vhpiOneToOneT = 1358;
pub const vhpiOneToOneT_vhpiRhsExpr: vhpiOneToOneT = 1359;
pub const vhpiOneToOneT_vhpiRightExpr: vhpiOneToOneT = 1360;
pub const vhpiOneToOneT_vhpiRootInst: vhpiOneToOneT = 1361;
pub const vhpiOneToOneT_vhpiSelectExpr: vhpiOneToOneT = 1362;
pub const vhpiOneToOneT_vhpiSeverityExpr: vhpiOneToOneT = 1363;
pub const vhpiOneToOneT_vhpiSimpleName: vhpiOneToOneT = 1364;
pub const vhpiOneToOneT_vhpiSubpBody: vhpiOneToOneT = 1365;
pub const vhpiOneToOneT_vhpiSubpDecl: vhpiOneToOneT = 1366;
pub const vhpiOneToOneT_vhpiSubtype: vhpiOneToOneT = 1367;
pub const vhpiOneToOneT_vhpiSuffix: vhpiOneToOneT = 1368;
pub const vhpiOneToOneT_vhpiTimeExpr: vhpiOneToOneT = 1369;
pub const vhpiOneToOneT_vhpiTimeOutExpr: vhpiOneToOneT = 1370;
pub const vhpiOneToOneT_vhpiTool: vhpiOneToOneT = 1371;
pub const vhpiOneToOneT_vhpiType: vhpiOneToOneT = 1372;
pub const vhpiOneToOneT_vhpiTypeMark: vhpiOneToOneT = 1373;
pub const vhpiOneToOneT_vhpiTypespec: vhpiOneToOneT = 1374;
pub const vhpiOneToOneT_vhpiUnitDecl: vhpiOneToOneT = 1374;
pub const vhpiOneToOneT_vhpiUpStack: vhpiOneToOneT = 1375;
pub const vhpiOneToOneT_vhpiUpperRegion: vhpiOneToOneT = 1376;
pub const vhpiOneToOneT_vhpiUse: vhpiOneToOneT = 1377;
pub const vhpiOneToOneT_vhpiValExpr: vhpiOneToOneT = 1378;
pub const vhpiOneToOneT_vhpiValSubtype: vhpiOneToOneT = 1379;
pub const vhpiOneToOneT_vhpiElemType: vhpiOneToOneT = 1380;
pub const vhpiOneToOneT_vhpiFirstNamedType: vhpiOneToOneT = 1381;
pub const vhpiOneToOneT_vhpiReturnType: vhpiOneToOneT = 1382;
pub const vhpiOneToOneT_vhpiValType: vhpiOneToOneT = 1383;
pub const vhpiOneToOneT_vhpiCurRegion: vhpiOneToOneT = 1384;
#[doc = " methods used to traverse 1 to 1 relationships"]
pub type vhpiOneToOneT = ::std::os::raw::c_uint;
pub const vhpiOneToManyT_vhpiAliasDecls: vhpiOneToManyT = 1501;
pub const vhpiOneToManyT_vhpiArgvs: vhpiOneToManyT = 1502;
pub const vhpiOneToManyT_vhpiAttrDecls: vhpiOneToManyT = 1503;
pub const vhpiOneToManyT_vhpiAttrSpecs: vhpiOneToManyT = 1504;
pub const vhpiOneToManyT_vhpiBasicSignals: vhpiOneToManyT = 1505;
pub const vhpiOneToManyT_vhpiBlockStmts: vhpiOneToManyT = 1506;
pub const vhpiOneToManyT_vhpiBranchs: vhpiOneToManyT = 1507;
pub const vhpiOneToManyT_vhpiChoices: vhpiOneToManyT = 1509;
pub const vhpiOneToManyT_vhpiCompInstStmts: vhpiOneToManyT = 1510;
pub const vhpiOneToManyT_vhpiCondExprs: vhpiOneToManyT = 1511;
pub const vhpiOneToManyT_vhpiCondWaveforms: vhpiOneToManyT = 1512;
pub const vhpiOneToManyT_vhpiConfigItems: vhpiOneToManyT = 1513;
pub const vhpiOneToManyT_vhpiConfigSpecs: vhpiOneToManyT = 1514;
pub const vhpiOneToManyT_vhpiConstDecls: vhpiOneToManyT = 1515;
pub const vhpiOneToManyT_vhpiConstraints: vhpiOneToManyT = 1516;
pub const vhpiOneToManyT_vhpiContributors: vhpiOneToManyT = 1517;
pub const vhpiOneToManyT_vhpiDecls: vhpiOneToManyT = 1519;
pub const vhpiOneToManyT_vhpiDepUnits: vhpiOneToManyT = 1520;
pub const vhpiOneToManyT_vhpiDesignUnits: vhpiOneToManyT = 1521;
pub const vhpiOneToManyT_vhpiDrivenSigs: vhpiOneToManyT = 1522;
pub const vhpiOneToManyT_vhpiDrivers: vhpiOneToManyT = 1523;
pub const vhpiOneToManyT_vhpiElemAssocs: vhpiOneToManyT = 1524;
pub const vhpiOneToManyT_vhpiEntityClassEntrys: vhpiOneToManyT = 1525;
pub const vhpiOneToManyT_vhpiEntityDesignators: vhpiOneToManyT = 1526;
pub const vhpiOneToManyT_vhpiEnumLiterals: vhpiOneToManyT = 1527;
pub const vhpiOneToManyT_vhpiForeignfs: vhpiOneToManyT = 1528;
pub const vhpiOneToManyT_vhpiGenericAssocs: vhpiOneToManyT = 1529;
pub const vhpiOneToManyT_vhpiGenericDecls: vhpiOneToManyT = 1530;
pub const vhpiOneToManyT_vhpiIndexExprs: vhpiOneToManyT = 1531;
pub const vhpiOneToManyT_vhpiIndexedNames: vhpiOneToManyT = 1532;
pub const vhpiOneToManyT_vhpiInternalRegions: vhpiOneToManyT = 1533;
pub const vhpiOneToManyT_vhpiMembers: vhpiOneToManyT = 1534;
pub const vhpiOneToManyT_vhpiPackInsts: vhpiOneToManyT = 1535;
pub const vhpiOneToManyT_vhpiParamAssocs: vhpiOneToManyT = 1536;
pub const vhpiOneToManyT_vhpiParamDecls: vhpiOneToManyT = 1537;
pub const vhpiOneToManyT_vhpiPortAssocs: vhpiOneToManyT = 1538;
pub const vhpiOneToManyT_vhpiPortDecls: vhpiOneToManyT = 1539;
pub const vhpiOneToManyT_vhpiRecordElems: vhpiOneToManyT = 1540;
pub const vhpiOneToManyT_vhpiSelectWaveforms: vhpiOneToManyT = 1541;
pub const vhpiOneToManyT_vhpiSelectedNames: vhpiOneToManyT = 1542;
pub const vhpiOneToManyT_vhpiSensitivitys: vhpiOneToManyT = 1543;
pub const vhpiOneToManyT_vhpiSeqStmts: vhpiOneToManyT = 1544;
pub const vhpiOneToManyT_vhpiSigAttrs: vhpiOneToManyT = 1545;
pub const vhpiOneToManyT_vhpiSigDecls: vhpiOneToManyT = 1546;
pub const vhpiOneToManyT_vhpiSigNames: vhpiOneToManyT = 1547;
pub const vhpiOneToManyT_vhpiSignals: vhpiOneToManyT = 1548;
pub const vhpiOneToManyT_vhpiSpecNames: vhpiOneToManyT = 1549;
pub const vhpiOneToManyT_vhpiSpecs: vhpiOneToManyT = 1550;
pub const vhpiOneToManyT_vhpiStmts: vhpiOneToManyT = 1551;
pub const vhpiOneToManyT_vhpiTransactions: vhpiOneToManyT = 1552;
pub const vhpiOneToManyT_vhpiTypeMarks: vhpiOneToManyT = 1553;
pub const vhpiOneToManyT_vhpiUnitDecls: vhpiOneToManyT = 1554;
pub const vhpiOneToManyT_vhpiUses: vhpiOneToManyT = 1555;
pub const vhpiOneToManyT_vhpiVarDecls: vhpiOneToManyT = 1556;
pub const vhpiOneToManyT_vhpiWaveformElems: vhpiOneToManyT = 1557;
pub const vhpiOneToManyT_vhpiLibraryDecls: vhpiOneToManyT = 1558;
pub const vhpiOneToManyT_vhpiLocalLoads: vhpiOneToManyT = 1559;
pub const vhpiOneToManyT_vhpiOptimizedLoads: vhpiOneToManyT = 1560;
pub const vhpiOneToManyT_vhpiTypes: vhpiOneToManyT = 1561;
pub const vhpiOneToManyT_vhpiUseClauses: vhpiOneToManyT = 1562;
pub const vhpiOneToManyT_vhpiCallbacks: vhpiOneToManyT = 1563;
pub const vhpiOneToManyT_vhpiCurRegions: vhpiOneToManyT = 1564;
#[doc = " methods used to traverse 1 to many relationships"]
pub type vhpiOneToManyT = ::std::os::raw::c_uint;
pub const vhpiIntPropertyT_vhpiAccessP: vhpiIntPropertyT = 1001;
pub const vhpiIntPropertyT_vhpiArgcP: vhpiIntPropertyT = 1002;
pub const vhpiIntPropertyT_vhpiAttrKindP: vhpiIntPropertyT = 1003;
pub const vhpiIntPropertyT_vhpiBaseIndexP: vhpiIntPropertyT = 1004;
pub const vhpiIntPropertyT_vhpiBeginLineNoP: vhpiIntPropertyT = 1005;
pub const vhpiIntPropertyT_vhpiEndLineNoP: vhpiIntPropertyT = 1006;
pub const vhpiIntPropertyT_vhpiEntityClassP: vhpiIntPropertyT = 1007;
pub const vhpiIntPropertyT_vhpiForeignKindP: vhpiIntPropertyT = 1008;
pub const vhpiIntPropertyT_vhpiFrameLevelP: vhpiIntPropertyT = 1009;
pub const vhpiIntPropertyT_vhpiGenerateIndexP: vhpiIntPropertyT = 1010;
pub const vhpiIntPropertyT_vhpiIntValP: vhpiIntPropertyT = 1011;
pub const vhpiIntPropertyT_vhpiIsAnonymousP: vhpiIntPropertyT = 1012;
pub const vhpiIntPropertyT_vhpiIsBasicP: vhpiIntPropertyT = 1013;
pub const vhpiIntPropertyT_vhpiIsCompositeP: vhpiIntPropertyT = 1014;
pub const vhpiIntPropertyT_vhpiIsDefaultP: vhpiIntPropertyT = 1015;
pub const vhpiIntPropertyT_vhpiIsDeferredP: vhpiIntPropertyT = 1016;
pub const vhpiIntPropertyT_vhpiIsDiscreteP: vhpiIntPropertyT = 1017;
pub const vhpiIntPropertyT_vhpiIsForcedP: vhpiIntPropertyT = 1018;
pub const vhpiIntPropertyT_vhpiIsForeignP: vhpiIntPropertyT = 1019;
pub const vhpiIntPropertyT_vhpiIsGuardedP: vhpiIntPropertyT = 1020;
pub const vhpiIntPropertyT_vhpiIsImplicitDeclP: vhpiIntPropertyT = 1021;
pub const vhpiIntPropertyT_vhpiIsInvalidP: vhpiIntPropertyT = 1022;
pub const vhpiIntPropertyT_vhpiIsLocalP: vhpiIntPropertyT = 1023;
pub const vhpiIntPropertyT_vhpiIsNamedP: vhpiIntPropertyT = 1024;
pub const vhpiIntPropertyT_vhpiIsNullP: vhpiIntPropertyT = 1025;
pub const vhpiIntPropertyT_vhpiIsOpenP: vhpiIntPropertyT = 1026;
pub const vhpiIntPropertyT_vhpiIsPLIP: vhpiIntPropertyT = 1027;
pub const vhpiIntPropertyT_vhpiIsPassiveP: vhpiIntPropertyT = 1028;
pub const vhpiIntPropertyT_vhpiIsPostponedP: vhpiIntPropertyT = 1029;
pub const vhpiIntPropertyT_vhpiIsProtectedTypeP: vhpiIntPropertyT = 1030;
pub const vhpiIntPropertyT_vhpiIsPureP: vhpiIntPropertyT = 1031;
pub const vhpiIntPropertyT_vhpiIsResolvedP: vhpiIntPropertyT = 1032;
pub const vhpiIntPropertyT_vhpiIsScalarP: vhpiIntPropertyT = 1033;
pub const vhpiIntPropertyT_vhpiIsSeqStmtP: vhpiIntPropertyT = 1034;
pub const vhpiIntPropertyT_vhpiIsSharedP: vhpiIntPropertyT = 1035;
pub const vhpiIntPropertyT_vhpiIsTransportP: vhpiIntPropertyT = 1036;
pub const vhpiIntPropertyT_vhpiIsUnaffectedP: vhpiIntPropertyT = 1037;
pub const vhpiIntPropertyT_vhpiIsUnconstrainedP: vhpiIntPropertyT = 1038;
pub const vhpiIntPropertyT_vhpiIsUninstantiatedP: vhpiIntPropertyT = 1039;
pub const vhpiIntPropertyT_vhpiIsUpP: vhpiIntPropertyT = 1040;
pub const vhpiIntPropertyT_vhpiIsVitalP: vhpiIntPropertyT = 1041;
pub const vhpiIntPropertyT_vhpiIteratorTypeP: vhpiIntPropertyT = 1042;
pub const vhpiIntPropertyT_vhpiKindP: vhpiIntPropertyT = 1043;
pub const vhpiIntPropertyT_vhpiLeftBoundP: vhpiIntPropertyT = 1044;
pub const vhpiIntPropertyT_vhpiLevelP: vhpiIntPropertyT = 1045;
pub const vhpiIntPropertyT_vhpiLineNoP: vhpiIntPropertyT = 1046;
pub const vhpiIntPropertyT_vhpiLineOffsetP: vhpiIntPropertyT = 1047;
pub const vhpiIntPropertyT_vhpiLoopIndexP: vhpiIntPropertyT = 1048;
pub const vhpiIntPropertyT_vhpiModeP: vhpiIntPropertyT = 1049;
pub const vhpiIntPropertyT_vhpiNumDimensionsP: vhpiIntPropertyT = 1050;
pub const vhpiIntPropertyT_vhpiNumFieldsP: vhpiIntPropertyT = 1051;
pub const vhpiIntPropertyT_vhpiNumGensP: vhpiIntPropertyT = 1052;
pub const vhpiIntPropertyT_vhpiNumLiteralsP: vhpiIntPropertyT = 1053;
pub const vhpiIntPropertyT_vhpiNumMembersP: vhpiIntPropertyT = 1054;
pub const vhpiIntPropertyT_vhpiNumParamsP: vhpiIntPropertyT = 1055;
pub const vhpiIntPropertyT_vhpiNumPortsP: vhpiIntPropertyT = 1056;
pub const vhpiIntPropertyT_vhpiOpenModeP: vhpiIntPropertyT = 1057;
pub const vhpiIntPropertyT_vhpiPhaseP: vhpiIntPropertyT = 1058;
pub const vhpiIntPropertyT_vhpiPositionP: vhpiIntPropertyT = 1059;
pub const vhpiIntPropertyT_vhpiPredefAttrP: vhpiIntPropertyT = 1060;
pub const vhpiIntPropertyT_vhpiReasonP: vhpiIntPropertyT = 1062;
pub const vhpiIntPropertyT_vhpiRightBoundP: vhpiIntPropertyT = 1063;
pub const vhpiIntPropertyT_vhpiSigKindP: vhpiIntPropertyT = 1064;
pub const vhpiIntPropertyT_vhpiSizeP: vhpiIntPropertyT = 1065;
pub const vhpiIntPropertyT_vhpiStartLineNoP: vhpiIntPropertyT = 1066;
pub const vhpiIntPropertyT_vhpiStateP: vhpiIntPropertyT = 1067;
pub const vhpiIntPropertyT_vhpiStaticnessP: vhpiIntPropertyT = 1068;
pub const vhpiIntPropertyT_vhpiVHDLversionP: vhpiIntPropertyT = 1069;
pub const vhpiIntPropertyT_vhpiIdP: vhpiIntPropertyT = 1070;
pub const vhpiIntPropertyT_vhpiCapabilitiesP: vhpiIntPropertyT = 1071;
pub const vhpiIntPropertyT_vhpiIsStdLogicP: vhpiIntPropertyT = 1072;
pub const vhpiIntPropertyT_vhpiIsStdULogicP: vhpiIntPropertyT = 1073;
pub const vhpiIntPropertyT_vhpiIsStdLogicVectorP: vhpiIntPropertyT = 1074;
pub const vhpiIntPropertyT_vhpiIsStdULogicVectorP: vhpiIntPropertyT = 1075;
pub const vhpiIntPropertyT_vhpiLanguageP: vhpiIntPropertyT = 1200;
#[doc = " PROPERTIES *******************/"]
pub type vhpiIntPropertyT = ::std::os::raw::c_uint;
pub const vhpiStrPropertyT_vhpiCaseNameP: vhpiStrPropertyT = 1301;
pub const vhpiStrPropertyT_vhpiCompNameP: vhpiStrPropertyT = 1302;
pub const vhpiStrPropertyT_vhpiDefNameP: vhpiStrPropertyT = 1303;
pub const vhpiStrPropertyT_vhpiFileNameP: vhpiStrPropertyT = 1304;
pub const vhpiStrPropertyT_vhpiFullCaseNameP: vhpiStrPropertyT = 1305;
pub const vhpiStrPropertyT_vhpiFullNameP: vhpiStrPropertyT = 1306;
pub const vhpiStrPropertyT_vhpiKindStrP: vhpiStrPropertyT = 1307;
pub const vhpiStrPropertyT_vhpiLabelNameP: vhpiStrPropertyT = 1308;
pub const vhpiStrPropertyT_vhpiLibLogicalNameP: vhpiStrPropertyT = 1309;
pub const vhpiStrPropertyT_vhpiLibPhysicalNameP: vhpiStrPropertyT = 1310;
pub const vhpiStrPropertyT_vhpiLogicalNameP: vhpiStrPropertyT = 1311;
pub const vhpiStrPropertyT_vhpiLoopLabelNameP: vhpiStrPropertyT = 1312;
pub const vhpiStrPropertyT_vhpiNameP: vhpiStrPropertyT = 1313;
pub const vhpiStrPropertyT_vhpiOpNameP: vhpiStrPropertyT = 1314;
pub const vhpiStrPropertyT_vhpiStrValP: vhpiStrPropertyT = 1315;
pub const vhpiStrPropertyT_vhpiToolVersionP: vhpiStrPropertyT = 1316;
pub const vhpiStrPropertyT_vhpiUnitNameP: vhpiStrPropertyT = 1317;
pub const vhpiStrPropertyT_vhpiSaveRestartLocationP: vhpiStrPropertyT = 1318;
pub const vhpiStrPropertyT_vhpiFullVlogNameP: vhpiStrPropertyT = 1500;
pub const vhpiStrPropertyT_vhpiFullVHDLNameP: vhpiStrPropertyT = 1501;
pub const vhpiStrPropertyT_vhpiFullLSNameP: vhpiStrPropertyT = 1502;
pub const vhpiStrPropertyT_vhpiFullLSCaseNameP: vhpiStrPropertyT = 1503;
#[doc = " STRING PROPERTIES"]
pub type vhpiStrPropertyT = ::std::os::raw::c_uint;
pub const vhpiPhysPropertyT_vhpiPhysLeftBoundP: vhpiPhysPropertyT = 1651;
pub const vhpiPhysPropertyT_vhpiPhysPositionP: vhpiPhysPropertyT = 1652;
pub const vhpiPhysPropertyT_vhpiPhysRightBoundP: vhpiPhysPropertyT = 1653;
pub const vhpiPhysPropertyT_vhpiPhysValP: vhpiPhysPropertyT = 1654;
pub const vhpiPhysPropertyT_vhpiPrecisionP: vhpiPhysPropertyT = 1655;
pub const vhpiPhysPropertyT_vhpiSimTimeUnitP: vhpiPhysPropertyT = 1656;
pub const vhpiPhysPropertyT_vhpiResolutionLimitP: vhpiPhysPropertyT = 1657;
#[doc = " PHYSICAL PROPERTIES"]
pub type vhpiPhysPropertyT = ::std::os::raw::c_uint;
pub const vhpiSeverityT_vhpiNote: vhpiSeverityT = 1;
pub const vhpiSeverityT_vhpiWarning: vhpiSeverityT = 2;
pub const vhpiSeverityT_vhpiError: vhpiSeverityT = 3;
pub const vhpiSeverityT_vhpiFailure: vhpiSeverityT = 6;
pub const vhpiSeverityT_vhpiSystem: vhpiSeverityT = 4;
pub const vhpiSeverityT_vhpiInternal: vhpiSeverityT = 5;
#[doc = " PLI error information structure"]
pub type vhpiSeverityT = ::std::os::raw::c_uint;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct vhpiErrorInfoS {
    pub severity: vhpiSeverityT,
    pub message: *mut ::std::os::raw::c_char,
    pub str_: *mut ::std::os::raw::c_char,
    pub file: *mut ::std::os::raw::c_char,
    pub line: i32,
}
impl Default for vhpiErrorInfoS {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type vhpiErrorInfoT = vhpiErrorInfoS;
#[doc = " callback structures"]
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct vhpiCbDataS {
    pub reason: i32,
    pub cb_rtn: ::std::option::Option<unsafe extern "C" fn(arg1: *const vhpiCbDataS)>,
    pub obj: vhpiHandleT,
    pub time: *mut vhpiTimeT,
    pub value: *mut vhpiValueT,
    pub user_data: *mut ::std::os::raw::c_void,
}
impl Default for vhpiCbDataS {
    fn default() -> Self {
        unsafe { ::std::mem::zeroed() }
    }
}
pub type vhpiCbDataT = vhpiCbDataS;
extern "C" {
    pub fn vhpi_register_cb(cb_data_p: *mut vhpiCbDataT, flags: i32) -> vhpiHandleT;
}
extern "C" {
    pub fn vhpi_remove_cb(cb_obj: vhpiHandleT) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vhpi_handle_by_name(
        name: *const ::std::os::raw::c_char,
        scope: vhpiHandleT,
    ) -> vhpiHandleT;
}
extern "C" {
    pub fn vhpi_handle(type_: vhpiOneToOneT, referenceHandle: vhpiHandleT) -> vhpiHandleT;
}
extern "C" {
    pub fn vhpi_iterator(type_: vhpiOneToManyT, referenceHandle: vhpiHandleT) -> vhpiHandleT;
}
extern "C" {
    pub fn vhpi_scan(iterator: vhpiHandleT) -> vhpiHandleT;
}
extern "C" {
    pub fn vhpi_get(property: vhpiIntPropertyT, object: vhpiHandleT) -> vhpiIntT;
}
extern "C" {
    pub fn vhpi_get_str(property: vhpiStrPropertyT, object: vhpiHandleT) -> *const vhpiCharT;
}
extern "C" {
    pub fn vhpi_get_phys(property: vhpiPhysPropertyT, object: vhpiHandleT) -> vhpiPhysT;
}
pub const vhpiPutValueModeT_vhpiDeposit: vhpiPutValueModeT = 0;
pub const vhpiPutValueModeT_vhpiDepositPropagate: vhpiPutValueModeT = 1;
pub const vhpiPutValueModeT_vhpiForce: vhpiPutValueModeT = 2;
pub const vhpiPutValueModeT_vhpiForcePropagate: vhpiPutValueModeT = 3;
pub const vhpiPutValueModeT_vhpiRelease: vhpiPutValueModeT = 4;
pub const vhpiPutValueModeT_vhpiSizeConstraint: vhpiPutValueModeT = 5;
pub type vhpiPutValueModeT = ::std::os::raw::c_uint;
extern "C" {
    pub fn vhpi_get_value(expr: vhpiHandleT, value_p: *mut vhpiValueT) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vhpi_put_value(
        object: vhpiHandleT,
        value_p: *mut vhpiValueT,
        flags: vhpiPutValueModeT,
    ) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vhpi_get_time(time_p: *mut vhpiTimeT, cycles: *mut ::std::os::raw::c_long);
}
extern "C" {
    pub fn vhpi_printf(format: *const ::std::os::raw::c_char, ...) -> ::std::os::raw::c_int;
}
extern "C" {
    pub fn vhpi_check_error(error_info_p: *mut vhpiErrorInfoT) -> ::std::os::raw::c_int;
}