1#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6 storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9 #[inline]
10 pub const fn new(storage: Storage) -> Self {
11 Self { storage }
12 }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16 Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18 #[inline]
19 fn extract_bit(byte: u8, index: usize) -> bool {
20 let bit_index = if cfg!(target_endian = "big") {
21 7 - (index % 8)
22 } else {
23 index % 8
24 };
25 let mask = 1 << bit_index;
26 byte & mask == mask
27 }
28 #[inline]
29 pub fn get_bit(&self, index: usize) -> bool {
30 debug_assert!(index / 8 < self.storage.as_ref().len());
31 let byte_index = index / 8;
32 let byte = self.storage.as_ref()[byte_index];
33 Self::extract_bit(byte, index)
34 }
35 #[inline]
36 pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
37 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
38 let byte_index = index / 8;
39 let byte = unsafe {
40 *(core::ptr::addr_of!((*this).storage) as *const u8).offset(byte_index as isize)
41 };
42 Self::extract_bit(byte, index)
43 }
44 #[inline]
45 fn change_bit(byte: u8, index: usize, val: bool) -> u8 {
46 let bit_index = if cfg!(target_endian = "big") {
47 7 - (index % 8)
48 } else {
49 index % 8
50 };
51 let mask = 1 << bit_index;
52 if val { byte | mask } else { byte & !mask }
53 }
54 #[inline]
55 pub fn set_bit(&mut self, index: usize, val: bool) {
56 debug_assert!(index / 8 < self.storage.as_ref().len());
57 let byte_index = index / 8;
58 let byte = &mut self.storage.as_mut()[byte_index];
59 *byte = Self::change_bit(*byte, index, val);
60 }
61 #[inline]
62 pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
63 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
64 let byte_index = index / 8;
65 let byte = unsafe {
66 (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
67 };
68 unsafe { *byte = Self::change_bit(*byte, index, val) };
69 }
70 #[inline]
71 pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
72 debug_assert!(bit_width <= 64);
73 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
74 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
75 let mut val = 0;
76 for i in 0..(bit_width as usize) {
77 if self.get_bit(i + bit_offset) {
78 let index = if cfg!(target_endian = "big") {
79 bit_width as usize - 1 - i
80 } else {
81 i
82 };
83 val |= 1 << index;
84 }
85 }
86 val
87 }
88 #[inline]
89 pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
90 debug_assert!(bit_width <= 64);
91 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
92 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
93 let mut val = 0;
94 for i in 0..(bit_width as usize) {
95 if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
96 let index = if cfg!(target_endian = "big") {
97 bit_width as usize - 1 - i
98 } else {
99 i
100 };
101 val |= 1 << index;
102 }
103 }
104 val
105 }
106 #[inline]
107 pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
108 debug_assert!(bit_width <= 64);
109 debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
110 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
111 for i in 0..(bit_width as usize) {
112 let mask = 1 << i;
113 let val_bit_is_set = val & mask == mask;
114 let index = if cfg!(target_endian = "big") {
115 bit_width as usize - 1 - i
116 } else {
117 i
118 };
119 self.set_bit(index + bit_offset, val_bit_is_set);
120 }
121 }
122 #[inline]
123 pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
124 debug_assert!(bit_width <= 64);
125 debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
126 debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
127 for i in 0..(bit_width as usize) {
128 let mask = 1 << i;
129 let val_bit_is_set = val & mask == mask;
130 let index = if cfg!(target_endian = "big") {
131 bit_width as usize - 1 - i
132 } else {
133 i
134 };
135 unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
136 }
137 }
138}
139pub const __API_TO_BE_DEPRECATED: u32 = 100000;
140pub const __API_TO_BE_DEPRECATED_MACOS: u32 = 100000;
141pub const __API_TO_BE_DEPRECATED_MACOSAPPLICATIONEXTENSION: u32 = 100000;
142pub const __API_TO_BE_DEPRECATED_IOS: u32 = 100000;
143pub const __API_TO_BE_DEPRECATED_IOSAPPLICATIONEXTENSION: u32 = 100000;
144pub const __API_TO_BE_DEPRECATED_MACCATALYST: u32 = 100000;
145pub const __API_TO_BE_DEPRECATED_MACCATALYSTAPPLICATIONEXTENSION: u32 = 100000;
146pub const __API_TO_BE_DEPRECATED_WATCHOS: u32 = 100000;
147pub const __API_TO_BE_DEPRECATED_WATCHOSAPPLICATIONEXTENSION: u32 = 100000;
148pub const __API_TO_BE_DEPRECATED_TVOS: u32 = 100000;
149pub const __API_TO_BE_DEPRECATED_TVOSAPPLICATIONEXTENSION: u32 = 100000;
150pub const __API_TO_BE_DEPRECATED_DRIVERKIT: u32 = 100000;
151pub const __API_TO_BE_DEPRECATED_VISIONOS: u32 = 100000;
152pub const __API_TO_BE_DEPRECATED_VISIONOSAPPLICATIONEXTENSION: u32 = 100000;
153pub const __API_TO_BE_DEPRECATED_KERNELKIT: u32 = 100000;
154pub const __MAC_10_0: u32 = 1000;
155pub const __MAC_10_1: u32 = 1010;
156pub const __MAC_10_2: u32 = 1020;
157pub const __MAC_10_3: u32 = 1030;
158pub const __MAC_10_4: u32 = 1040;
159pub const __MAC_10_5: u32 = 1050;
160pub const __MAC_10_6: u32 = 1060;
161pub const __MAC_10_7: u32 = 1070;
162pub const __MAC_10_8: u32 = 1080;
163pub const __MAC_10_9: u32 = 1090;
164pub const __MAC_10_10: u32 = 101000;
165pub const __MAC_10_10_2: u32 = 101002;
166pub const __MAC_10_10_3: u32 = 101003;
167pub const __MAC_10_11: u32 = 101100;
168pub const __MAC_10_11_2: u32 = 101102;
169pub const __MAC_10_11_3: u32 = 101103;
170pub const __MAC_10_11_4: u32 = 101104;
171pub const __MAC_10_12: u32 = 101200;
172pub const __MAC_10_12_1: u32 = 101201;
173pub const __MAC_10_12_2: u32 = 101202;
174pub const __MAC_10_12_4: u32 = 101204;
175pub const __MAC_10_13: u32 = 101300;
176pub const __MAC_10_13_1: u32 = 101301;
177pub const __MAC_10_13_2: u32 = 101302;
178pub const __MAC_10_13_4: u32 = 101304;
179pub const __MAC_10_14: u32 = 101400;
180pub const __MAC_10_14_1: u32 = 101401;
181pub const __MAC_10_14_4: u32 = 101404;
182pub const __MAC_10_14_5: u32 = 101405;
183pub const __MAC_10_14_6: u32 = 101406;
184pub const __MAC_10_15: u32 = 101500;
185pub const __MAC_10_15_1: u32 = 101501;
186pub const __MAC_10_15_4: u32 = 101504;
187pub const __MAC_10_16: u32 = 101600;
188pub const __MAC_11_0: u32 = 110000;
189pub const __MAC_11_1: u32 = 110100;
190pub const __MAC_11_3: u32 = 110300;
191pub const __MAC_11_4: u32 = 110400;
192pub const __MAC_11_5: u32 = 110500;
193pub const __MAC_11_6: u32 = 110600;
194pub const __MAC_12_0: u32 = 120000;
195pub const __MAC_12_1: u32 = 120100;
196pub const __MAC_12_2: u32 = 120200;
197pub const __MAC_12_3: u32 = 120300;
198pub const __MAC_12_4: u32 = 120400;
199pub const __MAC_12_5: u32 = 120500;
200pub const __MAC_12_6: u32 = 120600;
201pub const __MAC_12_7: u32 = 120700;
202pub const __MAC_13_0: u32 = 130000;
203pub const __MAC_13_1: u32 = 130100;
204pub const __MAC_13_2: u32 = 130200;
205pub const __MAC_13_3: u32 = 130300;
206pub const __MAC_13_4: u32 = 130400;
207pub const __MAC_13_5: u32 = 130500;
208pub const __MAC_13_6: u32 = 130600;
209pub const __MAC_13_7: u32 = 130700;
210pub const __MAC_14_0: u32 = 140000;
211pub const __MAC_14_1: u32 = 140100;
212pub const __MAC_14_2: u32 = 140200;
213pub const __MAC_14_3: u32 = 140300;
214pub const __MAC_14_4: u32 = 140400;
215pub const __MAC_14_5: u32 = 140500;
216pub const __MAC_14_6: u32 = 140600;
217pub const __MAC_14_7: u32 = 140700;
218pub const __MAC_15_0: u32 = 150000;
219pub const __MAC_15_1: u32 = 150100;
220pub const __MAC_15_2: u32 = 150200;
221pub const __MAC_15_3: u32 = 150300;
222pub const __MAC_15_4: u32 = 150400;
223pub const __MAC_15_5: u32 = 150500;
224pub const __MAC_15_6: u32 = 150600;
225pub const __MAC_16_0: u32 = 160000;
226pub const __MAC_26_0: u32 = 260000;
227pub const __MAC_26_1: u32 = 260100;
228pub const __IPHONE_2_0: u32 = 20000;
229pub const __IPHONE_2_1: u32 = 20100;
230pub const __IPHONE_2_2: u32 = 20200;
231pub const __IPHONE_3_0: u32 = 30000;
232pub const __IPHONE_3_1: u32 = 30100;
233pub const __IPHONE_3_2: u32 = 30200;
234pub const __IPHONE_4_0: u32 = 40000;
235pub const __IPHONE_4_1: u32 = 40100;
236pub const __IPHONE_4_2: u32 = 40200;
237pub const __IPHONE_4_3: u32 = 40300;
238pub const __IPHONE_5_0: u32 = 50000;
239pub const __IPHONE_5_1: u32 = 50100;
240pub const __IPHONE_6_0: u32 = 60000;
241pub const __IPHONE_6_1: u32 = 60100;
242pub const __IPHONE_7_0: u32 = 70000;
243pub const __IPHONE_7_1: u32 = 70100;
244pub const __IPHONE_8_0: u32 = 80000;
245pub const __IPHONE_8_1: u32 = 80100;
246pub const __IPHONE_8_2: u32 = 80200;
247pub const __IPHONE_8_3: u32 = 80300;
248pub const __IPHONE_8_4: u32 = 80400;
249pub const __IPHONE_9_0: u32 = 90000;
250pub const __IPHONE_9_1: u32 = 90100;
251pub const __IPHONE_9_2: u32 = 90200;
252pub const __IPHONE_9_3: u32 = 90300;
253pub const __IPHONE_10_0: u32 = 100000;
254pub const __IPHONE_10_1: u32 = 100100;
255pub const __IPHONE_10_2: u32 = 100200;
256pub const __IPHONE_10_3: u32 = 100300;
257pub const __IPHONE_11_0: u32 = 110000;
258pub const __IPHONE_11_1: u32 = 110100;
259pub const __IPHONE_11_2: u32 = 110200;
260pub const __IPHONE_11_3: u32 = 110300;
261pub const __IPHONE_11_4: u32 = 110400;
262pub const __IPHONE_12_0: u32 = 120000;
263pub const __IPHONE_12_1: u32 = 120100;
264pub const __IPHONE_12_2: u32 = 120200;
265pub const __IPHONE_12_3: u32 = 120300;
266pub const __IPHONE_12_4: u32 = 120400;
267pub const __IPHONE_13_0: u32 = 130000;
268pub const __IPHONE_13_1: u32 = 130100;
269pub const __IPHONE_13_2: u32 = 130200;
270pub const __IPHONE_13_3: u32 = 130300;
271pub const __IPHONE_13_4: u32 = 130400;
272pub const __IPHONE_13_5: u32 = 130500;
273pub const __IPHONE_13_6: u32 = 130600;
274pub const __IPHONE_13_7: u32 = 130700;
275pub const __IPHONE_14_0: u32 = 140000;
276pub const __IPHONE_14_1: u32 = 140100;
277pub const __IPHONE_14_2: u32 = 140200;
278pub const __IPHONE_14_3: u32 = 140300;
279pub const __IPHONE_14_5: u32 = 140500;
280pub const __IPHONE_14_6: u32 = 140600;
281pub const __IPHONE_14_7: u32 = 140700;
282pub const __IPHONE_14_8: u32 = 140800;
283pub const __IPHONE_15_0: u32 = 150000;
284pub const __IPHONE_15_1: u32 = 150100;
285pub const __IPHONE_15_2: u32 = 150200;
286pub const __IPHONE_15_3: u32 = 150300;
287pub const __IPHONE_15_4: u32 = 150400;
288pub const __IPHONE_15_5: u32 = 150500;
289pub const __IPHONE_15_6: u32 = 150600;
290pub const __IPHONE_15_7: u32 = 150700;
291pub const __IPHONE_15_8: u32 = 150800;
292pub const __IPHONE_16_0: u32 = 160000;
293pub const __IPHONE_16_1: u32 = 160100;
294pub const __IPHONE_16_2: u32 = 160200;
295pub const __IPHONE_16_3: u32 = 160300;
296pub const __IPHONE_16_4: u32 = 160400;
297pub const __IPHONE_16_5: u32 = 160500;
298pub const __IPHONE_16_6: u32 = 160600;
299pub const __IPHONE_16_7: u32 = 160700;
300pub const __IPHONE_17_0: u32 = 170000;
301pub const __IPHONE_17_1: u32 = 170100;
302pub const __IPHONE_17_2: u32 = 170200;
303pub const __IPHONE_17_3: u32 = 170300;
304pub const __IPHONE_17_4: u32 = 170400;
305pub const __IPHONE_17_5: u32 = 170500;
306pub const __IPHONE_17_6: u32 = 170600;
307pub const __IPHONE_17_7: u32 = 170700;
308pub const __IPHONE_18_0: u32 = 180000;
309pub const __IPHONE_18_1: u32 = 180100;
310pub const __IPHONE_18_2: u32 = 180200;
311pub const __IPHONE_18_3: u32 = 180300;
312pub const __IPHONE_18_4: u32 = 180400;
313pub const __IPHONE_18_5: u32 = 180500;
314pub const __IPHONE_18_6: u32 = 180600;
315pub const __IPHONE_19_0: u32 = 190000;
316pub const __IPHONE_26_0: u32 = 260000;
317pub const __IPHONE_26_1: u32 = 260100;
318pub const __WATCHOS_1_0: u32 = 10000;
319pub const __WATCHOS_2_0: u32 = 20000;
320pub const __WATCHOS_2_1: u32 = 20100;
321pub const __WATCHOS_2_2: u32 = 20200;
322pub const __WATCHOS_3_0: u32 = 30000;
323pub const __WATCHOS_3_1: u32 = 30100;
324pub const __WATCHOS_3_1_1: u32 = 30101;
325pub const __WATCHOS_3_2: u32 = 30200;
326pub const __WATCHOS_4_0: u32 = 40000;
327pub const __WATCHOS_4_1: u32 = 40100;
328pub const __WATCHOS_4_2: u32 = 40200;
329pub const __WATCHOS_4_3: u32 = 40300;
330pub const __WATCHOS_5_0: u32 = 50000;
331pub const __WATCHOS_5_1: u32 = 50100;
332pub const __WATCHOS_5_2: u32 = 50200;
333pub const __WATCHOS_5_3: u32 = 50300;
334pub const __WATCHOS_6_0: u32 = 60000;
335pub const __WATCHOS_6_1: u32 = 60100;
336pub const __WATCHOS_6_2: u32 = 60200;
337pub const __WATCHOS_7_0: u32 = 70000;
338pub const __WATCHOS_7_1: u32 = 70100;
339pub const __WATCHOS_7_2: u32 = 70200;
340pub const __WATCHOS_7_3: u32 = 70300;
341pub const __WATCHOS_7_4: u32 = 70400;
342pub const __WATCHOS_7_5: u32 = 70500;
343pub const __WATCHOS_7_6: u32 = 70600;
344pub const __WATCHOS_8_0: u32 = 80000;
345pub const __WATCHOS_8_1: u32 = 80100;
346pub const __WATCHOS_8_3: u32 = 80300;
347pub const __WATCHOS_8_4: u32 = 80400;
348pub const __WATCHOS_8_5: u32 = 80500;
349pub const __WATCHOS_8_6: u32 = 80600;
350pub const __WATCHOS_8_7: u32 = 80700;
351pub const __WATCHOS_8_8: u32 = 80800;
352pub const __WATCHOS_9_0: u32 = 90000;
353pub const __WATCHOS_9_1: u32 = 90100;
354pub const __WATCHOS_9_2: u32 = 90200;
355pub const __WATCHOS_9_3: u32 = 90300;
356pub const __WATCHOS_9_4: u32 = 90400;
357pub const __WATCHOS_9_5: u32 = 90500;
358pub const __WATCHOS_9_6: u32 = 90600;
359pub const __WATCHOS_10_0: u32 = 100000;
360pub const __WATCHOS_10_1: u32 = 100100;
361pub const __WATCHOS_10_2: u32 = 100200;
362pub const __WATCHOS_10_3: u32 = 100300;
363pub const __WATCHOS_10_4: u32 = 100400;
364pub const __WATCHOS_10_5: u32 = 100500;
365pub const __WATCHOS_10_6: u32 = 100600;
366pub const __WATCHOS_10_7: u32 = 100700;
367pub const __WATCHOS_11_0: u32 = 110000;
368pub const __WATCHOS_11_1: u32 = 110100;
369pub const __WATCHOS_11_2: u32 = 110200;
370pub const __WATCHOS_11_3: u32 = 110300;
371pub const __WATCHOS_11_4: u32 = 110400;
372pub const __WATCHOS_11_5: u32 = 110500;
373pub const __WATCHOS_11_6: u32 = 110600;
374pub const __WATCHOS_12_0: u32 = 120000;
375pub const __WATCHOS_26_0: u32 = 260000;
376pub const __WATCHOS_26_1: u32 = 260100;
377pub const __TVOS_9_0: u32 = 90000;
378pub const __TVOS_9_1: u32 = 90100;
379pub const __TVOS_9_2: u32 = 90200;
380pub const __TVOS_10_0: u32 = 100000;
381pub const __TVOS_10_0_1: u32 = 100001;
382pub const __TVOS_10_1: u32 = 100100;
383pub const __TVOS_10_2: u32 = 100200;
384pub const __TVOS_11_0: u32 = 110000;
385pub const __TVOS_11_1: u32 = 110100;
386pub const __TVOS_11_2: u32 = 110200;
387pub const __TVOS_11_3: u32 = 110300;
388pub const __TVOS_11_4: u32 = 110400;
389pub const __TVOS_12_0: u32 = 120000;
390pub const __TVOS_12_1: u32 = 120100;
391pub const __TVOS_12_2: u32 = 120200;
392pub const __TVOS_12_3: u32 = 120300;
393pub const __TVOS_12_4: u32 = 120400;
394pub const __TVOS_13_0: u32 = 130000;
395pub const __TVOS_13_2: u32 = 130200;
396pub const __TVOS_13_3: u32 = 130300;
397pub const __TVOS_13_4: u32 = 130400;
398pub const __TVOS_14_0: u32 = 140000;
399pub const __TVOS_14_1: u32 = 140100;
400pub const __TVOS_14_2: u32 = 140200;
401pub const __TVOS_14_3: u32 = 140300;
402pub const __TVOS_14_5: u32 = 140500;
403pub const __TVOS_14_6: u32 = 140600;
404pub const __TVOS_14_7: u32 = 140700;
405pub const __TVOS_15_0: u32 = 150000;
406pub const __TVOS_15_1: u32 = 150100;
407pub const __TVOS_15_2: u32 = 150200;
408pub const __TVOS_15_3: u32 = 150300;
409pub const __TVOS_15_4: u32 = 150400;
410pub const __TVOS_15_5: u32 = 150500;
411pub const __TVOS_15_6: u32 = 150600;
412pub const __TVOS_16_0: u32 = 160000;
413pub const __TVOS_16_1: u32 = 160100;
414pub const __TVOS_16_2: u32 = 160200;
415pub const __TVOS_16_3: u32 = 160300;
416pub const __TVOS_16_4: u32 = 160400;
417pub const __TVOS_16_5: u32 = 160500;
418pub const __TVOS_16_6: u32 = 160600;
419pub const __TVOS_17_0: u32 = 170000;
420pub const __TVOS_17_1: u32 = 170100;
421pub const __TVOS_17_2: u32 = 170200;
422pub const __TVOS_17_3: u32 = 170300;
423pub const __TVOS_17_4: u32 = 170400;
424pub const __TVOS_17_5: u32 = 170500;
425pub const __TVOS_17_6: u32 = 170600;
426pub const __TVOS_18_0: u32 = 180000;
427pub const __TVOS_18_1: u32 = 180100;
428pub const __TVOS_18_2: u32 = 180200;
429pub const __TVOS_18_3: u32 = 180300;
430pub const __TVOS_18_4: u32 = 180400;
431pub const __TVOS_18_5: u32 = 180500;
432pub const __TVOS_18_6: u32 = 180600;
433pub const __TVOS_19_0: u32 = 190000;
434pub const __TVOS_26_0: u32 = 260000;
435pub const __TVOS_26_1: u32 = 260100;
436pub const __BRIDGEOS_2_0: u32 = 20000;
437pub const __BRIDGEOS_3_0: u32 = 30000;
438pub const __BRIDGEOS_3_1: u32 = 30100;
439pub const __BRIDGEOS_3_4: u32 = 30400;
440pub const __BRIDGEOS_4_0: u32 = 40000;
441pub const __BRIDGEOS_4_1: u32 = 40100;
442pub const __BRIDGEOS_5_0: u32 = 50000;
443pub const __BRIDGEOS_5_1: u32 = 50100;
444pub const __BRIDGEOS_5_3: u32 = 50300;
445pub const __BRIDGEOS_6_0: u32 = 60000;
446pub const __BRIDGEOS_6_2: u32 = 60200;
447pub const __BRIDGEOS_6_4: u32 = 60400;
448pub const __BRIDGEOS_6_5: u32 = 60500;
449pub const __BRIDGEOS_6_6: u32 = 60600;
450pub const __BRIDGEOS_7_0: u32 = 70000;
451pub const __BRIDGEOS_7_1: u32 = 70100;
452pub const __BRIDGEOS_7_2: u32 = 70200;
453pub const __BRIDGEOS_7_3: u32 = 70300;
454pub const __BRIDGEOS_7_4: u32 = 70400;
455pub const __BRIDGEOS_7_6: u32 = 70600;
456pub const __BRIDGEOS_8_0: u32 = 80000;
457pub const __BRIDGEOS_8_1: u32 = 80100;
458pub const __BRIDGEOS_8_2: u32 = 80200;
459pub const __BRIDGEOS_8_3: u32 = 80300;
460pub const __BRIDGEOS_8_4: u32 = 80400;
461pub const __BRIDGEOS_8_5: u32 = 80500;
462pub const __BRIDGEOS_8_6: u32 = 80600;
463pub const __BRIDGEOS_9_0: u32 = 90000;
464pub const __BRIDGEOS_9_1: u32 = 90100;
465pub const __BRIDGEOS_9_2: u32 = 90200;
466pub const __BRIDGEOS_9_3: u32 = 90300;
467pub const __BRIDGEOS_9_4: u32 = 90400;
468pub const __BRIDGEOS_9_5: u32 = 90500;
469pub const __BRIDGEOS_9_6: u32 = 90600;
470pub const __BRIDGEOS_10_0: u32 = 100000;
471pub const __BRIDGEOS_10_1: u32 = 100100;
472pub const __DRIVERKIT_19_0: u32 = 190000;
473pub const __DRIVERKIT_20_0: u32 = 200000;
474pub const __DRIVERKIT_21_0: u32 = 210000;
475pub const __DRIVERKIT_22_0: u32 = 220000;
476pub const __DRIVERKIT_22_4: u32 = 220400;
477pub const __DRIVERKIT_22_5: u32 = 220500;
478pub const __DRIVERKIT_22_6: u32 = 220600;
479pub const __DRIVERKIT_23_0: u32 = 230000;
480pub const __DRIVERKIT_23_1: u32 = 230100;
481pub const __DRIVERKIT_23_2: u32 = 230200;
482pub const __DRIVERKIT_23_3: u32 = 230300;
483pub const __DRIVERKIT_23_4: u32 = 230400;
484pub const __DRIVERKIT_23_5: u32 = 230500;
485pub const __DRIVERKIT_23_6: u32 = 230600;
486pub const __DRIVERKIT_24_0: u32 = 240000;
487pub const __DRIVERKIT_24_1: u32 = 240100;
488pub const __DRIVERKIT_24_2: u32 = 240200;
489pub const __DRIVERKIT_24_3: u32 = 240300;
490pub const __DRIVERKIT_24_4: u32 = 240400;
491pub const __DRIVERKIT_24_5: u32 = 240500;
492pub const __DRIVERKIT_24_6: u32 = 240600;
493pub const __DRIVERKIT_25_0: u32 = 250000;
494pub const __DRIVERKIT_25_1: u32 = 250100;
495pub const __VISIONOS_1_0: u32 = 10000;
496pub const __VISIONOS_1_1: u32 = 10100;
497pub const __VISIONOS_1_2: u32 = 10200;
498pub const __VISIONOS_1_3: u32 = 10300;
499pub const __VISIONOS_2_0: u32 = 20000;
500pub const __VISIONOS_2_1: u32 = 20100;
501pub const __VISIONOS_2_2: u32 = 20200;
502pub const __VISIONOS_2_3: u32 = 20300;
503pub const __VISIONOS_2_4: u32 = 20400;
504pub const __VISIONOS_2_5: u32 = 20500;
505pub const __VISIONOS_2_6: u32 = 20600;
506pub const __VISIONOS_3_0: u32 = 30000;
507pub const __VISIONOS_26_0: u32 = 260000;
508pub const __VISIONOS_26_1: u32 = 260100;
509pub const MAC_OS_X_VERSION_10_0: u32 = 1000;
510pub const MAC_OS_X_VERSION_10_1: u32 = 1010;
511pub const MAC_OS_X_VERSION_10_2: u32 = 1020;
512pub const MAC_OS_X_VERSION_10_3: u32 = 1030;
513pub const MAC_OS_X_VERSION_10_4: u32 = 1040;
514pub const MAC_OS_X_VERSION_10_5: u32 = 1050;
515pub const MAC_OS_X_VERSION_10_6: u32 = 1060;
516pub const MAC_OS_X_VERSION_10_7: u32 = 1070;
517pub const MAC_OS_X_VERSION_10_8: u32 = 1080;
518pub const MAC_OS_X_VERSION_10_9: u32 = 1090;
519pub const MAC_OS_X_VERSION_10_10: u32 = 101000;
520pub const MAC_OS_X_VERSION_10_10_2: u32 = 101002;
521pub const MAC_OS_X_VERSION_10_10_3: u32 = 101003;
522pub const MAC_OS_X_VERSION_10_11: u32 = 101100;
523pub const MAC_OS_X_VERSION_10_11_2: u32 = 101102;
524pub const MAC_OS_X_VERSION_10_11_3: u32 = 101103;
525pub const MAC_OS_X_VERSION_10_11_4: u32 = 101104;
526pub const MAC_OS_X_VERSION_10_12: u32 = 101200;
527pub const MAC_OS_X_VERSION_10_12_1: u32 = 101201;
528pub const MAC_OS_X_VERSION_10_12_2: u32 = 101202;
529pub const MAC_OS_X_VERSION_10_12_4: u32 = 101204;
530pub const MAC_OS_X_VERSION_10_13: u32 = 101300;
531pub const MAC_OS_X_VERSION_10_13_1: u32 = 101301;
532pub const MAC_OS_X_VERSION_10_13_2: u32 = 101302;
533pub const MAC_OS_X_VERSION_10_13_4: u32 = 101304;
534pub const MAC_OS_X_VERSION_10_14: u32 = 101400;
535pub const MAC_OS_X_VERSION_10_14_1: u32 = 101401;
536pub const MAC_OS_X_VERSION_10_14_4: u32 = 101404;
537pub const MAC_OS_X_VERSION_10_14_5: u32 = 101405;
538pub const MAC_OS_X_VERSION_10_14_6: u32 = 101406;
539pub const MAC_OS_X_VERSION_10_15: u32 = 101500;
540pub const MAC_OS_X_VERSION_10_15_1: u32 = 101501;
541pub const MAC_OS_X_VERSION_10_15_4: u32 = 101504;
542pub const MAC_OS_X_VERSION_10_16: u32 = 101600;
543pub const MAC_OS_VERSION_11_0: u32 = 110000;
544pub const MAC_OS_VERSION_11_1: u32 = 110100;
545pub const MAC_OS_VERSION_11_3: u32 = 110300;
546pub const MAC_OS_VERSION_11_4: u32 = 110400;
547pub const MAC_OS_VERSION_11_5: u32 = 110500;
548pub const MAC_OS_VERSION_11_6: u32 = 110600;
549pub const MAC_OS_VERSION_12_0: u32 = 120000;
550pub const MAC_OS_VERSION_12_1: u32 = 120100;
551pub const MAC_OS_VERSION_12_2: u32 = 120200;
552pub const MAC_OS_VERSION_12_3: u32 = 120300;
553pub const MAC_OS_VERSION_12_4: u32 = 120400;
554pub const MAC_OS_VERSION_12_5: u32 = 120500;
555pub const MAC_OS_VERSION_12_6: u32 = 120600;
556pub const MAC_OS_VERSION_12_7: u32 = 120700;
557pub const MAC_OS_VERSION_13_0: u32 = 130000;
558pub const MAC_OS_VERSION_13_1: u32 = 130100;
559pub const MAC_OS_VERSION_13_2: u32 = 130200;
560pub const MAC_OS_VERSION_13_3: u32 = 130300;
561pub const MAC_OS_VERSION_13_4: u32 = 130400;
562pub const MAC_OS_VERSION_13_5: u32 = 130500;
563pub const MAC_OS_VERSION_13_6: u32 = 130600;
564pub const MAC_OS_VERSION_13_7: u32 = 130700;
565pub const MAC_OS_VERSION_14_0: u32 = 140000;
566pub const MAC_OS_VERSION_14_1: u32 = 140100;
567pub const MAC_OS_VERSION_14_2: u32 = 140200;
568pub const MAC_OS_VERSION_14_3: u32 = 140300;
569pub const MAC_OS_VERSION_14_4: u32 = 140400;
570pub const MAC_OS_VERSION_14_5: u32 = 140500;
571pub const MAC_OS_VERSION_14_6: u32 = 140600;
572pub const MAC_OS_VERSION_14_7: u32 = 140700;
573pub const MAC_OS_VERSION_15_0: u32 = 150000;
574pub const MAC_OS_VERSION_15_1: u32 = 150100;
575pub const MAC_OS_VERSION_15_2: u32 = 150200;
576pub const MAC_OS_VERSION_15_3: u32 = 150300;
577pub const MAC_OS_VERSION_15_4: u32 = 150400;
578pub const MAC_OS_VERSION_15_5: u32 = 150500;
579pub const MAC_OS_VERSION_15_6: u32 = 150600;
580pub const MAC_OS_VERSION_16_0: u32 = 160000;
581pub const MAC_OS_VERSION_26_0: u32 = 260000;
582pub const MAC_OS_VERSION_26_1: u32 = 260100;
583pub const __AVAILABILITY_VERSIONS_VERSION_HASH: u32 = 93585900;
584pub const __AVAILABILITY_VERSIONS_VERSION_STRING: &[u8; 6] = b"Local\0";
585pub const __AVAILABILITY_FILE: &[u8; 23] = b"AvailabilityVersions.h\0";
586pub const __MAC_OS_X_VERSION_MAX_ALLOWED: u32 = 260100;
587pub const __ENABLE_LEGACY_MAC_AVAILABILITY: u32 = 1;
588pub const __has_safe_buffers: u32 = 1;
589pub const __DARWIN_ONLY_64_BIT_INO_T: u32 = 1;
590pub const __DARWIN_ONLY_UNIX_CONFORMANCE: u32 = 1;
591pub const __DARWIN_ONLY_VERS_1050: u32 = 1;
592pub const __DARWIN_UNIX03: u32 = 1;
593pub const __DARWIN_64_BIT_INO_T: u32 = 1;
594pub const __DARWIN_VERS_1050: u32 = 1;
595pub const __DARWIN_NON_CANCELABLE: u32 = 0;
596pub const __DARWIN_SUF_EXTSN: &[u8; 14] = b"$DARWIN_EXTSN\0";
597pub const __DARWIN_C_ANSI: u32 = 4096;
598pub const __DARWIN_C_FULL: u32 = 900000;
599pub const __DARWIN_C_LEVEL: u32 = 900000;
600pub const __STDC_WANT_LIB_EXT1__: u32 = 1;
601pub const __DARWIN_NO_LONG_LONG: u32 = 0;
602pub const _DARWIN_FEATURE_64_BIT_INODE: u32 = 1;
603pub const _DARWIN_FEATURE_ONLY_64_BIT_INODE: u32 = 1;
604pub const _DARWIN_FEATURE_ONLY_VERS_1050: u32 = 1;
605pub const _DARWIN_FEATURE_ONLY_UNIX_CONFORMANCE: u32 = 1;
606pub const _DARWIN_FEATURE_UNIX_CONFORMANCE: u32 = 3;
607pub const __has_ptrcheck: u32 = 0;
608pub const __has_bounds_safety_attributes: u32 = 0;
609pub const USE_CLANG_TYPES: u32 = 0;
610pub const __PTHREAD_SIZE__: u32 = 8176;
611pub const __PTHREAD_ATTR_SIZE__: u32 = 56;
612pub const __PTHREAD_MUTEXATTR_SIZE__: u32 = 8;
613pub const __PTHREAD_MUTEX_SIZE__: u32 = 56;
614pub const __PTHREAD_CONDATTR_SIZE__: u32 = 8;
615pub const __PTHREAD_COND_SIZE__: u32 = 40;
616pub const __PTHREAD_ONCE_SIZE__: u32 = 8;
617pub const __PTHREAD_RWLOCK_SIZE__: u32 = 192;
618pub const __PTHREAD_RWLOCKATTR_SIZE__: u32 = 16;
619pub const __DARWIN_WCHAR_MIN: i32 = -2147483648;
620pub const _FORTIFY_SOURCE: u32 = 2;
621pub const __DARWIN_NSIG: u32 = 32;
622pub const NSIG: u32 = 32;
623pub const _ARM_SIGNAL_: u32 = 1;
624pub const SIGHUP: u32 = 1;
625pub const SIGINT: u32 = 2;
626pub const SIGQUIT: u32 = 3;
627pub const SIGILL: u32 = 4;
628pub const SIGTRAP: u32 = 5;
629pub const SIGABRT: u32 = 6;
630pub const SIGIOT: u32 = 6;
631pub const SIGEMT: u32 = 7;
632pub const SIGFPE: u32 = 8;
633pub const SIGKILL: u32 = 9;
634pub const SIGBUS: u32 = 10;
635pub const SIGSEGV: u32 = 11;
636pub const SIGSYS: u32 = 12;
637pub const SIGPIPE: u32 = 13;
638pub const SIGALRM: u32 = 14;
639pub const SIGTERM: u32 = 15;
640pub const SIGURG: u32 = 16;
641pub const SIGSTOP: u32 = 17;
642pub const SIGTSTP: u32 = 18;
643pub const SIGCONT: u32 = 19;
644pub const SIGCHLD: u32 = 20;
645pub const SIGTTIN: u32 = 21;
646pub const SIGTTOU: u32 = 22;
647pub const SIGIO: u32 = 23;
648pub const SIGXCPU: u32 = 24;
649pub const SIGXFSZ: u32 = 25;
650pub const SIGVTALRM: u32 = 26;
651pub const SIGPROF: u32 = 27;
652pub const SIGWINCH: u32 = 28;
653pub const SIGINFO: u32 = 29;
654pub const SIGUSR1: u32 = 30;
655pub const SIGUSR2: u32 = 31;
656pub const __DARWIN_OPAQUE_ARM_THREAD_STATE64: u32 = 0;
657pub const USE_CLANG_STDDEF: u32 = 0;
658pub const SIGEV_NONE: u32 = 0;
659pub const SIGEV_SIGNAL: u32 = 1;
660pub const SIGEV_THREAD: u32 = 3;
661pub const SIGEV_KEVENT: u32 = 4;
662pub const ILL_NOOP: u32 = 0;
663pub const ILL_ILLOPC: u32 = 1;
664pub const ILL_ILLTRP: u32 = 2;
665pub const ILL_PRVOPC: u32 = 3;
666pub const ILL_ILLOPN: u32 = 4;
667pub const ILL_ILLADR: u32 = 5;
668pub const ILL_PRVREG: u32 = 6;
669pub const ILL_COPROC: u32 = 7;
670pub const ILL_BADSTK: u32 = 8;
671pub const FPE_NOOP: u32 = 0;
672pub const FPE_FLTDIV: u32 = 1;
673pub const FPE_FLTOVF: u32 = 2;
674pub const FPE_FLTUND: u32 = 3;
675pub const FPE_FLTRES: u32 = 4;
676pub const FPE_FLTINV: u32 = 5;
677pub const FPE_FLTSUB: u32 = 6;
678pub const FPE_INTDIV: u32 = 7;
679pub const FPE_INTOVF: u32 = 8;
680pub const SEGV_NOOP: u32 = 0;
681pub const SEGV_MAPERR: u32 = 1;
682pub const SEGV_ACCERR: u32 = 2;
683pub const BUS_NOOP: u32 = 0;
684pub const BUS_ADRALN: u32 = 1;
685pub const BUS_ADRERR: u32 = 2;
686pub const BUS_OBJERR: u32 = 3;
687pub const TRAP_BRKPT: u32 = 1;
688pub const TRAP_TRACE: u32 = 2;
689pub const CLD_NOOP: u32 = 0;
690pub const CLD_EXITED: u32 = 1;
691pub const CLD_KILLED: u32 = 2;
692pub const CLD_DUMPED: u32 = 3;
693pub const CLD_TRAPPED: u32 = 4;
694pub const CLD_STOPPED: u32 = 5;
695pub const CLD_CONTINUED: u32 = 6;
696pub const POLL_IN: u32 = 1;
697pub const POLL_OUT: u32 = 2;
698pub const POLL_MSG: u32 = 3;
699pub const POLL_ERR: u32 = 4;
700pub const POLL_PRI: u32 = 5;
701pub const POLL_HUP: u32 = 6;
702pub const SA_ONSTACK: u32 = 1;
703pub const SA_RESTART: u32 = 2;
704pub const SA_RESETHAND: u32 = 4;
705pub const SA_NOCLDSTOP: u32 = 8;
706pub const SA_NODEFER: u32 = 16;
707pub const SA_NOCLDWAIT: u32 = 32;
708pub const SA_SIGINFO: u32 = 64;
709pub const SA_USERTRAMP: u32 = 256;
710pub const SA_64REGSET: u32 = 512;
711pub const SA_USERSPACE_MASK: u32 = 127;
712pub const SIG_BLOCK: u32 = 1;
713pub const SIG_UNBLOCK: u32 = 2;
714pub const SIG_SETMASK: u32 = 3;
715pub const SI_USER: u32 = 65537;
716pub const SI_QUEUE: u32 = 65538;
717pub const SI_TIMER: u32 = 65539;
718pub const SI_ASYNCIO: u32 = 65540;
719pub const SI_MESGQ: u32 = 65541;
720pub const SS_ONSTACK: u32 = 1;
721pub const SS_DISABLE: u32 = 4;
722pub const MINSIGSTKSZ: u32 = 32768;
723pub const SIGSTKSZ: u32 = 131072;
724pub const SV_ONSTACK: u32 = 1;
725pub const SV_INTERRUPT: u32 = 2;
726pub const SV_RESETHAND: u32 = 4;
727pub const SV_NODEFER: u32 = 16;
728pub const SV_NOCLDSTOP: u32 = 8;
729pub const SV_SIGINFO: u32 = 64;
730pub const __WORDSIZE: u32 = 64;
731pub const INT8_MAX: u32 = 127;
732pub const INT16_MAX: u32 = 32767;
733pub const INT32_MAX: u32 = 2147483647;
734pub const INT64_MAX: u64 = 9223372036854775807;
735pub const INT8_MIN: i32 = -128;
736pub const INT16_MIN: i32 = -32768;
737pub const INT32_MIN: i32 = -2147483648;
738pub const INT64_MIN: i64 = -9223372036854775808;
739pub const UINT8_MAX: u32 = 255;
740pub const UINT16_MAX: u32 = 65535;
741pub const UINT32_MAX: u32 = 4294967295;
742pub const UINT64_MAX: i32 = -1;
743pub const INT_LEAST8_MIN: i32 = -128;
744pub const INT_LEAST16_MIN: i32 = -32768;
745pub const INT_LEAST32_MIN: i32 = -2147483648;
746pub const INT_LEAST64_MIN: i64 = -9223372036854775808;
747pub const INT_LEAST8_MAX: u32 = 127;
748pub const INT_LEAST16_MAX: u32 = 32767;
749pub const INT_LEAST32_MAX: u32 = 2147483647;
750pub const INT_LEAST64_MAX: u64 = 9223372036854775807;
751pub const UINT_LEAST8_MAX: u32 = 255;
752pub const UINT_LEAST16_MAX: u32 = 65535;
753pub const UINT_LEAST32_MAX: u32 = 4294967295;
754pub const UINT_LEAST64_MAX: i32 = -1;
755pub const INT_FAST8_MIN: i32 = -128;
756pub const INT_FAST16_MIN: i32 = -32768;
757pub const INT_FAST32_MIN: i32 = -2147483648;
758pub const INT_FAST64_MIN: i64 = -9223372036854775808;
759pub const INT_FAST8_MAX: u32 = 127;
760pub const INT_FAST16_MAX: u32 = 32767;
761pub const INT_FAST32_MAX: u32 = 2147483647;
762pub const INT_FAST64_MAX: u64 = 9223372036854775807;
763pub const UINT_FAST8_MAX: u32 = 255;
764pub const UINT_FAST16_MAX: u32 = 65535;
765pub const UINT_FAST32_MAX: u32 = 4294967295;
766pub const UINT_FAST64_MAX: i32 = -1;
767pub const INTPTR_MAX: u64 = 9223372036854775807;
768pub const INTPTR_MIN: i64 = -9223372036854775808;
769pub const UINTPTR_MAX: i32 = -1;
770pub const SIZE_MAX: i32 = -1;
771pub const RSIZE_MAX: i32 = -1;
772pub const WINT_MIN: i32 = -2147483648;
773pub const WINT_MAX: u32 = 2147483647;
774pub const SIG_ATOMIC_MIN: i32 = -2147483648;
775pub const SIG_ATOMIC_MAX: u32 = 2147483647;
776pub const PRIO_PROCESS: u32 = 0;
777pub const PRIO_PGRP: u32 = 1;
778pub const PRIO_USER: u32 = 2;
779pub const PRIO_DARWIN_THREAD: u32 = 3;
780pub const PRIO_DARWIN_PROCESS: u32 = 4;
781pub const PRIO_MIN: i32 = -20;
782pub const PRIO_MAX: u32 = 20;
783pub const PRIO_DARWIN_BG: u32 = 4096;
784pub const PRIO_DARWIN_NONUI: u32 = 4097;
785pub const RUSAGE_SELF: u32 = 0;
786pub const RUSAGE_CHILDREN: i32 = -1;
787pub const RUSAGE_INFO_V0: u32 = 0;
788pub const RUSAGE_INFO_V1: u32 = 1;
789pub const RUSAGE_INFO_V2: u32 = 2;
790pub const RUSAGE_INFO_V3: u32 = 3;
791pub const RUSAGE_INFO_V4: u32 = 4;
792pub const RUSAGE_INFO_V5: u32 = 5;
793pub const RUSAGE_INFO_V6: u32 = 6;
794pub const RUSAGE_INFO_CURRENT: u32 = 6;
795pub const RU_PROC_RUNS_RESLIDE: u32 = 1;
796pub const RLIMIT_CPU: u32 = 0;
797pub const RLIMIT_FSIZE: u32 = 1;
798pub const RLIMIT_DATA: u32 = 2;
799pub const RLIMIT_STACK: u32 = 3;
800pub const RLIMIT_CORE: u32 = 4;
801pub const RLIMIT_AS: u32 = 5;
802pub const RLIMIT_RSS: u32 = 5;
803pub const RLIMIT_MEMLOCK: u32 = 6;
804pub const RLIMIT_NPROC: u32 = 7;
805pub const RLIMIT_NOFILE: u32 = 8;
806pub const RLIM_NLIMITS: u32 = 9;
807pub const _RLIMIT_POSIX_FLAG: u32 = 4096;
808pub const RLIMIT_WAKEUPS_MONITOR: u32 = 1;
809pub const RLIMIT_CPU_USAGE_MONITOR: u32 = 2;
810pub const RLIMIT_THREAD_CPULIMITS: u32 = 3;
811pub const RLIMIT_FOOTPRINT_INTERVAL: u32 = 4;
812pub const WAKEMON_ENABLE: u32 = 1;
813pub const WAKEMON_DISABLE: u32 = 2;
814pub const WAKEMON_GET_PARAMS: u32 = 4;
815pub const WAKEMON_SET_DEFAULTS: u32 = 8;
816pub const WAKEMON_MAKE_FATAL: u32 = 16;
817pub const CPUMON_MAKE_FATAL: u32 = 4096;
818pub const FOOTPRINT_INTERVAL_RESET: u32 = 1;
819pub const IOPOL_TYPE_DISK: u32 = 0;
820pub const IOPOL_TYPE_VFS_ATIME_UPDATES: u32 = 2;
821pub const IOPOL_TYPE_VFS_MATERIALIZE_DATALESS_FILES: u32 = 3;
822pub const IOPOL_TYPE_VFS_STATFS_NO_DATA_VOLUME: u32 = 4;
823pub const IOPOL_TYPE_VFS_TRIGGER_RESOLVE: u32 = 5;
824pub const IOPOL_TYPE_VFS_IGNORE_CONTENT_PROTECTION: u32 = 6;
825pub const IOPOL_TYPE_VFS_IGNORE_PERMISSIONS: u32 = 7;
826pub const IOPOL_TYPE_VFS_SKIP_MTIME_UPDATE: u32 = 8;
827pub const IOPOL_TYPE_VFS_ALLOW_LOW_SPACE_WRITES: u32 = 9;
828pub const IOPOL_TYPE_VFS_DISALLOW_RW_FOR_O_EVTONLY: u32 = 10;
829pub const IOPOL_TYPE_VFS_ENTITLED_RESERVE_ACCESS: u32 = 14;
830pub const IOPOL_SCOPE_PROCESS: u32 = 0;
831pub const IOPOL_SCOPE_THREAD: u32 = 1;
832pub const IOPOL_SCOPE_DARWIN_BG: u32 = 2;
833pub const IOPOL_DEFAULT: u32 = 0;
834pub const IOPOL_IMPORTANT: u32 = 1;
835pub const IOPOL_PASSIVE: u32 = 2;
836pub const IOPOL_THROTTLE: u32 = 3;
837pub const IOPOL_UTILITY: u32 = 4;
838pub const IOPOL_STANDARD: u32 = 5;
839pub const IOPOL_APPLICATION: u32 = 5;
840pub const IOPOL_NORMAL: u32 = 1;
841pub const IOPOL_ATIME_UPDATES_DEFAULT: u32 = 0;
842pub const IOPOL_ATIME_UPDATES_OFF: u32 = 1;
843pub const IOPOL_MATERIALIZE_DATALESS_FILES_DEFAULT: u32 = 0;
844pub const IOPOL_MATERIALIZE_DATALESS_FILES_OFF: u32 = 1;
845pub const IOPOL_MATERIALIZE_DATALESS_FILES_ON: u32 = 2;
846pub const IOPOL_MATERIALIZE_DATALESS_FILES_ORIG: u32 = 4;
847pub const IOPOL_MATERIALIZE_DATALESS_FILES_BASIC_MASK: u32 = 3;
848pub const IOPOL_VFS_STATFS_NO_DATA_VOLUME_DEFAULT: u32 = 0;
849pub const IOPOL_VFS_STATFS_FORCE_NO_DATA_VOLUME: u32 = 1;
850pub const IOPOL_VFS_TRIGGER_RESOLVE_DEFAULT: u32 = 0;
851pub const IOPOL_VFS_TRIGGER_RESOLVE_OFF: u32 = 1;
852pub const IOPOL_VFS_CONTENT_PROTECTION_DEFAULT: u32 = 0;
853pub const IOPOL_VFS_CONTENT_PROTECTION_IGNORE: u32 = 1;
854pub const IOPOL_VFS_IGNORE_PERMISSIONS_OFF: u32 = 0;
855pub const IOPOL_VFS_IGNORE_PERMISSIONS_ON: u32 = 1;
856pub const IOPOL_VFS_SKIP_MTIME_UPDATE_OFF: u32 = 0;
857pub const IOPOL_VFS_SKIP_MTIME_UPDATE_ON: u32 = 1;
858pub const IOPOL_VFS_SKIP_MTIME_UPDATE_IGNORE: u32 = 2;
859pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_OFF: u32 = 0;
860pub const IOPOL_VFS_ALLOW_LOW_SPACE_WRITES_ON: u32 = 1;
861pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_DEFAULT: u32 = 0;
862pub const IOPOL_VFS_DISALLOW_RW_FOR_O_EVTONLY_ON: u32 = 1;
863pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_DEFAULT: u32 = 0;
864pub const IOPOL_VFS_NOCACHE_WRITE_FS_BLKSIZE_ON: u32 = 1;
865pub const IOPOL_VFS_ENTITLED_RESERVE_ACCESS_OFF: u32 = 0;
866pub const IOPOL_VFS_ENTITLED_RESERVE_ACCESS_ON: u32 = 1;
867pub const WNOHANG: u32 = 1;
868pub const WUNTRACED: u32 = 2;
869pub const WCOREFLAG: u32 = 128;
870pub const _WSTOPPED: u32 = 127;
871pub const WEXITED: u32 = 4;
872pub const WSTOPPED: u32 = 8;
873pub const WCONTINUED: u32 = 16;
874pub const WNOWAIT: u32 = 32;
875pub const WAIT_ANY: i32 = -1;
876pub const WAIT_MYPGRP: u32 = 0;
877pub const _QUAD_HIGHWORD: u32 = 1;
878pub const _QUAD_LOWWORD: u32 = 0;
879pub const __DARWIN_LITTLE_ENDIAN: u32 = 1234;
880pub const __DARWIN_BIG_ENDIAN: u32 = 4321;
881pub const __DARWIN_PDP_ENDIAN: u32 = 3412;
882pub const LITTLE_ENDIAN: u32 = 1234;
883pub const BIG_ENDIAN: u32 = 4321;
884pub const PDP_ENDIAN: u32 = 3412;
885pub const __DARWIN_BYTE_ORDER: u32 = 1234;
886pub const BYTE_ORDER: u32 = 1234;
887pub const EXIT_FAILURE: u32 = 1;
888pub const EXIT_SUCCESS: u32 = 0;
889pub const RAND_MAX: u32 = 2147483647;
890pub const _MALLOC_TYPE_MALLOC_BACKDEPLOY_PUBLIC: u32 = 1;
891pub const __bool_true_false_are_defined: u32 = 1;
892pub const true_: u32 = 1;
893pub const false_: u32 = 0;
894pub const _USE_FORTIFY_LEVEL: u32 = 2;
895pub const TLS_NULL_WITH_NULL_NULL: u32 = 0;
896pub const TLS_RSA_WITH_NULL_MD5: u32 = 1;
897pub const TLS_RSA_WITH_NULL_SHA: u32 = 2;
898pub const TLS_RSA_EXPORT_WITH_RC4_40_MD5: u32 = 3;
899pub const TLS_RSA_WITH_RC4_128_MD5: u32 = 4;
900pub const TLS_RSA_WITH_RC4_128_SHA: u32 = 5;
901pub const TLS_RSA_EXPORT_WITH_RC2_CBC_40_MD5: u32 = 6;
902pub const TLS_RSA_WITH_IDEA_CBC_SHA: u32 = 7;
903pub const TLS_RSA_EXPORT_WITH_DES40_CBC_SHA: u32 = 8;
904pub const TLS_RSA_WITH_DES_CBC_SHA: u32 = 9;
905pub const TLS_RSA_WITH_3DES_EDE_CBC_SHA: u32 = 10;
906pub const TLS_DH_DSS_EXPORT_WITH_DES40_CBC_SHA: u32 = 11;
907pub const TLS_DH_DSS_WITH_DES_CBC_SHA: u32 = 12;
908pub const TLS_DH_DSS_WITH_3DES_EDE_CBC_SHA: u32 = 13;
909pub const TLS_DH_RSA_EXPORT_WITH_DES40_CBC_SHA: u32 = 14;
910pub const TLS_DH_RSA_WITH_DES_CBC_SHA: u32 = 15;
911pub const TLS_DH_RSA_WITH_3DES_EDE_CBC_SHA: u32 = 16;
912pub const TLS_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA: u32 = 17;
913pub const TLS_DHE_DSS_WITH_DES_CBC_SHA: u32 = 18;
914pub const TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA: u32 = 19;
915pub const TLS_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA: u32 = 20;
916pub const TLS_DHE_RSA_WITH_DES_CBC_SHA: u32 = 21;
917pub const TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA: u32 = 22;
918pub const TLS_DH_anon_EXPORT_WITH_RC4_40_MD5: u32 = 23;
919pub const TLS_DH_anon_WITH_RC4_128_MD5: u32 = 24;
920pub const TLS_DH_anon_EXPORT_WITH_DES40_CBC_SHA: u32 = 25;
921pub const TLS_DH_anon_WITH_DES_CBC_SHA: u32 = 26;
922pub const TLS_DH_anon_WITH_3DES_EDE_CBC_SHA: u32 = 27;
923pub const TLS_RSA_WITH_AES_128_CBC_SHA: u32 = 47;
924pub const TLS_DH_DSS_WITH_AES_128_CBC_SHA: u32 = 48;
925pub const TLS_DH_RSA_WITH_AES_128_CBC_SHA: u32 = 49;
926pub const TLS_DHE_DSS_WITH_AES_128_CBC_SHA: u32 = 50;
927pub const TLS_DHE_RSA_WITH_AES_128_CBC_SHA: u32 = 51;
928pub const TLS_DH_anon_WITH_AES_128_CBC_SHA: u32 = 52;
929pub const TLS_RSA_WITH_AES_256_CBC_SHA: u32 = 53;
930pub const TLS_DH_DSS_WITH_AES_256_CBC_SHA: u32 = 54;
931pub const TLS_DH_RSA_WITH_AES_256_CBC_SHA: u32 = 55;
932pub const TLS_DHE_DSS_WITH_AES_256_CBC_SHA: u32 = 56;
933pub const TLS_DHE_RSA_WITH_AES_256_CBC_SHA: u32 = 57;
934pub const TLS_DH_anon_WITH_AES_256_CBC_SHA: u32 = 58;
935pub const TLS_RSA_WITH_NULL_SHA256: u32 = 59;
936pub const TLS_RSA_WITH_AES_128_CBC_SHA256: u32 = 60;
937pub const TLS_RSA_WITH_AES_256_CBC_SHA256: u32 = 61;
938pub const TLS_DH_DSS_WITH_AES_128_CBC_SHA256: u32 = 62;
939pub const TLS_DH_RSA_WITH_AES_128_CBC_SHA256: u32 = 63;
940pub const TLS_DHE_DSS_WITH_AES_128_CBC_SHA256: u32 = 64;
941pub const TLS_RSA_WITH_CAMELLIA_128_CBC_SHA: u32 = 65;
942pub const TLS_DH_DSS_WITH_CAMELLIA_128_CBC_SHA: u32 = 66;
943pub const TLS_DH_RSA_WITH_CAMELLIA_128_CBC_SHA: u32 = 67;
944pub const TLS_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA: u32 = 68;
945pub const TLS_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA: u32 = 69;
946pub const TLS_DH_anon_WITH_CAMELLIA_128_CBC_SHA: u32 = 70;
947pub const TLS_DHE_RSA_WITH_AES_128_CBC_SHA256: u32 = 103;
948pub const TLS_DH_DSS_WITH_AES_256_CBC_SHA256: u32 = 104;
949pub const TLS_DH_RSA_WITH_AES_256_CBC_SHA256: u32 = 105;
950pub const TLS_DHE_DSS_WITH_AES_256_CBC_SHA256: u32 = 106;
951pub const TLS_DHE_RSA_WITH_AES_256_CBC_SHA256: u32 = 107;
952pub const TLS_DH_anon_WITH_AES_128_CBC_SHA256: u32 = 108;
953pub const TLS_DH_anon_WITH_AES_256_CBC_SHA256: u32 = 109;
954pub const TLS_RSA_WITH_CAMELLIA_256_CBC_SHA: u32 = 132;
955pub const TLS_DH_DSS_WITH_CAMELLIA_256_CBC_SHA: u32 = 133;
956pub const TLS_DH_RSA_WITH_CAMELLIA_256_CBC_SHA: u32 = 134;
957pub const TLS_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA: u32 = 135;
958pub const TLS_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA: u32 = 136;
959pub const TLS_DH_anon_WITH_CAMELLIA_256_CBC_SHA: u32 = 137;
960pub const TLS_RSA_WITH_SEED_CBC_SHA: u32 = 150;
961pub const TLS_DH_DSS_WITH_SEED_CBC_SHA: u32 = 151;
962pub const TLS_DH_RSA_WITH_SEED_CBC_SHA: u32 = 152;
963pub const TLS_DHE_DSS_WITH_SEED_CBC_SHA: u32 = 153;
964pub const TLS_DHE_RSA_WITH_SEED_CBC_SHA: u32 = 154;
965pub const TLS_DH_anon_WITH_SEED_CBC_SHA: u32 = 155;
966pub const TLS_RSA_WITH_AES_128_GCM_SHA256: u32 = 156;
967pub const TLS_RSA_WITH_AES_256_GCM_SHA384: u32 = 157;
968pub const TLS_DHE_RSA_WITH_AES_128_GCM_SHA256: u32 = 158;
969pub const TLS_DHE_RSA_WITH_AES_256_GCM_SHA384: u32 = 159;
970pub const TLS_DH_RSA_WITH_AES_128_GCM_SHA256: u32 = 160;
971pub const TLS_DH_RSA_WITH_AES_256_GCM_SHA384: u32 = 161;
972pub const TLS_DHE_DSS_WITH_AES_128_GCM_SHA256: u32 = 162;
973pub const TLS_DHE_DSS_WITH_AES_256_GCM_SHA384: u32 = 163;
974pub const TLS_DH_DSS_WITH_AES_128_GCM_SHA256: u32 = 164;
975pub const TLS_DH_DSS_WITH_AES_256_GCM_SHA384: u32 = 165;
976pub const TLS_DH_anon_WITH_AES_128_GCM_SHA256: u32 = 166;
977pub const TLS_DH_anon_WITH_AES_256_GCM_SHA384: u32 = 167;
978pub const TLS_PSK_WITH_AES_128_CBC_SHA: u32 = 140;
979pub const TLS_PSK_WITH_AES_256_CBC_SHA: u32 = 141;
980pub const TLS_DHE_PSK_WITH_AES_128_CBC_SHA: u32 = 142;
981pub const TLS_DHE_PSK_WITH_AES_256_CBC_SHA: u32 = 143;
982pub const TLS_RSA_PSK_WITH_AES_128_CBC_SHA: u32 = 144;
983pub const TLS_RSA_PSK_WITH_AES_256_CBC_SHA: u32 = 145;
984pub const TLS_PSK_WITH_AES_128_CBC_SHA256: u32 = 174;
985pub const TLS_PSK_WITH_AES_256_CBC_SHA384: u32 = 175;
986pub const TLS_DHE_PSK_WITH_AES_128_CBC_SHA256: u32 = 176;
987pub const TLS_DHE_PSK_WITH_AES_256_CBC_SHA384: u32 = 177;
988pub const TLS_RSA_PSK_WITH_AES_128_CBC_SHA256: u32 = 178;
989pub const TLS_RSA_PSK_WITH_AES_256_CBC_SHA384: u32 = 179;
990pub const TLS_PSK_WITH_NULL_SHA: u32 = 44;
991pub const TLS_DHE_PSK_WITH_NULL_SHA: u32 = 45;
992pub const TLS_RSA_PSK_WITH_NULL_SHA: u32 = 46;
993pub const TLS_PSK_WITH_NULL_SHA256: u32 = 180;
994pub const TLS_PSK_WITH_NULL_SHA384: u32 = 181;
995pub const TLS_DHE_PSK_WITH_NULL_SHA256: u32 = 182;
996pub const TLS_DHE_PSK_WITH_NULL_SHA384: u32 = 183;
997pub const TLS_RSA_PSK_WITH_NULL_SHA256: u32 = 184;
998pub const TLS_RSA_PSK_WITH_NULL_SHA384: u32 = 185;
999pub const TLS_ECDH_ECDSA_WITH_NULL_SHA: u32 = 49153;
1000pub const TLS_ECDH_ECDSA_WITH_RC4_128_SHA: u32 = 49154;
1001pub const TLS_ECDH_ECDSA_WITH_3DES_EDE_CBC_SHA: u32 = 49155;
1002pub const TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA: u32 = 49156;
1003pub const TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA: u32 = 49157;
1004pub const TLS_ECDHE_ECDSA_WITH_NULL_SHA: u32 = 49158;
1005pub const TLS_ECDHE_ECDSA_WITH_RC4_128_SHA: u32 = 49159;
1006pub const TLS_ECDHE_ECDSA_WITH_3DES_EDE_CBC_SHA: u32 = 49160;
1007pub const TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA: u32 = 49161;
1008pub const TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA: u32 = 49162;
1009pub const TLS_ECDH_RSA_WITH_NULL_SHA: u32 = 49163;
1010pub const TLS_ECDH_RSA_WITH_RC4_128_SHA: u32 = 49164;
1011pub const TLS_ECDH_RSA_WITH_3DES_EDE_CBC_SHA: u32 = 49165;
1012pub const TLS_ECDH_RSA_WITH_AES_128_CBC_SHA: u32 = 49166;
1013pub const TLS_ECDH_RSA_WITH_AES_256_CBC_SHA: u32 = 49167;
1014pub const TLS_ECDHE_RSA_WITH_NULL_SHA: u32 = 49168;
1015pub const TLS_ECDHE_RSA_WITH_RC4_128_SHA: u32 = 49169;
1016pub const TLS_ECDHE_RSA_WITH_3DES_EDE_CBC_SHA: u32 = 49170;
1017pub const TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA: u32 = 49171;
1018pub const TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA: u32 = 49172;
1019pub const TLS_ECDH_anon_WITH_NULL_SHA: u32 = 49173;
1020pub const TLS_ECDH_anon_WITH_RC4_128_SHA: u32 = 49174;
1021pub const TLS_ECDH_anon_WITH_3DES_EDE_CBC_SHA: u32 = 49175;
1022pub const TLS_ECDH_anon_WITH_AES_128_CBC_SHA: u32 = 49176;
1023pub const TLS_ECDH_anon_WITH_AES_256_CBC_SHA: u32 = 49177;
1024pub const TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256: u32 = 49187;
1025pub const TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384: u32 = 49188;
1026pub const TLS_ECDH_ECDSA_WITH_AES_128_CBC_SHA256: u32 = 49189;
1027pub const TLS_ECDH_ECDSA_WITH_AES_256_CBC_SHA384: u32 = 49190;
1028pub const TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: u32 = 49191;
1029pub const TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384: u32 = 49192;
1030pub const TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256: u32 = 49193;
1031pub const TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384: u32 = 49194;
1032pub const TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256: u32 = 49195;
1033pub const TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384: u32 = 49196;
1034pub const TLS_ECDH_ECDSA_WITH_AES_128_GCM_SHA256: u32 = 49197;
1035pub const TLS_ECDH_ECDSA_WITH_AES_256_GCM_SHA384: u32 = 49198;
1036pub const TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256: u32 = 49199;
1037pub const TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384: u32 = 49200;
1038pub const TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256: u32 = 49201;
1039pub const TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384: u32 = 49202;
1040pub const TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA: u32 = 49205;
1041pub const TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA: u32 = 49206;
1042pub const TLS_ECDHE_PSK_WITH_AES_128_CBC_SHA256: u32 = 49207;
1043pub const TLS_ECDHE_PSK_WITH_AES_256_CBC_SHA384: u32 = 49208;
1044pub const TLS_ECDHE_PSK_WITH_NULL_SHA: u32 = 49209;
1045pub const TLS_ECDHE_PSK_WITH_NULL_SHA256: u32 = 49210;
1046pub const TLS_ECDHE_PSK_WITH_NULL_SHA384: u32 = 49211;
1047pub const TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_CBC_SHA256: u32 = 49266;
1048pub const TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_CBC_SHA384: u32 = 49267;
1049pub const TLS_ECDH_ECDSA_WITH_CAMELLIA_128_CBC_SHA256: u32 = 49268;
1050pub const TLS_ECDH_ECDSA_WITH_CAMELLIA_256_CBC_SHA384: u32 = 49269;
1051pub const TLS_ECDHE_RSA_WITH_CAMELLIA_128_CBC_SHA256: u32 = 49270;
1052pub const TLS_ECDHE_RSA_WITH_CAMELLIA_256_CBC_SHA384: u32 = 49271;
1053pub const TLS_ECDH_RSA_WITH_CAMELLIA_128_CBC_SHA256: u32 = 49272;
1054pub const TLS_ECDH_RSA_WITH_CAMELLIA_256_CBC_SHA384: u32 = 49273;
1055pub const TLS_RSA_WITH_ARIA_128_CBC_SHA256: u32 = 49212;
1056pub const TLS_RSA_WITH_ARIA_256_CBC_SHA384: u32 = 49213;
1057pub const TLS_DH_DSS_WITH_ARIA_128_CBC_SHA256: u32 = 49214;
1058pub const TLS_DH_DSS_WITH_ARIA_256_CBC_SHA384: u32 = 49215;
1059pub const TLS_DH_RSA_WITH_ARIA_128_CBC_SHA256: u32 = 49216;
1060pub const TLS_DH_RSA_WITH_ARIA_256_CBC_SHA384: u32 = 49217;
1061pub const TLS_DHE_DSS_WITH_ARIA_128_CBC_SHA256: u32 = 49218;
1062pub const TLS_DHE_DSS_WITH_ARIA_256_CBC_SHA384: u32 = 49219;
1063pub const TLS_DHE_RSA_WITH_ARIA_128_CBC_SHA256: u32 = 49220;
1064pub const TLS_DHE_RSA_WITH_ARIA_256_CBC_SHA384: u32 = 49221;
1065pub const TLS_DH_anon_WITH_ARIA_128_CBC_SHA256: u32 = 49222;
1066pub const TLS_DH_anon_WITH_ARIA_256_CBC_SHA384: u32 = 49223;
1067pub const TLS_ECDHE_ECDSA_WITH_ARIA_128_CBC_SHA256: u32 = 49224;
1068pub const TLS_ECDHE_ECDSA_WITH_ARIA_256_CBC_SHA384: u32 = 49225;
1069pub const TLS_ECDH_ECDSA_WITH_ARIA_128_CBC_SHA256: u32 = 49226;
1070pub const TLS_ECDH_ECDSA_WITH_ARIA_256_CBC_SHA384: u32 = 49227;
1071pub const TLS_ECDHE_RSA_WITH_ARIA_128_CBC_SHA256: u32 = 49228;
1072pub const TLS_ECDHE_RSA_WITH_ARIA_256_CBC_SHA384: u32 = 49229;
1073pub const TLS_ECDH_RSA_WITH_ARIA_128_CBC_SHA256: u32 = 49230;
1074pub const TLS_ECDH_RSA_WITH_ARIA_256_CBC_SHA384: u32 = 49231;
1075pub const TLS_RSA_WITH_ARIA_128_GCM_SHA256: u32 = 49232;
1076pub const TLS_RSA_WITH_ARIA_256_GCM_SHA384: u32 = 49233;
1077pub const TLS_DHE_RSA_WITH_ARIA_128_GCM_SHA256: u32 = 49234;
1078pub const TLS_DHE_RSA_WITH_ARIA_256_GCM_SHA384: u32 = 49235;
1079pub const TLS_DH_RSA_WITH_ARIA_128_GCM_SHA256: u32 = 49236;
1080pub const TLS_DH_RSA_WITH_ARIA_256_GCM_SHA384: u32 = 49237;
1081pub const TLS_DHE_DSS_WITH_ARIA_128_GCM_SHA256: u32 = 49238;
1082pub const TLS_DHE_DSS_WITH_ARIA_256_GCM_SHA384: u32 = 49239;
1083pub const TLS_DH_DSS_WITH_ARIA_128_GCM_SHA256: u32 = 49240;
1084pub const TLS_DH_DSS_WITH_ARIA_256_GCM_SHA384: u32 = 49241;
1085pub const TLS_DH_anon_WITH_ARIA_128_GCM_SHA256: u32 = 49242;
1086pub const TLS_DH_anon_WITH_ARIA_256_GCM_SHA384: u32 = 49243;
1087pub const TLS_ECDHE_ECDSA_WITH_ARIA_128_GCM_SHA256: u32 = 49244;
1088pub const TLS_ECDHE_ECDSA_WITH_ARIA_256_GCM_SHA384: u32 = 49245;
1089pub const TLS_ECDH_ECDSA_WITH_ARIA_128_GCM_SHA256: u32 = 49246;
1090pub const TLS_ECDH_ECDSA_WITH_ARIA_256_GCM_SHA384: u32 = 49247;
1091pub const TLS_ECDHE_RSA_WITH_ARIA_128_GCM_SHA256: u32 = 49248;
1092pub const TLS_ECDHE_RSA_WITH_ARIA_256_GCM_SHA384: u32 = 49249;
1093pub const TLS_ECDH_RSA_WITH_ARIA_128_GCM_SHA256: u32 = 49250;
1094pub const TLS_ECDH_RSA_WITH_ARIA_256_GCM_SHA384: u32 = 49251;
1095pub const TLS_PSK_WITH_ARIA_128_CBC_SHA256: u32 = 49252;
1096pub const TLS_PSK_WITH_ARIA_256_CBC_SHA384: u32 = 49253;
1097pub const TLS_DHE_PSK_WITH_ARIA_128_CBC_SHA256: u32 = 49254;
1098pub const TLS_DHE_PSK_WITH_ARIA_256_CBC_SHA384: u32 = 49255;
1099pub const TLS_RSA_PSK_WITH_ARIA_128_CBC_SHA256: u32 = 49256;
1100pub const TLS_RSA_PSK_WITH_ARIA_256_CBC_SHA384: u32 = 49257;
1101pub const TLS_PSK_WITH_ARIA_128_GCM_SHA256: u32 = 49258;
1102pub const TLS_PSK_WITH_ARIA_256_GCM_SHA384: u32 = 49259;
1103pub const TLS_DHE_PSK_WITH_ARIA_128_GCM_SHA256: u32 = 49260;
1104pub const TLS_DHE_PSK_WITH_ARIA_256_GCM_SHA384: u32 = 49261;
1105pub const TLS_RSA_PSK_WITH_ARIA_128_GCM_SHA256: u32 = 49262;
1106pub const TLS_RSA_PSK_WITH_ARIA_256_GCM_SHA384: u32 = 49263;
1107pub const TLS_ECDHE_PSK_WITH_ARIA_128_CBC_SHA256: u32 = 49264;
1108pub const TLS_ECDHE_PSK_WITH_ARIA_256_CBC_SHA384: u32 = 49265;
1109pub const TLS_ECDHE_ECDSA_WITH_CAMELLIA_128_GCM_SHA256: u32 = 49270;
1110pub const TLS_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384: u32 = 49271;
1111pub const TLS_ECDH_ECDSA_WITH_CAMELLIA_128_GCM_SHA256: u32 = 49272;
1112pub const TLS_ECDH_ECDSA_WITH_CAMELLIA_256_GCM_SHA384: u32 = 49273;
1113pub const TLS_ECDHE_RSA_WITH_CAMELLIA_128_GCM_SHA256: u32 = 49274;
1114pub const TLS_ECDHE_RSA_WITH_CAMELLIA_256_GCM_SHA384: u32 = 49275;
1115pub const TLS_ECDH_RSA_WITH_CAMELLIA_128_GCM_SHA256: u32 = 49276;
1116pub const TLS_ECDH_RSA_WITH_CAMELLIA_256_GCM_SHA384: u32 = 49277;
1117pub const TLS_PSK_WITH_CAMELLIA_128_GCM_SHA256: u32 = 49278;
1118pub const TLS_PSK_WITH_CAMELLIA_256_GCM_SHA384: u32 = 49279;
1119pub const TLS_DHE_PSK_WITH_CAMELLIA_128_GCM_SHA256: u32 = 49280;
1120pub const TLS_DHE_PSK_WITH_CAMELLIA_256_GCM_SHA384: u32 = 49281;
1121pub const TLS_RSA_PSK_WITH_CAMELLIA_128_GCM_SHA256: u32 = 49282;
1122pub const TLS_RSA_PSK_WITH_CAMELLIA_256_GCM_SHA384: u32 = 49283;
1123pub const TLS_ECDHE_PSK_WITH_CAMELLIA_128_GCM_SHA256: u32 = 49284;
1124pub const TLS_ECDHE_PSK_WITH_CAMELLIA_256_GCM_SHA384: u32 = 49285;
1125pub const TLS_RSA_WITH_AES_128_CCM: u32 = 49308;
1126pub const TLS_RSA_WITH_AES_256_CCM: u32 = 49309;
1127pub const TLS_DHE_RSA_WITH_AES_128_CCM: u32 = 49310;
1128pub const TLS_DHE_RSA_WITH_AES_256_CCM: u32 = 49311;
1129pub const TLS_RSA_WITH_AES_128_CCM_8: u32 = 49312;
1130pub const TLS_RSA_WITH_AES_256_CCM_8: u32 = 49313;
1131pub const TLS_DHE_RSA_WITH_AES_128_CCM_8: u32 = 49314;
1132pub const TLS_DHE_RSA_WITH_AES_256_CCM_8: u32 = 49315;
1133pub const TLS_PSK_WITH_AES_128_CCM: u32 = 49316;
1134pub const TLS_PSK_WITH_AES_256_CCM: u32 = 49317;
1135pub const TLS_DHE_PSK_WITH_AES_128_CCM: u32 = 49318;
1136pub const TLS_DHE_PSK_WITH_AES_256_CCM: u32 = 49319;
1137pub const TLS_PSK_WITH_AES_128_CCM_8: u32 = 49320;
1138pub const TLS_PSK_WITH_AES_256_CCM_8: u32 = 49321;
1139pub const TLS_PSK_DHE_WITH_AES_128_CCM_8: u32 = 49322;
1140pub const TLS_PSK_DHE_WITH_AES_256_CCM_8: u32 = 49323;
1141pub const TLS_ECDHE_ECDSA_WITH_AES_128_CCM: u32 = 49324;
1142pub const TLS_EVENT_CODE_ALM_ALGO_NOT_SUPPORTED: u32 = 1;
1143pub const TLS_EVENT_CODE_ALM_UNSECURE_COMMUNICATION: u32 = 2;
1144pub const TLS_EVENT_CODE_ALM_CERT_UNAVAILABLE: u32 = 3;
1145pub const TLS_EVENT_CODE_ALM_BAD_CERT: u32 = 4;
1146pub const TLS_EVENT_CODE_ALM_CERT_SIZE_EXCEEDED: u32 = 5;
1147pub const TLS_EVENT_CODE_ALM_CERT_VALIDATION_FAILED: u32 = 6;
1148pub const TLS_EVENT_CODE_ALM_CERT_REQUIRED: u32 = 7;
1149pub const TLS_EVENT_CODE_ALM_HANDSHAKE_FAILED_UNKNOWN_REASON: u32 = 8;
1150pub const TLS_EVENT_CODE_WRN_INSECURE_TLS_VERSION: u32 = 9;
1151pub const TLS_EVENT_CODE_INF_SESSION_RENEGOTIATION: u32 = 10;
1152pub const TLS_EVENT_CODE_ALM_CERT_EXPIRED: u32 = 11;
1153pub const TLS_EVENT_CODE_ALM_CERT_REVOKED: u32 = 12;
1154pub const TLS_EVENT_CODE_ALM_CERT_NOT_CONFIGURED: u32 = 13;
1155pub const TLS_EVENT_CODE_ALM_CERT_NOT_TRUSTED: u32 = 14;
1156pub const TLS_EVENT_CODE_ALM_NO_CIPHER: u32 = 15;
1157pub const TLS_EVENT_CODE_INF_SESSION_ESTABLISHED: u32 = 16;
1158pub const TLS_EVENT_CODE_WRN_CERT_EXPIRED: u32 = 17;
1159pub const TLS_EVENT_CODE_WRN_CERT_NOT_YET_VALID: u32 = 18;
1160pub const TLS_EVENT_CODE_WRN_CRL_EXPIRED: u32 = 19;
1161pub const TLS_EVENT_CODE_WRN_CRL_NOT_YET_VALID: u32 = 20;
1162pub const IEC_60870_5_104_DEFAULT_PORT: u32 = 2404;
1163pub const IEC_60870_5_104_DEFAULT_TLS_PORT: u32 = 19998;
1164pub const LIB60870_VERSION_MAJOR: u32 = 2;
1165pub const LIB60870_VERSION_MINOR: u32 = 3;
1166pub const LIB60870_VERSION_PATCH: u32 = 6;
1167pub const IEC60870_QUALITY_GOOD: u32 = 0;
1168pub const IEC60870_QUALITY_OVERFLOW: u32 = 1;
1169pub const IEC60870_QUALITY_RESERVED: u32 = 4;
1170pub const IEC60870_QUALITY_ELAPSED_TIME_INVALID: u32 = 8;
1171pub const IEC60870_QUALITY_BLOCKED: u32 = 16;
1172pub const IEC60870_QUALITY_SUBSTITUTED: u32 = 32;
1173pub const IEC60870_QUALITY_NON_TOPICAL: u32 = 64;
1174pub const IEC60870_QUALITY_INVALID: u32 = 128;
1175pub const IEC60870_START_EVENT_NONE: u32 = 0;
1176pub const IEC60870_START_EVENT_GS: u32 = 1;
1177pub const IEC60870_START_EVENT_SL1: u32 = 2;
1178pub const IEC60870_START_EVENT_SL2: u32 = 4;
1179pub const IEC60870_START_EVENT_SL3: u32 = 8;
1180pub const IEC60870_START_EVENT_SIE: u32 = 16;
1181pub const IEC60870_START_EVENT_SRD: u32 = 32;
1182pub const IEC60870_START_EVENT_RES1: u32 = 64;
1183pub const IEC60870_START_EVENT_RES2: u32 = 128;
1184pub const IEC60870_OUTPUT_CI_GC: u32 = 1;
1185pub const IEC60870_OUTPUT_CI_CL1: u32 = 2;
1186pub const IEC60870_OUTPUT_CI_CL2: u32 = 4;
1187pub const IEC60870_OUTPUT_CI_CL3: u32 = 8;
1188pub const IEC60870_QPM_NOT_USED: u32 = 0;
1189pub const IEC60870_QPM_THRESHOLD_VALUE: u32 = 1;
1190pub const IEC60870_QPM_SMOOTHING_FACTOR: u32 = 2;
1191pub const IEC60870_QPM_LOW_LIMIT_FOR_TRANSMISSION: u32 = 3;
1192pub const IEC60870_QPM_HIGH_LIMIT_FOR_TRANSMISSION: u32 = 4;
1193pub const IEC60870_COI_LOCAL_SWITCH_ON: u32 = 0;
1194pub const IEC60870_COI_LOCAL_MANUAL_RESET: u32 = 1;
1195pub const IEC60870_COI_REMOTE_RESET: u32 = 2;
1196pub const IEC60870_QOC_NO_ADDITIONAL_DEFINITION: u32 = 0;
1197pub const IEC60870_QOC_SHORT_PULSE_DURATION: u32 = 1;
1198pub const IEC60870_QOC_LONG_PULSE_DURATION: u32 = 2;
1199pub const IEC60870_QOC_PERSISTANT_OUTPUT: u32 = 3;
1200pub const IEC60870_SCQ_DEFAULT: u32 = 0;
1201pub const IEC60870_SCQ_SELECT_FILE: u32 = 1;
1202pub const IEC60870_SCQ_REQUEST_FILE: u32 = 2;
1203pub const IEC60870_SCQ_DEACTIVATE_FILE: u32 = 3;
1204pub const IEC60870_SCQ_DELETE_FILE: u32 = 4;
1205pub const IEC60870_SCQ_SELECT_SECTION: u32 = 5;
1206pub const IEC60870_SCQ_REQUEST_SECTION: u32 = 6;
1207pub const IEC60870_SCQ_DEACTIVATE_SECTION: u32 = 7;
1208pub const IEC60870_QOI_STATION: u32 = 20;
1209pub const IEC60870_QOI_GROUP_1: u32 = 21;
1210pub const IEC60870_QOI_GROUP_2: u32 = 22;
1211pub const IEC60870_QOI_GROUP_3: u32 = 23;
1212pub const IEC60870_QOI_GROUP_4: u32 = 24;
1213pub const IEC60870_QOI_GROUP_5: u32 = 25;
1214pub const IEC60870_QOI_GROUP_6: u32 = 26;
1215pub const IEC60870_QOI_GROUP_7: u32 = 27;
1216pub const IEC60870_QOI_GROUP_8: u32 = 28;
1217pub const IEC60870_QOI_GROUP_9: u32 = 29;
1218pub const IEC60870_QOI_GROUP_10: u32 = 30;
1219pub const IEC60870_QOI_GROUP_11: u32 = 31;
1220pub const IEC60870_QOI_GROUP_12: u32 = 32;
1221pub const IEC60870_QOI_GROUP_13: u32 = 33;
1222pub const IEC60870_QOI_GROUP_14: u32 = 34;
1223pub const IEC60870_QOI_GROUP_15: u32 = 35;
1224pub const IEC60870_QOI_GROUP_16: u32 = 36;
1225pub const IEC60870_QCC_RQT_GROUP_1: u32 = 1;
1226pub const IEC60870_QCC_RQT_GROUP_2: u32 = 2;
1227pub const IEC60870_QCC_RQT_GROUP_3: u32 = 3;
1228pub const IEC60870_QCC_RQT_GROUP_4: u32 = 4;
1229pub const IEC60870_QCC_RQT_GENERAL: u32 = 5;
1230pub const IEC60870_QCC_FRZ_READ: u32 = 0;
1231pub const IEC60870_QCC_FRZ_FREEZE_WITHOUT_RESET: u32 = 64;
1232pub const IEC60870_QCC_FRZ_FREEZE_WITH_RESET: u32 = 128;
1233pub const IEC60870_QCC_FRZ_COUNTER_RESET: u32 = 192;
1234pub const IEC60870_QRP_NOT_USED: u32 = 0;
1235pub const IEC60870_QRP_GENERAL_RESET: u32 = 1;
1236pub const IEC60870_QRP_RESET_PENDING_INFO_WITH_TIME_TAG: u32 = 2;
1237pub const IEC60870_QPA_NOT_USED: u32 = 0;
1238pub const IEC60870_QPA_DE_ACT_PREV_LOADED_PARAMETER: u32 = 1;
1239pub const IEC60870_QPA_DE_ACT_OBJECT_PARAMETER: u32 = 2;
1240pub const IEC60870_QPA_DE_ACT_OBJECT_TRANSMISSION: u32 = 4;
1241pub const CS101_NOF_DEFAULT: u32 = 0;
1242pub const CS101_NOF_TRANSPARENT_FILE: u32 = 1;
1243pub const CS101_NOF_DISTURBANCE_DATA: u32 = 2;
1244pub const CS101_NOF_SEQUENCES_OF_EVENTS: u32 = 3;
1245pub const CS101_NOF_SEQUENCES_OF_ANALOGUE_VALUES: u32 = 4;
1246pub const CS101_SCQ_DEFAULT: u32 = 0;
1247pub const CS101_SCQ_SELECT_FILE: u32 = 1;
1248pub const CS101_SCQ_REQUEST_FILE: u32 = 2;
1249pub const CS101_SCQ_DEACTIVATE_FILE: u32 = 3;
1250pub const CS101_SCQ_DELETE_FILE: u32 = 4;
1251pub const CS101_SCQ_SELECT_SECTION: u32 = 5;
1252pub const CS101_SCQ_REQUEST_SECTION: u32 = 6;
1253pub const CS101_SCQ_DEACTIVATE_SECTION: u32 = 7;
1254pub const CS101_LSQ_FILE_TRANSFER_WITHOUT_DEACT: u32 = 1;
1255pub const CS101_LSQ_FILE_TRANSFER_WITH_DEACT: u32 = 2;
1256pub const CS101_LSQ_SECTION_TRANSFER_WITHOUT_DEACT: u32 = 3;
1257pub const CS101_LSQ_SECTION_TRANSFER_WITH_DEACT: u32 = 4;
1258pub const CS101_AFQ_NOT_USED: u32 = 0;
1259pub const CS101_AFQ_POS_ACK_FILE: u32 = 1;
1260pub const CS101_AFQ_NEG_ACK_FILE: u32 = 2;
1261pub const CS101_AFQ_POS_ACK_SECTION: u32 = 3;
1262pub const CS101_AFQ_NEG_ACK_SECTION: u32 = 4;
1263pub const CS101_FILE_ERROR_DEFAULT: u32 = 0;
1264pub const CS101_FILE_ERROR_REQ_MEMORY_NOT_AVAILABLE: u32 = 1;
1265pub const CS101_FILE_ERROR_CHECKSUM_FAILED: u32 = 2;
1266pub const CS101_FILE_ERROR_UNEXPECTED_COMM_SERVICE: u32 = 3;
1267pub const CS101_FILE_ERROR_UNEXPECTED_NAME_OF_FILE: u32 = 4;
1268pub const CS101_FILE_ERROR_UNEXPECTED_NAME_OF_SECTION: u32 = 5;
1269pub const CS101_SOF_STATUS: u32 = 31;
1270pub const CS101_SOF_LFD: u32 = 32;
1271pub const CS101_SOF_FOR: u32 = 64;
1272pub const CS101_SOF_FA: u32 = 128;
1273pub type __int8_t = ::std::os::raw::c_schar;
1274pub type __uint8_t = ::std::os::raw::c_uchar;
1275pub type __int16_t = ::std::os::raw::c_short;
1276pub type __uint16_t = ::std::os::raw::c_ushort;
1277pub type __int32_t = ::std::os::raw::c_int;
1278pub type __uint32_t = ::std::os::raw::c_uint;
1279pub type __int64_t = ::std::os::raw::c_longlong;
1280pub type __uint64_t = ::std::os::raw::c_ulonglong;
1281pub type __darwin_intptr_t = ::std::os::raw::c_long;
1282pub type __darwin_natural_t = ::std::os::raw::c_uint;
1283pub type __darwin_ct_rune_t = ::std::os::raw::c_int;
1284#[repr(C)]
1285#[derive(Copy, Clone)]
1286pub union __mbstate_t {
1287 pub __mbstate8: [::std::os::raw::c_char; 128usize],
1288 pub _mbstateL: ::std::os::raw::c_longlong,
1289}
1290#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1291const _: () = {
1292 ["Size of __mbstate_t"][::std::mem::size_of::<__mbstate_t>() - 128usize];
1293 ["Alignment of __mbstate_t"][::std::mem::align_of::<__mbstate_t>() - 8usize];
1294 ["Offset of field: __mbstate_t::__mbstate8"]
1295 [::std::mem::offset_of!(__mbstate_t, __mbstate8) - 0usize];
1296 ["Offset of field: __mbstate_t::_mbstateL"]
1297 [::std::mem::offset_of!(__mbstate_t, _mbstateL) - 0usize];
1298};
1299impl Default for __mbstate_t {
1300 fn default() -> Self {
1301 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1302 unsafe {
1303 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1304 s.assume_init()
1305 }
1306 }
1307}
1308pub type __darwin_mbstate_t = __mbstate_t;
1309pub type __darwin_ptrdiff_t = ::std::os::raw::c_long;
1310pub type __darwin_size_t = ::std::os::raw::c_ulong;
1311pub type __darwin_wchar_t = ::std::os::raw::c_int;
1312pub type __darwin_rune_t = __darwin_wchar_t;
1313pub type __darwin_wint_t = ::std::os::raw::c_int;
1314pub type __darwin_clock_t = ::std::os::raw::c_ulong;
1315pub type __darwin_socklen_t = __uint32_t;
1316pub type __darwin_ssize_t = ::std::os::raw::c_long;
1317pub type __darwin_time_t = ::std::os::raw::c_long;
1318pub type __darwin_blkcnt_t = __int64_t;
1319pub type __darwin_blksize_t = __int32_t;
1320pub type __darwin_dev_t = __int32_t;
1321pub type __darwin_fsblkcnt_t = ::std::os::raw::c_uint;
1322pub type __darwin_fsfilcnt_t = ::std::os::raw::c_uint;
1323pub type __darwin_gid_t = __uint32_t;
1324pub type __darwin_id_t = __uint32_t;
1325pub type __darwin_ino64_t = __uint64_t;
1326pub type __darwin_ino_t = __darwin_ino64_t;
1327pub type __darwin_mach_port_name_t = __darwin_natural_t;
1328pub type __darwin_mach_port_t = __darwin_mach_port_name_t;
1329pub type __darwin_mode_t = __uint16_t;
1330pub type __darwin_off_t = __int64_t;
1331pub type __darwin_pid_t = __int32_t;
1332pub type __darwin_sigset_t = __uint32_t;
1333pub type __darwin_suseconds_t = __int32_t;
1334pub type __darwin_uid_t = __uint32_t;
1335pub type __darwin_useconds_t = __uint32_t;
1336pub type __darwin_uuid_t = [::std::os::raw::c_uchar; 16usize];
1337pub type __darwin_uuid_string_t = [::std::os::raw::c_char; 37usize];
1338#[repr(C)]
1339#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1340pub struct __darwin_pthread_handler_rec {
1341 pub __routine: ::std::option::Option<unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void)>,
1342 pub __arg: *mut ::std::os::raw::c_void,
1343 pub __next: *mut __darwin_pthread_handler_rec,
1344}
1345#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1346const _: () = {
1347 ["Size of __darwin_pthread_handler_rec"]
1348 [::std::mem::size_of::<__darwin_pthread_handler_rec>() - 24usize];
1349 ["Alignment of __darwin_pthread_handler_rec"]
1350 [::std::mem::align_of::<__darwin_pthread_handler_rec>() - 8usize];
1351 ["Offset of field: __darwin_pthread_handler_rec::__routine"]
1352 [::std::mem::offset_of!(__darwin_pthread_handler_rec, __routine) - 0usize];
1353 ["Offset of field: __darwin_pthread_handler_rec::__arg"]
1354 [::std::mem::offset_of!(__darwin_pthread_handler_rec, __arg) - 8usize];
1355 ["Offset of field: __darwin_pthread_handler_rec::__next"]
1356 [::std::mem::offset_of!(__darwin_pthread_handler_rec, __next) - 16usize];
1357};
1358impl Default for __darwin_pthread_handler_rec {
1359 fn default() -> Self {
1360 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1361 unsafe {
1362 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1363 s.assume_init()
1364 }
1365 }
1366}
1367#[repr(C)]
1368#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1369pub struct _opaque_pthread_attr_t {
1370 pub __sig: ::std::os::raw::c_long,
1371 pub __opaque: [::std::os::raw::c_char; 56usize],
1372}
1373#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1374const _: () = {
1375 ["Size of _opaque_pthread_attr_t"][::std::mem::size_of::<_opaque_pthread_attr_t>() - 64usize];
1376 ["Alignment of _opaque_pthread_attr_t"]
1377 [::std::mem::align_of::<_opaque_pthread_attr_t>() - 8usize];
1378 ["Offset of field: _opaque_pthread_attr_t::__sig"]
1379 [::std::mem::offset_of!(_opaque_pthread_attr_t, __sig) - 0usize];
1380 ["Offset of field: _opaque_pthread_attr_t::__opaque"]
1381 [::std::mem::offset_of!(_opaque_pthread_attr_t, __opaque) - 8usize];
1382};
1383impl Default for _opaque_pthread_attr_t {
1384 fn default() -> Self {
1385 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1386 unsafe {
1387 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1388 s.assume_init()
1389 }
1390 }
1391}
1392#[repr(C)]
1393#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1394pub struct _opaque_pthread_cond_t {
1395 pub __sig: ::std::os::raw::c_long,
1396 pub __opaque: [::std::os::raw::c_char; 40usize],
1397}
1398#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1399const _: () = {
1400 ["Size of _opaque_pthread_cond_t"][::std::mem::size_of::<_opaque_pthread_cond_t>() - 48usize];
1401 ["Alignment of _opaque_pthread_cond_t"]
1402 [::std::mem::align_of::<_opaque_pthread_cond_t>() - 8usize];
1403 ["Offset of field: _opaque_pthread_cond_t::__sig"]
1404 [::std::mem::offset_of!(_opaque_pthread_cond_t, __sig) - 0usize];
1405 ["Offset of field: _opaque_pthread_cond_t::__opaque"]
1406 [::std::mem::offset_of!(_opaque_pthread_cond_t, __opaque) - 8usize];
1407};
1408impl Default for _opaque_pthread_cond_t {
1409 fn default() -> Self {
1410 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1411 unsafe {
1412 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1413 s.assume_init()
1414 }
1415 }
1416}
1417#[repr(C)]
1418#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1419pub struct _opaque_pthread_condattr_t {
1420 pub __sig: ::std::os::raw::c_long,
1421 pub __opaque: [::std::os::raw::c_char; 8usize],
1422}
1423#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1424const _: () = {
1425 ["Size of _opaque_pthread_condattr_t"]
1426 [::std::mem::size_of::<_opaque_pthread_condattr_t>() - 16usize];
1427 ["Alignment of _opaque_pthread_condattr_t"]
1428 [::std::mem::align_of::<_opaque_pthread_condattr_t>() - 8usize];
1429 ["Offset of field: _opaque_pthread_condattr_t::__sig"]
1430 [::std::mem::offset_of!(_opaque_pthread_condattr_t, __sig) - 0usize];
1431 ["Offset of field: _opaque_pthread_condattr_t::__opaque"]
1432 [::std::mem::offset_of!(_opaque_pthread_condattr_t, __opaque) - 8usize];
1433};
1434#[repr(C)]
1435#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1436pub struct _opaque_pthread_mutex_t {
1437 pub __sig: ::std::os::raw::c_long,
1438 pub __opaque: [::std::os::raw::c_char; 56usize],
1439}
1440#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1441const _: () = {
1442 ["Size of _opaque_pthread_mutex_t"][::std::mem::size_of::<_opaque_pthread_mutex_t>() - 64usize];
1443 ["Alignment of _opaque_pthread_mutex_t"]
1444 [::std::mem::align_of::<_opaque_pthread_mutex_t>() - 8usize];
1445 ["Offset of field: _opaque_pthread_mutex_t::__sig"]
1446 [::std::mem::offset_of!(_opaque_pthread_mutex_t, __sig) - 0usize];
1447 ["Offset of field: _opaque_pthread_mutex_t::__opaque"]
1448 [::std::mem::offset_of!(_opaque_pthread_mutex_t, __opaque) - 8usize];
1449};
1450impl Default for _opaque_pthread_mutex_t {
1451 fn default() -> Self {
1452 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1453 unsafe {
1454 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1455 s.assume_init()
1456 }
1457 }
1458}
1459#[repr(C)]
1460#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1461pub struct _opaque_pthread_mutexattr_t {
1462 pub __sig: ::std::os::raw::c_long,
1463 pub __opaque: [::std::os::raw::c_char; 8usize],
1464}
1465#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1466const _: () = {
1467 ["Size of _opaque_pthread_mutexattr_t"]
1468 [::std::mem::size_of::<_opaque_pthread_mutexattr_t>() - 16usize];
1469 ["Alignment of _opaque_pthread_mutexattr_t"]
1470 [::std::mem::align_of::<_opaque_pthread_mutexattr_t>() - 8usize];
1471 ["Offset of field: _opaque_pthread_mutexattr_t::__sig"]
1472 [::std::mem::offset_of!(_opaque_pthread_mutexattr_t, __sig) - 0usize];
1473 ["Offset of field: _opaque_pthread_mutexattr_t::__opaque"]
1474 [::std::mem::offset_of!(_opaque_pthread_mutexattr_t, __opaque) - 8usize];
1475};
1476#[repr(C)]
1477#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1478pub struct _opaque_pthread_once_t {
1479 pub __sig: ::std::os::raw::c_long,
1480 pub __opaque: [::std::os::raw::c_char; 8usize],
1481}
1482#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1483const _: () = {
1484 ["Size of _opaque_pthread_once_t"][::std::mem::size_of::<_opaque_pthread_once_t>() - 16usize];
1485 ["Alignment of _opaque_pthread_once_t"]
1486 [::std::mem::align_of::<_opaque_pthread_once_t>() - 8usize];
1487 ["Offset of field: _opaque_pthread_once_t::__sig"]
1488 [::std::mem::offset_of!(_opaque_pthread_once_t, __sig) - 0usize];
1489 ["Offset of field: _opaque_pthread_once_t::__opaque"]
1490 [::std::mem::offset_of!(_opaque_pthread_once_t, __opaque) - 8usize];
1491};
1492#[repr(C)]
1493#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1494pub struct _opaque_pthread_rwlock_t {
1495 pub __sig: ::std::os::raw::c_long,
1496 pub __opaque: [::std::os::raw::c_char; 192usize],
1497}
1498#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1499const _: () = {
1500 ["Size of _opaque_pthread_rwlock_t"]
1501 [::std::mem::size_of::<_opaque_pthread_rwlock_t>() - 200usize];
1502 ["Alignment of _opaque_pthread_rwlock_t"]
1503 [::std::mem::align_of::<_opaque_pthread_rwlock_t>() - 8usize];
1504 ["Offset of field: _opaque_pthread_rwlock_t::__sig"]
1505 [::std::mem::offset_of!(_opaque_pthread_rwlock_t, __sig) - 0usize];
1506 ["Offset of field: _opaque_pthread_rwlock_t::__opaque"]
1507 [::std::mem::offset_of!(_opaque_pthread_rwlock_t, __opaque) - 8usize];
1508};
1509impl Default for _opaque_pthread_rwlock_t {
1510 fn default() -> Self {
1511 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1512 unsafe {
1513 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1514 s.assume_init()
1515 }
1516 }
1517}
1518#[repr(C)]
1519#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1520pub struct _opaque_pthread_rwlockattr_t {
1521 pub __sig: ::std::os::raw::c_long,
1522 pub __opaque: [::std::os::raw::c_char; 16usize],
1523}
1524#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1525const _: () = {
1526 ["Size of _opaque_pthread_rwlockattr_t"]
1527 [::std::mem::size_of::<_opaque_pthread_rwlockattr_t>() - 24usize];
1528 ["Alignment of _opaque_pthread_rwlockattr_t"]
1529 [::std::mem::align_of::<_opaque_pthread_rwlockattr_t>() - 8usize];
1530 ["Offset of field: _opaque_pthread_rwlockattr_t::__sig"]
1531 [::std::mem::offset_of!(_opaque_pthread_rwlockattr_t, __sig) - 0usize];
1532 ["Offset of field: _opaque_pthread_rwlockattr_t::__opaque"]
1533 [::std::mem::offset_of!(_opaque_pthread_rwlockattr_t, __opaque) - 8usize];
1534};
1535#[repr(C)]
1536#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1537pub struct _opaque_pthread_t {
1538 pub __sig: ::std::os::raw::c_long,
1539 pub __cleanup_stack: *mut __darwin_pthread_handler_rec,
1540 pub __opaque: [::std::os::raw::c_char; 8176usize],
1541}
1542#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1543const _: () = {
1544 ["Size of _opaque_pthread_t"][::std::mem::size_of::<_opaque_pthread_t>() - 8192usize];
1545 ["Alignment of _opaque_pthread_t"][::std::mem::align_of::<_opaque_pthread_t>() - 8usize];
1546 ["Offset of field: _opaque_pthread_t::__sig"]
1547 [::std::mem::offset_of!(_opaque_pthread_t, __sig) - 0usize];
1548 ["Offset of field: _opaque_pthread_t::__cleanup_stack"]
1549 [::std::mem::offset_of!(_opaque_pthread_t, __cleanup_stack) - 8usize];
1550 ["Offset of field: _opaque_pthread_t::__opaque"]
1551 [::std::mem::offset_of!(_opaque_pthread_t, __opaque) - 16usize];
1552};
1553impl Default for _opaque_pthread_t {
1554 fn default() -> Self {
1555 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1556 unsafe {
1557 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1558 s.assume_init()
1559 }
1560 }
1561}
1562pub type __darwin_pthread_attr_t = _opaque_pthread_attr_t;
1563pub type __darwin_pthread_cond_t = _opaque_pthread_cond_t;
1564pub type __darwin_pthread_condattr_t = _opaque_pthread_condattr_t;
1565pub type __darwin_pthread_key_t = ::std::os::raw::c_ulong;
1566pub type __darwin_pthread_mutex_t = _opaque_pthread_mutex_t;
1567pub type __darwin_pthread_mutexattr_t = _opaque_pthread_mutexattr_t;
1568pub type __darwin_pthread_once_t = _opaque_pthread_once_t;
1569pub type __darwin_pthread_rwlock_t = _opaque_pthread_rwlock_t;
1570pub type __darwin_pthread_rwlockattr_t = _opaque_pthread_rwlockattr_t;
1571pub type __darwin_pthread_t = *mut _opaque_pthread_t;
1572pub type __darwin_nl_item = ::std::os::raw::c_int;
1573pub type __darwin_wctrans_t = ::std::os::raw::c_int;
1574pub type __darwin_wctype_t = __uint32_t;
1575pub const idtype_t_P_ALL: idtype_t = 0;
1576pub const idtype_t_P_PID: idtype_t = 1;
1577pub const idtype_t_P_PGID: idtype_t = 2;
1578pub type idtype_t = ::std::os::raw::c_uint;
1579pub type pid_t = __darwin_pid_t;
1580pub type id_t = __darwin_id_t;
1581pub type sig_atomic_t = ::std::os::raw::c_int;
1582pub type u_int8_t = ::std::os::raw::c_uchar;
1583pub type u_int16_t = ::std::os::raw::c_ushort;
1584pub type u_int32_t = ::std::os::raw::c_uint;
1585pub type u_int64_t = ::std::os::raw::c_ulonglong;
1586pub type register_t = i64;
1587pub type user_addr_t = u_int64_t;
1588pub type user_size_t = u_int64_t;
1589pub type user_ssize_t = i64;
1590pub type user_long_t = i64;
1591pub type user_ulong_t = u_int64_t;
1592pub type user_time_t = i64;
1593pub type user_off_t = i64;
1594pub type syscall_arg_t = u_int64_t;
1595#[repr(C)]
1596#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1597pub struct __darwin_arm_exception_state {
1598 pub __exception: __uint32_t,
1599 pub __fsr: __uint32_t,
1600 pub __far: __uint32_t,
1601}
1602#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1603const _: () = {
1604 ["Size of __darwin_arm_exception_state"]
1605 [::std::mem::size_of::<__darwin_arm_exception_state>() - 12usize];
1606 ["Alignment of __darwin_arm_exception_state"]
1607 [::std::mem::align_of::<__darwin_arm_exception_state>() - 4usize];
1608 ["Offset of field: __darwin_arm_exception_state::__exception"]
1609 [::std::mem::offset_of!(__darwin_arm_exception_state, __exception) - 0usize];
1610 ["Offset of field: __darwin_arm_exception_state::__fsr"]
1611 [::std::mem::offset_of!(__darwin_arm_exception_state, __fsr) - 4usize];
1612 ["Offset of field: __darwin_arm_exception_state::__far"]
1613 [::std::mem::offset_of!(__darwin_arm_exception_state, __far) - 8usize];
1614};
1615#[repr(C)]
1616#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1617pub struct __darwin_arm_exception_state64 {
1618 pub __far: __uint64_t,
1619 pub __esr: __uint32_t,
1620 pub __exception: __uint32_t,
1621}
1622#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1623const _: () = {
1624 ["Size of __darwin_arm_exception_state64"]
1625 [::std::mem::size_of::<__darwin_arm_exception_state64>() - 16usize];
1626 ["Alignment of __darwin_arm_exception_state64"]
1627 [::std::mem::align_of::<__darwin_arm_exception_state64>() - 8usize];
1628 ["Offset of field: __darwin_arm_exception_state64::__far"]
1629 [::std::mem::offset_of!(__darwin_arm_exception_state64, __far) - 0usize];
1630 ["Offset of field: __darwin_arm_exception_state64::__esr"]
1631 [::std::mem::offset_of!(__darwin_arm_exception_state64, __esr) - 8usize];
1632 ["Offset of field: __darwin_arm_exception_state64::__exception"]
1633 [::std::mem::offset_of!(__darwin_arm_exception_state64, __exception) - 12usize];
1634};
1635#[repr(C)]
1636#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1637pub struct __darwin_arm_exception_state64_v2 {
1638 pub __far: __uint64_t,
1639 pub __esr: __uint64_t,
1640}
1641#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1642const _: () = {
1643 ["Size of __darwin_arm_exception_state64_v2"]
1644 [::std::mem::size_of::<__darwin_arm_exception_state64_v2>() - 16usize];
1645 ["Alignment of __darwin_arm_exception_state64_v2"]
1646 [::std::mem::align_of::<__darwin_arm_exception_state64_v2>() - 8usize];
1647 ["Offset of field: __darwin_arm_exception_state64_v2::__far"]
1648 [::std::mem::offset_of!(__darwin_arm_exception_state64_v2, __far) - 0usize];
1649 ["Offset of field: __darwin_arm_exception_state64_v2::__esr"]
1650 [::std::mem::offset_of!(__darwin_arm_exception_state64_v2, __esr) - 8usize];
1651};
1652#[repr(C)]
1653#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1654pub struct __darwin_arm_thread_state {
1655 pub __r: [__uint32_t; 13usize],
1656 pub __sp: __uint32_t,
1657 pub __lr: __uint32_t,
1658 pub __pc: __uint32_t,
1659 pub __cpsr: __uint32_t,
1660}
1661#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1662const _: () = {
1663 ["Size of __darwin_arm_thread_state"]
1664 [::std::mem::size_of::<__darwin_arm_thread_state>() - 68usize];
1665 ["Alignment of __darwin_arm_thread_state"]
1666 [::std::mem::align_of::<__darwin_arm_thread_state>() - 4usize];
1667 ["Offset of field: __darwin_arm_thread_state::__r"]
1668 [::std::mem::offset_of!(__darwin_arm_thread_state, __r) - 0usize];
1669 ["Offset of field: __darwin_arm_thread_state::__sp"]
1670 [::std::mem::offset_of!(__darwin_arm_thread_state, __sp) - 52usize];
1671 ["Offset of field: __darwin_arm_thread_state::__lr"]
1672 [::std::mem::offset_of!(__darwin_arm_thread_state, __lr) - 56usize];
1673 ["Offset of field: __darwin_arm_thread_state::__pc"]
1674 [::std::mem::offset_of!(__darwin_arm_thread_state, __pc) - 60usize];
1675 ["Offset of field: __darwin_arm_thread_state::__cpsr"]
1676 [::std::mem::offset_of!(__darwin_arm_thread_state, __cpsr) - 64usize];
1677};
1678#[repr(C)]
1679#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1680pub struct __darwin_arm_thread_state64 {
1681 pub __x: [__uint64_t; 29usize],
1682 pub __fp: __uint64_t,
1683 pub __lr: __uint64_t,
1684 pub __sp: __uint64_t,
1685 pub __pc: __uint64_t,
1686 pub __cpsr: __uint32_t,
1687 pub __pad: __uint32_t,
1688}
1689#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1690const _: () = {
1691 ["Size of __darwin_arm_thread_state64"]
1692 [::std::mem::size_of::<__darwin_arm_thread_state64>() - 272usize];
1693 ["Alignment of __darwin_arm_thread_state64"]
1694 [::std::mem::align_of::<__darwin_arm_thread_state64>() - 8usize];
1695 ["Offset of field: __darwin_arm_thread_state64::__x"]
1696 [::std::mem::offset_of!(__darwin_arm_thread_state64, __x) - 0usize];
1697 ["Offset of field: __darwin_arm_thread_state64::__fp"]
1698 [::std::mem::offset_of!(__darwin_arm_thread_state64, __fp) - 232usize];
1699 ["Offset of field: __darwin_arm_thread_state64::__lr"]
1700 [::std::mem::offset_of!(__darwin_arm_thread_state64, __lr) - 240usize];
1701 ["Offset of field: __darwin_arm_thread_state64::__sp"]
1702 [::std::mem::offset_of!(__darwin_arm_thread_state64, __sp) - 248usize];
1703 ["Offset of field: __darwin_arm_thread_state64::__pc"]
1704 [::std::mem::offset_of!(__darwin_arm_thread_state64, __pc) - 256usize];
1705 ["Offset of field: __darwin_arm_thread_state64::__cpsr"]
1706 [::std::mem::offset_of!(__darwin_arm_thread_state64, __cpsr) - 264usize];
1707 ["Offset of field: __darwin_arm_thread_state64::__pad"]
1708 [::std::mem::offset_of!(__darwin_arm_thread_state64, __pad) - 268usize];
1709};
1710#[repr(C)]
1711#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1712pub struct __darwin_arm_vfp_state {
1713 pub __r: [__uint32_t; 64usize],
1714 pub __fpscr: __uint32_t,
1715}
1716#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1717const _: () = {
1718 ["Size of __darwin_arm_vfp_state"][::std::mem::size_of::<__darwin_arm_vfp_state>() - 260usize];
1719 ["Alignment of __darwin_arm_vfp_state"]
1720 [::std::mem::align_of::<__darwin_arm_vfp_state>() - 4usize];
1721 ["Offset of field: __darwin_arm_vfp_state::__r"]
1722 [::std::mem::offset_of!(__darwin_arm_vfp_state, __r) - 0usize];
1723 ["Offset of field: __darwin_arm_vfp_state::__fpscr"]
1724 [::std::mem::offset_of!(__darwin_arm_vfp_state, __fpscr) - 256usize];
1725};
1726impl Default for __darwin_arm_vfp_state {
1727 fn default() -> Self {
1728 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1729 unsafe {
1730 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1731 s.assume_init()
1732 }
1733 }
1734}
1735#[repr(C)]
1736#[repr(align(16))]
1737#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1738pub struct __darwin_arm_neon_state64 {
1739 pub __v: [__uint128_t; 32usize],
1740 pub __fpsr: __uint32_t,
1741 pub __fpcr: __uint32_t,
1742}
1743#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1744const _: () = {
1745 ["Size of __darwin_arm_neon_state64"]
1746 [::std::mem::size_of::<__darwin_arm_neon_state64>() - 528usize];
1747 ["Alignment of __darwin_arm_neon_state64"]
1748 [::std::mem::align_of::<__darwin_arm_neon_state64>() - 16usize];
1749 ["Offset of field: __darwin_arm_neon_state64::__v"]
1750 [::std::mem::offset_of!(__darwin_arm_neon_state64, __v) - 0usize];
1751 ["Offset of field: __darwin_arm_neon_state64::__fpsr"]
1752 [::std::mem::offset_of!(__darwin_arm_neon_state64, __fpsr) - 512usize];
1753 ["Offset of field: __darwin_arm_neon_state64::__fpcr"]
1754 [::std::mem::offset_of!(__darwin_arm_neon_state64, __fpcr) - 516usize];
1755};
1756#[repr(C)]
1757#[repr(align(16))]
1758#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1759pub struct __darwin_arm_neon_state {
1760 pub __v: [__uint128_t; 16usize],
1761 pub __fpsr: __uint32_t,
1762 pub __fpcr: __uint32_t,
1763}
1764#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1765const _: () = {
1766 ["Size of __darwin_arm_neon_state"]
1767 [::std::mem::size_of::<__darwin_arm_neon_state>() - 272usize];
1768 ["Alignment of __darwin_arm_neon_state"]
1769 [::std::mem::align_of::<__darwin_arm_neon_state>() - 16usize];
1770 ["Offset of field: __darwin_arm_neon_state::__v"]
1771 [::std::mem::offset_of!(__darwin_arm_neon_state, __v) - 0usize];
1772 ["Offset of field: __darwin_arm_neon_state::__fpsr"]
1773 [::std::mem::offset_of!(__darwin_arm_neon_state, __fpsr) - 256usize];
1774 ["Offset of field: __darwin_arm_neon_state::__fpcr"]
1775 [::std::mem::offset_of!(__darwin_arm_neon_state, __fpcr) - 260usize];
1776};
1777#[repr(C)]
1778#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1779pub struct __arm_pagein_state {
1780 pub __pagein_error: ::std::os::raw::c_int,
1781}
1782#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1783const _: () = {
1784 ["Size of __arm_pagein_state"][::std::mem::size_of::<__arm_pagein_state>() - 4usize];
1785 ["Alignment of __arm_pagein_state"][::std::mem::align_of::<__arm_pagein_state>() - 4usize];
1786 ["Offset of field: __arm_pagein_state::__pagein_error"]
1787 [::std::mem::offset_of!(__arm_pagein_state, __pagein_error) - 0usize];
1788};
1789#[repr(C)]
1790#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1791pub struct __darwin_arm_sme_state {
1792 pub __svcr: __uint64_t,
1793 pub __tpidr2_el0: __uint64_t,
1794 pub __svl_b: __uint16_t,
1795}
1796#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1797const _: () = {
1798 ["Size of __darwin_arm_sme_state"][::std::mem::size_of::<__darwin_arm_sme_state>() - 24usize];
1799 ["Alignment of __darwin_arm_sme_state"]
1800 [::std::mem::align_of::<__darwin_arm_sme_state>() - 8usize];
1801 ["Offset of field: __darwin_arm_sme_state::__svcr"]
1802 [::std::mem::offset_of!(__darwin_arm_sme_state, __svcr) - 0usize];
1803 ["Offset of field: __darwin_arm_sme_state::__tpidr2_el0"]
1804 [::std::mem::offset_of!(__darwin_arm_sme_state, __tpidr2_el0) - 8usize];
1805 ["Offset of field: __darwin_arm_sme_state::__svl_b"]
1806 [::std::mem::offset_of!(__darwin_arm_sme_state, __svl_b) - 16usize];
1807};
1808#[repr(C)]
1809#[repr(align(4))]
1810#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1811pub struct __darwin_arm_sve_z_state {
1812 pub __z: [[::std::os::raw::c_char; 256usize]; 16usize],
1813}
1814#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1815const _: () = {
1816 ["Size of __darwin_arm_sve_z_state"]
1817 [::std::mem::size_of::<__darwin_arm_sve_z_state>() - 4096usize];
1818 ["Alignment of __darwin_arm_sve_z_state"]
1819 [::std::mem::align_of::<__darwin_arm_sve_z_state>() - 4usize];
1820 ["Offset of field: __darwin_arm_sve_z_state::__z"]
1821 [::std::mem::offset_of!(__darwin_arm_sve_z_state, __z) - 0usize];
1822};
1823impl Default for __darwin_arm_sve_z_state {
1824 fn default() -> Self {
1825 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1826 unsafe {
1827 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1828 s.assume_init()
1829 }
1830 }
1831}
1832#[repr(C)]
1833#[repr(align(4))]
1834#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1835pub struct __darwin_arm_sve_p_state {
1836 pub __p: [[::std::os::raw::c_char; 32usize]; 16usize],
1837}
1838#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1839const _: () = {
1840 ["Size of __darwin_arm_sve_p_state"]
1841 [::std::mem::size_of::<__darwin_arm_sve_p_state>() - 512usize];
1842 ["Alignment of __darwin_arm_sve_p_state"]
1843 [::std::mem::align_of::<__darwin_arm_sve_p_state>() - 4usize];
1844 ["Offset of field: __darwin_arm_sve_p_state::__p"]
1845 [::std::mem::offset_of!(__darwin_arm_sve_p_state, __p) - 0usize];
1846};
1847#[repr(C)]
1848#[repr(align(4))]
1849#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1850pub struct __darwin_arm_sme_za_state {
1851 pub __za: [::std::os::raw::c_char; 4096usize],
1852}
1853#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1854const _: () = {
1855 ["Size of __darwin_arm_sme_za_state"]
1856 [::std::mem::size_of::<__darwin_arm_sme_za_state>() - 4096usize];
1857 ["Alignment of __darwin_arm_sme_za_state"]
1858 [::std::mem::align_of::<__darwin_arm_sme_za_state>() - 4usize];
1859 ["Offset of field: __darwin_arm_sme_za_state::__za"]
1860 [::std::mem::offset_of!(__darwin_arm_sme_za_state, __za) - 0usize];
1861};
1862impl Default for __darwin_arm_sme_za_state {
1863 fn default() -> Self {
1864 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1865 unsafe {
1866 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1867 s.assume_init()
1868 }
1869 }
1870}
1871#[repr(C)]
1872#[repr(align(4))]
1873#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1874pub struct __darwin_arm_sme2_state {
1875 pub __zt0: [::std::os::raw::c_char; 64usize],
1876}
1877#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1878const _: () = {
1879 ["Size of __darwin_arm_sme2_state"][::std::mem::size_of::<__darwin_arm_sme2_state>() - 64usize];
1880 ["Alignment of __darwin_arm_sme2_state"]
1881 [::std::mem::align_of::<__darwin_arm_sme2_state>() - 4usize];
1882 ["Offset of field: __darwin_arm_sme2_state::__zt0"]
1883 [::std::mem::offset_of!(__darwin_arm_sme2_state, __zt0) - 0usize];
1884};
1885impl Default for __darwin_arm_sme2_state {
1886 fn default() -> Self {
1887 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
1888 unsafe {
1889 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
1890 s.assume_init()
1891 }
1892 }
1893}
1894#[repr(C)]
1895#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1896pub struct __arm_legacy_debug_state {
1897 pub __bvr: [__uint32_t; 16usize],
1898 pub __bcr: [__uint32_t; 16usize],
1899 pub __wvr: [__uint32_t; 16usize],
1900 pub __wcr: [__uint32_t; 16usize],
1901}
1902#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1903const _: () = {
1904 ["Size of __arm_legacy_debug_state"]
1905 [::std::mem::size_of::<__arm_legacy_debug_state>() - 256usize];
1906 ["Alignment of __arm_legacy_debug_state"]
1907 [::std::mem::align_of::<__arm_legacy_debug_state>() - 4usize];
1908 ["Offset of field: __arm_legacy_debug_state::__bvr"]
1909 [::std::mem::offset_of!(__arm_legacy_debug_state, __bvr) - 0usize];
1910 ["Offset of field: __arm_legacy_debug_state::__bcr"]
1911 [::std::mem::offset_of!(__arm_legacy_debug_state, __bcr) - 64usize];
1912 ["Offset of field: __arm_legacy_debug_state::__wvr"]
1913 [::std::mem::offset_of!(__arm_legacy_debug_state, __wvr) - 128usize];
1914 ["Offset of field: __arm_legacy_debug_state::__wcr"]
1915 [::std::mem::offset_of!(__arm_legacy_debug_state, __wcr) - 192usize];
1916};
1917#[repr(C)]
1918#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1919pub struct __darwin_arm_debug_state32 {
1920 pub __bvr: [__uint32_t; 16usize],
1921 pub __bcr: [__uint32_t; 16usize],
1922 pub __wvr: [__uint32_t; 16usize],
1923 pub __wcr: [__uint32_t; 16usize],
1924 pub __mdscr_el1: __uint64_t,
1925}
1926#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1927const _: () = {
1928 ["Size of __darwin_arm_debug_state32"]
1929 [::std::mem::size_of::<__darwin_arm_debug_state32>() - 264usize];
1930 ["Alignment of __darwin_arm_debug_state32"]
1931 [::std::mem::align_of::<__darwin_arm_debug_state32>() - 8usize];
1932 ["Offset of field: __darwin_arm_debug_state32::__bvr"]
1933 [::std::mem::offset_of!(__darwin_arm_debug_state32, __bvr) - 0usize];
1934 ["Offset of field: __darwin_arm_debug_state32::__bcr"]
1935 [::std::mem::offset_of!(__darwin_arm_debug_state32, __bcr) - 64usize];
1936 ["Offset of field: __darwin_arm_debug_state32::__wvr"]
1937 [::std::mem::offset_of!(__darwin_arm_debug_state32, __wvr) - 128usize];
1938 ["Offset of field: __darwin_arm_debug_state32::__wcr"]
1939 [::std::mem::offset_of!(__darwin_arm_debug_state32, __wcr) - 192usize];
1940 ["Offset of field: __darwin_arm_debug_state32::__mdscr_el1"]
1941 [::std::mem::offset_of!(__darwin_arm_debug_state32, __mdscr_el1) - 256usize];
1942};
1943#[repr(C)]
1944#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1945pub struct __darwin_arm_debug_state64 {
1946 pub __bvr: [__uint64_t; 16usize],
1947 pub __bcr: [__uint64_t; 16usize],
1948 pub __wvr: [__uint64_t; 16usize],
1949 pub __wcr: [__uint64_t; 16usize],
1950 pub __mdscr_el1: __uint64_t,
1951}
1952#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1953const _: () = {
1954 ["Size of __darwin_arm_debug_state64"]
1955 [::std::mem::size_of::<__darwin_arm_debug_state64>() - 520usize];
1956 ["Alignment of __darwin_arm_debug_state64"]
1957 [::std::mem::align_of::<__darwin_arm_debug_state64>() - 8usize];
1958 ["Offset of field: __darwin_arm_debug_state64::__bvr"]
1959 [::std::mem::offset_of!(__darwin_arm_debug_state64, __bvr) - 0usize];
1960 ["Offset of field: __darwin_arm_debug_state64::__bcr"]
1961 [::std::mem::offset_of!(__darwin_arm_debug_state64, __bcr) - 128usize];
1962 ["Offset of field: __darwin_arm_debug_state64::__wvr"]
1963 [::std::mem::offset_of!(__darwin_arm_debug_state64, __wvr) - 256usize];
1964 ["Offset of field: __darwin_arm_debug_state64::__wcr"]
1965 [::std::mem::offset_of!(__darwin_arm_debug_state64, __wcr) - 384usize];
1966 ["Offset of field: __darwin_arm_debug_state64::__mdscr_el1"]
1967 [::std::mem::offset_of!(__darwin_arm_debug_state64, __mdscr_el1) - 512usize];
1968};
1969#[repr(C)]
1970#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
1971pub struct __darwin_arm_cpmu_state64 {
1972 pub __ctrs: [__uint64_t; 16usize],
1973}
1974#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1975const _: () = {
1976 ["Size of __darwin_arm_cpmu_state64"]
1977 [::std::mem::size_of::<__darwin_arm_cpmu_state64>() - 128usize];
1978 ["Alignment of __darwin_arm_cpmu_state64"]
1979 [::std::mem::align_of::<__darwin_arm_cpmu_state64>() - 8usize];
1980 ["Offset of field: __darwin_arm_cpmu_state64::__ctrs"]
1981 [::std::mem::offset_of!(__darwin_arm_cpmu_state64, __ctrs) - 0usize];
1982};
1983#[repr(C)]
1984#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1985pub struct __darwin_mcontext32 {
1986 pub __es: __darwin_arm_exception_state,
1987 pub __ss: __darwin_arm_thread_state,
1988 pub __fs: __darwin_arm_vfp_state,
1989}
1990#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1991const _: () = {
1992 ["Size of __darwin_mcontext32"][::std::mem::size_of::<__darwin_mcontext32>() - 340usize];
1993 ["Alignment of __darwin_mcontext32"][::std::mem::align_of::<__darwin_mcontext32>() - 4usize];
1994 ["Offset of field: __darwin_mcontext32::__es"]
1995 [::std::mem::offset_of!(__darwin_mcontext32, __es) - 0usize];
1996 ["Offset of field: __darwin_mcontext32::__ss"]
1997 [::std::mem::offset_of!(__darwin_mcontext32, __ss) - 12usize];
1998 ["Offset of field: __darwin_mcontext32::__fs"]
1999 [::std::mem::offset_of!(__darwin_mcontext32, __fs) - 80usize];
2000};
2001impl Default for __darwin_mcontext32 {
2002 fn default() -> Self {
2003 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2004 unsafe {
2005 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2006 s.assume_init()
2007 }
2008 }
2009}
2010#[repr(C)]
2011#[repr(align(16))]
2012#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2013pub struct __darwin_mcontext64 {
2014 pub __es: __darwin_arm_exception_state64,
2015 pub __ss: __darwin_arm_thread_state64,
2016 pub __ns: __darwin_arm_neon_state64,
2017}
2018#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2019const _: () = {
2020 ["Size of __darwin_mcontext64"][::std::mem::size_of::<__darwin_mcontext64>() - 816usize];
2021 ["Alignment of __darwin_mcontext64"][::std::mem::align_of::<__darwin_mcontext64>() - 16usize];
2022 ["Offset of field: __darwin_mcontext64::__es"]
2023 [::std::mem::offset_of!(__darwin_mcontext64, __es) - 0usize];
2024 ["Offset of field: __darwin_mcontext64::__ss"]
2025 [::std::mem::offset_of!(__darwin_mcontext64, __ss) - 16usize];
2026 ["Offset of field: __darwin_mcontext64::__ns"]
2027 [::std::mem::offset_of!(__darwin_mcontext64, __ns) - 288usize];
2028};
2029pub type mcontext_t = *mut __darwin_mcontext64;
2030pub type pthread_attr_t = __darwin_pthread_attr_t;
2031#[repr(C)]
2032#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2033pub struct __darwin_sigaltstack {
2034 pub ss_sp: *mut ::std::os::raw::c_void,
2035 pub ss_size: __darwin_size_t,
2036 pub ss_flags: ::std::os::raw::c_int,
2037}
2038#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2039const _: () = {
2040 ["Size of __darwin_sigaltstack"][::std::mem::size_of::<__darwin_sigaltstack>() - 24usize];
2041 ["Alignment of __darwin_sigaltstack"][::std::mem::align_of::<__darwin_sigaltstack>() - 8usize];
2042 ["Offset of field: __darwin_sigaltstack::ss_sp"]
2043 [::std::mem::offset_of!(__darwin_sigaltstack, ss_sp) - 0usize];
2044 ["Offset of field: __darwin_sigaltstack::ss_size"]
2045 [::std::mem::offset_of!(__darwin_sigaltstack, ss_size) - 8usize];
2046 ["Offset of field: __darwin_sigaltstack::ss_flags"]
2047 [::std::mem::offset_of!(__darwin_sigaltstack, ss_flags) - 16usize];
2048};
2049impl Default for __darwin_sigaltstack {
2050 fn default() -> Self {
2051 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2052 unsafe {
2053 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2054 s.assume_init()
2055 }
2056 }
2057}
2058pub type stack_t = __darwin_sigaltstack;
2059#[repr(C)]
2060#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2061pub struct __darwin_ucontext {
2062 pub uc_onstack: ::std::os::raw::c_int,
2063 pub uc_sigmask: __darwin_sigset_t,
2064 pub uc_stack: __darwin_sigaltstack,
2065 pub uc_link: *mut __darwin_ucontext,
2066 pub uc_mcsize: __darwin_size_t,
2067 pub uc_mcontext: *mut __darwin_mcontext64,
2068}
2069#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2070const _: () = {
2071 ["Size of __darwin_ucontext"][::std::mem::size_of::<__darwin_ucontext>() - 56usize];
2072 ["Alignment of __darwin_ucontext"][::std::mem::align_of::<__darwin_ucontext>() - 8usize];
2073 ["Offset of field: __darwin_ucontext::uc_onstack"]
2074 [::std::mem::offset_of!(__darwin_ucontext, uc_onstack) - 0usize];
2075 ["Offset of field: __darwin_ucontext::uc_sigmask"]
2076 [::std::mem::offset_of!(__darwin_ucontext, uc_sigmask) - 4usize];
2077 ["Offset of field: __darwin_ucontext::uc_stack"]
2078 [::std::mem::offset_of!(__darwin_ucontext, uc_stack) - 8usize];
2079 ["Offset of field: __darwin_ucontext::uc_link"]
2080 [::std::mem::offset_of!(__darwin_ucontext, uc_link) - 32usize];
2081 ["Offset of field: __darwin_ucontext::uc_mcsize"]
2082 [::std::mem::offset_of!(__darwin_ucontext, uc_mcsize) - 40usize];
2083 ["Offset of field: __darwin_ucontext::uc_mcontext"]
2084 [::std::mem::offset_of!(__darwin_ucontext, uc_mcontext) - 48usize];
2085};
2086impl Default for __darwin_ucontext {
2087 fn default() -> Self {
2088 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2089 unsafe {
2090 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2091 s.assume_init()
2092 }
2093 }
2094}
2095pub type ucontext_t = __darwin_ucontext;
2096pub type sigset_t = __darwin_sigset_t;
2097pub type uid_t = __darwin_uid_t;
2098#[repr(C)]
2099#[derive(Copy, Clone)]
2100pub union sigval {
2101 pub sival_int: ::std::os::raw::c_int,
2102 pub sival_ptr: *mut ::std::os::raw::c_void,
2103}
2104#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2105const _: () = {
2106 ["Size of sigval"][::std::mem::size_of::<sigval>() - 8usize];
2107 ["Alignment of sigval"][::std::mem::align_of::<sigval>() - 8usize];
2108 ["Offset of field: sigval::sival_int"][::std::mem::offset_of!(sigval, sival_int) - 0usize];
2109 ["Offset of field: sigval::sival_ptr"][::std::mem::offset_of!(sigval, sival_ptr) - 0usize];
2110};
2111impl Default for sigval {
2112 fn default() -> Self {
2113 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2114 unsafe {
2115 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2116 s.assume_init()
2117 }
2118 }
2119}
2120#[repr(C)]
2121#[derive(Copy, Clone)]
2122pub struct sigevent {
2123 pub sigev_notify: ::std::os::raw::c_int,
2124 pub sigev_signo: ::std::os::raw::c_int,
2125 pub sigev_value: sigval,
2126 pub sigev_notify_function: ::std::option::Option<unsafe extern "C" fn(arg1: sigval)>,
2127 pub sigev_notify_attributes: *mut pthread_attr_t,
2128}
2129#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2130const _: () = {
2131 ["Size of sigevent"][::std::mem::size_of::<sigevent>() - 32usize];
2132 ["Alignment of sigevent"][::std::mem::align_of::<sigevent>() - 8usize];
2133 ["Offset of field: sigevent::sigev_notify"]
2134 [::std::mem::offset_of!(sigevent, sigev_notify) - 0usize];
2135 ["Offset of field: sigevent::sigev_signo"]
2136 [::std::mem::offset_of!(sigevent, sigev_signo) - 4usize];
2137 ["Offset of field: sigevent::sigev_value"]
2138 [::std::mem::offset_of!(sigevent, sigev_value) - 8usize];
2139 ["Offset of field: sigevent::sigev_notify_function"]
2140 [::std::mem::offset_of!(sigevent, sigev_notify_function) - 16usize];
2141 ["Offset of field: sigevent::sigev_notify_attributes"]
2142 [::std::mem::offset_of!(sigevent, sigev_notify_attributes) - 24usize];
2143};
2144impl Default for sigevent {
2145 fn default() -> Self {
2146 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2147 unsafe {
2148 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2149 s.assume_init()
2150 }
2151 }
2152}
2153#[repr(C)]
2154#[derive(Copy, Clone)]
2155pub struct __siginfo {
2156 pub si_signo: ::std::os::raw::c_int,
2157 pub si_errno: ::std::os::raw::c_int,
2158 pub si_code: ::std::os::raw::c_int,
2159 pub si_pid: pid_t,
2160 pub si_uid: uid_t,
2161 pub si_status: ::std::os::raw::c_int,
2162 pub si_addr: *mut ::std::os::raw::c_void,
2163 pub si_value: sigval,
2164 pub si_band: ::std::os::raw::c_long,
2165 pub __pad: [::std::os::raw::c_ulong; 7usize],
2166}
2167#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2168const _: () = {
2169 ["Size of __siginfo"][::std::mem::size_of::<__siginfo>() - 104usize];
2170 ["Alignment of __siginfo"][::std::mem::align_of::<__siginfo>() - 8usize];
2171 ["Offset of field: __siginfo::si_signo"][::std::mem::offset_of!(__siginfo, si_signo) - 0usize];
2172 ["Offset of field: __siginfo::si_errno"][::std::mem::offset_of!(__siginfo, si_errno) - 4usize];
2173 ["Offset of field: __siginfo::si_code"][::std::mem::offset_of!(__siginfo, si_code) - 8usize];
2174 ["Offset of field: __siginfo::si_pid"][::std::mem::offset_of!(__siginfo, si_pid) - 12usize];
2175 ["Offset of field: __siginfo::si_uid"][::std::mem::offset_of!(__siginfo, si_uid) - 16usize];
2176 ["Offset of field: __siginfo::si_status"]
2177 [::std::mem::offset_of!(__siginfo, si_status) - 20usize];
2178 ["Offset of field: __siginfo::si_addr"][::std::mem::offset_of!(__siginfo, si_addr) - 24usize];
2179 ["Offset of field: __siginfo::si_value"][::std::mem::offset_of!(__siginfo, si_value) - 32usize];
2180 ["Offset of field: __siginfo::si_band"][::std::mem::offset_of!(__siginfo, si_band) - 40usize];
2181 ["Offset of field: __siginfo::__pad"][::std::mem::offset_of!(__siginfo, __pad) - 48usize];
2182};
2183impl Default for __siginfo {
2184 fn default() -> Self {
2185 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2186 unsafe {
2187 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2188 s.assume_init()
2189 }
2190 }
2191}
2192pub type siginfo_t = __siginfo;
2193#[repr(C)]
2194#[derive(Copy, Clone)]
2195pub union __sigaction_u {
2196 pub __sa_handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2197 pub __sa_sigaction: ::std::option::Option<
2198 unsafe extern "C" fn(
2199 arg1: ::std::os::raw::c_int,
2200 arg2: *mut __siginfo,
2201 arg3: *mut ::std::os::raw::c_void,
2202 ),
2203 >,
2204}
2205#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2206const _: () = {
2207 ["Size of __sigaction_u"][::std::mem::size_of::<__sigaction_u>() - 8usize];
2208 ["Alignment of __sigaction_u"][::std::mem::align_of::<__sigaction_u>() - 8usize];
2209 ["Offset of field: __sigaction_u::__sa_handler"]
2210 [::std::mem::offset_of!(__sigaction_u, __sa_handler) - 0usize];
2211 ["Offset of field: __sigaction_u::__sa_sigaction"]
2212 [::std::mem::offset_of!(__sigaction_u, __sa_sigaction) - 0usize];
2213};
2214impl Default for __sigaction_u {
2215 fn default() -> Self {
2216 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2217 unsafe {
2218 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2219 s.assume_init()
2220 }
2221 }
2222}
2223#[repr(C)]
2224#[derive(Copy, Clone)]
2225pub struct __sigaction {
2226 pub __sigaction_u: __sigaction_u,
2227 pub sa_tramp: ::std::option::Option<
2228 unsafe extern "C" fn(
2229 arg1: *mut ::std::os::raw::c_void,
2230 arg2: ::std::os::raw::c_int,
2231 arg3: ::std::os::raw::c_int,
2232 arg4: *mut siginfo_t,
2233 arg5: *mut ::std::os::raw::c_void,
2234 ),
2235 >,
2236 pub sa_mask: sigset_t,
2237 pub sa_flags: ::std::os::raw::c_int,
2238}
2239#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2240const _: () = {
2241 ["Size of __sigaction"][::std::mem::size_of::<__sigaction>() - 24usize];
2242 ["Alignment of __sigaction"][::std::mem::align_of::<__sigaction>() - 8usize];
2243 ["Offset of field: __sigaction::__sigaction_u"]
2244 [::std::mem::offset_of!(__sigaction, __sigaction_u) - 0usize];
2245 ["Offset of field: __sigaction::sa_tramp"]
2246 [::std::mem::offset_of!(__sigaction, sa_tramp) - 8usize];
2247 ["Offset of field: __sigaction::sa_mask"]
2248 [::std::mem::offset_of!(__sigaction, sa_mask) - 16usize];
2249 ["Offset of field: __sigaction::sa_flags"]
2250 [::std::mem::offset_of!(__sigaction, sa_flags) - 20usize];
2251};
2252impl Default for __sigaction {
2253 fn default() -> Self {
2254 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2255 unsafe {
2256 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2257 s.assume_init()
2258 }
2259 }
2260}
2261#[repr(C)]
2262#[derive(Copy, Clone)]
2263pub struct sigaction {
2264 pub __sigaction_u: __sigaction_u,
2265 pub sa_mask: sigset_t,
2266 pub sa_flags: ::std::os::raw::c_int,
2267}
2268#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2269const _: () = {
2270 ["Size of sigaction"][::std::mem::size_of::<sigaction>() - 16usize];
2271 ["Alignment of sigaction"][::std::mem::align_of::<sigaction>() - 8usize];
2272 ["Offset of field: sigaction::__sigaction_u"]
2273 [::std::mem::offset_of!(sigaction, __sigaction_u) - 0usize];
2274 ["Offset of field: sigaction::sa_mask"][::std::mem::offset_of!(sigaction, sa_mask) - 8usize];
2275 ["Offset of field: sigaction::sa_flags"][::std::mem::offset_of!(sigaction, sa_flags) - 12usize];
2276};
2277impl Default for sigaction {
2278 fn default() -> Self {
2279 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2280 unsafe {
2281 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2282 s.assume_init()
2283 }
2284 }
2285}
2286pub type sig_t = ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>;
2287#[repr(C)]
2288#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2289pub struct sigvec {
2290 pub sv_handler: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2291 pub sv_mask: ::std::os::raw::c_int,
2292 pub sv_flags: ::std::os::raw::c_int,
2293}
2294#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2295const _: () = {
2296 ["Size of sigvec"][::std::mem::size_of::<sigvec>() - 16usize];
2297 ["Alignment of sigvec"][::std::mem::align_of::<sigvec>() - 8usize];
2298 ["Offset of field: sigvec::sv_handler"][::std::mem::offset_of!(sigvec, sv_handler) - 0usize];
2299 ["Offset of field: sigvec::sv_mask"][::std::mem::offset_of!(sigvec, sv_mask) - 8usize];
2300 ["Offset of field: sigvec::sv_flags"][::std::mem::offset_of!(sigvec, sv_flags) - 12usize];
2301};
2302#[repr(C)]
2303#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
2304pub struct sigstack {
2305 pub ss_sp: *mut ::std::os::raw::c_char,
2306 pub ss_onstack: ::std::os::raw::c_int,
2307}
2308#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2309const _: () = {
2310 ["Size of sigstack"][::std::mem::size_of::<sigstack>() - 16usize];
2311 ["Alignment of sigstack"][::std::mem::align_of::<sigstack>() - 8usize];
2312 ["Offset of field: sigstack::ss_sp"][::std::mem::offset_of!(sigstack, ss_sp) - 0usize];
2313 ["Offset of field: sigstack::ss_onstack"]
2314 [::std::mem::offset_of!(sigstack, ss_onstack) - 8usize];
2315};
2316impl Default for sigstack {
2317 fn default() -> Self {
2318 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
2319 unsafe {
2320 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
2321 s.assume_init()
2322 }
2323 }
2324}
2325unsafe extern "C" {
2326 pub fn signal(
2327 arg1: ::std::os::raw::c_int,
2328 arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2329 ) -> ::std::option::Option<
2330 unsafe extern "C" fn(
2331 arg1: ::std::os::raw::c_int,
2332 arg2: ::std::option::Option<unsafe extern "C" fn(arg1: ::std::os::raw::c_int)>,
2333 ),
2334 >;
2335}
2336pub type int_least8_t = i8;
2337pub type int_least16_t = i16;
2338pub type int_least32_t = i32;
2339pub type int_least64_t = i64;
2340pub type uint_least8_t = u8;
2341pub type uint_least16_t = u16;
2342pub type uint_least32_t = u32;
2343pub type uint_least64_t = u64;
2344pub type int_fast8_t = i8;
2345pub type int_fast16_t = i16;
2346pub type int_fast32_t = i32;
2347pub type int_fast64_t = i64;
2348pub type uint_fast8_t = u8;
2349pub type uint_fast16_t = u16;
2350pub type uint_fast32_t = u32;
2351pub type uint_fast64_t = u64;
2352pub type intmax_t = ::std::os::raw::c_long;
2353pub type uintmax_t = ::std::os::raw::c_ulong;
2354#[repr(C)]
2355#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2356pub struct timeval {
2357 pub tv_sec: __darwin_time_t,
2358 pub tv_usec: __darwin_suseconds_t,
2359}
2360#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2361const _: () = {
2362 ["Size of timeval"][::std::mem::size_of::<timeval>() - 16usize];
2363 ["Alignment of timeval"][::std::mem::align_of::<timeval>() - 8usize];
2364 ["Offset of field: timeval::tv_sec"][::std::mem::offset_of!(timeval, tv_sec) - 0usize];
2365 ["Offset of field: timeval::tv_usec"][::std::mem::offset_of!(timeval, tv_usec) - 8usize];
2366};
2367pub type rlim_t = __uint64_t;
2368#[repr(C)]
2369#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2370pub struct rusage {
2371 pub ru_utime: timeval,
2372 pub ru_stime: timeval,
2373 pub ru_maxrss: ::std::os::raw::c_long,
2374 pub ru_ixrss: ::std::os::raw::c_long,
2375 pub ru_idrss: ::std::os::raw::c_long,
2376 pub ru_isrss: ::std::os::raw::c_long,
2377 pub ru_minflt: ::std::os::raw::c_long,
2378 pub ru_majflt: ::std::os::raw::c_long,
2379 pub ru_nswap: ::std::os::raw::c_long,
2380 pub ru_inblock: ::std::os::raw::c_long,
2381 pub ru_oublock: ::std::os::raw::c_long,
2382 pub ru_msgsnd: ::std::os::raw::c_long,
2383 pub ru_msgrcv: ::std::os::raw::c_long,
2384 pub ru_nsignals: ::std::os::raw::c_long,
2385 pub ru_nvcsw: ::std::os::raw::c_long,
2386 pub ru_nivcsw: ::std::os::raw::c_long,
2387}
2388#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2389const _: () = {
2390 ["Size of rusage"][::std::mem::size_of::<rusage>() - 144usize];
2391 ["Alignment of rusage"][::std::mem::align_of::<rusage>() - 8usize];
2392 ["Offset of field: rusage::ru_utime"][::std::mem::offset_of!(rusage, ru_utime) - 0usize];
2393 ["Offset of field: rusage::ru_stime"][::std::mem::offset_of!(rusage, ru_stime) - 16usize];
2394 ["Offset of field: rusage::ru_maxrss"][::std::mem::offset_of!(rusage, ru_maxrss) - 32usize];
2395 ["Offset of field: rusage::ru_ixrss"][::std::mem::offset_of!(rusage, ru_ixrss) - 40usize];
2396 ["Offset of field: rusage::ru_idrss"][::std::mem::offset_of!(rusage, ru_idrss) - 48usize];
2397 ["Offset of field: rusage::ru_isrss"][::std::mem::offset_of!(rusage, ru_isrss) - 56usize];
2398 ["Offset of field: rusage::ru_minflt"][::std::mem::offset_of!(rusage, ru_minflt) - 64usize];
2399 ["Offset of field: rusage::ru_majflt"][::std::mem::offset_of!(rusage, ru_majflt) - 72usize];
2400 ["Offset of field: rusage::ru_nswap"][::std::mem::offset_of!(rusage, ru_nswap) - 80usize];
2401 ["Offset of field: rusage::ru_inblock"][::std::mem::offset_of!(rusage, ru_inblock) - 88usize];
2402 ["Offset of field: rusage::ru_oublock"][::std::mem::offset_of!(rusage, ru_oublock) - 96usize];
2403 ["Offset of field: rusage::ru_msgsnd"][::std::mem::offset_of!(rusage, ru_msgsnd) - 104usize];
2404 ["Offset of field: rusage::ru_msgrcv"][::std::mem::offset_of!(rusage, ru_msgrcv) - 112usize];
2405 ["Offset of field: rusage::ru_nsignals"]
2406 [::std::mem::offset_of!(rusage, ru_nsignals) - 120usize];
2407 ["Offset of field: rusage::ru_nvcsw"][::std::mem::offset_of!(rusage, ru_nvcsw) - 128usize];
2408 ["Offset of field: rusage::ru_nivcsw"][::std::mem::offset_of!(rusage, ru_nivcsw) - 136usize];
2409};
2410pub type rusage_info_t = *mut ::std::os::raw::c_void;
2411#[repr(C)]
2412#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2413pub struct rusage_info_v0 {
2414 pub ri_uuid: [u8; 16usize],
2415 pub ri_user_time: u64,
2416 pub ri_system_time: u64,
2417 pub ri_pkg_idle_wkups: u64,
2418 pub ri_interrupt_wkups: u64,
2419 pub ri_pageins: u64,
2420 pub ri_wired_size: u64,
2421 pub ri_resident_size: u64,
2422 pub ri_phys_footprint: u64,
2423 pub ri_proc_start_abstime: u64,
2424 pub ri_proc_exit_abstime: u64,
2425}
2426#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2427const _: () = {
2428 ["Size of rusage_info_v0"][::std::mem::size_of::<rusage_info_v0>() - 96usize];
2429 ["Alignment of rusage_info_v0"][::std::mem::align_of::<rusage_info_v0>() - 8usize];
2430 ["Offset of field: rusage_info_v0::ri_uuid"]
2431 [::std::mem::offset_of!(rusage_info_v0, ri_uuid) - 0usize];
2432 ["Offset of field: rusage_info_v0::ri_user_time"]
2433 [::std::mem::offset_of!(rusage_info_v0, ri_user_time) - 16usize];
2434 ["Offset of field: rusage_info_v0::ri_system_time"]
2435 [::std::mem::offset_of!(rusage_info_v0, ri_system_time) - 24usize];
2436 ["Offset of field: rusage_info_v0::ri_pkg_idle_wkups"]
2437 [::std::mem::offset_of!(rusage_info_v0, ri_pkg_idle_wkups) - 32usize];
2438 ["Offset of field: rusage_info_v0::ri_interrupt_wkups"]
2439 [::std::mem::offset_of!(rusage_info_v0, ri_interrupt_wkups) - 40usize];
2440 ["Offset of field: rusage_info_v0::ri_pageins"]
2441 [::std::mem::offset_of!(rusage_info_v0, ri_pageins) - 48usize];
2442 ["Offset of field: rusage_info_v0::ri_wired_size"]
2443 [::std::mem::offset_of!(rusage_info_v0, ri_wired_size) - 56usize];
2444 ["Offset of field: rusage_info_v0::ri_resident_size"]
2445 [::std::mem::offset_of!(rusage_info_v0, ri_resident_size) - 64usize];
2446 ["Offset of field: rusage_info_v0::ri_phys_footprint"]
2447 [::std::mem::offset_of!(rusage_info_v0, ri_phys_footprint) - 72usize];
2448 ["Offset of field: rusage_info_v0::ri_proc_start_abstime"]
2449 [::std::mem::offset_of!(rusage_info_v0, ri_proc_start_abstime) - 80usize];
2450 ["Offset of field: rusage_info_v0::ri_proc_exit_abstime"]
2451 [::std::mem::offset_of!(rusage_info_v0, ri_proc_exit_abstime) - 88usize];
2452};
2453#[repr(C)]
2454#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2455pub struct rusage_info_v1 {
2456 pub ri_uuid: [u8; 16usize],
2457 pub ri_user_time: u64,
2458 pub ri_system_time: u64,
2459 pub ri_pkg_idle_wkups: u64,
2460 pub ri_interrupt_wkups: u64,
2461 pub ri_pageins: u64,
2462 pub ri_wired_size: u64,
2463 pub ri_resident_size: u64,
2464 pub ri_phys_footprint: u64,
2465 pub ri_proc_start_abstime: u64,
2466 pub ri_proc_exit_abstime: u64,
2467 pub ri_child_user_time: u64,
2468 pub ri_child_system_time: u64,
2469 pub ri_child_pkg_idle_wkups: u64,
2470 pub ri_child_interrupt_wkups: u64,
2471 pub ri_child_pageins: u64,
2472 pub ri_child_elapsed_abstime: u64,
2473}
2474#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2475const _: () = {
2476 ["Size of rusage_info_v1"][::std::mem::size_of::<rusage_info_v1>() - 144usize];
2477 ["Alignment of rusage_info_v1"][::std::mem::align_of::<rusage_info_v1>() - 8usize];
2478 ["Offset of field: rusage_info_v1::ri_uuid"]
2479 [::std::mem::offset_of!(rusage_info_v1, ri_uuid) - 0usize];
2480 ["Offset of field: rusage_info_v1::ri_user_time"]
2481 [::std::mem::offset_of!(rusage_info_v1, ri_user_time) - 16usize];
2482 ["Offset of field: rusage_info_v1::ri_system_time"]
2483 [::std::mem::offset_of!(rusage_info_v1, ri_system_time) - 24usize];
2484 ["Offset of field: rusage_info_v1::ri_pkg_idle_wkups"]
2485 [::std::mem::offset_of!(rusage_info_v1, ri_pkg_idle_wkups) - 32usize];
2486 ["Offset of field: rusage_info_v1::ri_interrupt_wkups"]
2487 [::std::mem::offset_of!(rusage_info_v1, ri_interrupt_wkups) - 40usize];
2488 ["Offset of field: rusage_info_v1::ri_pageins"]
2489 [::std::mem::offset_of!(rusage_info_v1, ri_pageins) - 48usize];
2490 ["Offset of field: rusage_info_v1::ri_wired_size"]
2491 [::std::mem::offset_of!(rusage_info_v1, ri_wired_size) - 56usize];
2492 ["Offset of field: rusage_info_v1::ri_resident_size"]
2493 [::std::mem::offset_of!(rusage_info_v1, ri_resident_size) - 64usize];
2494 ["Offset of field: rusage_info_v1::ri_phys_footprint"]
2495 [::std::mem::offset_of!(rusage_info_v1, ri_phys_footprint) - 72usize];
2496 ["Offset of field: rusage_info_v1::ri_proc_start_abstime"]
2497 [::std::mem::offset_of!(rusage_info_v1, ri_proc_start_abstime) - 80usize];
2498 ["Offset of field: rusage_info_v1::ri_proc_exit_abstime"]
2499 [::std::mem::offset_of!(rusage_info_v1, ri_proc_exit_abstime) - 88usize];
2500 ["Offset of field: rusage_info_v1::ri_child_user_time"]
2501 [::std::mem::offset_of!(rusage_info_v1, ri_child_user_time) - 96usize];
2502 ["Offset of field: rusage_info_v1::ri_child_system_time"]
2503 [::std::mem::offset_of!(rusage_info_v1, ri_child_system_time) - 104usize];
2504 ["Offset of field: rusage_info_v1::ri_child_pkg_idle_wkups"]
2505 [::std::mem::offset_of!(rusage_info_v1, ri_child_pkg_idle_wkups) - 112usize];
2506 ["Offset of field: rusage_info_v1::ri_child_interrupt_wkups"]
2507 [::std::mem::offset_of!(rusage_info_v1, ri_child_interrupt_wkups) - 120usize];
2508 ["Offset of field: rusage_info_v1::ri_child_pageins"]
2509 [::std::mem::offset_of!(rusage_info_v1, ri_child_pageins) - 128usize];
2510 ["Offset of field: rusage_info_v1::ri_child_elapsed_abstime"]
2511 [::std::mem::offset_of!(rusage_info_v1, ri_child_elapsed_abstime) - 136usize];
2512};
2513#[repr(C)]
2514#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2515pub struct rusage_info_v2 {
2516 pub ri_uuid: [u8; 16usize],
2517 pub ri_user_time: u64,
2518 pub ri_system_time: u64,
2519 pub ri_pkg_idle_wkups: u64,
2520 pub ri_interrupt_wkups: u64,
2521 pub ri_pageins: u64,
2522 pub ri_wired_size: u64,
2523 pub ri_resident_size: u64,
2524 pub ri_phys_footprint: u64,
2525 pub ri_proc_start_abstime: u64,
2526 pub ri_proc_exit_abstime: u64,
2527 pub ri_child_user_time: u64,
2528 pub ri_child_system_time: u64,
2529 pub ri_child_pkg_idle_wkups: u64,
2530 pub ri_child_interrupt_wkups: u64,
2531 pub ri_child_pageins: u64,
2532 pub ri_child_elapsed_abstime: u64,
2533 pub ri_diskio_bytesread: u64,
2534 pub ri_diskio_byteswritten: u64,
2535}
2536#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2537const _: () = {
2538 ["Size of rusage_info_v2"][::std::mem::size_of::<rusage_info_v2>() - 160usize];
2539 ["Alignment of rusage_info_v2"][::std::mem::align_of::<rusage_info_v2>() - 8usize];
2540 ["Offset of field: rusage_info_v2::ri_uuid"]
2541 [::std::mem::offset_of!(rusage_info_v2, ri_uuid) - 0usize];
2542 ["Offset of field: rusage_info_v2::ri_user_time"]
2543 [::std::mem::offset_of!(rusage_info_v2, ri_user_time) - 16usize];
2544 ["Offset of field: rusage_info_v2::ri_system_time"]
2545 [::std::mem::offset_of!(rusage_info_v2, ri_system_time) - 24usize];
2546 ["Offset of field: rusage_info_v2::ri_pkg_idle_wkups"]
2547 [::std::mem::offset_of!(rusage_info_v2, ri_pkg_idle_wkups) - 32usize];
2548 ["Offset of field: rusage_info_v2::ri_interrupt_wkups"]
2549 [::std::mem::offset_of!(rusage_info_v2, ri_interrupt_wkups) - 40usize];
2550 ["Offset of field: rusage_info_v2::ri_pageins"]
2551 [::std::mem::offset_of!(rusage_info_v2, ri_pageins) - 48usize];
2552 ["Offset of field: rusage_info_v2::ri_wired_size"]
2553 [::std::mem::offset_of!(rusage_info_v2, ri_wired_size) - 56usize];
2554 ["Offset of field: rusage_info_v2::ri_resident_size"]
2555 [::std::mem::offset_of!(rusage_info_v2, ri_resident_size) - 64usize];
2556 ["Offset of field: rusage_info_v2::ri_phys_footprint"]
2557 [::std::mem::offset_of!(rusage_info_v2, ri_phys_footprint) - 72usize];
2558 ["Offset of field: rusage_info_v2::ri_proc_start_abstime"]
2559 [::std::mem::offset_of!(rusage_info_v2, ri_proc_start_abstime) - 80usize];
2560 ["Offset of field: rusage_info_v2::ri_proc_exit_abstime"]
2561 [::std::mem::offset_of!(rusage_info_v2, ri_proc_exit_abstime) - 88usize];
2562 ["Offset of field: rusage_info_v2::ri_child_user_time"]
2563 [::std::mem::offset_of!(rusage_info_v2, ri_child_user_time) - 96usize];
2564 ["Offset of field: rusage_info_v2::ri_child_system_time"]
2565 [::std::mem::offset_of!(rusage_info_v2, ri_child_system_time) - 104usize];
2566 ["Offset of field: rusage_info_v2::ri_child_pkg_idle_wkups"]
2567 [::std::mem::offset_of!(rusage_info_v2, ri_child_pkg_idle_wkups) - 112usize];
2568 ["Offset of field: rusage_info_v2::ri_child_interrupt_wkups"]
2569 [::std::mem::offset_of!(rusage_info_v2, ri_child_interrupt_wkups) - 120usize];
2570 ["Offset of field: rusage_info_v2::ri_child_pageins"]
2571 [::std::mem::offset_of!(rusage_info_v2, ri_child_pageins) - 128usize];
2572 ["Offset of field: rusage_info_v2::ri_child_elapsed_abstime"]
2573 [::std::mem::offset_of!(rusage_info_v2, ri_child_elapsed_abstime) - 136usize];
2574 ["Offset of field: rusage_info_v2::ri_diskio_bytesread"]
2575 [::std::mem::offset_of!(rusage_info_v2, ri_diskio_bytesread) - 144usize];
2576 ["Offset of field: rusage_info_v2::ri_diskio_byteswritten"]
2577 [::std::mem::offset_of!(rusage_info_v2, ri_diskio_byteswritten) - 152usize];
2578};
2579#[repr(C)]
2580#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2581pub struct rusage_info_v3 {
2582 pub ri_uuid: [u8; 16usize],
2583 pub ri_user_time: u64,
2584 pub ri_system_time: u64,
2585 pub ri_pkg_idle_wkups: u64,
2586 pub ri_interrupt_wkups: u64,
2587 pub ri_pageins: u64,
2588 pub ri_wired_size: u64,
2589 pub ri_resident_size: u64,
2590 pub ri_phys_footprint: u64,
2591 pub ri_proc_start_abstime: u64,
2592 pub ri_proc_exit_abstime: u64,
2593 pub ri_child_user_time: u64,
2594 pub ri_child_system_time: u64,
2595 pub ri_child_pkg_idle_wkups: u64,
2596 pub ri_child_interrupt_wkups: u64,
2597 pub ri_child_pageins: u64,
2598 pub ri_child_elapsed_abstime: u64,
2599 pub ri_diskio_bytesread: u64,
2600 pub ri_diskio_byteswritten: u64,
2601 pub ri_cpu_time_qos_default: u64,
2602 pub ri_cpu_time_qos_maintenance: u64,
2603 pub ri_cpu_time_qos_background: u64,
2604 pub ri_cpu_time_qos_utility: u64,
2605 pub ri_cpu_time_qos_legacy: u64,
2606 pub ri_cpu_time_qos_user_initiated: u64,
2607 pub ri_cpu_time_qos_user_interactive: u64,
2608 pub ri_billed_system_time: u64,
2609 pub ri_serviced_system_time: u64,
2610}
2611#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2612const _: () = {
2613 ["Size of rusage_info_v3"][::std::mem::size_of::<rusage_info_v3>() - 232usize];
2614 ["Alignment of rusage_info_v3"][::std::mem::align_of::<rusage_info_v3>() - 8usize];
2615 ["Offset of field: rusage_info_v3::ri_uuid"]
2616 [::std::mem::offset_of!(rusage_info_v3, ri_uuid) - 0usize];
2617 ["Offset of field: rusage_info_v3::ri_user_time"]
2618 [::std::mem::offset_of!(rusage_info_v3, ri_user_time) - 16usize];
2619 ["Offset of field: rusage_info_v3::ri_system_time"]
2620 [::std::mem::offset_of!(rusage_info_v3, ri_system_time) - 24usize];
2621 ["Offset of field: rusage_info_v3::ri_pkg_idle_wkups"]
2622 [::std::mem::offset_of!(rusage_info_v3, ri_pkg_idle_wkups) - 32usize];
2623 ["Offset of field: rusage_info_v3::ri_interrupt_wkups"]
2624 [::std::mem::offset_of!(rusage_info_v3, ri_interrupt_wkups) - 40usize];
2625 ["Offset of field: rusage_info_v3::ri_pageins"]
2626 [::std::mem::offset_of!(rusage_info_v3, ri_pageins) - 48usize];
2627 ["Offset of field: rusage_info_v3::ri_wired_size"]
2628 [::std::mem::offset_of!(rusage_info_v3, ri_wired_size) - 56usize];
2629 ["Offset of field: rusage_info_v3::ri_resident_size"]
2630 [::std::mem::offset_of!(rusage_info_v3, ri_resident_size) - 64usize];
2631 ["Offset of field: rusage_info_v3::ri_phys_footprint"]
2632 [::std::mem::offset_of!(rusage_info_v3, ri_phys_footprint) - 72usize];
2633 ["Offset of field: rusage_info_v3::ri_proc_start_abstime"]
2634 [::std::mem::offset_of!(rusage_info_v3, ri_proc_start_abstime) - 80usize];
2635 ["Offset of field: rusage_info_v3::ri_proc_exit_abstime"]
2636 [::std::mem::offset_of!(rusage_info_v3, ri_proc_exit_abstime) - 88usize];
2637 ["Offset of field: rusage_info_v3::ri_child_user_time"]
2638 [::std::mem::offset_of!(rusage_info_v3, ri_child_user_time) - 96usize];
2639 ["Offset of field: rusage_info_v3::ri_child_system_time"]
2640 [::std::mem::offset_of!(rusage_info_v3, ri_child_system_time) - 104usize];
2641 ["Offset of field: rusage_info_v3::ri_child_pkg_idle_wkups"]
2642 [::std::mem::offset_of!(rusage_info_v3, ri_child_pkg_idle_wkups) - 112usize];
2643 ["Offset of field: rusage_info_v3::ri_child_interrupt_wkups"]
2644 [::std::mem::offset_of!(rusage_info_v3, ri_child_interrupt_wkups) - 120usize];
2645 ["Offset of field: rusage_info_v3::ri_child_pageins"]
2646 [::std::mem::offset_of!(rusage_info_v3, ri_child_pageins) - 128usize];
2647 ["Offset of field: rusage_info_v3::ri_child_elapsed_abstime"]
2648 [::std::mem::offset_of!(rusage_info_v3, ri_child_elapsed_abstime) - 136usize];
2649 ["Offset of field: rusage_info_v3::ri_diskio_bytesread"]
2650 [::std::mem::offset_of!(rusage_info_v3, ri_diskio_bytesread) - 144usize];
2651 ["Offset of field: rusage_info_v3::ri_diskio_byteswritten"]
2652 [::std::mem::offset_of!(rusage_info_v3, ri_diskio_byteswritten) - 152usize];
2653 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_default"]
2654 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_default) - 160usize];
2655 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_maintenance"]
2656 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_maintenance) - 168usize];
2657 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_background"]
2658 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_background) - 176usize];
2659 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_utility"]
2660 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_utility) - 184usize];
2661 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_legacy"]
2662 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_legacy) - 192usize];
2663 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_user_initiated"]
2664 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_user_initiated) - 200usize];
2665 ["Offset of field: rusage_info_v3::ri_cpu_time_qos_user_interactive"]
2666 [::std::mem::offset_of!(rusage_info_v3, ri_cpu_time_qos_user_interactive) - 208usize];
2667 ["Offset of field: rusage_info_v3::ri_billed_system_time"]
2668 [::std::mem::offset_of!(rusage_info_v3, ri_billed_system_time) - 216usize];
2669 ["Offset of field: rusage_info_v3::ri_serviced_system_time"]
2670 [::std::mem::offset_of!(rusage_info_v3, ri_serviced_system_time) - 224usize];
2671};
2672#[repr(C)]
2673#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2674pub struct rusage_info_v4 {
2675 pub ri_uuid: [u8; 16usize],
2676 pub ri_user_time: u64,
2677 pub ri_system_time: u64,
2678 pub ri_pkg_idle_wkups: u64,
2679 pub ri_interrupt_wkups: u64,
2680 pub ri_pageins: u64,
2681 pub ri_wired_size: u64,
2682 pub ri_resident_size: u64,
2683 pub ri_phys_footprint: u64,
2684 pub ri_proc_start_abstime: u64,
2685 pub ri_proc_exit_abstime: u64,
2686 pub ri_child_user_time: u64,
2687 pub ri_child_system_time: u64,
2688 pub ri_child_pkg_idle_wkups: u64,
2689 pub ri_child_interrupt_wkups: u64,
2690 pub ri_child_pageins: u64,
2691 pub ri_child_elapsed_abstime: u64,
2692 pub ri_diskio_bytesread: u64,
2693 pub ri_diskio_byteswritten: u64,
2694 pub ri_cpu_time_qos_default: u64,
2695 pub ri_cpu_time_qos_maintenance: u64,
2696 pub ri_cpu_time_qos_background: u64,
2697 pub ri_cpu_time_qos_utility: u64,
2698 pub ri_cpu_time_qos_legacy: u64,
2699 pub ri_cpu_time_qos_user_initiated: u64,
2700 pub ri_cpu_time_qos_user_interactive: u64,
2701 pub ri_billed_system_time: u64,
2702 pub ri_serviced_system_time: u64,
2703 pub ri_logical_writes: u64,
2704 pub ri_lifetime_max_phys_footprint: u64,
2705 pub ri_instructions: u64,
2706 pub ri_cycles: u64,
2707 pub ri_billed_energy: u64,
2708 pub ri_serviced_energy: u64,
2709 pub ri_interval_max_phys_footprint: u64,
2710 pub ri_runnable_time: u64,
2711}
2712#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2713const _: () = {
2714 ["Size of rusage_info_v4"][::std::mem::size_of::<rusage_info_v4>() - 296usize];
2715 ["Alignment of rusage_info_v4"][::std::mem::align_of::<rusage_info_v4>() - 8usize];
2716 ["Offset of field: rusage_info_v4::ri_uuid"]
2717 [::std::mem::offset_of!(rusage_info_v4, ri_uuid) - 0usize];
2718 ["Offset of field: rusage_info_v4::ri_user_time"]
2719 [::std::mem::offset_of!(rusage_info_v4, ri_user_time) - 16usize];
2720 ["Offset of field: rusage_info_v4::ri_system_time"]
2721 [::std::mem::offset_of!(rusage_info_v4, ri_system_time) - 24usize];
2722 ["Offset of field: rusage_info_v4::ri_pkg_idle_wkups"]
2723 [::std::mem::offset_of!(rusage_info_v4, ri_pkg_idle_wkups) - 32usize];
2724 ["Offset of field: rusage_info_v4::ri_interrupt_wkups"]
2725 [::std::mem::offset_of!(rusage_info_v4, ri_interrupt_wkups) - 40usize];
2726 ["Offset of field: rusage_info_v4::ri_pageins"]
2727 [::std::mem::offset_of!(rusage_info_v4, ri_pageins) - 48usize];
2728 ["Offset of field: rusage_info_v4::ri_wired_size"]
2729 [::std::mem::offset_of!(rusage_info_v4, ri_wired_size) - 56usize];
2730 ["Offset of field: rusage_info_v4::ri_resident_size"]
2731 [::std::mem::offset_of!(rusage_info_v4, ri_resident_size) - 64usize];
2732 ["Offset of field: rusage_info_v4::ri_phys_footprint"]
2733 [::std::mem::offset_of!(rusage_info_v4, ri_phys_footprint) - 72usize];
2734 ["Offset of field: rusage_info_v4::ri_proc_start_abstime"]
2735 [::std::mem::offset_of!(rusage_info_v4, ri_proc_start_abstime) - 80usize];
2736 ["Offset of field: rusage_info_v4::ri_proc_exit_abstime"]
2737 [::std::mem::offset_of!(rusage_info_v4, ri_proc_exit_abstime) - 88usize];
2738 ["Offset of field: rusage_info_v4::ri_child_user_time"]
2739 [::std::mem::offset_of!(rusage_info_v4, ri_child_user_time) - 96usize];
2740 ["Offset of field: rusage_info_v4::ri_child_system_time"]
2741 [::std::mem::offset_of!(rusage_info_v4, ri_child_system_time) - 104usize];
2742 ["Offset of field: rusage_info_v4::ri_child_pkg_idle_wkups"]
2743 [::std::mem::offset_of!(rusage_info_v4, ri_child_pkg_idle_wkups) - 112usize];
2744 ["Offset of field: rusage_info_v4::ri_child_interrupt_wkups"]
2745 [::std::mem::offset_of!(rusage_info_v4, ri_child_interrupt_wkups) - 120usize];
2746 ["Offset of field: rusage_info_v4::ri_child_pageins"]
2747 [::std::mem::offset_of!(rusage_info_v4, ri_child_pageins) - 128usize];
2748 ["Offset of field: rusage_info_v4::ri_child_elapsed_abstime"]
2749 [::std::mem::offset_of!(rusage_info_v4, ri_child_elapsed_abstime) - 136usize];
2750 ["Offset of field: rusage_info_v4::ri_diskio_bytesread"]
2751 [::std::mem::offset_of!(rusage_info_v4, ri_diskio_bytesread) - 144usize];
2752 ["Offset of field: rusage_info_v4::ri_diskio_byteswritten"]
2753 [::std::mem::offset_of!(rusage_info_v4, ri_diskio_byteswritten) - 152usize];
2754 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_default"]
2755 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_default) - 160usize];
2756 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_maintenance"]
2757 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_maintenance) - 168usize];
2758 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_background"]
2759 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_background) - 176usize];
2760 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_utility"]
2761 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_utility) - 184usize];
2762 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_legacy"]
2763 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_legacy) - 192usize];
2764 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_user_initiated"]
2765 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_user_initiated) - 200usize];
2766 ["Offset of field: rusage_info_v4::ri_cpu_time_qos_user_interactive"]
2767 [::std::mem::offset_of!(rusage_info_v4, ri_cpu_time_qos_user_interactive) - 208usize];
2768 ["Offset of field: rusage_info_v4::ri_billed_system_time"]
2769 [::std::mem::offset_of!(rusage_info_v4, ri_billed_system_time) - 216usize];
2770 ["Offset of field: rusage_info_v4::ri_serviced_system_time"]
2771 [::std::mem::offset_of!(rusage_info_v4, ri_serviced_system_time) - 224usize];
2772 ["Offset of field: rusage_info_v4::ri_logical_writes"]
2773 [::std::mem::offset_of!(rusage_info_v4, ri_logical_writes) - 232usize];
2774 ["Offset of field: rusage_info_v4::ri_lifetime_max_phys_footprint"]
2775 [::std::mem::offset_of!(rusage_info_v4, ri_lifetime_max_phys_footprint) - 240usize];
2776 ["Offset of field: rusage_info_v4::ri_instructions"]
2777 [::std::mem::offset_of!(rusage_info_v4, ri_instructions) - 248usize];
2778 ["Offset of field: rusage_info_v4::ri_cycles"]
2779 [::std::mem::offset_of!(rusage_info_v4, ri_cycles) - 256usize];
2780 ["Offset of field: rusage_info_v4::ri_billed_energy"]
2781 [::std::mem::offset_of!(rusage_info_v4, ri_billed_energy) - 264usize];
2782 ["Offset of field: rusage_info_v4::ri_serviced_energy"]
2783 [::std::mem::offset_of!(rusage_info_v4, ri_serviced_energy) - 272usize];
2784 ["Offset of field: rusage_info_v4::ri_interval_max_phys_footprint"]
2785 [::std::mem::offset_of!(rusage_info_v4, ri_interval_max_phys_footprint) - 280usize];
2786 ["Offset of field: rusage_info_v4::ri_runnable_time"]
2787 [::std::mem::offset_of!(rusage_info_v4, ri_runnable_time) - 288usize];
2788};
2789#[repr(C)]
2790#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2791pub struct rusage_info_v5 {
2792 pub ri_uuid: [u8; 16usize],
2793 pub ri_user_time: u64,
2794 pub ri_system_time: u64,
2795 pub ri_pkg_idle_wkups: u64,
2796 pub ri_interrupt_wkups: u64,
2797 pub ri_pageins: u64,
2798 pub ri_wired_size: u64,
2799 pub ri_resident_size: u64,
2800 pub ri_phys_footprint: u64,
2801 pub ri_proc_start_abstime: u64,
2802 pub ri_proc_exit_abstime: u64,
2803 pub ri_child_user_time: u64,
2804 pub ri_child_system_time: u64,
2805 pub ri_child_pkg_idle_wkups: u64,
2806 pub ri_child_interrupt_wkups: u64,
2807 pub ri_child_pageins: u64,
2808 pub ri_child_elapsed_abstime: u64,
2809 pub ri_diskio_bytesread: u64,
2810 pub ri_diskio_byteswritten: u64,
2811 pub ri_cpu_time_qos_default: u64,
2812 pub ri_cpu_time_qos_maintenance: u64,
2813 pub ri_cpu_time_qos_background: u64,
2814 pub ri_cpu_time_qos_utility: u64,
2815 pub ri_cpu_time_qos_legacy: u64,
2816 pub ri_cpu_time_qos_user_initiated: u64,
2817 pub ri_cpu_time_qos_user_interactive: u64,
2818 pub ri_billed_system_time: u64,
2819 pub ri_serviced_system_time: u64,
2820 pub ri_logical_writes: u64,
2821 pub ri_lifetime_max_phys_footprint: u64,
2822 pub ri_instructions: u64,
2823 pub ri_cycles: u64,
2824 pub ri_billed_energy: u64,
2825 pub ri_serviced_energy: u64,
2826 pub ri_interval_max_phys_footprint: u64,
2827 pub ri_runnable_time: u64,
2828 pub ri_flags: u64,
2829}
2830#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2831const _: () = {
2832 ["Size of rusage_info_v5"][::std::mem::size_of::<rusage_info_v5>() - 304usize];
2833 ["Alignment of rusage_info_v5"][::std::mem::align_of::<rusage_info_v5>() - 8usize];
2834 ["Offset of field: rusage_info_v5::ri_uuid"]
2835 [::std::mem::offset_of!(rusage_info_v5, ri_uuid) - 0usize];
2836 ["Offset of field: rusage_info_v5::ri_user_time"]
2837 [::std::mem::offset_of!(rusage_info_v5, ri_user_time) - 16usize];
2838 ["Offset of field: rusage_info_v5::ri_system_time"]
2839 [::std::mem::offset_of!(rusage_info_v5, ri_system_time) - 24usize];
2840 ["Offset of field: rusage_info_v5::ri_pkg_idle_wkups"]
2841 [::std::mem::offset_of!(rusage_info_v5, ri_pkg_idle_wkups) - 32usize];
2842 ["Offset of field: rusage_info_v5::ri_interrupt_wkups"]
2843 [::std::mem::offset_of!(rusage_info_v5, ri_interrupt_wkups) - 40usize];
2844 ["Offset of field: rusage_info_v5::ri_pageins"]
2845 [::std::mem::offset_of!(rusage_info_v5, ri_pageins) - 48usize];
2846 ["Offset of field: rusage_info_v5::ri_wired_size"]
2847 [::std::mem::offset_of!(rusage_info_v5, ri_wired_size) - 56usize];
2848 ["Offset of field: rusage_info_v5::ri_resident_size"]
2849 [::std::mem::offset_of!(rusage_info_v5, ri_resident_size) - 64usize];
2850 ["Offset of field: rusage_info_v5::ri_phys_footprint"]
2851 [::std::mem::offset_of!(rusage_info_v5, ri_phys_footprint) - 72usize];
2852 ["Offset of field: rusage_info_v5::ri_proc_start_abstime"]
2853 [::std::mem::offset_of!(rusage_info_v5, ri_proc_start_abstime) - 80usize];
2854 ["Offset of field: rusage_info_v5::ri_proc_exit_abstime"]
2855 [::std::mem::offset_of!(rusage_info_v5, ri_proc_exit_abstime) - 88usize];
2856 ["Offset of field: rusage_info_v5::ri_child_user_time"]
2857 [::std::mem::offset_of!(rusage_info_v5, ri_child_user_time) - 96usize];
2858 ["Offset of field: rusage_info_v5::ri_child_system_time"]
2859 [::std::mem::offset_of!(rusage_info_v5, ri_child_system_time) - 104usize];
2860 ["Offset of field: rusage_info_v5::ri_child_pkg_idle_wkups"]
2861 [::std::mem::offset_of!(rusage_info_v5, ri_child_pkg_idle_wkups) - 112usize];
2862 ["Offset of field: rusage_info_v5::ri_child_interrupt_wkups"]
2863 [::std::mem::offset_of!(rusage_info_v5, ri_child_interrupt_wkups) - 120usize];
2864 ["Offset of field: rusage_info_v5::ri_child_pageins"]
2865 [::std::mem::offset_of!(rusage_info_v5, ri_child_pageins) - 128usize];
2866 ["Offset of field: rusage_info_v5::ri_child_elapsed_abstime"]
2867 [::std::mem::offset_of!(rusage_info_v5, ri_child_elapsed_abstime) - 136usize];
2868 ["Offset of field: rusage_info_v5::ri_diskio_bytesread"]
2869 [::std::mem::offset_of!(rusage_info_v5, ri_diskio_bytesread) - 144usize];
2870 ["Offset of field: rusage_info_v5::ri_diskio_byteswritten"]
2871 [::std::mem::offset_of!(rusage_info_v5, ri_diskio_byteswritten) - 152usize];
2872 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_default"]
2873 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_default) - 160usize];
2874 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_maintenance"]
2875 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_maintenance) - 168usize];
2876 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_background"]
2877 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_background) - 176usize];
2878 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_utility"]
2879 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_utility) - 184usize];
2880 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_legacy"]
2881 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_legacy) - 192usize];
2882 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_user_initiated"]
2883 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_user_initiated) - 200usize];
2884 ["Offset of field: rusage_info_v5::ri_cpu_time_qos_user_interactive"]
2885 [::std::mem::offset_of!(rusage_info_v5, ri_cpu_time_qos_user_interactive) - 208usize];
2886 ["Offset of field: rusage_info_v5::ri_billed_system_time"]
2887 [::std::mem::offset_of!(rusage_info_v5, ri_billed_system_time) - 216usize];
2888 ["Offset of field: rusage_info_v5::ri_serviced_system_time"]
2889 [::std::mem::offset_of!(rusage_info_v5, ri_serviced_system_time) - 224usize];
2890 ["Offset of field: rusage_info_v5::ri_logical_writes"]
2891 [::std::mem::offset_of!(rusage_info_v5, ri_logical_writes) - 232usize];
2892 ["Offset of field: rusage_info_v5::ri_lifetime_max_phys_footprint"]
2893 [::std::mem::offset_of!(rusage_info_v5, ri_lifetime_max_phys_footprint) - 240usize];
2894 ["Offset of field: rusage_info_v5::ri_instructions"]
2895 [::std::mem::offset_of!(rusage_info_v5, ri_instructions) - 248usize];
2896 ["Offset of field: rusage_info_v5::ri_cycles"]
2897 [::std::mem::offset_of!(rusage_info_v5, ri_cycles) - 256usize];
2898 ["Offset of field: rusage_info_v5::ri_billed_energy"]
2899 [::std::mem::offset_of!(rusage_info_v5, ri_billed_energy) - 264usize];
2900 ["Offset of field: rusage_info_v5::ri_serviced_energy"]
2901 [::std::mem::offset_of!(rusage_info_v5, ri_serviced_energy) - 272usize];
2902 ["Offset of field: rusage_info_v5::ri_interval_max_phys_footprint"]
2903 [::std::mem::offset_of!(rusage_info_v5, ri_interval_max_phys_footprint) - 280usize];
2904 ["Offset of field: rusage_info_v5::ri_runnable_time"]
2905 [::std::mem::offset_of!(rusage_info_v5, ri_runnable_time) - 288usize];
2906 ["Offset of field: rusage_info_v5::ri_flags"]
2907 [::std::mem::offset_of!(rusage_info_v5, ri_flags) - 296usize];
2908};
2909#[repr(C)]
2910#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
2911pub struct rusage_info_v6 {
2912 pub ri_uuid: [u8; 16usize],
2913 pub ri_user_time: u64,
2914 pub ri_system_time: u64,
2915 pub ri_pkg_idle_wkups: u64,
2916 pub ri_interrupt_wkups: u64,
2917 pub ri_pageins: u64,
2918 pub ri_wired_size: u64,
2919 pub ri_resident_size: u64,
2920 pub ri_phys_footprint: u64,
2921 pub ri_proc_start_abstime: u64,
2922 pub ri_proc_exit_abstime: u64,
2923 pub ri_child_user_time: u64,
2924 pub ri_child_system_time: u64,
2925 pub ri_child_pkg_idle_wkups: u64,
2926 pub ri_child_interrupt_wkups: u64,
2927 pub ri_child_pageins: u64,
2928 pub ri_child_elapsed_abstime: u64,
2929 pub ri_diskio_bytesread: u64,
2930 pub ri_diskio_byteswritten: u64,
2931 pub ri_cpu_time_qos_default: u64,
2932 pub ri_cpu_time_qos_maintenance: u64,
2933 pub ri_cpu_time_qos_background: u64,
2934 pub ri_cpu_time_qos_utility: u64,
2935 pub ri_cpu_time_qos_legacy: u64,
2936 pub ri_cpu_time_qos_user_initiated: u64,
2937 pub ri_cpu_time_qos_user_interactive: u64,
2938 pub ri_billed_system_time: u64,
2939 pub ri_serviced_system_time: u64,
2940 pub ri_logical_writes: u64,
2941 pub ri_lifetime_max_phys_footprint: u64,
2942 pub ri_instructions: u64,
2943 pub ri_cycles: u64,
2944 pub ri_billed_energy: u64,
2945 pub ri_serviced_energy: u64,
2946 pub ri_interval_max_phys_footprint: u64,
2947 pub ri_runnable_time: u64,
2948 pub ri_flags: u64,
2949 pub ri_user_ptime: u64,
2950 pub ri_system_ptime: u64,
2951 pub ri_pinstructions: u64,
2952 pub ri_pcycles: u64,
2953 pub ri_energy_nj: u64,
2954 pub ri_penergy_nj: u64,
2955 pub ri_secure_time_in_system: u64,
2956 pub ri_secure_ptime_in_system: u64,
2957 pub ri_neural_footprint: u64,
2958 pub ri_lifetime_max_neural_footprint: u64,
2959 pub ri_interval_max_neural_footprint: u64,
2960 pub ri_reserved: [u64; 9usize],
2961}
2962#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2963const _: () = {
2964 ["Size of rusage_info_v6"][::std::mem::size_of::<rusage_info_v6>() - 464usize];
2965 ["Alignment of rusage_info_v6"][::std::mem::align_of::<rusage_info_v6>() - 8usize];
2966 ["Offset of field: rusage_info_v6::ri_uuid"]
2967 [::std::mem::offset_of!(rusage_info_v6, ri_uuid) - 0usize];
2968 ["Offset of field: rusage_info_v6::ri_user_time"]
2969 [::std::mem::offset_of!(rusage_info_v6, ri_user_time) - 16usize];
2970 ["Offset of field: rusage_info_v6::ri_system_time"]
2971 [::std::mem::offset_of!(rusage_info_v6, ri_system_time) - 24usize];
2972 ["Offset of field: rusage_info_v6::ri_pkg_idle_wkups"]
2973 [::std::mem::offset_of!(rusage_info_v6, ri_pkg_idle_wkups) - 32usize];
2974 ["Offset of field: rusage_info_v6::ri_interrupt_wkups"]
2975 [::std::mem::offset_of!(rusage_info_v6, ri_interrupt_wkups) - 40usize];
2976 ["Offset of field: rusage_info_v6::ri_pageins"]
2977 [::std::mem::offset_of!(rusage_info_v6, ri_pageins) - 48usize];
2978 ["Offset of field: rusage_info_v6::ri_wired_size"]
2979 [::std::mem::offset_of!(rusage_info_v6, ri_wired_size) - 56usize];
2980 ["Offset of field: rusage_info_v6::ri_resident_size"]
2981 [::std::mem::offset_of!(rusage_info_v6, ri_resident_size) - 64usize];
2982 ["Offset of field: rusage_info_v6::ri_phys_footprint"]
2983 [::std::mem::offset_of!(rusage_info_v6, ri_phys_footprint) - 72usize];
2984 ["Offset of field: rusage_info_v6::ri_proc_start_abstime"]
2985 [::std::mem::offset_of!(rusage_info_v6, ri_proc_start_abstime) - 80usize];
2986 ["Offset of field: rusage_info_v6::ri_proc_exit_abstime"]
2987 [::std::mem::offset_of!(rusage_info_v6, ri_proc_exit_abstime) - 88usize];
2988 ["Offset of field: rusage_info_v6::ri_child_user_time"]
2989 [::std::mem::offset_of!(rusage_info_v6, ri_child_user_time) - 96usize];
2990 ["Offset of field: rusage_info_v6::ri_child_system_time"]
2991 [::std::mem::offset_of!(rusage_info_v6, ri_child_system_time) - 104usize];
2992 ["Offset of field: rusage_info_v6::ri_child_pkg_idle_wkups"]
2993 [::std::mem::offset_of!(rusage_info_v6, ri_child_pkg_idle_wkups) - 112usize];
2994 ["Offset of field: rusage_info_v6::ri_child_interrupt_wkups"]
2995 [::std::mem::offset_of!(rusage_info_v6, ri_child_interrupt_wkups) - 120usize];
2996 ["Offset of field: rusage_info_v6::ri_child_pageins"]
2997 [::std::mem::offset_of!(rusage_info_v6, ri_child_pageins) - 128usize];
2998 ["Offset of field: rusage_info_v6::ri_child_elapsed_abstime"]
2999 [::std::mem::offset_of!(rusage_info_v6, ri_child_elapsed_abstime) - 136usize];
3000 ["Offset of field: rusage_info_v6::ri_diskio_bytesread"]
3001 [::std::mem::offset_of!(rusage_info_v6, ri_diskio_bytesread) - 144usize];
3002 ["Offset of field: rusage_info_v6::ri_diskio_byteswritten"]
3003 [::std::mem::offset_of!(rusage_info_v6, ri_diskio_byteswritten) - 152usize];
3004 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_default"]
3005 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_default) - 160usize];
3006 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_maintenance"]
3007 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_maintenance) - 168usize];
3008 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_background"]
3009 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_background) - 176usize];
3010 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_utility"]
3011 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_utility) - 184usize];
3012 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_legacy"]
3013 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_legacy) - 192usize];
3014 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_user_initiated"]
3015 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_user_initiated) - 200usize];
3016 ["Offset of field: rusage_info_v6::ri_cpu_time_qos_user_interactive"]
3017 [::std::mem::offset_of!(rusage_info_v6, ri_cpu_time_qos_user_interactive) - 208usize];
3018 ["Offset of field: rusage_info_v6::ri_billed_system_time"]
3019 [::std::mem::offset_of!(rusage_info_v6, ri_billed_system_time) - 216usize];
3020 ["Offset of field: rusage_info_v6::ri_serviced_system_time"]
3021 [::std::mem::offset_of!(rusage_info_v6, ri_serviced_system_time) - 224usize];
3022 ["Offset of field: rusage_info_v6::ri_logical_writes"]
3023 [::std::mem::offset_of!(rusage_info_v6, ri_logical_writes) - 232usize];
3024 ["Offset of field: rusage_info_v6::ri_lifetime_max_phys_footprint"]
3025 [::std::mem::offset_of!(rusage_info_v6, ri_lifetime_max_phys_footprint) - 240usize];
3026 ["Offset of field: rusage_info_v6::ri_instructions"]
3027 [::std::mem::offset_of!(rusage_info_v6, ri_instructions) - 248usize];
3028 ["Offset of field: rusage_info_v6::ri_cycles"]
3029 [::std::mem::offset_of!(rusage_info_v6, ri_cycles) - 256usize];
3030 ["Offset of field: rusage_info_v6::ri_billed_energy"]
3031 [::std::mem::offset_of!(rusage_info_v6, ri_billed_energy) - 264usize];
3032 ["Offset of field: rusage_info_v6::ri_serviced_energy"]
3033 [::std::mem::offset_of!(rusage_info_v6, ri_serviced_energy) - 272usize];
3034 ["Offset of field: rusage_info_v6::ri_interval_max_phys_footprint"]
3035 [::std::mem::offset_of!(rusage_info_v6, ri_interval_max_phys_footprint) - 280usize];
3036 ["Offset of field: rusage_info_v6::ri_runnable_time"]
3037 [::std::mem::offset_of!(rusage_info_v6, ri_runnable_time) - 288usize];
3038 ["Offset of field: rusage_info_v6::ri_flags"]
3039 [::std::mem::offset_of!(rusage_info_v6, ri_flags) - 296usize];
3040 ["Offset of field: rusage_info_v6::ri_user_ptime"]
3041 [::std::mem::offset_of!(rusage_info_v6, ri_user_ptime) - 304usize];
3042 ["Offset of field: rusage_info_v6::ri_system_ptime"]
3043 [::std::mem::offset_of!(rusage_info_v6, ri_system_ptime) - 312usize];
3044 ["Offset of field: rusage_info_v6::ri_pinstructions"]
3045 [::std::mem::offset_of!(rusage_info_v6, ri_pinstructions) - 320usize];
3046 ["Offset of field: rusage_info_v6::ri_pcycles"]
3047 [::std::mem::offset_of!(rusage_info_v6, ri_pcycles) - 328usize];
3048 ["Offset of field: rusage_info_v6::ri_energy_nj"]
3049 [::std::mem::offset_of!(rusage_info_v6, ri_energy_nj) - 336usize];
3050 ["Offset of field: rusage_info_v6::ri_penergy_nj"]
3051 [::std::mem::offset_of!(rusage_info_v6, ri_penergy_nj) - 344usize];
3052 ["Offset of field: rusage_info_v6::ri_secure_time_in_system"]
3053 [::std::mem::offset_of!(rusage_info_v6, ri_secure_time_in_system) - 352usize];
3054 ["Offset of field: rusage_info_v6::ri_secure_ptime_in_system"]
3055 [::std::mem::offset_of!(rusage_info_v6, ri_secure_ptime_in_system) - 360usize];
3056 ["Offset of field: rusage_info_v6::ri_neural_footprint"]
3057 [::std::mem::offset_of!(rusage_info_v6, ri_neural_footprint) - 368usize];
3058 ["Offset of field: rusage_info_v6::ri_lifetime_max_neural_footprint"]
3059 [::std::mem::offset_of!(rusage_info_v6, ri_lifetime_max_neural_footprint) - 376usize];
3060 ["Offset of field: rusage_info_v6::ri_interval_max_neural_footprint"]
3061 [::std::mem::offset_of!(rusage_info_v6, ri_interval_max_neural_footprint) - 384usize];
3062 ["Offset of field: rusage_info_v6::ri_reserved"]
3063 [::std::mem::offset_of!(rusage_info_v6, ri_reserved) - 392usize];
3064};
3065pub type rusage_info_current = rusage_info_v6;
3066#[repr(C)]
3067#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
3068pub struct rlimit {
3069 pub rlim_cur: rlim_t,
3070 pub rlim_max: rlim_t,
3071}
3072#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3073const _: () = {
3074 ["Size of rlimit"][::std::mem::size_of::<rlimit>() - 16usize];
3075 ["Alignment of rlimit"][::std::mem::align_of::<rlimit>() - 8usize];
3076 ["Offset of field: rlimit::rlim_cur"][::std::mem::offset_of!(rlimit, rlim_cur) - 0usize];
3077 ["Offset of field: rlimit::rlim_max"][::std::mem::offset_of!(rlimit, rlim_max) - 8usize];
3078};
3079#[repr(C)]
3080#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
3081pub struct proc_rlimit_control_wakeupmon {
3082 pub wm_flags: u32,
3083 pub wm_rate: i32,
3084}
3085#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3086const _: () = {
3087 ["Size of proc_rlimit_control_wakeupmon"]
3088 [::std::mem::size_of::<proc_rlimit_control_wakeupmon>() - 8usize];
3089 ["Alignment of proc_rlimit_control_wakeupmon"]
3090 [::std::mem::align_of::<proc_rlimit_control_wakeupmon>() - 4usize];
3091 ["Offset of field: proc_rlimit_control_wakeupmon::wm_flags"]
3092 [::std::mem::offset_of!(proc_rlimit_control_wakeupmon, wm_flags) - 0usize];
3093 ["Offset of field: proc_rlimit_control_wakeupmon::wm_rate"]
3094 [::std::mem::offset_of!(proc_rlimit_control_wakeupmon, wm_rate) - 4usize];
3095};
3096unsafe extern "C" {
3097 pub fn getpriority(arg1: ::std::os::raw::c_int, arg2: id_t) -> ::std::os::raw::c_int;
3098}
3099unsafe extern "C" {
3100 pub fn getiopolicy_np(
3101 arg1: ::std::os::raw::c_int,
3102 arg2: ::std::os::raw::c_int,
3103 ) -> ::std::os::raw::c_int;
3104}
3105unsafe extern "C" {
3106 pub fn getrlimit(arg1: ::std::os::raw::c_int, arg2: *mut rlimit) -> ::std::os::raw::c_int;
3107}
3108unsafe extern "C" {
3109 pub fn getrusage(arg1: ::std::os::raw::c_int, arg2: *mut rusage) -> ::std::os::raw::c_int;
3110}
3111unsafe extern "C" {
3112 pub fn setpriority(
3113 arg1: ::std::os::raw::c_int,
3114 arg2: id_t,
3115 arg3: ::std::os::raw::c_int,
3116 ) -> ::std::os::raw::c_int;
3117}
3118unsafe extern "C" {
3119 pub fn setiopolicy_np(
3120 arg1: ::std::os::raw::c_int,
3121 arg2: ::std::os::raw::c_int,
3122 arg3: ::std::os::raw::c_int,
3123 ) -> ::std::os::raw::c_int;
3124}
3125unsafe extern "C" {
3126 pub fn setrlimit(arg1: ::std::os::raw::c_int, arg2: *const rlimit) -> ::std::os::raw::c_int;
3127}
3128#[repr(C)]
3129#[derive(Copy, Clone)]
3130pub union wait {
3131 pub w_status: ::std::os::raw::c_int,
3132 pub w_T: wait__bindgen_ty_1,
3133 pub w_S: wait__bindgen_ty_2,
3134}
3135#[repr(C)]
3136#[repr(align(4))]
3137#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
3138pub struct wait__bindgen_ty_1 {
3139 pub _bitfield_align_1: [u16; 0],
3140 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
3141}
3142#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3143const _: () = {
3144 ["Size of wait__bindgen_ty_1"][::std::mem::size_of::<wait__bindgen_ty_1>() - 4usize];
3145 ["Alignment of wait__bindgen_ty_1"][::std::mem::align_of::<wait__bindgen_ty_1>() - 4usize];
3146};
3147impl wait__bindgen_ty_1 {
3148 #[inline]
3149 pub fn w_Termsig(&self) -> ::std::os::raw::c_uint {
3150 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 7u8) as u32) }
3151 }
3152 #[inline]
3153 pub fn set_w_Termsig(&mut self, val: ::std::os::raw::c_uint) {
3154 unsafe {
3155 let val: u32 = ::std::mem::transmute(val);
3156 self._bitfield_1.set(0usize, 7u8, val as u64)
3157 }
3158 }
3159 #[inline]
3160 pub unsafe fn w_Termsig_raw(this: *const Self) -> ::std::os::raw::c_uint {
3161 unsafe {
3162 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3163 ::std::ptr::addr_of!((*this)._bitfield_1),
3164 0usize,
3165 7u8,
3166 ) as u32)
3167 }
3168 }
3169 #[inline]
3170 pub unsafe fn set_w_Termsig_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3171 unsafe {
3172 let val: u32 = ::std::mem::transmute(val);
3173 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3174 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3175 0usize,
3176 7u8,
3177 val as u64,
3178 )
3179 }
3180 }
3181 #[inline]
3182 pub fn w_Coredump(&self) -> ::std::os::raw::c_uint {
3183 unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
3184 }
3185 #[inline]
3186 pub fn set_w_Coredump(&mut self, val: ::std::os::raw::c_uint) {
3187 unsafe {
3188 let val: u32 = ::std::mem::transmute(val);
3189 self._bitfield_1.set(7usize, 1u8, val as u64)
3190 }
3191 }
3192 #[inline]
3193 pub unsafe fn w_Coredump_raw(this: *const Self) -> ::std::os::raw::c_uint {
3194 unsafe {
3195 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3196 ::std::ptr::addr_of!((*this)._bitfield_1),
3197 7usize,
3198 1u8,
3199 ) as u32)
3200 }
3201 }
3202 #[inline]
3203 pub unsafe fn set_w_Coredump_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3204 unsafe {
3205 let val: u32 = ::std::mem::transmute(val);
3206 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3207 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3208 7usize,
3209 1u8,
3210 val as u64,
3211 )
3212 }
3213 }
3214 #[inline]
3215 pub fn w_Retcode(&self) -> ::std::os::raw::c_uint {
3216 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
3217 }
3218 #[inline]
3219 pub fn set_w_Retcode(&mut self, val: ::std::os::raw::c_uint) {
3220 unsafe {
3221 let val: u32 = ::std::mem::transmute(val);
3222 self._bitfield_1.set(8usize, 8u8, val as u64)
3223 }
3224 }
3225 #[inline]
3226 pub unsafe fn w_Retcode_raw(this: *const Self) -> ::std::os::raw::c_uint {
3227 unsafe {
3228 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3229 ::std::ptr::addr_of!((*this)._bitfield_1),
3230 8usize,
3231 8u8,
3232 ) as u32)
3233 }
3234 }
3235 #[inline]
3236 pub unsafe fn set_w_Retcode_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3237 unsafe {
3238 let val: u32 = ::std::mem::transmute(val);
3239 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3240 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3241 8usize,
3242 8u8,
3243 val as u64,
3244 )
3245 }
3246 }
3247 #[inline]
3248 pub fn w_Filler(&self) -> ::std::os::raw::c_uint {
3249 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
3250 }
3251 #[inline]
3252 pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) {
3253 unsafe {
3254 let val: u32 = ::std::mem::transmute(val);
3255 self._bitfield_1.set(16usize, 16u8, val as u64)
3256 }
3257 }
3258 #[inline]
3259 pub unsafe fn w_Filler_raw(this: *const Self) -> ::std::os::raw::c_uint {
3260 unsafe {
3261 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3262 ::std::ptr::addr_of!((*this)._bitfield_1),
3263 16usize,
3264 16u8,
3265 ) as u32)
3266 }
3267 }
3268 #[inline]
3269 pub unsafe fn set_w_Filler_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3270 unsafe {
3271 let val: u32 = ::std::mem::transmute(val);
3272 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3273 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3274 16usize,
3275 16u8,
3276 val as u64,
3277 )
3278 }
3279 }
3280 #[inline]
3281 pub fn new_bitfield_1(
3282 w_Termsig: ::std::os::raw::c_uint,
3283 w_Coredump: ::std::os::raw::c_uint,
3284 w_Retcode: ::std::os::raw::c_uint,
3285 w_Filler: ::std::os::raw::c_uint,
3286 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
3287 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
3288 __bindgen_bitfield_unit.set(0usize, 7u8, {
3289 let w_Termsig: u32 = unsafe { ::std::mem::transmute(w_Termsig) };
3290 w_Termsig as u64
3291 });
3292 __bindgen_bitfield_unit.set(7usize, 1u8, {
3293 let w_Coredump: u32 = unsafe { ::std::mem::transmute(w_Coredump) };
3294 w_Coredump as u64
3295 });
3296 __bindgen_bitfield_unit.set(8usize, 8u8, {
3297 let w_Retcode: u32 = unsafe { ::std::mem::transmute(w_Retcode) };
3298 w_Retcode as u64
3299 });
3300 __bindgen_bitfield_unit.set(16usize, 16u8, {
3301 let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) };
3302 w_Filler as u64
3303 });
3304 __bindgen_bitfield_unit
3305 }
3306}
3307#[repr(C)]
3308#[repr(align(4))]
3309#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
3310pub struct wait__bindgen_ty_2 {
3311 pub _bitfield_align_1: [u16; 0],
3312 pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
3313}
3314#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3315const _: () = {
3316 ["Size of wait__bindgen_ty_2"][::std::mem::size_of::<wait__bindgen_ty_2>() - 4usize];
3317 ["Alignment of wait__bindgen_ty_2"][::std::mem::align_of::<wait__bindgen_ty_2>() - 4usize];
3318};
3319impl wait__bindgen_ty_2 {
3320 #[inline]
3321 pub fn w_Stopval(&self) -> ::std::os::raw::c_uint {
3322 unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
3323 }
3324 #[inline]
3325 pub fn set_w_Stopval(&mut self, val: ::std::os::raw::c_uint) {
3326 unsafe {
3327 let val: u32 = ::std::mem::transmute(val);
3328 self._bitfield_1.set(0usize, 8u8, val as u64)
3329 }
3330 }
3331 #[inline]
3332 pub unsafe fn w_Stopval_raw(this: *const Self) -> ::std::os::raw::c_uint {
3333 unsafe {
3334 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3335 ::std::ptr::addr_of!((*this)._bitfield_1),
3336 0usize,
3337 8u8,
3338 ) as u32)
3339 }
3340 }
3341 #[inline]
3342 pub unsafe fn set_w_Stopval_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3343 unsafe {
3344 let val: u32 = ::std::mem::transmute(val);
3345 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3346 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3347 0usize,
3348 8u8,
3349 val as u64,
3350 )
3351 }
3352 }
3353 #[inline]
3354 pub fn w_Stopsig(&self) -> ::std::os::raw::c_uint {
3355 unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
3356 }
3357 #[inline]
3358 pub fn set_w_Stopsig(&mut self, val: ::std::os::raw::c_uint) {
3359 unsafe {
3360 let val: u32 = ::std::mem::transmute(val);
3361 self._bitfield_1.set(8usize, 8u8, val as u64)
3362 }
3363 }
3364 #[inline]
3365 pub unsafe fn w_Stopsig_raw(this: *const Self) -> ::std::os::raw::c_uint {
3366 unsafe {
3367 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3368 ::std::ptr::addr_of!((*this)._bitfield_1),
3369 8usize,
3370 8u8,
3371 ) as u32)
3372 }
3373 }
3374 #[inline]
3375 pub unsafe fn set_w_Stopsig_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3376 unsafe {
3377 let val: u32 = ::std::mem::transmute(val);
3378 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3379 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3380 8usize,
3381 8u8,
3382 val as u64,
3383 )
3384 }
3385 }
3386 #[inline]
3387 pub fn w_Filler(&self) -> ::std::os::raw::c_uint {
3388 unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 16u8) as u32) }
3389 }
3390 #[inline]
3391 pub fn set_w_Filler(&mut self, val: ::std::os::raw::c_uint) {
3392 unsafe {
3393 let val: u32 = ::std::mem::transmute(val);
3394 self._bitfield_1.set(16usize, 16u8, val as u64)
3395 }
3396 }
3397 #[inline]
3398 pub unsafe fn w_Filler_raw(this: *const Self) -> ::std::os::raw::c_uint {
3399 unsafe {
3400 ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
3401 ::std::ptr::addr_of!((*this)._bitfield_1),
3402 16usize,
3403 16u8,
3404 ) as u32)
3405 }
3406 }
3407 #[inline]
3408 pub unsafe fn set_w_Filler_raw(this: *mut Self, val: ::std::os::raw::c_uint) {
3409 unsafe {
3410 let val: u32 = ::std::mem::transmute(val);
3411 <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
3412 ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3413 16usize,
3414 16u8,
3415 val as u64,
3416 )
3417 }
3418 }
3419 #[inline]
3420 pub fn new_bitfield_1(
3421 w_Stopval: ::std::os::raw::c_uint,
3422 w_Stopsig: ::std::os::raw::c_uint,
3423 w_Filler: ::std::os::raw::c_uint,
3424 ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
3425 let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
3426 __bindgen_bitfield_unit.set(0usize, 8u8, {
3427 let w_Stopval: u32 = unsafe { ::std::mem::transmute(w_Stopval) };
3428 w_Stopval as u64
3429 });
3430 __bindgen_bitfield_unit.set(8usize, 8u8, {
3431 let w_Stopsig: u32 = unsafe { ::std::mem::transmute(w_Stopsig) };
3432 w_Stopsig as u64
3433 });
3434 __bindgen_bitfield_unit.set(16usize, 16u8, {
3435 let w_Filler: u32 = unsafe { ::std::mem::transmute(w_Filler) };
3436 w_Filler as u64
3437 });
3438 __bindgen_bitfield_unit
3439 }
3440}
3441#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3442const _: () = {
3443 ["Size of wait"][::std::mem::size_of::<wait>() - 4usize];
3444 ["Alignment of wait"][::std::mem::align_of::<wait>() - 4usize];
3445 ["Offset of field: wait::w_status"][::std::mem::offset_of!(wait, w_status) - 0usize];
3446 ["Offset of field: wait::w_T"][::std::mem::offset_of!(wait, w_T) - 0usize];
3447 ["Offset of field: wait::w_S"][::std::mem::offset_of!(wait, w_S) - 0usize];
3448};
3449impl Default for wait {
3450 fn default() -> Self {
3451 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
3452 unsafe {
3453 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
3454 s.assume_init()
3455 }
3456 }
3457}
3458unsafe extern "C" {
3459 pub fn wait(arg1: *mut ::std::os::raw::c_int) -> pid_t;
3460}
3461unsafe extern "C" {
3462 pub fn waitpid(
3463 arg1: pid_t,
3464 arg2: *mut ::std::os::raw::c_int,
3465 arg3: ::std::os::raw::c_int,
3466 ) -> pid_t;
3467}
3468unsafe extern "C" {
3469 pub fn waitid(
3470 arg1: idtype_t,
3471 arg2: id_t,
3472 arg3: *mut siginfo_t,
3473 arg4: ::std::os::raw::c_int,
3474 ) -> ::std::os::raw::c_int;
3475}
3476unsafe extern "C" {
3477 pub fn wait3(
3478 arg1: *mut ::std::os::raw::c_int,
3479 arg2: ::std::os::raw::c_int,
3480 arg3: *mut rusage,
3481 ) -> pid_t;
3482}
3483unsafe extern "C" {
3484 pub fn wait4(
3485 arg1: pid_t,
3486 arg2: *mut ::std::os::raw::c_int,
3487 arg3: ::std::os::raw::c_int,
3488 arg4: *mut rusage,
3489 ) -> pid_t;
3490}
3491unsafe extern "C" {
3492 pub fn alloca(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3493}
3494pub type ct_rune_t = __darwin_ct_rune_t;
3495pub type rune_t = __darwin_rune_t;
3496pub type wchar_t = __darwin_wchar_t;
3497#[repr(C)]
3498#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
3499pub struct div_t {
3500 pub quot: ::std::os::raw::c_int,
3501 pub rem: ::std::os::raw::c_int,
3502}
3503#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3504const _: () = {
3505 ["Size of div_t"][::std::mem::size_of::<div_t>() - 8usize];
3506 ["Alignment of div_t"][::std::mem::align_of::<div_t>() - 4usize];
3507 ["Offset of field: div_t::quot"][::std::mem::offset_of!(div_t, quot) - 0usize];
3508 ["Offset of field: div_t::rem"][::std::mem::offset_of!(div_t, rem) - 4usize];
3509};
3510#[repr(C)]
3511#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
3512pub struct ldiv_t {
3513 pub quot: ::std::os::raw::c_long,
3514 pub rem: ::std::os::raw::c_long,
3515}
3516#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3517const _: () = {
3518 ["Size of ldiv_t"][::std::mem::size_of::<ldiv_t>() - 16usize];
3519 ["Alignment of ldiv_t"][::std::mem::align_of::<ldiv_t>() - 8usize];
3520 ["Offset of field: ldiv_t::quot"][::std::mem::offset_of!(ldiv_t, quot) - 0usize];
3521 ["Offset of field: ldiv_t::rem"][::std::mem::offset_of!(ldiv_t, rem) - 8usize];
3522};
3523#[repr(C)]
3524#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
3525pub struct lldiv_t {
3526 pub quot: ::std::os::raw::c_longlong,
3527 pub rem: ::std::os::raw::c_longlong,
3528}
3529#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3530const _: () = {
3531 ["Size of lldiv_t"][::std::mem::size_of::<lldiv_t>() - 16usize];
3532 ["Alignment of lldiv_t"][::std::mem::align_of::<lldiv_t>() - 8usize];
3533 ["Offset of field: lldiv_t::quot"][::std::mem::offset_of!(lldiv_t, quot) - 0usize];
3534 ["Offset of field: lldiv_t::rem"][::std::mem::offset_of!(lldiv_t, rem) - 8usize];
3535};
3536unsafe extern "C" {
3537 pub static mut __mb_cur_max: ::std::os::raw::c_int;
3538}
3539pub type malloc_type_id_t = ::std::os::raw::c_ulonglong;
3540unsafe extern "C" {
3541 pub fn malloc_type_malloc(
3542 size: usize,
3543 type_id: malloc_type_id_t,
3544 ) -> *mut ::std::os::raw::c_void;
3545}
3546unsafe extern "C" {
3547 pub fn malloc_type_calloc(
3548 count: usize,
3549 size: usize,
3550 type_id: malloc_type_id_t,
3551 ) -> *mut ::std::os::raw::c_void;
3552}
3553unsafe extern "C" {
3554 pub fn malloc_type_free(ptr: *mut ::std::os::raw::c_void, type_id: malloc_type_id_t);
3555}
3556unsafe extern "C" {
3557 pub fn malloc_type_realloc(
3558 ptr: *mut ::std::os::raw::c_void,
3559 size: usize,
3560 type_id: malloc_type_id_t,
3561 ) -> *mut ::std::os::raw::c_void;
3562}
3563unsafe extern "C" {
3564 pub fn malloc_type_valloc(
3565 size: usize,
3566 type_id: malloc_type_id_t,
3567 ) -> *mut ::std::os::raw::c_void;
3568}
3569unsafe extern "C" {
3570 pub fn malloc_type_aligned_alloc(
3571 alignment: usize,
3572 size: usize,
3573 type_id: malloc_type_id_t,
3574 ) -> *mut ::std::os::raw::c_void;
3575}
3576unsafe extern "C" {
3577 pub fn malloc_type_posix_memalign(
3578 memptr: *mut *mut ::std::os::raw::c_void,
3579 alignment: usize,
3580 size: usize,
3581 type_id: malloc_type_id_t,
3582 ) -> ::std::os::raw::c_int;
3583}
3584#[repr(C)]
3585#[derive(Debug, Copy, Clone)]
3586pub struct _malloc_zone_t {
3587 _unused: [u8; 0],
3588}
3589pub type malloc_zone_t = _malloc_zone_t;
3590unsafe extern "C" {
3591 pub fn malloc_type_zone_malloc(
3592 zone: *mut malloc_zone_t,
3593 size: usize,
3594 type_id: malloc_type_id_t,
3595 ) -> *mut ::std::os::raw::c_void;
3596}
3597unsafe extern "C" {
3598 pub fn malloc_type_zone_calloc(
3599 zone: *mut malloc_zone_t,
3600 count: usize,
3601 size: usize,
3602 type_id: malloc_type_id_t,
3603 ) -> *mut ::std::os::raw::c_void;
3604}
3605unsafe extern "C" {
3606 pub fn malloc_type_zone_free(
3607 zone: *mut malloc_zone_t,
3608 ptr: *mut ::std::os::raw::c_void,
3609 type_id: malloc_type_id_t,
3610 );
3611}
3612unsafe extern "C" {
3613 pub fn malloc_type_zone_realloc(
3614 zone: *mut malloc_zone_t,
3615 ptr: *mut ::std::os::raw::c_void,
3616 size: usize,
3617 type_id: malloc_type_id_t,
3618 ) -> *mut ::std::os::raw::c_void;
3619}
3620unsafe extern "C" {
3621 pub fn malloc_type_zone_valloc(
3622 zone: *mut malloc_zone_t,
3623 size: usize,
3624 type_id: malloc_type_id_t,
3625 ) -> *mut ::std::os::raw::c_void;
3626}
3627unsafe extern "C" {
3628 pub fn malloc_type_zone_memalign(
3629 zone: *mut malloc_zone_t,
3630 alignment: usize,
3631 size: usize,
3632 type_id: malloc_type_id_t,
3633 ) -> *mut ::std::os::raw::c_void;
3634}
3635unsafe extern "C" {
3636 pub fn malloc(__size: ::std::os::raw::c_ulong) -> *mut ::std::os::raw::c_void;
3637}
3638unsafe extern "C" {
3639 pub fn calloc(
3640 __count: ::std::os::raw::c_ulong,
3641 __size: ::std::os::raw::c_ulong,
3642 ) -> *mut ::std::os::raw::c_void;
3643}
3644unsafe extern "C" {
3645 pub fn free(arg1: *mut ::std::os::raw::c_void);
3646}
3647unsafe extern "C" {
3648 pub fn realloc(
3649 __ptr: *mut ::std::os::raw::c_void,
3650 __size: ::std::os::raw::c_ulong,
3651 ) -> *mut ::std::os::raw::c_void;
3652}
3653unsafe extern "C" {
3654 pub fn reallocf(
3655 __ptr: *mut ::std::os::raw::c_void,
3656 __size: usize,
3657 ) -> *mut ::std::os::raw::c_void;
3658}
3659unsafe extern "C" {
3660 pub fn valloc(__size: usize) -> *mut ::std::os::raw::c_void;
3661}
3662unsafe extern "C" {
3663 pub fn aligned_alloc(
3664 __alignment: ::std::os::raw::c_ulong,
3665 __size: ::std::os::raw::c_ulong,
3666 ) -> *mut ::std::os::raw::c_void;
3667}
3668unsafe extern "C" {
3669 pub fn posix_memalign(
3670 __memptr: *mut *mut ::std::os::raw::c_void,
3671 __alignment: usize,
3672 __size: usize,
3673 ) -> ::std::os::raw::c_int;
3674}
3675unsafe extern "C" {
3676 pub fn abort() -> !;
3677}
3678unsafe extern "C" {
3679 pub fn abs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3680}
3681unsafe extern "C" {
3682 pub fn atexit(arg1: ::std::option::Option<unsafe extern "C" fn()>) -> ::std::os::raw::c_int;
3683}
3684unsafe extern "C" {
3685 pub fn at_quick_exit(
3686 arg1: ::std::option::Option<unsafe extern "C" fn()>,
3687 ) -> ::std::os::raw::c_int;
3688}
3689unsafe extern "C" {
3690 pub fn atof(arg1: *const ::std::os::raw::c_char) -> f64;
3691}
3692unsafe extern "C" {
3693 pub fn atoi(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3694}
3695unsafe extern "C" {
3696 pub fn atol(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3697}
3698unsafe extern "C" {
3699 pub fn atoll(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_longlong;
3700}
3701unsafe extern "C" {
3702 pub fn bsearch(
3703 __key: *const ::std::os::raw::c_void,
3704 __base: *const ::std::os::raw::c_void,
3705 __nel: usize,
3706 __width: usize,
3707 __compar: ::std::option::Option<
3708 unsafe extern "C" fn(
3709 arg1: *const ::std::os::raw::c_void,
3710 arg2: *const ::std::os::raw::c_void,
3711 ) -> ::std::os::raw::c_int,
3712 >,
3713 ) -> *mut ::std::os::raw::c_void;
3714}
3715unsafe extern "C" {
3716 pub fn div(arg1: ::std::os::raw::c_int, arg2: ::std::os::raw::c_int) -> div_t;
3717}
3718unsafe extern "C" {
3719 pub fn exit(arg1: ::std::os::raw::c_int) -> !;
3720}
3721unsafe extern "C" {
3722 pub fn getenv(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3723}
3724unsafe extern "C" {
3725 pub fn labs(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_long;
3726}
3727unsafe extern "C" {
3728 pub fn ldiv(arg1: ::std::os::raw::c_long, arg2: ::std::os::raw::c_long) -> ldiv_t;
3729}
3730unsafe extern "C" {
3731 pub fn llabs(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_longlong;
3732}
3733unsafe extern "C" {
3734 pub fn lldiv(arg1: ::std::os::raw::c_longlong, arg2: ::std::os::raw::c_longlong) -> lldiv_t;
3735}
3736unsafe extern "C" {
3737 pub fn mblen(__s: *const ::std::os::raw::c_char, __n: usize) -> ::std::os::raw::c_int;
3738}
3739unsafe extern "C" {
3740 pub fn mbstowcs(arg1: *mut wchar_t, arg2: *const ::std::os::raw::c_char, __n: usize) -> usize;
3741}
3742unsafe extern "C" {
3743 pub fn mbtowc(
3744 arg1: *mut wchar_t,
3745 arg2: *const ::std::os::raw::c_char,
3746 __n: usize,
3747 ) -> ::std::os::raw::c_int;
3748}
3749unsafe extern "C" {
3750 pub fn qsort(
3751 __base: *mut ::std::os::raw::c_void,
3752 __nel: usize,
3753 __width: usize,
3754 __compar: ::std::option::Option<
3755 unsafe extern "C" fn(
3756 arg1: *const ::std::os::raw::c_void,
3757 arg2: *const ::std::os::raw::c_void,
3758 ) -> ::std::os::raw::c_int,
3759 >,
3760 );
3761}
3762unsafe extern "C" {
3763 pub fn quick_exit(arg1: ::std::os::raw::c_int) -> !;
3764}
3765unsafe extern "C" {
3766 pub fn rand() -> ::std::os::raw::c_int;
3767}
3768unsafe extern "C" {
3769 pub fn srand(arg1: ::std::os::raw::c_uint);
3770}
3771unsafe extern "C" {
3772 pub fn strtod(
3773 arg1: *const ::std::os::raw::c_char,
3774 arg2: *mut *mut ::std::os::raw::c_char,
3775 ) -> f64;
3776}
3777unsafe extern "C" {
3778 pub fn strtof(
3779 arg1: *const ::std::os::raw::c_char,
3780 arg2: *mut *mut ::std::os::raw::c_char,
3781 ) -> f32;
3782}
3783unsafe extern "C" {
3784 pub fn strtol(
3785 __str: *const ::std::os::raw::c_char,
3786 __endptr: *mut *mut ::std::os::raw::c_char,
3787 __base: ::std::os::raw::c_int,
3788 ) -> ::std::os::raw::c_long;
3789}
3790unsafe extern "C" {
3791 pub fn strtold(
3792 arg1: *const ::std::os::raw::c_char,
3793 arg2: *mut *mut ::std::os::raw::c_char,
3794 ) -> f64;
3795}
3796unsafe extern "C" {
3797 pub fn strtoll(
3798 __str: *const ::std::os::raw::c_char,
3799 __endptr: *mut *mut ::std::os::raw::c_char,
3800 __base: ::std::os::raw::c_int,
3801 ) -> ::std::os::raw::c_longlong;
3802}
3803unsafe extern "C" {
3804 pub fn strtoul(
3805 __str: *const ::std::os::raw::c_char,
3806 __endptr: *mut *mut ::std::os::raw::c_char,
3807 __base: ::std::os::raw::c_int,
3808 ) -> ::std::os::raw::c_ulong;
3809}
3810unsafe extern "C" {
3811 pub fn strtoull(
3812 __str: *const ::std::os::raw::c_char,
3813 __endptr: *mut *mut ::std::os::raw::c_char,
3814 __base: ::std::os::raw::c_int,
3815 ) -> ::std::os::raw::c_ulonglong;
3816}
3817unsafe extern "C" {
3818 pub fn system(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3819}
3820unsafe extern "C" {
3821 pub fn wcstombs(arg1: *mut ::std::os::raw::c_char, arg2: *const wchar_t, __n: usize) -> usize;
3822}
3823unsafe extern "C" {
3824 pub fn wctomb(arg1: *mut ::std::os::raw::c_char, arg2: wchar_t) -> ::std::os::raw::c_int;
3825}
3826unsafe extern "C" {
3827 pub fn _Exit(arg1: ::std::os::raw::c_int) -> !;
3828}
3829unsafe extern "C" {
3830 pub fn a64l(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_long;
3831}
3832unsafe extern "C" {
3833 pub fn drand48() -> f64;
3834}
3835unsafe extern "C" {
3836 pub fn ecvt(
3837 arg1: f64,
3838 arg2: ::std::os::raw::c_int,
3839 arg3: *mut ::std::os::raw::c_int,
3840 arg4: *mut ::std::os::raw::c_int,
3841 ) -> *mut ::std::os::raw::c_char;
3842}
3843unsafe extern "C" {
3844 pub fn erand48(arg1: *mut ::std::os::raw::c_ushort) -> f64;
3845}
3846unsafe extern "C" {
3847 pub fn fcvt(
3848 arg1: f64,
3849 arg2: ::std::os::raw::c_int,
3850 arg3: *mut ::std::os::raw::c_int,
3851 arg4: *mut ::std::os::raw::c_int,
3852 ) -> *mut ::std::os::raw::c_char;
3853}
3854unsafe extern "C" {
3855 pub fn gcvt(
3856 arg1: f64,
3857 arg2: ::std::os::raw::c_int,
3858 arg3: *mut ::std::os::raw::c_char,
3859 ) -> *mut ::std::os::raw::c_char;
3860}
3861unsafe extern "C" {
3862 pub fn getsubopt(
3863 arg1: *mut *mut ::std::os::raw::c_char,
3864 arg2: *const *mut ::std::os::raw::c_char,
3865 arg3: *mut *mut ::std::os::raw::c_char,
3866 ) -> ::std::os::raw::c_int;
3867}
3868unsafe extern "C" {
3869 pub fn grantpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3870}
3871unsafe extern "C" {
3872 pub fn initstate(
3873 arg1: ::std::os::raw::c_uint,
3874 arg2: *mut ::std::os::raw::c_char,
3875 __size: usize,
3876 ) -> *mut ::std::os::raw::c_char;
3877}
3878unsafe extern "C" {
3879 pub fn jrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3880}
3881unsafe extern "C" {
3882 pub fn l64a(arg1: ::std::os::raw::c_long) -> *mut ::std::os::raw::c_char;
3883}
3884unsafe extern "C" {
3885 pub fn lcong48(arg1: *mut ::std::os::raw::c_ushort);
3886}
3887unsafe extern "C" {
3888 pub fn lrand48() -> ::std::os::raw::c_long;
3889}
3890unsafe extern "C" {
3891 pub fn mktemp(arg1: *mut ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3892}
3893unsafe extern "C" {
3894 pub fn mkstemp(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3895}
3896unsafe extern "C" {
3897 pub fn mrand48() -> ::std::os::raw::c_long;
3898}
3899unsafe extern "C" {
3900 pub fn nrand48(arg1: *mut ::std::os::raw::c_ushort) -> ::std::os::raw::c_long;
3901}
3902unsafe extern "C" {
3903 pub fn posix_openpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3904}
3905unsafe extern "C" {
3906 pub fn ptsname(arg1: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
3907}
3908unsafe extern "C" {
3909 pub fn ptsname_r(
3910 fildes: ::std::os::raw::c_int,
3911 buffer: *mut ::std::os::raw::c_char,
3912 buflen: usize,
3913 ) -> ::std::os::raw::c_int;
3914}
3915unsafe extern "C" {
3916 pub fn putenv(arg1: *mut ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3917}
3918unsafe extern "C" {
3919 pub fn random() -> ::std::os::raw::c_long;
3920}
3921unsafe extern "C" {
3922 pub fn rand_r(arg1: *mut ::std::os::raw::c_uint) -> ::std::os::raw::c_int;
3923}
3924unsafe extern "C" {
3925 #[link_name = "\u{1}_realpath$DARWIN_EXTSN"]
3926 pub fn realpath(
3927 arg1: *const ::std::os::raw::c_char,
3928 arg2: *mut ::std::os::raw::c_char,
3929 ) -> *mut ::std::os::raw::c_char;
3930}
3931unsafe extern "C" {
3932 pub fn seed48(arg1: *mut ::std::os::raw::c_ushort) -> *mut ::std::os::raw::c_ushort;
3933}
3934unsafe extern "C" {
3935 pub fn setenv(
3936 __name: *const ::std::os::raw::c_char,
3937 __value: *const ::std::os::raw::c_char,
3938 __overwrite: ::std::os::raw::c_int,
3939 ) -> ::std::os::raw::c_int;
3940}
3941unsafe extern "C" {
3942 pub fn setkey(arg1: *const ::std::os::raw::c_char);
3943}
3944unsafe extern "C" {
3945 pub fn setstate(arg1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
3946}
3947unsafe extern "C" {
3948 pub fn srand48(arg1: ::std::os::raw::c_long);
3949}
3950unsafe extern "C" {
3951 pub fn srandom(arg1: ::std::os::raw::c_uint);
3952}
3953unsafe extern "C" {
3954 pub fn unlockpt(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
3955}
3956unsafe extern "C" {
3957 pub fn unsetenv(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
3958}
3959pub type dev_t = __darwin_dev_t;
3960pub type mode_t = __darwin_mode_t;
3961unsafe extern "C" {
3962 pub fn arc4random() -> u32;
3963}
3964unsafe extern "C" {
3965 pub fn arc4random_addrandom(
3966 arg1: *mut ::std::os::raw::c_uchar,
3967 __datlen: ::std::os::raw::c_int,
3968 );
3969}
3970unsafe extern "C" {
3971 pub fn arc4random_buf(__buf: *mut ::std::os::raw::c_void, __nbytes: usize);
3972}
3973unsafe extern "C" {
3974 pub fn arc4random_stir();
3975}
3976unsafe extern "C" {
3977 pub fn arc4random_uniform(__upper_bound: u32) -> u32;
3978}
3979unsafe extern "C" {
3980 pub fn atexit_b(arg1: *mut ::std::os::raw::c_void) -> ::std::os::raw::c_int;
3981}
3982unsafe extern "C" {
3983 pub fn bsearch_b(
3984 __key: *const ::std::os::raw::c_void,
3985 __base: *const ::std::os::raw::c_void,
3986 __nel: usize,
3987 __width: usize,
3988 __compar: *mut ::std::os::raw::c_void,
3989 ) -> *mut ::std::os::raw::c_void;
3990}
3991unsafe extern "C" {
3992 pub fn cgetcap(
3993 arg1: *mut ::std::os::raw::c_char,
3994 arg2: *const ::std::os::raw::c_char,
3995 arg3: ::std::os::raw::c_int,
3996 ) -> *mut ::std::os::raw::c_char;
3997}
3998unsafe extern "C" {
3999 pub fn cgetclose() -> ::std::os::raw::c_int;
4000}
4001unsafe extern "C" {
4002 pub fn cgetent(
4003 arg1: *mut *mut ::std::os::raw::c_char,
4004 arg2: *mut *mut ::std::os::raw::c_char,
4005 arg3: *const ::std::os::raw::c_char,
4006 ) -> ::std::os::raw::c_int;
4007}
4008unsafe extern "C" {
4009 pub fn cgetfirst(
4010 arg1: *mut *mut ::std::os::raw::c_char,
4011 arg2: *mut *mut ::std::os::raw::c_char,
4012 ) -> ::std::os::raw::c_int;
4013}
4014unsafe extern "C" {
4015 pub fn cgetmatch(
4016 arg1: *const ::std::os::raw::c_char,
4017 arg2: *const ::std::os::raw::c_char,
4018 ) -> ::std::os::raw::c_int;
4019}
4020unsafe extern "C" {
4021 pub fn cgetnext(
4022 arg1: *mut *mut ::std::os::raw::c_char,
4023 arg2: *mut *mut ::std::os::raw::c_char,
4024 ) -> ::std::os::raw::c_int;
4025}
4026unsafe extern "C" {
4027 pub fn cgetnum(
4028 arg1: *mut ::std::os::raw::c_char,
4029 arg2: *const ::std::os::raw::c_char,
4030 arg3: *mut ::std::os::raw::c_long,
4031 ) -> ::std::os::raw::c_int;
4032}
4033unsafe extern "C" {
4034 pub fn cgetset(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4035}
4036unsafe extern "C" {
4037 pub fn cgetstr(
4038 arg1: *mut ::std::os::raw::c_char,
4039 arg2: *const ::std::os::raw::c_char,
4040 arg3: *mut *mut ::std::os::raw::c_char,
4041 ) -> ::std::os::raw::c_int;
4042}
4043unsafe extern "C" {
4044 pub fn cgetustr(
4045 arg1: *mut ::std::os::raw::c_char,
4046 arg2: *const ::std::os::raw::c_char,
4047 arg3: *mut *mut ::std::os::raw::c_char,
4048 ) -> ::std::os::raw::c_int;
4049}
4050unsafe extern "C" {
4051 pub fn daemon(
4052 arg1: ::std::os::raw::c_int,
4053 arg2: ::std::os::raw::c_int,
4054 ) -> ::std::os::raw::c_int;
4055}
4056unsafe extern "C" {
4057 pub fn devname(arg1: dev_t, arg2: mode_t) -> *mut ::std::os::raw::c_char;
4058}
4059unsafe extern "C" {
4060 pub fn devname_r(
4061 arg1: dev_t,
4062 arg2: mode_t,
4063 buf: *mut ::std::os::raw::c_char,
4064 len: ::std::os::raw::c_int,
4065 ) -> *mut ::std::os::raw::c_char;
4066}
4067unsafe extern "C" {
4068 pub fn getbsize(
4069 arg1: *mut ::std::os::raw::c_int,
4070 arg2: *mut ::std::os::raw::c_long,
4071 ) -> *mut ::std::os::raw::c_char;
4072}
4073unsafe extern "C" {
4074 pub fn getloadavg(arg1: *mut f64, __nelem: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4075}
4076unsafe extern "C" {
4077 pub fn getprogname() -> *const ::std::os::raw::c_char;
4078}
4079unsafe extern "C" {
4080 pub fn setprogname(arg1: *const ::std::os::raw::c_char);
4081}
4082unsafe extern "C" {
4083 pub fn heapsort(
4084 __base: *mut ::std::os::raw::c_void,
4085 __nel: usize,
4086 __width: usize,
4087 __compar: ::std::option::Option<
4088 unsafe extern "C" fn(
4089 arg1: *const ::std::os::raw::c_void,
4090 arg2: *const ::std::os::raw::c_void,
4091 ) -> ::std::os::raw::c_int,
4092 >,
4093 ) -> ::std::os::raw::c_int;
4094}
4095unsafe extern "C" {
4096 pub fn heapsort_b(
4097 __base: *mut ::std::os::raw::c_void,
4098 __nel: usize,
4099 __width: usize,
4100 __compar: *mut ::std::os::raw::c_void,
4101 ) -> ::std::os::raw::c_int;
4102}
4103unsafe extern "C" {
4104 pub fn mergesort(
4105 __base: *mut ::std::os::raw::c_void,
4106 __nel: usize,
4107 __width: usize,
4108 __compar: ::std::option::Option<
4109 unsafe extern "C" fn(
4110 arg1: *const ::std::os::raw::c_void,
4111 arg2: *const ::std::os::raw::c_void,
4112 ) -> ::std::os::raw::c_int,
4113 >,
4114 ) -> ::std::os::raw::c_int;
4115}
4116unsafe extern "C" {
4117 pub fn mergesort_b(
4118 __base: *mut ::std::os::raw::c_void,
4119 __nel: usize,
4120 __width: usize,
4121 __compar: *mut ::std::os::raw::c_void,
4122 ) -> ::std::os::raw::c_int;
4123}
4124unsafe extern "C" {
4125 pub fn psort(
4126 __base: *mut ::std::os::raw::c_void,
4127 __nel: usize,
4128 __width: usize,
4129 __compar: ::std::option::Option<
4130 unsafe extern "C" fn(
4131 arg1: *const ::std::os::raw::c_void,
4132 arg2: *const ::std::os::raw::c_void,
4133 ) -> ::std::os::raw::c_int,
4134 >,
4135 );
4136}
4137unsafe extern "C" {
4138 pub fn psort_b(
4139 __base: *mut ::std::os::raw::c_void,
4140 __nel: usize,
4141 __width: usize,
4142 __compar: *mut ::std::os::raw::c_void,
4143 );
4144}
4145unsafe extern "C" {
4146 pub fn psort_r(
4147 __base: *mut ::std::os::raw::c_void,
4148 __nel: usize,
4149 __width: usize,
4150 arg1: *mut ::std::os::raw::c_void,
4151 __compar: ::std::option::Option<
4152 unsafe extern "C" fn(
4153 arg1: *mut ::std::os::raw::c_void,
4154 arg2: *const ::std::os::raw::c_void,
4155 arg3: *const ::std::os::raw::c_void,
4156 ) -> ::std::os::raw::c_int,
4157 >,
4158 );
4159}
4160unsafe extern "C" {
4161 pub fn qsort_b(
4162 __base: *mut ::std::os::raw::c_void,
4163 __nel: usize,
4164 __width: usize,
4165 __compar: *mut ::std::os::raw::c_void,
4166 );
4167}
4168unsafe extern "C" {
4169 pub fn qsort_r(
4170 __base: *mut ::std::os::raw::c_void,
4171 __nel: usize,
4172 __width: usize,
4173 arg1: *mut ::std::os::raw::c_void,
4174 __compar: ::std::option::Option<
4175 unsafe extern "C" fn(
4176 arg1: *mut ::std::os::raw::c_void,
4177 arg2: *const ::std::os::raw::c_void,
4178 arg3: *const ::std::os::raw::c_void,
4179 ) -> ::std::os::raw::c_int,
4180 >,
4181 );
4182}
4183unsafe extern "C" {
4184 pub fn radixsort(
4185 __base: *mut *const ::std::os::raw::c_uchar,
4186 __nel: ::std::os::raw::c_int,
4187 __table: *const ::std::os::raw::c_uchar,
4188 __endbyte: ::std::os::raw::c_uint,
4189 ) -> ::std::os::raw::c_int;
4190}
4191unsafe extern "C" {
4192 pub fn rpmatch(arg1: *const ::std::os::raw::c_char) -> ::std::os::raw::c_int;
4193}
4194unsafe extern "C" {
4195 pub fn sradixsort(
4196 __base: *mut *const ::std::os::raw::c_uchar,
4197 __nel: ::std::os::raw::c_int,
4198 __table: *const ::std::os::raw::c_uchar,
4199 __endbyte: ::std::os::raw::c_uint,
4200 ) -> ::std::os::raw::c_int;
4201}
4202unsafe extern "C" {
4203 pub fn sranddev();
4204}
4205unsafe extern "C" {
4206 pub fn srandomdev();
4207}
4208unsafe extern "C" {
4209 pub fn strtonum(
4210 __numstr: *const ::std::os::raw::c_char,
4211 __minval: ::std::os::raw::c_longlong,
4212 __maxval: ::std::os::raw::c_longlong,
4213 __errstrp: *mut *const ::std::os::raw::c_char,
4214 ) -> ::std::os::raw::c_longlong;
4215}
4216unsafe extern "C" {
4217 pub fn strtoq(
4218 __str: *const ::std::os::raw::c_char,
4219 __endptr: *mut *mut ::std::os::raw::c_char,
4220 __base: ::std::os::raw::c_int,
4221 ) -> ::std::os::raw::c_longlong;
4222}
4223unsafe extern "C" {
4224 pub fn strtouq(
4225 __str: *const ::std::os::raw::c_char,
4226 __endptr: *mut *mut ::std::os::raw::c_char,
4227 __base: ::std::os::raw::c_int,
4228 ) -> ::std::os::raw::c_ulonglong;
4229}
4230unsafe extern "C" {
4231 pub static mut suboptarg: *mut ::std::os::raw::c_char;
4232}
4233unsafe extern "C" {
4234 pub fn memchr(
4235 __s: *const ::std::os::raw::c_void,
4236 __c: ::std::os::raw::c_int,
4237 __n: ::std::os::raw::c_ulong,
4238 ) -> *mut ::std::os::raw::c_void;
4239}
4240unsafe extern "C" {
4241 pub fn memcmp(
4242 __s1: *const ::std::os::raw::c_void,
4243 __s2: *const ::std::os::raw::c_void,
4244 __n: ::std::os::raw::c_ulong,
4245 ) -> ::std::os::raw::c_int;
4246}
4247unsafe extern "C" {
4248 pub fn memcpy(
4249 __dst: *mut ::std::os::raw::c_void,
4250 __src: *const ::std::os::raw::c_void,
4251 __n: ::std::os::raw::c_ulong,
4252 ) -> *mut ::std::os::raw::c_void;
4253}
4254unsafe extern "C" {
4255 pub fn memmove(
4256 __dst: *mut ::std::os::raw::c_void,
4257 __src: *const ::std::os::raw::c_void,
4258 __len: ::std::os::raw::c_ulong,
4259 ) -> *mut ::std::os::raw::c_void;
4260}
4261unsafe extern "C" {
4262 pub fn memset(
4263 __b: *mut ::std::os::raw::c_void,
4264 __c: ::std::os::raw::c_int,
4265 __len: ::std::os::raw::c_ulong,
4266 ) -> *mut ::std::os::raw::c_void;
4267}
4268unsafe extern "C" {
4269 pub fn strcat(
4270 __s1: *mut ::std::os::raw::c_char,
4271 __s2: *const ::std::os::raw::c_char,
4272 ) -> *mut ::std::os::raw::c_char;
4273}
4274unsafe extern "C" {
4275 pub fn strchr(
4276 __s: *const ::std::os::raw::c_char,
4277 __c: ::std::os::raw::c_int,
4278 ) -> *mut ::std::os::raw::c_char;
4279}
4280unsafe extern "C" {
4281 pub fn strcmp(
4282 __s1: *const ::std::os::raw::c_char,
4283 __s2: *const ::std::os::raw::c_char,
4284 ) -> ::std::os::raw::c_int;
4285}
4286unsafe extern "C" {
4287 pub fn strcoll(
4288 __s1: *const ::std::os::raw::c_char,
4289 __s2: *const ::std::os::raw::c_char,
4290 ) -> ::std::os::raw::c_int;
4291}
4292unsafe extern "C" {
4293 pub fn strcpy(
4294 __dst: *mut ::std::os::raw::c_char,
4295 __src: *const ::std::os::raw::c_char,
4296 ) -> *mut ::std::os::raw::c_char;
4297}
4298unsafe extern "C" {
4299 pub fn strcspn(
4300 __s: *const ::std::os::raw::c_char,
4301 __charset: *const ::std::os::raw::c_char,
4302 ) -> ::std::os::raw::c_ulong;
4303}
4304unsafe extern "C" {
4305 pub fn strerror(__errnum: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
4306}
4307unsafe extern "C" {
4308 pub fn strlen(__s: *const ::std::os::raw::c_char) -> ::std::os::raw::c_ulong;
4309}
4310unsafe extern "C" {
4311 pub fn strncat(
4312 __s1: *mut ::std::os::raw::c_char,
4313 __s2: *const ::std::os::raw::c_char,
4314 __n: ::std::os::raw::c_ulong,
4315 ) -> *mut ::std::os::raw::c_char;
4316}
4317unsafe extern "C" {
4318 pub fn strncmp(
4319 __s1: *const ::std::os::raw::c_char,
4320 __s2: *const ::std::os::raw::c_char,
4321 __n: ::std::os::raw::c_ulong,
4322 ) -> ::std::os::raw::c_int;
4323}
4324unsafe extern "C" {
4325 pub fn strncpy(
4326 __dst: *mut ::std::os::raw::c_char,
4327 __src: *const ::std::os::raw::c_char,
4328 __n: ::std::os::raw::c_ulong,
4329 ) -> *mut ::std::os::raw::c_char;
4330}
4331unsafe extern "C" {
4332 pub fn strpbrk(
4333 __s: *const ::std::os::raw::c_char,
4334 __charset: *const ::std::os::raw::c_char,
4335 ) -> *mut ::std::os::raw::c_char;
4336}
4337unsafe extern "C" {
4338 pub fn strrchr(
4339 __s: *const ::std::os::raw::c_char,
4340 __c: ::std::os::raw::c_int,
4341 ) -> *mut ::std::os::raw::c_char;
4342}
4343unsafe extern "C" {
4344 pub fn strspn(
4345 __s: *const ::std::os::raw::c_char,
4346 __charset: *const ::std::os::raw::c_char,
4347 ) -> ::std::os::raw::c_ulong;
4348}
4349unsafe extern "C" {
4350 pub fn strstr(
4351 __big: *const ::std::os::raw::c_char,
4352 __little: *const ::std::os::raw::c_char,
4353 ) -> *mut ::std::os::raw::c_char;
4354}
4355unsafe extern "C" {
4356 pub fn strtok(
4357 __str: *mut ::std::os::raw::c_char,
4358 __sep: *const ::std::os::raw::c_char,
4359 ) -> *mut ::std::os::raw::c_char;
4360}
4361unsafe extern "C" {
4362 pub fn strxfrm(
4363 __s1: *mut ::std::os::raw::c_char,
4364 __s2: *const ::std::os::raw::c_char,
4365 __n: ::std::os::raw::c_ulong,
4366 ) -> ::std::os::raw::c_ulong;
4367}
4368unsafe extern "C" {
4369 pub fn strtok_r(
4370 __str: *mut ::std::os::raw::c_char,
4371 __sep: *const ::std::os::raw::c_char,
4372 __lasts: *mut *mut ::std::os::raw::c_char,
4373 ) -> *mut ::std::os::raw::c_char;
4374}
4375unsafe extern "C" {
4376 pub fn strerror_r(
4377 __errnum: ::std::os::raw::c_int,
4378 __strerrbuf: *mut ::std::os::raw::c_char,
4379 __buflen: usize,
4380 ) -> ::std::os::raw::c_int;
4381}
4382unsafe extern "C" {
4383 pub fn strdup(__s1: *const ::std::os::raw::c_char) -> *mut ::std::os::raw::c_char;
4384}
4385unsafe extern "C" {
4386 pub fn memccpy(
4387 __dst: *mut ::std::os::raw::c_void,
4388 __src: *const ::std::os::raw::c_void,
4389 __c: ::std::os::raw::c_int,
4390 __n: ::std::os::raw::c_ulong,
4391 ) -> *mut ::std::os::raw::c_void;
4392}
4393unsafe extern "C" {
4394 pub fn stpcpy(
4395 __dst: *mut ::std::os::raw::c_char,
4396 __src: *const ::std::os::raw::c_char,
4397 ) -> *mut ::std::os::raw::c_char;
4398}
4399unsafe extern "C" {
4400 pub fn stpncpy(
4401 __dst: *mut ::std::os::raw::c_char,
4402 __src: *const ::std::os::raw::c_char,
4403 __n: ::std::os::raw::c_ulong,
4404 ) -> *mut ::std::os::raw::c_char;
4405}
4406unsafe extern "C" {
4407 pub fn strndup(
4408 __s1: *const ::std::os::raw::c_char,
4409 __n: ::std::os::raw::c_ulong,
4410 ) -> *mut ::std::os::raw::c_char;
4411}
4412unsafe extern "C" {
4413 pub fn strnlen(__s1: *const ::std::os::raw::c_char, __n: usize) -> usize;
4414}
4415unsafe extern "C" {
4416 pub fn strsignal(__sig: ::std::os::raw::c_int) -> *mut ::std::os::raw::c_char;
4417}
4418pub type rsize_t = __darwin_size_t;
4419pub type errno_t = ::std::os::raw::c_int;
4420unsafe extern "C" {
4421 pub fn memset_s(
4422 __s: *mut ::std::os::raw::c_void,
4423 __smax: rsize_t,
4424 __c: ::std::os::raw::c_int,
4425 __n: rsize_t,
4426 ) -> errno_t;
4427}
4428unsafe extern "C" {
4429 pub fn memmem(
4430 __big: *const ::std::os::raw::c_void,
4431 __big_len: usize,
4432 __little: *const ::std::os::raw::c_void,
4433 __little_len: usize,
4434 ) -> *mut ::std::os::raw::c_void;
4435}
4436unsafe extern "C" {
4437 pub fn memset_pattern4(
4438 __b: *mut ::std::os::raw::c_void,
4439 __pattern4: *const ::std::os::raw::c_void,
4440 __len: usize,
4441 );
4442}
4443unsafe extern "C" {
4444 pub fn memset_pattern8(
4445 __b: *mut ::std::os::raw::c_void,
4446 __pattern8: *const ::std::os::raw::c_void,
4447 __len: usize,
4448 );
4449}
4450unsafe extern "C" {
4451 pub fn memset_pattern16(
4452 __b: *mut ::std::os::raw::c_void,
4453 __pattern16: *const ::std::os::raw::c_void,
4454 __len: usize,
4455 );
4456}
4457unsafe extern "C" {
4458 pub fn strcasestr(
4459 __big: *const ::std::os::raw::c_char,
4460 __little: *const ::std::os::raw::c_char,
4461 ) -> *mut ::std::os::raw::c_char;
4462}
4463unsafe extern "C" {
4464 pub fn strchrnul(
4465 __s: *const ::std::os::raw::c_char,
4466 __c: ::std::os::raw::c_int,
4467 ) -> *mut ::std::os::raw::c_char;
4468}
4469unsafe extern "C" {
4470 pub fn strnstr(
4471 __big: *const ::std::os::raw::c_char,
4472 __little: *const ::std::os::raw::c_char,
4473 __len: usize,
4474 ) -> *mut ::std::os::raw::c_char;
4475}
4476unsafe extern "C" {
4477 pub fn strlcat(
4478 __dst: *mut ::std::os::raw::c_char,
4479 __source: *const ::std::os::raw::c_char,
4480 __size: ::std::os::raw::c_ulong,
4481 ) -> ::std::os::raw::c_ulong;
4482}
4483unsafe extern "C" {
4484 pub fn strlcpy(
4485 __dst: *mut ::std::os::raw::c_char,
4486 __source: *const ::std::os::raw::c_char,
4487 __size: ::std::os::raw::c_ulong,
4488 ) -> ::std::os::raw::c_ulong;
4489}
4490unsafe extern "C" {
4491 pub fn strmode(__mode: ::std::os::raw::c_int, __bp: *mut ::std::os::raw::c_char);
4492}
4493unsafe extern "C" {
4494 pub fn strsep(
4495 __stringp: *mut *mut ::std::os::raw::c_char,
4496 __delim: *const ::std::os::raw::c_char,
4497 ) -> *mut ::std::os::raw::c_char;
4498}
4499unsafe extern "C" {
4500 pub fn swab(
4501 arg1: *const ::std::os::raw::c_void,
4502 arg2: *mut ::std::os::raw::c_void,
4503 __len: isize,
4504 );
4505}
4506unsafe extern "C" {
4507 pub fn timingsafe_bcmp(
4508 __b1: *const ::std::os::raw::c_void,
4509 __b2: *const ::std::os::raw::c_void,
4510 __len: usize,
4511 ) -> ::std::os::raw::c_int;
4512}
4513unsafe extern "C" {
4514 pub fn strsignal_r(
4515 __sig: ::std::os::raw::c_int,
4516 __strsignalbuf: *mut ::std::os::raw::c_char,
4517 __buflen: usize,
4518 ) -> ::std::os::raw::c_int;
4519}
4520unsafe extern "C" {
4521 pub fn bcmp(
4522 arg1: *const ::std::os::raw::c_void,
4523 arg2: *const ::std::os::raw::c_void,
4524 __n: ::std::os::raw::c_ulong,
4525 ) -> ::std::os::raw::c_int;
4526}
4527unsafe extern "C" {
4528 pub fn bcopy(
4529 arg1: *const ::std::os::raw::c_void,
4530 arg2: *mut ::std::os::raw::c_void,
4531 __n: ::std::os::raw::c_ulong,
4532 );
4533}
4534unsafe extern "C" {
4535 pub fn bzero(arg1: *mut ::std::os::raw::c_void, __n: ::std::os::raw::c_ulong);
4536}
4537unsafe extern "C" {
4538 pub fn index(
4539 arg1: *const ::std::os::raw::c_char,
4540 arg2: ::std::os::raw::c_int,
4541 ) -> *mut ::std::os::raw::c_char;
4542}
4543unsafe extern "C" {
4544 pub fn rindex(
4545 arg1: *const ::std::os::raw::c_char,
4546 arg2: ::std::os::raw::c_int,
4547 ) -> *mut ::std::os::raw::c_char;
4548}
4549unsafe extern "C" {
4550 pub fn ffs(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4551}
4552unsafe extern "C" {
4553 pub fn strcasecmp(
4554 arg1: *const ::std::os::raw::c_char,
4555 arg2: *const ::std::os::raw::c_char,
4556 ) -> ::std::os::raw::c_int;
4557}
4558unsafe extern "C" {
4559 pub fn strncasecmp(
4560 arg1: *const ::std::os::raw::c_char,
4561 arg2: *const ::std::os::raw::c_char,
4562 arg3: ::std::os::raw::c_ulong,
4563 ) -> ::std::os::raw::c_int;
4564}
4565unsafe extern "C" {
4566 pub fn ffsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
4567}
4568unsafe extern "C" {
4569 pub fn ffsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
4570}
4571unsafe extern "C" {
4572 pub fn fls(arg1: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
4573}
4574unsafe extern "C" {
4575 pub fn flsl(arg1: ::std::os::raw::c_long) -> ::std::os::raw::c_int;
4576}
4577unsafe extern "C" {
4578 pub fn flsll(arg1: ::std::os::raw::c_longlong) -> ::std::os::raw::c_int;
4579}
4580#[doc = "HAL_TIME Time related functions\n\n # "]
4581pub type nsSinceEpoch = u64;
4582pub type msSinceEpoch = u64;
4583unsafe extern "C" {
4584 #[doc = "Get the system time in milliseconds.\n\n The time value returned as 64-bit unsigned integer should represent the milliseconds\n since the UNIX epoch (1970/01/01 00:00 UTC).\n\n # Returns\n\nthe system time with millisecond resolution."]
4585 pub fn Hal_getTimeInMs() -> msSinceEpoch;
4586}
4587unsafe extern "C" {
4588 #[doc = "Get the system time in nanoseconds.\n\n The time value returned as 64-bit unsigned integer should represent the nanoseconds\n since the UNIX epoch (1970/01/01 00:00 UTC).\n\n # Returns\n\nthe system time with nanosecond resolution."]
4589 pub fn Hal_getTimeInNs() -> nsSinceEpoch;
4590}
4591unsafe extern "C" {
4592 #[doc = "Set the system time from ns time\n\n The time value returned as 64-bit unsigned integer should represent the nanoseconds\n since the UNIX epoch (1970/01/01 00:00 UTC).\n\n # Returns\n\ntrue on success, otherwise false"]
4593 pub fn Hal_setTimeInNs(nsTime: nsSinceEpoch) -> bool;
4594}
4595unsafe extern "C" {
4596 #[doc = "Get the monotonic time or system tick time in ms\n\n # Returns\n\nthe system time with millisecond resolution."]
4597 pub fn Hal_getMonotonicTimeInMs() -> msSinceEpoch;
4598}
4599unsafe extern "C" {
4600 #[doc = "Get the monotonic time or system tick in nanoseconds.\n\n # Returns\n\nthe system time with nanosecond resolution."]
4601 pub fn Hal_getMonotonicTimeInNs() -> nsSinceEpoch;
4602}
4603#[repr(C)]
4604#[derive(Debug, Copy, Clone)]
4605pub struct sThread {
4606 _unused: [u8; 0],
4607}
4608#[doc = "Opaque reference of a Thread instance"]
4609pub type Thread = *mut sThread;
4610#[doc = "Qpaque reference of a Semaphore instance"]
4611pub type Semaphore = *mut ::std::os::raw::c_void;
4612#[doc = "Reference to a function that is called when starting the thread"]
4613pub type ThreadExecutionFunction = ::std::option::Option<
4614 unsafe extern "C" fn(arg1: *mut ::std::os::raw::c_void) -> *mut ::std::os::raw::c_void,
4615>;
4616unsafe extern "C" {
4617 #[doc = "Create a new Thread instance\n\n # Arguments\n\n* `function` - the entry point of the thread\n * `parameter` - a parameter that is passed to the threads start function\n * `autodestroy` - the thread is automatically destroyed if the ThreadExecutionFunction has finished.\n\n # Returns\n\nthe newly created Thread instance"]
4618 pub fn Thread_create(
4619 function: ThreadExecutionFunction,
4620 parameter: *mut ::std::os::raw::c_void,
4621 autodestroy: bool,
4622 ) -> Thread;
4623}
4624unsafe extern "C" {
4625 #[doc = "Start a Thread.\n\n This function invokes the start function of the thread. The thread terminates when\n the start function returns.\n\n # Arguments\n\n* `thread` - the Thread instance to start"]
4626 pub fn Thread_start(thread: Thread);
4627}
4628unsafe extern "C" {
4629 #[doc = "Destroy a Thread and free all related resources.\n\n # Arguments\n\n* `thread` - the Thread instance to destroy"]
4630 pub fn Thread_destroy(thread: Thread);
4631}
4632unsafe extern "C" {
4633 #[doc = "Suspend execution of the Thread for the specified number of milliseconds"]
4634 pub fn Thread_sleep(millies: ::std::os::raw::c_int);
4635}
4636unsafe extern "C" {
4637 pub fn Semaphore_create(initialValue: ::std::os::raw::c_int) -> Semaphore;
4638}
4639unsafe extern "C" {
4640 #[doc = "Wait until semaphore value is greater than zero. Then decrease the semaphore value."]
4641 pub fn Semaphore_wait(self_: Semaphore);
4642}
4643unsafe extern "C" {
4644 pub fn Semaphore_post(self_: Semaphore);
4645}
4646unsafe extern "C" {
4647 pub fn Semaphore_destroy(self_: Semaphore);
4648}
4649#[repr(C)]
4650#[derive(Debug, Copy, Clone)]
4651pub struct sServerSocket {
4652 _unused: [u8; 0],
4653}
4654#[doc = "Opaque reference for a server socket instance"]
4655pub type ServerSocket = *mut sServerSocket;
4656#[repr(C)]
4657#[derive(Debug, Copy, Clone)]
4658pub struct sUdpSocket {
4659 _unused: [u8; 0],
4660}
4661pub type UdpSocket = *mut sUdpSocket;
4662#[repr(C)]
4663#[derive(Debug, Copy, Clone)]
4664pub struct sSocket {
4665 _unused: [u8; 0],
4666}
4667#[doc = "Opaque reference for a client or connection socket instance"]
4668pub type Socket = *mut sSocket;
4669#[repr(C)]
4670#[derive(Debug, Copy, Clone)]
4671pub struct sHandleSet {
4672 _unused: [u8; 0],
4673}
4674#[doc = "Opaque reference for a set of server and socket handles"]
4675pub type HandleSet = *mut sHandleSet;
4676pub const SocketState_SOCKET_STATE_CONNECTING: SocketState = 0;
4677pub const SocketState_SOCKET_STATE_FAILED: SocketState = 1;
4678pub const SocketState_SOCKET_STATE_CONNECTED: SocketState = 2;
4679#[doc = "State of an asynchronous connect"]
4680pub type SocketState = ::std::os::raw::c_uint;
4681unsafe extern "C" {
4682 #[doc = "Create a new connection handle set (HandleSet)\n\n # Returns\n\nnew HandleSet instance"]
4683 pub fn Handleset_new() -> HandleSet;
4684}
4685unsafe extern "C" {
4686 #[doc = "Reset the handle set for reuse"]
4687 pub fn Handleset_reset(self_: HandleSet);
4688}
4689unsafe extern "C" {
4690 #[doc = "add a socket to an existing handle set\n\n # Arguments\n\n* `self` - the HandleSet instance\n * `sock` - the socket to add"]
4691 pub fn Handleset_addSocket(self_: HandleSet, sock: Socket);
4692}
4693unsafe extern "C" {
4694 #[doc = "remove a socket from an existing handle set"]
4695 pub fn Handleset_removeSocket(self_: HandleSet, sock: Socket);
4696}
4697unsafe extern "C" {
4698 #[doc = "wait for a socket to become ready\n\n This function is corresponding to the BSD socket select function.\n It returns the number of sockets on which data is pending or 0 if no data is pending\n on any of the monitored connections. The function will return after \"timeout\" ms if no\n data is pending.\n The function shall return -1 if a socket error occures.\n\n # Arguments\n\n* `self` - the HandleSet instance\n * `timeout` - in milliseconds (ms)\n # Returns\n\nIt returns the number of sockets on which data is pending\n or 0 if no data is pending on any of the monitored connections.\n The function shall return -1 if a socket error occures."]
4699 pub fn Handleset_waitReady(
4700 self_: HandleSet,
4701 timeoutMs: ::std::os::raw::c_uint,
4702 ) -> ::std::os::raw::c_int;
4703}
4704unsafe extern "C" {
4705 #[doc = "destroy the HandleSet instance\n\n # Arguments\n\n* `self` - the HandleSet instance to destroy"]
4706 pub fn Handleset_destroy(self_: HandleSet);
4707}
4708unsafe extern "C" {
4709 #[doc = "Create a new TcpServerSocket instance\n\n Implementation of this function is MANDATORY if server functionality is required.\n\n # Arguments\n\n* `address` - ip address or hostname to listen on\n * `port` - the TCP port to listen on\n\n # Returns\n\nthe newly create TcpServerSocket instance"]
4710 pub fn TcpServerSocket_create(
4711 address: *const ::std::os::raw::c_char,
4712 port: ::std::os::raw::c_int,
4713 ) -> ServerSocket;
4714}
4715unsafe extern "C" {
4716 #[doc = "Create an IPv4 UDP socket instance\n\n # Returns\n\nnew UDP socket instance"]
4717 pub fn UdpSocket_create() -> UdpSocket;
4718}
4719unsafe extern "C" {
4720 #[doc = "Create an IPv6 UDP socket instance\n\n # Returns\n\nnew UDP socket instance"]
4721 pub fn UdpSocket_createIpV6() -> UdpSocket;
4722}
4723unsafe extern "C" {
4724 #[doc = "Add the socket to an IPv4 or IPv6 multicast group\n\n # Arguments\n\n* `self` - UDP socket instance\n * `multicastAddress` - IPv4 or IPv6 multicast address\n\n # Returns\n\ntrue on success, false otherwise"]
4725 pub fn UdpSocket_addGroupMembership(
4726 self_: UdpSocket,
4727 multicastAddress: *const ::std::os::raw::c_char,
4728 ) -> bool;
4729}
4730unsafe extern "C" {
4731 #[doc = "Sets the multicast TTL (number of hops) for this UDP socket\n\n # Arguments\n\n* `self` - UDP socket instance\n * `ttl` - number of hops for multicast messages. Default is 1 (not routable!)\n\n # Returns\n\ntrue on success, false otherwise"]
4732 pub fn UdpSocket_setMulticastTtl(self_: UdpSocket, ttl: ::std::os::raw::c_int) -> bool;
4733}
4734unsafe extern "C" {
4735 pub fn UdpSocket_bind(
4736 self_: UdpSocket,
4737 address: *const ::std::os::raw::c_char,
4738 port: ::std::os::raw::c_int,
4739 ) -> bool;
4740}
4741unsafe extern "C" {
4742 pub fn UdpSocket_sendTo(
4743 self_: UdpSocket,
4744 address: *const ::std::os::raw::c_char,
4745 port: ::std::os::raw::c_int,
4746 msg: *mut u8,
4747 msgSize: ::std::os::raw::c_int,
4748 ) -> bool;
4749}
4750unsafe extern "C" {
4751 #[doc = "Receive data from UDP socket (store data and (optionally) the IP address of the sender\n\n # Arguments\n\n* `self` - UDP socket instance\n * `address` - (optional) buffer to store the IP address as string\n * `maxAddrSize` - (optional) size of the provided buffer to store the IP address\n * `msg` - buffer to store the UDP message data\n * `msgSize` - the maximum size of the message to receive\n\n # Returns\n\nnumber of received bytes or -1 in case of an error"]
4752 pub fn UdpSocket_receiveFrom(
4753 self_: UdpSocket,
4754 address: *mut ::std::os::raw::c_char,
4755 maxAddrSize: ::std::os::raw::c_int,
4756 msg: *mut u8,
4757 msgSize: ::std::os::raw::c_int,
4758 ) -> ::std::os::raw::c_int;
4759}
4760unsafe extern "C" {
4761 pub fn ServerSocket_listen(self_: ServerSocket);
4762}
4763unsafe extern "C" {
4764 #[doc = "accept a new incoming connection (non-blocking)\n\n This function shall accept a new incoming connection. It is non-blocking and has to\n return NULL if no new connection is pending.\n\n Implementation of this function is MANDATORY if server functionality is required.\n\n NOTE: The behaviour of this function changed with version 0.8!\n\n # Arguments\n\n* `self` - server socket instance\n\n # Returns\n\nhandle of the new connection socket or NULL if no new connection is available"]
4765 pub fn ServerSocket_accept(self_: ServerSocket) -> Socket;
4766}
4767unsafe extern "C" {
4768 #[doc = "active TCP keep alive for socket and set keep alive parameters\n\n NOTE: implementation is mandatory for IEC 61850 MMS\n\n # Arguments\n\n* `self` - server socket instance\n * `idleTime` - time (in s) between last received message and first keep alive message\n * `interval` - time (in s) between subsequent keep alive messages if no ACK received\n * `count` - number of not missing keep alive ACKs until socket is considered dead"]
4769 pub fn Socket_activateTcpKeepAlive(
4770 self_: Socket,
4771 idleTime: ::std::os::raw::c_int,
4772 interval: ::std::os::raw::c_int,
4773 count: ::std::os::raw::c_int,
4774 );
4775}
4776unsafe extern "C" {
4777 #[doc = "set the maximum number of pending connections in the queue\n\n Implementation of this function is OPTIONAL.\n\n # Arguments\n\n* `self` - the server socket instance\n * `backlog` - the number of pending connections in the queue\n"]
4778 pub fn ServerSocket_setBacklog(self_: ServerSocket, backlog: ::std::os::raw::c_int);
4779}
4780unsafe extern "C" {
4781 #[doc = "destroy a server socket instance\n\n Free all resources allocated by this server socket instance.\n\n Implementation of this function is MANDATORY if server functionality is required.\n\n # Arguments\n\n* `self` - server socket instance"]
4782 pub fn ServerSocket_destroy(self_: ServerSocket);
4783}
4784unsafe extern "C" {
4785 #[doc = "create a TCP client socket\n\n Implementation of this function is MANDATORY if client functionality is required.\n\n # Returns\n\na new client socket instance."]
4786 pub fn TcpSocket_create() -> Socket;
4787}
4788unsafe extern "C" {
4789 #[doc = "set the timeout to establish a new connection\n\n # Arguments\n\n* `self` - the client socket instance\n * `timeoutInMs` - the timeout in ms"]
4790 pub fn Socket_setConnectTimeout(self_: Socket, timeoutInMs: u32);
4791}
4792unsafe extern "C" {
4793 #[doc = "bind a socket to a particular IP address and port (for TcpSocket)\n\n NOTE: Don't use the socket when this functions returns false!\n\n # Arguments\n\n* `self` - the client socket instance\n * `srcAddress` - the local IP address or hostname as C string\n * `srcPort` - the local TCP port to use. When < 1 the OS will chose the TCP port to use.\n\n # Returns\n\ntrue in case of success, false otherwise"]
4794 pub fn Socket_bind(
4795 self_: Socket,
4796 srcAddress: *const ::std::os::raw::c_char,
4797 srcPort: ::std::os::raw::c_int,
4798 ) -> bool;
4799}
4800unsafe extern "C" {
4801 #[doc = "connect to a server\n\n Connect to a server application identified by the address and port parameter.\n\n The \"address\" parameter may either be a hostname or an IP address. The IP address\n has to be provided as a C string (e.g. \"10.0.2.1\").\n\n Implementation of this function is MANDATORY if client functionality is required.\n\n NOTE: return type changed from int to bool with version 0.8\n\n # Arguments\n\n* `self` - the client socket instance\n * `address` - the IP address or hostname as C string\n * `port` - the TCP port of the application to connect to\n\n # Returns\n\ntrue if the connection was established successfully, false otherwise"]
4802 pub fn Socket_connect(
4803 self_: Socket,
4804 address: *const ::std::os::raw::c_char,
4805 port: ::std::os::raw::c_int,
4806 ) -> bool;
4807}
4808unsafe extern "C" {
4809 pub fn Socket_connectAsync(
4810 self_: Socket,
4811 address: *const ::std::os::raw::c_char,
4812 port: ::std::os::raw::c_int,
4813 ) -> bool;
4814}
4815unsafe extern "C" {
4816 pub fn Socket_checkAsyncConnectState(self_: Socket) -> SocketState;
4817}
4818unsafe extern "C" {
4819 #[doc = "read from socket to local buffer (non-blocking)\n\n The function shall return immediately if no data is available. In this case\n the function returns 0. If an error happens the function shall return -1.\n\n Implementation of this function is MANDATORY\n\n NOTE: The behaviour of this function changed with version 0.8!\n\n # Arguments\n\n* `self` - the client, connection or server socket instance\n * `buf` - the buffer where the read bytes are copied to\n * `size` - the maximum number of bytes to read (size of the provided buffer)\n\n # Returns\n\nthe number of bytes read or -1 if an error occurred"]
4820 pub fn Socket_read(
4821 self_: Socket,
4822 buf: *mut u8,
4823 size: ::std::os::raw::c_int,
4824 ) -> ::std::os::raw::c_int;
4825}
4826unsafe extern "C" {
4827 #[doc = "send a message through the socket\n\n Implementation of this function is MANDATORY\n\n # Arguments\n\n* `self` - client, connection or server socket instance\n\n # Returns\n\nnumber of bytes transmitted of -1 in case of an error"]
4828 pub fn Socket_write(
4829 self_: Socket,
4830 buf: *mut u8,
4831 size: ::std::os::raw::c_int,
4832 ) -> ::std::os::raw::c_int;
4833}
4834unsafe extern "C" {
4835 pub fn Socket_getLocalAddress(self_: Socket) -> *mut ::std::os::raw::c_char;
4836}
4837unsafe extern "C" {
4838 #[doc = "Get the address of the peer application (IP address and port number)\n\n The peer address has to be returned as null terminated string\n\n Implementation of this function is MANDATORY (libiec61850)\n\n # Arguments\n\n* `self` - the client, connection or server socket instance\n\n # Returns\n\nthe IP address and port number as strings separated by the ':' character."]
4839 pub fn Socket_getPeerAddress(self_: Socket) -> *mut ::std::os::raw::c_char;
4840}
4841unsafe extern "C" {
4842 #[doc = "Get the address of the peer application (IP address and port number)\n\n The peer address has to be returned as null terminated string\n\n Implementation of this function is MANDATORY (lib60870 and libiec61850)\n\n # Arguments\n\n* `self` - the client, connection or server socket instance\n * `peerAddressString` - a string to store the peer address (the string should have space\n for at least 60 characters)\n\n # Returns\n\nthe IP address and port number as strings separated by the ':' character. If the\n address is an IPv6 address the IP part is encapsulated in square brackets."]
4843 pub fn Socket_getPeerAddressStatic(
4844 self_: Socket,
4845 peerAddressString: *mut ::std::os::raw::c_char,
4846 ) -> *mut ::std::os::raw::c_char;
4847}
4848unsafe extern "C" {
4849 #[doc = "destroy a socket (close the socket if a connection is established)\n\n This function shall close the connection (if one is established) and free all\n resources allocated by the socket.\n\n Implementation of this function is MANDATORY\n\n # Arguments\n\n* `self` - the client, connection or server socket instance"]
4850 pub fn Socket_destroy(self_: Socket);
4851}
4852#[repr(C)]
4853#[derive(Debug, Copy, Clone)]
4854pub struct sSerialPort {
4855 _unused: [u8; 0],
4856}
4857#[doc = "HAL_SERIAL Access to serial interfaces\n\n Serial interface abstraction layer. This functions have to be implemented to\n port lib60870 to new platforms when the serial link layers are required.\n\n # "]
4858pub type SerialPort = *mut sSerialPort;
4859pub const SerialPortError_SERIAL_PORT_ERROR_NONE: SerialPortError = 0;
4860pub const SerialPortError_SERIAL_PORT_ERROR_INVALID_ARGUMENT: SerialPortError = 1;
4861pub const SerialPortError_SERIAL_PORT_ERROR_INVALID_BAUDRATE: SerialPortError = 2;
4862pub const SerialPortError_SERIAL_PORT_ERROR_OPEN_FAILED: SerialPortError = 3;
4863pub const SerialPortError_SERIAL_PORT_ERROR_UNKNOWN: SerialPortError = 99;
4864pub type SerialPortError = ::std::os::raw::c_uint;
4865unsafe extern "C" {
4866 #[doc = "Create a new SerialPort instance\n\n # Arguments\n\n* `interfaceName` - identifier or name of the serial interface (e.g. \"/dev/ttyS1\" or \"COM4\")\n * `baudRate` - the baud rate in baud (e.g. 9600)\n * `dataBits` - the number of data bits (usually 8)\n * `parity` - defines what kind of parity to use ('E' - even parity, 'O' - odd parity, 'N' - no parity)\n * `stopBits` - the number of stop buts (usually 1)\n\n # Returns\n\nthe new SerialPort instance"]
4867 pub fn SerialPort_create(
4868 interfaceName: *const ::std::os::raw::c_char,
4869 baudRate: ::std::os::raw::c_int,
4870 dataBits: u8,
4871 parity: ::std::os::raw::c_char,
4872 stopBits: u8,
4873 ) -> SerialPort;
4874}
4875unsafe extern "C" {
4876 #[doc = "Destroy the SerialPort instance and release all resources"]
4877 pub fn SerialPort_destroy(self_: SerialPort);
4878}
4879unsafe extern "C" {
4880 #[doc = "Open the serial interface\n\n # Returns\n\ntrue in case of success, false otherwise (use SerialPort_getLastError for a detailed error code)"]
4881 pub fn SerialPort_open(self_: SerialPort) -> bool;
4882}
4883unsafe extern "C" {
4884 #[doc = "Close (release) the serial interface"]
4885 pub fn SerialPort_close(self_: SerialPort);
4886}
4887unsafe extern "C" {
4888 #[doc = "Get the baudrate used by the serial interface\n\n # Returns\n\nthe baud rate in baud"]
4889 pub fn SerialPort_getBaudRate(self_: SerialPort) -> ::std::os::raw::c_int;
4890}
4891unsafe extern "C" {
4892 #[doc = "Set the timeout used for message reception\n\n # Arguments\n\n* `timeout` - the timeout value in ms."]
4893 pub fn SerialPort_setTimeout(self_: SerialPort, timeout: ::std::os::raw::c_int);
4894}
4895unsafe extern "C" {
4896 #[doc = "Discard all data in the input buffer of the serial interface"]
4897 pub fn SerialPort_discardInBuffer(self_: SerialPort);
4898}
4899unsafe extern "C" {
4900 #[doc = "Read a byte from the interface\n\n # Returns\n\nnumber of read bytes of -1 in case of an error"]
4901 pub fn SerialPort_readByte(self_: SerialPort) -> ::std::os::raw::c_int;
4902}
4903unsafe extern "C" {
4904 #[doc = "Write the number of bytes from the buffer to the serial interface\n\n # Arguments\n\n* `buffer` - the buffer containing the data to write\n * `startPos` - start position in the buffer of the data to write\n * `numberOfBytes` - number of bytes to write\n\n # Returns\n\nnumber of bytes written, or -1 in case of an error"]
4905 pub fn SerialPort_write(
4906 self_: SerialPort,
4907 buffer: *mut u8,
4908 startPos: ::std::os::raw::c_int,
4909 numberOfBytes: ::std::os::raw::c_int,
4910 ) -> ::std::os::raw::c_int;
4911}
4912unsafe extern "C" {
4913 #[doc = "Get the error code of the last operation"]
4914 pub fn SerialPort_getLastError(self_: SerialPort) -> SerialPortError;
4915}
4916#[repr(C)]
4917#[derive(Debug, Copy, Clone)]
4918pub struct sTLSConfiguration {
4919 _unused: [u8; 0],
4920}
4921#[doc = "TLS_CONFIG_API TLS configuration\n\n # "]
4922pub type TLSConfiguration = *mut sTLSConfiguration;
4923unsafe extern "C" {
4924 #[doc = "Create a new TLSConfiguration object to represent TLS configuration and certificates\n\n WARNING: Configuration cannot be changed after using for the first time.\n\n # Returns\n\nthe new TLS configuration"]
4925 pub fn TLSConfiguration_create() -> TLSConfiguration;
4926}
4927unsafe extern "C" {
4928 #[doc = "will be called by stack automatically when appropriate"]
4929 pub fn TLSConfiguration_setClientMode(self_: TLSConfiguration);
4930}
4931pub const TLSConfigVersion_TLS_VERSION_NOT_SELECTED: TLSConfigVersion = 0;
4932pub const TLSConfigVersion_TLS_VERSION_SSL_3_0: TLSConfigVersion = 3;
4933pub const TLSConfigVersion_TLS_VERSION_TLS_1_0: TLSConfigVersion = 4;
4934pub const TLSConfigVersion_TLS_VERSION_TLS_1_1: TLSConfigVersion = 5;
4935pub const TLSConfigVersion_TLS_VERSION_TLS_1_2: TLSConfigVersion = 6;
4936pub const TLSConfigVersion_TLS_VERSION_TLS_1_3: TLSConfigVersion = 7;
4937pub type TLSConfigVersion = ::std::os::raw::c_uint;
4938unsafe extern "C" {
4939 #[doc = "Convert TLS version number to string\n\n # Arguments\n\n* `version` - TLS version number\n\n # Returns\n\nthe TLS version as null terminated string"]
4940 pub fn TLSConfigVersion_toString(version: TLSConfigVersion) -> *const ::std::os::raw::c_char;
4941}
4942pub const TLSEventLevel_TLS_SEC_EVT_INFO: TLSEventLevel = 0;
4943pub const TLSEventLevel_TLS_SEC_EVT_WARNING: TLSEventLevel = 1;
4944pub const TLSEventLevel_TLS_SEC_EVT_INCIDENT: TLSEventLevel = 2;
4945pub type TLSEventLevel = ::std::os::raw::c_uint;
4946#[repr(C)]
4947#[derive(Debug, Copy, Clone)]
4948pub struct sTLSConnection {
4949 _unused: [u8; 0],
4950}
4951pub type TLSConnection = *mut sTLSConnection;
4952unsafe extern "C" {
4953 #[doc = "Get the peer address of the TLS connection\n\n # Arguments\n\n* `self` - the TLS connection instance\n * `peerAddrBuf` - user provided buffer that can hold at least 60 characters, or NULL to allow the function to allocate the memory for the buffer\n\n # Returns\n\npeer address:port as null terminated string"]
4954 pub fn TLSConnection_getPeerAddress(
4955 self_: TLSConnection,
4956 peerAddrBuf: *mut ::std::os::raw::c_char,
4957 ) -> *mut ::std::os::raw::c_char;
4958}
4959unsafe extern "C" {
4960 #[doc = "Get the TLS certificate used by the peer\n\n # Arguments\n\n* `self` - the TLS connection instance\n * `certSize[OUT]` - the certificate size in bytes\n\n # Returns\n\naddress of the certificate buffer"]
4961 pub fn TLSConnection_getPeerCertificate(
4962 self_: TLSConnection,
4963 certSize: *mut ::std::os::raw::c_int,
4964 ) -> *mut u8;
4965}
4966unsafe extern "C" {
4967 #[doc = "Get the TLS version used by the connection\n\n # Arguments\n\n* `self` - the TLS connection instance\n\n # Returns\n\nTLS version"]
4968 pub fn TLSConnection_getTLSVersion(self_: TLSConnection) -> TLSConfigVersion;
4969}
4970pub type TLSConfiguration_EventHandler = ::std::option::Option<
4971 unsafe extern "C" fn(
4972 parameter: *mut ::std::os::raw::c_void,
4973 eventLevel: TLSEventLevel,
4974 eventCode: ::std::os::raw::c_int,
4975 message: *const ::std::os::raw::c_char,
4976 con: TLSConnection,
4977 ),
4978>;
4979unsafe extern "C" {
4980 #[doc = "Set the security event handler\n\n # Arguments\n\n* `handler` - the security event callback handler\n * `parameter` - user provided parameter to be passed to the callback handler"]
4981 pub fn TLSConfiguration_setEventHandler(
4982 self_: TLSConfiguration,
4983 handler: TLSConfiguration_EventHandler,
4984 parameter: *mut ::std::os::raw::c_void,
4985 );
4986}
4987unsafe extern "C" {
4988 #[doc = "enable or disable TLS session resumption (default: enabled)\n\n NOTE: Depending on the used TLS version this is implemented by\n session IDs or by session tickets.\n\n # Arguments\n\n* `enable` - true to enable session resumption, false otherwise"]
4989 pub fn TLSConfiguration_enableSessionResumption(self_: TLSConfiguration, enable: bool);
4990}
4991unsafe extern "C" {
4992 #[doc = "Set the maximum life time of a cached TLS session for session resumption in seconds\n\n # Arguments\n\n* `intervalInSeconds` - the maximum lifetime of a cached TLS session"]
4993 pub fn TLSConfiguration_setSessionResumptionInterval(
4994 self_: TLSConfiguration,
4995 intervalInSeconds: ::std::os::raw::c_int,
4996 );
4997}
4998unsafe extern "C" {
4999 #[doc = "Enables the validation of the certificate trust chain (enabled by default)\n\n # Arguments\n\n* `value` - true to enable chain validation, false to disable"]
5000 pub fn TLSConfiguration_setChainValidation(self_: TLSConfiguration, value: bool);
5001}
5002unsafe extern "C" {
5003 #[doc = "Enabled or disables the verification of validity times for certificates and CRLs\n\n # Arguments\n\n* `value` - true to enable time validation, false to disable (enabled by default)"]
5004 pub fn TLSConfiguration_setTimeValidation(self_: TLSConfiguration, value: bool);
5005}
5006unsafe extern "C" {
5007 #[doc = "Set if only known certificates are accepted.\n\n If set to true only known certificates are accepted. Connections with unknown certificates\n are rejected even if they are signed by a trusted authority.\n\n # Arguments\n\n* `value` - true to enable setting, false otherwise"]
5008 pub fn TLSConfiguration_setAllowOnlyKnownCertificates(self_: TLSConfiguration, value: bool);
5009}
5010unsafe extern "C" {
5011 #[doc = "Set own certificate (identity) from a byte buffer\n\n # Arguments\n\n* `certificate` - the certificate buffer\n * `certLen` - the lenght of the certificate\n\n # Returns\n\ntrue, when the certificate was set, false otherwise (e.g. unknown certificate format)"]
5012 pub fn TLSConfiguration_setOwnCertificate(
5013 self_: TLSConfiguration,
5014 certificate: *mut u8,
5015 certLen: ::std::os::raw::c_int,
5016 ) -> bool;
5017}
5018unsafe extern "C" {
5019 #[doc = "Set own certificate (identity) from a certificate file\n\n # Arguments\n\n* `filename` - of the certificate file\n\n # Returns\n\ntrue, when the certificate was set, false otherwise (e.g. unknown certificate format)"]
5020 pub fn TLSConfiguration_setOwnCertificateFromFile(
5021 self_: TLSConfiguration,
5022 filename: *const ::std::os::raw::c_char,
5023 ) -> bool;
5024}
5025unsafe extern "C" {
5026 #[doc = "Set the own private key from a byte buffer\n\n # Arguments\n\n* `key` - the private key to use\n * `keyLen` - the length of the key\n * `password` - the password of the key or null if the key is not password protected\n\n # Returns\n\ntrue, when the key was set, false otherwise (e.g. unknown key format)"]
5027 pub fn TLSConfiguration_setOwnKey(
5028 self_: TLSConfiguration,
5029 key: *mut u8,
5030 keyLen: ::std::os::raw::c_int,
5031 keyPassword: *const ::std::os::raw::c_char,
5032 ) -> bool;
5033}
5034unsafe extern "C" {
5035 #[doc = "Set the own private key from a key file\n\n # Arguments\n\n* `filename` - filename/path of the key file\n * `password` - the password of the key or null if the key is not password protected\n\n # Returns\n\ntrue, when the key was set, false otherwise (e.g. unknown key format)"]
5036 pub fn TLSConfiguration_setOwnKeyFromFile(
5037 self_: TLSConfiguration,
5038 filename: *const ::std::os::raw::c_char,
5039 keyPassword: *const ::std::os::raw::c_char,
5040 ) -> bool;
5041}
5042unsafe extern "C" {
5043 #[doc = "Add a certificate to the list of allowed peer certificates from a byte buffer\n\n # Arguments\n\n* `certificate` - the certificate buffer\n * `certLen` - the length of the certificate buffer\n # Returns\n\ntrue, when the certificate was set, false otherwise (e.g. unknown certificate format)"]
5044 pub fn TLSConfiguration_addAllowedCertificate(
5045 self_: TLSConfiguration,
5046 certificate: *mut u8,
5047 certLen: ::std::os::raw::c_int,
5048 ) -> bool;
5049}
5050unsafe extern "C" {
5051 #[doc = "Add a certificate to the list of allowed peer certificates\n\n # Arguments\n\n* `filename` - filename of the certificate file\n # Returns\n\ntrue, when the certificate was set, false otherwise (e.g. unknown certificate format)"]
5052 pub fn TLSConfiguration_addAllowedCertificateFromFile(
5053 self_: TLSConfiguration,
5054 filename: *const ::std::os::raw::c_char,
5055 ) -> bool;
5056}
5057unsafe extern "C" {
5058 #[doc = "Add a CA certificate used to validate peer certificates from a byte buffer\n\n # Arguments\n\n* `certificate` - the certificate buffer\n * `certLen` - the length of the certificate buffer\n # Returns\n\ntrue, when the certificate was set, false otherwise (e.g. unknown certificate format)"]
5059 pub fn TLSConfiguration_addCACertificate(
5060 self_: TLSConfiguration,
5061 certificate: *mut u8,
5062 certLen: ::std::os::raw::c_int,
5063 ) -> bool;
5064}
5065unsafe extern "C" {
5066 #[doc = "Add a CA certificate used to validate peer certificates from a file\n\n # Arguments\n\n* `filename` - filename of the certificate file\n # Returns\n\ntrue, when the certificate was set, false otherwise (e.g. unknown certificate format)"]
5067 pub fn TLSConfiguration_addCACertificateFromFile(
5068 self_: TLSConfiguration,
5069 filename: *const ::std::os::raw::c_char,
5070 ) -> bool;
5071}
5072unsafe extern "C" {
5073 #[doc = "Set the renegotiation timeout.\n\n After the timeout elapsed a TLS session renegotiation has to occur.\n\n # Arguments\n\n* `timeInMs` - session renegotiation timeout in milliseconds"]
5074 pub fn TLSConfiguration_setRenegotiationTime(
5075 self_: TLSConfiguration,
5076 timeInMs: ::std::os::raw::c_int,
5077 );
5078}
5079unsafe extern "C" {
5080 #[doc = "Set minimal allowed TLS version to use"]
5081 pub fn TLSConfiguration_setMinTlsVersion(self_: TLSConfiguration, version: TLSConfigVersion);
5082}
5083unsafe extern "C" {
5084 #[doc = "Set maximal allowed TLS version to use"]
5085 pub fn TLSConfiguration_setMaxTlsVersion(self_: TLSConfiguration, version: TLSConfigVersion);
5086}
5087unsafe extern "C" {
5088 #[doc = "Add a CRL (certificate revocation list) from buffer\n\n # Arguments\n\n* `crl` - the buffer containing the CRL\n * `crlLen` - the length of the CRL buffer\n # Returns\n\ntrue, when the CRL was imported, false otherwise (e.g. unknown format)"]
5089 pub fn TLSConfiguration_addCRL(
5090 self_: TLSConfiguration,
5091 crl: *mut u8,
5092 crlLen: ::std::os::raw::c_int,
5093 ) -> bool;
5094}
5095unsafe extern "C" {
5096 #[doc = "Add a CRL (certificate revocation list) from a file\n\n # Arguments\n\n* `filename` - filename of the CRL file\n # Returns\n\ntrue, when the CRL was imported, false otherwise (e.g. unknown format)"]
5097 pub fn TLSConfiguration_addCRLFromFile(
5098 self_: TLSConfiguration,
5099 filename: *const ::std::os::raw::c_char,
5100 ) -> bool;
5101}
5102unsafe extern "C" {
5103 #[doc = "Removes any CRL (certificate revocation list) currently in use"]
5104 pub fn TLSConfiguration_resetCRL(self_: TLSConfiguration);
5105}
5106unsafe extern "C" {
5107 #[doc = "Add an allowed ciphersuite to the list of allowed ciphersuites\n\n # Arguments\n\n* `self` - the TLS configuration instance\n * `ciphersuite` - the ciphersuite to add (IANA cipher suite ID)"]
5108 pub fn TLSConfiguration_addCipherSuite(
5109 self_: TLSConfiguration,
5110 ciphersuite: ::std::os::raw::c_int,
5111 );
5112}
5113unsafe extern "C" {
5114 #[doc = "Clear the list of allowed ciphersuites\n\n # Arguments\n\n* `self` - the TLS configuration instance"]
5115 pub fn TLSConfiguration_clearCipherSuiteList(self_: TLSConfiguration);
5116}
5117unsafe extern "C" {
5118 #[doc = "Release all resource allocated by the TLSConfiguration instance\n\n NOTE: Do not use the object after calling this function!"]
5119 pub fn TLSConfiguration_destroy(self_: TLSConfiguration);
5120}
5121#[doc = "lib60870 version information"]
5122#[repr(C)]
5123#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
5124pub struct Lib60870VersionInfo {
5125 pub major: ::std::os::raw::c_int,
5126 pub minor: ::std::os::raw::c_int,
5127 pub patch: ::std::os::raw::c_int,
5128}
5129#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5130const _: () = {
5131 ["Size of Lib60870VersionInfo"][::std::mem::size_of::<Lib60870VersionInfo>() - 12usize];
5132 ["Alignment of Lib60870VersionInfo"][::std::mem::align_of::<Lib60870VersionInfo>() - 4usize];
5133 ["Offset of field: Lib60870VersionInfo::major"]
5134 [::std::mem::offset_of!(Lib60870VersionInfo, major) - 0usize];
5135 ["Offset of field: Lib60870VersionInfo::minor"]
5136 [::std::mem::offset_of!(Lib60870VersionInfo, minor) - 4usize];
5137 ["Offset of field: Lib60870VersionInfo::patch"]
5138 [::std::mem::offset_of!(Lib60870VersionInfo, patch) - 8usize];
5139};
5140pub const IEC60870_LinkLayerMode_IEC60870_LINK_LAYER_BALANCED: IEC60870_LinkLayerMode = 0;
5141pub const IEC60870_LinkLayerMode_IEC60870_LINK_LAYER_UNBALANCED: IEC60870_LinkLayerMode = 1;
5142#[doc = "link layer mode for serial link layers"]
5143pub type IEC60870_LinkLayerMode = ::std::os::raw::c_uint;
5144#[doc = "The link layer is idle, there is no communication"]
5145pub const LinkLayerState_LL_STATE_IDLE: LinkLayerState = 0;
5146#[doc = "An error has occurred at the link layer, the link may not be usable"]
5147pub const LinkLayerState_LL_STATE_ERROR: LinkLayerState = 1;
5148#[doc = "The link layer is busy and therefore no usable"]
5149pub const LinkLayerState_LL_STATE_BUSY: LinkLayerState = 2;
5150#[doc = "The link is available for user data transmission and reception"]
5151pub const LinkLayerState_LL_STATE_AVAILABLE: LinkLayerState = 3;
5152#[doc = "State of the link layer"]
5153pub type LinkLayerState = ::std::os::raw::c_uint;
5154#[doc = "Callback handler for link layer state changes\n\n # Arguments\n\n* `parameter` - user provided parameter that is passed to the handler\n * `address` - slave address used by the link layer state machine (only relevant for unbalanced master)\n * `newState` - the new link layer state"]
5155pub type IEC60870_LinkLayerStateChangedHandler = ::std::option::Option<
5156 unsafe extern "C" fn(
5157 parameter: *mut ::std::os::raw::c_void,
5158 address: ::std::os::raw::c_int,
5159 newState: LinkLayerState,
5160 ),
5161>;
5162#[doc = "Callback handler for sent and received messages\n\n This callback handler provides access to the raw message buffer of received or sent\n messages. It can be used for debugging purposes. Usually it is not used nor required\n for applications.\n\n # Arguments\n\n* `parameter` - user provided parameter\n * `msg` - the message buffer\n * `msgSize` - size of the message\n * `sent` - indicates if the message was sent or received"]
5163pub type IEC60870_RawMessageHandler = ::std::option::Option<
5164 unsafe extern "C" fn(
5165 parameter: *mut ::std::os::raw::c_void,
5166 msg: *mut u8,
5167 msgSize: ::std::os::raw::c_int,
5168 sent: bool,
5169 ),
5170>;
5171#[doc = "Parameters for the CS101/CS104 application layer"]
5172pub type CS101_AppLayerParameters = *mut sCS101_AppLayerParameters;
5173#[repr(C)]
5174#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
5175pub struct sCS101_AppLayerParameters {
5176 #[doc = "size of the type id (default = 1 - don't change)"]
5177 pub sizeOfTypeId: ::std::os::raw::c_int,
5178 #[doc = "don't change"]
5179 pub sizeOfVSQ: ::std::os::raw::c_int,
5180 #[doc = "size of COT (1/2 - default = 2 -> COT includes OA)"]
5181 pub sizeOfCOT: ::std::os::raw::c_int,
5182 #[doc = "originator address (OA) to use (0-255)"]
5183 pub originatorAddress: ::std::os::raw::c_int,
5184 #[doc = "size of common address (CA) of ASDU (1/2 - default = 2)"]
5185 pub sizeOfCA: ::std::os::raw::c_int,
5186 #[doc = "size of information object address (IOA) (1/2/3 - default = 3)"]
5187 pub sizeOfIOA: ::std::os::raw::c_int,
5188 #[doc = "maximum size of the ASDU that is generated - the maximum maximum value is 249 for IEC 104 and 254 for IEC 101"]
5189 pub maxSizeOfASDU: ::std::os::raw::c_int,
5190}
5191#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5192const _: () = {
5193 ["Size of sCS101_AppLayerParameters"]
5194 [::std::mem::size_of::<sCS101_AppLayerParameters>() - 28usize];
5195 ["Alignment of sCS101_AppLayerParameters"]
5196 [::std::mem::align_of::<sCS101_AppLayerParameters>() - 4usize];
5197 ["Offset of field: sCS101_AppLayerParameters::sizeOfTypeId"]
5198 [::std::mem::offset_of!(sCS101_AppLayerParameters, sizeOfTypeId) - 0usize];
5199 ["Offset of field: sCS101_AppLayerParameters::sizeOfVSQ"]
5200 [::std::mem::offset_of!(sCS101_AppLayerParameters, sizeOfVSQ) - 4usize];
5201 ["Offset of field: sCS101_AppLayerParameters::sizeOfCOT"]
5202 [::std::mem::offset_of!(sCS101_AppLayerParameters, sizeOfCOT) - 8usize];
5203 ["Offset of field: sCS101_AppLayerParameters::originatorAddress"]
5204 [::std::mem::offset_of!(sCS101_AppLayerParameters, originatorAddress) - 12usize];
5205 ["Offset of field: sCS101_AppLayerParameters::sizeOfCA"]
5206 [::std::mem::offset_of!(sCS101_AppLayerParameters, sizeOfCA) - 16usize];
5207 ["Offset of field: sCS101_AppLayerParameters::sizeOfIOA"]
5208 [::std::mem::offset_of!(sCS101_AppLayerParameters, sizeOfIOA) - 20usize];
5209 ["Offset of field: sCS101_AppLayerParameters::maxSizeOfASDU"]
5210 [::std::mem::offset_of!(sCS101_AppLayerParameters, maxSizeOfASDU) - 24usize];
5211};
5212pub const IEC60870_5_TypeID_M_SP_NA_1: IEC60870_5_TypeID = 1;
5213pub const IEC60870_5_TypeID_M_SP_TA_1: IEC60870_5_TypeID = 2;
5214pub const IEC60870_5_TypeID_M_DP_NA_1: IEC60870_5_TypeID = 3;
5215pub const IEC60870_5_TypeID_M_DP_TA_1: IEC60870_5_TypeID = 4;
5216pub const IEC60870_5_TypeID_M_ST_NA_1: IEC60870_5_TypeID = 5;
5217pub const IEC60870_5_TypeID_M_ST_TA_1: IEC60870_5_TypeID = 6;
5218pub const IEC60870_5_TypeID_M_BO_NA_1: IEC60870_5_TypeID = 7;
5219pub const IEC60870_5_TypeID_M_BO_TA_1: IEC60870_5_TypeID = 8;
5220pub const IEC60870_5_TypeID_M_ME_NA_1: IEC60870_5_TypeID = 9;
5221pub const IEC60870_5_TypeID_M_ME_TA_1: IEC60870_5_TypeID = 10;
5222pub const IEC60870_5_TypeID_M_ME_NB_1: IEC60870_5_TypeID = 11;
5223pub const IEC60870_5_TypeID_M_ME_TB_1: IEC60870_5_TypeID = 12;
5224pub const IEC60870_5_TypeID_M_ME_NC_1: IEC60870_5_TypeID = 13;
5225pub const IEC60870_5_TypeID_M_ME_TC_1: IEC60870_5_TypeID = 14;
5226pub const IEC60870_5_TypeID_M_IT_NA_1: IEC60870_5_TypeID = 15;
5227pub const IEC60870_5_TypeID_M_IT_TA_1: IEC60870_5_TypeID = 16;
5228pub const IEC60870_5_TypeID_M_EP_TA_1: IEC60870_5_TypeID = 17;
5229pub const IEC60870_5_TypeID_M_EP_TB_1: IEC60870_5_TypeID = 18;
5230pub const IEC60870_5_TypeID_M_EP_TC_1: IEC60870_5_TypeID = 19;
5231pub const IEC60870_5_TypeID_M_PS_NA_1: IEC60870_5_TypeID = 20;
5232pub const IEC60870_5_TypeID_M_ME_ND_1: IEC60870_5_TypeID = 21;
5233pub const IEC60870_5_TypeID_M_SP_TB_1: IEC60870_5_TypeID = 30;
5234pub const IEC60870_5_TypeID_M_DP_TB_1: IEC60870_5_TypeID = 31;
5235pub const IEC60870_5_TypeID_M_ST_TB_1: IEC60870_5_TypeID = 32;
5236pub const IEC60870_5_TypeID_M_BO_TB_1: IEC60870_5_TypeID = 33;
5237pub const IEC60870_5_TypeID_M_ME_TD_1: IEC60870_5_TypeID = 34;
5238pub const IEC60870_5_TypeID_M_ME_TE_1: IEC60870_5_TypeID = 35;
5239pub const IEC60870_5_TypeID_M_ME_TF_1: IEC60870_5_TypeID = 36;
5240pub const IEC60870_5_TypeID_M_IT_TB_1: IEC60870_5_TypeID = 37;
5241pub const IEC60870_5_TypeID_M_EP_TD_1: IEC60870_5_TypeID = 38;
5242pub const IEC60870_5_TypeID_M_EP_TE_1: IEC60870_5_TypeID = 39;
5243pub const IEC60870_5_TypeID_M_EP_TF_1: IEC60870_5_TypeID = 40;
5244pub const IEC60870_5_TypeID_S_IT_TC_1: IEC60870_5_TypeID = 41;
5245pub const IEC60870_5_TypeID_C_SC_NA_1: IEC60870_5_TypeID = 45;
5246pub const IEC60870_5_TypeID_C_DC_NA_1: IEC60870_5_TypeID = 46;
5247pub const IEC60870_5_TypeID_C_RC_NA_1: IEC60870_5_TypeID = 47;
5248pub const IEC60870_5_TypeID_C_SE_NA_1: IEC60870_5_TypeID = 48;
5249pub const IEC60870_5_TypeID_C_SE_NB_1: IEC60870_5_TypeID = 49;
5250pub const IEC60870_5_TypeID_C_SE_NC_1: IEC60870_5_TypeID = 50;
5251pub const IEC60870_5_TypeID_C_BO_NA_1: IEC60870_5_TypeID = 51;
5252pub const IEC60870_5_TypeID_C_SC_TA_1: IEC60870_5_TypeID = 58;
5253pub const IEC60870_5_TypeID_C_DC_TA_1: IEC60870_5_TypeID = 59;
5254pub const IEC60870_5_TypeID_C_RC_TA_1: IEC60870_5_TypeID = 60;
5255pub const IEC60870_5_TypeID_C_SE_TA_1: IEC60870_5_TypeID = 61;
5256pub const IEC60870_5_TypeID_C_SE_TB_1: IEC60870_5_TypeID = 62;
5257pub const IEC60870_5_TypeID_C_SE_TC_1: IEC60870_5_TypeID = 63;
5258pub const IEC60870_5_TypeID_C_BO_TA_1: IEC60870_5_TypeID = 64;
5259pub const IEC60870_5_TypeID_M_EI_NA_1: IEC60870_5_TypeID = 70;
5260pub const IEC60870_5_TypeID_S_CH_NA_1: IEC60870_5_TypeID = 81;
5261pub const IEC60870_5_TypeID_S_RP_NA_1: IEC60870_5_TypeID = 82;
5262pub const IEC60870_5_TypeID_S_AR_NA_1: IEC60870_5_TypeID = 83;
5263pub const IEC60870_5_TypeID_S_KR_NA_1: IEC60870_5_TypeID = 84;
5264pub const IEC60870_5_TypeID_S_KS_NA_1: IEC60870_5_TypeID = 85;
5265pub const IEC60870_5_TypeID_S_KC_NA_1: IEC60870_5_TypeID = 86;
5266pub const IEC60870_5_TypeID_S_ER_NA_1: IEC60870_5_TypeID = 87;
5267pub const IEC60870_5_TypeID_S_US_NA_1: IEC60870_5_TypeID = 90;
5268pub const IEC60870_5_TypeID_S_UQ_NA_1: IEC60870_5_TypeID = 91;
5269pub const IEC60870_5_TypeID_S_UR_NA_1: IEC60870_5_TypeID = 92;
5270pub const IEC60870_5_TypeID_S_UK_NA_1: IEC60870_5_TypeID = 93;
5271pub const IEC60870_5_TypeID_S_UA_NA_1: IEC60870_5_TypeID = 94;
5272pub const IEC60870_5_TypeID_S_UC_NA_1: IEC60870_5_TypeID = 95;
5273pub const IEC60870_5_TypeID_C_IC_NA_1: IEC60870_5_TypeID = 100;
5274pub const IEC60870_5_TypeID_C_CI_NA_1: IEC60870_5_TypeID = 101;
5275pub const IEC60870_5_TypeID_C_RD_NA_1: IEC60870_5_TypeID = 102;
5276pub const IEC60870_5_TypeID_C_CS_NA_1: IEC60870_5_TypeID = 103;
5277pub const IEC60870_5_TypeID_C_TS_NA_1: IEC60870_5_TypeID = 104;
5278pub const IEC60870_5_TypeID_C_RP_NA_1: IEC60870_5_TypeID = 105;
5279pub const IEC60870_5_TypeID_C_CD_NA_1: IEC60870_5_TypeID = 106;
5280pub const IEC60870_5_TypeID_C_TS_TA_1: IEC60870_5_TypeID = 107;
5281pub const IEC60870_5_TypeID_P_ME_NA_1: IEC60870_5_TypeID = 110;
5282pub const IEC60870_5_TypeID_P_ME_NB_1: IEC60870_5_TypeID = 111;
5283pub const IEC60870_5_TypeID_P_ME_NC_1: IEC60870_5_TypeID = 112;
5284pub const IEC60870_5_TypeID_P_AC_NA_1: IEC60870_5_TypeID = 113;
5285pub const IEC60870_5_TypeID_F_FR_NA_1: IEC60870_5_TypeID = 120;
5286pub const IEC60870_5_TypeID_F_SR_NA_1: IEC60870_5_TypeID = 121;
5287pub const IEC60870_5_TypeID_F_SC_NA_1: IEC60870_5_TypeID = 122;
5288pub const IEC60870_5_TypeID_F_LS_NA_1: IEC60870_5_TypeID = 123;
5289pub const IEC60870_5_TypeID_F_AF_NA_1: IEC60870_5_TypeID = 124;
5290pub const IEC60870_5_TypeID_F_SG_NA_1: IEC60870_5_TypeID = 125;
5291pub const IEC60870_5_TypeID_F_DR_TA_1: IEC60870_5_TypeID = 126;
5292pub const IEC60870_5_TypeID_F_SC_NB_1: IEC60870_5_TypeID = 127;
5293#[doc = "Message type IDs"]
5294pub type IEC60870_5_TypeID = ::std::os::raw::c_uint;
5295#[doc = "Message type IDs"]
5296pub use self::IEC60870_5_TypeID as TypeID;
5297#[repr(C)]
5298#[derive(Debug, Copy, Clone)]
5299pub struct sInformationObject {
5300 _unused: [u8; 0],
5301}
5302pub type InformationObject = *mut sInformationObject;
5303#[repr(C)]
5304#[derive(Debug, Copy, Clone)]
5305pub struct sCS101_ASDU {
5306 _unused: [u8; 0],
5307}
5308#[doc = "Application Service Data Unit (ASDU) for the CS101/CS104 application layer"]
5309pub type CS101_ASDU = *mut sCS101_ASDU;
5310#[repr(C)]
5311#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
5312pub struct sCS101_StaticASDU {
5313 pub parameters: CS101_AppLayerParameters,
5314 pub asdu: *mut u8,
5315 pub asduHeaderLength: ::std::os::raw::c_int,
5316 pub payload: *mut u8,
5317 pub payloadSize: ::std::os::raw::c_int,
5318 pub encodedData: [u8; 256usize],
5319}
5320#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5321const _: () = {
5322 ["Size of sCS101_StaticASDU"][::std::mem::size_of::<sCS101_StaticASDU>() - 296usize];
5323 ["Alignment of sCS101_StaticASDU"][::std::mem::align_of::<sCS101_StaticASDU>() - 8usize];
5324 ["Offset of field: sCS101_StaticASDU::parameters"]
5325 [::std::mem::offset_of!(sCS101_StaticASDU, parameters) - 0usize];
5326 ["Offset of field: sCS101_StaticASDU::asdu"]
5327 [::std::mem::offset_of!(sCS101_StaticASDU, asdu) - 8usize];
5328 ["Offset of field: sCS101_StaticASDU::asduHeaderLength"]
5329 [::std::mem::offset_of!(sCS101_StaticASDU, asduHeaderLength) - 16usize];
5330 ["Offset of field: sCS101_StaticASDU::payload"]
5331 [::std::mem::offset_of!(sCS101_StaticASDU, payload) - 24usize];
5332 ["Offset of field: sCS101_StaticASDU::payloadSize"]
5333 [::std::mem::offset_of!(sCS101_StaticASDU, payloadSize) - 32usize];
5334 ["Offset of field: sCS101_StaticASDU::encodedData"]
5335 [::std::mem::offset_of!(sCS101_StaticASDU, encodedData) - 36usize];
5336};
5337impl Default for sCS101_StaticASDU {
5338 fn default() -> Self {
5339 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
5340 unsafe {
5341 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
5342 s.assume_init()
5343 }
5344 }
5345}
5346pub type CS101_StaticASDU = *mut sCS101_StaticASDU;
5347pub type CP16Time2a = *mut sCP16Time2a;
5348#[repr(C)]
5349#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
5350pub struct sCP16Time2a {
5351 pub encodedValue: [u8; 2usize],
5352}
5353#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5354const _: () = {
5355 ["Size of sCP16Time2a"][::std::mem::size_of::<sCP16Time2a>() - 2usize];
5356 ["Alignment of sCP16Time2a"][::std::mem::align_of::<sCP16Time2a>() - 1usize];
5357 ["Offset of field: sCP16Time2a::encodedValue"]
5358 [::std::mem::offset_of!(sCP16Time2a, encodedValue) - 0usize];
5359};
5360pub type CP24Time2a = *mut sCP24Time2a;
5361#[repr(C)]
5362#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
5363pub struct sCP24Time2a {
5364 pub encodedValue: [u8; 3usize],
5365}
5366#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5367const _: () = {
5368 ["Size of sCP24Time2a"][::std::mem::size_of::<sCP24Time2a>() - 3usize];
5369 ["Alignment of sCP24Time2a"][::std::mem::align_of::<sCP24Time2a>() - 1usize];
5370 ["Offset of field: sCP24Time2a::encodedValue"]
5371 [::std::mem::offset_of!(sCP24Time2a, encodedValue) - 0usize];
5372};
5373pub type CP32Time2a = *mut sCP32Time2a;
5374#[doc = "4 byte binary time"]
5375#[repr(C)]
5376#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
5377pub struct sCP32Time2a {
5378 pub encodedValue: [u8; 4usize],
5379}
5380#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5381const _: () = {
5382 ["Size of sCP32Time2a"][::std::mem::size_of::<sCP32Time2a>() - 4usize];
5383 ["Alignment of sCP32Time2a"][::std::mem::align_of::<sCP32Time2a>() - 1usize];
5384 ["Offset of field: sCP32Time2a::encodedValue"]
5385 [::std::mem::offset_of!(sCP32Time2a, encodedValue) - 0usize];
5386};
5387#[doc = "7 byte binary time"]
5388pub type CP56Time2a = *mut sCP56Time2a;
5389#[repr(C)]
5390#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
5391pub struct sCP56Time2a {
5392 pub encodedValue: [u8; 7usize],
5393}
5394#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5395const _: () = {
5396 ["Size of sCP56Time2a"][::std::mem::size_of::<sCP56Time2a>() - 7usize];
5397 ["Alignment of sCP56Time2a"][::std::mem::align_of::<sCP56Time2a>() - 1usize];
5398 ["Offset of field: sCP56Time2a::encodedValue"]
5399 [::std::mem::offset_of!(sCP56Time2a, encodedValue) - 0usize];
5400};
5401#[doc = "Base type for counter readings"]
5402pub type BinaryCounterReading = *mut sBinaryCounterReading;
5403#[repr(C)]
5404#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
5405pub struct sBinaryCounterReading {
5406 pub encodedValue: [u8; 5usize],
5407}
5408#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5409const _: () = {
5410 ["Size of sBinaryCounterReading"][::std::mem::size_of::<sBinaryCounterReading>() - 5usize];
5411 ["Alignment of sBinaryCounterReading"]
5412 [::std::mem::align_of::<sBinaryCounterReading>() - 1usize];
5413 ["Offset of field: sBinaryCounterReading::encodedValue"]
5414 [::std::mem::offset_of!(sBinaryCounterReading, encodedValue) - 0usize];
5415};
5416#[doc = "Parameters for CS104 connections - APCI (application protocol control information)"]
5417pub type CS104_APCIParameters = *mut sCS104_APCIParameters;
5418#[repr(C)]
5419#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
5420pub struct sCS104_APCIParameters {
5421 pub k: ::std::os::raw::c_int,
5422 pub w: ::std::os::raw::c_int,
5423 pub t0: ::std::os::raw::c_int,
5424 pub t1: ::std::os::raw::c_int,
5425 pub t2: ::std::os::raw::c_int,
5426 pub t3: ::std::os::raw::c_int,
5427}
5428#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5429const _: () = {
5430 ["Size of sCS104_APCIParameters"][::std::mem::size_of::<sCS104_APCIParameters>() - 24usize];
5431 ["Alignment of sCS104_APCIParameters"]
5432 [::std::mem::align_of::<sCS104_APCIParameters>() - 4usize];
5433 ["Offset of field: sCS104_APCIParameters::k"]
5434 [::std::mem::offset_of!(sCS104_APCIParameters, k) - 0usize];
5435 ["Offset of field: sCS104_APCIParameters::w"]
5436 [::std::mem::offset_of!(sCS104_APCIParameters, w) - 4usize];
5437 ["Offset of field: sCS104_APCIParameters::t0"]
5438 [::std::mem::offset_of!(sCS104_APCIParameters, t0) - 8usize];
5439 ["Offset of field: sCS104_APCIParameters::t1"]
5440 [::std::mem::offset_of!(sCS104_APCIParameters, t1) - 12usize];
5441 ["Offset of field: sCS104_APCIParameters::t2"]
5442 [::std::mem::offset_of!(sCS104_APCIParameters, t2) - 16usize];
5443 ["Offset of field: sCS104_APCIParameters::t3"]
5444 [::std::mem::offset_of!(sCS104_APCIParameters, t3) - 20usize];
5445};
5446unsafe extern "C" {
5447 #[doc = "COMMON Common API functions\n\n # "]
5448 pub fn TypeID_toString(self_: TypeID) -> *const ::std::os::raw::c_char;
5449}
5450pub type QualityDescriptor = u8;
5451#[doc = "QDP - Quality descriptor for events of protection equipment according to IEC 60870-5-101:2003 7.2.6.4"]
5452pub type QualityDescriptorP = u8;
5453#[doc = "SPE - Start events of protection equipment according to IEC 60870-5-101:2003 7.2.6.11"]
5454pub type StartEvent = u8;
5455#[doc = "Output circuit information (OCI) of protection equipment according to IEC 60870-5-101:2003 7.2.6.12"]
5456pub type OutputCircuitInfo = u8;
5457#[doc = "Qualifier of parameter of measured values (QPM) according to IEC 60870-5-101:2003 7.2.6.24\n\n Possible values:\n 0 = not used\n 1 = threshold value\n 2 = smoothing factor (filter time constant)\n 3 = low limit for transmission of measured values\n 4 = high limit for transmission of measured values\n 5..31 = reserved for standard definitions of CS101 (compatible range)\n 32..63 = reserved for special use (private range)"]
5458pub type QualifierOfParameterMV = u8;
5459#[doc = "Cause of Initialization (COI) according to IEC 60870-5-101:2003 7.2.6.21"]
5460pub type CauseOfInitialization = u8;
5461#[doc = "Qualifier Of Command (QOC) according to IEC 60870-5-101:2003 7.2.6.26"]
5462pub type QualifierOfCommand = u8;
5463#[doc = "Select And Call Qualifier (SCQ) according to IEC 60870-5-101:2003 7.2.6.30"]
5464pub type SelectAndCallQualifier = u8;
5465#[doc = "Qualifier of interrogation (QUI) according to IEC 60870-5-101:2003 7.2.6.22"]
5466pub type QualifierOfInterrogation = u8;
5467#[doc = "QCC (Qualifier of counter interrogation command) according to IEC 60870-5-101:2003 7.2.6.23\n\n The QCC is composed by the RQT(request) and the FRZ(Freeze) part\n\n QCC = RQT + FRZ\n\n E.g.\n\n to read the the values from counter group one use:\n\n QCC = IEC60870_QCC_RQT_GROUP_1 + IEC60870_QCC_FRZ_READ\n\n to reset all counters use:\n\n QCC = IEC60870_QCC_RQT_GENERAL + IEC60870_QCC_FRZ_COUNTER_RESET\n"]
5468pub type QualifierOfCIC = u8;
5469#[doc = "QRP (Qualifier of reset process command) according to IEC 60870-5-101:2003 7.2.6.27"]
5470pub type QualifierOfRPC = u8;
5471#[doc = "Qualifier of parameter activation (QPA) according to IEC 60870-5-101:2003 7.2.6.25"]
5472pub type QualifierOfParameterActivation = u8;
5473pub type SetpointCommandQualifier = u8;
5474pub const DoublePointValue_IEC60870_DOUBLE_POINT_INTERMEDIATE: DoublePointValue = 0;
5475pub const DoublePointValue_IEC60870_DOUBLE_POINT_OFF: DoublePointValue = 1;
5476pub const DoublePointValue_IEC60870_DOUBLE_POINT_ON: DoublePointValue = 2;
5477pub const DoublePointValue_IEC60870_DOUBLE_POINT_INDETERMINATE: DoublePointValue = 3;
5478pub type DoublePointValue = ::std::os::raw::c_uint;
5479pub const EventState_IEC60870_EVENTSTATE_INDETERMINATE_0: EventState = 0;
5480pub const EventState_IEC60870_EVENTSTATE_OFF: EventState = 1;
5481pub const EventState_IEC60870_EVENTSTATE_ON: EventState = 2;
5482pub const EventState_IEC60870_EVENTSTATE_INDETERMINATE_3: EventState = 3;
5483pub type EventState = ::std::os::raw::c_uint;
5484pub const StepCommandValue_IEC60870_STEP_INVALID_0: StepCommandValue = 0;
5485pub const StepCommandValue_IEC60870_STEP_LOWER: StepCommandValue = 1;
5486pub const StepCommandValue_IEC60870_STEP_HIGHER: StepCommandValue = 2;
5487pub const StepCommandValue_IEC60870_STEP_INVALID_3: StepCommandValue = 3;
5488#[doc = "Regulating step command state (RCS) according to IEC 60870-5-101:2003 7.2.6.17"]
5489pub type StepCommandValue = ::std::os::raw::c_uint;
5490pub type tSingleEvent = u8;
5491pub type SingleEvent = *mut tSingleEvent;
5492unsafe extern "C" {
5493 pub fn SingleEvent_setEventState(self_: SingleEvent, eventState: EventState);
5494}
5495unsafe extern "C" {
5496 pub fn SingleEvent_getEventState(self_: SingleEvent) -> EventState;
5497}
5498unsafe extern "C" {
5499 pub fn SingleEvent_setQDP(self_: SingleEvent, qdp: QualityDescriptorP);
5500}
5501unsafe extern "C" {
5502 pub fn SingleEvent_getQDP(self_: SingleEvent) -> QualityDescriptorP;
5503}
5504pub type tStatusAndStatusChangeDetection = sStatusAndStatusChangeDetection;
5505pub type StatusAndStatusChangeDetection = *mut tStatusAndStatusChangeDetection;
5506#[repr(C)]
5507#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
5508pub struct sStatusAndStatusChangeDetection {
5509 pub encodedValue: [u8; 4usize],
5510}
5511#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5512const _: () = {
5513 ["Size of sStatusAndStatusChangeDetection"]
5514 [::std::mem::size_of::<sStatusAndStatusChangeDetection>() - 4usize];
5515 ["Alignment of sStatusAndStatusChangeDetection"]
5516 [::std::mem::align_of::<sStatusAndStatusChangeDetection>() - 1usize];
5517 ["Offset of field: sStatusAndStatusChangeDetection::encodedValue"]
5518 [::std::mem::offset_of!(sStatusAndStatusChangeDetection, encodedValue) - 0usize];
5519};
5520unsafe extern "C" {
5521 pub fn StatusAndStatusChangeDetection_getSTn(self_: StatusAndStatusChangeDetection) -> u16;
5522}
5523unsafe extern "C" {
5524 pub fn StatusAndStatusChangeDetection_getCDn(self_: StatusAndStatusChangeDetection) -> u16;
5525}
5526unsafe extern "C" {
5527 pub fn StatusAndStatusChangeDetection_setSTn(self_: StatusAndStatusChangeDetection, value: u16);
5528}
5529unsafe extern "C" {
5530 pub fn StatusAndStatusChangeDetection_getST(
5531 self_: StatusAndStatusChangeDetection,
5532 index: ::std::os::raw::c_int,
5533 ) -> bool;
5534}
5535unsafe extern "C" {
5536 pub fn StatusAndStatusChangeDetection_getCD(
5537 self_: StatusAndStatusChangeDetection,
5538 index: ::std::os::raw::c_int,
5539 ) -> bool;
5540}
5541unsafe extern "C" {
5542 pub fn NormalizedValue_fromScaled(scaledValue: ::std::os::raw::c_int) -> f32;
5543}
5544unsafe extern "C" {
5545 pub fn NormalizedValue_toScaled(normalizedValue: f32) -> ::std::os::raw::c_int;
5546}
5547unsafe extern "C" {
5548 #[doc = "return the size in memory of a generic InformationObject instance\n\n This function can be used to determine the required memory for malloc"]
5549 pub fn InformationObject_getMaxSizeInMemory() -> ::std::os::raw::c_int;
5550}
5551unsafe extern "C" {
5552 pub fn InformationObject_getObjectAddress(self_: InformationObject) -> ::std::os::raw::c_int;
5553}
5554unsafe extern "C" {
5555 pub fn InformationObject_getType(self_: InformationObject) -> TypeID;
5556}
5557unsafe extern "C" {
5558 #[doc = "Destroy object - free all related resources\n\n This is a virtual function that calls the destructor from the implementation class\n\n the InformationObject instance"]
5559 pub fn InformationObject_destroy(self_: InformationObject);
5560}
5561#[repr(C)]
5562#[derive(Debug, Copy, Clone)]
5563pub struct sSinglePointInformation {
5564 _unused: [u8; 0],
5565}
5566#[doc = "SinglePointInformation (:InformationObject)"]
5567pub type SinglePointInformation = *mut sSinglePointInformation;
5568unsafe extern "C" {
5569 pub fn SinglePointInformation_create(
5570 self_: SinglePointInformation,
5571 ioa: ::std::os::raw::c_int,
5572 value: bool,
5573 quality: QualityDescriptor,
5574 ) -> SinglePointInformation;
5575}
5576unsafe extern "C" {
5577 pub fn SinglePointInformation_getValue(self_: SinglePointInformation) -> bool;
5578}
5579unsafe extern "C" {
5580 pub fn SinglePointInformation_getQuality(self_: SinglePointInformation) -> QualityDescriptor;
5581}
5582unsafe extern "C" {
5583 pub fn SinglePointInformation_destroy(self_: SinglePointInformation);
5584}
5585#[repr(C)]
5586#[derive(Debug, Copy, Clone)]
5587pub struct sSinglePointWithCP24Time2a {
5588 _unused: [u8; 0],
5589}
5590#[doc = "SinglePointWithCP24Time2a (:SinglePointInformation)"]
5591pub type SinglePointWithCP24Time2a = *mut sSinglePointWithCP24Time2a;
5592unsafe extern "C" {
5593 pub fn SinglePointWithCP24Time2a_create(
5594 self_: SinglePointWithCP24Time2a,
5595 ioa: ::std::os::raw::c_int,
5596 value: bool,
5597 quality: QualityDescriptor,
5598 timestamp: CP24Time2a,
5599 ) -> SinglePointWithCP24Time2a;
5600}
5601unsafe extern "C" {
5602 pub fn SinglePointWithCP24Time2a_destroy(self_: SinglePointWithCP24Time2a);
5603}
5604unsafe extern "C" {
5605 pub fn SinglePointWithCP24Time2a_getTimestamp(self_: SinglePointWithCP24Time2a) -> CP24Time2a;
5606}
5607#[repr(C)]
5608#[derive(Debug, Copy, Clone)]
5609pub struct sSinglePointWithCP56Time2a {
5610 _unused: [u8; 0],
5611}
5612#[doc = "SinglePointWithCP56Time2a (:SinglePointInformation)"]
5613pub type SinglePointWithCP56Time2a = *mut sSinglePointWithCP56Time2a;
5614unsafe extern "C" {
5615 pub fn SinglePointWithCP56Time2a_create(
5616 self_: SinglePointWithCP56Time2a,
5617 ioa: ::std::os::raw::c_int,
5618 value: bool,
5619 quality: QualityDescriptor,
5620 timestamp: CP56Time2a,
5621 ) -> SinglePointWithCP56Time2a;
5622}
5623unsafe extern "C" {
5624 pub fn SinglePointWithCP56Time2a_destroy(self_: SinglePointWithCP56Time2a);
5625}
5626unsafe extern "C" {
5627 pub fn SinglePointWithCP56Time2a_getTimestamp(self_: SinglePointWithCP56Time2a) -> CP56Time2a;
5628}
5629#[repr(C)]
5630#[derive(Debug, Copy, Clone)]
5631pub struct sDoublePointInformation {
5632 _unused: [u8; 0],
5633}
5634#[doc = "DoublePointInformation (:InformationObject)"]
5635pub type DoublePointInformation = *mut sDoublePointInformation;
5636unsafe extern "C" {
5637 pub fn DoublePointInformation_destroy(self_: DoublePointInformation);
5638}
5639unsafe extern "C" {
5640 pub fn DoublePointInformation_create(
5641 self_: DoublePointInformation,
5642 ioa: ::std::os::raw::c_int,
5643 value: DoublePointValue,
5644 quality: QualityDescriptor,
5645 ) -> DoublePointInformation;
5646}
5647unsafe extern "C" {
5648 pub fn DoublePointInformation_getValue(self_: DoublePointInformation) -> DoublePointValue;
5649}
5650unsafe extern "C" {
5651 pub fn DoublePointInformation_getQuality(self_: DoublePointInformation) -> QualityDescriptor;
5652}
5653#[repr(C)]
5654#[derive(Debug, Copy, Clone)]
5655pub struct sDoublePointWithCP24Time2a {
5656 _unused: [u8; 0],
5657}
5658#[doc = "DoublePointWithCP24Time2a (:DoublePointInformation)"]
5659pub type DoublePointWithCP24Time2a = *mut sDoublePointWithCP24Time2a;
5660unsafe extern "C" {
5661 pub fn DoublePointWithCP24Time2a_destroy(self_: DoublePointWithCP24Time2a);
5662}
5663unsafe extern "C" {
5664 pub fn DoublePointWithCP24Time2a_create(
5665 self_: DoublePointWithCP24Time2a,
5666 ioa: ::std::os::raw::c_int,
5667 value: DoublePointValue,
5668 quality: QualityDescriptor,
5669 timestamp: CP24Time2a,
5670 ) -> DoublePointWithCP24Time2a;
5671}
5672unsafe extern "C" {
5673 pub fn DoublePointWithCP24Time2a_getTimestamp(self_: DoublePointWithCP24Time2a) -> CP24Time2a;
5674}
5675#[repr(C)]
5676#[derive(Debug, Copy, Clone)]
5677pub struct sDoublePointWithCP56Time2a {
5678 _unused: [u8; 0],
5679}
5680#[doc = "DoublePointWithCP56Time2a (:DoublePointInformation)"]
5681pub type DoublePointWithCP56Time2a = *mut sDoublePointWithCP56Time2a;
5682unsafe extern "C" {
5683 pub fn DoublePointWithCP56Time2a_create(
5684 self_: DoublePointWithCP56Time2a,
5685 ioa: ::std::os::raw::c_int,
5686 value: DoublePointValue,
5687 quality: QualityDescriptor,
5688 timestamp: CP56Time2a,
5689 ) -> DoublePointWithCP56Time2a;
5690}
5691unsafe extern "C" {
5692 pub fn DoublePointWithCP56Time2a_destroy(self_: DoublePointWithCP56Time2a);
5693}
5694unsafe extern "C" {
5695 pub fn DoublePointWithCP56Time2a_getTimestamp(self_: DoublePointWithCP56Time2a) -> CP56Time2a;
5696}
5697#[repr(C)]
5698#[derive(Debug, Copy, Clone)]
5699pub struct sStepPositionInformation {
5700 _unused: [u8; 0],
5701}
5702#[doc = "StepPositionInformation (:InformationObject)"]
5703pub type StepPositionInformation = *mut sStepPositionInformation;
5704unsafe extern "C" {
5705 #[doc = "Create a new instance of StepPositionInformation information object\n\n # Arguments\n\n* `self` - Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated\n * `ioa` - Information object address\n * `value` - Step position (range -64 ... +63)\n * `isTransient` - true if position is transient, false otherwise\n * `quality` - quality descriptor (according to IEC 60870-5-101:2003 7.2.6.3)\n\n # Returns\n\nReference to the new instance"]
5706 pub fn StepPositionInformation_create(
5707 self_: StepPositionInformation,
5708 ioa: ::std::os::raw::c_int,
5709 value: ::std::os::raw::c_int,
5710 isTransient: bool,
5711 quality: QualityDescriptor,
5712 ) -> StepPositionInformation;
5713}
5714unsafe extern "C" {
5715 pub fn StepPositionInformation_destroy(self_: StepPositionInformation);
5716}
5717unsafe extern "C" {
5718 pub fn StepPositionInformation_getObjectAddress(
5719 self_: StepPositionInformation,
5720 ) -> ::std::os::raw::c_int;
5721}
5722unsafe extern "C" {
5723 #[doc = "Step position (range -64 ... +63)"]
5724 pub fn StepPositionInformation_getValue(
5725 self_: StepPositionInformation,
5726 ) -> ::std::os::raw::c_int;
5727}
5728unsafe extern "C" {
5729 pub fn StepPositionInformation_isTransient(self_: StepPositionInformation) -> bool;
5730}
5731unsafe extern "C" {
5732 pub fn StepPositionInformation_getQuality(self_: StepPositionInformation) -> QualityDescriptor;
5733}
5734#[repr(C)]
5735#[derive(Debug, Copy, Clone)]
5736pub struct sStepPositionWithCP24Time2a {
5737 _unused: [u8; 0],
5738}
5739#[doc = "StepPositionWithCP24Time2a (:StepPositionInformation)"]
5740pub type StepPositionWithCP24Time2a = *mut sStepPositionWithCP24Time2a;
5741unsafe extern "C" {
5742 pub fn StepPositionWithCP24Time2a_destroy(self_: StepPositionWithCP24Time2a);
5743}
5744unsafe extern "C" {
5745 pub fn StepPositionWithCP24Time2a_create(
5746 self_: StepPositionWithCP24Time2a,
5747 ioa: ::std::os::raw::c_int,
5748 value: ::std::os::raw::c_int,
5749 isTransient: bool,
5750 quality: QualityDescriptor,
5751 timestamp: CP24Time2a,
5752 ) -> StepPositionWithCP24Time2a;
5753}
5754unsafe extern "C" {
5755 pub fn StepPositionWithCP24Time2a_getTimestamp(self_: StepPositionWithCP24Time2a)
5756 -> CP24Time2a;
5757}
5758#[repr(C)]
5759#[derive(Debug, Copy, Clone)]
5760pub struct sStepPositionWithCP56Time2a {
5761 _unused: [u8; 0],
5762}
5763#[doc = "StepPositionWithCP56Time2a (:StepPositionInformation)"]
5764pub type StepPositionWithCP56Time2a = *mut sStepPositionWithCP56Time2a;
5765unsafe extern "C" {
5766 pub fn StepPositionWithCP56Time2a_destroy(self_: StepPositionWithCP56Time2a);
5767}
5768unsafe extern "C" {
5769 pub fn StepPositionWithCP56Time2a_create(
5770 self_: StepPositionWithCP56Time2a,
5771 ioa: ::std::os::raw::c_int,
5772 value: ::std::os::raw::c_int,
5773 isTransient: bool,
5774 quality: QualityDescriptor,
5775 timestamp: CP56Time2a,
5776 ) -> StepPositionWithCP56Time2a;
5777}
5778unsafe extern "C" {
5779 pub fn StepPositionWithCP56Time2a_getTimestamp(self_: StepPositionWithCP56Time2a)
5780 -> CP56Time2a;
5781}
5782#[repr(C)]
5783#[derive(Debug, Copy, Clone)]
5784pub struct sBitString32 {
5785 _unused: [u8; 0],
5786}
5787#[doc = "BitString32 (:InformationObject)"]
5788pub type BitString32 = *mut sBitString32;
5789unsafe extern "C" {
5790 pub fn BitString32_destroy(self_: BitString32);
5791}
5792unsafe extern "C" {
5793 pub fn BitString32_create(
5794 self_: BitString32,
5795 ioa: ::std::os::raw::c_int,
5796 value: u32,
5797 ) -> BitString32;
5798}
5799unsafe extern "C" {
5800 pub fn BitString32_createEx(
5801 self_: BitString32,
5802 ioa: ::std::os::raw::c_int,
5803 value: u32,
5804 quality: QualityDescriptor,
5805 ) -> BitString32;
5806}
5807unsafe extern "C" {
5808 pub fn BitString32_getValue(self_: BitString32) -> u32;
5809}
5810unsafe extern "C" {
5811 pub fn BitString32_getQuality(self_: BitString32) -> QualityDescriptor;
5812}
5813#[repr(C)]
5814#[derive(Debug, Copy, Clone)]
5815pub struct sBitstring32WithCP24Time2a {
5816 _unused: [u8; 0],
5817}
5818#[doc = "Bitstring32WithCP24Time2a (:BitString32)"]
5819pub type Bitstring32WithCP24Time2a = *mut sBitstring32WithCP24Time2a;
5820unsafe extern "C" {
5821 pub fn Bitstring32WithCP24Time2a_destroy(self_: Bitstring32WithCP24Time2a);
5822}
5823unsafe extern "C" {
5824 pub fn Bitstring32WithCP24Time2a_create(
5825 self_: Bitstring32WithCP24Time2a,
5826 ioa: ::std::os::raw::c_int,
5827 value: u32,
5828 timestamp: CP24Time2a,
5829 ) -> Bitstring32WithCP24Time2a;
5830}
5831unsafe extern "C" {
5832 pub fn Bitstring32WithCP24Time2a_createEx(
5833 self_: Bitstring32WithCP24Time2a,
5834 ioa: ::std::os::raw::c_int,
5835 value: u32,
5836 quality: QualityDescriptor,
5837 timestamp: CP24Time2a,
5838 ) -> Bitstring32WithCP24Time2a;
5839}
5840unsafe extern "C" {
5841 pub fn Bitstring32WithCP24Time2a_getTimestamp(self_: Bitstring32WithCP24Time2a) -> CP24Time2a;
5842}
5843#[repr(C)]
5844#[derive(Debug, Copy, Clone)]
5845pub struct sBitstring32WithCP56Time2a {
5846 _unused: [u8; 0],
5847}
5848#[doc = "Bitstring32WithCP56Time2a (:BitString32)"]
5849pub type Bitstring32WithCP56Time2a = *mut sBitstring32WithCP56Time2a;
5850unsafe extern "C" {
5851 pub fn Bitstring32WithCP56Time2a_destroy(self_: Bitstring32WithCP56Time2a);
5852}
5853unsafe extern "C" {
5854 pub fn Bitstring32WithCP56Time2a_create(
5855 self_: Bitstring32WithCP56Time2a,
5856 ioa: ::std::os::raw::c_int,
5857 value: u32,
5858 timestamp: CP56Time2a,
5859 ) -> Bitstring32WithCP56Time2a;
5860}
5861unsafe extern "C" {
5862 pub fn Bitstring32WithCP56Time2a_createEx(
5863 self_: Bitstring32WithCP56Time2a,
5864 ioa: ::std::os::raw::c_int,
5865 value: u32,
5866 quality: QualityDescriptor,
5867 timestamp: CP56Time2a,
5868 ) -> Bitstring32WithCP56Time2a;
5869}
5870unsafe extern "C" {
5871 pub fn Bitstring32WithCP56Time2a_getTimestamp(self_: Bitstring32WithCP56Time2a) -> CP56Time2a;
5872}
5873#[repr(C)]
5874#[derive(Debug, Copy, Clone)]
5875pub struct sMeasuredValueNormalizedWithoutQuality {
5876 _unused: [u8; 0],
5877}
5878#[doc = "MeasuredValueNormalizedWithoutQuality : InformationObject"]
5879pub type MeasuredValueNormalizedWithoutQuality = *mut sMeasuredValueNormalizedWithoutQuality;
5880unsafe extern "C" {
5881 pub fn MeasuredValueNormalizedWithoutQuality_destroy(
5882 self_: MeasuredValueNormalizedWithoutQuality,
5883 );
5884}
5885unsafe extern "C" {
5886 pub fn MeasuredValueNormalizedWithoutQuality_create(
5887 self_: MeasuredValueNormalizedWithoutQuality,
5888 ioa: ::std::os::raw::c_int,
5889 value: f32,
5890 ) -> MeasuredValueNormalizedWithoutQuality;
5891}
5892unsafe extern "C" {
5893 pub fn MeasuredValueNormalizedWithoutQuality_getValue(
5894 self_: MeasuredValueNormalizedWithoutQuality,
5895 ) -> f32;
5896}
5897unsafe extern "C" {
5898 pub fn MeasuredValueNormalizedWithoutQuality_setValue(
5899 self_: MeasuredValueNormalizedWithoutQuality,
5900 value: f32,
5901 );
5902}
5903#[repr(C)]
5904#[derive(Debug, Copy, Clone)]
5905pub struct sMeasuredValueNormalized {
5906 _unused: [u8; 0],
5907}
5908#[doc = "MeasuredValueNormalized"]
5909pub type MeasuredValueNormalized = *mut sMeasuredValueNormalized;
5910unsafe extern "C" {
5911 pub fn MeasuredValueNormalized_destroy(self_: MeasuredValueNormalized);
5912}
5913unsafe extern "C" {
5914 pub fn MeasuredValueNormalized_create(
5915 self_: MeasuredValueNormalized,
5916 ioa: ::std::os::raw::c_int,
5917 value: f32,
5918 quality: QualityDescriptor,
5919 ) -> MeasuredValueNormalized;
5920}
5921unsafe extern "C" {
5922 pub fn MeasuredValueNormalized_getValue(self_: MeasuredValueNormalized) -> f32;
5923}
5924unsafe extern "C" {
5925 pub fn MeasuredValueNormalized_setValue(self_: MeasuredValueNormalized, value: f32);
5926}
5927unsafe extern "C" {
5928 pub fn MeasuredValueNormalized_getQuality(self_: MeasuredValueNormalized) -> QualityDescriptor;
5929}
5930#[repr(C)]
5931#[derive(Debug, Copy, Clone)]
5932pub struct sMeasuredValueNormalizedWithCP24Time2a {
5933 _unused: [u8; 0],
5934}
5935#[doc = "MeasuredValueNormalizedWithCP24Time2a : MeasuredValueNormalized"]
5936pub type MeasuredValueNormalizedWithCP24Time2a = *mut sMeasuredValueNormalizedWithCP24Time2a;
5937unsafe extern "C" {
5938 pub fn MeasuredValueNormalizedWithCP24Time2a_destroy(
5939 self_: MeasuredValueNormalizedWithCP24Time2a,
5940 );
5941}
5942unsafe extern "C" {
5943 pub fn MeasuredValueNormalizedWithCP24Time2a_create(
5944 self_: MeasuredValueNormalizedWithCP24Time2a,
5945 ioa: ::std::os::raw::c_int,
5946 value: f32,
5947 quality: QualityDescriptor,
5948 timestamp: CP24Time2a,
5949 ) -> MeasuredValueNormalizedWithCP24Time2a;
5950}
5951unsafe extern "C" {
5952 pub fn MeasuredValueNormalizedWithCP24Time2a_getTimestamp(
5953 self_: MeasuredValueNormalizedWithCP24Time2a,
5954 ) -> CP24Time2a;
5955}
5956unsafe extern "C" {
5957 pub fn MeasuredValueNormalizedWithCP24Time2a_setTimestamp(
5958 self_: MeasuredValueNormalizedWithCP24Time2a,
5959 value: CP24Time2a,
5960 );
5961}
5962#[repr(C)]
5963#[derive(Debug, Copy, Clone)]
5964pub struct sMeasuredValueNormalizedWithCP56Time2a {
5965 _unused: [u8; 0],
5966}
5967#[doc = "MeasuredValueNormalizedWithCP56Time2a : MeasuredValueNormalized"]
5968pub type MeasuredValueNormalizedWithCP56Time2a = *mut sMeasuredValueNormalizedWithCP56Time2a;
5969unsafe extern "C" {
5970 pub fn MeasuredValueNormalizedWithCP56Time2a_destroy(
5971 self_: MeasuredValueNormalizedWithCP56Time2a,
5972 );
5973}
5974unsafe extern "C" {
5975 pub fn MeasuredValueNormalizedWithCP56Time2a_create(
5976 self_: MeasuredValueNormalizedWithCP56Time2a,
5977 ioa: ::std::os::raw::c_int,
5978 value: f32,
5979 quality: QualityDescriptor,
5980 timestamp: CP56Time2a,
5981 ) -> MeasuredValueNormalizedWithCP56Time2a;
5982}
5983unsafe extern "C" {
5984 pub fn MeasuredValueNormalizedWithCP56Time2a_getTimestamp(
5985 self_: MeasuredValueNormalizedWithCP56Time2a,
5986 ) -> CP56Time2a;
5987}
5988unsafe extern "C" {
5989 pub fn MeasuredValueNormalizedWithCP56Time2a_setTimestamp(
5990 self_: MeasuredValueNormalizedWithCP56Time2a,
5991 value: CP56Time2a,
5992 );
5993}
5994#[repr(C)]
5995#[derive(Debug, Copy, Clone)]
5996pub struct sMeasuredValueScaled {
5997 _unused: [u8; 0],
5998}
5999#[doc = "MeasuredValueScaled : InformationObject"]
6000pub type MeasuredValueScaled = *mut sMeasuredValueScaled;
6001unsafe extern "C" {
6002 #[doc = "Create a new instance of MeasuredValueScaled information object\n\n # Arguments\n\n* `self` - Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated\n * `ioa` - Information object address\n * `value` - scaled value (range -32768 - 32767)\n * `quality` - quality descriptor (according to IEC 60870-5-101:2003 7.2.6.3)\n\n # Returns\n\nReference to the new instance"]
6003 pub fn MeasuredValueScaled_create(
6004 self_: MeasuredValueScaled,
6005 ioa: ::std::os::raw::c_int,
6006 value: ::std::os::raw::c_int,
6007 quality: QualityDescriptor,
6008 ) -> MeasuredValueScaled;
6009}
6010unsafe extern "C" {
6011 pub fn MeasuredValueScaled_destroy(self_: MeasuredValueScaled);
6012}
6013unsafe extern "C" {
6014 pub fn MeasuredValueScaled_getValue(self_: MeasuredValueScaled) -> ::std::os::raw::c_int;
6015}
6016unsafe extern "C" {
6017 pub fn MeasuredValueScaled_setValue(self_: MeasuredValueScaled, value: ::std::os::raw::c_int);
6018}
6019unsafe extern "C" {
6020 pub fn MeasuredValueScaled_getQuality(self_: MeasuredValueScaled) -> QualityDescriptor;
6021}
6022unsafe extern "C" {
6023 pub fn MeasuredValueScaled_setQuality(self_: MeasuredValueScaled, quality: QualityDescriptor);
6024}
6025#[repr(C)]
6026#[derive(Debug, Copy, Clone)]
6027pub struct sMeasuredValueScaledWithCP24Time2a {
6028 _unused: [u8; 0],
6029}
6030#[doc = "MeasuredValueScaledWithCP24Time2a : MeasuredValueScaled"]
6031pub type MeasuredValueScaledWithCP24Time2a = *mut sMeasuredValueScaledWithCP24Time2a;
6032unsafe extern "C" {
6033 pub fn MeasuredValueScaledWithCP24Time2a_destroy(self_: MeasuredValueScaledWithCP24Time2a);
6034}
6035unsafe extern "C" {
6036 pub fn MeasuredValueScaledWithCP24Time2a_create(
6037 self_: MeasuredValueScaledWithCP24Time2a,
6038 ioa: ::std::os::raw::c_int,
6039 value: ::std::os::raw::c_int,
6040 quality: QualityDescriptor,
6041 timestamp: CP24Time2a,
6042 ) -> MeasuredValueScaledWithCP24Time2a;
6043}
6044unsafe extern "C" {
6045 pub fn MeasuredValueScaledWithCP24Time2a_getTimestamp(
6046 self_: MeasuredValueScaledWithCP24Time2a,
6047 ) -> CP24Time2a;
6048}
6049unsafe extern "C" {
6050 pub fn MeasuredValueScaledWithCP24Time2a_setTimestamp(
6051 self_: MeasuredValueScaledWithCP24Time2a,
6052 value: CP24Time2a,
6053 );
6054}
6055#[repr(C)]
6056#[derive(Debug, Copy, Clone)]
6057pub struct sMeasuredValueScaledWithCP56Time2a {
6058 _unused: [u8; 0],
6059}
6060#[doc = "MeasuredValueScaledWithCP56Time2a : MeasuredValueScaled"]
6061pub type MeasuredValueScaledWithCP56Time2a = *mut sMeasuredValueScaledWithCP56Time2a;
6062unsafe extern "C" {
6063 pub fn MeasuredValueScaledWithCP56Time2a_destroy(self_: MeasuredValueScaledWithCP56Time2a);
6064}
6065unsafe extern "C" {
6066 pub fn MeasuredValueScaledWithCP56Time2a_create(
6067 self_: MeasuredValueScaledWithCP56Time2a,
6068 ioa: ::std::os::raw::c_int,
6069 value: ::std::os::raw::c_int,
6070 quality: QualityDescriptor,
6071 timestamp: CP56Time2a,
6072 ) -> MeasuredValueScaledWithCP56Time2a;
6073}
6074unsafe extern "C" {
6075 pub fn MeasuredValueScaledWithCP56Time2a_getTimestamp(
6076 self_: MeasuredValueScaledWithCP56Time2a,
6077 ) -> CP56Time2a;
6078}
6079unsafe extern "C" {
6080 pub fn MeasuredValueScaledWithCP56Time2a_setTimestamp(
6081 self_: MeasuredValueScaledWithCP56Time2a,
6082 value: CP56Time2a,
6083 );
6084}
6085#[repr(C)]
6086#[derive(Debug, Copy, Clone)]
6087pub struct sMeasuredValueShort {
6088 _unused: [u8; 0],
6089}
6090#[doc = "MeasuredValueShort : InformationObject"]
6091pub type MeasuredValueShort = *mut sMeasuredValueShort;
6092unsafe extern "C" {
6093 pub fn MeasuredValueShort_destroy(self_: MeasuredValueShort);
6094}
6095unsafe extern "C" {
6096 pub fn MeasuredValueShort_create(
6097 self_: MeasuredValueShort,
6098 ioa: ::std::os::raw::c_int,
6099 value: f32,
6100 quality: QualityDescriptor,
6101 ) -> MeasuredValueShort;
6102}
6103unsafe extern "C" {
6104 pub fn MeasuredValueShort_getValue(self_: MeasuredValueShort) -> f32;
6105}
6106unsafe extern "C" {
6107 pub fn MeasuredValueShort_setValue(self_: MeasuredValueShort, value: f32);
6108}
6109unsafe extern "C" {
6110 pub fn MeasuredValueShort_getQuality(self_: MeasuredValueShort) -> QualityDescriptor;
6111}
6112#[repr(C)]
6113#[derive(Debug, Copy, Clone)]
6114pub struct sMeasuredValueShortWithCP24Time2a {
6115 _unused: [u8; 0],
6116}
6117#[doc = "MeasuredValueShortWithCP24Time2a : MeasuredValueShort"]
6118pub type MeasuredValueShortWithCP24Time2a = *mut sMeasuredValueShortWithCP24Time2a;
6119unsafe extern "C" {
6120 pub fn MeasuredValueShortWithCP24Time2a_destroy(self_: MeasuredValueShortWithCP24Time2a);
6121}
6122unsafe extern "C" {
6123 pub fn MeasuredValueShortWithCP24Time2a_create(
6124 self_: MeasuredValueShortWithCP24Time2a,
6125 ioa: ::std::os::raw::c_int,
6126 value: f32,
6127 quality: QualityDescriptor,
6128 timestamp: CP24Time2a,
6129 ) -> MeasuredValueShortWithCP24Time2a;
6130}
6131unsafe extern "C" {
6132 pub fn MeasuredValueShortWithCP24Time2a_getTimestamp(
6133 self_: MeasuredValueShortWithCP24Time2a,
6134 ) -> CP24Time2a;
6135}
6136unsafe extern "C" {
6137 pub fn MeasuredValueShortWithCP24Time2a_setTimestamp(
6138 self_: MeasuredValueShortWithCP24Time2a,
6139 value: CP24Time2a,
6140 );
6141}
6142#[repr(C)]
6143#[derive(Debug, Copy, Clone)]
6144pub struct sMeasuredValueShortWithCP56Time2a {
6145 _unused: [u8; 0],
6146}
6147#[doc = "MeasuredValueShortWithCP56Time2a : MeasuredValueShort"]
6148pub type MeasuredValueShortWithCP56Time2a = *mut sMeasuredValueShortWithCP56Time2a;
6149unsafe extern "C" {
6150 pub fn MeasuredValueShortWithCP56Time2a_destroy(self_: MeasuredValueShortWithCP56Time2a);
6151}
6152unsafe extern "C" {
6153 pub fn MeasuredValueShortWithCP56Time2a_create(
6154 self_: MeasuredValueShortWithCP56Time2a,
6155 ioa: ::std::os::raw::c_int,
6156 value: f32,
6157 quality: QualityDescriptor,
6158 timestamp: CP56Time2a,
6159 ) -> MeasuredValueShortWithCP56Time2a;
6160}
6161unsafe extern "C" {
6162 pub fn MeasuredValueShortWithCP56Time2a_getTimestamp(
6163 self_: MeasuredValueShortWithCP56Time2a,
6164 ) -> CP56Time2a;
6165}
6166unsafe extern "C" {
6167 pub fn MeasuredValueShortWithCP56Time2a_setTimestamp(
6168 self_: MeasuredValueShortWithCP56Time2a,
6169 value: CP56Time2a,
6170 );
6171}
6172#[repr(C)]
6173#[derive(Debug, Copy, Clone)]
6174pub struct sIntegratedTotals {
6175 _unused: [u8; 0],
6176}
6177#[doc = "IntegratedTotals : InformationObject"]
6178pub type IntegratedTotals = *mut sIntegratedTotals;
6179unsafe extern "C" {
6180 pub fn IntegratedTotals_destroy(self_: IntegratedTotals);
6181}
6182unsafe extern "C" {
6183 #[doc = "Create a new instance of IntegratedTotals information object\n\n For message type: M_IT_NA_1 (15)\n\n # Arguments\n\n* `self` - Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated\n * `ioa` - Information object address\n * `value` - binary counter reading value and state\n\n # Returns\n\nReference to the new instance"]
6184 pub fn IntegratedTotals_create(
6185 self_: IntegratedTotals,
6186 ioa: ::std::os::raw::c_int,
6187 value: BinaryCounterReading,
6188 ) -> IntegratedTotals;
6189}
6190unsafe extern "C" {
6191 pub fn IntegratedTotals_getBCR(self_: IntegratedTotals) -> BinaryCounterReading;
6192}
6193unsafe extern "C" {
6194 pub fn IntegratedTotals_setBCR(self_: IntegratedTotals, value: BinaryCounterReading);
6195}
6196#[repr(C)]
6197#[derive(Debug, Copy, Clone)]
6198pub struct sIntegratedTotalsWithCP24Time2a {
6199 _unused: [u8; 0],
6200}
6201#[doc = "IntegratedTotalsWithCP24Time2a : IntegratedTotals"]
6202pub type IntegratedTotalsWithCP24Time2a = *mut sIntegratedTotalsWithCP24Time2a;
6203unsafe extern "C" {
6204 #[doc = "Create a new instance of IntegratedTotalsWithCP24Time2a information object\n\n For message type: M_IT_TA_1 (16)\n\n # Arguments\n\n* `self` - Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated\n * `ioa` - Information object address\n * `value` - binary counter reading value and state\n * `timestamp` - timestamp of the reading\n\n # Returns\n\nReference to the new instance"]
6205 pub fn IntegratedTotalsWithCP24Time2a_create(
6206 self_: IntegratedTotalsWithCP24Time2a,
6207 ioa: ::std::os::raw::c_int,
6208 value: BinaryCounterReading,
6209 timestamp: CP24Time2a,
6210 ) -> IntegratedTotalsWithCP24Time2a;
6211}
6212unsafe extern "C" {
6213 pub fn IntegratedTotalsWithCP24Time2a_destroy(self_: IntegratedTotalsWithCP24Time2a);
6214}
6215unsafe extern "C" {
6216 pub fn IntegratedTotalsWithCP24Time2a_getTimestamp(
6217 self_: IntegratedTotalsWithCP24Time2a,
6218 ) -> CP24Time2a;
6219}
6220unsafe extern "C" {
6221 pub fn IntegratedTotalsWithCP24Time2a_setTimestamp(
6222 self_: IntegratedTotalsWithCP24Time2a,
6223 value: CP24Time2a,
6224 );
6225}
6226#[repr(C)]
6227#[derive(Debug, Copy, Clone)]
6228pub struct sIntegratedTotalsWithCP56Time2a {
6229 _unused: [u8; 0],
6230}
6231#[doc = "IntegratedTotalsWithCP56Time2a : IntegratedTotals"]
6232pub type IntegratedTotalsWithCP56Time2a = *mut sIntegratedTotalsWithCP56Time2a;
6233unsafe extern "C" {
6234 #[doc = "Create a new instance of IntegratedTotalsWithCP56Time2a information object\n\n For message type: M_IT_TB_1 (37)\n\n # Arguments\n\n* `self` - Reference to an existing instance to reuse, if NULL a new instance will we dynamically allocated\n * `ioa` - Information object address\n * `value` - binary counter reading value and state\n * `timestamp` - timestamp of the reading\n\n # Returns\n\nReference to the new instance"]
6235 pub fn IntegratedTotalsWithCP56Time2a_create(
6236 self_: IntegratedTotalsWithCP56Time2a,
6237 ioa: ::std::os::raw::c_int,
6238 value: BinaryCounterReading,
6239 timestamp: CP56Time2a,
6240 ) -> IntegratedTotalsWithCP56Time2a;
6241}
6242unsafe extern "C" {
6243 pub fn IntegratedTotalsWithCP56Time2a_destroy(self_: IntegratedTotalsWithCP56Time2a);
6244}
6245unsafe extern "C" {
6246 pub fn IntegratedTotalsWithCP56Time2a_getTimestamp(
6247 self_: IntegratedTotalsWithCP56Time2a,
6248 ) -> CP56Time2a;
6249}
6250unsafe extern "C" {
6251 pub fn IntegratedTotalsWithCP56Time2a_setTimestamp(
6252 self_: IntegratedTotalsWithCP56Time2a,
6253 value: CP56Time2a,
6254 );
6255}
6256#[repr(C)]
6257#[derive(Debug, Copy, Clone)]
6258pub struct sEventOfProtectionEquipment {
6259 _unused: [u8; 0],
6260}
6261#[doc = "EventOfProtectionEquipment : InformationObject"]
6262pub type EventOfProtectionEquipment = *mut sEventOfProtectionEquipment;
6263unsafe extern "C" {
6264 pub fn EventOfProtectionEquipment_destroy(self_: EventOfProtectionEquipment);
6265}
6266unsafe extern "C" {
6267 pub fn EventOfProtectionEquipment_create(
6268 self_: EventOfProtectionEquipment,
6269 ioa: ::std::os::raw::c_int,
6270 event: SingleEvent,
6271 elapsedTime: CP16Time2a,
6272 timestamp: CP24Time2a,
6273 ) -> EventOfProtectionEquipment;
6274}
6275unsafe extern "C" {
6276 pub fn EventOfProtectionEquipment_getEvent(self_: EventOfProtectionEquipment) -> SingleEvent;
6277}
6278unsafe extern "C" {
6279 pub fn EventOfProtectionEquipment_getElapsedTime(
6280 self_: EventOfProtectionEquipment,
6281 ) -> CP16Time2a;
6282}
6283unsafe extern "C" {
6284 pub fn EventOfProtectionEquipment_getTimestamp(self_: EventOfProtectionEquipment)
6285 -> CP24Time2a;
6286}
6287#[repr(C)]
6288#[derive(Debug, Copy, Clone)]
6289pub struct sPackedStartEventsOfProtectionEquipment {
6290 _unused: [u8; 0],
6291}
6292#[doc = "PackedStartEventsOfProtectionEquipment : InformationObject"]
6293pub type PackedStartEventsOfProtectionEquipment = *mut sPackedStartEventsOfProtectionEquipment;
6294unsafe extern "C" {
6295 pub fn PackedStartEventsOfProtectionEquipment_create(
6296 self_: PackedStartEventsOfProtectionEquipment,
6297 ioa: ::std::os::raw::c_int,
6298 event: StartEvent,
6299 qdp: QualityDescriptorP,
6300 elapsedTime: CP16Time2a,
6301 timestamp: CP24Time2a,
6302 ) -> PackedStartEventsOfProtectionEquipment;
6303}
6304unsafe extern "C" {
6305 pub fn PackedStartEventsOfProtectionEquipment_destroy(
6306 self_: PackedStartEventsOfProtectionEquipment,
6307 );
6308}
6309unsafe extern "C" {
6310 pub fn PackedStartEventsOfProtectionEquipment_getEvent(
6311 self_: PackedStartEventsOfProtectionEquipment,
6312 ) -> StartEvent;
6313}
6314unsafe extern "C" {
6315 pub fn PackedStartEventsOfProtectionEquipment_getQuality(
6316 self_: PackedStartEventsOfProtectionEquipment,
6317 ) -> QualityDescriptorP;
6318}
6319unsafe extern "C" {
6320 pub fn PackedStartEventsOfProtectionEquipment_getElapsedTime(
6321 self_: PackedStartEventsOfProtectionEquipment,
6322 ) -> CP16Time2a;
6323}
6324unsafe extern "C" {
6325 pub fn PackedStartEventsOfProtectionEquipment_getTimestamp(
6326 self_: PackedStartEventsOfProtectionEquipment,
6327 ) -> CP24Time2a;
6328}
6329#[repr(C)]
6330#[derive(Debug, Copy, Clone)]
6331pub struct sPackedOutputCircuitInfo {
6332 _unused: [u8; 0],
6333}
6334#[doc = "PacketOutputCircuitInfo : InformationObject"]
6335pub type PackedOutputCircuitInfo = *mut sPackedOutputCircuitInfo;
6336unsafe extern "C" {
6337 pub fn PackedOutputCircuitInfo_destroy(self_: PackedOutputCircuitInfo);
6338}
6339unsafe extern "C" {
6340 pub fn PackedOutputCircuitInfo_create(
6341 self_: PackedOutputCircuitInfo,
6342 ioa: ::std::os::raw::c_int,
6343 oci: OutputCircuitInfo,
6344 qdp: QualityDescriptorP,
6345 operatingTime: CP16Time2a,
6346 timestamp: CP24Time2a,
6347 ) -> PackedOutputCircuitInfo;
6348}
6349unsafe extern "C" {
6350 pub fn PackedOutputCircuitInfo_getOCI(self_: PackedOutputCircuitInfo) -> OutputCircuitInfo;
6351}
6352unsafe extern "C" {
6353 pub fn PackedOutputCircuitInfo_getQuality(self_: PackedOutputCircuitInfo)
6354 -> QualityDescriptorP;
6355}
6356unsafe extern "C" {
6357 pub fn PackedOutputCircuitInfo_getOperatingTime(self_: PackedOutputCircuitInfo) -> CP16Time2a;
6358}
6359unsafe extern "C" {
6360 pub fn PackedOutputCircuitInfo_getTimestamp(self_: PackedOutputCircuitInfo) -> CP24Time2a;
6361}
6362#[repr(C)]
6363#[derive(Debug, Copy, Clone)]
6364pub struct sPackedSinglePointWithSCD {
6365 _unused: [u8; 0],
6366}
6367#[doc = "PackedSinglePointWithSCD : InformationObject"]
6368pub type PackedSinglePointWithSCD = *mut sPackedSinglePointWithSCD;
6369unsafe extern "C" {
6370 pub fn PackedSinglePointWithSCD_destroy(self_: PackedSinglePointWithSCD);
6371}
6372unsafe extern "C" {
6373 pub fn PackedSinglePointWithSCD_create(
6374 self_: PackedSinglePointWithSCD,
6375 ioa: ::std::os::raw::c_int,
6376 scd: StatusAndStatusChangeDetection,
6377 qds: QualityDescriptor,
6378 ) -> PackedSinglePointWithSCD;
6379}
6380unsafe extern "C" {
6381 pub fn PackedSinglePointWithSCD_getQuality(
6382 self_: PackedSinglePointWithSCD,
6383 ) -> QualityDescriptor;
6384}
6385unsafe extern "C" {
6386 pub fn PackedSinglePointWithSCD_getSCD(
6387 self_: PackedSinglePointWithSCD,
6388 ) -> StatusAndStatusChangeDetection;
6389}
6390#[repr(C)]
6391#[derive(Debug, Copy, Clone)]
6392pub struct sSingleCommand {
6393 _unused: [u8; 0],
6394}
6395#[doc = "SingleCommand"]
6396pub type SingleCommand = *mut sSingleCommand;
6397unsafe extern "C" {
6398 #[doc = "Create a single point command information object\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `command` (direction in) - the command value\n * `selectCommand` (direction in) - (S/E bit) if true send \"select\", otherwise \"execute\"\n * `qu` (direction in) - qualifier of command QU parameter(0 = no additional definition, 1 = short pulse, 2 = long pulse, 3 = persistent output)\n\n # Returns\n\nthe initialized instance"]
6399 pub fn SingleCommand_create(
6400 self_: SingleCommand,
6401 ioa: ::std::os::raw::c_int,
6402 command: bool,
6403 selectCommand: bool,
6404 qu: ::std::os::raw::c_int,
6405 ) -> SingleCommand;
6406}
6407unsafe extern "C" {
6408 pub fn SingleCommand_destroy(self_: SingleCommand);
6409}
6410unsafe extern "C" {
6411 #[doc = "Get the qualifier of command QU value\n\n # Returns\n\nthe QU value (0 = no additional definition, 1 = short pulse, 2 = long pulse, 3 = persistent output, > 3 = reserved)"]
6412 pub fn SingleCommand_getQU(self_: SingleCommand) -> ::std::os::raw::c_int;
6413}
6414unsafe extern "C" {
6415 #[doc = "Get the state (command) value"]
6416 pub fn SingleCommand_getState(self_: SingleCommand) -> bool;
6417}
6418unsafe extern "C" {
6419 #[doc = "Return the value of the S/E bit of the qualifier of command\n\n # Returns\n\nS/E bit, true = select, false = execute"]
6420 pub fn SingleCommand_isSelect(self_: SingleCommand) -> bool;
6421}
6422#[repr(C)]
6423#[derive(Debug, Copy, Clone)]
6424pub struct sSingleCommandWithCP56Time2a {
6425 _unused: [u8; 0],
6426}
6427#[doc = "SingleCommandWithCP56Time2a : SingleCommand"]
6428pub type SingleCommandWithCP56Time2a = *mut sSingleCommandWithCP56Time2a;
6429unsafe extern "C" {
6430 pub fn SingleCommandWithCP56Time2a_destroy(self_: SingleCommandWithCP56Time2a);
6431}
6432unsafe extern "C" {
6433 #[doc = "Create a single command with CP56Time2a time stamp information object\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `command` (direction in) - the command value\n * `selectCommand` (direction in) - (S/E bit) if true send \"select\", otherwise \"execute\"\n * `qu` (direction in) - qualifier of command QU parameter(0 = no additional definition, 1 = short pulse, 2 = long pulse, 3 = persistent output)\n * `timestamp` (direction in) - the time stamp value\n\n # Returns\n\nthe initialized instance"]
6434 pub fn SingleCommandWithCP56Time2a_create(
6435 self_: SingleCommandWithCP56Time2a,
6436 ioa: ::std::os::raw::c_int,
6437 command: bool,
6438 selectCommand: bool,
6439 qu: ::std::os::raw::c_int,
6440 timestamp: CP56Time2a,
6441 ) -> SingleCommandWithCP56Time2a;
6442}
6443unsafe extern "C" {
6444 #[doc = "Get the time stamp of the command.\n\n NOTE: according to the specification the command shall not be accepted when the time stamp differs too much\n from the time of the receiving system. In this case the command has to be discarded silently.\n\n # Returns\n\nthe time stamp of the command"]
6445 pub fn SingleCommandWithCP56Time2a_getTimestamp(
6446 self_: SingleCommandWithCP56Time2a,
6447 ) -> CP56Time2a;
6448}
6449#[repr(C)]
6450#[derive(Debug, Copy, Clone)]
6451pub struct sDoubleCommand {
6452 _unused: [u8; 0],
6453}
6454#[doc = "DoubleCommand : InformationObject"]
6455pub type DoubleCommand = *mut sDoubleCommand;
6456unsafe extern "C" {
6457 pub fn DoubleCommand_destroy(self_: DoubleCommand);
6458}
6459unsafe extern "C" {
6460 #[doc = "Create a double command information object\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `command` (direction in) - the double command state (0 = not permitted, 1 = off, 2 = on, 3 = not permitted)\n * `selectCommand` (direction in) - (S/E bit) if true send \"select\", otherwise \"execute\"\n * `qu` (direction in) - qualifier of command QU parameter(0 = no additional definition, 1 = short pulse, 2 = long pulse, 3 = persistent output)\n\n # Returns\n\nthe initialized instance"]
6461 pub fn DoubleCommand_create(
6462 self_: DoubleCommand,
6463 ioa: ::std::os::raw::c_int,
6464 command: ::std::os::raw::c_int,
6465 selectCommand: bool,
6466 qu: ::std::os::raw::c_int,
6467 ) -> DoubleCommand;
6468}
6469unsafe extern "C" {
6470 #[doc = "Get the qualifier of command QU value\n\n # Returns\n\nthe QU value (0 = no additional definition, 1 = short pulse, 2 = long pulse, 3 = persistent output, > 3 = reserved)"]
6471 pub fn DoubleCommand_getQU(self_: DoubleCommand) -> ::std::os::raw::c_int;
6472}
6473unsafe extern "C" {
6474 #[doc = "Get the state (command) value\n\n # Returns\n\n0 = not permitted, 1 = off, 2 = on, 3 = not permitted"]
6475 pub fn DoubleCommand_getState(self_: DoubleCommand) -> ::std::os::raw::c_int;
6476}
6477unsafe extern "C" {
6478 #[doc = "Return the value of the S/E bit of the qualifier of command\n\n # Returns\n\nS/E bit, true = select, false = execute"]
6479 pub fn DoubleCommand_isSelect(self_: DoubleCommand) -> bool;
6480}
6481#[repr(C)]
6482#[derive(Debug, Copy, Clone)]
6483pub struct sStepCommand {
6484 _unused: [u8; 0],
6485}
6486#[doc = "StepCommand : InformationObject"]
6487pub type StepCommand = *mut sStepCommand;
6488unsafe extern "C" {
6489 pub fn StepCommand_destroy(self_: StepCommand);
6490}
6491unsafe extern "C" {
6492 pub fn StepCommand_create(
6493 self_: StepCommand,
6494 ioa: ::std::os::raw::c_int,
6495 command: StepCommandValue,
6496 selectCommand: bool,
6497 qu: ::std::os::raw::c_int,
6498 ) -> StepCommand;
6499}
6500unsafe extern "C" {
6501 #[doc = "Get the qualifier of command QU value\n\n # Returns\n\nthe QU value (0 = no additional definition, 1 = short pulse, 2 = long pulse, 3 = persistent output, > 3 = reserved)"]
6502 pub fn StepCommand_getQU(self_: StepCommand) -> ::std::os::raw::c_int;
6503}
6504unsafe extern "C" {
6505 pub fn StepCommand_getState(self_: StepCommand) -> StepCommandValue;
6506}
6507unsafe extern "C" {
6508 #[doc = "Return the value of the S/E bit of the qualifier of command\n\n # Returns\n\nS/E bit, true = select, false = execute"]
6509 pub fn StepCommand_isSelect(self_: StepCommand) -> bool;
6510}
6511#[repr(C)]
6512#[derive(Debug, Copy, Clone)]
6513pub struct sSetpointCommandNormalized {
6514 _unused: [u8; 0],
6515}
6516#[doc = "SetpointCommandNormalized : InformationObject"]
6517pub type SetpointCommandNormalized = *mut sSetpointCommandNormalized;
6518unsafe extern "C" {
6519 pub fn SetpointCommandNormalized_destroy(self_: SetpointCommandNormalized);
6520}
6521unsafe extern "C" {
6522 #[doc = "Create a normalized set point command information object\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `value` (direction in) - normalized value between -1 and 1\n * `selectCommand` (direction in) - (S/E bit) if true send \"select\", otherwise \"execute\"\n * `ql` (direction in) - qualifier of set point command (0 = standard, 1..127 = reserved)\n\n # Returns\n\nthe initialized instance"]
6523 pub fn SetpointCommandNormalized_create(
6524 self_: SetpointCommandNormalized,
6525 ioa: ::std::os::raw::c_int,
6526 value: f32,
6527 selectCommand: bool,
6528 ql: ::std::os::raw::c_int,
6529 ) -> SetpointCommandNormalized;
6530}
6531unsafe extern "C" {
6532 pub fn SetpointCommandNormalized_getValue(self_: SetpointCommandNormalized) -> f32;
6533}
6534unsafe extern "C" {
6535 pub fn SetpointCommandNormalized_getQL(
6536 self_: SetpointCommandNormalized,
6537 ) -> ::std::os::raw::c_int;
6538}
6539unsafe extern "C" {
6540 #[doc = "Return the value of the S/E bit of the qualifier of command\n\n # Returns\n\nS/E bit, true = select, false = execute"]
6541 pub fn SetpointCommandNormalized_isSelect(self_: SetpointCommandNormalized) -> bool;
6542}
6543#[repr(C)]
6544#[derive(Debug, Copy, Clone)]
6545pub struct sSetpointCommandScaled {
6546 _unused: [u8; 0],
6547}
6548#[doc = "SetpointCommandScaled : InformationObject"]
6549pub type SetpointCommandScaled = *mut sSetpointCommandScaled;
6550unsafe extern "C" {
6551 pub fn SetpointCommandScaled_destroy(self_: SetpointCommandScaled);
6552}
6553unsafe extern "C" {
6554 #[doc = "Create a scaled set point command information object\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `value` (direction in) - the scaled value (–32.768 .. 32.767)\n * `selectCommand` (direction in) - (S/E bit) if true send \"select\", otherwise \"execute\"\n * `ql` (direction in) - qualifier of set point command (0 = standard, 1..127 = reserved)\n\n # Returns\n\nthe initialized instance"]
6555 pub fn SetpointCommandScaled_create(
6556 self_: SetpointCommandScaled,
6557 ioa: ::std::os::raw::c_int,
6558 value: ::std::os::raw::c_int,
6559 selectCommand: bool,
6560 ql: ::std::os::raw::c_int,
6561 ) -> SetpointCommandScaled;
6562}
6563unsafe extern "C" {
6564 pub fn SetpointCommandScaled_getValue(self_: SetpointCommandScaled) -> ::std::os::raw::c_int;
6565}
6566unsafe extern "C" {
6567 pub fn SetpointCommandScaled_getQL(self_: SetpointCommandScaled) -> ::std::os::raw::c_int;
6568}
6569unsafe extern "C" {
6570 #[doc = "Return the value of the S/E bit of the qualifier of command\n\n # Returns\n\nS/E bit, true = select, false = execute"]
6571 pub fn SetpointCommandScaled_isSelect(self_: SetpointCommandScaled) -> bool;
6572}
6573#[repr(C)]
6574#[derive(Debug, Copy, Clone)]
6575pub struct sSetpointCommandShort {
6576 _unused: [u8; 0],
6577}
6578#[doc = "SetpointCommandShort: InformationObject"]
6579pub type SetpointCommandShort = *mut sSetpointCommandShort;
6580unsafe extern "C" {
6581 pub fn SetpointCommandShort_destroy(self_: SetpointCommandShort);
6582}
6583unsafe extern "C" {
6584 #[doc = "Create a short floating point set point command information object\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `value` (direction in) - short floating point number\n * `selectCommand` (direction in) - (S/E bit) if true send \"select\", otherwise \"execute\"\n * `ql` (direction in) - qualifier of set point command (0 = standard, 1..127 = reserved)\n\n # Returns\n\nthe initialized instance"]
6585 pub fn SetpointCommandShort_create(
6586 self_: SetpointCommandShort,
6587 ioa: ::std::os::raw::c_int,
6588 value: f32,
6589 selectCommand: bool,
6590 ql: ::std::os::raw::c_int,
6591 ) -> SetpointCommandShort;
6592}
6593unsafe extern "C" {
6594 pub fn SetpointCommandShort_getValue(self_: SetpointCommandShort) -> f32;
6595}
6596unsafe extern "C" {
6597 pub fn SetpointCommandShort_getQL(self_: SetpointCommandShort) -> ::std::os::raw::c_int;
6598}
6599unsafe extern "C" {
6600 #[doc = "Return the value of the S/E bit of the qualifier of command\n\n # Returns\n\nS/E bit, true = select, false = execute"]
6601 pub fn SetpointCommandShort_isSelect(self_: SetpointCommandShort) -> bool;
6602}
6603#[repr(C)]
6604#[derive(Debug, Copy, Clone)]
6605pub struct sBitstring32Command {
6606 _unused: [u8; 0],
6607}
6608#[doc = "Bitstring32Command : InformationObject"]
6609pub type Bitstring32Command = *mut sBitstring32Command;
6610unsafe extern "C" {
6611 pub fn Bitstring32Command_create(
6612 self_: Bitstring32Command,
6613 ioa: ::std::os::raw::c_int,
6614 value: u32,
6615 ) -> Bitstring32Command;
6616}
6617unsafe extern "C" {
6618 pub fn Bitstring32Command_destroy(self_: Bitstring32Command);
6619}
6620unsafe extern "C" {
6621 pub fn Bitstring32Command_getValue(self_: Bitstring32Command) -> u32;
6622}
6623#[repr(C)]
6624#[derive(Debug, Copy, Clone)]
6625pub struct sInterrogationCommand {
6626 _unused: [u8; 0],
6627}
6628#[doc = "InterrogationCommand : InformationObject"]
6629pub type InterrogationCommand = *mut sInterrogationCommand;
6630unsafe extern "C" {
6631 pub fn InterrogationCommand_create(
6632 self_: InterrogationCommand,
6633 ioa: ::std::os::raw::c_int,
6634 qoi: u8,
6635 ) -> InterrogationCommand;
6636}
6637unsafe extern "C" {
6638 pub fn InterrogationCommand_destroy(self_: InterrogationCommand);
6639}
6640unsafe extern "C" {
6641 pub fn InterrogationCommand_getQOI(self_: InterrogationCommand) -> u8;
6642}
6643#[repr(C)]
6644#[derive(Debug, Copy, Clone)]
6645pub struct sReadCommand {
6646 _unused: [u8; 0],
6647}
6648#[doc = "ReadCommand : InformationObject"]
6649pub type ReadCommand = *mut sReadCommand;
6650unsafe extern "C" {
6651 pub fn ReadCommand_create(self_: ReadCommand, ioa: ::std::os::raw::c_int) -> ReadCommand;
6652}
6653unsafe extern "C" {
6654 pub fn ReadCommand_destroy(self_: ReadCommand);
6655}
6656#[repr(C)]
6657#[derive(Debug, Copy, Clone)]
6658pub struct sClockSynchronizationCommand {
6659 _unused: [u8; 0],
6660}
6661#[doc = "ClockSynchronizationCommand : InformationObject"]
6662pub type ClockSynchronizationCommand = *mut sClockSynchronizationCommand;
6663unsafe extern "C" {
6664 pub fn ClockSynchronizationCommand_create(
6665 self_: ClockSynchronizationCommand,
6666 ioa: ::std::os::raw::c_int,
6667 timestamp: CP56Time2a,
6668 ) -> ClockSynchronizationCommand;
6669}
6670unsafe extern "C" {
6671 pub fn ClockSynchronizationCommand_destroy(self_: ClockSynchronizationCommand);
6672}
6673unsafe extern "C" {
6674 pub fn ClockSynchronizationCommand_getTime(self_: ClockSynchronizationCommand) -> CP56Time2a;
6675}
6676#[doc = "ParameterNormalizedValue : MeasuredValueNormalized"]
6677pub type ParameterNormalizedValue = *mut sMeasuredValueNormalized;
6678unsafe extern "C" {
6679 pub fn ParameterNormalizedValue_destroy(self_: ParameterNormalizedValue);
6680}
6681unsafe extern "C" {
6682 #[doc = "Create a parameter measured values, normalized (P_ME_NA_1) information object\n\n NOTE: Can only be used in control direction (with COT=ACTIVATION) or in monitoring\n direction as a response of an interrogation request (with COT=INTERROGATED_BY...).\n\n Possible values of qpm:\n 0 = not used\n 1 = threshold value\n 2 = smoothing factor (filter time constant)\n 3 = low limit for transmission of measured values\n 4 = high limit for transmission of measured values\n 5..31 = reserved for standard definitions of CS101 (compatible range)\n 32..63 = reserved for special use (private range)\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `value` (direction in) - the normalized value (-1 .. 1)\n * `qpm` (direction in) - qualifier of measured values (QualifierOfParameterMV)\n\n # Returns\n\nthe initialized instance"]
6683 pub fn ParameterNormalizedValue_create(
6684 self_: ParameterNormalizedValue,
6685 ioa: ::std::os::raw::c_int,
6686 value: f32,
6687 qpm: QualifierOfParameterMV,
6688 ) -> ParameterNormalizedValue;
6689}
6690unsafe extern "C" {
6691 pub fn ParameterNormalizedValue_getValue(self_: ParameterNormalizedValue) -> f32;
6692}
6693unsafe extern "C" {
6694 pub fn ParameterNormalizedValue_setValue(self_: ParameterNormalizedValue, value: f32);
6695}
6696unsafe extern "C" {
6697 #[doc = "Returns the qualifier of measured values (QPM)\n\n # Returns\n\nthe QPM value (QualifierOfParameterMV)"]
6698 pub fn ParameterNormalizedValue_getQPM(
6699 self_: ParameterNormalizedValue,
6700 ) -> QualifierOfParameterMV;
6701}
6702#[doc = "ParameterScaledValue : MeasuredValueScaled"]
6703pub type ParameterScaledValue = *mut sMeasuredValueScaled;
6704unsafe extern "C" {
6705 pub fn ParameterScaledValue_destroy(self_: ParameterScaledValue);
6706}
6707unsafe extern "C" {
6708 #[doc = "Create a parameter measured values, scaled (P_ME_NB_1) information object\n\n NOTE: Can only be used in control direction (with COT=ACTIVATION) or in monitoring\n direction as a response of an interrogation request (with COT=INTERROGATED_BY...).\n\n Possible values of qpm:\n 0 = not used\n 1 = threshold value\n 2 = smoothing factor (filter time constant)\n 3 = low limit for transmission of measured values\n 4 = high limit for transmission of measured values\n 5..31 = reserved for standard definitions of CS101 (compatible range)\n 32..63 = reserved for special use (private range)\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `value` (direction in) - the scaled value (–32.768 .. 32.767)\n * `qpm` (direction in) - qualifier of measured values (QualifierOfParameterMV)\n\n # Returns\n\nthe initialized instance"]
6709 pub fn ParameterScaledValue_create(
6710 self_: ParameterScaledValue,
6711 ioa: ::std::os::raw::c_int,
6712 value: ::std::os::raw::c_int,
6713 qpm: QualifierOfParameterMV,
6714 ) -> ParameterScaledValue;
6715}
6716unsafe extern "C" {
6717 pub fn ParameterScaledValue_getValue(self_: ParameterScaledValue) -> ::std::os::raw::c_int;
6718}
6719unsafe extern "C" {
6720 pub fn ParameterScaledValue_setValue(self_: ParameterScaledValue, value: ::std::os::raw::c_int);
6721}
6722unsafe extern "C" {
6723 #[doc = "Returns the qualifier of measured values (QPM)\n\n # Returns\n\nthe QPM value (QualifierOfParameterMV)"]
6724 pub fn ParameterScaledValue_getQPM(self_: ParameterScaledValue) -> QualifierOfParameterMV;
6725}
6726#[doc = "ParameterFloatValue : MeasuredValueShort"]
6727pub type ParameterFloatValue = *mut sMeasuredValueShort;
6728unsafe extern "C" {
6729 pub fn ParameterFloatValue_destroy(self_: ParameterFloatValue);
6730}
6731unsafe extern "C" {
6732 #[doc = "Create a parameter measured values, short floating point (P_ME_NC_1) information object\n\n NOTE: Can only be used in control direction (with COT=ACTIVATION) or in monitoring\n direction as a response of an interrogation request (with COT=INTERROGATED_BY...).\n\n Possible values of qpm:\n 0 = not used\n 1 = threshold value\n 2 = smoothing factor (filter time constant)\n 3 = low limit for transmission of measured values\n 4 = high limit for transmission of measured values\n 5..31 = reserved for standard definitions of CS101 (compatible range)\n 32..63 = reserved for special use (private range)\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `value` (direction in) - short floating point number\n * `qpm` (direction in) - qualifier of measured values (QPM - QualifierOfParameterMV)\n\n # Returns\n\nthe initialized instance"]
6733 pub fn ParameterFloatValue_create(
6734 self_: ParameterFloatValue,
6735 ioa: ::std::os::raw::c_int,
6736 value: f32,
6737 qpm: QualifierOfParameterMV,
6738 ) -> ParameterFloatValue;
6739}
6740unsafe extern "C" {
6741 pub fn ParameterFloatValue_getValue(self_: ParameterFloatValue) -> f32;
6742}
6743unsafe extern "C" {
6744 pub fn ParameterFloatValue_setValue(self_: ParameterFloatValue, value: f32);
6745}
6746unsafe extern "C" {
6747 #[doc = "Returns the qualifier of measured values (QPM)\n\n # Returns\n\nthe QPM value (QualifierOfParameterMV)"]
6748 pub fn ParameterFloatValue_getQPM(self_: ParameterFloatValue) -> QualifierOfParameterMV;
6749}
6750#[repr(C)]
6751#[derive(Debug, Copy, Clone)]
6752pub struct sParameterActivation {
6753 _unused: [u8; 0],
6754}
6755#[doc = "ParameterActivation : InformationObject"]
6756pub type ParameterActivation = *mut sParameterActivation;
6757unsafe extern "C" {
6758 pub fn ParameterActivation_destroy(self_: ParameterActivation);
6759}
6760unsafe extern "C" {
6761 #[doc = "Create a parameter activation (P_AC_NA_1) information object\n\n # Arguments\n\n* `self` (direction in) - existing instance to reuse or NULL to create a new instance\n * `ioa` (direction in) - information object address\n * `qpa` (direction in) - qualifier of parameter activation (3 = act/deact of persistent cyclic or periodic transmission)\n\n # Returns\n\nthe initialized instance"]
6762 pub fn ParameterActivation_create(
6763 self_: ParameterActivation,
6764 ioa: ::std::os::raw::c_int,
6765 qpa: QualifierOfParameterActivation,
6766 ) -> ParameterActivation;
6767}
6768unsafe extern "C" {
6769 #[doc = "Get the qualifier of parameter activation (QPA) value\n\n # Returns\n\n3 = act/deact of persistent cyclic or periodic transmission"]
6770 pub fn ParameterActivation_getQuality(
6771 self_: ParameterActivation,
6772 ) -> QualifierOfParameterActivation;
6773}
6774#[repr(C)]
6775#[derive(Debug, Copy, Clone)]
6776pub struct sEventOfProtectionEquipmentWithCP56Time2a {
6777 _unused: [u8; 0],
6778}
6779#[doc = "EventOfProtectionEquipmentWithCP56Time2a : InformationObject"]
6780pub type EventOfProtectionEquipmentWithCP56Time2a = *mut sEventOfProtectionEquipmentWithCP56Time2a;
6781unsafe extern "C" {
6782 pub fn EventOfProtectionEquipmentWithCP56Time2a_destroy(
6783 self_: EventOfProtectionEquipmentWithCP56Time2a,
6784 );
6785}
6786unsafe extern "C" {
6787 pub fn EventOfProtectionEquipmentWithCP56Time2a_create(
6788 self_: EventOfProtectionEquipmentWithCP56Time2a,
6789 ioa: ::std::os::raw::c_int,
6790 event: SingleEvent,
6791 elapsedTime: CP16Time2a,
6792 timestamp: CP56Time2a,
6793 ) -> EventOfProtectionEquipmentWithCP56Time2a;
6794}
6795unsafe extern "C" {
6796 pub fn EventOfProtectionEquipmentWithCP56Time2a_getEvent(
6797 self_: EventOfProtectionEquipmentWithCP56Time2a,
6798 ) -> SingleEvent;
6799}
6800unsafe extern "C" {
6801 pub fn EventOfProtectionEquipmentWithCP56Time2a_getElapsedTime(
6802 self_: EventOfProtectionEquipmentWithCP56Time2a,
6803 ) -> CP16Time2a;
6804}
6805unsafe extern "C" {
6806 pub fn EventOfProtectionEquipmentWithCP56Time2a_getTimestamp(
6807 self_: EventOfProtectionEquipmentWithCP56Time2a,
6808 ) -> CP56Time2a;
6809}
6810#[repr(C)]
6811#[derive(Debug, Copy, Clone)]
6812pub struct sPackedStartEventsOfProtectionEquipmentWithCP56Time2a {
6813 _unused: [u8; 0],
6814}
6815#[doc = "PackedStartEventsOfProtectionEquipmentWithCP56Time2a : InformationObject"]
6816pub type PackedStartEventsOfProtectionEquipmentWithCP56Time2a =
6817 *mut sPackedStartEventsOfProtectionEquipmentWithCP56Time2a;
6818unsafe extern "C" {
6819 pub fn PackedStartEventsOfProtectionEquipmentWithCP56Time2a_destroy(
6820 self_: PackedStartEventsOfProtectionEquipmentWithCP56Time2a,
6821 );
6822}
6823unsafe extern "C" {
6824 pub fn PackedStartEventsOfProtectionEquipmentWithCP56Time2a_create(
6825 self_: PackedStartEventsOfProtectionEquipmentWithCP56Time2a,
6826 ioa: ::std::os::raw::c_int,
6827 event: StartEvent,
6828 qdp: QualityDescriptorP,
6829 elapsedTime: CP16Time2a,
6830 timestamp: CP56Time2a,
6831 ) -> PackedStartEventsOfProtectionEquipmentWithCP56Time2a;
6832}
6833unsafe extern "C" {
6834 pub fn PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getEvent(
6835 self_: PackedStartEventsOfProtectionEquipmentWithCP56Time2a,
6836 ) -> StartEvent;
6837}
6838unsafe extern "C" {
6839 pub fn PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getQuality(
6840 self_: PackedStartEventsOfProtectionEquipmentWithCP56Time2a,
6841 ) -> QualityDescriptorP;
6842}
6843unsafe extern "C" {
6844 pub fn PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getElapsedTime(
6845 self_: PackedStartEventsOfProtectionEquipmentWithCP56Time2a,
6846 ) -> CP16Time2a;
6847}
6848unsafe extern "C" {
6849 pub fn PackedStartEventsOfProtectionEquipmentWithCP56Time2a_getTimestamp(
6850 self_: PackedStartEventsOfProtectionEquipmentWithCP56Time2a,
6851 ) -> CP56Time2a;
6852}
6853#[repr(C)]
6854#[derive(Debug, Copy, Clone)]
6855pub struct sPackedOutputCircuitInfoWithCP56Time2a {
6856 _unused: [u8; 0],
6857}
6858#[doc = "PackedOutputCircuitInfoWithCP56Time2a : InformationObject"]
6859pub type PackedOutputCircuitInfoWithCP56Time2a = *mut sPackedOutputCircuitInfoWithCP56Time2a;
6860unsafe extern "C" {
6861 pub fn PackedOutputCircuitInfoWithCP56Time2a_destroy(
6862 self_: PackedOutputCircuitInfoWithCP56Time2a,
6863 );
6864}
6865unsafe extern "C" {
6866 pub fn PackedOutputCircuitInfoWithCP56Time2a_create(
6867 self_: PackedOutputCircuitInfoWithCP56Time2a,
6868 ioa: ::std::os::raw::c_int,
6869 oci: OutputCircuitInfo,
6870 qdp: QualityDescriptorP,
6871 operatingTime: CP16Time2a,
6872 timestamp: CP56Time2a,
6873 ) -> PackedOutputCircuitInfoWithCP56Time2a;
6874}
6875unsafe extern "C" {
6876 pub fn PackedOutputCircuitInfoWithCP56Time2a_getOCI(
6877 self_: PackedOutputCircuitInfoWithCP56Time2a,
6878 ) -> OutputCircuitInfo;
6879}
6880unsafe extern "C" {
6881 pub fn PackedOutputCircuitInfoWithCP56Time2a_getQuality(
6882 self_: PackedOutputCircuitInfoWithCP56Time2a,
6883 ) -> QualityDescriptorP;
6884}
6885unsafe extern "C" {
6886 pub fn PackedOutputCircuitInfoWithCP56Time2a_getOperatingTime(
6887 self_: PackedOutputCircuitInfoWithCP56Time2a,
6888 ) -> CP16Time2a;
6889}
6890unsafe extern "C" {
6891 pub fn PackedOutputCircuitInfoWithCP56Time2a_getTimestamp(
6892 self_: PackedOutputCircuitInfoWithCP56Time2a,
6893 ) -> CP56Time2a;
6894}
6895#[repr(C)]
6896#[derive(Debug, Copy, Clone)]
6897pub struct sDoubleCommandWithCP56Time2a {
6898 _unused: [u8; 0],
6899}
6900#[doc = "DoubleCommandWithCP56Time2a : DoubleCommand"]
6901pub type DoubleCommandWithCP56Time2a = *mut sDoubleCommandWithCP56Time2a;
6902unsafe extern "C" {
6903 pub fn DoubleCommandWithCP56Time2a_destroy(self_: DoubleCommandWithCP56Time2a);
6904}
6905unsafe extern "C" {
6906 pub fn DoubleCommandWithCP56Time2a_create(
6907 self_: DoubleCommandWithCP56Time2a,
6908 ioa: ::std::os::raw::c_int,
6909 command: ::std::os::raw::c_int,
6910 selectCommand: bool,
6911 qu: ::std::os::raw::c_int,
6912 timestamp: CP56Time2a,
6913 ) -> DoubleCommandWithCP56Time2a;
6914}
6915unsafe extern "C" {
6916 pub fn DoubleCommandWithCP56Time2a_getQU(
6917 self_: DoubleCommandWithCP56Time2a,
6918 ) -> ::std::os::raw::c_int;
6919}
6920unsafe extern "C" {
6921 pub fn DoubleCommandWithCP56Time2a_getState(
6922 self_: DoubleCommandWithCP56Time2a,
6923 ) -> ::std::os::raw::c_int;
6924}
6925unsafe extern "C" {
6926 pub fn DoubleCommandWithCP56Time2a_isSelect(self_: DoubleCommandWithCP56Time2a) -> bool;
6927}
6928unsafe extern "C" {
6929 pub fn DoubleCommandWithCP56Time2a_getTimestamp(
6930 self_: DoubleCommandWithCP56Time2a,
6931 ) -> CP56Time2a;
6932}
6933#[repr(C)]
6934#[derive(Debug, Copy, Clone)]
6935pub struct sStepCommandWithCP56Time2a {
6936 _unused: [u8; 0],
6937}
6938#[doc = "StepCommandWithCP56Time2a : InformationObject"]
6939pub type StepCommandWithCP56Time2a = *mut sStepCommandWithCP56Time2a;
6940unsafe extern "C" {
6941 pub fn StepCommandWithCP56Time2a_destroy(self_: StepCommandWithCP56Time2a);
6942}
6943unsafe extern "C" {
6944 pub fn StepCommandWithCP56Time2a_create(
6945 self_: StepCommandWithCP56Time2a,
6946 ioa: ::std::os::raw::c_int,
6947 command: StepCommandValue,
6948 selectCommand: bool,
6949 qu: ::std::os::raw::c_int,
6950 timestamp: CP56Time2a,
6951 ) -> StepCommandWithCP56Time2a;
6952}
6953unsafe extern "C" {
6954 pub fn StepCommandWithCP56Time2a_getQU(
6955 self_: StepCommandWithCP56Time2a,
6956 ) -> ::std::os::raw::c_int;
6957}
6958unsafe extern "C" {
6959 pub fn StepCommandWithCP56Time2a_getState(self_: StepCommandWithCP56Time2a)
6960 -> StepCommandValue;
6961}
6962unsafe extern "C" {
6963 pub fn StepCommandWithCP56Time2a_isSelect(self_: StepCommandWithCP56Time2a) -> bool;
6964}
6965unsafe extern "C" {
6966 pub fn StepCommandWithCP56Time2a_getTimestamp(self_: StepCommandWithCP56Time2a) -> CP56Time2a;
6967}
6968#[repr(C)]
6969#[derive(Debug, Copy, Clone)]
6970pub struct sSetpointCommandNormalizedWithCP56Time2a {
6971 _unused: [u8; 0],
6972}
6973#[doc = "SetpointCommandNormalizedWithCP56Time2a : SetpointCommandNormalized"]
6974pub type SetpointCommandNormalizedWithCP56Time2a = *mut sSetpointCommandNormalizedWithCP56Time2a;
6975unsafe extern "C" {
6976 pub fn SetpointCommandNormalizedWithCP56Time2a_destroy(
6977 self_: SetpointCommandNormalizedWithCP56Time2a,
6978 );
6979}
6980unsafe extern "C" {
6981 pub fn SetpointCommandNormalizedWithCP56Time2a_create(
6982 self_: SetpointCommandNormalizedWithCP56Time2a,
6983 ioa: ::std::os::raw::c_int,
6984 value: f32,
6985 selectCommand: bool,
6986 ql: ::std::os::raw::c_int,
6987 timestamp: CP56Time2a,
6988 ) -> SetpointCommandNormalizedWithCP56Time2a;
6989}
6990unsafe extern "C" {
6991 pub fn SetpointCommandNormalizedWithCP56Time2a_getValue(
6992 self_: SetpointCommandNormalizedWithCP56Time2a,
6993 ) -> f32;
6994}
6995unsafe extern "C" {
6996 pub fn SetpointCommandNormalizedWithCP56Time2a_getQL(
6997 self_: SetpointCommandNormalizedWithCP56Time2a,
6998 ) -> ::std::os::raw::c_int;
6999}
7000unsafe extern "C" {
7001 pub fn SetpointCommandNormalizedWithCP56Time2a_isSelect(
7002 self_: SetpointCommandNormalizedWithCP56Time2a,
7003 ) -> bool;
7004}
7005unsafe extern "C" {
7006 pub fn SetpointCommandNormalizedWithCP56Time2a_getTimestamp(
7007 self_: SetpointCommandNormalizedWithCP56Time2a,
7008 ) -> CP56Time2a;
7009}
7010#[repr(C)]
7011#[derive(Debug, Copy, Clone)]
7012pub struct sSetpointCommandScaledWithCP56Time2a {
7013 _unused: [u8; 0],
7014}
7015#[doc = "SetpointCommandScaledWithCP56Time2a : SetpointCommandScaled"]
7016pub type SetpointCommandScaledWithCP56Time2a = *mut sSetpointCommandScaledWithCP56Time2a;
7017unsafe extern "C" {
7018 pub fn SetpointCommandScaledWithCP56Time2a_destroy(self_: SetpointCommandScaledWithCP56Time2a);
7019}
7020unsafe extern "C" {
7021 pub fn SetpointCommandScaledWithCP56Time2a_create(
7022 self_: SetpointCommandScaledWithCP56Time2a,
7023 ioa: ::std::os::raw::c_int,
7024 value: ::std::os::raw::c_int,
7025 selectCommand: bool,
7026 ql: ::std::os::raw::c_int,
7027 timestamp: CP56Time2a,
7028 ) -> SetpointCommandScaledWithCP56Time2a;
7029}
7030unsafe extern "C" {
7031 pub fn SetpointCommandScaledWithCP56Time2a_getValue(
7032 self_: SetpointCommandScaledWithCP56Time2a,
7033 ) -> ::std::os::raw::c_int;
7034}
7035unsafe extern "C" {
7036 pub fn SetpointCommandScaledWithCP56Time2a_getQL(
7037 self_: SetpointCommandScaledWithCP56Time2a,
7038 ) -> ::std::os::raw::c_int;
7039}
7040unsafe extern "C" {
7041 pub fn SetpointCommandScaledWithCP56Time2a_isSelect(
7042 self_: SetpointCommandScaledWithCP56Time2a,
7043 ) -> bool;
7044}
7045unsafe extern "C" {
7046 pub fn SetpointCommandScaledWithCP56Time2a_getTimestamp(
7047 self_: SetpointCommandScaledWithCP56Time2a,
7048 ) -> CP56Time2a;
7049}
7050#[repr(C)]
7051#[derive(Debug, Copy, Clone)]
7052pub struct sSetpointCommandShortWithCP56Time2a {
7053 _unused: [u8; 0],
7054}
7055#[doc = "SetpointCommandShortWithCP56Time2a : SetpointCommandShort"]
7056pub type SetpointCommandShortWithCP56Time2a = *mut sSetpointCommandShortWithCP56Time2a;
7057unsafe extern "C" {
7058 pub fn SetpointCommandShortWithCP56Time2a_destroy(self_: SetpointCommandShortWithCP56Time2a);
7059}
7060unsafe extern "C" {
7061 pub fn SetpointCommandShortWithCP56Time2a_create(
7062 self_: SetpointCommandShortWithCP56Time2a,
7063 ioa: ::std::os::raw::c_int,
7064 value: f32,
7065 selectCommand: bool,
7066 ql: ::std::os::raw::c_int,
7067 timestamp: CP56Time2a,
7068 ) -> SetpointCommandShortWithCP56Time2a;
7069}
7070unsafe extern "C" {
7071 pub fn SetpointCommandShortWithCP56Time2a_getValue(
7072 self_: SetpointCommandShortWithCP56Time2a,
7073 ) -> f32;
7074}
7075unsafe extern "C" {
7076 pub fn SetpointCommandShortWithCP56Time2a_getQL(
7077 self_: SetpointCommandShortWithCP56Time2a,
7078 ) -> ::std::os::raw::c_int;
7079}
7080unsafe extern "C" {
7081 pub fn SetpointCommandShortWithCP56Time2a_isSelect(
7082 self_: SetpointCommandShortWithCP56Time2a,
7083 ) -> bool;
7084}
7085unsafe extern "C" {
7086 pub fn SetpointCommandShortWithCP56Time2a_getTimestamp(
7087 self_: SetpointCommandShortWithCP56Time2a,
7088 ) -> CP56Time2a;
7089}
7090#[repr(C)]
7091#[derive(Debug, Copy, Clone)]
7092pub struct sBitstring32CommandWithCP56Time2a {
7093 _unused: [u8; 0],
7094}
7095#[doc = "Bitstring32CommandWithCP56Time2a: Bitstring32Command"]
7096pub type Bitstring32CommandWithCP56Time2a = *mut sBitstring32CommandWithCP56Time2a;
7097unsafe extern "C" {
7098 pub fn Bitstring32CommandWithCP56Time2a_create(
7099 self_: Bitstring32CommandWithCP56Time2a,
7100 ioa: ::std::os::raw::c_int,
7101 value: u32,
7102 timestamp: CP56Time2a,
7103 ) -> Bitstring32CommandWithCP56Time2a;
7104}
7105unsafe extern "C" {
7106 pub fn Bitstring32CommandWithCP56Time2a_destroy(self_: Bitstring32CommandWithCP56Time2a);
7107}
7108unsafe extern "C" {
7109 pub fn Bitstring32CommandWithCP56Time2a_getValue(
7110 self_: Bitstring32CommandWithCP56Time2a,
7111 ) -> u32;
7112}
7113unsafe extern "C" {
7114 pub fn Bitstring32CommandWithCP56Time2a_getTimestamp(
7115 self_: Bitstring32CommandWithCP56Time2a,
7116 ) -> CP56Time2a;
7117}
7118#[repr(C)]
7119#[derive(Debug, Copy, Clone)]
7120pub struct sCounterInterrogationCommand {
7121 _unused: [u8; 0],
7122}
7123#[doc = "CounterInterrogationCommand : InformationObject"]
7124pub type CounterInterrogationCommand = *mut sCounterInterrogationCommand;
7125unsafe extern "C" {
7126 pub fn CounterInterrogationCommand_create(
7127 self_: CounterInterrogationCommand,
7128 ioa: ::std::os::raw::c_int,
7129 qcc: QualifierOfCIC,
7130 ) -> CounterInterrogationCommand;
7131}
7132unsafe extern "C" {
7133 pub fn CounterInterrogationCommand_destroy(self_: CounterInterrogationCommand);
7134}
7135unsafe extern "C" {
7136 pub fn CounterInterrogationCommand_getQCC(self_: CounterInterrogationCommand)
7137 -> QualifierOfCIC;
7138}
7139#[repr(C)]
7140#[derive(Debug, Copy, Clone)]
7141pub struct sTestCommand {
7142 _unused: [u8; 0],
7143}
7144#[doc = "TestCommand : InformationObject"]
7145pub type TestCommand = *mut sTestCommand;
7146unsafe extern "C" {
7147 pub fn TestCommand_create(self_: TestCommand) -> TestCommand;
7148}
7149unsafe extern "C" {
7150 pub fn TestCommand_destroy(self_: TestCommand);
7151}
7152unsafe extern "C" {
7153 pub fn TestCommand_isValid(self_: TestCommand) -> bool;
7154}
7155#[repr(C)]
7156#[derive(Debug, Copy, Clone)]
7157pub struct sTestCommandWithCP56Time2a {
7158 _unused: [u8; 0],
7159}
7160#[doc = "TestCommandWithCP56Time2a : InformationObject"]
7161pub type TestCommandWithCP56Time2a = *mut sTestCommandWithCP56Time2a;
7162unsafe extern "C" {
7163 #[doc = "Create a test command with CP56Time2a timestamp information object\n\n # Arguments\n\n* `self` (direction in) - existing instance to use or NULL to create a new instance\n * `tsc` (direction in) - test sequence counter\n * `timestamp` (direction in) -\n\n # Returns\n\nthe new or initialized instance"]
7164 pub fn TestCommandWithCP56Time2a_create(
7165 self_: TestCommandWithCP56Time2a,
7166 tsc: u16,
7167 timestamp: CP56Time2a,
7168 ) -> TestCommandWithCP56Time2a;
7169}
7170unsafe extern "C" {
7171 pub fn TestCommandWithCP56Time2a_destroy(self_: TestCommandWithCP56Time2a);
7172}
7173unsafe extern "C" {
7174 pub fn TestCommandWithCP56Time2a_getCounter(self_: TestCommandWithCP56Time2a) -> u16;
7175}
7176unsafe extern "C" {
7177 pub fn TestCommandWithCP56Time2a_getTimestamp(self_: TestCommandWithCP56Time2a) -> CP56Time2a;
7178}
7179#[repr(C)]
7180#[derive(Debug, Copy, Clone)]
7181pub struct sResetProcessCommand {
7182 _unused: [u8; 0],
7183}
7184#[doc = "ResetProcessCommand : InformationObject"]
7185pub type ResetProcessCommand = *mut sResetProcessCommand;
7186unsafe extern "C" {
7187 pub fn ResetProcessCommand_create(
7188 self_: ResetProcessCommand,
7189 ioa: ::std::os::raw::c_int,
7190 qrp: QualifierOfRPC,
7191 ) -> ResetProcessCommand;
7192}
7193unsafe extern "C" {
7194 pub fn ResetProcessCommand_destroy(self_: ResetProcessCommand);
7195}
7196unsafe extern "C" {
7197 pub fn ResetProcessCommand_getQRP(self_: ResetProcessCommand) -> QualifierOfRPC;
7198}
7199#[repr(C)]
7200#[derive(Debug, Copy, Clone)]
7201pub struct sDelayAcquisitionCommand {
7202 _unused: [u8; 0],
7203}
7204#[doc = "DelayAcquisitionCommand : InformationObject"]
7205pub type DelayAcquisitionCommand = *mut sDelayAcquisitionCommand;
7206unsafe extern "C" {
7207 pub fn DelayAcquisitionCommand_create(
7208 self_: DelayAcquisitionCommand,
7209 ioa: ::std::os::raw::c_int,
7210 delay: CP16Time2a,
7211 ) -> DelayAcquisitionCommand;
7212}
7213unsafe extern "C" {
7214 pub fn DelayAcquisitionCommand_destroy(self_: DelayAcquisitionCommand);
7215}
7216unsafe extern "C" {
7217 pub fn DelayAcquisitionCommand_getDelay(self_: DelayAcquisitionCommand) -> CP16Time2a;
7218}
7219#[repr(C)]
7220#[derive(Debug, Copy, Clone)]
7221pub struct sEndOfInitialization {
7222 _unused: [u8; 0],
7223}
7224#[doc = "EndOfInitialization : InformationObject"]
7225pub type EndOfInitialization = *mut sEndOfInitialization;
7226unsafe extern "C" {
7227 pub fn EndOfInitialization_create(self_: EndOfInitialization, coi: u8) -> EndOfInitialization;
7228}
7229unsafe extern "C" {
7230 pub fn EndOfInitialization_destroy(self_: EndOfInitialization);
7231}
7232unsafe extern "C" {
7233 pub fn EndOfInitialization_getCOI(self_: EndOfInitialization) -> u8;
7234}
7235#[repr(C)]
7236#[derive(Debug, Copy, Clone)]
7237pub struct sFileReady {
7238 _unused: [u8; 0],
7239}
7240pub type FileReady = *mut sFileReady;
7241unsafe extern "C" {
7242 #[doc = "Create a new instance of FileReady information object\n\n For message type: F_FR_NA_1 (120)\n\n # Arguments\n\n* `self` -\n * `ioa` -\n * `nof` - name of file (1 for transparent file)\n * `lengthOfFile` -\n * `positive` - when true file is ready to transmit"]
7243 pub fn FileReady_create(
7244 self_: FileReady,
7245 ioa: ::std::os::raw::c_int,
7246 nof: u16,
7247 lengthOfFile: u32,
7248 positive: bool,
7249 ) -> FileReady;
7250}
7251unsafe extern "C" {
7252 pub fn FileReady_getFRQ(self_: FileReady) -> u8;
7253}
7254unsafe extern "C" {
7255 pub fn FileReady_setFRQ(self_: FileReady, frq: u8);
7256}
7257unsafe extern "C" {
7258 pub fn FileReady_isPositive(self_: FileReady) -> bool;
7259}
7260unsafe extern "C" {
7261 pub fn FileReady_getNOF(self_: FileReady) -> u16;
7262}
7263unsafe extern "C" {
7264 pub fn FileReady_getLengthOfFile(self_: FileReady) -> u32;
7265}
7266unsafe extern "C" {
7267 pub fn FileReady_destroy(self_: FileReady);
7268}
7269#[repr(C)]
7270#[derive(Debug, Copy, Clone)]
7271pub struct sSectionReady {
7272 _unused: [u8; 0],
7273}
7274#[doc = "SectionReady : InformationObject"]
7275pub type SectionReady = *mut sSectionReady;
7276unsafe extern "C" {
7277 pub fn SectionReady_create(
7278 self_: SectionReady,
7279 ioa: ::std::os::raw::c_int,
7280 nof: u16,
7281 nos: u8,
7282 lengthOfSection: u32,
7283 notReady: bool,
7284 ) -> SectionReady;
7285}
7286unsafe extern "C" {
7287 pub fn SectionReady_isNotReady(self_: SectionReady) -> bool;
7288}
7289unsafe extern "C" {
7290 pub fn SectionReady_getSRQ(self_: SectionReady) -> u8;
7291}
7292unsafe extern "C" {
7293 pub fn SectionReady_setSRQ(self_: SectionReady, srq: u8);
7294}
7295unsafe extern "C" {
7296 pub fn SectionReady_getNOF(self_: SectionReady) -> u16;
7297}
7298unsafe extern "C" {
7299 pub fn SectionReady_getNameOfSection(self_: SectionReady) -> u8;
7300}
7301unsafe extern "C" {
7302 pub fn SectionReady_getLengthOfSection(self_: SectionReady) -> u32;
7303}
7304unsafe extern "C" {
7305 pub fn SectionReady_destroy(self_: SectionReady);
7306}
7307#[repr(C)]
7308#[derive(Debug, Copy, Clone)]
7309pub struct sFileCallOrSelect {
7310 _unused: [u8; 0],
7311}
7312#[doc = "FileCallOrSelect : InformationObject"]
7313pub type FileCallOrSelect = *mut sFileCallOrSelect;
7314unsafe extern "C" {
7315 pub fn FileCallOrSelect_create(
7316 self_: FileCallOrSelect,
7317 ioa: ::std::os::raw::c_int,
7318 nof: u16,
7319 nos: u8,
7320 scq: u8,
7321 ) -> FileCallOrSelect;
7322}
7323unsafe extern "C" {
7324 pub fn FileCallOrSelect_getNOF(self_: FileCallOrSelect) -> u16;
7325}
7326unsafe extern "C" {
7327 pub fn FileCallOrSelect_getNameOfSection(self_: FileCallOrSelect) -> u8;
7328}
7329unsafe extern "C" {
7330 pub fn FileCallOrSelect_getSCQ(self_: FileCallOrSelect) -> u8;
7331}
7332unsafe extern "C" {
7333 pub fn FileCallOrSelect_destroy(self_: FileCallOrSelect);
7334}
7335#[repr(C)]
7336#[derive(Debug, Copy, Clone)]
7337pub struct sFileLastSegmentOrSection {
7338 _unused: [u8; 0],
7339}
7340#[doc = "FileLastSegmentOrSection : InformationObject"]
7341pub type FileLastSegmentOrSection = *mut sFileLastSegmentOrSection;
7342unsafe extern "C" {
7343 pub fn FileLastSegmentOrSection_create(
7344 self_: FileLastSegmentOrSection,
7345 ioa: ::std::os::raw::c_int,
7346 nof: u16,
7347 nos: u8,
7348 lsq: u8,
7349 chs: u8,
7350 ) -> FileLastSegmentOrSection;
7351}
7352unsafe extern "C" {
7353 pub fn FileLastSegmentOrSection_getNOF(self_: FileLastSegmentOrSection) -> u16;
7354}
7355unsafe extern "C" {
7356 pub fn FileLastSegmentOrSection_getNameOfSection(self_: FileLastSegmentOrSection) -> u8;
7357}
7358unsafe extern "C" {
7359 pub fn FileLastSegmentOrSection_getLSQ(self_: FileLastSegmentOrSection) -> u8;
7360}
7361unsafe extern "C" {
7362 pub fn FileLastSegmentOrSection_getCHS(self_: FileLastSegmentOrSection) -> u8;
7363}
7364unsafe extern "C" {
7365 pub fn FileLastSegmentOrSection_destroy(self_: FileLastSegmentOrSection);
7366}
7367#[repr(C)]
7368#[derive(Debug, Copy, Clone)]
7369pub struct sFileACK {
7370 _unused: [u8; 0],
7371}
7372#[doc = "FileACK : InformationObject"]
7373pub type FileACK = *mut sFileACK;
7374unsafe extern "C" {
7375 pub fn FileACK_create(
7376 self_: FileACK,
7377 ioa: ::std::os::raw::c_int,
7378 nof: u16,
7379 nos: u8,
7380 afq: u8,
7381 ) -> FileACK;
7382}
7383unsafe extern "C" {
7384 pub fn FileACK_getNOF(self_: FileACK) -> u16;
7385}
7386unsafe extern "C" {
7387 pub fn FileACK_getNameOfSection(self_: FileACK) -> u8;
7388}
7389unsafe extern "C" {
7390 pub fn FileACK_getAFQ(self_: FileACK) -> u8;
7391}
7392unsafe extern "C" {
7393 pub fn FileACK_destroy(self_: FileACK);
7394}
7395#[repr(C)]
7396#[derive(Debug, Copy, Clone)]
7397pub struct sFileSegment {
7398 _unused: [u8; 0],
7399}
7400#[doc = "FileSegment : InformationObject"]
7401pub type FileSegment = *mut sFileSegment;
7402unsafe extern "C" {
7403 pub fn FileSegment_create(
7404 self_: FileSegment,
7405 ioa: ::std::os::raw::c_int,
7406 nof: u16,
7407 nos: u8,
7408 data: *mut u8,
7409 los: u8,
7410 ) -> FileSegment;
7411}
7412unsafe extern "C" {
7413 pub fn FileSegment_getNOF(self_: FileSegment) -> u16;
7414}
7415unsafe extern "C" {
7416 pub fn FileSegment_getNameOfSection(self_: FileSegment) -> u8;
7417}
7418unsafe extern "C" {
7419 pub fn FileSegment_getLengthOfSegment(self_: FileSegment) -> u8;
7420}
7421unsafe extern "C" {
7422 pub fn FileSegment_getSegmentData(self_: FileSegment) -> *mut u8;
7423}
7424unsafe extern "C" {
7425 pub fn FileSegment_GetMaxDataSize(
7426 parameters: CS101_AppLayerParameters,
7427 ) -> ::std::os::raw::c_int;
7428}
7429unsafe extern "C" {
7430 pub fn FileSegment_destroy(self_: FileSegment);
7431}
7432#[repr(C)]
7433#[derive(Debug, Copy, Clone)]
7434pub struct sFileDirectory {
7435 _unused: [u8; 0],
7436}
7437#[doc = "FileDirectory: InformationObject"]
7438pub type FileDirectory = *mut sFileDirectory;
7439unsafe extern "C" {
7440 pub fn FileDirectory_create(
7441 self_: FileDirectory,
7442 ioa: ::std::os::raw::c_int,
7443 nof: u16,
7444 lengthOfFile: u32,
7445 sof: u8,
7446 creationTime: CP56Time2a,
7447 ) -> FileDirectory;
7448}
7449unsafe extern "C" {
7450 pub fn FileDirectory_getNOF(self_: FileDirectory) -> u16;
7451}
7452unsafe extern "C" {
7453 pub fn FileDirectory_getSOF(self_: FileDirectory) -> u8;
7454}
7455unsafe extern "C" {
7456 pub fn FileDirectory_getSTATUS(self_: FileDirectory) -> ::std::os::raw::c_int;
7457}
7458unsafe extern "C" {
7459 pub fn FileDirectory_getLFD(self_: FileDirectory) -> bool;
7460}
7461unsafe extern "C" {
7462 pub fn FileDirectory_getFOR(self_: FileDirectory) -> bool;
7463}
7464unsafe extern "C" {
7465 pub fn FileDirectory_getFA(self_: FileDirectory) -> bool;
7466}
7467unsafe extern "C" {
7468 pub fn FileDirectory_getLengthOfFile(self_: FileDirectory) -> u32;
7469}
7470unsafe extern "C" {
7471 pub fn FileDirectory_getCreationTime(self_: FileDirectory) -> CP56Time2a;
7472}
7473unsafe extern "C" {
7474 pub fn FileDirectory_destroy(self_: FileDirectory);
7475}
7476#[repr(C)]
7477#[derive(Debug, Copy, Clone)]
7478pub struct sQueryLog {
7479 _unused: [u8; 0],
7480}
7481#[doc = "QueryLog: InformationObject"]
7482pub type QueryLog = *mut sQueryLog;
7483unsafe extern "C" {
7484 pub fn QueryLog_create(
7485 self_: QueryLog,
7486 ioa: ::std::os::raw::c_int,
7487 nof: u16,
7488 rangeStartTime: CP56Time2a,
7489 rangeStopTime: CP56Time2a,
7490 ) -> QueryLog;
7491}
7492unsafe extern "C" {
7493 pub fn QueryLog_getNOF(self_: QueryLog) -> u16;
7494}
7495unsafe extern "C" {
7496 pub fn QueryLog_getRangeStartTime(self_: QueryLog) -> CP56Time2a;
7497}
7498unsafe extern "C" {
7499 pub fn QueryLog_getRangeStopTime(self_: QueryLog) -> CP56Time2a;
7500}
7501unsafe extern "C" {
7502 pub fn QueryLog_destroy(self_: QueryLog);
7503}
7504pub const CS101_CauseOfTransmission_CS101_COT_PERIODIC: CS101_CauseOfTransmission = 1;
7505pub const CS101_CauseOfTransmission_CS101_COT_BACKGROUND_SCAN: CS101_CauseOfTransmission = 2;
7506pub const CS101_CauseOfTransmission_CS101_COT_SPONTANEOUS: CS101_CauseOfTransmission = 3;
7507pub const CS101_CauseOfTransmission_CS101_COT_INITIALIZED: CS101_CauseOfTransmission = 4;
7508pub const CS101_CauseOfTransmission_CS101_COT_REQUEST: CS101_CauseOfTransmission = 5;
7509pub const CS101_CauseOfTransmission_CS101_COT_ACTIVATION: CS101_CauseOfTransmission = 6;
7510pub const CS101_CauseOfTransmission_CS101_COT_ACTIVATION_CON: CS101_CauseOfTransmission = 7;
7511pub const CS101_CauseOfTransmission_CS101_COT_DEACTIVATION: CS101_CauseOfTransmission = 8;
7512pub const CS101_CauseOfTransmission_CS101_COT_DEACTIVATION_CON: CS101_CauseOfTransmission = 9;
7513pub const CS101_CauseOfTransmission_CS101_COT_ACTIVATION_TERMINATION: CS101_CauseOfTransmission =
7514 10;
7515pub const CS101_CauseOfTransmission_CS101_COT_RETURN_INFO_REMOTE: CS101_CauseOfTransmission = 11;
7516pub const CS101_CauseOfTransmission_CS101_COT_RETURN_INFO_LOCAL: CS101_CauseOfTransmission = 12;
7517pub const CS101_CauseOfTransmission_CS101_COT_FILE_TRANSFER: CS101_CauseOfTransmission = 13;
7518pub const CS101_CauseOfTransmission_CS101_COT_AUTHENTICATION: CS101_CauseOfTransmission = 14;
7519pub const CS101_CauseOfTransmission_CS101_COT_MAINTENANCE_OF_AUTH_SESSION_KEY:
7520 CS101_CauseOfTransmission = 15;
7521pub const CS101_CauseOfTransmission_CS101_COT_MAINTENANCE_OF_USER_ROLE_AND_UPDATE_KEY:
7522 CS101_CauseOfTransmission = 16;
7523pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_STATION: CS101_CauseOfTransmission =
7524 20;
7525pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_1: CS101_CauseOfTransmission =
7526 21;
7527pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_2: CS101_CauseOfTransmission =
7528 22;
7529pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_3: CS101_CauseOfTransmission =
7530 23;
7531pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_4: CS101_CauseOfTransmission =
7532 24;
7533pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_5: CS101_CauseOfTransmission =
7534 25;
7535pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_6: CS101_CauseOfTransmission =
7536 26;
7537pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_7: CS101_CauseOfTransmission =
7538 27;
7539pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_8: CS101_CauseOfTransmission =
7540 28;
7541pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_9: CS101_CauseOfTransmission =
7542 29;
7543pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_10: CS101_CauseOfTransmission =
7544 30;
7545pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_11: CS101_CauseOfTransmission =
7546 31;
7547pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_12: CS101_CauseOfTransmission =
7548 32;
7549pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_13: CS101_CauseOfTransmission =
7550 33;
7551pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_14: CS101_CauseOfTransmission =
7552 34;
7553pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_15: CS101_CauseOfTransmission =
7554 35;
7555pub const CS101_CauseOfTransmission_CS101_COT_INTERROGATED_BY_GROUP_16: CS101_CauseOfTransmission =
7556 36;
7557pub const CS101_CauseOfTransmission_CS101_COT_REQUESTED_BY_GENERAL_COUNTER:
7558 CS101_CauseOfTransmission = 37;
7559pub const CS101_CauseOfTransmission_CS101_COT_REQUESTED_BY_GROUP_1_COUNTER:
7560 CS101_CauseOfTransmission = 38;
7561pub const CS101_CauseOfTransmission_CS101_COT_REQUESTED_BY_GROUP_2_COUNTER:
7562 CS101_CauseOfTransmission = 39;
7563pub const CS101_CauseOfTransmission_CS101_COT_REQUESTED_BY_GROUP_3_COUNTER:
7564 CS101_CauseOfTransmission = 40;
7565pub const CS101_CauseOfTransmission_CS101_COT_REQUESTED_BY_GROUP_4_COUNTER:
7566 CS101_CauseOfTransmission = 41;
7567pub const CS101_CauseOfTransmission_CS101_COT_UNKNOWN_TYPE_ID: CS101_CauseOfTransmission = 44;
7568pub const CS101_CauseOfTransmission_CS101_COT_UNKNOWN_COT: CS101_CauseOfTransmission = 45;
7569pub const CS101_CauseOfTransmission_CS101_COT_UNKNOWN_CA: CS101_CauseOfTransmission = 46;
7570pub const CS101_CauseOfTransmission_CS101_COT_UNKNOWN_IOA: CS101_CauseOfTransmission = 47;
7571pub type CS101_CauseOfTransmission = ::std::os::raw::c_uint;
7572unsafe extern "C" {
7573 pub fn CS101_CauseOfTransmission_toString(
7574 self_: CS101_CauseOfTransmission,
7575 ) -> *const ::std::os::raw::c_char;
7576}
7577unsafe extern "C" {
7578 pub fn Lib60870_enableDebugOutput(value: bool);
7579}
7580unsafe extern "C" {
7581 pub fn Lib60870_getLibraryVersionInfo() -> Lib60870VersionInfo;
7582}
7583unsafe extern "C" {
7584 #[doc = "Check if the test flag of the ASDU is set"]
7585 pub fn CS101_ASDU_isTest(self_: CS101_ASDU) -> bool;
7586}
7587unsafe extern "C" {
7588 #[doc = "Set the test flag of the ASDU"]
7589 pub fn CS101_ASDU_setTest(self_: CS101_ASDU, value: bool);
7590}
7591unsafe extern "C" {
7592 #[doc = "Check if the negative flag of the ASDU is set"]
7593 pub fn CS101_ASDU_isNegative(self_: CS101_ASDU) -> bool;
7594}
7595unsafe extern "C" {
7596 #[doc = "Set the negative flag of the ASDU"]
7597 pub fn CS101_ASDU_setNegative(self_: CS101_ASDU, value: bool);
7598}
7599unsafe extern "C" {
7600 #[doc = "get the OA (originator address) of the ASDU."]
7601 pub fn CS101_ASDU_getOA(self_: CS101_ASDU) -> ::std::os::raw::c_int;
7602}
7603unsafe extern "C" {
7604 #[doc = "Get the cause of transmission (COT) of the ASDU"]
7605 pub fn CS101_ASDU_getCOT(self_: CS101_ASDU) -> CS101_CauseOfTransmission;
7606}
7607unsafe extern "C" {
7608 #[doc = "Set the cause of transmission (COT) of the ASDU"]
7609 pub fn CS101_ASDU_setCOT(self_: CS101_ASDU, value: CS101_CauseOfTransmission);
7610}
7611unsafe extern "C" {
7612 #[doc = "Get the common address (CA) of the ASDU"]
7613 pub fn CS101_ASDU_getCA(self_: CS101_ASDU) -> ::std::os::raw::c_int;
7614}
7615unsafe extern "C" {
7616 #[doc = "Set the common address (CA) of the ASDU\n\n # Arguments\n\n* `ca` - the ca in unstructured form"]
7617 pub fn CS101_ASDU_setCA(self_: CS101_ASDU, ca: ::std::os::raw::c_int);
7618}
7619unsafe extern "C" {
7620 #[doc = "Get the type ID of the ASDU\n\n # Returns\n\nthe type ID to identify the ASDU type"]
7621 pub fn CS101_ASDU_getTypeID(self_: CS101_ASDU) -> IEC60870_5_TypeID;
7622}
7623unsafe extern "C" {
7624 #[doc = "Set the type ID of the ASDU\n\n NOTE: Usually it is not required to call this function as the type is determined when the\n ASDU is parsed or when a new information object is added with CS101_ASDU_addInformationObject\n The function is intended to be used by library extensions of for creating private ASDU types.\n\n # Arguments\n\n* `typeId` - the type ID to identify the ASDU type"]
7625 pub fn CS101_ASDU_setTypeID(self_: CS101_ASDU, typeId: IEC60870_5_TypeID);
7626}
7627unsafe extern "C" {
7628 #[doc = "Check if the ASDU contains a sequence of consecutive information objects\n\n NOTE: in a sequence of consecutive information objects only the first information object address\n is encoded. The following information objects ahve consecutive information object addresses.\n\n # Returns\n\ntrue when the ASDU represents a sequence of consecutive information objects, false otherwise"]
7629 pub fn CS101_ASDU_isSequence(self_: CS101_ASDU) -> bool;
7630}
7631unsafe extern "C" {
7632 #[doc = "Set the ASDU to represent a sequence of consecutive information objects\n\n NOTE: It is not required to use this function when constructing ASDUs as this information is\n already provided when calling one of the constructors CS101_ASDU_create or CS101_ASDU_initializeStatic\n\n # Arguments\n\n* `isSequence` - specify if the ASDU represents a sequence of consecutive information objects"]
7633 pub fn CS101_ASDU_setSequence(self_: CS101_ASDU, isSequence: bool);
7634}
7635unsafe extern "C" {
7636 #[doc = "Get the number of information objects (elements) in the ASDU\n\n # Returns\n\nthe number of information objects/element (valid range 0 - 127)"]
7637 pub fn CS101_ASDU_getNumberOfElements(self_: CS101_ASDU) -> ::std::os::raw::c_int;
7638}
7639unsafe extern "C" {
7640 #[doc = "Set the number of information objects (elements) in the ASDU\n\n NOTE: Usually it is not required to call this function as the number of elements is set when the\n ASDU is parsed or when a new information object is added with CS101_ASDU_addInformationObject\n The function is intended to be used by library extensions of for creating private ASDU types.\n\n # Arguments\n\n* `numberOfElements` - the number of information objects/element (valid range 0 - 127)"]
7641 pub fn CS101_ASDU_setNumberOfElements(
7642 self_: CS101_ASDU,
7643 numberOfElements: ::std::os::raw::c_int,
7644 );
7645}
7646unsafe extern "C" {
7647 #[doc = "Get the information object with the given index\n\n # Arguments\n\n* `index` - the index of the information object (starting with 0)\n\n # Returns\n\nthe information object, or NULL if there is no information object with the given index"]
7648 pub fn CS101_ASDU_getElement(
7649 self_: CS101_ASDU,
7650 index: ::std::os::raw::c_int,
7651 ) -> InformationObject;
7652}
7653unsafe extern "C" {
7654 #[doc = "Get the information object with the given index and store it in the provided information object instance\n\n # Arguments\n\n* `io` - if not NULL use the provided information object instance to store the information, has to be of correct type.\n * `index` - the index of the information object (starting with 0)\n\n # Returns\n\nthe information object, or NULL if there is no information object with the given index"]
7655 pub fn CS101_ASDU_getElementEx(
7656 self_: CS101_ASDU,
7657 io: InformationObject,
7658 index: ::std::os::raw::c_int,
7659 ) -> InformationObject;
7660}
7661unsafe extern "C" {
7662 #[doc = "Create a new ASDU. The type ID will be derived from the first InformationObject that will be added\n\n # Arguments\n\n* `parameters` - the application layer parameters used to encode the ASDU\n * `isSequence` - if the information objects will be encoded as a compact sequence of information objects with subsequent IOA values\n * `cot` - cause of transmission (COT)\n * `oa` - originator address (OA) to be used\n * `ca` - the common address (CA) of the ASDU\n * `isTest` - if the test flag will be set or not\n * `isNegative` - if the negative falg will be set or not\n\n # Returns\n\nthe new CS101_ASDU instance"]
7663 pub fn CS101_ASDU_create(
7664 parameters: CS101_AppLayerParameters,
7665 isSequence: bool,
7666 cot: CS101_CauseOfTransmission,
7667 oa: ::std::os::raw::c_int,
7668 ca: ::std::os::raw::c_int,
7669 isTest: bool,
7670 isNegative: bool,
7671 ) -> CS101_ASDU;
7672}
7673unsafe extern "C" {
7674 #[doc = "Create a new ASDU instance from a buffer containing the raw ASDU message bytes\n\n NOTE: Do not try to append information objects to the instance!\n\n # Arguments\n\n* `parameters` - the application layer parameters used to encode the ASDU\n * `msg` - the buffer containing the raw ASDU message bytes\n * `msgLength` - the length of the message\n\n # Returns\n\nthe new CS101_ASDU instance"]
7675 pub fn CS101_ASDU_createFromBuffer(
7676 parameters: CS101_AppLayerParameters,
7677 msg: *mut u8,
7678 msgLength: ::std::os::raw::c_int,
7679 ) -> CS101_ASDU;
7680}
7681unsafe extern "C" {
7682 #[doc = "Create a new ASDU and store it in the provided static ASDU structure.\n\n NOTE: The type ID will be derived from the first InformationObject that will be added.\n\n # Arguments\n\n* `self` - pointer to the statically allocated data structure\n * `parameters` - the application layer parameters used to encode the ASDU\n * `isSequence` - if the information objects will be encoded as a compact sequence of information objects with subsequent IOA values\n * `cot` - cause of transmission (COT)\n * `oa` - originator address (OA) to be used\n * `ca` - the common address (CA) of the ASDU\n * `isTest` - if the test flag will be set or not\n * `isNegative` - if the negative falg will be set or not\n\n # Returns\n\nthe new CS101_ASDU instance"]
7683 pub fn CS101_ASDU_initializeStatic(
7684 self_: CS101_StaticASDU,
7685 parameters: CS101_AppLayerParameters,
7686 isSequence: bool,
7687 cot: CS101_CauseOfTransmission,
7688 oa: ::std::os::raw::c_int,
7689 ca: ::std::os::raw::c_int,
7690 isTest: bool,
7691 isNegative: bool,
7692 ) -> CS101_ASDU;
7693}
7694unsafe extern "C" {
7695 #[doc = "Create a new ASDU that is an exact copy of the ASDU\n\n # Arguments\n\n* `self` - ASDU instance to be copied\n * `clone` - static ASDU instance where to store the cloned ASDU or NULL. When this parameter is NULL the function will allocate the memory for the clone\n\n # Returns\n\nthe cloned ASDU instance"]
7696 pub fn CS101_ASDU_clone(self_: CS101_ASDU, clone: CS101_StaticASDU) -> CS101_ASDU;
7697}
7698unsafe extern "C" {
7699 #[doc = "Get the ASDU payload\n\n The payload is the ASDU message part after the ASDU header (type ID, VSQ, COT, CASDU)\n\n # Returns\n\nthe ASDU payload buffer"]
7700 pub fn CS101_ASDU_getPayload(self_: CS101_ASDU) -> *mut u8;
7701}
7702unsafe extern "C" {
7703 #[doc = "Append the provided data to the ASDU payload\n\n NOTE: Usually it is not required to call this function as the payload is set when the\n ASDU is parsed or when a new information object is added with CS101_ASDU_addInformationObject\n The function is intended to be only used by library extensions of for creating private ASDU types.\n\n # Arguments\n\n* `buffer` - pointer to the payload data to add\n * `size` - number of bytes to append to the payload\n\n # Returns\n\ntrue when data has been added, false otherwise"]
7704 pub fn CS101_ASDU_addPayload(
7705 self_: CS101_ASDU,
7706 buffer: *mut u8,
7707 size: ::std::os::raw::c_int,
7708 ) -> bool;
7709}
7710unsafe extern "C" {
7711 #[doc = "Get the ASDU payload buffer size\n\n The payload is the ASDU message part after the ASDU header (type ID, VSQ, COT, CASDU)\n\n # Returns\n\nthe ASDU payload buffer size"]
7712 pub fn CS101_ASDU_getPayloadSize(self_: CS101_ASDU) -> ::std::os::raw::c_int;
7713}
7714unsafe extern "C" {
7715 #[doc = "Destroy the ASDU object (release all resources)"]
7716 pub fn CS101_ASDU_destroy(self_: CS101_ASDU);
7717}
7718unsafe extern "C" {
7719 #[doc = "add an information object to the ASDU\n\n NOTE: Only information objects of the exact same type can be added to a single ASDU!\n\n # Arguments\n\n* `self` - ASDU object instance\n * `io` - information object to be added\n\n # Returns\n\ntrue when added, false when there not enough space left in the ASDU or IO cannot be added to the sequence because of wrong IOA, or wrong type."]
7720 pub fn CS101_ASDU_addInformationObject(self_: CS101_ASDU, io: InformationObject) -> bool;
7721}
7722unsafe extern "C" {
7723 #[doc = "remove all information elements from the ASDU object\n\n # Arguments\n\n* `self` - ASDU object instance"]
7724 pub fn CS101_ASDU_removeAllElements(self_: CS101_ASDU);
7725}
7726unsafe extern "C" {
7727 #[doc = "Get the elapsed time in ms"]
7728 pub fn CP16Time2a_getEplapsedTimeInMs(self_: CP16Time2a) -> ::std::os::raw::c_int;
7729}
7730unsafe extern "C" {
7731 #[doc = "set the elapsed time in ms"]
7732 pub fn CP16Time2a_setEplapsedTimeInMs(self_: CP16Time2a, value: ::std::os::raw::c_int);
7733}
7734unsafe extern "C" {
7735 #[doc = "Get the millisecond part of the time value"]
7736 pub fn CP24Time2a_getMillisecond(self_: CP24Time2a) -> ::std::os::raw::c_int;
7737}
7738unsafe extern "C" {
7739 #[doc = "Set the millisecond part of the time value"]
7740 pub fn CP24Time2a_setMillisecond(self_: CP24Time2a, value: ::std::os::raw::c_int);
7741}
7742unsafe extern "C" {
7743 #[doc = "Get the second part of the time value"]
7744 pub fn CP24Time2a_getSecond(self_: CP24Time2a) -> ::std::os::raw::c_int;
7745}
7746unsafe extern "C" {
7747 #[doc = "Set the second part of the time value"]
7748 pub fn CP24Time2a_setSecond(self_: CP24Time2a, value: ::std::os::raw::c_int);
7749}
7750unsafe extern "C" {
7751 #[doc = "Get the minute part of the time value"]
7752 pub fn CP24Time2a_getMinute(self_: CP24Time2a) -> ::std::os::raw::c_int;
7753}
7754unsafe extern "C" {
7755 #[doc = "Set the minute part of the time value"]
7756 pub fn CP24Time2a_setMinute(self_: CP24Time2a, value: ::std::os::raw::c_int);
7757}
7758unsafe extern "C" {
7759 #[doc = "Check if the invalid flag of the time value is set"]
7760 pub fn CP24Time2a_isInvalid(self_: CP24Time2a) -> bool;
7761}
7762unsafe extern "C" {
7763 #[doc = "Set the invalid flag of the time value"]
7764 pub fn CP24Time2a_setInvalid(self_: CP24Time2a, value: bool);
7765}
7766unsafe extern "C" {
7767 #[doc = "Check if the substituted flag of the time value is set"]
7768 pub fn CP24Time2a_isSubstituted(self_: CP24Time2a) -> bool;
7769}
7770unsafe extern "C" {
7771 #[doc = "Set the substituted flag of the time value"]
7772 pub fn CP24Time2a_setSubstituted(self_: CP24Time2a, value: bool);
7773}
7774unsafe extern "C" {
7775 #[doc = "Create a 7 byte time from a UTC ms timestamp"]
7776 pub fn CP56Time2a_createFromMsTimestamp(self_: CP56Time2a, timestamp: u64) -> CP56Time2a;
7777}
7778unsafe extern "C" {
7779 pub fn CP32Time2a_create(self_: CP32Time2a) -> CP32Time2a;
7780}
7781unsafe extern "C" {
7782 pub fn CP32Time2a_setFromMsTimestamp(self_: CP32Time2a, timestamp: u64);
7783}
7784unsafe extern "C" {
7785 pub fn CP32Time2a_getMillisecond(self_: CP32Time2a) -> ::std::os::raw::c_int;
7786}
7787unsafe extern "C" {
7788 pub fn CP32Time2a_setMillisecond(self_: CP32Time2a, value: ::std::os::raw::c_int);
7789}
7790unsafe extern "C" {
7791 pub fn CP32Time2a_getSecond(self_: CP32Time2a) -> ::std::os::raw::c_int;
7792}
7793unsafe extern "C" {
7794 pub fn CP32Time2a_setSecond(self_: CP32Time2a, value: ::std::os::raw::c_int);
7795}
7796unsafe extern "C" {
7797 pub fn CP32Time2a_getMinute(self_: CP32Time2a) -> ::std::os::raw::c_int;
7798}
7799unsafe extern "C" {
7800 pub fn CP32Time2a_setMinute(self_: CP32Time2a, value: ::std::os::raw::c_int);
7801}
7802unsafe extern "C" {
7803 pub fn CP32Time2a_isInvalid(self_: CP32Time2a) -> bool;
7804}
7805unsafe extern "C" {
7806 pub fn CP32Time2a_setInvalid(self_: CP32Time2a, value: bool);
7807}
7808unsafe extern "C" {
7809 pub fn CP32Time2a_isSubstituted(self_: CP32Time2a) -> bool;
7810}
7811unsafe extern "C" {
7812 pub fn CP32Time2a_setSubstituted(self_: CP32Time2a, value: bool);
7813}
7814unsafe extern "C" {
7815 pub fn CP32Time2a_getHour(self_: CP32Time2a) -> ::std::os::raw::c_int;
7816}
7817unsafe extern "C" {
7818 pub fn CP32Time2a_setHour(self_: CP32Time2a, value: ::std::os::raw::c_int);
7819}
7820unsafe extern "C" {
7821 pub fn CP32Time2a_isSummerTime(self_: CP32Time2a) -> bool;
7822}
7823unsafe extern "C" {
7824 pub fn CP32Time2a_setSummerTime(self_: CP32Time2a, value: bool);
7825}
7826unsafe extern "C" {
7827 #[doc = "Set the time value of a 7 byte time from a UTC ms timestamp"]
7828 pub fn CP56Time2a_setFromMsTimestamp(self_: CP56Time2a, timestamp: u64);
7829}
7830unsafe extern "C" {
7831 #[doc = "Convert a 7 byte time to a ms timestamp"]
7832 pub fn CP56Time2a_toMsTimestamp(self_: CP56Time2a) -> u64;
7833}
7834unsafe extern "C" {
7835 #[doc = "Get the ms part of a time value"]
7836 pub fn CP56Time2a_getMillisecond(self_: CP56Time2a) -> ::std::os::raw::c_int;
7837}
7838unsafe extern "C" {
7839 #[doc = "Set the ms part of a time value"]
7840 pub fn CP56Time2a_setMillisecond(self_: CP56Time2a, value: ::std::os::raw::c_int);
7841}
7842unsafe extern "C" {
7843 pub fn CP56Time2a_getSecond(self_: CP56Time2a) -> ::std::os::raw::c_int;
7844}
7845unsafe extern "C" {
7846 pub fn CP56Time2a_setSecond(self_: CP56Time2a, value: ::std::os::raw::c_int);
7847}
7848unsafe extern "C" {
7849 pub fn CP56Time2a_getMinute(self_: CP56Time2a) -> ::std::os::raw::c_int;
7850}
7851unsafe extern "C" {
7852 pub fn CP56Time2a_setMinute(self_: CP56Time2a, value: ::std::os::raw::c_int);
7853}
7854unsafe extern "C" {
7855 pub fn CP56Time2a_getHour(self_: CP56Time2a) -> ::std::os::raw::c_int;
7856}
7857unsafe extern "C" {
7858 pub fn CP56Time2a_setHour(self_: CP56Time2a, value: ::std::os::raw::c_int);
7859}
7860unsafe extern "C" {
7861 pub fn CP56Time2a_getDayOfWeek(self_: CP56Time2a) -> ::std::os::raw::c_int;
7862}
7863unsafe extern "C" {
7864 pub fn CP56Time2a_setDayOfWeek(self_: CP56Time2a, value: ::std::os::raw::c_int);
7865}
7866unsafe extern "C" {
7867 pub fn CP56Time2a_getDayOfMonth(self_: CP56Time2a) -> ::std::os::raw::c_int;
7868}
7869unsafe extern "C" {
7870 pub fn CP56Time2a_setDayOfMonth(self_: CP56Time2a, value: ::std::os::raw::c_int);
7871}
7872unsafe extern "C" {
7873 #[doc = "Get the month field of the time\n\n # Returns\n\nvalue the month (1..12)"]
7874 pub fn CP56Time2a_getMonth(self_: CP56Time2a) -> ::std::os::raw::c_int;
7875}
7876unsafe extern "C" {
7877 #[doc = "Set the month field of the time\n\n # Arguments\n\n* `value` - the month (1..12)"]
7878 pub fn CP56Time2a_setMonth(self_: CP56Time2a, value: ::std::os::raw::c_int);
7879}
7880unsafe extern "C" {
7881 #[doc = "Get the year (range 0..99)\n\n # Arguments\n\n* `value` - the year (0..99)"]
7882 pub fn CP56Time2a_getYear(self_: CP56Time2a) -> ::std::os::raw::c_int;
7883}
7884unsafe extern "C" {
7885 #[doc = "Set the year\n\n # Arguments\n\n* `value` - the year"]
7886 pub fn CP56Time2a_setYear(self_: CP56Time2a, value: ::std::os::raw::c_int);
7887}
7888unsafe extern "C" {
7889 pub fn CP56Time2a_isSummerTime(self_: CP56Time2a) -> bool;
7890}
7891unsafe extern "C" {
7892 pub fn CP56Time2a_setSummerTime(self_: CP56Time2a, value: bool);
7893}
7894unsafe extern "C" {
7895 pub fn CP56Time2a_isInvalid(self_: CP56Time2a) -> bool;
7896}
7897unsafe extern "C" {
7898 pub fn CP56Time2a_setInvalid(self_: CP56Time2a, value: bool);
7899}
7900unsafe extern "C" {
7901 pub fn CP56Time2a_isSubstituted(self_: CP56Time2a) -> bool;
7902}
7903unsafe extern "C" {
7904 pub fn CP56Time2a_setSubstituted(self_: CP56Time2a, value: bool);
7905}
7906unsafe extern "C" {
7907 pub fn BinaryCounterReading_create(
7908 self_: BinaryCounterReading,
7909 value: i32,
7910 seqNumber: ::std::os::raw::c_int,
7911 hasCarry: bool,
7912 isAdjusted: bool,
7913 isInvalid: bool,
7914 ) -> BinaryCounterReading;
7915}
7916unsafe extern "C" {
7917 pub fn BinaryCounterReading_destroy(self_: BinaryCounterReading);
7918}
7919unsafe extern "C" {
7920 pub fn BinaryCounterReading_getValue(self_: BinaryCounterReading) -> i32;
7921}
7922unsafe extern "C" {
7923 pub fn BinaryCounterReading_setValue(self_: BinaryCounterReading, value: i32);
7924}
7925unsafe extern "C" {
7926 pub fn BinaryCounterReading_getSequenceNumber(
7927 self_: BinaryCounterReading,
7928 ) -> ::std::os::raw::c_int;
7929}
7930unsafe extern "C" {
7931 pub fn BinaryCounterReading_hasCarry(self_: BinaryCounterReading) -> bool;
7932}
7933unsafe extern "C" {
7934 pub fn BinaryCounterReading_isAdjusted(self_: BinaryCounterReading) -> bool;
7935}
7936unsafe extern "C" {
7937 pub fn BinaryCounterReading_isInvalid(self_: BinaryCounterReading) -> bool;
7938}
7939unsafe extern "C" {
7940 pub fn BinaryCounterReading_setSequenceNumber(
7941 self_: BinaryCounterReading,
7942 value: ::std::os::raw::c_int,
7943 );
7944}
7945unsafe extern "C" {
7946 pub fn BinaryCounterReading_setCarry(self_: BinaryCounterReading, value: bool);
7947}
7948unsafe extern "C" {
7949 pub fn BinaryCounterReading_setAdjusted(self_: BinaryCounterReading, value: bool);
7950}
7951unsafe extern "C" {
7952 pub fn BinaryCounterReading_setInvalid(self_: BinaryCounterReading, value: bool);
7953}
7954#[repr(C)]
7955#[derive(Debug, Copy, Clone)]
7956pub struct sFrame {
7957 _unused: [u8; 0],
7958}
7959pub type Frame = *mut sFrame;
7960unsafe extern "C" {
7961 pub fn Frame_destroy(self_: Frame);
7962}
7963unsafe extern "C" {
7964 pub fn Frame_resetFrame(self_: Frame);
7965}
7966unsafe extern "C" {
7967 pub fn Frame_setNextByte(self_: Frame, byte: u8);
7968}
7969unsafe extern "C" {
7970 pub fn Frame_appendBytes(self_: Frame, bytes: *mut u8, numberOfBytes: ::std::os::raw::c_int);
7971}
7972unsafe extern "C" {
7973 pub fn Frame_getMsgSize(self_: Frame) -> ::std::os::raw::c_int;
7974}
7975unsafe extern "C" {
7976 pub fn Frame_getBuffer(self_: Frame) -> *mut u8;
7977}
7978unsafe extern "C" {
7979 pub fn Frame_getSpaceLeft(self_: Frame) -> ::std::os::raw::c_int;
7980}
7981#[doc = "Callback handler for received ASDUs\n\n This callback handler will be called for each received ASDU.\n The CS101_ASDU object that is passed is only valid in the context\n of the callback function.\n\n # Arguments\n\n* `parameter` - user provided parameter\n * `address` - address of the sender (slave/other station) - undefined for CS 104\n * `asdu` - object representing the received ASDU\n\n # Returns\n\ntrue if the ASDU has been handled by the callback, false otherwise"]
7982pub type CS101_ASDUReceivedHandler = ::std::option::Option<
7983 unsafe extern "C" fn(
7984 parameter: *mut ::std::os::raw::c_void,
7985 address: ::std::os::raw::c_int,
7986 asdu: CS101_ASDU,
7987 ) -> bool,
7988>;
7989#[repr(C)]
7990#[derive(Debug, Copy, Clone)]
7991pub struct sCS104_Connection {
7992 _unused: [u8; 0],
7993}
7994#[doc = "CS104_MASTER CS 104 master related functions\n\n # "]
7995pub type CS104_Connection = *mut sCS104_Connection;
7996unsafe extern "C" {
7997 #[doc = "Create a new connection object\n\n # Arguments\n\n* `hostname` - host name of IP address of the server to connect\n * `tcpPort` - tcp port of the server to connect. If set to -1 use default port (2404)\n\n # Returns\n\nthe new connection object"]
7998 pub fn CS104_Connection_create(
7999 hostname: *const ::std::os::raw::c_char,
8000 tcpPort: ::std::os::raw::c_int,
8001 ) -> CS104_Connection;
8002}
8003unsafe extern "C" {
8004 #[doc = "Create a new secure connection object (uses TLS)\n\n # Arguments\n\n* `hostname` - host name of IP address of the server to connect\n * `tcpPort` - tcp port of the server to connect. If set to -1 use default port (19998)\n * `tlcConfig` - the TLS configuration (certificates, keys, and parameters)\n\n # Returns\n\nthe new connection object"]
8005 pub fn CS104_Connection_createSecure(
8006 hostname: *const ::std::os::raw::c_char,
8007 tcpPort: ::std::os::raw::c_int,
8008 tlsConfig: TLSConfiguration,
8009 ) -> CS104_Connection;
8010}
8011unsafe extern "C" {
8012 #[doc = "Set the local IP address and port to be used by the client\n\n NOTE: This function is optional. When not used the OS decides what IP address and TCP port to use.\n\n # Arguments\n\n* `self` - CS104_Connection instance\n * `localIpAddress` - the local IP address or hostname as C string\n * `localPort` - the local TCP port to use. When < 1 the OS will chose the TCP port to use."]
8013 pub fn CS104_Connection_setLocalAddress(
8014 self_: CS104_Connection,
8015 localIpAddress: *const ::std::os::raw::c_char,
8016 localPort: ::std::os::raw::c_int,
8017 );
8018}
8019unsafe extern "C" {
8020 #[doc = "Set the CS104 specific APCI parameters.\n\n If not set the default parameters are used. This function must be called before the\n CS104_Connection_connect function is called! If the function is called after the connect\n the behavior is undefined.\n\n # Arguments\n\n* `self` - CS104_Connection instance\n * `parameters` - the APCI layer parameters"]
8021 pub fn CS104_Connection_setAPCIParameters(
8022 self_: CS104_Connection,
8023 parameters: CS104_APCIParameters,
8024 );
8025}
8026unsafe extern "C" {
8027 #[doc = "Get the currently used CS104 specific APCI parameters"]
8028 pub fn CS104_Connection_getAPCIParameters(self_: CS104_Connection) -> CS104_APCIParameters;
8029}
8030unsafe extern "C" {
8031 #[doc = "Set the CS101 application layer parameters\n\n If not set the default parameters are used. This function must be called before the\n CS104_Connection_connect function is called! If the function is called after the connect\n the behavior is undefined.\n\n # Arguments\n\n* `self` - CS104_Connection instance\n * `parameters` - the application layer parameters"]
8032 pub fn CS104_Connection_setAppLayerParameters(
8033 self_: CS104_Connection,
8034 parameters: CS101_AppLayerParameters,
8035 );
8036}
8037unsafe extern "C" {
8038 #[doc = "Return the currently used application layer parameter\n\n NOTE: The application layer parameters are required to create CS101_ASDU objects.\n\n # Arguments\n\n* `self` - CS104_Connection instance\n\n # Returns\n\nthe currently used CS101_AppLayerParameters object"]
8039 pub fn CS104_Connection_getAppLayerParameters(
8040 self_: CS104_Connection,
8041 ) -> CS101_AppLayerParameters;
8042}
8043unsafe extern "C" {
8044 #[doc = "Sets the timeout for connecting to the server (in ms)\n\n > **Deprecated** Function has no effect! Set T0 parameter instead.\n\n # Arguments\n\n* `self` -\n * `millies` - timeout value in ms"]
8045 pub fn CS104_Connection_setConnectTimeout(
8046 self_: CS104_Connection,
8047 millies: ::std::os::raw::c_int,
8048 );
8049}
8050unsafe extern "C" {
8051 #[doc = "non-blocking connect.\n\n Invokes a connection establishment to the server and returns immediately.\n\n # Arguments\n\n* `self` - CS104_Connection instance"]
8052 pub fn CS104_Connection_connectAsync(self_: CS104_Connection);
8053}
8054unsafe extern "C" {
8055 #[doc = "blocking connect\n\n Establishes a connection to a server. This function is blocking and will return\n after the connection is established or the connect timeout elapsed.\n\n # Arguments\n\n* `self` - CS104_Connection instance\n # Returns\n\ntrue when connected, false otherwise"]
8056 pub fn CS104_Connection_connect(self_: CS104_Connection) -> bool;
8057}
8058unsafe extern "C" {
8059 #[doc = "start data transmission on this connection\n\n After issuing this command the client (master) will receive spontaneous\n (unsolicited) messages from the server (slave)."]
8060 pub fn CS104_Connection_sendStartDT(self_: CS104_Connection);
8061}
8062unsafe extern "C" {
8063 #[doc = "stop data transmission on this connection"]
8064 pub fn CS104_Connection_sendStopDT(self_: CS104_Connection);
8065}
8066unsafe extern "C" {
8067 #[doc = "Check if the transmit (send) buffer is full. If true the next send command will fail.\n\n The transmit buffer is full when the slave/server didn't confirm the last k sent messages.\n In this case the next message can only be sent after the next confirmation (by I or S messages)\n that frees part of the sent messages buffer."]
8068 pub fn CS104_Connection_isTransmitBufferFull(self_: CS104_Connection) -> bool;
8069}
8070unsafe extern "C" {
8071 #[doc = "send an interrogation command\n\n # Arguments\n\n* `cot` - cause of transmission\n * `ca` - Common address of the slave/server\n * `qoi` - qualifier of interrogation (20 for station interrogation)\n\n # Returns\n\ntrue if message was sent, false otherwise"]
8072 pub fn CS104_Connection_sendInterrogationCommand(
8073 self_: CS104_Connection,
8074 cot: CS101_CauseOfTransmission,
8075 ca: ::std::os::raw::c_int,
8076 qoi: QualifierOfInterrogation,
8077 ) -> bool;
8078}
8079unsafe extern "C" {
8080 #[doc = "send a counter interrogation command\n\n # Arguments\n\n* `cot` - cause of transmission\n * `ca` - Common address of the slave/server\n * `qcc` -\n\n # Returns\n\ntrue if message was sent, false otherwise"]
8081 pub fn CS104_Connection_sendCounterInterrogationCommand(
8082 self_: CS104_Connection,
8083 cot: CS101_CauseOfTransmission,
8084 ca: ::std::os::raw::c_int,
8085 qcc: u8,
8086 ) -> bool;
8087}
8088unsafe extern "C" {
8089 #[doc = "Sends a read command (C_RD_NA_1 typeID: 102)\n\n This will send a read command C_RC_NA_1 (102) to the slave/outstation. The COT is always REQUEST (5).\n It is used to implement the cyclical polling of data application function.\n\n # Arguments\n\n* `ca` - Common address of the slave/server\n * `ioa` - Information object address of the data point to read\n\n # Returns\n\ntrue if message was sent, false otherwise"]
8090 pub fn CS104_Connection_sendReadCommand(
8091 self_: CS104_Connection,
8092 ca: ::std::os::raw::c_int,
8093 ioa: ::std::os::raw::c_int,
8094 ) -> bool;
8095}
8096unsafe extern "C" {
8097 #[doc = "Sends a clock synchronization command (C_CS_NA_1 typeID: 103)\n\n # Arguments\n\n* `ca` - Common address of the slave/server\n * `newTime` - new system time for the slave/server\n\n # Returns\n\ntrue if message was sent, false otherwise"]
8098 pub fn CS104_Connection_sendClockSyncCommand(
8099 self_: CS104_Connection,
8100 ca: ::std::os::raw::c_int,
8101 newTime: CP56Time2a,
8102 ) -> bool;
8103}
8104unsafe extern "C" {
8105 #[doc = "Send a test command (C_TS_NA_1 typeID: 104)\n\n Note: This command is not supported by IEC 60870-5-104\n\n # Arguments\n\n* `ca` - Common address of the slave/server\n\n # Returns\n\ntrue if message was sent, false otherwise"]
8106 pub fn CS104_Connection_sendTestCommand(
8107 self_: CS104_Connection,
8108 ca: ::std::os::raw::c_int,
8109 ) -> bool;
8110}
8111unsafe extern "C" {
8112 #[doc = "Send a test command with timestamp (C_TS_TA_1 typeID: 107)\n\n # Arguments\n\n* `ca` - Common address of the slave/server\n * `tsc` - test sequence counter\n * `timestamp` - CP56Time2a timestamp\n\n # Returns\n\ntrue if message was sent, false otherwise"]
8113 pub fn CS104_Connection_sendTestCommandWithTimestamp(
8114 self_: CS104_Connection,
8115 ca: ::std::os::raw::c_int,
8116 tsc: u16,
8117 timestamp: CP56Time2a,
8118 ) -> bool;
8119}
8120unsafe extern "C" {
8121 #[doc = "Send a process command to the controlled (or other) station\n\n > **Deprecated** Use CS104_Connection_sendProcessCommandEx instead\n\n # Arguments\n\n* `typeId` - the type ID of the command message to send or 0 to use the type ID of the information object\n * `cot` - the cause of transmission (should be ACTIVATION to select/execute or ACT_TERM to cancel the command)\n * `ca` - the common address of the information object\n * `command` - the command information object (e.g. SingleCommand or DoubleCommand)\n\n # Returns\n\ntrue if message was sent, false otherwise"]
8122 pub fn CS104_Connection_sendProcessCommand(
8123 self_: CS104_Connection,
8124 typeId: TypeID,
8125 cot: CS101_CauseOfTransmission,
8126 ca: ::std::os::raw::c_int,
8127 command: InformationObject,
8128 ) -> bool;
8129}
8130unsafe extern "C" {
8131 #[doc = "Send a process command to the controlled (or other) station\n\n # Arguments\n\n* `cot` - the cause of transmission (should be ACTIVATION to select/execute or ACT_TERM to cancel the command)\n * `ca` - the common address of the information object\n * `command` - the command information object (e.g. SingleCommand or DoubleCommand)\n\n # Returns\n\ntrue if message was sent, false otherwise"]
8132 pub fn CS104_Connection_sendProcessCommandEx(
8133 self_: CS104_Connection,
8134 cot: CS101_CauseOfTransmission,
8135 ca: ::std::os::raw::c_int,
8136 sc: InformationObject,
8137 ) -> bool;
8138}
8139unsafe extern "C" {
8140 #[doc = "Send a user specified ASDU\n\n # Arguments\n\n* `asdu` - the ASDU to send\n\n # Returns\n\ntrue if message was sent, false otherwise"]
8141 pub fn CS104_Connection_sendASDU(self_: CS104_Connection, asdu: CS101_ASDU) -> bool;
8142}
8143unsafe extern "C" {
8144 #[doc = "Register a callback handler for received ASDUs\n\n # Arguments\n\n* `handler` - user provided callback handler function\n * `parameter` - user provided parameter that is passed to the callback handler"]
8145 pub fn CS104_Connection_setASDUReceivedHandler(
8146 self_: CS104_Connection,
8147 handler: CS101_ASDUReceivedHandler,
8148 parameter: *mut ::std::os::raw::c_void,
8149 );
8150}
8151pub const CS104_ConnectionEvent_CS104_CONNECTION_OPENED: CS104_ConnectionEvent = 0;
8152pub const CS104_ConnectionEvent_CS104_CONNECTION_CLOSED: CS104_ConnectionEvent = 1;
8153pub const CS104_ConnectionEvent_CS104_CONNECTION_STARTDT_CON_RECEIVED: CS104_ConnectionEvent = 2;
8154pub const CS104_ConnectionEvent_CS104_CONNECTION_STOPDT_CON_RECEIVED: CS104_ConnectionEvent = 3;
8155pub const CS104_ConnectionEvent_CS104_CONNECTION_FAILED: CS104_ConnectionEvent = 4;
8156pub type CS104_ConnectionEvent = ::std::os::raw::c_uint;
8157#[doc = "Handler that is called when the connection is established or closed\n\n > **Note:** Calling CS104_Connection_destroy or CS104_Connection_close inside\n of the callback causes a memory leak!\n\n # Arguments\n\n* `parameter` - user provided parameter\n * `connection` - the connection object\n * `event` - event type"]
8158pub type CS104_ConnectionHandler = ::std::option::Option<
8159 unsafe extern "C" fn(
8160 parameter: *mut ::std::os::raw::c_void,
8161 connection: CS104_Connection,
8162 event: CS104_ConnectionEvent,
8163 ),
8164>;
8165unsafe extern "C" {
8166 #[doc = "Set the connection event handler\n\n # Arguments\n\n* `handler` - user provided callback handler function\n * `parameter` - user provided parameter that is passed to the callback handler"]
8167 pub fn CS104_Connection_setConnectionHandler(
8168 self_: CS104_Connection,
8169 handler: CS104_ConnectionHandler,
8170 parameter: *mut ::std::os::raw::c_void,
8171 );
8172}
8173unsafe extern "C" {
8174 #[doc = "Set the raw message callback (called when a message is sent or received)\n\n # Arguments\n\n* `handler` - user provided callback handler function\n * `parameter` - user provided parameter that is passed to the callback handler"]
8175 pub fn CS104_Connection_setRawMessageHandler(
8176 self_: CS104_Connection,
8177 handler: IEC60870_RawMessageHandler,
8178 parameter: *mut ::std::os::raw::c_void,
8179 );
8180}
8181unsafe extern "C" {
8182 #[doc = "Close the connection"]
8183 pub fn CS104_Connection_close(self_: CS104_Connection);
8184}
8185unsafe extern "C" {
8186 #[doc = "Close the connection and free all related resources"]
8187 pub fn CS104_Connection_destroy(self_: CS104_Connection);
8188}
8189unsafe extern "C" {
8190 #[doc = "this function is only intended to be used by test cases and is not part of the API!\n"]
8191 pub fn CS104_Connection_sendMessage(
8192 self_: CS104_Connection,
8193 message: *mut u8,
8194 messageSize: ::std::os::raw::c_int,
8195 ) -> ::std::os::raw::c_int;
8196}
8197#[doc = "Interface to send messages to the master (used by slave)"]
8198pub type IMasterConnection = *mut sIMasterConnection;
8199#[repr(C)]
8200#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8201pub struct sIMasterConnection {
8202 pub isReady: ::std::option::Option<unsafe extern "C" fn(self_: IMasterConnection) -> bool>,
8203 pub sendASDU: ::std::option::Option<
8204 unsafe extern "C" fn(self_: IMasterConnection, asdu: CS101_ASDU) -> bool,
8205 >,
8206 pub sendACT_CON: ::std::option::Option<
8207 unsafe extern "C" fn(self_: IMasterConnection, asdu: CS101_ASDU, negative: bool) -> bool,
8208 >,
8209 pub sendACT_TERM: ::std::option::Option<
8210 unsafe extern "C" fn(self_: IMasterConnection, asdu: CS101_ASDU) -> bool,
8211 >,
8212 pub close: ::std::option::Option<unsafe extern "C" fn(self_: IMasterConnection)>,
8213 pub getPeerAddress: ::std::option::Option<
8214 unsafe extern "C" fn(
8215 self_: IMasterConnection,
8216 addrBuf: *mut ::std::os::raw::c_char,
8217 addrBufSize: ::std::os::raw::c_int,
8218 ) -> ::std::os::raw::c_int,
8219 >,
8220 pub getApplicationLayerParameters: ::std::option::Option<
8221 unsafe extern "C" fn(self_: IMasterConnection) -> CS101_AppLayerParameters,
8222 >,
8223 pub object: *mut ::std::os::raw::c_void,
8224}
8225#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8226const _: () = {
8227 ["Size of sIMasterConnection"][::std::mem::size_of::<sIMasterConnection>() - 64usize];
8228 ["Alignment of sIMasterConnection"][::std::mem::align_of::<sIMasterConnection>() - 8usize];
8229 ["Offset of field: sIMasterConnection::isReady"]
8230 [::std::mem::offset_of!(sIMasterConnection, isReady) - 0usize];
8231 ["Offset of field: sIMasterConnection::sendASDU"]
8232 [::std::mem::offset_of!(sIMasterConnection, sendASDU) - 8usize];
8233 ["Offset of field: sIMasterConnection::sendACT_CON"]
8234 [::std::mem::offset_of!(sIMasterConnection, sendACT_CON) - 16usize];
8235 ["Offset of field: sIMasterConnection::sendACT_TERM"]
8236 [::std::mem::offset_of!(sIMasterConnection, sendACT_TERM) - 24usize];
8237 ["Offset of field: sIMasterConnection::close"]
8238 [::std::mem::offset_of!(sIMasterConnection, close) - 32usize];
8239 ["Offset of field: sIMasterConnection::getPeerAddress"]
8240 [::std::mem::offset_of!(sIMasterConnection, getPeerAddress) - 40usize];
8241 ["Offset of field: sIMasterConnection::getApplicationLayerParameters"]
8242 [::std::mem::offset_of!(sIMasterConnection, getApplicationLayerParameters) - 48usize];
8243 ["Offset of field: sIMasterConnection::object"]
8244 [::std::mem::offset_of!(sIMasterConnection, object) - 56usize];
8245};
8246impl Default for sIMasterConnection {
8247 fn default() -> Self {
8248 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8249 unsafe {
8250 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8251 s.assume_init()
8252 }
8253 }
8254}
8255unsafe extern "C" {
8256 #[doc = "Check if the connection is ready to send an ASDU.\n\n > **Deprecated** Use one of the send functions (e.g. IMasterConnection_sendASDU) and evaluate\n the return value.\n\n NOTE: The functions returns true when the connection is activated, the ASDU can be immediately sent,\n or the queue has enough space to store another ASDU.\n\n # Arguments\n\n* `self` - the connection object (this is usually received as a parameter of a callback function)\n\n # Returns\n\ntrue if the connection is ready to send an ASDU, false otherwise"]
8257 pub fn IMasterConnection_isReady(self_: IMasterConnection) -> bool;
8258}
8259unsafe extern "C" {
8260 #[doc = "Send an ASDU to the client/master\n\n NOTE: ASDU instance has to be released by the caller!\n\n # Arguments\n\n* `self` - the connection object (this is usually received as a parameter of a callback function)\n * `asdu` - the ASDU to send to the client/master\n\n # Returns\n\ntrue when the ASDU has been sent or queued for transmission, false otherwise"]
8261 pub fn IMasterConnection_sendASDU(self_: IMasterConnection, asdu: CS101_ASDU) -> bool;
8262}
8263unsafe extern "C" {
8264 #[doc = "Send an ACT_CON ASDU to the client/master\n\n ACT_CON is used for a command confirmation (positive or negative)\n\n # Arguments\n\n* `asdu` - the ASDU to send to the client/master\n * `negative` - value of the negative flag\n\n # Returns\n\ntrue when the ASDU has been sent or queued for transmission, false otherwise"]
8265 pub fn IMasterConnection_sendACT_CON(
8266 self_: IMasterConnection,
8267 asdu: CS101_ASDU,
8268 negative: bool,
8269 ) -> bool;
8270}
8271unsafe extern "C" {
8272 #[doc = "Send an ACT_TERM ASDU to the client/master\n\n ACT_TERM is used to indicate that the command execution is complete.\n\n # Arguments\n\n* `asdu` - the ASDU to send to the client/master\n\n # Returns\n\ntrue when the ASDU has been sent or queued for transmission, false otherwise"]
8273 pub fn IMasterConnection_sendACT_TERM(self_: IMasterConnection, asdu: CS101_ASDU) -> bool;
8274}
8275unsafe extern "C" {
8276 #[doc = "Get the peer address of the master (only for CS 104)\n\n # Arguments\n\n* `addrBuf` - buffer where to store the IP address as string\n * `addrBufSize` - the size of the buffer where to store the IP address\n\n # Returns\n\nthe number of bytes written to the buffer, 0 if function not supported"]
8277 pub fn IMasterConnection_getPeerAddress(
8278 self_: IMasterConnection,
8279 addrBuf: *mut ::std::os::raw::c_char,
8280 addrBufSize: ::std::os::raw::c_int,
8281 ) -> ::std::os::raw::c_int;
8282}
8283unsafe extern "C" {
8284 #[doc = "Close the master connection (only for CS 104)\n\n Allows the slave to actively close a master connection (e.g. when some exception occurs)"]
8285 pub fn IMasterConnection_close(self_: IMasterConnection);
8286}
8287unsafe extern "C" {
8288 #[doc = "Get the application layer parameters used by this connection"]
8289 pub fn IMasterConnection_getApplicationLayerParameters(
8290 self_: IMasterConnection,
8291 ) -> CS101_AppLayerParameters;
8292}
8293pub const CS101_SlavePlugin_Result_CS101_PLUGIN_RESULT_NOT_HANDLED: CS101_SlavePlugin_Result = 0;
8294pub const CS101_SlavePlugin_Result_CS101_PLUGIN_RESULT_HANDLED: CS101_SlavePlugin_Result = 1;
8295pub const CS101_SlavePlugin_Result_CS101_PLUGIN_RESULT_INVALID_ASDU: CS101_SlavePlugin_Result = 2;
8296#[doc = "SLAVE_PLUGIN Slave plugin interface\n\n Plugin interface to add functionality to the slave (e.g. file server)"]
8297pub type CS101_SlavePlugin_Result = ::std::os::raw::c_uint;
8298#[doc = "Plugin interface for CS101 or CS104 slaves"]
8299pub type CS101_SlavePlugin = *mut sCS101_SlavePlugin;
8300#[repr(C)]
8301#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
8302pub struct sCS101_SlavePlugin {
8303 pub handleAsdu: ::std::option::Option<
8304 unsafe extern "C" fn(
8305 parameter: *mut ::std::os::raw::c_void,
8306 connection: IMasterConnection,
8307 asdu: CS101_ASDU,
8308 ) -> CS101_SlavePlugin_Result,
8309 >,
8310 pub runTask: ::std::option::Option<
8311 unsafe extern "C" fn(parameter: *mut ::std::os::raw::c_void, connection: IMasterConnection),
8312 >,
8313 pub parameter: *mut ::std::os::raw::c_void,
8314}
8315#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8316const _: () = {
8317 ["Size of sCS101_SlavePlugin"][::std::mem::size_of::<sCS101_SlavePlugin>() - 24usize];
8318 ["Alignment of sCS101_SlavePlugin"][::std::mem::align_of::<sCS101_SlavePlugin>() - 8usize];
8319 ["Offset of field: sCS101_SlavePlugin::handleAsdu"]
8320 [::std::mem::offset_of!(sCS101_SlavePlugin, handleAsdu) - 0usize];
8321 ["Offset of field: sCS101_SlavePlugin::runTask"]
8322 [::std::mem::offset_of!(sCS101_SlavePlugin, runTask) - 8usize];
8323 ["Offset of field: sCS101_SlavePlugin::parameter"]
8324 [::std::mem::offset_of!(sCS101_SlavePlugin, parameter) - 16usize];
8325};
8326impl Default for sCS101_SlavePlugin {
8327 fn default() -> Self {
8328 let mut s = ::std::mem::MaybeUninit::<Self>::uninit();
8329 unsafe {
8330 ::std::ptr::write_bytes(s.as_mut_ptr(), 0, 1);
8331 s.assume_init()
8332 }
8333 }
8334}
8335#[doc = "Handler will be called when a link layer reset CU (communication unit) message is received\n\n NOTE: Can be used to empty the ASDU queues\n\n # Arguments\n\n* `parameter` - a user provided parameter"]
8336pub type CS101_ResetCUHandler =
8337 ::std::option::Option<unsafe extern "C" fn(parameter: *mut ::std::os::raw::c_void)>;
8338#[doc = "Handler for interrogation command (C_IC_NA_1 - 100)."]
8339pub type CS101_InterrogationHandler = ::std::option::Option<
8340 unsafe extern "C" fn(
8341 parameter: *mut ::std::os::raw::c_void,
8342 connection: IMasterConnection,
8343 asdu: CS101_ASDU,
8344 qoi: u8,
8345 ) -> bool,
8346>;
8347#[doc = "Handler for counter interrogation command (C_CI_NA_1 - 101)."]
8348pub type CS101_CounterInterrogationHandler = ::std::option::Option<
8349 unsafe extern "C" fn(
8350 parameter: *mut ::std::os::raw::c_void,
8351 connection: IMasterConnection,
8352 asdu: CS101_ASDU,
8353 qcc: QualifierOfCIC,
8354 ) -> bool,
8355>;
8356#[doc = "Handler for read command (C_RD_NA_1 - 102)"]
8357pub type CS101_ReadHandler = ::std::option::Option<
8358 unsafe extern "C" fn(
8359 parameter: *mut ::std::os::raw::c_void,
8360 connection: IMasterConnection,
8361 asdu: CS101_ASDU,
8362 ioa: ::std::os::raw::c_int,
8363 ) -> bool,
8364>;
8365#[doc = "Handler for clock synchronization command (C_CS_NA_1 - 103)\n\n This handler will be called whenever a time synchronization command is received.\n NOTE: The CS104_Slave instance will automatically send an ACT-CON message for the received time sync command.\n\n # Arguments\n\n* `parameter` (direction in) - user provided parameter\n * `connection` (direction in) - represents the (TCP) connection that received the time sync command\n * `asdu` (direction in) - the received ASDU\n * `the` (direction in, out) - time received with the time sync message. The user can update this time for the ACT-CON message\n\n # Returns\n\ntrue when time synchronization has been successful, false otherwise"]
8366pub type CS101_ClockSynchronizationHandler = ::std::option::Option<
8367 unsafe extern "C" fn(
8368 parameter: *mut ::std::os::raw::c_void,
8369 connection: IMasterConnection,
8370 asdu: CS101_ASDU,
8371 newTime: CP56Time2a,
8372 ) -> bool,
8373>;
8374#[doc = "Handler for reset process command (C_RP_NA_1 - 105)"]
8375pub type CS101_ResetProcessHandler = ::std::option::Option<
8376 unsafe extern "C" fn(
8377 parameter: *mut ::std::os::raw::c_void,
8378 connection: IMasterConnection,
8379 asdu: CS101_ASDU,
8380 qrp: u8,
8381 ) -> bool,
8382>;
8383#[doc = "Handler for delay acquisition command (C_CD_NA:1 - 106)"]
8384pub type CS101_DelayAcquisitionHandler = ::std::option::Option<
8385 unsafe extern "C" fn(
8386 parameter: *mut ::std::os::raw::c_void,
8387 connection: IMasterConnection,
8388 asdu: CS101_ASDU,
8389 delayTime: CP16Time2a,
8390 ) -> bool,
8391>;
8392#[doc = "Handler for ASDUs that are not handled by other handlers (default handler)"]
8393pub type CS101_ASDUHandler = ::std::option::Option<
8394 unsafe extern "C" fn(
8395 parameter: *mut ::std::os::raw::c_void,
8396 connection: IMasterConnection,
8397 asdu: CS101_ASDU,
8398 ) -> bool,
8399>;
8400#[repr(C)]
8401#[derive(Debug, Copy, Clone)]
8402pub struct sCS104_Slave {
8403 _unused: [u8; 0],
8404}
8405#[doc = "CS104_SLAVE CS 104 slave (TCP/IP server) related functions\n\n # "]
8406pub type CS104_Slave = *mut sCS104_Slave;
8407pub const CS104_ServerMode_CS104_MODE_SINGLE_REDUNDANCY_GROUP: CS104_ServerMode = 0;
8408pub const CS104_ServerMode_CS104_MODE_CONNECTION_IS_REDUNDANCY_GROUP: CS104_ServerMode = 1;
8409pub const CS104_ServerMode_CS104_MODE_MULTIPLE_REDUNDANCY_GROUPS: CS104_ServerMode = 2;
8410pub type CS104_ServerMode = ::std::os::raw::c_uint;
8411pub const eCS104_IPAddressType_IP_ADDRESS_TYPE_IPV4: eCS104_IPAddressType = 0;
8412pub const eCS104_IPAddressType_IP_ADDRESS_TYPE_IPV6: eCS104_IPAddressType = 1;
8413pub type eCS104_IPAddressType = ::std::os::raw::c_uint;
8414#[repr(C)]
8415#[derive(Debug, Copy, Clone)]
8416pub struct sCS104_RedundancyGroup {
8417 _unused: [u8; 0],
8418}
8419pub type CS104_RedundancyGroup = *mut sCS104_RedundancyGroup;
8420#[doc = "Connection request handler is called when a client tries to connect to the server.\n\n # Arguments\n\n* `parameter` - user provided parameter\n * `ipAddress` - string containing IP address and TCP port number (e.g. \"192.168.1.1:34521\")\n\n # Returns\n\ntrue to accept the connection request, false to deny"]
8421pub type CS104_ConnectionRequestHandler = ::std::option::Option<
8422 unsafe extern "C" fn(
8423 parameter: *mut ::std::os::raw::c_void,
8424 ipAddress: *const ::std::os::raw::c_char,
8425 ) -> bool,
8426>;
8427pub const CS104_PeerConnectionEvent_CS104_CON_EVENT_CONNECTION_OPENED: CS104_PeerConnectionEvent =
8428 0;
8429pub const CS104_PeerConnectionEvent_CS104_CON_EVENT_CONNECTION_CLOSED: CS104_PeerConnectionEvent =
8430 1;
8431pub const CS104_PeerConnectionEvent_CS104_CON_EVENT_ACTIVATED: CS104_PeerConnectionEvent = 2;
8432pub const CS104_PeerConnectionEvent_CS104_CON_EVENT_DEACTIVATED: CS104_PeerConnectionEvent = 3;
8433pub type CS104_PeerConnectionEvent = ::std::os::raw::c_uint;
8434#[doc = "Handler that is called when a peer connection is established or closed, or START_DT/STOP_DT is issued\n\n # Arguments\n\n* `parameter` - user provided parameter\n * `connection` - the connection object\n * `event` - event type"]
8435pub type CS104_ConnectionEventHandler = ::std::option::Option<
8436 unsafe extern "C" fn(
8437 parameter: *mut ::std::os::raw::c_void,
8438 connection: IMasterConnection,
8439 event: CS104_PeerConnectionEvent,
8440 ),
8441>;
8442#[doc = "Callback handler for sent and received messages\n\n This callback handler provides access to the raw message buffer of received or sent\n messages. It can be used for debugging purposes. Usually it is not used nor required\n for applications.\n\n # Arguments\n\n* `parameter` - user provided parameter\n * `connection` - the connection that sent or received the message\n * `msg` - the message buffer\n * `msgSize` - size of the message\n * `sent` - indicates if the message was sent or received"]
8443pub type CS104_SlaveRawMessageHandler = ::std::option::Option<
8444 unsafe extern "C" fn(
8445 parameter: *mut ::std::os::raw::c_void,
8446 connection: IMasterConnection,
8447 msg: *mut u8,
8448 msgSize: ::std::os::raw::c_int,
8449 send: bool,
8450 ),
8451>;
8452unsafe extern "C" {
8453 #[doc = "Create a new instance of a CS104 slave (server)\n\n # Arguments\n\n* `maxLowPrioQueueSize` - the maximum size of the event queue\n * `maxHighPrioQueueSize` - the maximum size of the high-priority queue\n\n # Returns\n\nthe new slave instance"]
8454 pub fn CS104_Slave_create(
8455 maxLowPrioQueueSize: ::std::os::raw::c_int,
8456 maxHighPrioQueueSize: ::std::os::raw::c_int,
8457 ) -> CS104_Slave;
8458}
8459unsafe extern "C" {
8460 #[doc = "Create a new instance of a CS104 slave (server) with TLS enabled\n\n # Arguments\n\n* `maxLowPrioQueueSize` - the maximum size of the event queue\n * `maxHighPrioQueueSize` - the maximum size of the high-priority queue\n * `tlsConfig` - the TLS configuration object (containing configuration parameters, keys, and certificates)\n\n # Returns\n\nthe new slave instance"]
8461 pub fn CS104_Slave_createSecure(
8462 maxLowPrioQueueSize: ::std::os::raw::c_int,
8463 maxHighPrioQueueSize: ::std::os::raw::c_int,
8464 tlsConfig: TLSConfiguration,
8465 ) -> CS104_Slave;
8466}
8467unsafe extern "C" {
8468 pub fn CS104_Slave_addPlugin(self_: CS104_Slave, plugin: CS101_SlavePlugin);
8469}
8470unsafe extern "C" {
8471 #[doc = "Set the local IP address to bind the server\n use \"0.0.0.0\" to bind to all interfaces\n\n # Arguments\n\n* `self` - the slave instance\n * `ipAddress` - the IP address string or hostname"]
8472 pub fn CS104_Slave_setLocalAddress(
8473 self_: CS104_Slave,
8474 ipAddress: *const ::std::os::raw::c_char,
8475 );
8476}
8477unsafe extern "C" {
8478 #[doc = "Set the local TCP port to bind the server\n\n # Arguments\n\n* `self` - the slave instance\n * `tcpPort` - the TCP port to use (default is 2404)"]
8479 pub fn CS104_Slave_setLocalPort(self_: CS104_Slave, tcpPort: ::std::os::raw::c_int);
8480}
8481unsafe extern "C" {
8482 #[doc = "Get the number of connected clients\n\n # Arguments\n\n* `self` - the slave instance"]
8483 pub fn CS104_Slave_getOpenConnections(self_: CS104_Slave) -> ::std::os::raw::c_int;
8484}
8485unsafe extern "C" {
8486 #[doc = "set the maximum number of open client connections allowed\n\n NOTE: the number cannot be larger than the static maximum defined in\n\n # Arguments\n\n* `self` - the slave instance\n * `maxOpenConnections` - the maximum number of open client connections allowed"]
8487 pub fn CS104_Slave_setMaxOpenConnections(
8488 self_: CS104_Slave,
8489 maxOpenConnections: ::std::os::raw::c_int,
8490 );
8491}
8492unsafe extern "C" {
8493 #[doc = "Set one of the server modes\n\n # Arguments\n\n* `self` - the slave instance\n * `serverMode` - the server mode (see CS104_ServerMode) to use"]
8494 pub fn CS104_Slave_setServerMode(self_: CS104_Slave, serverMode: CS104_ServerMode);
8495}
8496unsafe extern "C" {
8497 #[doc = "Set the connection request handler\n\n The connection request handler is called whenever a client/master is trying to connect.\n This handler can be used to implement access control mechanisms as it allows the user to decide\n if the new connection is accepted or not.\n\n # Arguments\n\n* `self` - the slave instance\n * `handler` - the callback function to be used\n * `parameter` - user provided context parameter that will be passed to the callback function (or NULL if not required)."]
8498 pub fn CS104_Slave_setConnectionRequestHandler(
8499 self_: CS104_Slave,
8500 handler: CS104_ConnectionRequestHandler,
8501 parameter: *mut ::std::os::raw::c_void,
8502 );
8503}
8504unsafe extern "C" {
8505 #[doc = "Set the connection event handler\n\n The connection request handler is called whenever a connection event happens. A connection event\n can be when a client connects or disconnects, or when a START_DT or STOP_DT message is received.\n\n # Arguments\n\n* `self` - the slave instance\n * `handler` - the callback function to be used\n * `parameter` - user provided context parameter that will be passed to the callback function (or NULL if not required)."]
8506 pub fn CS104_Slave_setConnectionEventHandler(
8507 self_: CS104_Slave,
8508 handler: CS104_ConnectionEventHandler,
8509 parameter: *mut ::std::os::raw::c_void,
8510 );
8511}
8512unsafe extern "C" {
8513 pub fn CS104_Slave_setInterrogationHandler(
8514 self_: CS104_Slave,
8515 handler: CS101_InterrogationHandler,
8516 parameter: *mut ::std::os::raw::c_void,
8517 );
8518}
8519unsafe extern "C" {
8520 pub fn CS104_Slave_setCounterInterrogationHandler(
8521 self_: CS104_Slave,
8522 handler: CS101_CounterInterrogationHandler,
8523 parameter: *mut ::std::os::raw::c_void,
8524 );
8525}
8526unsafe extern "C" {
8527 #[doc = "set handler for read request (C_RD_NA_1 - 102)"]
8528 pub fn CS104_Slave_setReadHandler(
8529 self_: CS104_Slave,
8530 handler: CS101_ReadHandler,
8531 parameter: *mut ::std::os::raw::c_void,
8532 );
8533}
8534unsafe extern "C" {
8535 pub fn CS104_Slave_setASDUHandler(
8536 self_: CS104_Slave,
8537 handler: CS101_ASDUHandler,
8538 parameter: *mut ::std::os::raw::c_void,
8539 );
8540}
8541unsafe extern "C" {
8542 pub fn CS104_Slave_setClockSyncHandler(
8543 self_: CS104_Slave,
8544 handler: CS101_ClockSynchronizationHandler,
8545 parameter: *mut ::std::os::raw::c_void,
8546 );
8547}
8548unsafe extern "C" {
8549 #[doc = "Set the raw message callback (called when a message is sent or received)\n\n # Arguments\n\n* `handler` - user provided callback handler function\n * `parameter` - user provided parameter that is passed to the callback handler"]
8550 pub fn CS104_Slave_setRawMessageHandler(
8551 self_: CS104_Slave,
8552 handler: CS104_SlaveRawMessageHandler,
8553 parameter: *mut ::std::os::raw::c_void,
8554 );
8555}
8556unsafe extern "C" {
8557 #[doc = "Get the APCI parameters instance. APCI parameters are CS 104 specific parameters."]
8558 pub fn CS104_Slave_getConnectionParameters(self_: CS104_Slave) -> CS104_APCIParameters;
8559}
8560unsafe extern "C" {
8561 #[doc = "Get the application layer parameters instance.."]
8562 pub fn CS104_Slave_getAppLayerParameters(self_: CS104_Slave) -> CS101_AppLayerParameters;
8563}
8564unsafe extern "C" {
8565 #[doc = "Start the CS 104 slave. The slave (server) will listen on the configured TCP/IP port\n\n NOTE: This function will start a thread that handles the incoming client connections.\n This function requires CONFIG_USE_THREADS = 1 and CONFIG_USE_SEMAPHORES == 1 in lib60870_config.h\n\n # Arguments\n\n* `self` - CS104_Slave instance"]
8566 pub fn CS104_Slave_start(self_: CS104_Slave);
8567}
8568unsafe extern "C" {
8569 #[doc = "Check if slave is running\n\n # Arguments\n\n* `self` - CS104_Slave instance\n\n # Returns\n\ntrue when slave is running, false otherwise"]
8570 pub fn CS104_Slave_isRunning(self_: CS104_Slave) -> bool;
8571}
8572unsafe extern "C" {
8573 #[doc = "Stop the server.\n\n Stop listening to incoming TCP/IP connections and close all open connections.\n Event buffers will be deactivated."]
8574 pub fn CS104_Slave_stop(self_: CS104_Slave);
8575}
8576unsafe extern "C" {
8577 #[doc = "Start the slave (server) in non-threaded mode.\n\n Start listening to incoming TCP/IP connections.\n\n NOTE: Server should only be started after all configuration is done."]
8578 pub fn CS104_Slave_startThreadless(self_: CS104_Slave);
8579}
8580unsafe extern "C" {
8581 #[doc = "Stop the server in non-threaded mode\n\n Stop listening to incoming TCP/IP connections and close all open connections.\n Event buffers will be deactivated."]
8582 pub fn CS104_Slave_stopThreadless(self_: CS104_Slave);
8583}
8584unsafe extern "C" {
8585 #[doc = "Protocol stack tick function for non-threaded mode.\n\n Handle incoming connection requests and messages, send buffered events, and\n handle periodic tasks.\n\n NOTE: This function has to be called periodically by the application."]
8586 pub fn CS104_Slave_tick(self_: CS104_Slave);
8587}
8588unsafe extern "C" {
8589 #[doc = "Gets the number of ASDU in the low-priority queue\n\n NOTE: Mode CS104_MODE_CONNECTION_IS_REDUNDANCY_GROUP is not supported by this function.\n\n # Arguments\n\n* `redGroup` - the redundancy group to use or NULL for single redundancy mode\n\n # Returns\n\nthe number of ASDU in the low-priority queue"]
8590 pub fn CS104_Slave_getNumberOfQueueEntries(
8591 self_: CS104_Slave,
8592 redGroup: CS104_RedundancyGroup,
8593 ) -> ::std::os::raw::c_int;
8594}
8595unsafe extern "C" {
8596 #[doc = "Add an ASDU to the low-priority queue of the slave (use for periodic and spontaneous messages)\n\n # Arguments\n\n* `asdu` - the ASDU to add"]
8597 pub fn CS104_Slave_enqueueASDU(self_: CS104_Slave, asdu: CS101_ASDU);
8598}
8599unsafe extern "C" {
8600 #[doc = "Add a new redundancy group to the server.\n\n A redundancy group is a group of clients that share the same event queue. This function can\n only be used with server mode CS104_MODE_MULTIPLE_REDUNDANCY_GROUPS.\n\n NOTE: Has to be called before the server is started!\n\n # Arguments\n\n* `redundancyGroup` - the new redundancy group"]
8601 pub fn CS104_Slave_addRedundancyGroup(
8602 self_: CS104_Slave,
8603 redundancyGroup: CS104_RedundancyGroup,
8604 );
8605}
8606unsafe extern "C" {
8607 #[doc = "Delete the slave instance. Release all resources."]
8608 pub fn CS104_Slave_destroy(self_: CS104_Slave);
8609}
8610unsafe extern "C" {
8611 #[doc = "Create a new redundancy group.\n\n A redundancy group is a group of clients that share the same event queue. Redundancy groups can\n only be used with server mode CS104_MODE_MULTIPLE_REDUNDANCY_GROUPS."]
8612 pub fn CS104_RedundancyGroup_create(
8613 name: *const ::std::os::raw::c_char,
8614 ) -> CS104_RedundancyGroup;
8615}
8616unsafe extern "C" {
8617 #[doc = "Add an allowed client to the redundancy group\n\n # Arguments\n\n* `ipAddress` - the IP address of the client as C string (can be IPv4 or IPv6 address)."]
8618 pub fn CS104_RedundancyGroup_addAllowedClient(
8619 self_: CS104_RedundancyGroup,
8620 ipAddress: *const ::std::os::raw::c_char,
8621 );
8622}
8623unsafe extern "C" {
8624 #[doc = "Add an allowed client to the redundancy group\n\n # Arguments\n\n* `ipAddress` - the IP address as byte buffer (4 byte for IPv4, 16 byte for IPv6)\n * `addressType` - type of the IP address (either IP_ADDRESS_TYPE_IPV4 or IP_ADDRESS_TYPE_IPV6)"]
8625 pub fn CS104_RedundancyGroup_addAllowedClientEx(
8626 self_: CS104_RedundancyGroup,
8627 ipAddress: *const u8,
8628 addressType: eCS104_IPAddressType,
8629 );
8630}
8631unsafe extern "C" {
8632 #[doc = "Destroy the instance and release all resources.\n\n NOTE: This function will be called by CS104_Slave_destroy. After using\n the CS104_Slave_addRedundancyGroup function the redundancy group object must\n not be destroyed manually."]
8633 pub fn CS104_RedundancyGroup_destroy(self_: CS104_RedundancyGroup);
8634}
8635#[doc = "Parameters for the IEC 60870-5 link layer"]
8636pub type LinkLayerParameters = *mut sLinkLayerParameters;
8637#[repr(C)]
8638#[derive(Debug, Default, Copy, Clone, Hash, PartialEq, Eq)]
8639pub struct sLinkLayerParameters {
8640 pub addressLength: ::std::os::raw::c_int,
8641 #[doc = "Length of link layer address (1 or 2 byte)"]
8642 pub timeoutForAck: ::std::os::raw::c_int,
8643 #[doc = "timeout for link layer ACK in ms"]
8644 pub timeoutRepeat: ::std::os::raw::c_int,
8645 #[doc = "timeout for repeated message transmission when no ACK received in ms"]
8646 pub useSingleCharACK: bool,
8647 #[doc = "use single char ACK for ACK (FC=0) or RESP_NO_USER_DATA (FC=9)"]
8648 pub timeoutLinkState: ::std::os::raw::c_int,
8649}
8650#[allow(clippy::unnecessary_operation, clippy::identity_op)]
8651const _: () = {
8652 ["Size of sLinkLayerParameters"][::std::mem::size_of::<sLinkLayerParameters>() - 20usize];
8653 ["Alignment of sLinkLayerParameters"][::std::mem::align_of::<sLinkLayerParameters>() - 4usize];
8654 ["Offset of field: sLinkLayerParameters::addressLength"]
8655 [::std::mem::offset_of!(sLinkLayerParameters, addressLength) - 0usize];
8656 ["Offset of field: sLinkLayerParameters::timeoutForAck"]
8657 [::std::mem::offset_of!(sLinkLayerParameters, timeoutForAck) - 4usize];
8658 ["Offset of field: sLinkLayerParameters::timeoutRepeat"]
8659 [::std::mem::offset_of!(sLinkLayerParameters, timeoutRepeat) - 8usize];
8660 ["Offset of field: sLinkLayerParameters::useSingleCharACK"]
8661 [::std::mem::offset_of!(sLinkLayerParameters, useSingleCharACK) - 12usize];
8662 ["Offset of field: sLinkLayerParameters::timeoutLinkState"]
8663 [::std::mem::offset_of!(sLinkLayerParameters, timeoutLinkState) - 16usize];
8664};
8665#[repr(C)]
8666#[derive(Debug, Copy, Clone)]
8667pub struct sCS101_Master {
8668 _unused: [u8; 0],
8669}
8670#[doc = "CS101_Master type"]
8671pub type CS101_Master = *mut sCS101_Master;
8672unsafe extern "C" {
8673 #[doc = "Create a new master instance\n\n # Arguments\n\n* `port` - the serial port to use\n * `llParameters` - the link layer parameters to use\n * `alParameters` - the application layer parameters to use\n * `mode` - the link layer mode (either IEC60870_LINK_LAYER_BALANCED or IEC60870_LINK_LAYER_UNBALANCED)\n\n # Returns\n\nthe new CS101_Master instance"]
8674 pub fn CS101_Master_create(
8675 port: SerialPort,
8676 llParameters: LinkLayerParameters,
8677 alParameters: CS101_AppLayerParameters,
8678 mode: IEC60870_LinkLayerMode,
8679 ) -> CS101_Master;
8680}
8681unsafe extern "C" {
8682 #[doc = "Create a new master instance and specify message queue size (for balanced mode)\n\n # Arguments\n\n* `port` - the serial port to use\n * `llParameters` - the link layer parameters to use\n * `alParameters` - the application layer parameters to use\n * `mode` - the link layer mode (either IEC60870_LINK_LAYER_BALANCED or IEC60870_LINK_LAYER_UNBALANCED)\n * `queueSize` - set the message queue size (only for balanced mode)\n\n # Returns\n\nthe new CS101_Master instance"]
8683 pub fn CS101_Master_createEx(
8684 serialPort: SerialPort,
8685 llParameters: LinkLayerParameters,
8686 alParameters: CS101_AppLayerParameters,
8687 linkLayerMode: IEC60870_LinkLayerMode,
8688 queueSize: ::std::os::raw::c_int,
8689 ) -> CS101_Master;
8690}
8691unsafe extern "C" {
8692 #[doc = "Receive a new message and run the protocol state machine(s).\n\n NOTE: This function has to be called frequently in order to send and\n receive messages to and from slaves."]
8693 pub fn CS101_Master_run(self_: CS101_Master);
8694}
8695unsafe extern "C" {
8696 #[doc = "Start a background thread that handles the link layer connections\n\n NOTE: This requires threads. If you don't want to use a separate thread\n for the master instance you have to call the CS101_Master_run function\n periodically.\n\n # Arguments\n\n* `self` - CS101_Master instance"]
8697 pub fn CS101_Master_start(self_: CS101_Master);
8698}
8699unsafe extern "C" {
8700 #[doc = "Stops the background thread that handles the link layer connections\n\n # Arguments\n\n* `self` - CS101_Master instance"]
8701 pub fn CS101_Master_stop(self_: CS101_Master);
8702}
8703unsafe extern "C" {
8704 #[doc = "Add a new slave connection\n\n This function creates and starts a new link layer state machine\n to be used for communication with the slave. It has to be called\n before any application data can be send/received to/from the slave.\n\n # Arguments\n\n* `address` - link layer address of the slave"]
8705 pub fn CS101_Master_addSlave(self_: CS101_Master, address: ::std::os::raw::c_int);
8706}
8707unsafe extern "C" {
8708 #[doc = "Poll a slave (only unbalanced mode)\n\n NOTE: This command will instruct the unbalanced link layer to send a\n request for class 2 data. It is required to frequently call this\n message for each slave in order to receive application layer data from\n the slave\n\n # Arguments\n\n* `address` - the link layer address of the slave"]
8709 pub fn CS101_Master_pollSingleSlave(self_: CS101_Master, address: ::std::os::raw::c_int);
8710}
8711unsafe extern "C" {
8712 #[doc = "Destroy the master instance and release all resources"]
8713 pub fn CS101_Master_destroy(self_: CS101_Master);
8714}
8715unsafe extern "C" {
8716 #[doc = "Set the value of the DIR bit when sending messages (only balanced mode)\n\n NOTE: Default value is true (controlling station). In the case of two equivalent stations\n the value is defined by agreement.\n\n # Arguments\n\n* `dir` - the value of the DIR bit when sending messages"]
8717 pub fn CS101_Master_setDIR(self_: CS101_Master, dir: bool);
8718}
8719unsafe extern "C" {
8720 #[doc = "Set the own link layer address (only balanced mode)\n\n # Arguments\n\n* `address` - the link layer address to use"]
8721 pub fn CS101_Master_setOwnAddress(self_: CS101_Master, address: ::std::os::raw::c_int);
8722}
8723unsafe extern "C" {
8724 #[doc = "Set the slave address for the following send functions\n\n NOTE: This is always required in unbalanced mode. Some balanced slaves\n also check the link layer address. In this case the slave address\n has also to be set in balanced mode.\n\n # Arguments\n\n* `address` - the link layer address of the slave to address"]
8725 pub fn CS101_Master_useSlaveAddress(self_: CS101_Master, address: ::std::os::raw::c_int);
8726}
8727unsafe extern "C" {
8728 #[doc = "Returns the application layer parameters object of this master instance\n\n # Returns\n\nthe CS101_AppLayerParameters instance used by this master"]
8729 pub fn CS101_Master_getAppLayerParameters(self_: CS101_Master) -> CS101_AppLayerParameters;
8730}
8731unsafe extern "C" {
8732 #[doc = "Returns the link layer parameters object of this master instance\n\n # Returns\n\nthe LinkLayerParameters instance used by this master"]
8733 pub fn CS101_Master_getLinkLayerParameters(self_: CS101_Master) -> LinkLayerParameters;
8734}
8735unsafe extern "C" {
8736 #[doc = "Is the channel ready to transmit an ASDU (only unbalanced mode)\n\n The function will return true when the channel (slave) transmit buffer\n is empty.\n\n # Arguments\n\n* `address` - slave address of the recipient\n\n # Returns\n\ntrue, if channel ready to send a new ASDU, false otherwise"]
8737 pub fn CS101_Master_isChannelReady(self_: CS101_Master, address: ::std::os::raw::c_int)
8738 -> bool;
8739}
8740unsafe extern "C" {
8741 #[doc = "Manually send link layer test function.\n\n Together with the IEC60870_LinkLayerStateChangedHandler this function can\n be used to ensure that the link is working correctly"]
8742 pub fn CS101_Master_sendLinkLayerTestFunction(self_: CS101_Master);
8743}
8744unsafe extern "C" {
8745 #[doc = "send an interrogation command\n\n # Arguments\n\n* `cot` - cause of transmission\n * `ca` - Common address of the slave/server\n * `qoi` - qualifier of interrogation (20 for station interrogation)"]
8746 pub fn CS101_Master_sendInterrogationCommand(
8747 self_: CS101_Master,
8748 cot: CS101_CauseOfTransmission,
8749 ca: ::std::os::raw::c_int,
8750 qoi: QualifierOfInterrogation,
8751 );
8752}
8753unsafe extern "C" {
8754 #[doc = "send a counter interrogation command\n\n # Arguments\n\n* `cot` - cause of transmission\n * `ca` - Common address of the slave/server\n * `qcc` -"]
8755 pub fn CS101_Master_sendCounterInterrogationCommand(
8756 self_: CS101_Master,
8757 cot: CS101_CauseOfTransmission,
8758 ca: ::std::os::raw::c_int,
8759 qcc: u8,
8760 );
8761}
8762unsafe extern "C" {
8763 #[doc = "Sends a read command (C_RD_NA_1 typeID: 102)\n\n This will send a read command C_RC_NA_1 (102) to the slave/outstation. The COT is always REQUEST (5).\n It is used to implement the cyclical polling of data application function.\n\n # Arguments\n\n* `ca` - Common address of the slave/server\n * `ioa` - Information object address of the data point to read"]
8764 pub fn CS101_Master_sendReadCommand(
8765 self_: CS101_Master,
8766 ca: ::std::os::raw::c_int,
8767 ioa: ::std::os::raw::c_int,
8768 );
8769}
8770unsafe extern "C" {
8771 #[doc = "Sends a clock synchronization command (C_CS_NA_1 typeID: 103)\n\n # Arguments\n\n* `ca` - Common address of the slave/server\n * `time` - new system time for the slave/server"]
8772 pub fn CS101_Master_sendClockSyncCommand(
8773 self_: CS101_Master,
8774 ca: ::std::os::raw::c_int,
8775 time: CP56Time2a,
8776 );
8777}
8778unsafe extern "C" {
8779 #[doc = "Send a test command (C_TS_NA_1 typeID: 104)\n\n Note: This command is not supported by IEC 60870-5-104\n\n # Arguments\n\n* `ca` - Common address of the slave/server"]
8780 pub fn CS101_Master_sendTestCommand(self_: CS101_Master, ca: ::std::os::raw::c_int);
8781}
8782unsafe extern "C" {
8783 #[doc = "Send a process command to the controlled (or other) station\n\n # Arguments\n\n* `cot` - the cause of transmission (should be ACTIVATION to select/execute or ACT_TERM to cancel the command)\n * `ca` - the common address of the information object\n * `command` - the command information object (e.g. SingleCommand or DoubleCommand)\n"]
8784 pub fn CS101_Master_sendProcessCommand(
8785 self_: CS101_Master,
8786 cot: CS101_CauseOfTransmission,
8787 ca: ::std::os::raw::c_int,
8788 command: InformationObject,
8789 );
8790}
8791unsafe extern "C" {
8792 #[doc = "Send a user specified ASDU\n\n This function can be used for any kind of ASDU types. It can\n also be used for monitoring messages in reverse direction.\n\n NOTE: The ASDU is put into a message queue and will be sent whenever\n the link layer state machine is able to transmit the ASDU. The ASDUs will\n be sent in the order they are put into the queue.\n\n # Arguments\n\n* `asdu` - the ASDU to send"]
8793 pub fn CS101_Master_sendASDU(self_: CS101_Master, asdu: CS101_ASDU);
8794}
8795unsafe extern "C" {
8796 #[doc = "Register a callback handler for received ASDUs\n\n # Arguments\n\n* `handler` - user provided callback handler function\n * `parameter` - user provided parameter that is passed to the callback handler"]
8797 pub fn CS101_Master_setASDUReceivedHandler(
8798 self_: CS101_Master,
8799 handler: CS101_ASDUReceivedHandler,
8800 parameter: *mut ::std::os::raw::c_void,
8801 );
8802}
8803unsafe extern "C" {
8804 #[doc = "Set a callback handler for link layer state changes"]
8805 pub fn CS101_Master_setLinkLayerStateChanged(
8806 self_: CS101_Master,
8807 handler: IEC60870_LinkLayerStateChangedHandler,
8808 parameter: *mut ::std::os::raw::c_void,
8809 );
8810}
8811unsafe extern "C" {
8812 #[doc = "Set the raw message callback (called when a message is sent or received)\n\n # Arguments\n\n* `handler` - user provided callback handler function\n * `parameter` - user provided parameter that is passed to the callback handler"]
8813 pub fn CS101_Master_setRawMessageHandler(
8814 self_: CS101_Master,
8815 handler: IEC60870_RawMessageHandler,
8816 parameter: *mut ::std::os::raw::c_void,
8817 );
8818}
8819unsafe extern "C" {
8820 #[doc = "Set the idle timeout (only for balanced mode)\n\n Time with no activity after which the connection is considered\n in idle (LL_STATE_IDLE) state.\n\n # Arguments\n\n* `timeoutInMs` - the timeout value in milliseconds"]
8821 pub fn CS101_Master_setIdleTimeout(self_: CS101_Master, timeoutInMs: ::std::os::raw::c_int);
8822}
8823#[repr(C)]
8824#[derive(Debug, Copy, Clone)]
8825pub struct sCS101_Slave {
8826 _unused: [u8; 0],
8827}
8828#[doc = "CS101_Slave type"]
8829pub type CS101_Slave = *mut sCS101_Slave;
8830unsafe extern "C" {
8831 #[doc = "Create a new balanced or unbalanced CS101 slave\n\n NOTE: The CS101_Slave instance has two separate data queues for class 1 and class 2 data.\n This constructor uses the default max queue size for both queues.\n\n # Arguments\n\n* `serialPort` - the serial port to be used\n * `llParameters` - the link layer parameters to be used\n * `alParameters` - the CS101 application layer parameters\n * `linkLayerMode` - the link layer mode (either BALANCED or UNBALANCED)\n\n # Returns\n\nthe new slave instance"]
8832 pub fn CS101_Slave_create(
8833 serialPort: SerialPort,
8834 llParameters: LinkLayerParameters,
8835 alParameters: CS101_AppLayerParameters,
8836 linkLayerMode: IEC60870_LinkLayerMode,
8837 ) -> CS101_Slave;
8838}
8839unsafe extern "C" {
8840 #[doc = "Create a new balanced or unbalanced CS101 slave\n\n NOTE: The CS101_Slave instance has two separate data queues for class 1 and class 2 data.\n\n # Arguments\n\n* `serialPort` - the serial port to be used\n * `llParameters` - the link layer parameters to be used\n * `alParameters` - the CS101 application layer parameters\n * `linkLayerMode` - the link layer mode (either BALANCED or UNBALANCED)\n * `class1QueueSize` - size of the class1 data queue\n * `class2QueueSize` - size of the class2 data queue\n\n # Returns\n\nthe new slave instance"]
8841 pub fn CS101_Slave_createEx(
8842 serialPort: SerialPort,
8843 llParameters: LinkLayerParameters,
8844 alParameters: CS101_AppLayerParameters,
8845 linkLayerMode: IEC60870_LinkLayerMode,
8846 class1QueueSize: ::std::os::raw::c_int,
8847 class2QueueSize: ::std::os::raw::c_int,
8848 ) -> CS101_Slave;
8849}
8850unsafe extern "C" {
8851 #[doc = "Destroy the slave instance and cleanup all resources\n\n # Arguments\n\n* `self` - CS101_Slave instance"]
8852 pub fn CS101_Slave_destroy(self_: CS101_Slave);
8853}
8854unsafe extern "C" {
8855 #[doc = "Set the value of the DIR bit when sending messages (only balanced mode)\n\n NOTE: Default value is false (controlled station). In the case of two equivalent stations\n the value is defined by agreement.\n\n # Arguments\n\n* `dir` - the value of the DIR bit when sending messages"]
8856 pub fn CS101_Slave_setDIR(self_: CS101_Slave, dir: bool);
8857}
8858unsafe extern "C" {
8859 #[doc = "Register a plugin instance with this slave instance\n\n # Arguments\n\n* `the` - plugin instance."]
8860 pub fn CS101_Slave_addPlugin(self_: CS101_Slave, plugin: CS101_SlavePlugin);
8861}
8862unsafe extern "C" {
8863 #[doc = "Set the idle timeout\n\n Time with no activity after which the connection is considered\n in idle (LL_STATE_IDLE) state.\n\n # Arguments\n\n* `timeoutInMs` - the timeout value in milliseconds"]
8864 pub fn CS101_Slave_setIdleTimeout(self_: CS101_Slave, timeoutInMs: ::std::os::raw::c_int);
8865}
8866unsafe extern "C" {
8867 #[doc = "Set a callback handler for link layer state changes"]
8868 pub fn CS101_Slave_setLinkLayerStateChanged(
8869 self_: CS101_Slave,
8870 handler: IEC60870_LinkLayerStateChangedHandler,
8871 parameter: *mut ::std::os::raw::c_void,
8872 );
8873}
8874unsafe extern "C" {
8875 #[doc = "Set the local link layer address\n\n # Arguments\n\n* `self` - CS101_Slave instance\n * `address` - the link layer address (can be either 1 or 2 byte wide)."]
8876 pub fn CS101_Slave_setLinkLayerAddress(self_: CS101_Slave, address: ::std::os::raw::c_int);
8877}
8878unsafe extern "C" {
8879 #[doc = "Set the link layer address of the remote station\n\n # Arguments\n\n* `self` - CS101_Slave instance\n * `address` - the link layer address (can be either 1 or 2 byte wide)."]
8880 pub fn CS101_Slave_setLinkLayerAddressOtherStation(
8881 self_: CS101_Slave,
8882 address: ::std::os::raw::c_int,
8883 );
8884}
8885unsafe extern "C" {
8886 #[doc = "Check if the class 1 ASDU is full\n\n # Arguments\n\n* `self` - CS101_Slave instance\n\n # Returns\n\ntrue when the queue is full, false otherwise"]
8887 pub fn CS101_Slave_isClass1QueueFull(self_: CS101_Slave) -> bool;
8888}
8889unsafe extern "C" {
8890 #[doc = "Enqueue an ASDU into the class 1 data queue\n\n # Arguments\n\n* `self` - CS101_Slave instance\n * `asdu` - the ASDU instance to enqueue"]
8891 pub fn CS101_Slave_enqueueUserDataClass1(self_: CS101_Slave, asdu: CS101_ASDU);
8892}
8893unsafe extern "C" {
8894 #[doc = "Check if the class 2 ASDU is full\n\n # Arguments\n\n* `self` - CS101_Slave instance\n\n # Returns\n\ntrue when the queue is full, false otherwise"]
8895 pub fn CS101_Slave_isClass2QueueFull(self_: CS101_Slave) -> bool;
8896}
8897unsafe extern "C" {
8898 #[doc = "Enqueue an ASDU into the class 2 data queue\n\n # Arguments\n\n* `self` - CS101_Slave instance\n * `asdu` - the ASDU instance to enqueue"]
8899 pub fn CS101_Slave_enqueueUserDataClass2(self_: CS101_Slave, asdu: CS101_ASDU);
8900}
8901unsafe extern "C" {
8902 #[doc = "Remove all ASDUs from the class 1/2 data queues\n\n # Arguments\n\n* `self` - CS101_Slave instance"]
8903 pub fn CS101_Slave_flushQueues(self_: CS101_Slave);
8904}
8905unsafe extern "C" {
8906 #[doc = "Receive a new message and run the link layer state machines\n\n NOTE: Has to be called frequently, when the start/stop functions are\n not used. Otherwise it will be called by the background thread.\n\n # Arguments\n\n* `self` - CS101_Slave instance"]
8907 pub fn CS101_Slave_run(self_: CS101_Slave);
8908}
8909unsafe extern "C" {
8910 #[doc = "Start a background thread that handles the link layer connections\n\n NOTE: This requires threads. If you don't want to use a separate thread\n for the slave instance you have to call the CS101_Slave_run function\n periodically.\n\n # Arguments\n\n* `self` - CS101_Slave instance"]
8911 pub fn CS101_Slave_start(self_: CS101_Slave);
8912}
8913unsafe extern "C" {
8914 #[doc = "Stops the background thread that handles the link layer connections\n\n # Arguments\n\n* `self` - CS101_Slave instance"]
8915 pub fn CS101_Slave_stop(self_: CS101_Slave);
8916}
8917unsafe extern "C" {
8918 #[doc = "Returns the application layer parameters object of this slave instance\n\n # Arguments\n\n* `self` - CS101_Slave instance\n\n # Returns\n\nthe CS101_AppLayerParameters instance used by this slave"]
8919 pub fn CS101_Slave_getAppLayerParameters(self_: CS101_Slave) -> CS101_AppLayerParameters;
8920}
8921unsafe extern "C" {
8922 #[doc = "Returns the link layer parameters object of this slave instance\n\n # Arguments\n\n* `self` - CS101_Slave instance\n\n # Returns\n\nthe LinkLayerParameters instance used by this slave"]
8923 pub fn CS101_Slave_getLinkLayerParameters(self_: CS101_Slave) -> LinkLayerParameters;
8924}
8925unsafe extern "C" {
8926 #[doc = "Set the handler for the reset CU (communication unit) message\n\n # Arguments\n\n* `handler` - the callback handler function\n * `parameter` - user provided parameter to be passed to the callback handler"]
8927 pub fn CS101_Slave_setResetCUHandler(
8928 self_: CS101_Slave,
8929 handler: CS101_ResetCUHandler,
8930 parameter: *mut ::std::os::raw::c_void,
8931 );
8932}
8933unsafe extern "C" {
8934 #[doc = "Set the handler for the general interrogation message\n\n # Arguments\n\n* `handler` - the callback handler function\n * `parameter` - user provided parameter to be passed to the callback handler"]
8935 pub fn CS101_Slave_setInterrogationHandler(
8936 self_: CS101_Slave,
8937 handler: CS101_InterrogationHandler,
8938 parameter: *mut ::std::os::raw::c_void,
8939 );
8940}
8941unsafe extern "C" {
8942 #[doc = "Set the handler for the counter interrogation message\n\n # Arguments\n\n* `handler` - the callback handler function\n * `parameter` - user provided parameter to be passed to the callback handler"]
8943 pub fn CS101_Slave_setCounterInterrogationHandler(
8944 self_: CS101_Slave,
8945 handler: CS101_CounterInterrogationHandler,
8946 parameter: *mut ::std::os::raw::c_void,
8947 );
8948}
8949unsafe extern "C" {
8950 #[doc = "Set the handler for the read message\n\n # Arguments\n\n* `handler` - the callback handler function\n * `parameter` - user provided parameter to be passed to the callback handler"]
8951 pub fn CS101_Slave_setReadHandler(
8952 self_: CS101_Slave,
8953 handler: CS101_ReadHandler,
8954 parameter: *mut ::std::os::raw::c_void,
8955 );
8956}
8957unsafe extern "C" {
8958 #[doc = "Set the handler for the clock synchronization message\n\n # Arguments\n\n* `handler` - the callback handler function\n * `parameter` - user provided parameter to be passed to the callback handler"]
8959 pub fn CS101_Slave_setClockSyncHandler(
8960 self_: CS101_Slave,
8961 handler: CS101_ClockSynchronizationHandler,
8962 parameter: *mut ::std::os::raw::c_void,
8963 );
8964}
8965unsafe extern "C" {
8966 #[doc = "Set the handler for the reset process message\n\n # Arguments\n\n* `handler` - the callback handler function\n * `parameter` - user provided parameter to be passed to the callback handler"]
8967 pub fn CS101_Slave_setResetProcessHandler(
8968 self_: CS101_Slave,
8969 handler: CS101_ResetProcessHandler,
8970 parameter: *mut ::std::os::raw::c_void,
8971 );
8972}
8973unsafe extern "C" {
8974 #[doc = "Set the handler for the delay acquisition message\n\n # Arguments\n\n* `handler` - the callback handler function\n * `parameter` - user provided parameter to be passed to the callback handler"]
8975 pub fn CS101_Slave_setDelayAcquisitionHandler(
8976 self_: CS101_Slave,
8977 handler: CS101_DelayAcquisitionHandler,
8978 parameter: *mut ::std::os::raw::c_void,
8979 );
8980}
8981unsafe extern "C" {
8982 #[doc = "Set the handler for a received ASDU\n\n NOTE: This a generic handler that will only be called when the ASDU has not been handled by\n one of the other callback handlers.\n\n # Arguments\n\n* `handler` - the callback handler function\n * `parameter` - user provided parameter to be passed to the callback handler"]
8983 pub fn CS101_Slave_setASDUHandler(
8984 self_: CS101_Slave,
8985 handler: CS101_ASDUHandler,
8986 parameter: *mut ::std::os::raw::c_void,
8987 );
8988}
8989unsafe extern "C" {
8990 #[doc = "Set the raw message callback (called when a message is sent or received)\n\n # Arguments\n\n* `handler` - user provided callback handler function\n * `parameter` - user provided parameter that is passed to the callback handler"]
8991 pub fn CS101_Slave_setRawMessageHandler(
8992 self_: CS101_Slave,
8993 handler: IEC60870_RawMessageHandler,
8994 parameter: *mut ::std::os::raw::c_void,
8995 );
8996}
8997pub type __uint128_t = u128;