lucid_arena_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.63.0 */
2
3pub const _VCRT_COMPILER_PREPROCESSOR: u32 = 1;
4pub const _SAL_VERSION: u32 = 20;
5pub const __SAL_H_VERSION: u32 = 180000000;
6pub const _USE_DECLSPECS_FOR_SAL: u32 = 0;
7pub const _USE_ATTRIBUTES_FOR_SAL: u32 = 0;
8pub const _CRT_PACKING: u32 = 8;
9pub const _HAS_EXCEPTIONS: u32 = 1;
10pub const _STL_LANG: u32 = 0;
11pub const _HAS_CXX17: u32 = 0;
12pub const _HAS_CXX20: u32 = 0;
13pub const _HAS_CXX23: u32 = 0;
14pub const _HAS_NODISCARD: u32 = 0;
15pub const WCHAR_MIN: u32 = 0;
16pub const WCHAR_MAX: u32 = 65535;
17pub const WINT_MIN: u32 = 0;
18pub const WINT_MAX: u32 = 65535;
19pub const AC_INFINITE: i32 = -1;
20pub const PFNC_Mono1p: u32 = 16842807;
21pub const PFNC_Mono2p: u32 = 16908344;
22pub const PFNC_Mono4p: u32 = 17039417;
23pub const PFNC_Mono8: u32 = 17301505;
24pub const PFNC_Mono8s: u32 = 17301506;
25pub const PFNC_Mono10: u32 = 17825795;
26pub const PFNC_Mono10p: u32 = 17432646;
27pub const PFNC_Mono12: u32 = 17825797;
28pub const PFNC_Mono12p: u32 = 17563719;
29pub const PFNC_Mono14: u32 = 17825829;
30pub const PFNC_Mono16: u32 = 17825799;
31pub const PFNC_BayerBG8: u32 = 17301515;
32pub const PFNC_BayerBG10: u32 = 17825807;
33pub const PFNC_BayerBG10p: u32 = 17432658;
34pub const PFNC_BayerBG12: u32 = 17825811;
35pub const PFNC_BayerBG12p: u32 = 17563731;
36pub const PFNC_BayerBG16: u32 = 17825841;
37pub const PFNC_BayerGB8: u32 = 17301514;
38pub const PFNC_BayerGB10: u32 = 17825806;
39pub const PFNC_BayerGB10p: u32 = 17432660;
40pub const PFNC_BayerGB12: u32 = 17825810;
41pub const PFNC_BayerGB12p: u32 = 17563733;
42pub const PFNC_BayerGB16: u32 = 17825840;
43pub const PFNC_BayerGR8: u32 = 17301512;
44pub const PFNC_BayerGR10: u32 = 17825804;
45pub const PFNC_BayerGR10p: u32 = 17432662;
46pub const PFNC_BayerGR12: u32 = 17825808;
47pub const PFNC_BayerGR12p: u32 = 17563735;
48pub const PFNC_BayerGR16: u32 = 17825838;
49pub const PFNC_BayerRG8: u32 = 17301513;
50pub const PFNC_BayerRG10: u32 = 17825805;
51pub const PFNC_BayerRG10p: u32 = 17432664;
52pub const PFNC_BayerRG12: u32 = 17825809;
53pub const PFNC_BayerRG12p: u32 = 17563737;
54pub const PFNC_BayerRG16: u32 = 17825839;
55pub const PFNC_RGBa8: u32 = 35651606;
56pub const PFNC_RGBa10: u32 = 37748831;
57pub const PFNC_RGBa10p: u32 = 36175968;
58pub const PFNC_RGBa12: u32 = 37748833;
59pub const PFNC_RGBa12p: u32 = 36700258;
60pub const PFNC_RGBa14: u32 = 37748835;
61pub const PFNC_RGBa16: u32 = 37748836;
62pub const PFNC_RGB8: u32 = 35127316;
63pub const PFNC_RGB8_Planar: u32 = 35127329;
64pub const PFNC_RGB10: u32 = 36700184;
65pub const PFNC_RGB10_Planar: u32 = 36700194;
66pub const PFNC_RGB10p: u32 = 35520604;
67pub const PFNC_RGB10p32: u32 = 35651613;
68pub const PFNC_RGB12: u32 = 36700186;
69pub const PFNC_RGB12_Planar: u32 = 36700195;
70pub const PFNC_RGB12p: u32 = 35913821;
71pub const PFNC_RGB14: u32 = 36700254;
72pub const PFNC_RGB16: u32 = 36700211;
73pub const PFNC_RGB16_Planar: u32 = 36700196;
74pub const PFNC_RGB565p: u32 = 34603061;
75pub const PFNC_BGRa8: u32 = 35651607;
76pub const PFNC_BGRa10: u32 = 37748812;
77pub const PFNC_BGRa10p: u32 = 36175949;
78pub const PFNC_BGRa12: u32 = 37748814;
79pub const PFNC_BGRa12p: u32 = 36700239;
80pub const PFNC_BGRa14: u32 = 37748816;
81pub const PFNC_BGRa16: u32 = 37748817;
82pub const PFNC_BGR8: u32 = 35127317;
83pub const PFNC_BGR10: u32 = 36700185;
84pub const PFNC_BGR10p: u32 = 35520584;
85pub const PFNC_BGR12: u32 = 36700187;
86pub const PFNC_BGR12p: u32 = 35913801;
87pub const PFNC_BGR14: u32 = 36700234;
88pub const PFNC_BGR16: u32 = 36700235;
89pub const PFNC_BGR565p: u32 = 34603062;
90pub const PFNC_R8: u32 = 17301705;
91pub const PFNC_R10: u32 = 17432778;
92pub const PFNC_R12: u32 = 17563851;
93pub const PFNC_R16: u32 = 17825996;
94pub const PFNC_G8: u32 = 17301709;
95pub const PFNC_G10: u32 = 17432782;
96pub const PFNC_G12: u32 = 17563855;
97pub const PFNC_G16: u32 = 17826000;
98pub const PFNC_B8: u32 = 17301713;
99pub const PFNC_B10: u32 = 17432786;
100pub const PFNC_B12: u32 = 17563859;
101pub const PFNC_B16: u32 = 17826004;
102pub const PFNC_Coord3D_ABC8: u32 = 35127474;
103pub const PFNC_Coord3D_ABC8_Planar: u32 = 35127475;
104pub const PFNC_Coord3D_ABC10p: u32 = 35520731;
105pub const PFNC_Coord3D_ABC10p_Planar: u32 = 35520732;
106pub const PFNC_Coord3D_ABC12p: u32 = 35913950;
107pub const PFNC_Coord3D_ABC12p_Planar: u32 = 35913951;
108pub const PFNC_Coord3D_ABC16: u32 = 36700345;
109pub const PFNC_Coord3D_ABC16_Planar: u32 = 36700346;
110pub const PFNC_Coord3D_ABC32f: u32 = 39846080;
111pub const PFNC_Coord3D_ABC32f_Planar: u32 = 39846081;
112pub const PFNC_Coord3D_AC8: u32 = 34603188;
113pub const PFNC_Coord3D_AC8_Planar: u32 = 34603189;
114pub const PFNC_Coord3D_AC10p: u32 = 34865392;
115pub const PFNC_Coord3D_AC10p_Planar: u32 = 34865393;
116pub const PFNC_Coord3D_AC12p: u32 = 35127538;
117pub const PFNC_Coord3D_AC12p_Planar: u32 = 35127539;
118pub const PFNC_Coord3D_AC16: u32 = 35651771;
119pub const PFNC_Coord3D_AC16_Planar: u32 = 35651772;
120pub const PFNC_Coord3D_AC32f: u32 = 37748930;
121pub const PFNC_Coord3D_AC32f_Planar: u32 = 37748931;
122pub const PFNC_Coord3D_A8: u32 = 17301679;
123pub const PFNC_Coord3D_A10p: u32 = 17432789;
124pub const PFNC_Coord3D_A12p: u32 = 17563864;
125pub const PFNC_Coord3D_A16: u32 = 17825974;
126pub const PFNC_Coord3D_A32f: u32 = 18874557;
127pub const PFNC_Coord3D_B8: u32 = 17301680;
128pub const PFNC_Coord3D_B10p: u32 = 17432790;
129pub const PFNC_Coord3D_B12p: u32 = 17563865;
130pub const PFNC_Coord3D_B16: u32 = 17825975;
131pub const PFNC_Coord3D_B32f: u32 = 18874558;
132pub const PFNC_Coord3D_C8: u32 = 17301681;
133pub const PFNC_Coord3D_C10p: u32 = 17432791;
134pub const PFNC_Coord3D_C12p: u32 = 17563866;
135pub const PFNC_Coord3D_C16: u32 = 17825976;
136pub const PFNC_Coord3D_C32f: u32 = 18874559;
137pub const PFNC_Confidence1: u32 = 17301700;
138pub const PFNC_Confidence1p: u32 = 16842949;
139pub const PFNC_Confidence8: u32 = 17301702;
140pub const PFNC_Confidence16: u32 = 17825991;
141pub const PFNC_Confidence32f: u32 = 18874568;
142pub const PFNC_BiColorBGRG8: u32 = 34603174;
143pub const PFNC_BiColorBGRG10: u32 = 35651753;
144pub const PFNC_BiColorBGRG10p: u32 = 34865322;
145pub const PFNC_BiColorBGRG12: u32 = 35651757;
146pub const PFNC_BiColorBGRG12p: u32 = 35127470;
147pub const PFNC_BiColorRGBG8: u32 = 34603173;
148pub const PFNC_BiColorRGBG10: u32 = 35651751;
149pub const PFNC_BiColorRGBG10p: u32 = 34865320;
150pub const PFNC_BiColorRGBG12: u32 = 35651755;
151pub const PFNC_BiColorRGBG12p: u32 = 35127468;
152pub const PFNC_SCF1WBWG8: u32 = 17301607;
153pub const PFNC_SCF1WBWG10: u32 = 17825896;
154pub const PFNC_SCF1WBWG10p: u32 = 17432681;
155pub const PFNC_SCF1WBWG12: u32 = 17825898;
156pub const PFNC_SCF1WBWG12p: u32 = 17563755;
157pub const PFNC_SCF1WBWG14: u32 = 17825900;
158pub const PFNC_SCF1WBWG16: u32 = 17825901;
159pub const PFNC_SCF1WGWB8: u32 = 17301614;
160pub const PFNC_SCF1WGWB10: u32 = 17825903;
161pub const PFNC_SCF1WGWB10p: u32 = 17432688;
162pub const PFNC_SCF1WGWB12: u32 = 17825905;
163pub const PFNC_SCF1WGWB12p: u32 = 17563762;
164pub const PFNC_SCF1WGWB14: u32 = 17825907;
165pub const PFNC_SCF1WGWB16: u32 = 17825908;
166pub const PFNC_SCF1WGWR8: u32 = 17301621;
167pub const PFNC_SCF1WGWR10: u32 = 17825910;
168pub const PFNC_SCF1WGWR10p: u32 = 17432695;
169pub const PFNC_SCF1WGWR12: u32 = 17825912;
170pub const PFNC_SCF1WGWR12p: u32 = 17563769;
171pub const PFNC_SCF1WGWR14: u32 = 17825914;
172pub const PFNC_SCF1WGWR16: u32 = 17825915;
173pub const PFNC_SCF1WRWG8: u32 = 17301628;
174pub const PFNC_SCF1WRWG10: u32 = 17825917;
175pub const PFNC_SCF1WRWG10p: u32 = 17432702;
176pub const PFNC_SCF1WRWG12: u32 = 17825919;
177pub const PFNC_SCF1WRWG12p: u32 = 17563776;
178pub const PFNC_SCF1WRWG14: u32 = 17825921;
179pub const PFNC_SCF1WRWG16: u32 = 17825922;
180pub const PFNC_YCbCr8: u32 = 35127387;
181pub const PFNC_YCbCr8_CbYCr: u32 = 35127354;
182pub const PFNC_YCbCr10_CbYCr: u32 = 36700291;
183pub const PFNC_YCbCr10p_CbYCr: u32 = 35520644;
184pub const PFNC_YCbCr12_CbYCr: u32 = 36700293;
185pub const PFNC_YCbCr12p_CbYCr: u32 = 35913862;
186pub const PFNC_YCbCr411_8: u32 = 34340954;
187pub const PFNC_YCbCr411_8_CbYYCrYY: u32 = 34340924;
188pub const PFNC_YCbCr422_8: u32 = 34603067;
189pub const PFNC_YCbCr422_8_CbYCrY: u32 = 34603075;
190pub const PFNC_YCbCr422_10: u32 = 35651685;
191pub const PFNC_YCbCr422_10_CbYCrY: u32 = 35651737;
192pub const PFNC_YCbCr422_10p: u32 = 34865287;
193pub const PFNC_YCbCr422_10p_CbYCrY: u32 = 34865306;
194pub const PFNC_YCbCr422_12: u32 = 35651686;
195pub const PFNC_YCbCr422_12_CbYCrY: u32 = 35651739;
196pub const PFNC_YCbCr422_12p: u32 = 35127432;
197pub const PFNC_YCbCr422_12p_CbYCrY: u32 = 35127452;
198pub const PFNC_YCbCr601_8_CbYCr: u32 = 35127357;
199pub const PFNC_YCbCr601_10_CbYCr: u32 = 36700297;
200pub const PFNC_YCbCr601_10p_CbYCr: u32 = 35520650;
201pub const PFNC_YCbCr601_12_CbYCr: u32 = 36700299;
202pub const PFNC_YCbCr601_12p_CbYCr: u32 = 35913868;
203pub const PFNC_YCbCr601_411_8_CbYYCrYY: u32 = 34340927;
204pub const PFNC_YCbCr601_422_8: u32 = 34603070;
205pub const PFNC_YCbCr601_422_8_CbYCrY: u32 = 34603076;
206pub const PFNC_YCbCr601_422_10: u32 = 35651725;
207pub const PFNC_YCbCr601_422_10_CbYCrY: u32 = 35651741;
208pub const PFNC_YCbCr601_422_10p: u32 = 34865294;
209pub const PFNC_YCbCr601_422_10p_CbYCrY: u32 = 34865310;
210pub const PFNC_YCbCr601_422_12: u32 = 35651727;
211pub const PFNC_YCbCr601_422_12_CbYCrY: u32 = 35651743;
212pub const PFNC_YCbCr601_422_12p: u32 = 35127440;
213pub const PFNC_YCbCr601_422_12p_CbYCrY: u32 = 35127456;
214pub const PFNC_YCbCr709_8_CbYCr: u32 = 35127360;
215pub const PFNC_YCbCr709_10_CbYCr: u32 = 36700305;
216pub const PFNC_YCbCr709_10p_CbYCr: u32 = 35520658;
217pub const PFNC_YCbCr709_12_CbYCr: u32 = 36700307;
218pub const PFNC_YCbCr709_12p_CbYCr: u32 = 35913876;
219pub const PFNC_YCbCr709_411_8_CbYYCrYY: u32 = 34340930;
220pub const PFNC_YCbCr709_422_8: u32 = 34603073;
221pub const PFNC_YCbCr709_422_8_CbYCrY: u32 = 34603077;
222pub const PFNC_YCbCr709_422_10: u32 = 35651733;
223pub const PFNC_YCbCr709_422_10_CbYCrY: u32 = 35651745;
224pub const PFNC_YCbCr709_422_10p: u32 = 34865302;
225pub const PFNC_YCbCr709_422_10p_CbYCrY: u32 = 34865314;
226pub const PFNC_YCbCr709_422_12: u32 = 35651735;
227pub const PFNC_YCbCr709_422_12_CbYCrY: u32 = 35651747;
228pub const PFNC_YCbCr709_422_12p: u32 = 35127448;
229pub const PFNC_YCbCr709_422_12p_CbYCrY: u32 = 35127460;
230pub const PFNC_YCbCr2020_8_CbYCr: u32 = 35127540;
231pub const PFNC_YCbCr2020_10_CbYCr: u32 = 36700405;
232pub const PFNC_YCbCr2020_10p_CbYCr: u32 = 35520758;
233pub const PFNC_YCbCr2020_12_CbYCr: u32 = 36700407;
234pub const PFNC_YCbCr2020_12p_CbYCr: u32 = 35913976;
235pub const PFNC_YCbCr2020_411_8_CbYYCrYY: u32 = 34341113;
236pub const PFNC_YCbCr2020_422_8: u32 = 34603258;
237pub const PFNC_YCbCr2020_422_8_CbYCrY: u32 = 34603259;
238pub const PFNC_YCbCr2020_422_10: u32 = 35651836;
239pub const PFNC_YCbCr2020_422_10_CbYCrY: u32 = 35651837;
240pub const PFNC_YCbCr2020_422_10p: u32 = 34865406;
241pub const PFNC_YCbCr2020_422_10p_CbYCrY: u32 = 34865407;
242pub const PFNC_YCbCr2020_422_12: u32 = 35651840;
243pub const PFNC_YCbCr2020_422_12_CbYCrY: u32 = 35651841;
244pub const PFNC_YCbCr2020_422_12p: u32 = 35127554;
245pub const PFNC_YCbCr2020_422_12p_CbYCrY: u32 = 35127555;
246pub const PFNC_YUV8_UYV: u32 = 35127328;
247pub const PFNC_YUV411_8_UYYVYY: u32 = 34340894;
248pub const PFNC_YUV422_8: u32 = 34603058;
249pub const PFNC_YUV422_8_UYVY: u32 = 34603039;
250pub const GVSP_Mono10Packed: u32 = 17563652;
251pub const GVSP_Mono12Packed: u32 = 17563654;
252pub const GVSP_BayerBG10Packed: u32 = 17563689;
253pub const GVSP_BayerBG12Packed: u32 = 17563693;
254pub const GVSP_BayerGB10Packed: u32 = 17563688;
255pub const GVSP_BayerGB12Packed: u32 = 17563692;
256pub const GVSP_BayerGR10Packed: u32 = 17563686;
257pub const GVSP_BayerGR12Packed: u32 = 17563690;
258pub const GVSP_BayerRG10Packed: u32 = 17563687;
259pub const GVSP_BayerRG12Packed: u32 = 17563691;
260pub const GVSP_RGB10V1Packed: u32 = 35651612;
261pub const GVSP_RGB12V1Packed: u32 = 35913780;
262pub const LUCID_PolarizeMono8: u32 = 2164785153;
263pub const LUCID_PolarizeMono12p: u32 = 2165047367;
264pub const LUCID_PolarizeMono12Packed: u32 = 2165047302;
265pub const LUCID_PolarizeMono12: u32 = 2165309448;
266pub const LUCID_PolarizeMono16: u32 = 2165309447;
267pub const LUCID_PolarizedAngles_0d_45d_90d_135d_Mono8: u32 = 2183135247;
268pub const LUCID_PolarizedAngles_0d_45d_90d_135d_Mono12p: u32 = 2184183839;
269pub const LUCID_PolarizedAngles_0d_45d_90d_135d_Mono16: u32 = 2185232431;
270pub const LUCID_PolarizedStokes_S0_S1_S2_Mono8: u32 = 2182611007;
271pub const LUCID_PolarizedStokes_S0_S1_S2_Mono12p: u32 = 2183397455;
272pub const LUCID_PolarizedStokes_S0_S1_S2_Mono16: u32 = 2184183903;
273pub const LUCID_PolarizedStokes_S0_S1_S2_S3_Mono8: u32 = 2183135343;
274pub const LUCID_PolarizedStokes_S0_S1_S2_S3_Mono12p: u32 = 2184183935;
275pub const LUCID_PolarizedStokes_S0_S1_S2_S3_Mono16: u32 = 2185232527;
276pub const LUCID_PolarizedAolp_Mono8: u32 = 2164785375;
277pub const LUCID_PolarizedAolp_Mono12p: u32 = 2165047535;
278pub const LUCID_PolarizedDolp_Mono8: u32 = 2164785343;
279pub const LUCID_PolarizedDolp_Mono12p: u32 = 2165047503;
280pub const LUCID_PolarizedDolp_Mono16: u32 = 2853218986;
281pub const LUCID_PolarizedDolpAolp_Mono8: u32 = 2182086815;
282pub const LUCID_PolarizedDolpAolp_Mono12p: u32 = 2182611119;
283pub const LUCID_Coord3D_ABCY16s: u32 = 2185233408;
284pub const LUCID_Coord3D_ABC16s: u32 = 2184184833;
285pub const LUCID_Coord3D_C16s: u32 = 2165310466;
286pub const LUCID_Coord3D_ABCY16: u32 = 2185233411;
287pub const LUCID_PolarizedAngles_0d_45d_90d_135d_BayerRG8: u32 = 2183135759;
288pub const LUCID_PolarizedAngles_0d_45d_90d_135d_BayerRG12p: u32 = 2184184351;
289pub const LUCID_PolarizedStokes_S0_S1_S2_BayerRG8: u32 = 2182611519;
290pub const LUCID_PolarizedStokes_S0_S1_S2_BayerRG12p: u32 = 2183397967;
291pub const LUCID_PolarizedStokes_S0_S1_S2_S3_BayerRG8: u32 = 2183135855;
292pub const LUCID_PolarizedStokes_S0_S1_S2_S3_BayerRG12p: u32 = 2184184447;
293pub const LUCID_PolarizedAolp_BayerRG8: u32 = 2164785887;
294pub const LUCID_PolarizedAolp_BayerRG12p: u32 = 2165048047;
295pub const LUCID_PolarizedDolp_BayerRG8: u32 = 2164785855;
296pub const LUCID_PolarizedDolp_BayerRG12p: u32 = 2165048015;
297pub const LUCID_PolarizedDolp_BayerRG16: u32 = 3138436027;
298pub const LUCID_PolarizedDolpAolp_BayerRG8: u32 = 2182087327;
299pub const LUCID_PolarizedDolpAolp_BayerRG12p: u32 = 2182611631;
300pub const LUCID_Mono24: u32 = 2165835008;
301pub const LUCID_BayerGR24: u32 = 2165835009;
302pub const LUCID_BayerRG24: u32 = 2165835010;
303pub const LUCID_BayerGB24: u32 = 2165835011;
304pub const LUCID_BayerBG24: u32 = 2165835012;
305pub const LUCID_RGB24: u32 = 2185757957;
306pub const LUCID_BGR24: u32 = 2185757958;
307pub const LUCID_YCbCr422_16_CbYCrY: u32 = 2183136519;
308pub const LUCID_YCbCr422_24_CbYCrY: u32 = 2184185096;
309pub const LUCID_YCbCr411_16_CbYYCrYY: u32 = 2182612233;
310pub const LUCID_YCbCr411_24_CbYYCrYY: u32 = 2183398666;
311pub const LUCID_PolarizedDolpAngle_Mono8: u32 = 2182086911;
312pub const LUCID_PolarizedDolpAngle_Mono12p: u32 = 2182611215;
313pub const LUCID_PolarizedDolpAngle_Mono16: u32 = 2183135519;
314pub const LUCID_PolarizedDolpAngle_BayerRG8: u32 = 2182087423;
315pub const LUCID_PolarizedDolpAngle_BayerRG12p: u32 = 2182611727;
316pub const LUCID_PolarizedDolpAngle_BayerRG16: u32 = 2183136031;
317pub const LUCID_Coord3D_C16Y8: u32 = 2182611972;
318pub const LUCID_Coord3D_CY16: u32 = 2183136261;
319pub type va_list = *mut ::std::os::raw::c_char;
320extern "C" {
321    pub fn __va_start(arg1: *mut *mut ::std::os::raw::c_char, ...);
322}
323pub type __vcrt_bool = bool;
324pub type wchar_t = ::std::os::raw::c_ushort;
325extern "C" {
326    pub fn __security_init_cookie();
327}
328extern "C" {
329    pub fn __security_check_cookie(_StackCookie: usize);
330}
331extern "C" {
332    pub fn __report_gsfailure(_StackCookie: usize) -> !;
333}
334extern "C" {
335    pub static mut __security_cookie: usize;
336}
337pub type int_least8_t = ::std::os::raw::c_schar;
338pub type int_least16_t = ::std::os::raw::c_short;
339pub type int_least32_t = ::std::os::raw::c_int;
340pub type int_least64_t = ::std::os::raw::c_longlong;
341pub type uint_least8_t = ::std::os::raw::c_uchar;
342pub type uint_least16_t = ::std::os::raw::c_ushort;
343pub type uint_least32_t = ::std::os::raw::c_uint;
344pub type uint_least64_t = ::std::os::raw::c_ulonglong;
345pub type int_fast8_t = ::std::os::raw::c_schar;
346pub type int_fast16_t = ::std::os::raw::c_int;
347pub type int_fast32_t = ::std::os::raw::c_int;
348pub type int_fast64_t = ::std::os::raw::c_longlong;
349pub type uint_fast8_t = ::std::os::raw::c_uchar;
350pub type uint_fast16_t = ::std::os::raw::c_uint;
351pub type uint_fast32_t = ::std::os::raw::c_uint;
352pub type uint_fast64_t = ::std::os::raw::c_ulonglong;
353pub type intmax_t = ::std::os::raw::c_longlong;
354pub type uintmax_t = ::std::os::raw::c_ulonglong;
355#[doc = " @typedef acSystem;\n\n Representation of the system object, the entry point into Arena SDK."]
356pub type acSystem = *mut ::std::os::raw::c_void;
357#[doc = " @typedef acDevice;\n\n Represents a device, used to configure and stream a device."]
358pub type acDevice = *mut ::std::os::raw::c_void;
359#[doc = " @typedef acBuffer;\n\n Represents a buffer, which carries a payload of either an image or a chunk\n data. A buffer can hold image data and/or chunk data."]
360pub type acBuffer = *mut ::std::os::raw::c_void;
361#[doc = " @typedef acFeatureStream;\n\n Represents a feature stream object, allowing node map configurations to be\n streamed to and from files."]
362pub type acFeatureStream = *mut ::std::os::raw::c_void;
363#[doc = " @typedef acNodeMap;\n\n Represents a node map, or feature tree."]
364pub type acNodeMap = *mut ::std::os::raw::c_void;
365#[doc = " @typedef acNode;\n\n Represents a node, or feature."]
366pub type acNode = *mut ::std::os::raw::c_void;
367#[doc = " @typedef acCallback;\n\n Represents a callback handle, used to deregister callbacks when they are no\n longer needed."]
368pub type acCallback = *mut ::std::os::raw::c_void;
369pub type bool8_t = u8;
370#[doc = " @typedef acCallbackFunction\n\n The signature of a function needed to register a callback. An example of a\n function that could work might look something like the following.\n\n \\code{.c}\n \t// a function with the appropriate function signature to register as a callback\n \t// error handling skipped for brevity\n \t{\n \t\tvoid onCallback(acNode hNode, void* pUserData)\n \t\t{\n \t\t\tUserDataStruct* userData = reinterpret_cast<UserDataStruct*>(pUserData);\n\n \t\t\tchar pBuf[100];\n \t\t\tsize_t len = 100;\n \t\t\tacNodeGetName(hNode, pBuf, &len);\n \t\t\t// ...\n \t\t}\n \t}\n \\endcode"]
371pub type acCallbackFunction =
372    ::std::option::Option<unsafe extern "C" fn(arg1: acNode, arg2: *mut ::std::os::raw::c_void)>;
373pub type acImageCallbackFunction =
374    ::std::option::Option<unsafe extern "C" fn(arg1: acBuffer, arg2: *mut ::std::os::raw::c_void)>;
375pub type acDeviceDisconnectCallbackFunction =
376    ::std::option::Option<unsafe extern "C" fn(arg1: acDevice)>;
377#[doc = "< Success, no error"]
378pub const AC_ERROR_LIST_AC_ERR_SUCCESS: AC_ERROR_LIST = 0;
379#[doc = "< Generic error"]
380pub const AC_ERROR_LIST_AC_ERR_ERROR: AC_ERROR_LIST = -1001;
381#[doc = "< Arena SDK not initialized"]
382pub const AC_ERROR_LIST_AC_ERR_NOT_INITIALIZED: AC_ERROR_LIST = -1002;
383#[doc = "< Function not implemented"]
384pub const AC_ERROR_LIST_AC_ERR_NOT_IMPLEMENTED: AC_ERROR_LIST = -1003;
385#[doc = "< Resource already in use"]
386pub const AC_ERROR_LIST_AC_ERR_RESOURCE_IN_USE: AC_ERROR_LIST = -1004;
387#[doc = "< Incorrect access"]
388pub const AC_ERROR_LIST_AC_ERR_ACCESS_DENIED: AC_ERROR_LIST = -1005;
389#[doc = "< Null/incorrect handle"]
390pub const AC_ERROR_LIST_AC_ERR_INVALID_HANDLE: AC_ERROR_LIST = -1006;
391#[doc = "< Incorrect ID"]
392pub const AC_ERROR_LIST_AC_ERR_INVALID_ID: AC_ERROR_LIST = -1007;
393#[doc = "< No data available"]
394pub const AC_ERROR_LIST_AC_ERR_NO_DATA: AC_ERROR_LIST = -1008;
395#[doc = "< Null/incorrect parameter"]
396pub const AC_ERROR_LIST_AC_ERR_INVALID_PARAMETER: AC_ERROR_LIST = -1009;
397#[doc = "< Input/output error"]
398pub const AC_ERROR_LIST_AC_ERR_IO: AC_ERROR_LIST = -1010;
399#[doc = "< Timed out"]
400pub const AC_ERROR_LIST_AC_ERR_TIMEOUT: AC_ERROR_LIST = -1011;
401#[doc = "< Function aborted"]
402pub const AC_ERROR_LIST_AC_ERR_ABORT: AC_ERROR_LIST = -1012;
403#[doc = "< Invalid buffer"]
404pub const AC_ERROR_LIST_AC_ERR_INVALID_BUFFER: AC_ERROR_LIST = -1013;
405#[doc = "< Function not available"]
406pub const AC_ERROR_LIST_AC_ERR_NOT_AVAILABLE: AC_ERROR_LIST = -1014;
407#[doc = "< Invalid register address"]
408pub const AC_ERROR_LIST_AC_ERR_INVALID_ADDRESS: AC_ERROR_LIST = -1015;
409#[doc = "< Buffer too small"]
410pub const AC_ERROR_LIST_AC_ERR_BUFFER_TOO_SMALL: AC_ERROR_LIST = -1016;
411#[doc = "< Invalid index"]
412pub const AC_ERROR_LIST_AC_ERR_INVALID_INDEX: AC_ERROR_LIST = -1017;
413#[doc = "< Error parsing chunk data"]
414pub const AC_ERROR_LIST_AC_ERR_PARSING_CHUNK_DATA: AC_ERROR_LIST = -1018;
415#[doc = "< Invalid value"]
416pub const AC_ERROR_LIST_AC_ERR_INVALID_VALUE: AC_ERROR_LIST = -1019;
417#[doc = "< Resource cannot perform more actions"]
418pub const AC_ERROR_LIST_AC_ERR_RESOURCE_EXHAUSTED: AC_ERROR_LIST = -1020;
419#[doc = "< Not enough memory"]
420pub const AC_ERROR_LIST_AC_ERR_OUT_OF_MEMORY: AC_ERROR_LIST = -1021;
421#[doc = "< Busy on anothe process"]
422pub const AC_ERROR_LIST_AC_ERR_BUSY: AC_ERROR_LIST = -1022;
423#[doc = "< Start adding custom error LIST here"]
424pub const AC_ERROR_LIST_AC_ERR_CUSTOM: AC_ERROR_LIST = -10000;
425#[doc = " @enum AC_ERROR_LIST\n\n This enum represents the different errors that a function might return.\n\n @warning\n  - Use AC_ERROR integer values in place of AC_ERROR_LIST enum values"]
426pub type AC_ERROR_LIST = ::std::os::raw::c_int;
427#[doc = " @typedef AC_ERROR;\n\n Integer representation of the the error enum (AC_ERROR_LIST)."]
428pub type AC_ERROR = i32;
429#[doc = "< Not implemented"]
430pub const AC_ACCESS_MODE_LIST_AC_ACCESS_MODE_NI: AC_ACCESS_MODE_LIST = 0;
431#[doc = "< Not available"]
432pub const AC_ACCESS_MODE_LIST_AC_ACCESS_MODE_NA: AC_ACCESS_MODE_LIST = 1;
433#[doc = "< Write only"]
434pub const AC_ACCESS_MODE_LIST_AC_ACCESS_MODE_WO: AC_ACCESS_MODE_LIST = 2;
435#[doc = "< Read only"]
436pub const AC_ACCESS_MODE_LIST_AC_ACCESS_MODE_RO: AC_ACCESS_MODE_LIST = 3;
437#[doc = "< Read and write"]
438pub const AC_ACCESS_MODE_LIST_AC_ACCESS_MODE_RW: AC_ACCESS_MODE_LIST = 4;
439#[doc = "< Undefined"]
440pub const AC_ACCESS_MODE_LIST_AC_ACCESS_MODE_UNDEFINED: AC_ACCESS_MODE_LIST = 5;
441#[doc = " @enum AC_ACCESS_MODE_LIST\n\n This enum represents the different access modes for a device or its features.\n\n @warning\n  - Use AC_ACCESS_MODE integer values in place of AC_ACCESS_MODE_LIST enum\n    values"]
442pub type AC_ACCESS_MODE_LIST = ::std::os::raw::c_int;
443#[doc = " @typedef AC_ACCESS_MODE;\n\n Integer representation of the access mode enum (AC_ACCESS_MODE_LIST)."]
444pub type AC_ACCESS_MODE = i32;
445#[doc = "< Do not use cache"]
446pub const AC_CACHING_MODE_LIST_AC_CACHING_MODE_NO_CACHE: AC_CACHING_MODE_LIST = 0;
447#[doc = "< Write to cache and register"]
448pub const AC_CACHING_MODE_LIST_AC_CACHING_MODE_WRITE_THROUGH: AC_CACHING_MODE_LIST = 1;
449#[doc = "< Write to register, write to cache on read"]
450pub const AC_CACHING_MODE_LIST_AC_CACHING_MODE_WRITE_AROUND: AC_CACHING_MODE_LIST = 2;
451#[doc = "< Undefined"]
452pub const AC_CACHING_MODE_LIST_AC_CACHING_MODE_UNDEFINED: AC_CACHING_MODE_LIST = 3;
453#[doc = " @enum AC_CACHING_MODE_LIST\n\n This enum represents the different caching modes a node might use.\n\n @warning\n  - Use AC_CACHING_MODE integer values in place of AC_CACHING_MODE_LIST enum\n    values"]
454pub type AC_CACHING_MODE_LIST = ::std::os::raw::c_int;
455#[doc = " @typedef AC_CACHING_MODE;\n\n Integer representation of the caching mode enum (AC_CACHING_MODE_LIST)."]
456pub type AC_CACHING_MODE = i32;
457#[doc = "< Name resides in custom namespace"]
458pub const AC_NAMESPACE_LIST_AC_NAMESPACE_CUSTOM: AC_NAMESPACE_LIST = 0;
459#[doc = "< Name resides in one of the standard namespaces"]
460pub const AC_NAMESPACE_LIST_AC_NAMESPACE_STANDARD: AC_NAMESPACE_LIST = 1;
461#[doc = "< Undefined"]
462pub const AC_NAMESPACE_LIST_AC_NAMESPACE_UNDEFINED: AC_NAMESPACE_LIST = 2;
463#[doc = " @enum AC_NAMESPACE_LIST\n\n This enum represents whether a node is in the standard or custom namespaces.\n\n @warning\n  - Use AC_NAMESPACE integer values in place of AC_NAMESPACE_LIST enum values"]
464pub type AC_NAMESPACE_LIST = ::std::os::raw::c_int;
465#[doc = " @typedef AC_NAMESPACE;\n\n Integer representation of the namespace enum (AC_NAMESPACE_LIST)."]
466pub type AC_NAMESPACE = i32;
467#[doc = "< IValue interface"]
468pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_VALUE: AC_INTERFACE_TYPE_LIST = 0;
469#[doc = "< IBase interface"]
470pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_BASE: AC_INTERFACE_TYPE_LIST = 1;
471#[doc = "< IInteger interface"]
472pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_INTEGER: AC_INTERFACE_TYPE_LIST = 2;
473#[doc = "< IBoolean interface"]
474pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_BOOLEAN: AC_INTERFACE_TYPE_LIST = 3;
475#[doc = "< ICommand interface"]
476pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_COMMAND: AC_INTERFACE_TYPE_LIST = 4;
477#[doc = "< IFloat interface"]
478pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_FLOAT: AC_INTERFACE_TYPE_LIST = 5;
479#[doc = "< IString interface"]
480pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_STRING: AC_INTERFACE_TYPE_LIST = 6;
481#[doc = "< IRegister interface"]
482pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_REGISTER: AC_INTERFACE_TYPE_LIST = 7;
483#[doc = "< ICategory interface"]
484pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_CATEGORY: AC_INTERFACE_TYPE_LIST = 8;
485#[doc = "< IEnumeration interface"]
486pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_ENUMERATION: AC_INTERFACE_TYPE_LIST = 9;
487#[doc = "< IEnumEntry interface"]
488pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_ENUMENTRY: AC_INTERFACE_TYPE_LIST = 10;
489#[doc = "< IPort interface"]
490pub const AC_INTERFACE_TYPE_LIST_AC_INTERFACE_TYPE_PORT: AC_INTERFACE_TYPE_LIST = 11;
491#[doc = " @enum AC_INTERFACE_TYPE_LIST\n\n This enum represents the interface type of a node.\n\n @warning\n  - Use AC_INTERFACE_TYPE integer values in place of AC_INTERFACE_LIST enum\n    values"]
492pub type AC_INTERFACE_TYPE_LIST = ::std::os::raw::c_int;
493#[doc = " @typedef AC_INTERFACE_TYPE;\n\n Integer representation of the interface type enum (AC_INTERFACE_TYPE_LIST)."]
494pub type AC_INTERFACE_TYPE = i32;
495#[doc = "< Always visible"]
496pub const AC_VISIBILITY_LIST_AC_VISIBILITY_BEGINNER: AC_VISIBILITY_LIST = 0;
497#[doc = "< Visible for experts or gurus"]
498pub const AC_VISIBILITY_LIST_AC_VISIBILITY_EXPERT: AC_VISIBILITY_LIST = 1;
499#[doc = "< Visible for gurus"]
500pub const AC_VISIBILITY_LIST_AC_VISIBILITY_GURU: AC_VISIBILITY_LIST = 2;
501#[doc = "< Not visible"]
502pub const AC_VISIBILITY_LIST_AC_VISIBILITY_INVISIBLE: AC_VISIBILITY_LIST = 3;
503#[doc = "< Undefined"]
504pub const AC_VISIBILITY_LIST_AC_VISIBILITY_UNDEFINED: AC_VISIBILITY_LIST = 99;
505#[doc = " @enum AC_VISIBILITY_LIST\n\n This enum represents the different visibilities of a node.\n\n @warning\n  - Use AC_VISIBILITY integer values in place of AC_VISIBILITY_LIST enum\n    values"]
506pub type AC_VISIBILITY_LIST = ::std::os::raw::c_int;
507#[doc = " @typedef AC_VISIBILITY;\n\n Integer representation of the visibility enum (AC_VISIBILITY_LIST)."]
508pub type AC_VISIBILITY = i32;
509#[doc = "< The feature has no increment"]
510pub const AC_INC_MODE_LIST_AC_INC_MODE_NONE: AC_INC_MODE_LIST = 0;
511#[doc = "< The feature has a fix increment"]
512pub const AC_INC_MODE_LIST_AC_INC_MODE_FIXED: AC_INC_MODE_LIST = 1;
513#[doc = "< The feature has a list of valid values"]
514pub const AC_INC_MODE_LIST_AC_INC_MODE_LIST: AC_INC_MODE_LIST = 2;
515#[doc = " @enum AC_INC_MODE_LIST\n\n This enum represents the different increment modes of an integer/float node.\n\n @warning\n  - Use AC_INC_MODE integer values in place of AC_INC_MODE_LIST enum values"]
516pub type AC_INC_MODE_LIST = ::std::os::raw::c_int;
517#[doc = " @typedef AC_INC_MODE;\n\n Integer representation of the increment mode enum (AC_INC_MODE_LIST)."]
518pub type AC_INC_MODE = i32;
519#[doc = "< Slider with linear behavior"]
520pub const AC_REPRESENTATION_LIST_AC_REPRESENTATION_LINEAR: AC_REPRESENTATION_LIST = 0;
521#[doc = "< Slider with logarithmic behavior"]
522pub const AC_REPRESENTATION_LIST_AC_REPRESENTATION_LOGARITHMIC: AC_REPRESENTATION_LIST = 1;
523#[doc = "< Check box"]
524pub const AC_REPRESENTATION_LIST_AC_REPRESENTATION_BOOLEAN: AC_REPRESENTATION_LIST = 2;
525#[doc = "< Decimal number in an edit control"]
526pub const AC_REPRESENTATION_LIST_AC_REPRESENTATION_PURE_NUMBER: AC_REPRESENTATION_LIST = 3;
527#[doc = "< Hex number in an edit control"]
528pub const AC_REPRESENTATION_LIST_AC_REPRESENTATION_HEX_NUMBER: AC_REPRESENTATION_LIST = 4;
529#[doc = "< IP address"]
530pub const AC_REPRESENTATION_LIST_AC_REPRESENTATION_IPV4_ADDRESS: AC_REPRESENTATION_LIST = 5;
531#[doc = "< MAC address"]
532pub const AC_REPRESENTATION_LIST_AC_REPRESENTATION_MAC_ADDRESS: AC_REPRESENTATION_LIST = 6;
533pub const AC_REPRESENTATION_LIST_AC_REPRESENTATION_UNDEFINED: AC_REPRESENTATION_LIST = 7;
534#[doc = " @enum AC_REPRESENTATION_LIST\n\n This enum represents the different representations of an integer/float node.\n\n @warning\n  - Use AC_REPRESENTATION integer values in place of AC_REPRESENTATION_LIST\n    enum values"]
535pub type AC_REPRESENTATION_LIST = ::std::os::raw::c_int;
536#[doc = " @typedef AC_REPRESENTATION;\n\n Integer representation of the numeric representation enum\n (AC_REPRESENTATION_LIST)."]
537pub type AC_REPRESENTATION = i32;
538#[doc = "< The notation if either scientific or fixed depending on what is shorter"]
539pub const AC_DISPLAY_NOTATION_LIST_AC_DISPLAY_NOTATION_AUTOMATIC: AC_DISPLAY_NOTATION_LIST = 0;
540#[doc = "< The notation is fixed, e.g. 123.4"]
541pub const AC_DISPLAY_NOTATION_LIST_AC_DISPLAY_NOTATION_FIXED: AC_DISPLAY_NOTATION_LIST = 1;
542#[doc = "< The notation is scientific, e.g. 1.234e2"]
543pub const AC_DISPLAY_NOTATION_LIST_AC_DISPLAY_NOTATION_SCIENTIFIC: AC_DISPLAY_NOTATION_LIST = 2;
544#[doc = "< Undefined"]
545pub const AC_DISPLAY_NOTATION_LIST_AC_DISPLAY_NOTATION_UNDEFINED: AC_DISPLAY_NOTATION_LIST = 3;
546#[doc = " @enum AC_DISPLAY_NOTATION_LIST\n\n This enum represents the best way to display a float node.\n\n @warning\n  - Use AC_DISPLAY_NOTATION integer values in place of\n    AC_DISPLAY_NOTATION_LIST enum values"]
547pub type AC_DISPLAY_NOTATION_LIST = ::std::os::raw::c_int;
548#[doc = " @typedef AC_DISPLAY_NOTATION;\n\n Integer representation of the display notation enum\n (AC_DISPLAY_NOTATION_LIST)."]
549pub type AC_DISPLAY_NOTATION = i32;
550#[doc = "< Image data only"]
551pub const AC_PAYLOAD_TYPE_LIST_AC_PAYLOAD_TYPE_IMAGE: AC_PAYLOAD_TYPE_LIST = 1;
552#[doc = "< Image data extended with chunk data"]
553pub const AC_PAYLOAD_TYPE_LIST_AC_PAYLOAD_TYPE_IMAGE_EXTENDED_CHUNK: AC_PAYLOAD_TYPE_LIST = 16385;
554#[doc = "< Chunk data only; image data may be present as chunk"]
555pub const AC_PAYLOAD_TYPE_LIST_AC_PAYLOAD_TYPE_CHUNKDATA: AC_PAYLOAD_TYPE_LIST = 4;
556#[doc = " @enum AC_PAYLOAD_TYPE_LIST\n\n This enum represents the different payload types of a buffer.\n\n @warning\n  - Use AC_PAYLOAD_TYPE integer values in place of AC_PAYLOAD_LIST enum\n    values"]
557pub type AC_PAYLOAD_TYPE_LIST = ::std::os::raw::c_int;
558#[doc = " @typedef AC_PAYLOAD_TYPE;\n\n Integer representation of the payload type enum (AC_PAYLOAD_TYPE_LIST)."]
559pub type AC_PAYLOAD_TYPE = i32;
560#[doc = "< Unknown pixel endianness"]
561pub const AC_PIXEL_ENDIANNESS_LIST_AC_PIXEL_ENDIANNESS_UNKNOWN: AC_PIXEL_ENDIANNESS_LIST = 0;
562#[doc = "< Little endian"]
563pub const AC_PIXEL_ENDIANNESS_LIST_AC_PIXEL_ENDIANNESS_LITTLE: AC_PIXEL_ENDIANNESS_LIST = 1;
564#[doc = "< Big endian"]
565pub const AC_PIXEL_ENDIANNESS_LIST_AC_PIXEL_ENDIANNESS_BIG: AC_PIXEL_ENDIANNESS_LIST = 2;
566#[doc = " @enum AC_PIXEL_ENDIANNESS_LIST\n\n This enum represents the different pixel endiannesses.\n\n @warning\n  - Use AC_PIXEL_ENDIANNESS integer values in place of\n    AC_PIXEL_ENDIANNESS_LIST enum values"]
567pub type AC_PIXEL_ENDIANNESS_LIST = ::std::os::raw::c_int;
568#[doc = " @typedef AC_PIXEL_ENDIANNESS;\n\n Integer representation of the pixel endianness enum\n (AC_PIXEL_ENDIANNESS_LIST)."]
569pub type AC_PIXEL_ENDIANNESS = i32;
570#[doc = "< Algorithm that averages nearest neighbours (faster)"]
571pub const AC_BAYER_ALGORITHM_LIST_AC_BAYER_ALGORITHM_DIRECTIONAL_INTERPOLATION:
572    AC_BAYER_ALGORITHM_LIST = 0;
573#[doc = "< Adaptive algorithm that uses directional data (slower, more accurate coloring)"]
574pub const AC_BAYER_ALGORITHM_LIST_AC_BAYER_ALGORITHM_ADAPTIVE_HOMOGENEITY_DIRECTED:
575    AC_BAYER_ALGORITHM_LIST = 1;
576#[doc = "< Undefined algorithm"]
577pub const AC_BAYER_ALGORITHM_LIST_AC_BAYER_ALGORITHM_UNKNOWN: AC_BAYER_ALGORITHM_LIST = 2;
578#[doc = " @enum AC_BAYER_ALGORITHM_LIST\n\n This enum represents the different algorithms available to interpolate bayer\n image data.\n\n @warning\n  - Use AC_BAYER_ALGORITHM integer values in place of AC_BAYER_ALGORITHM_LIST\n    enum values"]
579pub type AC_BAYER_ALGORITHM_LIST = ::std::os::raw::c_int;
580#[doc = " @typedef AC_BAYER_ALGORITHM;\n\n Integer representation of the bayer algorithm enum\n (AC_BAYER_ALGORITHM_LIST)."]
581pub type AC_BAYER_ALGORITHM = i32;
582#[doc = "< default behaviour for the underlying transport layer"]
583pub const AC_START_STREAM_FLAGS_LIST_AC_START_STREAM_FLAG_DEFAULT: AC_START_STREAM_FLAGS_LIST = 1;
584#[doc = "< Will try to start Gvsp 2.0 stream with 16bit block id if supported"]
585pub const AC_START_STREAM_FLAGS_LIST_AC_START_STREAM_FLAG_GVSP_LEGACY: AC_START_STREAM_FLAGS_LIST =
586    1001;
587#[doc = " @enum AC_START_STREAM_FLAGS_LIST\n\n This enum represents the transport layer flags for starting a stream."]
588pub type AC_START_STREAM_FLAGS_LIST = ::std::os::raw::c_int;
589#[doc = " @typedef AC_START_STREAM_FLAGS;\n\n Integer representation of the start stream flags\n (AC_START_STREAM_FLAGS_LIST)."]
590pub type AC_START_STREAM_FLAGS = i32;
591extern "C" {
592    #[doc = " @fn AC_ERROR AC_API acOpenSystem(acSystem* phSystem)\n\n @param phSystem\n  - Type: acSystem*\n  - [Out] parameter\n  - The system object\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acOpenSystem </B> initializes the Arena SDK and retrieves the system\n object (acSystem). The system must be closed or memory will leak.\n\n @see\n  - acSystem"]
593    pub fn acOpenSystem(phSystem: *mut acSystem) -> AC_ERROR;
594}
595extern "C" {
596    #[doc = " @fn AC_ERROR AC_API acCloseSystem(acSystem hSystem)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCloseSystem </B> cleans up the system (acSystem) and deinitializes the\n Arena SDK, deallocating all memory.\n\n @see\n  - acSystem"]
597    pub fn acCloseSystem(hSystem: acSystem) -> AC_ERROR;
598}
599extern "C" {
600    #[doc = " AC_ERROR acGetLastErrorMessage(char* pMessageBuf, size_t* pBufLen)\n\n @param pMessageBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Current value\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acGetLastError </B> gets the most recent error from the current thread. If\n no errors have occurred in the thread, a \"No Error\" message is returned.\n"]
601    pub fn acGetLastErrorMessage(
602        pMessageBuf: *mut ::std::os::raw::c_char,
603        pBufLen: *mut usize,
604    ) -> AC_ERROR;
605}
606extern "C" {
607    #[doc = " @fn AC_ERROR AC_API acGetBitsPerPixel(uint64_t pixelFormat, size_t* pBitsPerPixel)\n\n @param pixelFormat\n  - Type: uint64_t\n  - [In] parameter\n  - Pixel format to get bits per pixel\n\n @param pBitsPerPixel\n  - Type: size_t*\n  - [Out] parameter\n  - Number of bits per pixel for given pixel format\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acGetBitsPerPixel </B> get the number of bits per pixel of the image from\n the integer value of the pixel format (PfncFormat)."]
608    pub fn acGetBitsPerPixel(pixelFormat: u64, pBitsPerPixel: *mut usize) -> AC_ERROR;
609}
610extern "C" {
611    #[doc = " @fn AC_ERROR AC_API acCalculateCRC32(const uint8_t* pData, size_t pDataLen, size_t* pCRCValue)\n\n @param pData\n  - Type: const uint8_t*\n  - [In] parameter\n  - A pointer to the data to use to calculate the CRC\n\n @param pDataLen\n  - Type: size_t\n  - [In] parameter\n  - The size of the data\n\n @param pCRCValue\n  - Type: size_t*\n  - [Out] parameter\n  - The calculated CRC value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCalculatedCRC32 </B> calculates a CRC value (cyclical redundancy check)\n on a dataset. This is used to check whether the dataset has been sent in its\n entirety."]
612    pub fn acCalculateCRC32(pData: *const u8, pDataLen: usize, pCRCValue: *mut usize) -> AC_ERROR;
613}
614extern "C" {
615    #[doc = " @fn AC_ERROR AC_API acIsReadable(acNode hNode, bool8_t* pIsReadable)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n\n @param pIsReadable\n  - Type: bool8_t*\n  - [Out] parameter\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIsReadable </B> checks whether a node is readable."]
616    pub fn acIsReadable(hNode: acNode, pIsReadable: *mut bool8_t) -> AC_ERROR;
617}
618extern "C" {
619    #[doc = " @fn AC_ERROR AC_API acIsWritable(acNode hNode, bool8_t* pIsWritable)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n\n @param pIsWritable\n  - Type: bool8_t*\n  - [Out] parameter\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIsWritable </B> checks whether a node is writable."]
620    pub fn acIsWritable(hNode: acNode, pIsWritable: *mut bool8_t) -> AC_ERROR;
621}
622extern "C" {
623    #[doc = " @fn AC_ERROR AC_API acCalculateMaximumNumberOfBuffers(size_t payloadSize, size_t* pMaxBufs);\n\n @param payloadSize\n\t- Type: size_t\n\t- Unit: bytes\n\t- [In] parameter\n\t- Payload size of an image\n\n @param pMaxBufs\n\t- Type: size_t*\n\t- [Out] parameter\n\t- Maximum number of buffers\n\n @return\n\t- Type: AC_ERROR\n\t- Error code for the function\n\t- Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCalculateMaximumNumberOfBuffers </B> calculates the number of buffers it\n would take to fill 80% of the available memory."]
624    pub fn acCalculateMaximumNumberOfBuffers(payloadSize: usize, pMaxBufs: *mut usize) -> AC_ERROR;
625}
626extern "C" {
627    #[doc = " @fn AC_ERROR AC_API acGetVersion(char* pVersionBuf, size_t* pBufLen)\n\n @param pVersionBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Current value\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acGetVersion </B> get build version"]
628    pub fn acGetVersion(pVersionBuf: *mut ::std::os::raw::c_char, pBufLen: *mut usize) -> AC_ERROR;
629}
630extern "C" {
631    #[doc = " @fn AC_ERROR AC_API acSystemGetNumInterfaces(acSystem hSystem, size_t* pNumDevices)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param pNumDevices\n  - Type: size_t*\n  - [Out] parameter\n  - The number of discovered interfaces\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetNumInterfaces </B> retrieves the number of discovered\n interfaces."]
632    pub fn acSystemGetNumInterfaces(hSystem: acSystem, pNumDevices: *mut usize) -> AC_ERROR;
633}
634extern "C" {
635    #[doc = " @fn AC_ERROR AC_API acSystemGetInterfaceIpAddress(acSystem hSystem, size_t index, uint32_t* pIpAddress)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the interface\n\n @param pIpAddress\n  - Type: uint32_t*\n  - [Out] parameter\n  - IP address as an integer\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetInterfaceIpAddress </B> gets the IP address of a interface on\n the network, returning it as its raw integer value."]
636    pub fn acSystemGetInterfaceIpAddress(
637        hSystem: acSystem,
638        index: usize,
639        pIpAddress: *mut u32,
640    ) -> AC_ERROR;
641}
642extern "C" {
643    #[doc = " @fn AC_ERROR AC_API acSystemGetInterfaceIpAddressStr(acSystem hSystem, size_t index, char* pIpAddressStr, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the interface\n\n @param pIpAddressStr\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - IP address as a dot-separated string\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetInterfaceIpAddressStr </B> gets the IP address of a interface\n on the network, returning it as a string."]
644    pub fn acSystemGetInterfaceIpAddressStr(
645        hSystem: acSystem,
646        index: usize,
647        pIpAddressStr: *mut ::std::os::raw::c_char,
648        pBufLen: *mut usize,
649    ) -> AC_ERROR;
650}
651extern "C" {
652    #[doc = " @fn AC_ERROR AC_API acSystemGetInterfaceSubnetMask(acSystem hSystem, size_t index, uint32_t* pSubnetMask)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the interface\n\n @param pSubnetMask\n  - Type: uint32_t*\n  - [Out] parameter\n  - Subnet mask as an integer\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetInterfaceSubnetMask </B> gets the subnet mask of an interface\n on the network, returning it as its raw integer value."]
653    pub fn acSystemGetInterfaceSubnetMask(
654        hSystem: acSystem,
655        index: usize,
656        pSubnetMask: *mut u32,
657    ) -> AC_ERROR;
658}
659extern "C" {
660    #[doc = " @fn AC_ERROR AC_API acSystemGetInterfaceSubnetMaskStr(acSystem hSystem, size_t index, char* pSubnetMaskStr, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the interface\n\n @param pSubnetMaskStr\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Subnet mask as a dot-separated string\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetInterfaceSubnetMaskStr </B> gets the subnet mask of an\n interface on the network, returning it as a string."]
661    pub fn acSystemGetInterfaceSubnetMaskStr(
662        hSystem: acSystem,
663        index: usize,
664        pSubnetMaskStr: *mut ::std::os::raw::c_char,
665        pBufLen: *mut usize,
666    ) -> AC_ERROR;
667}
668extern "C" {
669    #[doc = " @fn AC_ERROR AC_API acSystemGetInterfaceMacAddress(acSystem hSystem, size_t index, uint64_t* pMacAddress)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - MAC address as an integer\n\n @param pMacAddress\n  - Type: uint64_t*\n  - [Out] parameter\n  - MAC address\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetInterfaceMacAddress </B> gets the MAC address of a interface on\n the network, returning it as its raw integer value."]
670    pub fn acSystemGetInterfaceMacAddress(
671        hSystem: acSystem,
672        index: usize,
673        pMacAddress: *mut u64,
674    ) -> AC_ERROR;
675}
676extern "C" {
677    #[doc = " @fn AC_ERROR AC_API acSystemGetInterfaceMacAddressStr(acSystem hSystem, size_t index, char* pMacAddress, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the interface\n\n @param pMacAddress\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - MAC address as a colon-separated string\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetInterfaceMacAddressStr </B> gets the MAC address of a interface\n on the network, returning it as a string."]
678    pub fn acSystemGetInterfaceMacAddressStr(
679        hSystem: acSystem,
680        index: usize,
681        pMacAddress: *mut ::std::os::raw::c_char,
682        pBufLen: *mut usize,
683    ) -> AC_ERROR;
684}
685extern "C" {
686    #[doc = " @fn AC_ERROR AC_API acSystemUpdateDevices(acSystem hSystem, uint64_t timeout)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param timeout\n  - Type: uint64_t\n  - [In] parameter\n  - Time to wait for connected devices to respond\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemUpdateDevices </B> updates the internal list of devices, (along\n with their relevant interfaces). It must be called before retrieving the\n number of devices (acSystemGetNumDevices) or any time that an updated device\n list might be necessary.\n\n @see\n  - acSystemGetNumDevices"]
687    pub fn acSystemUpdateDevices(hSystem: acSystem, timeout: u64) -> AC_ERROR;
688}
689extern "C" {
690    #[doc = " @fn AC_ERROR AC_API acSystemUpdateDevicesHasChanged(acSystem hSystem, uint64_t timeout, bool8_t* pHasChanged)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param timeout\n  - Type: uint64_t\n  - [In] parameter\n  - Time to wait for connected devices to respond\n\n @param pHasChanged\n  - Type: bool8_t*\n  - [Out] parameter\n  - True on first call that a device is found\n  - True if the device list has changed since the last call\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemUpdateDevicesHasChanged </B> updates the internal list of devices,\n (along with their relevant interfaces). It must be called before retrieving\n the number of devices (acSystemGetNumDevices) or any time that an updated\n device list might be necessary.\n\n @see\n  - acSystemGetNumDevices"]
691    pub fn acSystemUpdateDevicesHasChanged(
692        hSystem: acSystem,
693        timeout: u64,
694        pHasChanged: *mut bool8_t,
695    ) -> AC_ERROR;
696}
697extern "C" {
698    #[doc = " @fn AC_ERROR AC_API acSystemUpdateDevicesOnInterface(acSystem hSystem, size_t interfaceIndex, uint64_t timeout, bool8_t* pHasChanged)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param interfaceIndex\n  - Type: size_t\n  - [In] parameter\n  - Index of the interface\n\n @param timeout\n  - Type: uint64_t\n  - [In] parameter\n  - Time to wait for connected devices to respond\n\n @param pHasChanged\n  - Type: bool8_t*\n  - [Out] parameter\n  - True on first call that a device is found\n  - True if the device list has changed since the last call\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemUpdateDevicesOnInterface </B> updates the internal list of\n devices, (along with their relevant interfaces). It must be called before\n retrieving the number of devices (acSystemGetNumDevices) or any time that an\n updated device list might be necessary.\n\n @see\n  - acSystemGetNumDevices"]
699    pub fn acSystemUpdateDevicesOnInterface(
700        hSystem: acSystem,
701        interfaceIndex: usize,
702        timeout: u64,
703        pHasChanged: *mut bool8_t,
704    ) -> AC_ERROR;
705}
706extern "C" {
707    #[doc = " @fn AC_ERROR AC_API acSystemAddUnicastDiscoveryDevice(acSystem hSystem, char* pUnicastDeviceIP)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param pUnicastDeviceIP\n  - Type: char*\n  - [In] parameter\n  - A pointer to a string containing an iP Address\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemAddUnicastDiscoveryDevice </B> registers an IP address for a device on a\n different subnet than the host. Registered devices will be enumerated\n using unicast discovery messages. The list of remote devices will\n persist until they are removed using RemoveUnicastDiscoveryDevice() or until\n the application terminates. Unicast discovery's will be sent when\n UpdateDevices() is called.\n\n @see\n  - acSystemRemoveUnicastDiscoveryDevice"]
708    pub fn acSystemAddUnicastDiscoveryDevice(
709        hSystem: acSystem,
710        pUnicastDeviceIP: *mut ::std::os::raw::c_char,
711    ) -> AC_ERROR;
712}
713extern "C" {
714    #[doc = " @fn AC_ERROR AC_API acSystemRemoveUnicastDiscoveryDevice(acSystem hSystem, char* pUnicastDeviceIP)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param pUnicastDeviceIP\n  - Type: char*\n  - [In] parameter\n  - A pointer to a string containing an iP Address\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemRemoveUnicastDiscoveryDevice </B> unregisters an IP address for a device on a\n different subnet than the host. To remove all registered devices,\n pass NULL for the IP address argument.\n\n @see\n  - acSystemRemoveUnicastDiscoveryDevice"]
715    pub fn acSystemRemoveUnicastDiscoveryDevice(
716        hSystem: acSystem,
717        pUnicastDeviceIP: *mut ::std::os::raw::c_char,
718    ) -> AC_ERROR;
719}
720extern "C" {
721    #[doc = " @fn AC_ERROR AC_API acSystemGetNumDevices(acSystem hSystem, size_t* pNumDevices)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param pNumDevices\n  - Type: size_t*\n  - [Out] parameter\n  - The number of discovered devices\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetNumDevices </B> retrieves the number of discovered devices. It\n must be called after updating the internal list of devices\n (acSystemUpdateDevices).\n\n @see\n  - acSystemUpdateDevices"]
722    pub fn acSystemGetNumDevices(hSystem: acSystem, pNumDevices: *mut usize) -> AC_ERROR;
723}
724extern "C" {
725    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceModel(acSystem hSystem, size_t index, char* pModelNameBuf, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pModelNameBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Model name of the device\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetDeviceModel </B> gets the model name of a device."]
726    pub fn acSystemGetDeviceModel(
727        hSystem: acSystem,
728        index: usize,
729        pModelNameBuf: *mut ::std::os::raw::c_char,
730        pBufLen: *mut usize,
731    ) -> AC_ERROR;
732}
733extern "C" {
734    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceVendor(acSystem hSystem, size_t index, char* pVendorNameBuf, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pVendorNameBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Vendor name of the device\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetDeviceVendor </B> gets the vendor/manufacturer name of a\n device. Vendor names differentiate between device vendors/manufacturers. Lucid\n devices return 'Lucid Vision Labs'."]
735    pub fn acSystemGetDeviceVendor(
736        hSystem: acSystem,
737        index: usize,
738        pVendorNameBuf: *mut ::std::os::raw::c_char,
739        pBufLen: *mut usize,
740    ) -> AC_ERROR;
741}
742extern "C" {
743    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceSerial(acSystem hSystem, size_t index, char* pSerialNumberBuf, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pSerialNumberBuf\n  - Type: char*\n  - [Out] parameter\n  - Serial number of the device\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceGetDeviceSerial </B> gets the serial number of a device. A serial\n number differentiates between devices. Each Lucid device has a unique serial\n number. Lucid serial numbers are numeric, but the serial numbers of other\n vendors may be alphanumeric."]
744    pub fn acSystemGetDeviceSerial(
745        hSystem: acSystem,
746        index: usize,
747        pSerialNumberBuf: *mut ::std::os::raw::c_char,
748        pBufLen: *mut usize,
749    ) -> AC_ERROR;
750}
751extern "C" {
752    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceIpAddress(acSystem hSystem, size_t index, uint32_t* pIpAddress)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pIpAddress\n  - Type: uint32_t*\n  - [Out] parameter\n  - IP address as an integer\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetDeviceIpAddress </B> gets the IP address of a device on the\n network, returning it as its raw integer value."]
753    pub fn acSystemGetDeviceIpAddress(
754        hSystem: acSystem,
755        index: usize,
756        pIpAddress: *mut u32,
757    ) -> AC_ERROR;
758}
759extern "C" {
760    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceIpAddressStr(acSystem hSystem, size_t index, char* pIpAddressStr, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pIpAddressStr\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - IP address as a dot-separated string\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetDeviceIpAddressStr </B> gets the IP address of a device on the\n network, returning it as a string."]
761    pub fn acSystemGetDeviceIpAddressStr(
762        hSystem: acSystem,
763        index: usize,
764        pIpAddressStr: *mut ::std::os::raw::c_char,
765        pBufLen: *mut usize,
766    ) -> AC_ERROR;
767}
768extern "C" {
769    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceSubnetMask(acSystem hSystem, size_t index, uint32_t* pSubnetMask)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pSubnetMask\n  - Type: uint32_t*\n  - [Out] parameter\n  - Subnet mask as an integer\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetDeviceSubnetMask </B> gets the subnet mask of a device on the\n network, returning it as its raw integer value."]
770    pub fn acSystemGetDeviceSubnetMask(
771        hSystem: acSystem,
772        index: usize,
773        pSubnetMask: *mut u32,
774    ) -> AC_ERROR;
775}
776extern "C" {
777    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceSubnetMaskStr(acSystem hSystem, size_t index, char* pSubnetMaskStr, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pSubnetMaskStr\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Subnet mask as a dot-separated string\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetDeviceSubnetMaskStr </B> gets the subnet mask of a device on\n the network, returning it as a string."]
778    pub fn acSystemGetDeviceSubnetMaskStr(
779        hSystem: acSystem,
780        index: usize,
781        pSubnetMaskStr: *mut ::std::os::raw::c_char,
782        pBufLen: *mut usize,
783    ) -> AC_ERROR;
784}
785extern "C" {
786    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceDefaultGateway(acSystem hSystem, size_t index, uint32_t* pDefaultGateway)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pDefaultGateway\n  - Type: uint32_t*\n  - [Out] parameter\n  - Default gateway as an integer\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success"]
787    pub fn acSystemGetDeviceDefaultGateway(
788        hSystem: acSystem,
789        index: usize,
790        pDefaultGateway: *mut u32,
791    ) -> AC_ERROR;
792}
793extern "C" {
794    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceDefaultGatewayStr(acSystem hSystem, size_t index, char* pDefaultGatewayStr, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pDefaultGatewayStr\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Default gateway as a dot-separated string\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success"]
795    pub fn acSystemGetDeviceDefaultGatewayStr(
796        hSystem: acSystem,
797        index: usize,
798        pDefaultGatewayStr: *mut ::std::os::raw::c_char,
799        pBufLen: *mut usize,
800    ) -> AC_ERROR;
801}
802extern "C" {
803    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceMacAddress(acSystem hSystem, size_t index, uint64_t* pMacAddress)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - MAC address as an integer\n\n @param pMacAddress\n  - Type: uint64_t*\n  - [Out] parameter\n  - MAC address\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetDeviceMacAddress </B> gets the MAC address of a device on the\n network, returning it as its raw integer value."]
804    pub fn acSystemGetDeviceMacAddress(
805        hSystem: acSystem,
806        index: usize,
807        pMacAddress: *mut u64,
808    ) -> AC_ERROR;
809}
810extern "C" {
811    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceMacAddressStr(acSystem hSystem, size_t index, char* pMacAddress, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pMacAddress\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - MAC address as a colon-separated string\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetDeviceMacAddressStr </B> gets the MAC address of a device on\n the network, returning it as a string."]
812    pub fn acSystemGetDeviceMacAddressStr(
813        hSystem: acSystem,
814        index: usize,
815        pMacAddress: *mut ::std::os::raw::c_char,
816        pBufLen: *mut usize,
817    ) -> AC_ERROR;
818}
819extern "C" {
820    #[doc = " @fn AC_ERROR AC_API acSystemForceIpAddress(acSystem hSystem, uint64_t macAddress, uint64_t ipAddress, uint64_t subnetMask, uint64_t defaultGateway)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param macAddress\n  - Type: uint64_t\n  - [In] parameter\n  - MAC address\n\n @param ipAddress\n  - Type: uint64_t\n  - [In] parameter\n  - Ip address\n\n @param subnetMask\n  - Type: uint64_t\n  - [In] parameter\n  - subnetMask address\n\n @param defaultGateway\n  - Type: uint64_t\n  - [In] parameter\n  - defaultGateway address\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemForceIpAddress </B> force sets the IP address of a device on the\n network"]
821    pub fn acSystemForceIpAddress(
822        hSystem: acSystem,
823        macAddress: u64,
824        ipAddress: u64,
825        subnetMask: u64,
826        defaultGateway: u64,
827    ) -> AC_ERROR;
828}
829extern "C" {
830    #[doc = " @fn AC_ERROR AC_API acSystemGetDeviceUserDefinedName(acSystem hSystem, size_t index, char* pUserDefinedName, size_t* pBufLen)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pUserDefinedName\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - User-defined name\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemGetDeviceUserDefinedName </B> gets the user-defined name of a\n device. If supported, it is a customizable string with a maximum of 16 bytes\n that can be used to identify a device."]
831    pub fn acSystemGetDeviceUserDefinedName(
832        hSystem: acSystem,
833        index: usize,
834        pUserDefinedName: *mut ::std::os::raw::c_char,
835        pBufLen: *mut usize,
836    ) -> AC_ERROR;
837}
838extern "C" {
839    #[doc = " @fn AC_ERROR AC_API acSystemIsDeviceDHCPConfigurationEnabled(acSystem hSystem, size_t index, bool8_t* pIsDHCPConfigurationEnabled)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pIsDHCPConfigurationEnabled\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if DHCP enabled on device\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success"]
840    pub fn acSystemIsDeviceDHCPConfigurationEnabled(
841        hSystem: acSystem,
842        index: usize,
843        pIsDHCPConfigurationEnabled: *mut bool8_t,
844    ) -> AC_ERROR;
845}
846extern "C" {
847    #[doc = " @fn AC_ERROR AC_API acSystemIsDevicePersistentIpConfigurationEnabled(acSystem hSystem, size_t index, bool8_t* pIsPersistentIpConfigurationEnabled)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pIsPersistentIpConfigurationEnabled\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if persisitent IP configuration set on device\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success"]
848    pub fn acSystemIsDevicePersistentIpConfigurationEnabled(
849        hSystem: acSystem,
850        index: usize,
851        pIsPersistentIpConfigurationEnabled: *mut bool8_t,
852    ) -> AC_ERROR;
853}
854extern "C" {
855    pub fn acSystemGetDeviceVersion(
856        hSystem: acSystem,
857        index: usize,
858        pDeviceVersion: *mut ::std::os::raw::c_char,
859        pBufLen: *mut usize,
860    ) -> AC_ERROR;
861}
862extern "C" {
863    #[doc = " @fn AC_ERROR AC_API acSystemIsDeviceLLAConfigurationEnabled(acSystem hSystem, size_t index, bool8_t* pIsLLAIpConfigurationEnabled)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param pIsLLAIpConfigurationEnabled\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if LLA enabled on device\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success"]
864    pub fn acSystemIsDeviceLLAConfigurationEnabled(
865        hSystem: acSystem,
866        index: usize,
867        pIsLLAIpConfigurationEnabled: *mut bool8_t,
868    ) -> AC_ERROR;
869}
870extern "C" {
871    #[doc = " @fn AC_ERROR AC_API acSystemCreateDevice(acSystem hSystem, size_t index, acDevice* phDevice)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the device\n\n @param phDevice\n  - Type: acDevice*\n  - [Out] parameter\n  - Initialized, ready-to-use device\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemCreateDevice </B> creates and initializes a device. It must be\n called after the device list has been updated (acSystemUpdateDevices). The\n device must be destroyed (acSystemDestroyDevice) when no longer needed.\n\n @see\n  - acSystemUpdateDevices\n  - acSystemDestroyDevice"]
872    pub fn acSystemCreateDevice(
873        hSystem: acSystem,
874        index: usize,
875        phDevice: *mut acDevice,
876    ) -> AC_ERROR;
877}
878extern "C" {
879    #[doc = " @fn AC_ERROR AC_API acSystemDestroyDevice(acSystem hSystem, acDevice hDevice)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - Device to destroy\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemDestroyDevice </B> destroys and cleans up the internal memory of a\n device (acDevice). Devices that have been created (acSystemCreateDevice) must\n be destroyed.\n\n @see\n  - acDevice\n  - acSystemCreateDevice"]
880    pub fn acSystemDestroyDevice(hSystem: acSystem, hDevice: acDevice) -> AC_ERROR;
881}
882extern "C" {
883    #[doc = " @fn AC_ERROR AC_API acSystemGetTLSystemNodeMap(acSystem hSystem, acNodeMap* phNodeMap)\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param phNodeMap\n  - Type: acNodeMap*\n  - [Out] parameter\n  - GenTL node map for the system\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> GetTLSystemNodeMap </B> retrieves the GenTL system node map (acNodeMap),\n used to access system related nodes (acNode).\n\n @see\n  - acNodeMap\n  - acNode"]
884    pub fn acSystemGetTLSystemNodeMap(hSystem: acSystem, phNodeMap: *mut acNodeMap) -> AC_ERROR;
885}
886extern "C" {
887    #[doc = " @fn AC_ERROR AC_API acSystemRegisterDeviceDisconnectCallback(acSystem hSystem, acDevice hDevice, acCallback* phDeviceDisconnectCallback, acDeviceDisconnectCallbackFunction callbackFn);\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device object\n\n @param phDeviceDisconnectCallback\n  - Type: acCallback*\n  - [Out] parameter\n  - Handle to registered acCallback\n\n @param callbackFn\n  - Type: acDeviceDisconnectCallbackFunction\n  - [In] parameter\n  - The device disconnect callback function to register\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemRegisterDeviceDisconnectCallback </B> registers a desconnect callback for specified device.\n When this device is disconnected, user-implemented OnDeviceDisconnected() will be called. The\n user-implemented OnDeviceDisconnected() will receive a handle to the device that was disconnected.\n\n @see\n  - acSystemDeregisterDeviceDisconnectCallback\n  - acSystemDeregisterAllDeviceDisconnectCallbacks"]
888    pub fn acSystemRegisterDeviceDisconnectCallback(
889        hSystem: acSystem,
890        hDevice: acDevice,
891        phDeviceDisconnectCallback: *mut acCallback,
892        callbackFn: acDeviceDisconnectCallbackFunction,
893    ) -> AC_ERROR;
894}
895extern "C" {
896    #[doc = " @fn AC_ERROR AC_API acSystemDeregisterDeviceDisconnectCallback(acSystem hSystem, acCallback hDeviceDisconnectCallback);\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @param hDeviceDisconnectCallback\n  - Type: acCallback\n  - [In] parameter\n  - Device disconnect callback object\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemDeregisterDeviceDisconnectCallback </B> unregisters a previously registered\n callback object. Callbacks can be unregistered whether or not the device is currently\n connected. To deregister all callbacks at once use acSystemDeregisterAllDeviceDisconnectCallbacks.\n\n @see\n  - acSystemRegisterDeviceDisconnectCallback\n  - acSystemDeregisterAllDeviceDisconnectCallbacks"]
897    pub fn acSystemDeregisterDeviceDisconnectCallback(
898        hSystem: acSystem,
899        hDeviceDisconnectCallback: acCallback,
900    ) -> AC_ERROR;
901}
902extern "C" {
903    #[doc = " @fn AC_ERROR AC_API acSystemDeregisterAllDeviceDisconnectCallbacks(acSystem hSystem);\n\n @param hSystem\n  - Type: acSystem\n  - [In] parameter\n  - The system object\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSystemDeregisterAllDeviceDisconnectCallbacks </B> deregisters all previously\n registered disconnect callback objects. Callbacks can be unregistered whether or\n not the device is currently connected. To deregister an individual\n callback see acSystemDeregisterDeviceDisconnectCallback.\n\n @see\n  - acSystemRegisterDeviceDisconnectCallback\n  - acSystemDeregisterDeviceDisconnectCallback"]
904    pub fn acSystemDeregisterAllDeviceDisconnectCallbacks(hSystem: acSystem) -> AC_ERROR;
905}
906extern "C" {
907    #[doc = " @fn AC_ERROR AC_API acDeviceStartStream(acDevice hDevice)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceStartStream </B> causes the device to begin streaming image/chunk\n data (acBuffer). It must be called before image or chunk data buffers are\n retrieved (acDeviceGetBuffer). The stream must be stopped\n (acDeviceStopStream) when no longer needed.\n\n @see\n  - acBuffer\n  - acDeviceGetBuffer\n  - acDeviceStopStream"]
908    pub fn acDeviceStartStream(hDevice: acDevice) -> AC_ERROR;
909}
910extern "C" {
911    #[doc = " @fn AC_ERROR AC_API acDeviceStartStreamNumBuffersAndFlags(acDevice hDevice, size_t numBuffers)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param numBuffers\n  - Type: size_t\n  - [In] parameter\n  - Number of internal buffers to use in the acquisition engine\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceStartStreamNumBuffersAndFlags </B> causes the device to begin\n streaming image/chunk data (acBuffer) with given numBuffers and a streaming\n standard. It must be called before image or chunk data buffers are retrieved\n (acDeviceGetBuffer). The stream must be stopped (acDeviceStopStream) when no\n longer needed.\n\n @see\n  - acBuffer\n  - acDeviceGetBuffer\n  - acDeviceStopStream"]
912    pub fn acDeviceStartStreamNumBuffersAndFlags(hDevice: acDevice, numBuffers: usize) -> AC_ERROR;
913}
914extern "C" {
915    #[doc = " @fn AC_ERROR AC_API acDeviceStopStream(acDevice hDevice)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceStopStream </B> stops the device from streaming image/chunk data\n (acBuffer) and cleans up the stream. The stream must be stopped when\n streaming is no longer needed.\n\n @see\n  - acBuffer"]
916    pub fn acDeviceStopStream(hDevice: acDevice) -> AC_ERROR;
917}
918extern "C" {
919    #[doc = " @fn AC_ERROR AC_API acDeviceGetBuffer(acDevice hDevice, uint64_t timeout, acBuffer* phBuffer)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param timeout\n  - Type: uint64_t\n  - [In] parameter\n  - Maximum time to wait for a buffer\n\n @param phBuffer\n  - Type: acBuffer*\n  - [Out] parameter\n  - Next buffer in the output queue\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceGetBuffer </B> retrieves a buffer (acBuffer) from the device. It\n must be called after the stream has started (acDeviceStartStream) and before\n the stream has stopped (acDeviceStopStream). Retrieved buffers must be\n requeued (acDeviceRequeueBuffer).\n\n @see\n  - acBuffer\n  - acDeviceStartStream\n  - acDeviceStopStream\n  - acDeviceRequeueBuffer"]
920    pub fn acDeviceGetBuffer(hDevice: acDevice, timeout: u64, phBuffer: *mut acBuffer) -> AC_ERROR;
921}
922extern "C" {
923    #[doc = " @fn AC_ERROR AC_API acDeviceRequeueBuffer(acDevice hDevice, acBuffer pBuffer)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param pBuffer\n  - Type: acBuffer\n  - In parameter\n  - Buffer to requeue\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceRequeueBuffer </B> relinquishes control of a buffer (acBuffer)\n back to Arena. It must be called after a buffer has been retrieved\n (acDeviceGetBuffer).\n\n @see\n  - acBuffer\n  - acDeviceGetBuffer"]
924    pub fn acDeviceRequeueBuffer(hDevice: acDevice, pBuffer: acBuffer) -> AC_ERROR;
925}
926extern "C" {
927    #[doc = " @fn AC_ERROR AC_API acDeviceInitializeEvents(acDevice hDevice)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceInitializeEvents </B> causes the underlying events engine to start\n listening for events. It must be called before waiting on events\n (acDeviceWaitOnEvent). The event infrastructure must be turned off\n (acDeviceDeinitializeEvents) when no longer needed.\n\n @see\n  - acDeviceWaitOnEvent\n  - acDeviceDeinitializeEvents"]
928    pub fn acDeviceInitializeEvents(hDevice: acDevice) -> AC_ERROR;
929}
930extern "C" {
931    #[doc = " @fn AC_ERROR AC_API acDeviceDeinitializeEvents(acDevice hDevice)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> DeinitializeEvents </B> stops the underlying events engine from listening\n for messages, shutting it down and cleaning it up. It should be called only\n after the events infrastructure has been initialized\n (acDeviceInitializeEvents) and after all events have been processed\n (acDeviceWaitOnEvent).\n\n @see\n  - acDeviceInitializeEvents\n  - acDeviceWaitOnEvent"]
932    pub fn acDeviceDeinitializeEvents(hDevice: acDevice) -> AC_ERROR;
933}
934extern "C" {
935    #[doc = " @fn AC_ERROR AC_API acDeviceWaitOnEvent(acDevice hDevice, int64_t timeout)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param timeout\n  - Type: uint64_t\n  - [In] parameter\n  - Maximum time to wait for an event\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> WaitOnEvent </B> waits for an event to occur in order to process its data.\n It must be called after the event infrastructure has been initialized\n (acDeviceInitializeEvents) and before it is deinitialized\n (acDeviceDeinitializeEvents). This will also trigger callbacks registered to\n event nodes.\n\n @see\n  - acDeviceInitializeEvents\n  - acDeviceDeinitializeEvents"]
936    pub fn acDeviceWaitOnEvent(hDevice: acDevice, timeout: i64) -> AC_ERROR;
937}
938extern "C" {
939    #[doc = " @fn AC_ERROR AC_API acDeviceIsConnected(acDevice hDevice, bool8_t* pIsConnected)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param pIsConnected\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if the device is connected\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> IsConnected </B> returns true if a device has been opened and\n maintains a valid communication socket. The device is opened when\n acSystemCreateDevice is called. If the connection to the device\n is lost this will return false.\n\n More specifically, for GigE devices, this flag is set to false when\n the Arena is not able to refresh the heartbeat on the device. If an\n operation times out more than 3 times the device will be flagged as\n not connected.\n\n @see\n  - acSystemCreateDevice"]
940    pub fn acDeviceIsConnected(hDevice: acDevice, pIsConnected: *mut bool8_t) -> AC_ERROR;
941}
942extern "C" {
943    #[doc = " @fn AC_ERROR AC_API acDeviceGetNodeMap(acDevice hDevice, acNodeMap* phNodeMap)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param phNodeMap\n  - Type: acNodeMap*\n  - [Out] parameter\n  - Main node map for the device\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceGetNodeMap </B> retrieves the already initialized main node map\n (acNodeMap), used to access a device's complete feature set of nodes\n (acNode).\n\n @see\n  - acNodeMap\n  - acNode"]
944    pub fn acDeviceGetNodeMap(hDevice: acDevice, phNodeMap: *mut acNodeMap) -> AC_ERROR;
945}
946extern "C" {
947    #[doc = " @fn AC_ERROR AC_API acDeviceGetTLDeviceNodeMap(acDevice hDevice, acNodeMap* phNodeMap)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param phNodeMap\n  - Type: acNodeMap*\n  - [Out] parameter\n  - GenTL node map for the device\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceGetTLDeviceNodeMap </B> retrieves the already initialized GenTL\n device node map (acNodeMap), used to access a subset of cached device related\n nodes (acNode).\n\n @see\n  - acNodeMap\n  - acNode"]
948    pub fn acDeviceGetTLDeviceNodeMap(hDevice: acDevice, phNodeMap: *mut acNodeMap) -> AC_ERROR;
949}
950extern "C" {
951    #[doc = " @fn AC_ERROR AC_API acDeviceGetTLStreamNodeMap(acDevice hDevice, acNodeMap* phNodeMap)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param phNodeMap\n  - Type: acNodeMap*\n  - [Out] parameter\n  - GenTL node map for the stream\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceGetTLStreamNodeMap </B> retrieves the already initialized GenTL\n stream node map (acNodeMap), used to access stream related nodes (acNode).\n\n @see\n  - acNodeMap\n  - acNode"]
952    pub fn acDeviceGetTLStreamNodeMap(hDevice: acDevice, phNodeMap: *mut acNodeMap) -> AC_ERROR;
953}
954extern "C" {
955    #[doc = " @fn AC_ERROR AC_API acDeviceGetTLInterfaceNodeMap(acDevice hDevice, acNodeMap* phNodeMap)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param phNodeMap\n  - Type: acNodeMap*\n  - [Out] parameter\n  - GenTL node map for the interface\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceGetTLInterfaceNodeMap </B> retrieves the already initialized GenTL\n interface node map (acNodeMap), used to access interface related nodes\n (acNode).\n\n @see\n  - acNodeMap\n  - acNode"]
956    pub fn acDeviceGetTLInterfaceNodeMap(hDevice: acDevice, phNodeMap: *mut acNodeMap) -> AC_ERROR;
957}
958extern "C" {
959    #[doc = " @fn AC_ERROR AC_API acDeviceRegisterImageCallback(acDevice hDevice, acCallback* phCallback, acImageCallbackFunction callbackFn, void* pParam);\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param phCallback\n  - Type: acCallback*\n  - [Out] parameter\n  - Handle to registered acCallback\n\n @param callbackFn\n  - Type: acImageCallbackFunction\n  - [In] parameter\n  - The image callback function to register\n\n @param pParam\n  - Type: void*\n  - [In] parameter\n  - Pointer to optional user-specified callback data\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceRegisterImageCallback </B> registers the specified image callback\n function for the device. The optional user-specified data will be passed to\n the image callback function.\n\n @see\n  - acDeviceDeregisterImageCallback"]
960    pub fn acDeviceRegisterImageCallback(
961        hDevice: acDevice,
962        phCallback: *mut acCallback,
963        callbackFn: acImageCallbackFunction,
964        pParam: *mut ::std::os::raw::c_void,
965    ) -> AC_ERROR;
966}
967extern "C" {
968    #[doc = " @fn AC_ERROR AC_API acDeviceDeregisterImageCallback(acDevice hDevice, acCallback* phCallback);\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param phCallback\n  - Type: acCallback*\n  - [In] parameter\n  - Handle to registered acCallback\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceDeregisterImageCallback </B> deregisters the specified image\n callback for the device.\n\n @see\n  - acDeviceRegisterImageCallback"]
969    pub fn acDeviceDeregisterImageCallback(
970        hDevice: acDevice,
971        phCallback: *mut acCallback,
972    ) -> AC_ERROR;
973}
974extern "C" {
975    #[doc = " @fn AC_ERROR AC_API acDeviceWaitForNextLeader(acDevice hDevice, int64_t timeout)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @param timeout\n  - Type: uint64_t\n  - [In] parameter\n  - Maximum time to wait for next leader\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceWaitForNextLeader </B> will wait until the leader for the next image\n has arrived. It must be called after the stream has started\n (acDeviceStartStream) and before the stream has stopped\n (acDeviceStopStream).\n\n This function can be used to determine when the host has received the\n leader for the next image. Note that if the time that the camera has\n finished the exposure for the next image is desired, it is\n recommended to use the GenICam ExposureEnd Event instead.\n\n @see\n  - acDeviceResetWaitForNextLeader\n  - acDeviceStartStream\n  - acDeviceStopStream"]
976    pub fn acDeviceWaitForNextLeader(hDevice: acDevice, timeout: i64) -> AC_ERROR;
977}
978extern "C" {
979    #[doc = " @fn AC_ERROR AC_API acDeviceResetWaitForNextLeader(acDevice hDevice)\n\n @param hDevice\n  - Type: acDevice\n  - [In] parameter\n  - A device\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acDeviceResetWaitForNextLeader </B> clears any pending flag for a received leader event.\n\n @see\n  - acDeviceWaitForNextLeader\n  - acDeviceStartStream\n  - acDeviceStopStream"]
980    pub fn acDeviceResetWaitForNextLeader(hDevice: acDevice) -> AC_ERROR;
981}
982extern "C" {
983    #[doc = " @fn AC_ERROR AC_API acBufferGetSizeFilled(acBuffer hBuffer, size_t* pSizeFilled)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A buffer\n\n @param pSizeFilled\n  - Type: size_t*\n  - [Out] parameter\n  - Size of the payload\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBufferGetSizeFilled </B> retrieves the size of the payload data,\n excluding transport layer protocol leaders. The payload data may include image\n data, chunk data, or both."]
984    pub fn acBufferGetSizeFilled(hBuffer: acBuffer, pSizeFilled: *mut usize) -> AC_ERROR;
985}
986extern "C" {
987    #[doc = " @fn AC_ERROR AC_API acBufferGetPayloadSize(acBuffer hBuffer, size_t* pPayloadSize)\n\n @return\n  - Type: size_t\n  - Unit: bytes\n  - Size of the intended payload\n\n <B> GetPayloadSize </B> retrieves the intended size of the payload. This is\n similar to the retrieved payload size (acBufferGetSizeFilled), but different\n in that missed data is included.\n\n @warning\n  - Causes undefined behavior if buffer\n\n @see\n  - acBufferGetSizeFilled"]
988    pub fn acBufferGetPayloadSize(hBuffer: acBuffer, pPayloadSize: *mut usize) -> AC_ERROR;
989}
990extern "C" {
991    #[doc = " @fn AC_ERROR AC_API acBufferGetSizeOfBuffer(acBuffer hBuffer, size_t* pSizeOfBuffer)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A buffer\n\n @param pSizeOfBuffer\n  - Type: size_t*\n  - [Out] parameter\n  - Size of the buffer\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBufferGetSizeOfBuffer </B> retrieves the size of a buffer."]
992    pub fn acBufferGetSizeOfBuffer(hBuffer: acBuffer, pSizeOfBuffer: *mut usize) -> AC_ERROR;
993}
994extern "C" {
995    #[doc = " @fn AC_ERROR AC_API acBufferGetFrameId(acBuffer hBuffer, uint64_t* pFrameId)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A buffer\n\n @param pFrameId\n  - Type: uint64_t*\n  - [Out] parameter\n  - Frame ID\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBufferGetFrameId </B> gets the frame ID, a sequential identifier for\n buffers."]
996    pub fn acBufferGetFrameId(hBuffer: acBuffer, pFrameId: *mut u64) -> AC_ERROR;
997}
998extern "C" {
999    #[doc = " @fn AC_ERROR AC_API acBufferGetPayloadType(acBuffer hBuffer, AC_PAYLOAD_TYPE* pPayloadType)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A buffer\n\n @param pPayloadType\n  - Type: AC_PAYLOAD_TYPE*\n  - [Out] parameter\n  - Type of payload data\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBufferGetPayloadType </B> returns a buffer's payload type\n (AC_PAYLOAD_TYPE), as defined by the GigE Vision specification."]
1000    pub fn acBufferGetPayloadType(
1001        hBuffer: acBuffer,
1002        pPayloadType: *mut AC_PAYLOAD_TYPE,
1003    ) -> AC_ERROR;
1004}
1005extern "C" {
1006    #[doc = " @fn AC_ERROR AC_API acBufferHasChunkData(acBuffer hBuffer, bool8_t* pHasChunkData)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A buffer\n\n @param pHasChunkData\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if the payload has chunk data\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBufferHasChunkData </B> returns whether or not a buffer's payload that\n may be interpreted as chunk data."]
1007    pub fn acBufferHasChunkData(hBuffer: acBuffer, pHasChunkData: *mut bool8_t) -> AC_ERROR;
1008}
1009extern "C" {
1010    #[doc = " @fn AC_ERROR AC_API acBufferHasImageData(acBuffer hBuffer, bool8_t* pHasImageData)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A buffer\n\n @param pHasImageData\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if the payload has image data\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBufferHasChunkData </B> returns whether or not a buffer's payload that\n may be interpreted as chunk data."]
1011    pub fn acBufferHasImageData(hBuffer: acBuffer, pHasImageData: *mut bool8_t) -> AC_ERROR;
1012}
1013extern "C" {
1014    #[doc = " @fn AC_ERROR AC_API acBufferIsIncomplete(acBuffer hBuffer, bool8_t* pIsIncomplete)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A buffer\n\n @param pIsIncomplete\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if the data is incomplete\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBufferIsIncomplete </B> returns whether or not the payload is complete."]
1015    pub fn acBufferIsIncomplete(hBuffer: acBuffer, pIsIncomplete: *mut bool8_t) -> AC_ERROR;
1016}
1017extern "C" {
1018    #[doc = " @fn AC_ERROR AC_API acBufferDataLargerThanBuffer(acBuffer hBuffer, bool8_t* pDataLargerThanBuffer)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A buffer\n\n @param pDataLargerThanBuffer\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if the payload is larger than the buffer\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBufferDataLargerThanBuffer </B> returns whether or not a buffer's\n payload data is larger than the buffer."]
1019    pub fn acBufferDataLargerThanBuffer(
1020        hBuffer: acBuffer,
1021        pDataLargerThanBuffer: *mut bool8_t,
1022    ) -> AC_ERROR;
1023}
1024extern "C" {
1025    #[doc = " @fn AC_ERROR AC_API acBufferVerifyCRC(acBuffer hBuffer, bool8_t* pVerifyCRC)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A buffer\n\n @param pVerifyCRC\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if the calculated CRC value equals the one sent from the device\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBufferVerifyCRC </B> calculates the CRC of a buffer's data and verifies\n it against the CRC value sent from the device via chunk data. This helps\n verify that no data has been changed or missed during a transmission. This\n function calls a global helper function to calculate the CRC\n (acCalculateCRC32).\n\n @see\n  - acCalculateCRC"]
1026    pub fn acBufferVerifyCRC(hBuffer: acBuffer, pVerifyCRC: *mut bool8_t) -> AC_ERROR;
1027}
1028extern "C" {
1029    #[doc = " @fn AC_ERROR AC_API acImageGetWidth(acBuffer hBuffer, size_t* pWidth)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pWidth\n  - Type: size_t*\n  - [Out] parameter\n  - Width of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetWidth </B> gets the width of the image in pixels. Images are\n self-describing, so the device does not need to be queried to get this\n information."]
1030    pub fn acImageGetWidth(hBuffer: acBuffer, pWidth: *mut usize) -> AC_ERROR;
1031}
1032extern "C" {
1033    #[doc = " @fn AC_ERROR AC_API acImageGetHeight(acBuffer hBuffer, size_t* pHeight)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pHeight\n  - Type: size_t*\n  - [Out] parameter\n  - Height of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetHeight </B> gets the height of the image. Images are\n self-describing, so the device does not need to be queried to get this\n information."]
1034    pub fn acImageGetHeight(hBuffer: acBuffer, pHeight: *mut usize) -> AC_ERROR;
1035}
1036extern "C" {
1037    #[doc = " @fn AC_ERROR AC_API acImageGetOffsetX(acBuffer hBuffer, size_t* pOffsetX)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pOffsetX\n  - Type: size_t*\n  - [Out] parameter\n  - Offset X of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetOffsetX </B> gets the offset of the image along the X-axis.\n Images are self-describing, so the device does not need to be queried to get\n this information."]
1038    pub fn acImageGetOffsetX(hBuffer: acBuffer, pOffsetX: *mut usize) -> AC_ERROR;
1039}
1040extern "C" {
1041    #[doc = " @fn AC_ERROR AC_API acImageGetOffsetY(acBuffer hBuffer, size_t* pOffsetY)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pOffsetY\n  - Type: size_t*\n  - [Out] parameter\n  - Offset Y of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetOffsetY </B> gets the offset of the image along the Y-axis.\n Images are self-describing, so the device does not need to be queried to get\n this information."]
1042    pub fn acImageGetOffsetY(hBuffer: acBuffer, pOffsetY: *mut usize) -> AC_ERROR;
1043}
1044extern "C" {
1045    #[doc = " @fn AC_ERROR AC_API acImageGetPaddingX(acBuffer hBuffer, size_t* pPaddingX)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pPaddingX\n  - Type: size_t*\n  - [Out] parameter\n  - Padding X of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetPaddingX </B> gets the padding of the image along the X-axis.\n Images are self-describing, so the device does not need to be queried to get\n this information."]
1046    pub fn acImageGetPaddingX(hBuffer: acBuffer, pPaddingX: *mut usize) -> AC_ERROR;
1047}
1048extern "C" {
1049    #[doc = " @fn AC_ERROR AC_API acImageGetPaddingY(acBuffer hBuffer, size_t* pPaddingY)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pPaddingY\n  - Type: size_t*\n  - [Out] parameter\n  - Padding Y of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetPaddingY </B> gets the padding of the image along the Y-axis.\n Images are self-describing, so the device does not need to be queried to get\n this information."]
1050    pub fn acImageGetPaddingY(hBuffer: acBuffer, pPaddingY: *mut usize) -> AC_ERROR;
1051}
1052extern "C" {
1053    #[doc = " @fn AC_ERROR AC_API acImageGetPixelFormat(acBuffer hBuffer, uint64_t* pPixelFormat)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pPixelFormat\n  - Type: uint64_t*\n  - [Out] parameter\n  - Pixel format of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetPixelFormat </B> gets the pixel format (PfncFormat) of the\n image, as defined by the PFNC (Pixel Format Naming Convention). Images are\n self-describing, so the device does not need to be queried to get this\n information."]
1054    pub fn acImageGetPixelFormat(hBuffer: acBuffer, pPixelFormat: *mut u64) -> AC_ERROR;
1055}
1056extern "C" {
1057    #[doc = " @fn AC_ERROR AC_API acImageGetBitsPerPixel(acBuffer hBuffer, size_t* pBitsPerPixel)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pBitsPerPixel\n  - Type: size_t*\n  - [Out] parameter\n  - Bits per pixel of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetBitsPerPixel </B> gets the number of bits per pixel of the image\n from the integer value of the pixel format (PfncFormat). Internally, a public\n helper funciton is called (acGetBitsPerPixel).\n\n @see\n  - acGetBitsPerPixel"]
1058    pub fn acImageGetBitsPerPixel(hBuffer: acBuffer, pBitsPerPixel: *mut usize) -> AC_ERROR;
1059}
1060extern "C" {
1061    #[doc = " @fn AC_ERROR AC_API acImageGetPixelEndianness(acBuffer hBuffer, AC_PIXEL_ENDIANNESS* pPixelEndianness)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pPixelEndianness\n  - Type: AC_PIXEL_ENDIANNESS*\n  - [Out] parameter\n  - Endianness of the pixels of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetPixelEndianness </B> gets the pixel endianness\n (AC_PIXEL_ENDIANNESS) of the image. Images are self-describing, so the\n device does not need to be queried to get this information."]
1062    pub fn acImageGetPixelEndianness(
1063        hBuffer: acBuffer,
1064        pPixelEndianness: *mut AC_PIXEL_ENDIANNESS,
1065    ) -> AC_ERROR;
1066}
1067extern "C" {
1068    #[doc = " @fn AC_ERROR AC_API acImageGetTimestamp(acBuffer hBuffer, uint64_t* pTimestamp)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pTimestamp\n  - Type: uint64_t*\n  - Unit: nanoseconds\n  - [Out] parameter\n  - Timestamp of the image in nanoseconds\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetTimestamp </B> gets the timestamp of the image in nanoseconds.\n Images are self-describing, so the device does not need to be queried to get\n this information."]
1069    pub fn acImageGetTimestamp(hBuffer: acBuffer, pTimestamp: *mut u64) -> AC_ERROR;
1070}
1071extern "C" {
1072    #[doc = " @fn AC_ERROR AC_API acImageGetTimestampNs(acBuffer hBuffer, uint64_t* pTimestampNs)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param pTimestampNs\n  - Type: uint64_t*\n  - Unit: nanoseconds\n  - [Out] parameter\n  - Timestamp of the image in nanoseconds\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetTimestampNs </B> gets the timestamp of the image in nanoseconds.\n Images are self-describing, so the device does not need to be queried to get\n this information."]
1073    pub fn acImageGetTimestampNs(hBuffer: acBuffer, pTimestampNs: *mut u64) -> AC_ERROR;
1074}
1075extern "C" {
1076    #[doc = " @fn AC_ERROR AC_API acImageGetData(acBuffer hBuffer, uint8_t** ppData)\n\n @param hBuffer\n  - Type: acBuffer\n  - In parameter\n  - An image\n\n @param ppData\n  - Type: uint8_t**\n  - [Out] parameter\n  - Point to the payload data\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageGetData </B> returns a pointer to the beginning of the image's\n payload data. The payload may include chunk data."]
1077    pub fn acImageGetData(hBuffer: acBuffer, ppData: *mut *mut u8) -> AC_ERROR;
1078}
1079extern "C" {
1080    #[doc = " @fn AC_ERROR AC_API acChunkDataGetChunk(acBuffer hBuffer, const char* pName, acNode* phChunk)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A chunk data\n\n @param pName\n  - Type: const char*\n  - [In] parameter\n  - Name of the chunk\n  - Prefixed with 'Chunk'\n\n @param phChunk\n  - Type: acNode*\n  - [Out] parameter\n  - Requested node\n  - Null on failure\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acChunkDataGetChunk </B> gets a specified chunk, which can be used to\n retrieve the chunk value and related information available in its node type\n (maximum, minimum, node display name, etc)."]
1081    pub fn acChunkDataGetChunk(
1082        hBuffer: acBuffer,
1083        pName: *const ::std::os::raw::c_char,
1084        phChunk: *mut acNode,
1085    ) -> AC_ERROR;
1086}
1087extern "C" {
1088    #[doc = " @fn AC_ERROR AC_API acChunkDataGetChunkAndAccessMode(acBuffer hBuffer, const char* pName, acNode* phChunkNode, AC_ACCESS_MODE* pAccessMode)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - A chunk data\n\n @param pName\n  - Type: const char*\n  - [In] parameter\n  - Name of the chunk\n  - Prefixed with 'Chunk'\n\n @param phChunkNode\n  - Type: acNode*\n  - [Out] parameter\n  - Requested node\n  - Null on failure\n\n @param pAccessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Access mode of the requested node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acChunkDataGetChunkAndAccessMode </B> gets a specified chunk and its\n access mode, returning it as a node in order to preserve metadata related to\n the chunk."]
1089    pub fn acChunkDataGetChunkAndAccessMode(
1090        hBuffer: acBuffer,
1091        pName: *const ::std::os::raw::c_char,
1092        phChunkNode: *mut acNode,
1093        pAccessMode: *mut AC_ACCESS_MODE,
1094    ) -> AC_ERROR;
1095}
1096extern "C" {
1097    #[doc = " @fn AC_ERROR AC_API acImageFactoryCreate(uint8_t* pData, size_t dataSize, size_t width, size_t height, uint64_t pixelFormat, acBuffer* phDst)\n\n FactoryCreate(uint8_t pData, size_t dataSize, size_t width, size_t height,\n uint64_t pixelFormat, acBuffer* phDst)\n\n @param pData\n  - Type: uint8_t*\n  - [Out] parameter\n  - Pointer to the beginning of the payload data\n\n @param dataSize\n  - Type: size_t\n  - [In] parameter\n  - Size of the data\n\n @param width\n  - Type: size_t\n  - [In] parameter\n  - Width of the image to create\n\n @param height\n  - Type: size_t\n  - [In] parameter\n  - Height of the image to create\n\n @param pixelFormat\n  - Type: uint64_t\n  - [In] parameter\n  - Pixel format of the image to create\n\n @param phDst\n  - Type: acBuffer*\n  - [Out] parameter\n  - Image created from the parameters\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageFactoryCreate </B> creates an image (acBuffer) from a minimal set\n of parameters. Images created with the image factory must be destroyed\n (acImageFactoryDestroy) when no longer needed.\n\n @see\n  - acBuffer\n  - acImageFactoryDestroy"]
1098    pub fn acImageFactoryCreate(
1099        pData: *mut u8,
1100        dataSize: usize,
1101        width: usize,
1102        height: usize,
1103        pixelFormat: u64,
1104        phDst: *mut acBuffer,
1105    ) -> AC_ERROR;
1106}
1107extern "C" {
1108    #[doc = " @fn AC_ERROR AC_API acImageFactoryCopy(acBuffer hSrc, acBuffer* phDst)\n\n @param hSrc\n  - Type: acBuffer\n  - [In] parameter\n  - Image to copy\n\n @param phDst\n  - Type: acBuffer*\n  - [Out] parameter\n  - Deep copy of the image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageFactoryCopy </B> creates a deep copy of an image (acBuffer) from\n another image. Images created with the image factory must be destroyed\n (acImageFactoryDestroy) when no longer needed.\n\n @see\n  - acBuffer\n  - acImageFactoryDestroy"]
1109    pub fn acImageFactoryCopy(hSrc: acBuffer, phDst: *mut acBuffer) -> AC_ERROR;
1110}
1111extern "C" {
1112    #[doc = " @fn AC_ERROR AC_API acImageFactoryConvert(acBuffer hSrc, uint64_t pixelFormat, acBuffer* phDst)\n\n @param hSrc\n  - Type: acBuffer\n  - [In] parameter\n  - Image to convert\n\n @param pixelFormat\n  - Type: uint64_t\n  - [In] parameter\n  - Pixel format to convert to\n\n @param phDst\n  - Type: acBuffer*\n  - [Out] parameter\n  - Convert image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageFactoryConvert </B> converts an image (acBuffer) to a select pixel\n format. In doing so, it creates a completely new image, similar to a deep copy\n but with a different pixel format. Images created with the image factory must\n be destroyed (acImageFactoryDestroy) when no longer needed; otherwise, memory\n will leak.\n\n @see\n  - acBuffer\n  - acImageFactoryDestroy"]
1113    pub fn acImageFactoryConvert(
1114        hSrc: acBuffer,
1115        pixelFormat: u64,
1116        phDst: *mut acBuffer,
1117    ) -> AC_ERROR;
1118}
1119extern "C" {
1120    #[doc = " @fn AC_ERROR AC_API acImageFactoryConvertBayerAlgorithm(acBuffer hSrc, uint64_t pixelFormat, AC_BAYER_ALGORITHM bayerAlgo, acBuffer* phDst)\n\n @param hSrc\n  - Type: acBuffer\n  - [In] parameter\n  - Image to convert\n\n @param pixelFormat\n  - Type: uint64_t\n  - [In] parameter\n  - Pixel format to convert to\n\n @param bayerAlgo\n  - Type: AC_BAYER_ALGORITHM\n  - [In] parameter\n  - Bayer conversion algorithm to use\n  - Only applicable when converting from bayer\n\n @param phDst\n  - Type: acBuffer*\n  - [Out] parameter\n  - Converted image\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageFactoryConvert </B> converts an image (acBuffer) to a select pixel\n format. In doing so, it creates a completely new image, similar to a deep copy\n but with a different pixel format. Images created with the image factory must\n be destroyed (acImageFactoryDestroy) when no longer needed; otherwise, memory\n will leak.\n\n @see\n  - acBuffer\n  - acImageFactoryDestroy"]
1121    pub fn acImageFactoryConvertBayerAlgorithm(
1122        hSrc: acBuffer,
1123        pixelFormat: u64,
1124        bayerAlgo: AC_BAYER_ALGORITHM,
1125        phDst: *mut acBuffer,
1126    ) -> AC_ERROR;
1127}
1128extern "C" {
1129    #[doc = " @fn AC_ERROR AC_API acImageFactoryDestroy(acBuffer hBuffer)\n\n @param hBuffer\n  - Type: acBuffer\n  - [In] parameter\n  - Image to destroy\n  - Image must be from image factory\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acImageFactoryDestroy </B> cleans up an image (acBuffer) and deallocates\n its memory. It must be called on any image created by the image factory\n (acImageFactoryCreate, acImageFactoryCopy, acImageFactoryConvert).\n\n @see\n  - acBuffer\n  - acImageFactoryCreate"]
1130    pub fn acImageFactoryDestroy(hBuffer: acBuffer) -> AC_ERROR;
1131}
1132extern "C" {
1133    #[doc = " @fn AC_ERROR AC_API acFeatureStreamCreate(acNodeMap hNodeMap, acFeatureStream* phFeatureStream)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - Node map to stream\n\n @param phFeatureStream\n  - Type: acFeatureStream*\n  - [Out] parameter\n  - Feature stream object to create\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFeatureStream </B> builds a feature stream from a device's node map\n (acNodeMap). This node map cannot be changed later; another feature stream\n must be created to stream another node map.\n\n @see\n  - acNodeMap"]
1134    pub fn acFeatureStreamCreate(
1135        hNodeMap: acNodeMap,
1136        phFeatureStream: *mut acFeatureStream,
1137    ) -> AC_ERROR;
1138}
1139extern "C" {
1140    #[doc = " @fn AC_ERROR AC_API acFeatureStreamDestroy(acFeatureStream hFeatureStream)\n\n @param hFeatureStream\n  - Type: acFeatureStream\n  - [In] parameter\n  - Feature stream object to destroy\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFeatureStreamDestroy </B> destroys a feature stream object, cleaning up\n allocated memory."]
1141    pub fn acFeatureStreamDestroy(hFeatureStream: acFeatureStream) -> AC_ERROR;
1142}
1143extern "C" {
1144    #[doc = " @fn AC_ERROR AC_API acFeatureStreamWrite(acFeatureStream hFeatureStream)\n\n @param hFeatureStream\n  - Type: acFeatureStream\n  - [In] parameter\n  - The feature stream object\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFeatureStreamWrite </B> streams all selected features from the node map\n (acNodeMap) to a file.\n\n @see\n  - acNodeMap"]
1145    pub fn acFeatureStreamWrite(hFeatureStream: acFeatureStream) -> AC_ERROR;
1146}
1147extern "C" {
1148    #[doc = " @fn AC_ERROR AC_API acFeatureStreamWriteFileName(acFeatureStream hFeatureStream, const char* pFileName)\n\n @param hFeatureStream\n  - Type: acFeatureStream\n  - [In] parameter\n  - The feature stream object\n\n @param pFileName\n  - Type: const char*\n  - [In] parameter\n  - Name of the file to stream to\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFeatureStreamWriteFileName </B> streams all selected features from the\n node map (acNodeMap) to a file.\n\n @see\n  - acNodeMap"]
1149    pub fn acFeatureStreamWriteFileName(
1150        hFeatureStream: acFeatureStream,
1151        pFileName: *const ::std::os::raw::c_char,
1152    ) -> AC_ERROR;
1153}
1154extern "C" {
1155    #[doc = " @fn AC_ERROR AC_API acFeatureStreamRead(acFeatureStream hFeatureStream)\n\n @param hFeatureStream\n  - Type: acFeatureStream\n  - [In] parameter\n  - The feature stream object\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFeatureStreamRead </B> streams all selected features from a file to the\n node map (acNodeMap).\n\n @see\n  - acNodeMap"]
1156    pub fn acFeatureStreamRead(hFeatureStream: acFeatureStream) -> AC_ERROR;
1157}
1158extern "C" {
1159    #[doc = " @fn AC_ERROR AC_API acFeatureStreamReadFileName(acFeatureStream hFeatureStream, const char* pFileName)\n\n @param hFeatureStream\n  - Type: acFeatureStream\n  - [In] parameter\n  - The feature stream object\n\n @param pFileName\n  - Type: const char*\n  - [In] parameter\n  - Name of the file to stream from\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFeatureStreamReadFileName </B> streams all selected features from a file\n to the node map (acNodeMap).\n\n @see\n  - acNodeMap"]
1160    pub fn acFeatureStreamReadFileName(
1161        hFeatureStream: acFeatureStream,
1162        pFileName: *const ::std::os::raw::c_char,
1163    ) -> AC_ERROR;
1164}
1165extern "C" {
1166    #[doc = " @fn AC_ERROR AC_API acFeatureStreamSelect(acFeatureStream hFeatureStream, const char* pFeatureName)\n\n @param hFeatureStream\n  - Type: acFeatureStream\n  - [In] parameter\n  - The feature stream object\n\n @param pFeatureName\n  - Type: const char*\n  - [In] parameter\n  - Name of the feature to select\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFeatureStreamSelect </B> adds a single streamable feature to the list of\n selected features to stream. If called for the first time, <B>\n acFeatureStreamSelect </B> also sets an internal 'select-all' flag to false."]
1167    pub fn acFeatureStreamSelect(
1168        hFeatureStream: acFeatureStream,
1169        pFeatureName: *const ::std::os::raw::c_char,
1170    ) -> AC_ERROR;
1171}
1172extern "C" {
1173    #[doc = " @fn AC_ERROR AC_API acNodeMapGetNode(acNodeMap hNodeMap, const char* pNodeName, acNode* phNode)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node to retrieve\n\n @param phNode\n  - Type: acNode*\n  - [Out] parameter\n  - The node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetNode </B> retrieves a node."]
1174    pub fn acNodeMapGetNode(
1175        hNodeMap: acNodeMap,
1176        pNodeName: *const ::std::os::raw::c_char,
1177        phNode: *mut acNode,
1178    ) -> AC_ERROR;
1179}
1180extern "C" {
1181    #[doc = " @fn AC_ERROR AC_API acNodeMapGetNodeAndAccessMode(acNodeMap hNodeMap, const char* pNodeName, acNode* phNode, AC_ACCESS_MODE* pNodeAccess)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node to retrieve\n\n @param phNode\n  - Type: acNode*\n  - [Out] parameter\n  - The node\n\n @param pNodeAccess\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - The node's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetNodeAndAccessMode </B> retrieves a node with its access mode."]
1182    pub fn acNodeMapGetNodeAndAccessMode(
1183        hNodeMap: acNodeMap,
1184        pNodeName: *const ::std::os::raw::c_char,
1185        phNode: *mut acNode,
1186        pNodeAccess: *mut AC_ACCESS_MODE,
1187    ) -> AC_ERROR;
1188}
1189extern "C" {
1190    #[doc = " @fn AC_ERROR AC_API acNodeMapInvalidateNodes(acNodeMap hNodeMap)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapInvalidateNodes </B> invalidates all of its nodes."]
1191    pub fn acNodeMapInvalidateNodes(hNodeMap: acNodeMap) -> AC_ERROR;
1192}
1193extern "C" {
1194    #[doc = " @fn AC_ERROR AC_API acNodeMapGetDeviceName(acNodeMap hNodeMap, char* pDeviceNameBuf, size_t* pBufLen)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pDeviceNameBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Name of the device\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetDeviceName </B> retrieves the node map's device name."]
1195    pub fn acNodeMapGetDeviceName(
1196        hNodeMap: acNodeMap,
1197        pDeviceNameBuf: *mut ::std::os::raw::c_char,
1198        pBufLen: *mut usize,
1199    ) -> AC_ERROR;
1200}
1201extern "C" {
1202    #[doc = " @fn AC_ERROR AC_API acNodeMapPoll(acNodeMap hNodeMap, int64_t elapsedTime)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param elapsedTime\n  - Type: int64_t\n  - Unit: milliseconds\n  - [In] parameter\n  - Time since the last poll\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapPoll </B> polls the node map."]
1203    pub fn acNodeMapPoll(hNodeMap: acNodeMap, elapsedTime: i64) -> AC_ERROR;
1204}
1205extern "C" {
1206    #[doc = " @fn AC_ERROR AC_API acNodeMapLock(acNodeMap hNodeMap)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetNode </B> locks the node map."]
1207    pub fn acNodeMapLock(hNodeMap: acNodeMap) -> AC_ERROR;
1208}
1209extern "C" {
1210    #[doc = " @fn AC_ERROR AC_API acNodeMapUnlock(acNodeMap hNodeMap)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetNode </B> unlocks the node map."]
1211    pub fn acNodeMapUnlock(hNodeMap: acNodeMap) -> AC_ERROR;
1212}
1213extern "C" {
1214    #[doc = " @fn AC_ERROR AC_API acNodeMapTryLock(acNodeMap hNodeMap, bool8_t* pLocked)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pLocked\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if the lock succeeded\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetNode </B> tries to lock the node map, returning whether or not\n the call succeeded."]
1215    pub fn acNodeMapTryLock(hNodeMap: acNodeMap, pLocked: *mut bool8_t) -> AC_ERROR;
1216}
1217extern "C" {
1218    #[doc = " @fn AC_ERROR AC_API acNodeMapGetNumNodes(acNodeMap hNodeMap, uint64_t* pNumNodes)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNumNodes\n  - Type: uint64_t*\n  - [Out] parameter\n  - Total number of nodes in the node map\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetNode </B> retrieves the number of nodes in the node map."]
1219    pub fn acNodeMapGetNumNodes(hNodeMap: acNodeMap, pNumNodes: *mut u64) -> AC_ERROR;
1220}
1221extern "C" {
1222    #[doc = " @fn AC_ERROR AC_API acNodeMapGetNodeByIndex(acNodeMap hNodeMap, size_t index, acNode* phNode)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the node\n\n @param phNode\n  - Type: acNode*\n  - [Out] parameter\n  - The node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetNode </B> retrieves a node by its index."]
1223    pub fn acNodeMapGetNodeByIndex(
1224        hNodeMap: acNodeMap,
1225        index: usize,
1226        phNode: *mut acNode,
1227    ) -> AC_ERROR;
1228}
1229extern "C" {
1230    #[doc = " @fn AC_ERROR AC_API acNodeMapGetNodeByIndexAndAccessMode(acNodeMap hNodeMap, size_t index, acNode* phNode, AC_ACCESS_MODE* pNodeAccess)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the node\n\n @param phNode\n  - Type: acNode*\n  - [Out] parameter\n  - The node\n\n @param pNodeAccess\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - The node's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetNode </B> retrieves a node by its index along with its access\n mode."]
1231    pub fn acNodeMapGetNodeByIndexAndAccessMode(
1232        hNodeMap: acNodeMap,
1233        index: usize,
1234        phNode: *mut acNode,
1235        pNodeAccess: *mut AC_ACCESS_MODE,
1236    ) -> AC_ERROR;
1237}
1238extern "C" {
1239    #[doc = " @fn AC_ERROR AC_API acNodeMapGetStringValue(acNodeMap hNodeMap, const char* pNodeName, char* pValueBuf, size_t* pBufLen)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param pValueBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Value of the node\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetStringValue </B> acts as a shortcut for retrieving the value\n of a string node."]
1240    pub fn acNodeMapGetStringValue(
1241        hNodeMap: acNodeMap,
1242        pNodeName: *const ::std::os::raw::c_char,
1243        pValueBuf: *mut ::std::os::raw::c_char,
1244        pBufLen: *mut usize,
1245    ) -> AC_ERROR;
1246}
1247extern "C" {
1248    #[doc = " @fn AC_ERROR AC_API acNodeMapGetIntegerValue(acNodeMap hNodeMap, const char* pNodeName, int64_t* pValue)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param pValue\n  - Type: int64_t*\n  - [Out] parameter\n  - Value of the node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetIntegerValue </B> acts as a shortcut for retrieving the value\n of an integer node."]
1249    pub fn acNodeMapGetIntegerValue(
1250        hNodeMap: acNodeMap,
1251        pNodeName: *const ::std::os::raw::c_char,
1252        pValue: *mut i64,
1253    ) -> AC_ERROR;
1254}
1255extern "C" {
1256    #[doc = " @fn AC_ERROR AC_API acNodeMapGetFloatValue(acNodeMap hNodeMap, const char* pNodeName, double* pValue)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param pValue\n  - Type: double*\n  - [Out] parameter\n  - Value of the node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetFloatValue </B> acts as a shortcut for retrieving the value of\n a float node."]
1257    pub fn acNodeMapGetFloatValue(
1258        hNodeMap: acNodeMap,
1259        pNodeName: *const ::std::os::raw::c_char,
1260        pValue: *mut f64,
1261    ) -> AC_ERROR;
1262}
1263extern "C" {
1264    #[doc = " @fn AC_ERROR AC_API acNodeMapGetBooleanValue(acNodeMap hNodeMap, const char* pNodeName, bool8_t* pValue)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param pValue\n  - Type: bool8_t*\n  - [Out] parameter\n  - Value of the node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetBooleanValue </B> acts as a shortcut for retrieving the value\n of a boolean node."]
1265    pub fn acNodeMapGetBooleanValue(
1266        hNodeMap: acNodeMap,
1267        pNodeName: *const ::std::os::raw::c_char,
1268        pValue: *mut bool8_t,
1269    ) -> AC_ERROR;
1270}
1271extern "C" {
1272    #[doc = " @fn AC_ERROR AC_API acNodeMapGetEnumerationValue(acNodeMap hNodeMap, const char* pNodeName, char* pSymbolicBuf, size_t* pBufLen)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param pSymbolicBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Symbolic of the current entry\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapGetEnumerationValue </B> acts as a shortcut for retrieving the\n entry of an enumeration node."]
1273    pub fn acNodeMapGetEnumerationValue(
1274        hNodeMap: acNodeMap,
1275        pNodeName: *const ::std::os::raw::c_char,
1276        pSymbolicBuf: *mut ::std::os::raw::c_char,
1277        pBufLen: *mut usize,
1278    ) -> AC_ERROR;
1279}
1280extern "C" {
1281    #[doc = " @fn AC_ERROR AC_API acNodeMapSetStringValue(acNodeMap hNodeMap, const char* pNodeName, const char* pValue)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param pValue\n  - Type: const char*\n  - [In] parameter\n  - String value to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapSetStringValue </B> acts as a shortcut for setting the value of a\n string node."]
1282    pub fn acNodeMapSetStringValue(
1283        hNodeMap: acNodeMap,
1284        pNodeName: *const ::std::os::raw::c_char,
1285        pValue: *const ::std::os::raw::c_char,
1286    ) -> AC_ERROR;
1287}
1288extern "C" {
1289    #[doc = " @fn AC_ERROR AC_API acNodeMapSetIntegerValue(acNodeMap hNodeMap, const char* pNodeName, int64_t value)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param value\n  - Type: int64_t\n  - [In] parameter\n  - Integer value to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapSetIntegerValue </B> acts as a shortcut for setting the value of\n an integer node."]
1290    pub fn acNodeMapSetIntegerValue(
1291        hNodeMap: acNodeMap,
1292        pNodeName: *const ::std::os::raw::c_char,
1293        value: i64,
1294    ) -> AC_ERROR;
1295}
1296extern "C" {
1297    #[doc = " @fn AC_ERROR AC_API acNodeMapSetFloatValue(acNodeMap hNodeMap, const char* pNodeName, double value)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param value\n  - Type: double\n  - [In] parameter\n  - Float value to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapSetFloatValue </B> acts as a shortcut for setting the value of a\n float node."]
1298    pub fn acNodeMapSetFloatValue(
1299        hNodeMap: acNodeMap,
1300        pNodeName: *const ::std::os::raw::c_char,
1301        value: f64,
1302    ) -> AC_ERROR;
1303}
1304extern "C" {
1305    #[doc = " @fn AC_ERROR AC_API acNodeMapSetBooleanValue(acNodeMap hNodeMap, const char* pNodeName, bool8_t value)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param value\n  - Type: bool8_t\n  - [In] parameter\n  - Boolean value to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapSetBooleanValue </B> acts as a shortcut for setting the value of\n a boolean node."]
1306    pub fn acNodeMapSetBooleanValue(
1307        hNodeMap: acNodeMap,
1308        pNodeName: *const ::std::os::raw::c_char,
1309        value: bool8_t,
1310    ) -> AC_ERROR;
1311}
1312extern "C" {
1313    #[doc = " @fn AC_ERROR AC_API acNodeMapSetEnumerationValue(acNodeMap hNodeMap, const char* pNodeName, const char* pSymbolic)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @param pSymbolic\n  - Type: const char*\n  - [In] parameter\n  - Name of the entry node to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapSetEnumerationValue </B> acts as a shortcut for setting the value\n of an enumeration node."]
1314    pub fn acNodeMapSetEnumerationValue(
1315        hNodeMap: acNodeMap,
1316        pNodeName: *const ::std::os::raw::c_char,
1317        pSymbolic: *const ::std::os::raw::c_char,
1318    ) -> AC_ERROR;
1319}
1320extern "C" {
1321    #[doc = " @fn AC_ERROR AC_API acNodeMapExecute(acNodeMap hNodeMap, const char* pNodeName)\n\n @param hNodeMap\n  - Type: acNodeMap\n  - [In] parameter\n  - A node map\n\n @param pNodeName\n  - Type: const char*\n  - [In] parameter\n  - Name of the node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns SC_ERR_SUCCESS (0) on success\n\n <B> acNodeMapExecute </B> acts as a shortcut for executing a command node."]
1322    pub fn acNodeMapExecute(
1323        hNodeMap: acNodeMap,
1324        pNodeName: *const ::std::os::raw::c_char,
1325    ) -> AC_ERROR;
1326}
1327extern "C" {
1328    #[doc = " @fn AC_ERROR AC_API acCallbackRegister(acCallback* phCallback, acNode hNode, acCallbackFunction callbackFunction, void* pUserData)\n\n @param phCallback\n  - Type: acCallback*\n  - [Out] parameter\n  - The callback handle\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node to set the callback on\n\n @param callbackFunction\n  - Type: acCallbackFunction\n  - [In] parameter\n  - The function to call\n\n @param pUserData\n  - Type: void*\n  - [Out] parameter\n  - Accepts null\n  - User data available within the callback function\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCallbackRegister </B> registers a callback on a node. The callback\n handle (acCallback) should be stored in order to deregister the callback\n later.\n\n @see\n  - acCallback"]
1329    pub fn acCallbackRegister(
1330        phCallback: *mut acCallback,
1331        hNode: acNode,
1332        callbackFunction: acCallbackFunction,
1333        pUserData: *mut ::std::os::raw::c_void,
1334    ) -> AC_ERROR;
1335}
1336extern "C" {
1337    #[doc = " @fn AC_ERROR AC_API acCallbackDeregister(acCallback hCallback)\n\n @param hCallback\n  - Type: acCallback\n  - [In] parameter\n  - The callback handle\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCallbackDeregister </B> deregisters the callback."]
1338    pub fn acCallbackDeregister(hCallback: acCallback) -> AC_ERROR;
1339}
1340extern "C" {
1341    #[doc = " @fn AC_ERROR AC_API acNodeGetAccessMode(acNode hNode, AC_ACCESS_MODE* pAccessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pAccessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetAccessMode </B> retrieves a node's access mode."]
1342    pub fn acNodeGetAccessMode(hNode: acNode, pAccessMode: *mut AC_ACCESS_MODE) -> AC_ERROR;
1343}
1344extern "C" {
1345    #[doc = " @fn AC_ERROR AC_API acNodeGetAlias(acNode hNode, acNode* phAliasNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param phAliasNode\n  - Type: acNode*\n  - [Out] parameter\n  - Alias node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetAlias </B> retrieves a node's alias node."]
1346    pub fn acNodeGetAlias(hNode: acNode, phAliasNode: *mut acNode) -> AC_ERROR;
1347}
1348extern "C" {
1349    #[doc = " @fn AC_ERROR AC_API acNodeGetCachingMode(acNode hNode, AC_CACHING_MODE* pCachingMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pCachingMode\n  - Type: AC_CACHING_MODE*\n  - [Out] parameter\n  - Caching mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetCachingMode </B> retrieves a node's caching mode."]
1350    pub fn acNodeGetCachingMode(hNode: acNode, pCachingMode: *mut AC_CACHING_MODE) -> AC_ERROR;
1351}
1352extern "C" {
1353    #[doc = " @fn AC_ERROR AC_API acNodeGetCastAlias(acNode hNode, acNode* phAliasNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param phAliasNode\n  - Type: acNode*\n  - [Out] parameter\n  - Cast alias\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetCastAlias </B> retrieves a node's cast alias."]
1354    pub fn acNodeGetCastAlias(hNode: acNode, phAliasNode: *mut acNode) -> AC_ERROR;
1355}
1356extern "C" {
1357    #[doc = " @fn AC_ERROR AC_API acNodeGetNumChildren(acNode hNode, size_t* pNumChildren)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pNumChildren\n  - Type: size_t*\n  - [Out] parameter\n  - Number of child nodes\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetNumChildren </B> retrieves the number of a node's children."]
1358    pub fn acNodeGetNumChildren(hNode: acNode, pNumChildren: *mut usize) -> AC_ERROR;
1359}
1360extern "C" {
1361    #[doc = " @fn AC_ERROR AC_API acNodeGetChild(acNode hNode, size_t index, acNode* phChildNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the child\n\n @param phChildNode\n  - Type: acNode*\n  - [Out] parameter\n  - Child node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetChild </B> retrieves a node's child node."]
1362    pub fn acNodeGetChild(hNode: acNode, index: usize, phChildNode: *mut acNode) -> AC_ERROR;
1363}
1364extern "C" {
1365    #[doc = " @fn AC_ERROR AC_API acNodeGetChildAndAccessMode(acNode hNode, size_t index, acNode* phChildNode, AC_ACCESS_MODE* accessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the child\n\n @param phChildNode\n  - Type: acNode*\n  - [Out] parameter\n  - Child node\n\n @param accessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Child node's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetChildAndAccessMode </B> retrieves a node's child node and the\n child's access mode."]
1366    pub fn acNodeGetChildAndAccessMode(
1367        hNode: acNode,
1368        index: usize,
1369        phChildNode: *mut acNode,
1370        accessMode: *mut AC_ACCESS_MODE,
1371    ) -> AC_ERROR;
1372}
1373extern "C" {
1374    #[doc = " @fn AC_ERROR AC_API acNodeGetDescription(acNode hNode, char* pDescription, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pDescription\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Description of the node\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetDescription </B> retrieves a node's longer description."]
1375    pub fn acNodeGetDescription(
1376        hNode: acNode,
1377        pDescription: *mut ::std::os::raw::c_char,
1378        pBufLen: *mut usize,
1379    ) -> AC_ERROR;
1380}
1381extern "C" {
1382    #[doc = " @fn AC_ERROR AC_API acNodeGetDeviceName(acNode hNode, char* pDeviceName, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pDeviceName\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Device name of the node\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetDeviceName </B> retrieves a node's device name."]
1383    pub fn acNodeGetDeviceName(
1384        hNode: acNode,
1385        pDeviceName: *mut ::std::os::raw::c_char,
1386        pBufLen: *mut usize,
1387    ) -> AC_ERROR;
1388}
1389extern "C" {
1390    #[doc = " @fn AC_ERROR AC_API acNodeGetDisplayName(acNode hNode, char* pDisplayName, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pDisplayName\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Display name\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetDisplayName </B> retrieves a node's display name."]
1391    pub fn acNodeGetDisplayName(
1392        hNode: acNode,
1393        pDisplayName: *mut ::std::os::raw::c_char,
1394        pBufLen: *mut usize,
1395    ) -> AC_ERROR;
1396}
1397extern "C" {
1398    #[doc = " @fn AC_ERROR AC_API acNodeGetDocuURL(acNode hNode, char* pDocuURL, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pDocuURL\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Document URL\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetDocuURL </B> retrieves a node's document URL."]
1399    pub fn acNodeGetDocuURL(
1400        hNode: acNode,
1401        pDocuURL: *mut ::std::os::raw::c_char,
1402        pBufLen: *mut usize,
1403    ) -> AC_ERROR;
1404}
1405extern "C" {
1406    #[doc = " @fn AC_ERROR AC_API acNodeGetEventID(acNode hNode, char* pEventIDBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pEventIDBuf\n  - Type: char*\n  - [Out] parameter\n  - Event ID\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetEventID </B> retrieves a node's event ID."]
1407    pub fn acNodeGetEventID(
1408        hNode: acNode,
1409        pEventIDBuf: *mut ::std::os::raw::c_char,
1410        pBufLen: *mut usize,
1411    ) -> AC_ERROR;
1412}
1413extern "C" {
1414    #[doc = " @fn AC_ERROR AC_API acNodeGetName(acNode hNode, char* pNameBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pNameBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Name\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetName </B> retrieves a node's name."]
1415    pub fn acNodeGetName(
1416        hNode: acNode,
1417        pNameBuf: *mut ::std::os::raw::c_char,
1418        pBufLen: *mut usize,
1419    ) -> AC_ERROR;
1420}
1421extern "C" {
1422    #[doc = " @fn AC_ERROR AC_API acNodeGetFullyQualifiedName(acNode hNode, char* pNameBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - In parameter\n  - The node\n  - Accepts any node type\n\n @param pNameBuf\n  - Type: char*\n  - Out parameter\n  - Accepts null\n  - Name\n\n @param pBufLen\n  - Type: size_t*\n  - In/out parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetFullyQualifiedName </B> retrieves a node's fully qualified name."]
1423    pub fn acNodeGetFullyQualifiedName(
1424        hNode: acNode,
1425        pNameBuf: *mut ::std::os::raw::c_char,
1426        pBufLen: *mut usize,
1427    ) -> AC_ERROR;
1428}
1429extern "C" {
1430    #[doc = " @fn AC_ERROR AC_API acNodeGetNamespace(acNode hNode, AC_NAMESPACE* pNameSpace)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pNameSpace\n  - Type: AC_NAMESPACE*\n  - [Out] parameter\n  - Namespace\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetNamespace </B> retrieves a node's namespace."]
1431    pub fn acNodeGetNamespace(hNode: acNode, pNameSpace: *mut AC_NAMESPACE) -> AC_ERROR;
1432}
1433extern "C" {
1434    #[doc = " @fn AC_ERROR AC_API acNodeGetNumParents(acNode hNode, size_t* pNumParents)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pNumParents\n  - Type: size_t*\n  - [Out] parameter\n  - Number of parent nodes\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetNumParents </B> retrieves the number of a node's parents."]
1435    pub fn acNodeGetNumParents(hNode: acNode, pNumParents: *mut usize) -> AC_ERROR;
1436}
1437extern "C" {
1438    #[doc = " @fn AC_ERROR AC_API acNodeGetParent(acNode hNode, size_t index, acNode* phParentNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the parent\n\n @param phParentNode\n  - Type: acNode*\n  - [Out] parameter\n  - The parent node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetParent </B> retrieves a node's parent node."]
1439    pub fn acNodeGetParent(hNode: acNode, index: usize, phParentNode: *mut acNode) -> AC_ERROR;
1440}
1441extern "C" {
1442    #[doc = " @fn AC_ERROR AC_API acNodeGetParentAndAccessMode(acNode hNode, size_t index, acNode* phParentNode, AC_ACCESS_MODE* pAccessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the parent node\n\n @param phParentNode\n  - Type: acNode*\n  - [Out] parameter\n  - The parent node\n\n @param pAccessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Parent node's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetParentAndAccessMode </B> retrieves a node's parent node and the\n parent's access mode."]
1443    pub fn acNodeGetParentAndAccessMode(
1444        hNode: acNode,
1445        index: usize,
1446        phParentNode: *mut acNode,
1447        pAccessMode: *mut AC_ACCESS_MODE,
1448    ) -> AC_ERROR;
1449}
1450extern "C" {
1451    #[doc = " @fn AC_ERROR AC_API acNodeGetPollingTime(acNode hNode, int64_t* pPollingTime)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pPollingTime\n  - Type: int64_t*\n  - [Out] parameter\n  - Polling time\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetPollingTime </B> retrieves a node's polling time in milliseconds."]
1452    pub fn acNodeGetPollingTime(hNode: acNode, pPollingTime: *mut i64) -> AC_ERROR;
1453}
1454extern "C" {
1455    #[doc = " @fn AC_ERROR AC_API acNodeGetPrincipalInterfaceType(acNode hNode, AC_INTERFACE_TYPE* pInterfaceType)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pInterfaceType\n  - Type: AC_INTERFACE_TYPE*\n  - [Out] parameter\n  - Node type\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetPrincipalInterfaceType </B> retrieves a node's type."]
1456    pub fn acNodeGetPrincipalInterfaceType(
1457        hNode: acNode,
1458        pInterfaceType: *mut AC_INTERFACE_TYPE,
1459    ) -> AC_ERROR;
1460}
1461extern "C" {
1462    #[doc = " @fn AC_ERROR AC_API acNodeGetProperty(acNode hNode, const char* pPropertyName, char* pPropertyValueBuf, size_t* pPropertyValueBufLen, char* pPropertyAttributeBuf, size_t* pPropertyAttributeBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pPropertyName\n  - Type: const char*\n  - [In] parameter\n  - Accepts null\n  - List of property names\n\n @param pPropertyValueBuf\n  - Type: char*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @param pPropertyValueBufLen\n  - Type: size_t*\n  - [Out] parameter\n  - Accepts null\n  - List of property values\n\n @param pPropertyAttributeBuf\n  - Type: char*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @param pPropertyAttributeBufLen\n  - Type: size_t*\n  - [Out] parameter\n  - The node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetProperty </B> retrieves a node's properties and their values."]
1463    pub fn acNodeGetProperty(
1464        hNode: acNode,
1465        pPropertyName: *const ::std::os::raw::c_char,
1466        pPropertyValueBuf: *mut ::std::os::raw::c_char,
1467        pPropertyValueBufLen: *mut usize,
1468        pPropertyAttributeBuf: *mut ::std::os::raw::c_char,
1469        pPropertyAttributeBufLen: *mut usize,
1470    ) -> AC_ERROR;
1471}
1472extern "C" {
1473    #[doc = " @fn AC_ERROR AC_API acNodeGetNumPropertyNames(acNode hNode, size_t* pNumPropertyNames)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pNumPropertyNames\n  - Type: size_t*\n  - [Out] parameter\n  - Number of node properties\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetNumPropertyNames </B> retrieves the number of a node's property\n names."]
1474    pub fn acNodeGetNumPropertyNames(hNode: acNode, pNumPropertyNames: *mut usize) -> AC_ERROR;
1475}
1476extern "C" {
1477    #[doc = " @fn AC_ERROR AC_API acNodeGetPropertyName(acNode hNode, size_t index, char* pPropertyNameBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the property\n\n @param pPropertyNameBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Property name\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetPropertyName </B> retrieves a node's property name."]
1478    pub fn acNodeGetPropertyName(
1479        hNode: acNode,
1480        index: usize,
1481        pPropertyNameBuf: *mut ::std::os::raw::c_char,
1482        pBufLen: *mut usize,
1483    ) -> AC_ERROR;
1484}
1485extern "C" {
1486    #[doc = " @fn AC_ERROR AC_API acNodeGetToolTip(acNode hNode, char* pToolTipBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pToolTipBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Tool tip\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetToolTip </B> retrieves a node's shorter description."]
1487    pub fn acNodeGetToolTip(
1488        hNode: acNode,
1489        pToolTipBuf: *mut ::std::os::raw::c_char,
1490        pBufLen: *mut usize,
1491    ) -> AC_ERROR;
1492}
1493extern "C" {
1494    #[doc = " @fn AC_ERROR AC_API acNodeInvalidateNode(acNode hNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeInvalidateNode </B> invalidates a node."]
1495    pub fn acNodeInvalidateNode(hNode: acNode) -> AC_ERROR;
1496}
1497extern "C" {
1498    #[doc = " @fn AC_ERROR AC_API acNodeGetVisibility(acNode hNode, AC_VISIBILITY* pVisibility)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pVisibility\n  - Type: AC_VISIBILITY*\n  - [Out] parameter\n  - Visibility\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeGetVisibility </B> retrieves a node's suggested visibility."]
1499    pub fn acNodeGetVisibility(hNode: acNode, pVisibility: *mut AC_VISIBILITY) -> AC_ERROR;
1500}
1501extern "C" {
1502    #[doc = " @fn AC_ERROR AC_API acNodeImposeAccessMode(acNode hNode, AC_ACCESS_MODE imposedAccessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param imposedAccessMode\n  - Type: AC_ACCESS_MODE\n  - [In] parameter\n  - Imposed access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeImposeAccessMode </B> imposes an access mode on a node."]
1503    pub fn acNodeImposeAccessMode(hNode: acNode, imposedAccessMode: AC_ACCESS_MODE) -> AC_ERROR;
1504}
1505extern "C" {
1506    #[doc = " @fn AC_ERROR AC_API acNodeImposeVisibility(acNode hNode, AC_VISIBILITY imposedVisibility)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param imposedVisibility\n  - Type: AC_VISIBILITY\n  - [In] parameter\n  - Imposed visibility\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeImposeVisibility </B> imposes a visibility setting on a node."]
1507    pub fn acNodeImposeVisibility(hNode: acNode, imposedVisibility: AC_VISIBILITY) -> AC_ERROR;
1508}
1509extern "C" {
1510    #[doc = " @fn AC_ERROR AC_API acNodeIsCachable(acNode hNode, bool8_t* pIsCachable)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pIsCachable\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if node value is cachable\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeIsCachable </B> retrieves whether or not a node is cachable."]
1511    pub fn acNodeIsCachable(hNode: acNode, pIsCachable: *mut bool8_t) -> AC_ERROR;
1512}
1513extern "C" {
1514    #[doc = " @fn AC_ERROR AC_API acNodeIsDeprecated(acNode hNode, bool8_t* pIsDeprecated)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pIsDeprecated\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if node is deprecated\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeIsDeprecated </B> retrieves whether or not a node is deprecated."]
1515    pub fn acNodeIsDeprecated(hNode: acNode, pIsDeprecated: *mut bool8_t) -> AC_ERROR;
1516}
1517extern "C" {
1518    #[doc = " @fn AC_ERROR AC_API acNodeIsFeature(acNode hNode, bool8_t* pIsFeature)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pIsFeature\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if node is a feature\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeIsFeature </B> retrieves whether or not a node is a feature."]
1519    pub fn acNodeIsFeature(hNode: acNode, pIsFeature: *mut bool8_t) -> AC_ERROR;
1520}
1521extern "C" {
1522    #[doc = " @fn AC_ERROR AC_API acNodeIsStreamable(acNode hNode, bool8_t* pIsStreamable)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - The node\n  - Accepts any node type\n\n @param pIsStreamable\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if node is streamable\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acNodeIsStreamable </B> retrieves whether or not a node is streamable."]
1523    pub fn acNodeIsStreamable(hNode: acNode, pIsStreamable: *mut bool8_t) -> AC_ERROR;
1524}
1525extern "C" {
1526    #[doc = " @fn AC_ERROR AC_API acValueToString(acNode hNode, char* pValueBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts any node type\n\n @param pValueBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Value as a string\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acValueToString </B> gets a node's value as a string."]
1527    pub fn acValueToString(
1528        hNode: acNode,
1529        pValueBuf: *mut ::std::os::raw::c_char,
1530        pBufLen: *mut usize,
1531    ) -> AC_ERROR;
1532}
1533extern "C" {
1534    #[doc = " @fn AC_ERROR AC_API acValueFromString(acNode hNode, const char* pValue)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts any node type\n\n @param pValue\n  - Type: const char*\n  - [In] parameter\n  - Value as a string\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acValueFromString </B> sets a node's value from a string."]
1535    pub fn acValueFromString(hNode: acNode, pValue: *const ::std::os::raw::c_char) -> AC_ERROR;
1536}
1537extern "C" {
1538    #[doc = " @fn AC_ERROR AC_API acValueIsValueCacheValid(acNode hNode, bool8_t* pIsValid)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts any node type\n\n @param pIsValid\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if cache value is valid\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acValueIsValueCacheValid </B> retrieves whether or not a node's value\n cache is valid."]
1539    pub fn acValueIsValueCacheValid(hNode: acNode, pIsValid: *mut bool8_t) -> AC_ERROR;
1540}
1541extern "C" {
1542    #[doc = " @fn AC_ERROR AC_API acIntegerGetInc(acNode hNode, int64_t* pIncrement)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param pIncrement\n  - Type: int64_t*\n  - [Out] parameter\n  - Value increment\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerGetInc </B> retrieves the increment between valid values."]
1543    pub fn acIntegerGetInc(hNode: acNode, pIncrement: *mut i64) -> AC_ERROR;
1544}
1545extern "C" {
1546    #[doc = " @fn AC_ERROR AC_API acIntegerGetIncMode(acNode hNode, AC_INC_MODE* pIncrementMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param pIncrementMode\n  - Type: AC_INC_MODE*\n  - [Out] parameter\n  - Increment mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerGetIncMode </B> retrieves the increment mode."]
1547    pub fn acIntegerGetIncMode(hNode: acNode, pIncrementMode: *mut AC_INC_MODE) -> AC_ERROR;
1548}
1549extern "C" {
1550    #[doc = " @fn AC_ERROR AC_API acIntegerGetMax(acNode hNode, int64_t* pMaximum)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param pMaximum\n  - Type: int64_t*\n  - [Out] parameter\n  - Maximum value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerGetMax </B> retrieves the maximum value."]
1551    pub fn acIntegerGetMax(hNode: acNode, pMaximum: *mut i64) -> AC_ERROR;
1552}
1553extern "C" {
1554    #[doc = " @fn AC_ERROR AC_API acIntegerGetMin(acNode hNode, int64_t* pMinimum)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param pMinimum\n  - Type: int64_t*\n  - [Out] parameter\n  - Minimum value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerGetMin </B> retrieves the minimum value."]
1555    pub fn acIntegerGetMin(hNode: acNode, pMinimum: *mut i64) -> AC_ERROR;
1556}
1557extern "C" {
1558    #[doc = " @fn AC_ERROR AC_API acIntegerGetRepresentation(acNode hNode, AC_REPRESENTATION* pRepresentation)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param pRepresentation\n  - Type: AC_REPRESENTATION*\n  - [Out] parameter\n  - Numeric representation\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerGetRepresentation </B> retrieves the value representation."]
1559    pub fn acIntegerGetRepresentation(
1560        hNode: acNode,
1561        pRepresentation: *mut AC_REPRESENTATION,
1562    ) -> AC_ERROR;
1563}
1564extern "C" {
1565    #[doc = " @fn AC_ERROR AC_API acIntegerGetUnit(acNode hNode, char* pUnitBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param pUnitBuf\n  - Type: char*\n  - [Out] parameter\n  - Unit of the value\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerGetValue </B> represents the units of the value."]
1566    pub fn acIntegerGetUnit(
1567        hNode: acNode,
1568        pUnitBuf: *mut ::std::os::raw::c_char,
1569        pBufLen: *mut usize,
1570    ) -> AC_ERROR;
1571}
1572extern "C" {
1573    #[doc = " @fn AC_ERROR AC_API acIntegerGetValue(acNode hNode, int64_t* pValue)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param pValue\n  - Type: int64_t*\n  - [Out] parameter\n  - Value of the node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerGetValue </B> retrieves the current value."]
1574    pub fn acIntegerGetValue(hNode: acNode, pValue: *mut i64) -> AC_ERROR;
1575}
1576extern "C" {
1577    #[doc = " @fn AC_ERROR AC_API acIntegerImposeMin(acNode hNode, int64_t imposedMinimum)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param imposedMinimum\n  - Type: int64_t\n  - [In] parameter\n  - Minimum to impose\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerImposeMin </B> imposes a minimum. New minimum must be greater\n than the actual minimum."]
1578    pub fn acIntegerImposeMin(hNode: acNode, imposedMinimum: i64) -> AC_ERROR;
1579}
1580extern "C" {
1581    #[doc = " @fn AC_ERROR AC_API acIntegerImposeMax(acNode hNode, int64_t imposedMaximum)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param imposedMaximum\n  - Type: int64_t\n  - [In] parameter\n  - Maximum to impose\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerImposeMax </B> imposes a maximum. New maximum msut be less than\n the actual maximum."]
1582    pub fn acIntegerImposeMax(hNode: acNode, imposedMaximum: i64) -> AC_ERROR;
1583}
1584extern "C" {
1585    #[doc = " @fn AC_ERROR AC_API acIntegerSetValue(acNode hNode, int64_t value)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts integer nodes\n\n @param value\n  - Type: int64_t\n  - [In] parameter\n  - Value to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acIntegerSetValue </B> sets a new value."]
1586    pub fn acIntegerSetValue(hNode: acNode, value: i64) -> AC_ERROR;
1587}
1588extern "C" {
1589    #[doc = " @fn AC_ERROR AC_API acBooleanGetValue(acNode hNode, bool8_t* pValue)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts boolean nodes\n\n @param pValue\n  - Type: bool8_t*\n  - [Out] parameter\n  - Value of the node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBooleanGetValue </B> retrieves a boolean node's value."]
1590    pub fn acBooleanGetValue(hNode: acNode, pValue: *mut bool8_t) -> AC_ERROR;
1591}
1592extern "C" {
1593    #[doc = " @fn AC_ERROR AC_API acBooleanSetValue(acNode hNode, bool8_t value)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts boolean nodes\n\n @param value\n  - Type: bool8_t\n  - [In] parameter\n  - Value to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acBooleanSetValue </B> sets a boolean node's value."]
1594    pub fn acBooleanSetValue(hNode: acNode, value: bool8_t) -> AC_ERROR;
1595}
1596extern "C" {
1597    #[doc = " @fn AC_ERROR AC_API acCommandExecute(acNode hNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts command nodes\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCommandExecute </B> executes an action associated with the command node."]
1598    pub fn acCommandExecute(hNode: acNode) -> AC_ERROR;
1599}
1600extern "C" {
1601    #[doc = " @fn AC_ERROR AC_API acCommandIsDone(acNode hNode, bool8_t* pIsDone)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts command nodes\n\n @param pIsDone\n  - Type: bool8_t*\n  - [Out] parameter\n  - False if the action is currently processing\n  - Otherwise, true\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCommandIsDone </B> retrieves whether or not the execution of the node\n has completed."]
1602    pub fn acCommandIsDone(hNode: acNode, pIsDone: *mut bool8_t) -> AC_ERROR;
1603}
1604extern "C" {
1605    #[doc = " @fn AC_ERROR AC_API acFloatSetValue(acNode hNode, double value)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param value\n  - Type: double\n  - [In] parameter\n  - Value to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatSetValue </B> sets a new value."]
1606    pub fn acFloatSetValue(hNode: acNode, value: f64) -> AC_ERROR;
1607}
1608extern "C" {
1609    #[doc = " @fn AC_ERROR AC_API acFloatGetValue(acNode hNode, double* pValue)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pValue\n  - Type: double*\n  - [Out] parameter\n  - Current value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatGetValue </B> retrieves the current value."]
1610    pub fn acFloatGetValue(hNode: acNode, pValue: *mut f64) -> AC_ERROR;
1611}
1612extern "C" {
1613    #[doc = " @fn AC_ERROR AC_API acFloatGetMin(acNode hNode, double* pMinimum)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pMinimum\n  - Type: double*\n  - [Out] parameter\n  - Minimum value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatGetMin </B> retrieves the minimum value."]
1614    pub fn acFloatGetMin(hNode: acNode, pMinimum: *mut f64) -> AC_ERROR;
1615}
1616extern "C" {
1617    #[doc = " @fn AC_ERROR AC_API acFloatGetMax(acNode hNode, double* pMaximum)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pMaximum\n  - Type: double*\n  - [Out] parameter\n  - Maximum value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatGetMax </B> retrieves the maximum value."]
1618    pub fn acFloatGetMax(hNode: acNode, pMaximum: *mut f64) -> AC_ERROR;
1619}
1620extern "C" {
1621    #[doc = " @fn AC_ERROR AC_API acFloatHasInc(acNode hNode, bool8_t* pHasInc)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pHasInc\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if the value has a software-imposed increment\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatHasInc </B> retrieves whether or not the value has an increment."]
1622    pub fn acFloatHasInc(hNode: acNode, pHasInc: *mut bool8_t) -> AC_ERROR;
1623}
1624extern "C" {
1625    #[doc = " @fn AC_ERROR AC_API acFloatGetIncMode(acNode hNode, AC_INC_MODE* pIncMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pIncMode\n  - Type: AC_INC_MODE*\n  - [Out] parameter\n  - Increment mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatGetIncMode </B> retrieves the increment (if there is one)."]
1626    pub fn acFloatGetIncMode(hNode: acNode, pIncMode: *mut AC_INC_MODE) -> AC_ERROR;
1627}
1628extern "C" {
1629    #[doc = " @fn AC_ERROR AC_API acFloatGetInc(acNode hNode, double* pIncrement)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pIncrement\n  - Type: double*\n  - [Out] parameter\n  - Increment value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatGetInc </B> retrieves the value increment (if there is one). Get\n the increment after checking whether there is one (acFloatHasInc).\n\n @see\n  - acFloatHasInc"]
1630    pub fn acFloatGetInc(hNode: acNode, pIncrement: *mut f64) -> AC_ERROR;
1631}
1632extern "C" {
1633    #[doc = " @fn AC_ERROR AC_API acFloatGetRepresentation(acNode hNode, AC_REPRESENTATION* pRepresentation)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pRepresentation\n  - Type: AC_REPRESENTATION*\n  - [Out] parameter\n  - Numeric representation\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatGetRepresentation </B> retrieves the value representation."]
1634    pub fn acFloatGetRepresentation(
1635        hNode: acNode,
1636        pRepresentation: *mut AC_REPRESENTATION,
1637    ) -> AC_ERROR;
1638}
1639extern "C" {
1640    #[doc = " @fn AC_ERROR AC_API acFloatGetUnit(acNode hNode, char* pUnitBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pUnitBuf\n  - Type: char*\n  - [Out] parameter\n  - Value unit\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatGetUnit </B> retrieves the units of the value."]
1641    pub fn acFloatGetUnit(
1642        hNode: acNode,
1643        pUnitBuf: *mut ::std::os::raw::c_char,
1644        pBufLen: *mut usize,
1645    ) -> AC_ERROR;
1646}
1647extern "C" {
1648    #[doc = " @fn AC_ERROR AC_API acFloatGetDisplayNotation(acNode hNode, AC_DISPLAY_NOTATION* pDisplayNotation)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pDisplayNotation\n  - Type: AC_DISPLAY_NOTATION*\n  - [Out] parameter\n  - Display notation\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatGetDisplayNotation </B> retrieves the best way to display the\n float, either by floating point, scientific notation, or both depending on the\n value (automatic)."]
1649    pub fn acFloatGetDisplayNotation(
1650        hNode: acNode,
1651        pDisplayNotation: *mut AC_DISPLAY_NOTATION,
1652    ) -> AC_ERROR;
1653}
1654extern "C" {
1655    #[doc = " @fn AC_ERROR AC_API acFloatGetDisplayPrecision(acNode hNode, int64_t* pDisplayPrecision)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param pDisplayPrecision\n  - Type: int64_t*\n  - [Out] parameter\n  - Floating point precision\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatGetDisplayPrecision </B> retrieves the floating point precision of\n the value."]
1656    pub fn acFloatGetDisplayPrecision(hNode: acNode, pDisplayPrecision: *mut i64) -> AC_ERROR;
1657}
1658extern "C" {
1659    #[doc = " @fn AC_ERROR AC_API acFloatImposeMin(acNode hNode, double imposedMinimum)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param imposedMinimum\n  - Type: double\n  - [In] parameter\n  - Minimum to impose\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatImposeMin </B> imposes a minimum. New minimum must be greater than\n the actual minimum."]
1660    pub fn acFloatImposeMin(hNode: acNode, imposedMinimum: f64) -> AC_ERROR;
1661}
1662extern "C" {
1663    #[doc = " @fn AC_ERROR AC_API acFloatImposeMax(acNode hNode, double imposedMaximum)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts float nodes\n\n @param imposedMaximum\n  - Type: double\n  - [In] parameter\n  - Maximum to impose\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acFloatImposeMax </B> imposes a maximum. New maximum must be less than the\n actual maximum."]
1664    pub fn acFloatImposeMax(hNode: acNode, imposedMaximum: f64) -> AC_ERROR;
1665}
1666extern "C" {
1667    #[doc = " @fn AC_ERROR AC_API acStringSetValue(acNode hNode, const char* pValue)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts string nodes\n\n @param pValue\n  - Type: const char*\n  - [In] parameter\n  - Value to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acStringSetValue </B> sets a new value. New value must be shorter than the\n maximum value length (acStringGetMaxLength).\n\n @see\n  - acStringGetMaxLength"]
1668    pub fn acStringSetValue(hNode: acNode, pValue: *const ::std::os::raw::c_char) -> AC_ERROR;
1669}
1670extern "C" {
1671    #[doc = " @fn AC_ERROR AC_API acStringGetValue(acNode hNode, char* pValue, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts string nodes\n\n @param pValue\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Current value\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acStringGetValue </B> retrieves the current value of the node."]
1672    pub fn acStringGetValue(
1673        hNode: acNode,
1674        pValue: *mut ::std::os::raw::c_char,
1675        pBufLen: *mut usize,
1676    ) -> AC_ERROR;
1677}
1678extern "C" {
1679    #[doc = " @fn AC_ERROR AC_API acStringGetMaxLength(acNode hNode, int64_t* pMaxLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts string nodes\n\n @param pMaxLen\n  - Type: int64_t*\n  - [Out] parameter\n  - Maximum length\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acStringGetMaxLength </B> retrieves the maximum length of the value\n string."]
1680    pub fn acStringGetMaxLength(hNode: acNode, pMaxLen: *mut i64) -> AC_ERROR;
1681}
1682extern "C" {
1683    #[doc = " @fn AC_ERROR AC_API acRegisterSet(acNode hNode, const uint8_t* pBuf, int64_t bufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts register nodes\n\n @param pBuf\n  - Type: const uint8_t*\n  - [In] parameter\n  - Buffer with the value to set\n\n @param bufLen\n  - Type: int64_t\n  - [In] parameter\n  - Length of buffer to set\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acRegisterSet </B> sets a register node's value."]
1684    pub fn acRegisterSet(hNode: acNode, pBuf: *const u8, bufLen: i64) -> AC_ERROR;
1685}
1686extern "C" {
1687    #[doc = " @fn AC_ERROR AC_API acRegisterGet(acNode hNode, uint8_t* pBuf, int64_t bufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts register nodes\n\n @param pBuf\n  - Type: uint8_t*\n  - [Out] parameter\n  - Empty buffer to get the value\n\n @param bufLen\n  - Type: int64_t\n  - [In] parameter\n  - Length of the buffer to get\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acRegisterGet </B> gets a register node's value."]
1688    pub fn acRegisterGet(hNode: acNode, pBuf: *mut u8, bufLen: i64) -> AC_ERROR;
1689}
1690extern "C" {
1691    #[doc = " @fn AC_ERROR AC_API acCategoryGetNumFeatures(acNode hNode, size_t* pNumFeatures)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts category nodes\n\n @param pNumFeatures\n  - Type: size_t*\n  - [Out] parameter\n  - Number of features\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCategoryGetNumFeatures </B> retrieves the number of features of a\n category node."]
1692    pub fn acCategoryGetNumFeatures(hNode: acNode, pNumFeatures: *mut usize) -> AC_ERROR;
1693}
1694extern "C" {
1695    #[doc = " @fn AC_ERROR AC_API acCategoryGetFeature(acNode hNode, size_t index, acNode* hFeatureNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts category nodes\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the feature\n\n @param hFeatureNode\n  - Type: acNode*\n  - [Out] parameter\n  - Feature node (node of any type)\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCategoryGetFeatureAndAccessMode </B> retrieves a feature node by its\n index."]
1696    pub fn acCategoryGetFeature(hNode: acNode, index: usize, hFeatureNode: *mut acNode)
1697        -> AC_ERROR;
1698}
1699extern "C" {
1700    #[doc = " @fn AC_ERROR AC_API acCategoryGetFeatureAndAccessMode(acNode hNode, size_t index, acNode* hFeatureNode, AC_ACCESS_MODE* pAccessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts category nodes\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the feature node\n\n @param hFeatureNode\n  - Type: acNode*\n  - [Out] parameter\n  - Feature node (node of any type)\n\n @param pAccessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Feature node's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acCategoryGetFeatureAndAccessMode </B> retrieves a feature node and its\n access mode by its index."]
1701    pub fn acCategoryGetFeatureAndAccessMode(
1702        hNode: acNode,
1703        index: usize,
1704        hFeatureNode: *mut acNode,
1705        pAccessMode: *mut AC_ACCESS_MODE,
1706    ) -> AC_ERROR;
1707}
1708extern "C" {
1709    #[doc = " @fn AC_ERROR AC_API acEnumerationGetNumEntries(acNode hNode, size_t* pNumEntries)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param pNumEntries\n  - Type: size_t*\n  - [Out] parameter\n  - Number of entries\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetNumEntries </B> retrieves the number of entries."]
1710    pub fn acEnumerationGetNumEntries(hNode: acNode, pNumEntries: *mut usize) -> AC_ERROR;
1711}
1712extern "C" {
1713    #[doc = " @fn AC_ERROR AC_API acEnumerationGetEntryByIndex(acNode hNode, size_t index, acNode* phEntryNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the entry\n\n @param phEntryNode\n  - Type: acNode*\n  - [Out] parameter\n  - Entry node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetEntryByIndex </B> retrieves an entry by its index."]
1714    pub fn acEnumerationGetEntryByIndex(
1715        hNode: acNode,
1716        index: usize,
1717        phEntryNode: *mut acNode,
1718    ) -> AC_ERROR;
1719}
1720extern "C" {
1721    #[doc = " @fn AC_ERROR AC_API acEnumerationGetEntryAndAccessModeByIndex(acNode hNode, size_t index, acNode* phEntryNode, AC_ACCESS_MODE* pAccessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the entry\n\n @param phEntryNode\n  - Type: acNode*\n  - [Out] parameter\n  - Entry node\n\n @param pAccessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Entry node's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetEntryAndAccessModeByIndex </B> retrieves an entry and its\n access mode by index."]
1722    pub fn acEnumerationGetEntryAndAccessModeByIndex(
1723        hNode: acNode,
1724        index: usize,
1725        phEntryNode: *mut acNode,
1726        pAccessMode: *mut AC_ACCESS_MODE,
1727    ) -> AC_ERROR;
1728}
1729extern "C" {
1730    #[doc = " @fn AC_ERROR AC_API acEnumerationGetNumSymbolics(acNode hNode, size_t* pNumSymbolics)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param pNumSymbolics\n  - Type: size_t*\n  - [Out] parameter\n  - Number of symbolics\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetNumSymbolics </B> retrieves the number of symbolics."]
1731    pub fn acEnumerationGetNumSymbolics(hNode: acNode, pNumSymbolics: *mut usize) -> AC_ERROR;
1732}
1733extern "C" {
1734    #[doc = " @fn AC_ERROR AC_API acEnumerationGetSymbolicByIndex(acNode hNode, size_t index, char* pSymbolicBuf, size_t* pBufLen)\n\n )\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Entry of the node\n\n @param pSymbolicBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Symbolic of the entry\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetSymbolicByIndex </B> retrieves a symbolic by its entry's\n index."]
1735    pub fn acEnumerationGetSymbolicByIndex(
1736        hNode: acNode,
1737        index: usize,
1738        pSymbolicBuf: *mut ::std::os::raw::c_char,
1739        pBufLen: *mut usize,
1740    ) -> AC_ERROR;
1741}
1742extern "C" {
1743    #[doc = " @fn AC_ERROR AC_API acEnumerationSetByIntValue(acNode hNode, int64_t value)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param value\n  - Type: int64_t\n  - [In] parameter\n  - Integer value to set (from entry node)\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationSetByIntValue </B> sets the entry by its integer value."]
1744    pub fn acEnumerationSetByIntValue(hNode: acNode, value: i64) -> AC_ERROR;
1745}
1746extern "C" {
1747    #[doc = " @fn AC_ERROR AC_API acEnumerationSetBySymbolic(acNode hNode, const char* pSymbolic)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param pSymbolic\n  - Type: const char*\n  - [In] parameter\n  - Symbolic to set (from entry node)\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationSetBySymbolic </B> sets the entry of by its symbolic."]
1748    pub fn acEnumerationSetBySymbolic(
1749        hNode: acNode,
1750        pSymbolic: *const ::std::os::raw::c_char,
1751    ) -> AC_ERROR;
1752}
1753extern "C" {
1754    #[doc = " @fn AC_ERROR AC_API acEnumerationGetEntryByName(acNode hNode, const char* pEntryName, acNode* phEntryNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param pEntryName\n  - Type: const char*\n  - [In] parameter\n  - Name of the entry\n\n @param phEntryNode\n  - Type: acNode*\n  - [Out] parameter\n  - Entry node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetEntryByName </B> retrieves an entry by its name."]
1755    pub fn acEnumerationGetEntryByName(
1756        hNode: acNode,
1757        pEntryName: *const ::std::os::raw::c_char,
1758        phEntryNode: *mut acNode,
1759    ) -> AC_ERROR;
1760}
1761extern "C" {
1762    #[doc = " @fn AC_ERROR AC_API acEnumerationGetEntryAndAccessModeByName(acNode hNode, const char* pEntryName, acNode* phEntryNode, AC_ACCESS_MODE* pAccessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param pEntryName\n  - Type: const char*\n  - [In] parameter\n  - Name of the entry\n\n @param phEntryNode\n  - Type: acNode*\n  - [Out] parameter\n  - Entry node\n\n @param pAccessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Entry node's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetEntryAndAccessModeByName </B> retrieves an entry and its\n access mode by its name."]
1763    pub fn acEnumerationGetEntryAndAccessModeByName(
1764        hNode: acNode,
1765        pEntryName: *const ::std::os::raw::c_char,
1766        phEntryNode: *mut acNode,
1767        pAccessMode: *mut AC_ACCESS_MODE,
1768    ) -> AC_ERROR;
1769}
1770extern "C" {
1771    #[doc = " @fn AC_ERROR AC_API acEnumerationGetCurrentEntry(acNode hNode, acNode* phEntryNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param phEntryNode\n  - Type: acNode*\n  - [Out] parameter\n  - Current entry node\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetCurrentEntry </B> retrieves the current entry."]
1772    pub fn acEnumerationGetCurrentEntry(hNode: acNode, phEntryNode: *mut acNode) -> AC_ERROR;
1773}
1774extern "C" {
1775    #[doc = " @fn AC_ERROR AC_API acEnumerationGetCurrentEntryAndAccessMode(acNode hNode, acNode* phEntryNode, AC_ACCESS_MODE* pAccessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param phEntryNode\n  - Type: acNode*\n  - [Out] parameter\n  - Current entry node\n\n @param pAccessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Current entry node's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetCurrentEntryAndAccessMode </B> retrieves the current entry\n and its access mode."]
1776    pub fn acEnumerationGetCurrentEntryAndAccessMode(
1777        hNode: acNode,
1778        phEntryNode: *mut acNode,
1779        pAccessMode: *mut AC_ACCESS_MODE,
1780    ) -> AC_ERROR;
1781}
1782extern "C" {
1783    #[doc = " @fn AC_ERROR AC_API acEnumerationGetCurrentSymbolic(acNode hNode, char* pSymbolicBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enumeration nodes\n\n @param pSymbolicBuf\n  - Type: char*\n  - [Out] parameter\n  - Accepts null\n  - Symbolic of the current entry\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumerationGetCurrentSymbolic </B> retrieves the current entry's\n symbolic."]
1784    pub fn acEnumerationGetCurrentSymbolic(
1785        hNode: acNode,
1786        pSymbolicBuf: *mut ::std::os::raw::c_char,
1787        pBufLen: *mut usize,
1788    ) -> AC_ERROR;
1789}
1790extern "C" {
1791    #[doc = " @fn AC_ERROR AC_API acEnumEntryGetIntValue(acNode hNode, int64_t* pValue)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enum entry nodes\n\n @param pValue\n  - Type: int64_t*\n  - [Out] parameter\n  - Integer value of the entry\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumEntryGetIntValue </B> retrieves the integer value of the enum entry."]
1792    pub fn acEnumEntryGetIntValue(hNode: acNode, pValue: *mut i64) -> AC_ERROR;
1793}
1794extern "C" {
1795    #[doc = " @fn AC_ERROR AC_API acEnumEntryGetNumericValue(acNode hNode, double* pValue)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enum entry nodes\n\n @param pValue\n  - Type: double*\n  - [Out] parameter\n  - Numeric value of the entry (if applicable)\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumEntryGetNumericValue </B> retrieves the numeric value of the enum\n entry (if applicable)."]
1796    pub fn acEnumEntryGetNumericValue(hNode: acNode, pValue: *mut f64) -> AC_ERROR;
1797}
1798extern "C" {
1799    #[doc = " @fn AC_ERROR AC_API acEnumEntryGetSymbolic(acNode hNode, char* pSymbolicBuf, size_t* pBufLen)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enum entry nodes\n\n @param pSymbolicBuf\n  - Type: char*\n  - [Out] parameter\n  - Symbolic of the entry\n\n @param pBufLen\n  - Type: size_t*\n  - [In/out] parameter\n  - (In) Length of the buffer\n  - (Out) Length of the value\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumEntryGetSymbolic </B> retrieves the symbolic of the enum entry."]
1800    pub fn acEnumEntryGetSymbolic(
1801        hNode: acNode,
1802        pSymbolicBuf: *mut ::std::os::raw::c_char,
1803        pBufLen: *mut usize,
1804    ) -> AC_ERROR;
1805}
1806extern "C" {
1807    #[doc = " @fn AC_ERROR AC_API acEnumEntryIsSelfClearing(acNode hNode, bool8_t* pIsSelfClearing)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts enum entry nodes\n\n @param pIsSelfClearing\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if the entry is self clearing\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acEnumEntryIsSelfClearing </B> retrieves whether or not the enum entry is\n self clearing."]
1808    pub fn acEnumEntryIsSelfClearing(hNode: acNode, pIsSelfClearing: *mut bool8_t) -> AC_ERROR;
1809}
1810extern "C" {
1811    #[doc = " @fn AC_ERROR AC_API acSelectorIsSelector(acNode hNode, bool8_t* pIsSelector)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts selector nodes\n\n @param pIsSelector\n  - Type: bool8_t*\n  - [Out] parameter\n  - True if node is a selector\n  - Otherwise, false\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSelectorIsSelector </B> retrieves whether or not a node is a selector."]
1812    pub fn acSelectorIsSelector(hNode: acNode, pIsSelector: *mut bool8_t) -> AC_ERROR;
1813}
1814extern "C" {
1815    #[doc = " @fn AC_ERROR AC_API acSelectorGetNumSelectingFeatures(acNode hNode, size_t* pNumSelectingFeatures)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts selector nodes\n\n @param pNumSelectingFeatures\n  - Type: size_t*\n  - [Out] parameter\n  - Number of selecting features\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSelectorIsSelector </B> retrieves the number of selecting features of a\n selector node."]
1816    pub fn acSelectorGetNumSelectingFeatures(
1817        hNode: acNode,
1818        pNumSelectingFeatures: *mut usize,
1819    ) -> AC_ERROR;
1820}
1821extern "C" {
1822    #[doc = " @fn AC_ERROR AC_API acSelectorGetSelectingFeature(acNode hNode, size_t index, acNode* phSelectingFeatureNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts selector nodes\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the selecting feature\n\n @param phSelectingFeatureNode\n  - Type: acNode*\n  - [Out] parameter\n  - Selecting feature (node of type enum entry)\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSelectorIsSelector </B> retrieves a selecting feature by its index."]
1823    pub fn acSelectorGetSelectingFeature(
1824        hNode: acNode,
1825        index: usize,
1826        phSelectingFeatureNode: *mut acNode,
1827    ) -> AC_ERROR;
1828}
1829extern "C" {
1830    #[doc = " @fn AC_ERROR AC_API acSelectorGetSelectingFeatureAndAccessMode(acNode hNode, size_t index, acNode* phSelectingFeatureNode, AC_ACCESS_MODE* pAccessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts selector nodes\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the selecting feature\n\n @param phSelectingFeatureNode\n  - Type: acNode*\n  - [Out] parameter\n  - Selecting feature (node of type enum entry)\n\n @param pAccessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Selecting feature's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSelectorIsSelector </B> retrieves a selecting feature and its access\n mode by its index."]
1831    pub fn acSelectorGetSelectingFeatureAndAccessMode(
1832        hNode: acNode,
1833        index: usize,
1834        phSelectingFeatureNode: *mut acNode,
1835        pAccessMode: *mut AC_ACCESS_MODE,
1836    ) -> AC_ERROR;
1837}
1838extern "C" {
1839    #[doc = " @fn AC_ERROR AC_API acSelectorGetNumSelectedFeatures(acNode hNode, size_t* pNumSelectedFeatures)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts selector node\n\n @param pNumSelectedFeatures\n  - Type: size_t*\n  - [Out] parameter\n  - Number of selected features\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSelectorIsSelector </B> retrieves the number of selected features of a\n selector node."]
1840    pub fn acSelectorGetNumSelectedFeatures(
1841        hNode: acNode,
1842        pNumSelectedFeatures: *mut usize,
1843    ) -> AC_ERROR;
1844}
1845extern "C" {
1846    #[doc = " @fn AC_ERROR AC_API acSelectorGetSelectedFeature(acNode hNode, size_t index, acNode* phSelectedFeatureNode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts selector nodes\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of the selected feature\n\n @param phSelectedFeatureNode\n  - Type: acNode*\n  - [Out] parameter\n  - Selected feature (node of type enum entry)\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSelectorIsSelector </B> retrieves a selected feature by its index."]
1847    pub fn acSelectorGetSelectedFeature(
1848        hNode: acNode,
1849        index: usize,
1850        phSelectedFeatureNode: *mut acNode,
1851    ) -> AC_ERROR;
1852}
1853extern "C" {
1854    #[doc = " @fn AC_ERROR AC_API acSelectorGetSelectedFeatureAndAccessMode(acNode hNode, size_t index, acNode* phSelectedFeatureNode, AC_ACCESS_MODE* pAccessMode)\n\n @param hNode\n  - Type: acNode\n  - [In] parameter\n  - A node\n  - Accepts selector nodes\n\n @param index\n  - Type: size_t\n  - [In] parameter\n  - Index of selected feature\n\n @param phSelectedFeatureNode\n  - Type: acNode*\n  - [Out] parameter\n  - Selected feature (node of type enum entry)\n\n @param pAccessMode\n  - Type: AC_ACCESS_MODE*\n  - [Out] parameter\n  - Selected feature's access mode\n\n @return\n  - Type: AC_ERROR\n  - Error code for the function\n  - Returns AC_ERR_SUCCESS (0) on success\n\n <B> acSelectorIsSelector </B> retrieves a selected feature and its access mode\n by its index."]
1855    pub fn acSelectorGetSelectedFeatureAndAccessMode(
1856        hNode: acNode,
1857        index: usize,
1858        phSelectedFeatureNode: *mut acNode,
1859        pAccessMode: *mut AC_ACCESS_MODE,
1860    ) -> AC_ERROR;
1861}