1extern crate libc;
2use libc::{c_char, c_void, size_t};
3
4#[cfg_attr(not(feature = "static"), link(name = "NiFpga", kind = "raw-dylib"))]
7
8extern "C" {
9 #[link_name = "NiFpgaDll_Open"]
13 pub fn open(
14 bitfile: *const c_char,
15 signature: *const c_char,
16 resource: *const c_char,
17 attribute: u32,
18 session: *mut u32,
19 ) -> i32;
20
21 #[link_name = "NiFpgaDll_Close"]
22 pub fn close(session: u32, attribute: u32) -> i32;
23
24 #[link_name = "NiFpgaDll_Run"]
28 pub fn run(session: u32) -> i32;
29
30 #[link_name = "NiFpgaDll_Abort"]
31 pub fn abort(session: u32) -> i32;
32
33 #[link_name = "NiFpgaDll_Reset"]
34 pub fn reset(session: u32) -> i32;
35
36 #[link_name = "NiFpgaDll_Download"]
37 pub fn download(session: u32) -> i32;
38
39 #[link_name = "NiFpgaDll_ReadI8"]
40 pub fn read_i8(session: u32, indicator: u32, value: *mut i8) -> i32;
41
42 #[link_name = "NiFpgaDll_WriteI8"]
43 pub fn write_i8(session: u32, control: u32, value: i8) -> i32;
44
45 #[link_name = "NiFpgaDll_ReadArrayI8"]
46 pub fn read_array_i8(session: u32, indicator: u32, array: *mut i8, size: size_t) -> i32;
47
48 #[link_name = "NiFpgaDll_WriteArrayI8"]
49 pub fn write_array_i8(session: u32, indicator: u32, array: *const i8, size: size_t) -> i32;
50
51 #[link_name = "NiFpgaDll_ReadU8"]
52 pub fn read_u8(session: u32, indicator: u32, value: *mut u8) -> i32;
53
54 #[link_name = "NiFpgaDll_WriteU8"]
55 pub fn write_u8(session: u32, control: u32, value: u8) -> i32;
56
57 #[link_name = "NiFpgaDll_ReadArrayU8"]
58 pub fn read_array_u8(session: u32, indicator: u32, array: *mut u8, size: size_t) -> i32;
59
60 #[link_name = "NiFpgaDll_WriteArrayU8"]
61 pub fn write_array_u8(session: u32, indicator: u32, array: *const u8, size: size_t) -> i32;
62
63 #[link_name = "NiFpgaDll_ReadI16"]
64 pub fn read_i16(session: u32, indicator: u32, value: *mut i16) -> i32;
65
66 #[link_name = "NiFpgaDll_WriteI16"]
67 pub fn write_i16(session: u32, control: u32, value: i16) -> i32;
68
69 #[link_name = "NiFpgaDll_ReadArrayI16"]
70 pub fn read_array_i16(session: u32, indicator: u32, array: *mut i16, size: size_t) -> i32;
71
72 #[link_name = "NiFpgaDll_WriteArrayI16"]
73 pub fn write_array_i16(session: u32, indicator: u32, array: *const i16, size: size_t) -> i32;
74
75 #[link_name = "NiFpgaDll_ReadU16"]
76 pub fn read_u16(session: u32, indicator: u32, value: *mut u16) -> i32;
77
78 #[link_name = "NiFpgaDll_WriteU16"]
79 pub fn write_u16(session: u32, control: u32, value: u16) -> i32;
80
81 #[link_name = "NiFpgaDll_ReadArrayU16"]
82 pub fn read_array_u16(session: u32, indicator: u32, array: *mut u16, size: size_t) -> i32;
83
84 #[link_name = "NiFpgaDll_WriteArrayU16"]
85 pub fn write_array_u16(session: u32, indicator: u32, array: *const u16, size: size_t) -> i32;
86
87 #[link_name = "NiFpgaDll_ReadI32"]
88 pub fn read_i32(session: u32, indicator: u32, value: *mut i32) -> i32;
89
90 #[link_name = "NiFpgaDll_WriteI32"]
91 pub fn write_i32(session: u32, control: u32, value: i32) -> i32;
92
93 #[link_name = "NiFpgaDll_ReadArrayI32"]
94 pub fn read_array_i32(session: u32, indicator: u32, array: *mut i32, size: size_t) -> i32;
95
96 #[link_name = "NiFpgaDll_WriteArrayI32"]
97 pub fn write_array_i32(session: u32, indicator: u32, array: *const i32, size: size_t) -> i32;
98
99 #[link_name = "NiFpgaDll_ReadU32"]
100 pub fn read_u32(session: u32, indicator: u32, value: *mut u32) -> i32;
101
102 #[link_name = "NiFpgaDll_WriteU32"]
103 pub fn write_u32(session: u32, control: u32, value: u32) -> i32;
104
105 #[link_name = "NiFpgaDll_ReadArrayU32"]
106 pub fn read_array_u32(session: u32, indicator: u32, array: *mut u32, size: size_t) -> i32;
107
108 #[link_name = "NiFpgaDll_WriteArrayU32"]
109 pub fn write_array_u32(session: u32, indicator: u32, array: *const u32, size: size_t) -> i32;
110
111 #[link_name = "NiFpgaDll_ReadI64"]
112 pub fn read_i64(session: u32, indicator: u32, value: *mut i64) -> i32;
113
114 #[link_name = "NiFpgaDll_WriteI64"]
115 pub fn write_i64(session: u32, control: u32, value: i64) -> i32;
116
117 #[link_name = "NiFpgaDll_ReadArrayI64"]
118 pub fn read_array_i64(session: u32, indicator: u32, array: *mut i64, size: size_t) -> i32;
119
120 #[link_name = "NiFpgaDll_WriteArrayI64"]
121 pub fn write_array_i64(session: u32, indicator: u32, array: *const i64, size: size_t) -> i32;
122
123 #[link_name = "NiFpgaDll_ReadU64"]
124 pub fn read_u64(session: u32, indicator: u32, value: *mut u64) -> i32;
125
126 #[link_name = "NiFpgaDll_WriteU64"]
127 pub fn write_u64(session: u32, control: u32, value: u64) -> i32;
128
129 #[link_name = "NiFpgaDll_ReadArrayU64"]
130 pub fn read_array_u64(session: u32, indicator: u32, array: *mut u64, size: size_t) -> i32;
131
132 #[link_name = "NiFpgaDll_WriteArrayU64"]
133 pub fn write_array_u64(session: u32, indicator: u32, array: *const u64, size: size_t) -> i32;
134
135 #[link_name = "NiFpgaDll_ReadSgl"]
136 pub fn read_f32(session: u32, indicator: u32, value: *mut f32) -> i32;
137
138 #[link_name = "NiFpgaDll_WriteSgl"]
139 pub fn write_f32(session: u32, control: u32, value: f32) -> i32;
140
141 #[link_name = "NiFpgaDll_ReadArraySgl"]
142 pub fn read_array_f32(session: u32, indicator: u32, array: *mut f32, size: size_t) -> i32;
143
144 #[link_name = "NiFpgaDll_WriteArraySgl"]
145 pub fn write_array_f32(session: u32, indicator: u32, array: *const f32, size: size_t) -> i32;
146
147 #[link_name = "NiFpgaDll_ReadDbl"]
148 pub fn read_f64(session: u32, indicator: u32, value: *mut f64) -> i32;
149
150 #[link_name = "NiFpgaDll_WriteDbl"]
151 pub fn write_f64(session: u32, control: u32, value: f64) -> i32;
152
153 #[link_name = "NiFpgaDll_ReadArrayDbl"]
154 pub fn read_array_f64(session: u32, indicator: u32, array: *mut f64, size: size_t) -> i32;
155
156 #[link_name = "NiFpgaDll_WriteArrayDbl"]
157 pub fn write_array_f64(session: u32, indicator: u32, array: *const f64, size: size_t) -> i32;
158
159 #[link_name = "NiFpgaDll_ReadBool"]
160 pub fn read_bool(session: u32, indicator: u32, value: *mut bool) -> i32;
161
162 #[link_name = "NiFpgaDll_WriteBool"]
163 pub fn write_bool(session: u32, control: u32, value: bool) -> i32;
164
165 #[link_name = "NiFpgaDll_ReadArrayBool"]
166 pub fn read_array_bool(session: u32, indicator: u32, array: *mut bool, size: size_t) -> i32;
167
168 #[link_name = "NiFpgaDll_WriteArrayBool"]
169 pub fn write_array_bool(session: u32, indicator: u32, array: *const bool, size: size_t) -> i32;
170
171 #[link_name = "NiFpgaDll_ReserveIrqContext"]
172 pub fn reserve_irq_context(session: u32, context: *mut *const c_void) -> i32;
173
174 #[link_name = "NiFpgaDll_UnreserveIrqContext"]
175 pub fn unreserve_irq_context(session: u32, context: *const c_void) -> i32;
176
177 #[link_name = "NiFpgaDll_WaitOnIrqs"]
178 pub fn wait_on_irqs(
179 session: u32,
180 context: *const c_void,
181 irqs: u32,
182 timeout: u32,
183 irqsAsserted: *mut u32,
184 timedOut: *mut u8,
185 ) -> i32;
186
187 #[link_name = "NiFpgaDll_AcknowledgeIrqs"]
188 pub fn acknowledge_irqs(session: u32, irqs: u32) -> i32;
189
190 #[link_name = "NiFpgaDll_ConfigureFifo"]
191 pub fn configure_fifo(session: u32, fifo: u32, depth: size_t) -> i32;
192
193 #[link_name = "NiFpgaDll_ConfigureFifo2"]
194 pub fn configure_fifo2(
195 session: u32,
196 fifo: u32,
197 requestedDepth: size_t,
198 actualDepth: *mut size_t,
199 ) -> i32;
200
201 #[link_name = "NiFpgaDll_StartFifo"]
202 pub fn start_fifo(session: u32, fifo: u32) -> i32;
203
204 #[link_name = "NiFpgaDll_StopFifo"]
205 pub fn stop_fifo(session: u32, fifo: u32) -> i32;
206
207 #[link_name = "NiFpgaDll_ReadFifoI8"]
208 pub fn read_fifo_i8(
209 session: u32,
210 fifo: u32,
211 data: *mut i8,
212 numberOfElements: size_t,
213 timeout: u32,
214 elementsRemaining: *mut size_t,
215 ) -> i32;
216
217 #[link_name = "NiFpgaDll_WriteFifoI8"]
218 pub fn write_fifo_i8(
219 session: u32,
220 fifo: u32,
221 data: *const i8,
222 numberOfElements: size_t,
223 timeout: u32,
224 emptyElementsRemaining: *mut size_t,
225 ) -> i32;
226
227 #[link_name = "NiFpgaDll_AcquireFifoReadElementsI8"]
228 pub fn acquire_fifo_read_elements_i8(
229 session: u32,
230 fifo: u32,
231 elements: *mut *const i8,
232 elementsRequested: size_t,
233 timeout: u32,
234 elementsAcquired: *mut size_t,
235 elementsRemaining: *mut size_t,
236 ) -> i32;
237
238 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsI8"]
239 pub fn acquire_fifo_write_elements_i8(
240 session: u32,
241 fifo: u32,
242 elements: *mut *mut i8,
243 elementsRequested: size_t,
244 timeout: u32,
245 elementsAcquired: *mut size_t,
246 elementsRemaining: *mut size_t,
247 ) -> i32;
248
249 #[link_name = "NiFpgaDll_ReadFifoU8"]
250 pub fn read_fifo_u8(
251 session: u32,
252 fifo: u32,
253 data: *mut u8,
254 numberOfElements: size_t,
255 timeout: u32,
256 elementsRemaining: *mut size_t,
257 ) -> i32;
258
259 #[link_name = "NiFpgaDll_WriteFifoU8"]
260 pub fn write_fifo_u8(
261 session: u32,
262 fifo: u32,
263 data: *const u8,
264 numberOfElements: size_t,
265 timeout: u32,
266 emptyElementsRemaining: *mut size_t,
267 ) -> i32;
268
269 #[link_name = "NiFpgaDll_AcquireFifoReadElementsU8"]
270 pub fn acquire_fifo_read_elements_u8(
271 session: u32,
272 fifo: u32,
273 elements: *mut *const u8,
274 elementsRequested: size_t,
275 timeout: u32,
276 elementsAcquired: *mut size_t,
277 elementsRemaining: *mut size_t,
278 ) -> i32;
279
280 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsU8"]
281 pub fn acquire_fifo_write_elements_u8(
282 session: u32,
283 fifo: u32,
284 elements: *mut *mut u8,
285 elementsRequested: size_t,
286 timeout: u32,
287 elementsAcquired: *mut size_t,
288 elementsRemaining: *mut size_t,
289 ) -> i32;
290
291 #[link_name = "NiFpgaDll_ReadFifoI16"]
292 pub fn read_fifo_i16(
293 session: u32,
294 fifo: u32,
295 data: *mut i16,
296 numberOfElements: size_t,
297 timeout: u32,
298 elementsRemaining: *mut size_t,
299 ) -> i32;
300
301 #[link_name = "NiFpgaDll_WriteFifoI16"]
302 pub fn write_fifo_i16(
303 session: u32,
304 fifo: u32,
305 data: *const i16,
306 numberOfElements: size_t,
307 timeout: u32,
308 emptyElementsRemaining: *mut size_t,
309 ) -> i32;
310
311 #[link_name = "NiFpgaDll_AcquireFifoReadElementsI16"]
312 pub fn acquire_fifo_read_elements_i16(
313 session: u32,
314 fifo: u32,
315 elements: *mut *const i16,
316 elementsRequested: size_t,
317 timeout: u32,
318 elementsAcquired: *mut size_t,
319 elementsRemaining: *mut size_t,
320 ) -> i32;
321
322 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsI16"]
323 pub fn acquire_fifo_write_elements_i16(
324 session: u32,
325 fifo: u32,
326 elements: *mut *mut i16,
327 elementsRequested: size_t,
328 timeout: u32,
329 elementsAcquired: *mut size_t,
330 elementsRemaining: *mut size_t,
331 ) -> i32;
332
333 #[link_name = "NiFpgaDll_ReadFifoU16"]
334 pub fn read_fifo_u16(
335 session: u32,
336 fifo: u32,
337 data: *mut u16,
338 numberOfElements: size_t,
339 timeout: u32,
340 elementsRemaining: *mut size_t,
341 ) -> i32;
342
343 #[link_name = "NiFpgaDll_WriteFifoU16"]
344 pub fn write_fifo_u16(
345 session: u32,
346 fifo: u32,
347 data: *const u16,
348 numberOfElements: size_t,
349 timeout: u32,
350 emptyElementsRemaining: *mut size_t,
351 ) -> i32;
352
353 #[link_name = "NiFpgaDll_AcquireFifoReadElementsU16"]
354 pub fn acquire_fifo_read_elements_u16(
355 session: u32,
356 fifo: u32,
357 elements: *mut *const u16,
358 elementsRequested: size_t,
359 timeout: u32,
360 elementsAcquired: *mut size_t,
361 elementsRemaining: *mut size_t,
362 ) -> i32;
363
364 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsU16"]
365 pub fn acquire_fifo_write_elements_u16(
366 session: u32,
367 fifo: u32,
368 elements: *mut *mut u16,
369 elementsRequested: size_t,
370 timeout: u32,
371 elementsAcquired: *mut size_t,
372 elementsRemaining: *mut size_t,
373 ) -> i32;
374
375 #[link_name = "NiFpgaDll_ReadFifoI32"]
376 pub fn read_fifo_i32(
377 session: u32,
378 fifo: u32,
379 data: *mut i32,
380 numberOfElements: size_t,
381 timeout: u32,
382 elementsRemaining: *mut size_t,
383 ) -> i32;
384
385 #[link_name = "NiFpgaDll_WriteFifoI32"]
386 pub fn write_fifo_i32(
387 session: u32,
388 fifo: u32,
389 data: *const i32,
390 numberOfElements: size_t,
391 timeout: u32,
392 emptyElementsRemaining: *mut size_t,
393 ) -> i32;
394
395 #[link_name = "NiFpgaDll_AcquireFifoReadElementsI32"]
396 pub fn acquire_fifo_read_elements_i32(
397 session: u32,
398 fifo: u32,
399 elements: *mut *const i32,
400 elementsRequested: size_t,
401 timeout: u32,
402 elementsAcquired: *mut size_t,
403 elementsRemaining: *mut size_t,
404 ) -> i32;
405
406 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsI32"]
407 pub fn acquire_fifo_write_elements_i32(
408 session: u32,
409 fifo: u32,
410 elements: *mut *mut i32,
411 elementsRequested: size_t,
412 timeout: u32,
413 elementsAcquired: *mut size_t,
414 elementsRemaining: *mut size_t,
415 ) -> i32;
416
417 #[link_name = "NiFpgaDll_ReadFifoU32"]
418 pub fn read_fifo_u32(
419 session: u32,
420 fifo: u32,
421 data: *mut u32,
422 numberOfElements: size_t,
423 timeout: u32,
424 elementsRemaining: *mut size_t,
425 ) -> i32;
426
427 #[link_name = "NiFpgaDll_WriteFifoU32"]
428 pub fn write_fifo_u32(
429 session: u32,
430 fifo: u32,
431 data: *const u32,
432 numberOfElements: size_t,
433 timeout: u32,
434 emptyElementsRemaining: *mut size_t,
435 ) -> i32;
436
437 #[link_name = "NiFpgaDll_AcquireFifoReadElementsU32"]
438 pub fn acquire_fifo_read_elements_u32(
439 session: u32,
440 fifo: u32,
441 elements: *mut *const u32,
442 elementsRequested: size_t,
443 timeout: u32,
444 elementsAcquired: *mut size_t,
445 elementsRemaining: *mut size_t,
446 ) -> i32;
447
448 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsU32"]
449 pub fn acquire_fifo_write_elements_u32(
450 session: u32,
451 fifo: u32,
452 elements: *mut *mut u32,
453 elementsRequested: size_t,
454 timeout: u32,
455 elementsAcquired: *mut size_t,
456 elementsRemaining: *mut size_t,
457 ) -> i32;
458
459 #[link_name = "NiFpgaDll_ReadFifoI64"]
460 pub fn read_fifo_i64(
461 session: u32,
462 fifo: u32,
463 data: *mut i64,
464 numberOfElements: size_t,
465 timeout: u32,
466 elementsRemaining: *mut size_t,
467 ) -> i32;
468
469 #[link_name = "NiFpgaDll_WriteFifoI64"]
470 pub fn write_fifo_i64(
471 session: u32,
472 fifo: u32,
473 data: *const i64,
474 numberOfElements: size_t,
475 timeout: u32,
476 emptyElementsRemaining: *mut size_t,
477 ) -> i32;
478
479 #[link_name = "NiFpgaDll_AcquireFifoReadElementsI64"]
480 pub fn acquire_fifo_read_elements_i64(
481 session: u32,
482 fifo: u32,
483 elements: *mut *const i64,
484 elementsRequested: size_t,
485 timeout: u32,
486 elementsAcquired: *mut size_t,
487 elementsRemaining: *mut size_t,
488 ) -> i32;
489
490 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsI64"]
491 pub fn acquire_fifo_write_elements_i64(
492 session: u32,
493 fifo: u32,
494 elements: *mut *mut i64,
495 elementsRequested: size_t,
496 timeout: u32,
497 elementsAcquired: *mut size_t,
498 elementsRemaining: *mut size_t,
499 ) -> i32;
500
501 #[link_name = "NiFpgaDll_ReadFifoU64"]
502 pub fn read_fifo_u64(
503 session: u32,
504 fifo: u32,
505 data: *mut u64,
506 numberOfElements: size_t,
507 timeout: u32,
508 elementsRemaining: *mut size_t,
509 ) -> i32;
510
511 #[link_name = "NiFpgaDll_WriteFifoU64"]
512 pub fn write_fifo_u64(
513 session: u32,
514 fifo: u32,
515 data: *const u64,
516 numberOfElements: size_t,
517 timeout: u32,
518 emptyElementsRemaining: *mut size_t,
519 ) -> i32;
520
521 #[link_name = "NiFpgaDll_AcquireFifoReadElementsU64"]
522 pub fn acquire_fifo_read_elements_u64(
523 session: u32,
524 fifo: u32,
525 elements: *mut *const u64,
526 elementsRequested: size_t,
527 timeout: u32,
528 elementsAcquired: *mut size_t,
529 elementsRemaining: *mut size_t,
530 ) -> i32;
531
532 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsU64"]
533 pub fn acquire_fifo_write_elements_u64(
534 session: u32,
535 fifo: u32,
536 elements: *mut *mut u64,
537 elementsRequested: size_t,
538 timeout: u32,
539 elementsAcquired: *mut size_t,
540 elementsRemaining: *mut size_t,
541 ) -> i32;
542
543 #[link_name = "NiFpgaDll_ReadFifoSgl"]
544 pub fn read_fifo_f32(
545 session: u32,
546 fifo: u32,
547 data: *mut f32,
548 numberOfElements: size_t,
549 timeout: u32,
550 elementsRemaining: *mut size_t,
551 ) -> i32;
552
553 #[link_name = "NiFpgaDll_WriteFifoSgl"]
554 pub fn write_fifo_f32(
555 session: u32,
556 fifo: u32,
557 data: *const f32,
558 numberOfElements: size_t,
559 timeout: u32,
560 emptyElementsRemaining: *mut size_t,
561 ) -> i32;
562
563 #[link_name = "NiFpgaDll_AcquireFifoReadElementsSgl"]
564 pub fn acquire_fifo_read_elements_f32(
565 session: u32,
566 fifo: u32,
567 elements: *mut *const f32,
568 elementsRequested: size_t,
569 timeout: u32,
570 elementsAcquired: *mut size_t,
571 elementsRemaining: *mut size_t,
572 ) -> i32;
573
574 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsSgl"]
575 pub fn acquire_fifo_write_elements_f32(
576 session: u32,
577 fifo: u32,
578 elements: *mut *mut f32,
579 elementsRequested: size_t,
580 timeout: u32,
581 elementsAcquired: *mut size_t,
582 elementsRemaining: *mut size_t,
583 ) -> i32;
584
585 #[link_name = "NiFpgaDll_ReadFifoDbl"]
586 pub fn read_fifo_f64(
587 session: u32,
588 fifo: u32,
589 data: *mut f64,
590 numberOfElements: size_t,
591 timeout: u32,
592 elementsRemaining: *mut size_t,
593 ) -> i32;
594
595 #[link_name = "NiFpgaDll_WriteFifoDbl"]
596 pub fn write_fifo_f64(
597 session: u32,
598 fifo: u32,
599 data: *const f64,
600 numberOfElements: size_t,
601 timeout: u32,
602 emptyElementsRemaining: *mut size_t,
603 ) -> i32;
604
605 #[link_name = "NiFpgaDll_AcquireFifoReadElementsDbl"]
606 pub fn acquire_fifo_read_elements_f64(
607 session: u32,
608 fifo: u32,
609 elements: *mut *const f64,
610 elementsRequested: size_t,
611 timeout: u32,
612 elementsAcquired: *mut size_t,
613 elementsRemaining: *mut size_t,
614 ) -> i32;
615
616 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsDbl"]
617 pub fn acquire_fifo_write_elements_f64(
618 session: u32,
619 fifo: u32,
620 elements: *mut *mut f64,
621 elementsRequested: size_t,
622 timeout: u32,
623 elementsAcquired: *mut size_t,
624 elementsRemaining: *mut size_t,
625 ) -> i32;
626
627 #[link_name = "NiFpgaDll_ReadFifoBool"]
628 pub fn read_fifo_bool(
629 session: u32,
630 fifo: u32,
631 data: *mut bool,
632 numberOfElements: size_t,
633 timeout: u32,
634 elementsRemaining: *mut size_t,
635 ) -> i32;
636
637 #[link_name = "NiFpgaDll_WriteFifoBool"]
638 pub fn write_fifo_bool(
639 session: u32,
640 fifo: u32,
641 data: *const bool,
642 numberOfElements: size_t,
643 timeout: u32,
644 emptyElementsRemaining: *mut size_t,
645 ) -> i32;
646
647 #[link_name = "NiFpgaDll_AcquireFifoReadElementsBool"]
648 pub fn acquire_fifo_read_elements_bool(
649 session: u32,
650 fifo: u32,
651 elements: *mut *const bool,
652 elementsRequested: size_t,
653 timeout: u32,
654 elementsAcquired: *mut size_t,
655 elementsRemaining: *mut size_t,
656 ) -> i32;
657
658 #[link_name = "NiFpgaDll_AcquireFifoWriteElementsBool"]
659 pub fn acquire_fifo_write_elements_bool(
660 session: u32,
661 fifo: u32,
662 elements: *mut *mut bool,
663 elementsRequested: size_t,
664 timeout: u32,
665 elementsAcquired: *mut size_t,
666 elementsRemaining: *mut size_t,
667 ) -> i32;
668
669 #[link_name = "NiFpgaDll_ReleaseFifoElements"]
670 pub fn release_fifo_elements(session: u32, fifo: u32, elements: size_t) -> i32;
671
672 #[link_name = "NiFpgaDll_GetPeerToPeerFifoEndpoint"]
673 pub fn get_p2p_fifo_endpoint(session: u32, fifo: u32, endpoint: *mut u32) -> i32;
674
675 #[link_name = "NiFpgaDll_GetBitfileContents"]
676 pub fn get_bitfile_contents(session: u32, contents: *mut *const c_char) -> i32;
677
678 #[link_name = "NiFpgaDll_ClientFunctionCall"]
679 pub fn client_function_call(
680 session: u32,
681 group: u32,
682 functionId: u32,
683 inBuffer: *const c_void,
684 inBufferSize: size_t,
685 outBuffer: *mut c_void,
686 outBufferSize: size_t,
687 ) -> i32;
688}