@@ -60,6 +60,152 @@ use dlopen_derive::{WrapperApi, WrapperMultiApi};
6060
6161pub type NiFpgaApiContainer = Container < NiFpgaApi > ;
6262
63+ bitflags:: bitflags! {
64+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
65+ pub struct OpenAttributes : u32 {
66+ const NoRun = 1 ;
67+ const BitfilePathIsUTF8 = 2 ;
68+ const BitfileContentsNotPath = 1u32 << 30 ;
69+ const IgnoreSignatureArgument = 1u32 << 31 ;
70+ }
71+ }
72+
73+ bitflags:: bitflags! {
74+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
75+ pub struct CloseAttributes : u32 {
76+ const NoResetIfLastSession = 1 ;
77+ }
78+ }
79+
80+ bitflags:: bitflags! {
81+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
82+ pub struct RunAttribute : u32 {
83+ const WaitUntilDone = 1 ;
84+ }
85+ }
86+
87+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
88+ pub enum FpgaViState {
89+ NotRunning ,
90+ Invalid ,
91+ Running ,
92+ NaturallyStopped ,
93+ Unknown ,
94+ }
95+
96+ impl From < u32 > for FpgaViState {
97+ fn from ( value : u32 ) -> Self {
98+ match value {
99+ 0 => FpgaViState :: NotRunning ,
100+ 1 => FpgaViState :: Invalid ,
101+ 2 => FpgaViState :: Running ,
102+ 3 => FpgaViState :: NaturallyStopped ,
103+ _ => FpgaViState :: Unknown ,
104+ }
105+ }
106+ }
107+
108+ bitflags:: bitflags! {
109+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
110+ pub struct Irq : u32 {
111+ const Irq0 = 1u32 << 0 ;
112+ const Irq1 = 1u32 << 1 ;
113+ const Irq2 = 1u32 << 2 ;
114+ const Irq3 = 1u32 << 3 ;
115+ const Irq4 = 1u32 << 4 ;
116+ const Irq5 = 1u32 << 5 ;
117+ const Irq6 = 1u32 << 6 ;
118+ const Irq7 = 1u32 << 7 ;
119+ const Irq8 = 1u32 << 8 ;
120+ const Irq9 = 1u32 << 9 ;
121+ const Irq10 = 1u32 << 10 ;
122+ const Irq11 = 1u32 << 11 ;
123+ const Irq12 = 1u32 << 12 ;
124+ const Irq13 = 1u32 << 13 ;
125+ const Irq14 = 1u32 << 14 ;
126+ const Irq15 = 1u32 << 15 ;
127+ const Irq16 = 1u32 << 16 ;
128+ const Irq17 = 1u32 << 17 ;
129+ const Irq18 = 1u32 << 18 ;
130+ const Irq19 = 1u32 << 19 ;
131+ const Irq20 = 1u32 << 20 ;
132+ const Irq21 = 1u32 << 21 ;
133+ const Irq22 = 1u32 << 22 ;
134+ const Irq23 = 1u32 << 23 ;
135+ const Irq24 = 1u32 << 24 ;
136+ const Irq25 = 1u32 << 25 ;
137+ const Irq26 = 1u32 << 26 ;
138+ const Irq27 = 1u32 << 27 ;
139+ const Irq28 = 1u32 << 28 ;
140+ const Irq29 = 1u32 << 29 ;
141+ const Irq30 = 1u32 << 30 ;
142+ const Irq31 = 1u32 << 31 ;
143+ }
144+ }
145+
146+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
147+ pub enum FifoProperty {
148+ BytesPerElement ,
149+ HostBufferAllocationGranularity ,
150+ HostBufferSize ,
151+ HostBufferMirrorSize ,
152+ HostBufferType ,
153+ HostBuffer ,
154+ FlowControl ,
155+ ElementsCurrentlyAcquired ,
156+ Unknown ,
157+ }
158+
159+ impl From < u32 > for FifoProperty {
160+ fn from ( value : u32 ) -> Self {
161+ match value {
162+ 1 => FifoProperty :: BytesPerElement ,
163+ 2 => FifoProperty :: HostBufferAllocationGranularity ,
164+ 3 => FifoProperty :: HostBufferSize ,
165+ 4 => FifoProperty :: HostBufferMirrorSize ,
166+ 5 => FifoProperty :: HostBufferType ,
167+ 6 => FifoProperty :: HostBuffer ,
168+ 7 => FifoProperty :: FlowControl ,
169+ 8 => FifoProperty :: ElementsCurrentlyAcquired ,
170+ _ => FifoProperty :: Unknown ,
171+ }
172+ }
173+ }
174+
175+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
176+ pub enum HostBufferType {
177+ AllocatedByRIO ,
178+ AllocatedByUser ,
179+ Unknown ,
180+ }
181+
182+ impl From < u32 > for HostBufferType {
183+ fn from ( value : u32 ) -> Self {
184+ match value {
185+ 1 => HostBufferType :: AllocatedByRIO ,
186+ 2 => HostBufferType :: AllocatedByUser ,
187+ _ => HostBufferType :: Unknown ,
188+ }
189+ }
190+ }
191+
192+ #[ derive( Clone , Copy , Debug , PartialEq , Eq , Hash ) ]
193+ pub enum FifoFlowControl {
194+ Disabled ,
195+ Enabled ,
196+ Unknown ,
197+ }
198+
199+ impl From < u32 > for FifoFlowControl {
200+ fn from ( value : u32 ) -> Self {
201+ match value {
202+ 1 => FifoFlowControl :: Disabled ,
203+ 2 => FifoFlowControl :: Enabled ,
204+ _ => FifoFlowControl :: Unknown ,
205+ }
206+ }
207+ }
208+
63209#[ derive( WrapperApi ) ]
64210pub struct NiFpgaHmbApi {
65211 NiFpgaDll_OpenHmb : extern "C" fn (
0 commit comments