ngc 1.6.0
 
Loading...
Searching...
No Matches
ngcbDrv.h
Go to the documentation of this file.
1
8#ifndef ngcbDrv_h
9#define ngcbDrv_h
10
11
12#include <stdio.h>
13#include <stdlib.h>
14#include <unistd.h>
15
16#include <ngc/core/ngcbAddr.h>
17#include <ngc/core/ngcbSched.h>
18
19#ifdef __cplusplus
20extern "C" {
21#endif
22
23#ifndef USE
24#define USE(x) do {(void)(x);} while (0)
25#endif
26
30#ifndef str2str
31static __inline__ char *__str2str(char *s1, const char *s2, size_t n)
32{
33 size_t size = strlen(s2);
34 if (n > size) n = size;
35 memcpy(s1, s2, n);
36 s1[n] = '\0';
37 return (s1);
38}
39#define str2str(s1, s2, n) __str2str(s1, s2, n)
40#endif
41
45#define ngcbCOM_DEFAULT_DEVICE "/dev/ngc0_com"
46
50#define ngcbDMA_DEFAULT_DEVICE "/dev/ngc0_dma"
51
55#define ngcbCOM_DEFAULT_TIMEOUT 5
56
60#define ngcbCOM_FIFO_SIZE 128
61/*#define ngcbCOM_FIFO_SIZE ngcbIFC_FIFO_SIZE*/
62
63/*
64 * DMA run-queue error flags
65 */
66#define ngcbDMA_ERR_FIFO_OVERFLOW 0x1
67#define ngcbDMA_ERR_IPP_OVERRUN 0x2
68
72typedef struct {
73 int fd;
74 int running;
75 void *mapArea;
76 size_t mapSize;
77 unsigned int cnt;
78 unsigned int payloadSize;
79 unsigned int unitSize;
80 int tmo;
82 int cpu;
83 unsigned int syncMode;
84 unsigned int resync;
85 unsigned int dropped;
86 unsigned int ippMode;
87 unsigned int joinerDelay;
88 int stay;
89 int timer;
91 double fps;
94 void *appData;
96
100#define ngcbPRI_DMA_BURST 20
101
102/*
103 * DMA interface API function-type definitions
104 */
105
109typedef int (*ngcbDMA_ALLOC)(ngcb_dma_p_t *dma, unsigned char **buffer,
110 int num, size_t size, char *erms);
111
115typedef void (*ngcbDMA_FREE)(ngcb_dma_p_t *dma, unsigned char **buffer,
116 int num);
117
121typedef int (*ngcbDMA_OPEN)(const char *devName, ngcb_dma_p_t *dma,
122 char *erms);
123
127typedef int (*ngcbDMA_CLOSE)(ngcb_dma_p_t *dma, char *erms);
128
132typedef int (*ngcbDMA_INIT)(ngcb_dma_p_t *dma, unsigned char **buffer,
133 int num, size_t size,
134 unsigned int *doneCount, char *erms);
135
139typedef int (*ngcbDMA_STOP)(ngcb_dma_p_t *dma, char *erms);
140
144typedef int (*ngcbDMA_CLR)(ngcb_dma_p_t *dma, char *erms);
145
149typedef int (*ngcbDMA_GETCNT)(ngcb_dma_p_t *dma, unsigned int *cnt,
150 char *erms);
151
155typedef int (*ngcbDMA_WAIT)(ngcb_dma_p_t *dma, uint64_t *ts, char *erms);
156
160typedef int (*ngcbDMA_STAT)(ngcb_dma_p_t *dma, int *err, int *stat, char *erms);
161
165typedef int (*ngcbDMA_OVERFLOW)(ngcb_dma_p_t *dma, char *erms);
166
170typedef int (*ngcbDMA_IPP)(ngcb_dma_p_t *dma, int id, int *param,
171 unsigned int n, char *erms);
172
177typedef int (*ngcbDMA_DEVRD)(ngcb_dma_p_t *dma, unsigned int addr,
178 unsigned int *value, char *erms);
179
184typedef int (*ngcbDMA_DEVWR)(ngcb_dma_p_t *dma, unsigned int addr,
185 unsigned int value, char *erms);
186
208
212typedef int (*ngcb_dma_select)(const char *devName, ngcb_dma_api *api);
213
219
223typedef struct {
224 unsigned int offset;
225 int flags;
226 int fifo;
227 unsigned int period;
228 int fd;
229 FILE *sim;
230} ngcb_mod_t;
231
239
266
271
276
281
286
291
292/*
293 * Communication line prototypes
294 */
295
299int ngcbComOpen(const char *name, char *erms);
300
304int ngcbComClose(int fd);
305
313int ngcbComGetRev(int fd);
314
318int ngcbComRstDev(int fd);
319
323int ngcbComReset(int fd);
324
328int ngcbComTimeout(int fd, int seconds);
329
335int ngcbComUpLink(int fd, int routeThrough, int rst);
336
340int ngcbComRead(int fd, char *buffer, int size, char *erms);
341
345int ngcbComWrite(int fd, const char *buffer, int size, char *erms);
346
350int ngcbComReadStatus(int fd);
351
356int ngcbComErrStatus(void);
357
361void ngcbComErrStr(int status, char *s);
362
366void ngcbComStatStr(int status, char *s);
367
371void ngcbModInit(ngcb_mod_t *m);
372
376int ngcbModOpen(const char *path, ngcb_mod_t *m, char *erms);
377
381int ngcbModClose(ngcb_mod_t *m, char *erms);
382
386int ngcbModTimeout(ngcb_mod_t *m, int seconds, char *erms);
387
395int ngcbModFifo(ngcb_mod_t *m, int size, char *erms);
396
400int ngcbModRead(ngcb_mod_t *m, int addr, int *buffer, int size,
401 char *erms);
402
406int ngcbModWrite(ngcb_mod_t *m, int addr, const int *buffer, int size,
407 char *erms);
408
413int ngcbModWait(ngcb_mod_t *m, int addr, int mask, int timeout, char *erms);
414
415/*
416 * DMA interface prototypes
417 */
418
422int ngcbDmaOpen(const char *devName, ngcb_dma_t *dma, char *erms);
423
427int ngcbDmaClose(ngcb_dma_t *dma, char *erms);
428
434int ngcbDmaAlloc(ngcb_dma_t dma, unsigned char **buffer, int num,
435 size_t size, char *erms);
436
441void ngcbDmaFree(ngcb_dma_t dma, unsigned char **buffer, int num);
442
459int ngcbDmaInit(ngcb_dma_t *dma, unsigned char **buffer, int num,
460 size_t size, unsigned int *doneCount, char *erms);
461
465int ngcbDmaStop(ngcb_dma_t dma, char *erms);
466
470int ngcbDmaClr(ngcb_dma_t dma, char *erms);
471
475int ngcbDmaGetCnt(ngcb_dma_t dma, unsigned int *cnt, char *erms);
476
481int ngcbDmaWait(ngcb_dma_t dma, char *erms);
482
487int ngcbDmaWait2(ngcb_dma_t dma, uint64_t *ts, char *erms);
488
495int ngcbDmaWaitTmo(ngcb_dma_t dma, int timeout, char *erms);
496
504int ngcbDmaWaitTmo2(ngcb_dma_t dma, uint64_t *ts, int timeout, char *erms);
505
509int ngcbDmaStat(ngcb_dma_t dma, int *err, int *stat, char *erms);
510
517int ngcbDmaOverflow(ngcb_dma_t dma, char *erms);
518
522int ngcbDmaIppCfg(ngcb_dma_t dma, int id, int *param, unsigned int n,
523 char *erms);
524
529int ngcbDmaDevRd(ngcb_dma_t dma, unsigned int addr, unsigned int *value,
530 char *erms);
531
536int ngcbDmaDevWr(ngcb_dma_t dma, unsigned int addr, unsigned int value,
537 char *erms);
538
539/*
540 * DMA interface template API
541 */
542
546int ngcbDma0Open(const char *devName, ngcb_dma_p_t *dma, char *erms);
547
551int ngcbDma0Close(ngcb_dma_p_t *dma, char *erms);
552
556int ngcbDma0Alloc(ngcb_dma_p_t *dma, unsigned char **buffer, int num,
557 size_t size, char *erms);
558
562void ngcbDma0Free(ngcb_dma_p_t *dma, unsigned char **buffer, int num);
563
567int ngcbDma0Clr(ngcb_dma_p_t *dma, char *erms);
568
572int ngcbDma0Init(ngcb_dma_p_t *dma, unsigned char **buffer, int num,
573 size_t size, unsigned int *doneCount, char *erms);
574
578int ngcbDma0Stop(ngcb_dma_p_t *dma, char *erms);
579
583int ngcbDma0GetCnt(ngcb_dma_p_t *dma, unsigned int *cnt, char *erms);
584
588int ngcbDma0Wait(ngcb_dma_p_t *dma, uint64_t *ts, char *erms);
589
593int ngcbDma0Stat(ngcb_dma_p_t *dma, int *err, int *stat, char *erms);
594
598int ngcbDma0Overflow(ngcb_dma_p_t *dma, char *erms);
599
603int ngcbDma0IppCfg(ngcb_dma_p_t *dma, int id, int *param, unsigned int n,
604 char *erms);
605
609int ngcbDma0DevRd(ngcb_dma_p_t *dma, unsigned int addr, unsigned int *value,
610 char *erms);
611
615int ngcbDma0DevWr(ngcb_dma_p_t *dma, unsigned int addr, unsigned int value,
616 char *erms);
617
622int ngcbDmaBurstInit(ngcb_burst_t *burst, char *erms);
623
630
634int ngcbDmaBurstOpen(const char *devName, ngcb_burst_t *burst, char *erms);
635
640int ngcbDmaBurstClose(ngcb_burst_t *burst, char *erms);
641
647int ngcbDmaBurstAlloc(ngcb_burst_t *burst, size_t size, size_t dmaSize,
648 int numBuf, char *erms);
649
654void ngcbDmaBurstFree(ngcb_burst_t *burst);
655
660int ngcbDmaBurstStart(ngcb_burst_t *burst, char *erms);
661
666int ngcbDmaBurstStop(ngcb_burst_t *burst, char *erms);
667
673int ngcbDmaBurstWait(ngcb_burst_t *burst, char *erms);
674
675#ifdef __cplusplus
676}
677#endif
678
679#endif
int ngcbDmaWaitTmo2(ngcb_dma_t dma, uint64_t *ts, int timeout, char *erms)
Definition ngcbDrvDma.c:215
int ngcbModWrite(ngcb_mod_t *m, int addr, const int *buffer, int size, char *erms)
Definition ngcbDrvMod.c:455
int ngcbComReadStatus(int fd)
Definition ngcbDrvCom.c:300
int ngcbDmaWait2(ngcb_dma_t dma, uint64_t *ts, char *erms)
Definition ngcbDrvDma.c:204
int(* ngcbDMA_ALLOC)(ngcb_dma_p_t *dma, unsigned char **buffer, int num, size_t size, char *erms)
Definition ngcbDrv.h:109
int(* ngcbDMA_CLR)(ngcb_dma_p_t *dma, char *erms)
Definition ngcbDrv.h:144
int ngcbComReset(int fd)
Definition ngcbDrvCom.c:145
void ngcbComStatStr(int status, char *s)
Definition ngcbDrvCom.c:394
int ngcbComTimeout(int fd, int seconds)
Definition ngcbDrvCom.c:193
int ngcbDma0Stat(ngcb_dma_p_t *dma, int *err, int *stat, char *erms)
Definition ngcbDma0.c:373
ngcb_dma_api ngcbDma0
Definition ngcbDma0.c:464
int ngcbDmaClr(ngcb_dma_t dma, char *erms)
Definition ngcbDrvDma.c:176
int ngcbDma0Overflow(ngcb_dma_p_t *dma, char *erms)
Definition ngcbDma0.c:381
int ngcbDma0Open(const char *devName, ngcb_dma_p_t *dma, char *erms)
Definition ngcbDma0.c:95
int ngcbDmaBurstInit(ngcb_burst_t *burst, char *erms)
Definition ngcbDmaBurst.c:354
int ngcbComOpen(const char *name, char *erms)
Definition ngcbDrvCom.c:49
int(* ngcbDMA_DEVRD)(ngcb_dma_p_t *dma, unsigned int addr, unsigned int *value, char *erms)
Definition ngcbDrv.h:177
int(* ngcbDMA_CLOSE)(ngcb_dma_p_t *dma, char *erms)
Definition ngcbDrv.h:127
int ngcbDmaAlloc(ngcb_dma_t dma, unsigned char **buffer, int num, size_t size, char *erms)
Definition ngcbDrvDma.c:163
int ngcbComWrite(int fd, const char *buffer, int size, char *erms)
Definition ngcbDrvCom.c:258
int ngcbModWait(ngcb_mod_t *m, int addr, int mask, int timeout, char *erms)
Definition ngcbDrvMod.c:602
int(* ngcb_dma_select)(const char *devName, ngcb_dma_api *api)
Definition ngcbDrv.h:212
int ngcbDmaOverflow(ngcb_dma_t dma, char *erms)
Definition ngcbDrvDma.c:249
int ngcbDmaBurstStop(ngcb_burst_t *burst, char *erms)
Definition ngcbDmaBurst.c:648
int ngcbModFifo(ngcb_mod_t *m, int size, char *erms)
Definition ngcbDrvMod.c:308
int ngcbDma0Alloc(ngcb_dma_p_t *dma, unsigned char **buffer, int num, size_t size, char *erms)
Definition ngcbDma0.c:152
int(* ngcbDMA_OPEN)(const char *devName, ngcb_dma_p_t *dma, char *erms)
Definition ngcbDrv.h:121
int ngcbDma0Stop(ngcb_dma_p_t *dma, char *erms)
Definition ngcbDma0.c:294
int ngcbDma0Clr(ngcb_dma_p_t *dma, char *erms)
Definition ngcbDma0.c:223
int ngcbModRead(ngcb_mod_t *m, int addr, int *buffer, int size, char *erms)
Definition ngcbDrvMod.c:327
int ngcbDmaInit(ngcb_dma_t *dma, unsigned char **buffer, int num, size_t size, unsigned int *doneCount, char *erms)
Definition ngcbDrvDma.c:181
int ngcbModOpen(const char *path, ngcb_mod_t *m, char *erms)
Definition ngcbDrvMod.c:56
void ngcbComErrStr(int status, char *s)
Definition ngcbDrvCom.c:327
int ngcbComRstDev(int fd)
Definition ngcbDrvCom.c:127
int ngcbDmaBurstWait(ngcb_burst_t *burst, char *erms)
Definition ngcbDmaBurst.c:667
int ngcbDmaStop(ngcb_dma_t dma, char *erms)
Definition ngcbDrvDma.c:188
int(* ngcbDMA_IPP)(ngcb_dma_p_t *dma, int id, int *param, unsigned int n, char *erms)
Definition ngcbDrv.h:170
ngcb_dma_api ngcbAcqTcp
Definition ngcbAcqTcp.c:432
void(* ngcbDMA_FREE)(ngcb_dma_p_t *dma, unsigned char **buffer, int num)
Definition ngcbDrv.h:115
int ngcbDmaBurstOpen(const char *devName, ngcb_burst_t *burst, char *erms)
Definition ngcbDmaBurst.c:422
int(* ngcbDMA_STAT)(ngcb_dma_p_t *dma, int *err, int *stat, char *erms)
Definition ngcbDrv.h:160
int ngcbDmaDevRd(ngcb_dma_t dma, unsigned int addr, unsigned int *value, char *erms)
Definition ngcbDrvDma.c:260
int(* ngcbDMA_WAIT)(ngcb_dma_p_t *dma, uint64_t *ts, char *erms)
Definition ngcbDrv.h:155
int ngcbDmaGetCnt(ngcb_dma_t dma, unsigned int *cnt, char *erms)
Definition ngcbDrvDma.c:193
int ngcbDmaBurstClose(ngcb_burst_t *burst, char *erms)
Definition ngcbDmaBurst.c:430
int ngcbDmaWaitTmo(ngcb_dma_t dma, int timeout, char *erms)
Definition ngcbDrvDma.c:209
int(* ngcbDMA_INIT)(ngcb_dma_p_t *dma, unsigned char **buffer, int num, size_t size, unsigned int *doneCount, char *erms)
Definition ngcbDrv.h:132
ngcb_dma_api ngcbDmaPci
Definition ngcbDmaPci.c:544
ngcb_dma_api ngcbDmaRtSim
Definition ngcbDmaRtSim.c:332
int ngcbDmaWait(ngcb_dma_t dma, char *erms)
Definition ngcbDrvDma.c:198
void ngcbModInit(ngcb_mod_t *m)
Definition ngcbDrvMod.c:44
int ngcbDma0Init(ngcb_dma_p_t *dma, unsigned char **buffer, int num, size_t size, unsigned int *doneCount, char *erms)
Definition ngcbDma0.c:239
int ngcbDmaStat(ngcb_dma_t dma, int *err, int *stat, char *erms)
Definition ngcbDrvDma.c:244
int ngcbComUpLink(int fd, int routeThrough, int rst)
Definition ngcbDrvCom.c:169
int ngcbDmaIppCfg(ngcb_dma_t dma, int id, int *param, unsigned int n, char *erms)
Definition ngcbDrvDma.c:254
int ngcbDma0DevWr(ngcb_dma_p_t *dma, unsigned int addr, unsigned int value, char *erms)
Definition ngcbDma0.c:441
int(* ngcbDMA_GETCNT)(ngcb_dma_p_t *dma, unsigned int *cnt, char *erms)
Definition ngcbDrv.h:149
int ngcbComClose(int fd)
Definition ngcbDrvCom.c:95
void ngcbDmaBurstFree(ngcb_burst_t *burst)
Definition ngcbDmaBurst.c:500
int ngcbComGetRev(int fd)
Definition ngcbDrvCom.c:113
int ngcbDmaClose(ngcb_dma_t *dma, char *erms)
Definition ngcbDrvDma.c:155
int ngcbComRead(int fd, char *buffer, int size, char *erms)
Definition ngcbDrvCom.c:216
int ngcbModTimeout(ngcb_mod_t *m, int seconds, char *erms)
Definition ngcbDrvMod.c:286
void ngcbDmaFree(ngcb_dma_t dma, unsigned char **buffer, int num)
Definition ngcbDrvDma.c:170
ngcb_dma_api ngcbAcqUdp
Definition ngcbAcqUdp.c:1940
int ngcbDma0Wait(ngcb_dma_p_t *dma, uint64_t *ts, char *erms)
Definition ngcbDma0.c:337
int ngcbDma0Close(ngcb_dma_p_t *dma, char *erms)
Definition ngcbDma0.c:116
int(* ngcbDMA_STOP)(ngcb_dma_p_t *dma, char *erms)
Definition ngcbDrv.h:139
int(* ngcbDMA_OVERFLOW)(ngcb_dma_p_t *dma, char *erms)
Definition ngcbDrv.h:165
int ngcbDmaBurstStart(ngcb_burst_t *burst, char *erms)
Definition ngcbDmaBurst.c:540
void ngcbDmaBurstRelease(ngcb_burst_t *burst)
Definition ngcbDmaBurst.c:410
ngcb_dma_select ngcbDmaApiSelect
Definition ngcbDrvDma.c:31
int ngcbComErrStatus(void)
Definition ngcbDrvCom.c:322
int ngcbDmaDevWr(ngcb_dma_t dma, unsigned int addr, unsigned int value, char *erms)
Definition ngcbDrvDma.c:266
int(* ngcbDMA_DEVWR)(ngcb_dma_p_t *dma, unsigned int addr, unsigned int value, char *erms)
Definition ngcbDrv.h:184
int ngcbDma0DevRd(ngcb_dma_p_t *dma, unsigned int addr, unsigned int *value, char *erms)
Definition ngcbDma0.c:419
int ngcbDmaOpen(const char *devName, ngcb_dma_t *dma, char *erms)
Definition ngcbDrvDma.c:83
int ngcbDmaBurstAlloc(ngcb_burst_t *burst, size_t size, size_t dmaSize, int numBuf, char *erms)
Definition ngcbDmaBurst.c:443
int ngcbDma0GetCnt(ngcb_dma_p_t *dma, unsigned int *cnt, char *erms)
Definition ngcbDma0.c:318
void ngcbDma0Free(ngcb_dma_p_t *dma, unsigned char **buffer, int num)
Definition ngcbDma0.c:200
int ngcbDma0IppCfg(ngcb_dma_p_t *dma, int id, int *param, unsigned int n, char *erms)
Definition ngcbDma0.c:399
int ngcbModClose(ngcb_mod_t *m, char *erms)
Definition ngcbDrvMod.c:249
pthread_t ngcb_thread_t
Definition ngcbSched.h:53
Definition ngcbDrv.h:243
char erms[256]
Definition ngcbDrv.h:253
ngcb_sema_t semSync
Definition ngcbDrv.h:257
unsigned int doneCount
Definition ngcbDrv.h:252
ngcb_sema_t semStart
Definition ngcbDrv.h:256
ngcb_sema_t semStat
Definition ngcbDrv.h:258
int tmo
Definition ngcbDrv.h:251
int threadCreated
Definition ngcbDrv.h:255
unsigned char ** dmaBuffer
Definition ngcbDrv.h:247
ngcb_sema_t semWdSync
Definition ngcbDrv.h:260
ngcb_sema_t semWdStart
Definition ngcbDrv.h:259
int timeout
Definition ngcbDrv.h:264
unsigned char * buffer
Definition ngcbDrv.h:244
int dmaStarted
Definition ngcbDrv.h:250
int wdfd[2]
Definition ngcbDrv.h:263
int watchdog
Definition ngcbDrv.h:261
size_t size
Definition ngcbDrv.h:245
size_t dmaSize
Definition ngcbDrv.h:248
ngcb_thread_t threadId
Definition ngcbDrv.h:254
ngcb_thread_t wdThreadId
Definition ngcbDrv.h:262
ngcb_dma_t dma
Definition ngcbDrv.h:246
int dmaNumBuf
Definition ngcbDrv.h:249
Definition ngcbDrv.h:190
ngcbDMA_OVERFLOW Overflow
Definition ngcbDrv.h:201
ngcbDMA_OPEN Open
Definition ngcbDrv.h:193
ngcbDMA_WAIT Wait
Definition ngcbDrv.h:199
ngcbDMA_INIT Init
Definition ngcbDrv.h:195
ngcbDMA_CLOSE Close
Definition ngcbDrv.h:194
ngcb_dma_p_t * param
Definition ngcbDrv.h:205
ngcbDMA_DEVRD DevRd
Definition ngcbDrv.h:203
ngcbDMA_CLR Clr
Definition ngcbDrv.h:197
ngcbDMA_STOP Stop
Definition ngcbDrv.h:196
ngcbDMA_DEVWR DevWr
Definition ngcbDrv.h:204
ngcbDMA_FREE Free
Definition ngcbDrv.h:192
ngcbDMA_STAT Stat
Definition ngcbDrv.h:200
ngcbDMA_IPP IppCfg
Definition ngcbDrv.h:202
ngcbDMA_ALLOC Alloc
Definition ngcbDrv.h:191
int deviceOpen
Definition ngcbDrv.h:206
ngcbDMA_GETCNT GetCnt
Definition ngcbDrv.h:198
Definition ngcbDrv.h:72
int cpu
Definition ngcbDrv.h:82
int timer
Definition ngcbDrv.h:89
unsigned int resync
Definition ngcbDrv.h:84
size_t mapSize
Definition ngcbDrv.h:76
int chanSelect
Definition ngcbDrv.h:81
unsigned int joinerDelay
Definition ngcbDrv.h:87
void * appData
Definition ngcbDrv.h:94
void * mapArea
Definition ngcbDrv.h:75
unsigned int cnt
Definition ngcbDrv.h:77
int reserved2
Definition ngcbDrv.h:93
double fps
Definition ngcbDrv.h:91
int tmo
Definition ngcbDrv.h:80
int down_sample
Definition ngcbDrv.h:90
unsigned int syncMode
Definition ngcbDrv.h:83
unsigned int dropped
Definition ngcbDrv.h:85
unsigned int unitSize
Definition ngcbDrv.h:79
unsigned int ippMode
Definition ngcbDrv.h:86
int stay
Definition ngcbDrv.h:88
int reserved1
Definition ngcbDrv.h:92
int running
Definition ngcbDrv.h:74
int fd
Definition ngcbDrv.h:73
unsigned int payloadSize
Definition ngcbDrv.h:78
Definition ngcbDrv.h:235
ngcb_dma_p_t param
Definition ngcbDrv.h:237
ngcb_dma_api api
Definition ngcbDrv.h:236
Definition ngcbDrv.h:223
FILE * sim
Definition ngcbDrv.h:229
int flags
Definition ngcbDrv.h:225
unsigned int offset
Definition ngcbDrv.h:224
unsigned int period
Definition ngcbDrv.h:227
int fd
Definition ngcbDrv.h:228
int fifo
Definition ngcbDrv.h:226
Definition ngcbSched.h:78