Skip to main content

opencsd_sys/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3#[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 {
53            byte | mask
54        } else {
55            byte & !mask
56        }
57    }
58    #[inline]
59    pub fn set_bit(&mut self, index: usize, val: bool) {
60        debug_assert!(index / 8 < self.storage.as_ref().len());
61        let byte_index = index / 8;
62        let byte = &mut self.storage.as_mut()[byte_index];
63        *byte = Self::change_bit(*byte, index, val);
64    }
65    #[inline]
66    pub unsafe fn raw_set_bit(this: *mut Self, index: usize, val: bool) {
67        debug_assert!(index / 8 < core::mem::size_of::<Storage>());
68        let byte_index = index / 8;
69        let byte = unsafe {
70            (core::ptr::addr_of_mut!((*this).storage) as *mut u8).offset(byte_index as isize)
71        };
72        unsafe { *byte = Self::change_bit(*byte, index, val) };
73    }
74    #[inline]
75    pub fn get(&self, bit_offset: usize, bit_width: u8) -> u64 {
76        debug_assert!(bit_width <= 64);
77        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
78        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
79        let mut val = 0;
80        for i in 0..(bit_width as usize) {
81            if self.get_bit(i + bit_offset) {
82                let index = if cfg!(target_endian = "big") {
83                    bit_width as usize - 1 - i
84                } else {
85                    i
86                };
87                val |= 1 << index;
88            }
89        }
90        val
91    }
92    #[inline]
93    pub unsafe fn raw_get(this: *const Self, bit_offset: usize, bit_width: u8) -> u64 {
94        debug_assert!(bit_width <= 64);
95        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
96        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
97        let mut val = 0;
98        for i in 0..(bit_width as usize) {
99            if unsafe { Self::raw_get_bit(this, i + bit_offset) } {
100                let index = if cfg!(target_endian = "big") {
101                    bit_width as usize - 1 - i
102                } else {
103                    i
104                };
105                val |= 1 << index;
106            }
107        }
108        val
109    }
110    #[inline]
111    pub fn set(&mut self, bit_offset: usize, bit_width: u8, val: u64) {
112        debug_assert!(bit_width <= 64);
113        debug_assert!(bit_offset / 8 < self.storage.as_ref().len());
114        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= self.storage.as_ref().len());
115        for i in 0..(bit_width as usize) {
116            let mask = 1 << i;
117            let val_bit_is_set = val & mask == mask;
118            let index = if cfg!(target_endian = "big") {
119                bit_width as usize - 1 - i
120            } else {
121                i
122            };
123            self.set_bit(index + bit_offset, val_bit_is_set);
124        }
125    }
126    #[inline]
127    pub unsafe fn raw_set(this: *mut Self, bit_offset: usize, bit_width: u8, val: u64) {
128        debug_assert!(bit_width <= 64);
129        debug_assert!(bit_offset / 8 < core::mem::size_of::<Storage>());
130        debug_assert!((bit_offset + (bit_width as usize)) / 8 <= core::mem::size_of::<Storage>());
131        for i in 0..(bit_width as usize) {
132            let mask = 1 << i;
133            let val_bit_is_set = val & mask == mask;
134            let index = if cfg!(target_endian = "big") {
135                bit_width as usize - 1 - i
136            } else {
137                i
138            };
139            unsafe { Self::raw_set_bit(this, index + bit_offset, val_bit_is_set) };
140        }
141    }
142}
143pub const _STDINT_H: u32 = 1;
144pub const _FEATURES_H: u32 = 1;
145pub const _DEFAULT_SOURCE: u32 = 1;
146pub const __GLIBC_USE_ISOC2Y: u32 = 0;
147pub const __GLIBC_USE_ISOC23: u32 = 0;
148pub const __USE_ISOC11: u32 = 1;
149pub const __USE_ISOC99: u32 = 1;
150pub const __USE_ISOC95: u32 = 1;
151pub const __USE_POSIX_IMPLICITLY: u32 = 1;
152pub const _POSIX_SOURCE: u32 = 1;
153pub const _POSIX_C_SOURCE: u32 = 200809;
154pub const __USE_POSIX: u32 = 1;
155pub const __USE_POSIX2: u32 = 1;
156pub const __USE_POSIX199309: u32 = 1;
157pub const __USE_POSIX199506: u32 = 1;
158pub const __USE_XOPEN2K: u32 = 1;
159pub const __USE_XOPEN2K8: u32 = 1;
160pub const _ATFILE_SOURCE: u32 = 1;
161pub const __WORDSIZE: u32 = 64;
162pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
163pub const __SYSCALL_WORDSIZE: u32 = 64;
164pub const __TIMESIZE: u32 = 64;
165pub const __USE_TIME_BITS64: u32 = 1;
166pub const __USE_MISC: u32 = 1;
167pub const __USE_ATFILE: u32 = 1;
168pub const __USE_FORTIFY_LEVEL: u32 = 0;
169pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
170pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
171pub const __GLIBC_USE_C23_STRTOL: u32 = 0;
172pub const _STDC_PREDEF_H: u32 = 1;
173pub const __STDC_IEC_559__: u32 = 1;
174pub const __STDC_IEC_60559_BFP__: u32 = 201404;
175pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
176pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
177pub const __STDC_ISO_10646__: u32 = 201706;
178pub const __GNU_LIBRARY__: u32 = 6;
179pub const __GLIBC__: u32 = 2;
180pub const __GLIBC_MINOR__: u32 = 41;
181pub const _SYS_CDEFS_H: u32 = 1;
182pub const __glibc_c99_flexarr_available: u32 = 1;
183pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
184pub const __HAVE_GENERIC_SELECTION: u32 = 1;
185pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
186pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
187pub const __GLIBC_USE_IEC_60559_BFP_EXT_C23: u32 = 0;
188pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
189pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
190pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C23: u32 = 0;
191pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
192pub const _BITS_TYPES_H: u32 = 1;
193pub const _BITS_TYPESIZES_H: u32 = 1;
194pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
195pub const __INO_T_MATCHES_INO64_T: u32 = 1;
196pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
197pub const __STATFS_MATCHES_STATFS64: u32 = 1;
198pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
199pub const __FD_SETSIZE: u32 = 1024;
200pub const _BITS_TIME64_H: u32 = 1;
201pub const _BITS_WCHAR_H: u32 = 1;
202pub const _BITS_STDINT_INTN_H: u32 = 1;
203pub const _BITS_STDINT_UINTN_H: u32 = 1;
204pub const _BITS_STDINT_LEAST_H: u32 = 1;
205pub const INT8_MIN: i32 = -128;
206pub const INT16_MIN: i32 = -32768;
207pub const INT32_MIN: i32 = -2147483648;
208pub const INT8_MAX: u32 = 127;
209pub const INT16_MAX: u32 = 32767;
210pub const INT32_MAX: u32 = 2147483647;
211pub const UINT8_MAX: u32 = 255;
212pub const UINT16_MAX: u32 = 65535;
213pub const UINT32_MAX: u32 = 4294967295;
214pub const INT_LEAST8_MIN: i32 = -128;
215pub const INT_LEAST16_MIN: i32 = -32768;
216pub const INT_LEAST32_MIN: i32 = -2147483648;
217pub const INT_LEAST8_MAX: u32 = 127;
218pub const INT_LEAST16_MAX: u32 = 32767;
219pub const INT_LEAST32_MAX: u32 = 2147483647;
220pub const UINT_LEAST8_MAX: u32 = 255;
221pub const UINT_LEAST16_MAX: u32 = 65535;
222pub const UINT_LEAST32_MAX: u32 = 4294967295;
223pub const INT_FAST8_MIN: i32 = -128;
224pub const INT_FAST16_MIN: i64 = -9223372036854775808;
225pub const INT_FAST32_MIN: i64 = -9223372036854775808;
226pub const INT_FAST8_MAX: u32 = 127;
227pub const INT_FAST16_MAX: u64 = 9223372036854775807;
228pub const INT_FAST32_MAX: u64 = 9223372036854775807;
229pub const UINT_FAST8_MAX: u32 = 255;
230pub const UINT_FAST16_MAX: i32 = -1;
231pub const UINT_FAST32_MAX: i32 = -1;
232pub const INTPTR_MIN: i64 = -9223372036854775808;
233pub const INTPTR_MAX: u64 = 9223372036854775807;
234pub const UINTPTR_MAX: i32 = -1;
235pub const PTRDIFF_MIN: i64 = -9223372036854775808;
236pub const PTRDIFF_MAX: u64 = 9223372036854775807;
237pub const SIG_ATOMIC_MIN: i32 = -2147483648;
238pub const SIG_ATOMIC_MAX: u32 = 2147483647;
239pub const SIZE_MAX: i32 = -1;
240pub const WINT_MIN: u32 = 0;
241pub const WINT_MAX: u32 = 4294967295;
242pub const _INTTYPES_H: u32 = 1;
243pub const ____gwchar_t_defined: u32 = 1;
244pub const __PRI64_PREFIX: &[u8; 2] = b"l\0";
245pub const __PRIPTR_PREFIX: &[u8; 2] = b"l\0";
246pub const PRId8: &[u8; 2] = b"d\0";
247pub const PRId16: &[u8; 2] = b"d\0";
248pub const PRId32: &[u8; 2] = b"d\0";
249pub const PRId64: &[u8; 3] = b"ld\0";
250pub const PRIdLEAST8: &[u8; 2] = b"d\0";
251pub const PRIdLEAST16: &[u8; 2] = b"d\0";
252pub const PRIdLEAST32: &[u8; 2] = b"d\0";
253pub const PRIdLEAST64: &[u8; 3] = b"ld\0";
254pub const PRIdFAST8: &[u8; 2] = b"d\0";
255pub const PRIdFAST16: &[u8; 3] = b"ld\0";
256pub const PRIdFAST32: &[u8; 3] = b"ld\0";
257pub const PRIdFAST64: &[u8; 3] = b"ld\0";
258pub const PRIi8: &[u8; 2] = b"i\0";
259pub const PRIi16: &[u8; 2] = b"i\0";
260pub const PRIi32: &[u8; 2] = b"i\0";
261pub const PRIi64: &[u8; 3] = b"li\0";
262pub const PRIiLEAST8: &[u8; 2] = b"i\0";
263pub const PRIiLEAST16: &[u8; 2] = b"i\0";
264pub const PRIiLEAST32: &[u8; 2] = b"i\0";
265pub const PRIiLEAST64: &[u8; 3] = b"li\0";
266pub const PRIiFAST8: &[u8; 2] = b"i\0";
267pub const PRIiFAST16: &[u8; 3] = b"li\0";
268pub const PRIiFAST32: &[u8; 3] = b"li\0";
269pub const PRIiFAST64: &[u8; 3] = b"li\0";
270pub const PRIo8: &[u8; 2] = b"o\0";
271pub const PRIo16: &[u8; 2] = b"o\0";
272pub const PRIo32: &[u8; 2] = b"o\0";
273pub const PRIo64: &[u8; 3] = b"lo\0";
274pub const PRIoLEAST8: &[u8; 2] = b"o\0";
275pub const PRIoLEAST16: &[u8; 2] = b"o\0";
276pub const PRIoLEAST32: &[u8; 2] = b"o\0";
277pub const PRIoLEAST64: &[u8; 3] = b"lo\0";
278pub const PRIoFAST8: &[u8; 2] = b"o\0";
279pub const PRIoFAST16: &[u8; 3] = b"lo\0";
280pub const PRIoFAST32: &[u8; 3] = b"lo\0";
281pub const PRIoFAST64: &[u8; 3] = b"lo\0";
282pub const PRIu8: &[u8; 2] = b"u\0";
283pub const PRIu16: &[u8; 2] = b"u\0";
284pub const PRIu32: &[u8; 2] = b"u\0";
285pub const PRIu64: &[u8; 3] = b"lu\0";
286pub const PRIuLEAST8: &[u8; 2] = b"u\0";
287pub const PRIuLEAST16: &[u8; 2] = b"u\0";
288pub const PRIuLEAST32: &[u8; 2] = b"u\0";
289pub const PRIuLEAST64: &[u8; 3] = b"lu\0";
290pub const PRIuFAST8: &[u8; 2] = b"u\0";
291pub const PRIuFAST16: &[u8; 3] = b"lu\0";
292pub const PRIuFAST32: &[u8; 3] = b"lu\0";
293pub const PRIuFAST64: &[u8; 3] = b"lu\0";
294pub const PRIx8: &[u8; 2] = b"x\0";
295pub const PRIx16: &[u8; 2] = b"x\0";
296pub const PRIx32: &[u8; 2] = b"x\0";
297pub const PRIx64: &[u8; 3] = b"lx\0";
298pub const PRIxLEAST8: &[u8; 2] = b"x\0";
299pub const PRIxLEAST16: &[u8; 2] = b"x\0";
300pub const PRIxLEAST32: &[u8; 2] = b"x\0";
301pub const PRIxLEAST64: &[u8; 3] = b"lx\0";
302pub const PRIxFAST8: &[u8; 2] = b"x\0";
303pub const PRIxFAST16: &[u8; 3] = b"lx\0";
304pub const PRIxFAST32: &[u8; 3] = b"lx\0";
305pub const PRIxFAST64: &[u8; 3] = b"lx\0";
306pub const PRIX8: &[u8; 2] = b"X\0";
307pub const PRIX16: &[u8; 2] = b"X\0";
308pub const PRIX32: &[u8; 2] = b"X\0";
309pub const PRIX64: &[u8; 3] = b"lX\0";
310pub const PRIXLEAST8: &[u8; 2] = b"X\0";
311pub const PRIXLEAST16: &[u8; 2] = b"X\0";
312pub const PRIXLEAST32: &[u8; 2] = b"X\0";
313pub const PRIXLEAST64: &[u8; 3] = b"lX\0";
314pub const PRIXFAST8: &[u8; 2] = b"X\0";
315pub const PRIXFAST16: &[u8; 3] = b"lX\0";
316pub const PRIXFAST32: &[u8; 3] = b"lX\0";
317pub const PRIXFAST64: &[u8; 3] = b"lX\0";
318pub const PRIdMAX: &[u8; 3] = b"ld\0";
319pub const PRIiMAX: &[u8; 3] = b"li\0";
320pub const PRIoMAX: &[u8; 3] = b"lo\0";
321pub const PRIuMAX: &[u8; 3] = b"lu\0";
322pub const PRIxMAX: &[u8; 3] = b"lx\0";
323pub const PRIXMAX: &[u8; 3] = b"lX\0";
324pub const PRIdPTR: &[u8; 3] = b"ld\0";
325pub const PRIiPTR: &[u8; 3] = b"li\0";
326pub const PRIoPTR: &[u8; 3] = b"lo\0";
327pub const PRIuPTR: &[u8; 3] = b"lu\0";
328pub const PRIxPTR: &[u8; 3] = b"lx\0";
329pub const PRIXPTR: &[u8; 3] = b"lX\0";
330pub const SCNd8: &[u8; 4] = b"hhd\0";
331pub const SCNd16: &[u8; 3] = b"hd\0";
332pub const SCNd32: &[u8; 2] = b"d\0";
333pub const SCNd64: &[u8; 3] = b"ld\0";
334pub const SCNdLEAST8: &[u8; 4] = b"hhd\0";
335pub const SCNdLEAST16: &[u8; 3] = b"hd\0";
336pub const SCNdLEAST32: &[u8; 2] = b"d\0";
337pub const SCNdLEAST64: &[u8; 3] = b"ld\0";
338pub const SCNdFAST8: &[u8; 4] = b"hhd\0";
339pub const SCNdFAST16: &[u8; 3] = b"ld\0";
340pub const SCNdFAST32: &[u8; 3] = b"ld\0";
341pub const SCNdFAST64: &[u8; 3] = b"ld\0";
342pub const SCNi8: &[u8; 4] = b"hhi\0";
343pub const SCNi16: &[u8; 3] = b"hi\0";
344pub const SCNi32: &[u8; 2] = b"i\0";
345pub const SCNi64: &[u8; 3] = b"li\0";
346pub const SCNiLEAST8: &[u8; 4] = b"hhi\0";
347pub const SCNiLEAST16: &[u8; 3] = b"hi\0";
348pub const SCNiLEAST32: &[u8; 2] = b"i\0";
349pub const SCNiLEAST64: &[u8; 3] = b"li\0";
350pub const SCNiFAST8: &[u8; 4] = b"hhi\0";
351pub const SCNiFAST16: &[u8; 3] = b"li\0";
352pub const SCNiFAST32: &[u8; 3] = b"li\0";
353pub const SCNiFAST64: &[u8; 3] = b"li\0";
354pub const SCNu8: &[u8; 4] = b"hhu\0";
355pub const SCNu16: &[u8; 3] = b"hu\0";
356pub const SCNu32: &[u8; 2] = b"u\0";
357pub const SCNu64: &[u8; 3] = b"lu\0";
358pub const SCNuLEAST8: &[u8; 4] = b"hhu\0";
359pub const SCNuLEAST16: &[u8; 3] = b"hu\0";
360pub const SCNuLEAST32: &[u8; 2] = b"u\0";
361pub const SCNuLEAST64: &[u8; 3] = b"lu\0";
362pub const SCNuFAST8: &[u8; 4] = b"hhu\0";
363pub const SCNuFAST16: &[u8; 3] = b"lu\0";
364pub const SCNuFAST32: &[u8; 3] = b"lu\0";
365pub const SCNuFAST64: &[u8; 3] = b"lu\0";
366pub const SCNo8: &[u8; 4] = b"hho\0";
367pub const SCNo16: &[u8; 3] = b"ho\0";
368pub const SCNo32: &[u8; 2] = b"o\0";
369pub const SCNo64: &[u8; 3] = b"lo\0";
370pub const SCNoLEAST8: &[u8; 4] = b"hho\0";
371pub const SCNoLEAST16: &[u8; 3] = b"ho\0";
372pub const SCNoLEAST32: &[u8; 2] = b"o\0";
373pub const SCNoLEAST64: &[u8; 3] = b"lo\0";
374pub const SCNoFAST8: &[u8; 4] = b"hho\0";
375pub const SCNoFAST16: &[u8; 3] = b"lo\0";
376pub const SCNoFAST32: &[u8; 3] = b"lo\0";
377pub const SCNoFAST64: &[u8; 3] = b"lo\0";
378pub const SCNx8: &[u8; 4] = b"hhx\0";
379pub const SCNx16: &[u8; 3] = b"hx\0";
380pub const SCNx32: &[u8; 2] = b"x\0";
381pub const SCNx64: &[u8; 3] = b"lx\0";
382pub const SCNxLEAST8: &[u8; 4] = b"hhx\0";
383pub const SCNxLEAST16: &[u8; 3] = b"hx\0";
384pub const SCNxLEAST32: &[u8; 2] = b"x\0";
385pub const SCNxLEAST64: &[u8; 3] = b"lx\0";
386pub const SCNxFAST8: &[u8; 4] = b"hhx\0";
387pub const SCNxFAST16: &[u8; 3] = b"lx\0";
388pub const SCNxFAST32: &[u8; 3] = b"lx\0";
389pub const SCNxFAST64: &[u8; 3] = b"lx\0";
390pub const SCNdMAX: &[u8; 3] = b"ld\0";
391pub const SCNiMAX: &[u8; 3] = b"li\0";
392pub const SCNoMAX: &[u8; 3] = b"lo\0";
393pub const SCNuMAX: &[u8; 3] = b"lu\0";
394pub const SCNxMAX: &[u8; 3] = b"lx\0";
395pub const SCNdPTR: &[u8; 3] = b"ld\0";
396pub const SCNiPTR: &[u8; 3] = b"li\0";
397pub const SCNoPTR: &[u8; 3] = b"lo\0";
398pub const SCNuPTR: &[u8; 3] = b"lu\0";
399pub const SCNxPTR: &[u8; 3] = b"lx\0";
400pub const OCSD_TRC_IDX_STR: &[u8; 2] = b"u\0";
401pub const OCSD_DFRMTR_HAS_FSYNCS: u32 = 1;
402pub const OCSD_DFRMTR_HAS_HSYNCS: u32 = 2;
403pub const OCSD_DFRMTR_FRAME_MEM_ALIGN: u32 = 4;
404pub const OCSD_DFRMTR_PACKED_RAW_OUT: u32 = 8;
405pub const OCSD_DFRMTR_UNPACKED_RAW_OUT: u32 = 16;
406pub const OCSD_DFRMTR_RESET_ON_4X_FSYNC: u32 = 32;
407pub const OCSD_DFRMTR_VALID_MASK: u32 = 63;
408pub const OCSD_DFRMTR_FRAME_SIZE: u32 = 16;
409pub const OCSD_CMPNAME_PREFIX_SOURCE_READER: &[u8; 5] = b"SRDR\0";
410pub const OCSD_CMPNAME_PREFIX_FRAMEDEFORMATTER: &[u8; 5] = b"DFMT\0";
411pub const OCSD_CMPNAME_PREFIX_PKTPROC: &[u8; 5] = b"PKTP\0";
412pub const OCSD_CMPNAME_PREFIX_PKTDEC: &[u8; 5] = b"PDEC\0";
413pub const OCSD_MAX_VA_BITSIZE: u32 = 64;
414pub const OCSD_VA_MASK: i32 = -1;
415pub const OCSD_OPFLG_PKTPROC_NOFWD_BAD_PKTS: u32 = 16;
416pub const OCSD_OPFLG_PKTPROC_NOMON_BAD_PKTS: u32 = 32;
417pub const OCSD_OPFLG_PKTPROC_ERR_BAD_PKTS: u32 = 64;
418pub const OCSD_OPFLG_PKTPROC_UNSYNC_ON_BAD_PKTS: u32 = 128;
419pub const OCSD_OPFLG_PKTPROC_COMMON: u32 = 240;
420pub const OCSD_OPFLG_COMP_MODE_MASK: u32 = 4294901760;
421pub const OCSD_OPFLG_PKTDEC_ERROR_BAD_PKTS: u32 = 256;
422pub const OCSD_OPFLG_PKTDEC_HALT_BAD_PKTS: u32 = 512;
423pub const OCSD_OPFLG_N_UNCOND_DIR_BR_CHK: u32 = 1024;
424pub const OCSD_OPFLG_STRICT_N_UNCOND_BR_CHK: u32 = 2048;
425pub const OCSD_OPFLG_CHK_RANGE_CONTINUE: u32 = 4096;
426pub const OCSD_OPFLG_N_UNCOND_CHK_NO_THUMB: u32 = 8192;
427pub const OCSD_OPFLG_PKTDEC_COMMON: u32 = 16128;
428pub const OCSD_CREATE_FLG_PACKET_PROC: u32 = 1;
429pub const OCSD_CREATE_FLG_FULL_DECODER: u32 = 2;
430pub const OCSD_CREATE_FLG_INST_ID: u32 = 4;
431pub const OCSD_BUILTIN_DCD_STM: &[u8; 4] = b"STM\0";
432pub const OCSD_BUILTIN_DCD_ETMV3: &[u8; 6] = b"ETMV3\0";
433pub const OCSD_BUILTIN_DCD_ETMV4I: &[u8; 7] = b"ETMV4I\0";
434pub const OCSD_BUILTIN_DCD_ETMV4D: &[u8; 7] = b"ETMV4D\0";
435pub const OCSD_BUILTIN_DCD_PTM: &[u8; 4] = b"PTM\0";
436pub const OCSD_BUILTIN_DCD_ETE: &[u8; 4] = b"ETE\0";
437pub const OCSD_BUILTIN_DCD_ITM: &[u8; 4] = b"ITM\0";
438pub const SWT_ID_VALID_MASK: u32 = 8388608;
439pub const OCSD_STATS_REVISION: u32 = 1;
440pub const OCSD_VER_MAJOR: u32 = 1;
441pub const OCSD_VER_MINOR: u32 = 8;
442pub const OCSD_VER_PATCH: u32 = 0;
443pub const OCSD_VER_NUM: u32 = 67584;
444pub const OCSD_VER_STRING: &[u8; 6] = b"1.8.0\0";
445pub const OCSD_LIB_NAME: &[u8; 16] = b"OpenCSD Library\0";
446pub const OCSD_LIB_SHORT_NAME: &[u8; 5] = b"OCSD\0";
447pub const DATA_ADDR_EXPECTED_FLAG: u32 = 32;
448pub const ETE_ARCH_VERSION: u32 = 5;
449pub const ETE_OPFLG_PKTDEC_SRCADDR_N_ATOMS: u32 = 65536;
450pub const ETM4_OPFLG_PKTDEC_AA64_OPCODE_CHK: u32 = 131072;
451pub const ETE_ETM4_OPFLG_MASK: u32 = 196608;
452pub const C_API_MSGLOGOUT_FLG_NONE: u32 = 0;
453pub const C_API_MSGLOGOUT_FLG_FILE: u32 = 1;
454pub const C_API_MSGLOGOUT_FLG_STDERR: u32 = 2;
455pub const C_API_MSGLOGOUT_FLG_STDOUT: u32 = 4;
456pub const C_API_MSGLOGOUT_MASK: u32 = 7;
457pub const OCSD_CUST_DCD_PKT_CB_USE_MON: u32 = 1;
458pub const OCSD_CUST_DCD_PKT_CB_USE_SINK: u32 = 2;
459pub type __u_char = ::std::os::raw::c_uchar;
460pub type __u_short = ::std::os::raw::c_ushort;
461pub type __u_int = ::std::os::raw::c_uint;
462pub type __u_long = ::std::os::raw::c_ulong;
463pub type __int8_t = ::std::os::raw::c_schar;
464pub type __uint8_t = ::std::os::raw::c_uchar;
465pub type __int16_t = ::std::os::raw::c_short;
466pub type __uint16_t = ::std::os::raw::c_ushort;
467pub type __int32_t = ::std::os::raw::c_int;
468pub type __uint32_t = ::std::os::raw::c_uint;
469pub type __int64_t = ::std::os::raw::c_long;
470pub type __uint64_t = ::std::os::raw::c_ulong;
471pub type __int_least8_t = __int8_t;
472pub type __uint_least8_t = __uint8_t;
473pub type __int_least16_t = __int16_t;
474pub type __uint_least16_t = __uint16_t;
475pub type __int_least32_t = __int32_t;
476pub type __uint_least32_t = __uint32_t;
477pub type __int_least64_t = __int64_t;
478pub type __uint_least64_t = __uint64_t;
479pub type __quad_t = ::std::os::raw::c_long;
480pub type __u_quad_t = ::std::os::raw::c_ulong;
481pub type __intmax_t = ::std::os::raw::c_long;
482pub type __uintmax_t = ::std::os::raw::c_ulong;
483pub type __dev_t = ::std::os::raw::c_ulong;
484pub type __uid_t = ::std::os::raw::c_uint;
485pub type __gid_t = ::std::os::raw::c_uint;
486pub type __ino_t = ::std::os::raw::c_ulong;
487pub type __ino64_t = ::std::os::raw::c_ulong;
488pub type __mode_t = ::std::os::raw::c_uint;
489pub type __nlink_t = ::std::os::raw::c_ulong;
490pub type __off_t = ::std::os::raw::c_long;
491pub type __off64_t = ::std::os::raw::c_long;
492pub type __pid_t = ::std::os::raw::c_int;
493#[repr(C)]
494#[derive(Debug, Copy, Clone)]
495pub struct __fsid_t {
496    pub __val: [::std::os::raw::c_int; 2usize],
497}
498#[allow(clippy::unnecessary_operation, clippy::identity_op)]
499const _: () = {
500    ["Size of __fsid_t"][::std::mem::size_of::<__fsid_t>() - 8usize];
501    ["Alignment of __fsid_t"][::std::mem::align_of::<__fsid_t>() - 4usize];
502    ["Offset of field: __fsid_t::__val"][::std::mem::offset_of!(__fsid_t, __val) - 0usize];
503};
504pub type __clock_t = ::std::os::raw::c_long;
505pub type __rlim_t = ::std::os::raw::c_ulong;
506pub type __rlim64_t = ::std::os::raw::c_ulong;
507pub type __id_t = ::std::os::raw::c_uint;
508pub type __time_t = ::std::os::raw::c_long;
509pub type __useconds_t = ::std::os::raw::c_uint;
510pub type __suseconds_t = ::std::os::raw::c_long;
511pub type __suseconds64_t = ::std::os::raw::c_long;
512pub type __daddr_t = ::std::os::raw::c_int;
513pub type __key_t = ::std::os::raw::c_int;
514pub type __clockid_t = ::std::os::raw::c_int;
515pub type __timer_t = *mut ::std::os::raw::c_void;
516pub type __blksize_t = ::std::os::raw::c_long;
517pub type __blkcnt_t = ::std::os::raw::c_long;
518pub type __blkcnt64_t = ::std::os::raw::c_long;
519pub type __fsblkcnt_t = ::std::os::raw::c_ulong;
520pub type __fsblkcnt64_t = ::std::os::raw::c_ulong;
521pub type __fsfilcnt_t = ::std::os::raw::c_ulong;
522pub type __fsfilcnt64_t = ::std::os::raw::c_ulong;
523pub type __fsword_t = ::std::os::raw::c_long;
524pub type __ssize_t = ::std::os::raw::c_long;
525pub type __syscall_slong_t = ::std::os::raw::c_long;
526pub type __syscall_ulong_t = ::std::os::raw::c_ulong;
527pub type __loff_t = __off64_t;
528pub type __caddr_t = *mut ::std::os::raw::c_char;
529pub type __intptr_t = ::std::os::raw::c_long;
530pub type __socklen_t = ::std::os::raw::c_uint;
531pub type __sig_atomic_t = ::std::os::raw::c_int;
532pub type int_least8_t = __int_least8_t;
533pub type int_least16_t = __int_least16_t;
534pub type int_least32_t = __int_least32_t;
535pub type int_least64_t = __int_least64_t;
536pub type uint_least8_t = __uint_least8_t;
537pub type uint_least16_t = __uint_least16_t;
538pub type uint_least32_t = __uint_least32_t;
539pub type uint_least64_t = __uint_least64_t;
540pub type int_fast8_t = ::std::os::raw::c_schar;
541pub type int_fast16_t = ::std::os::raw::c_long;
542pub type int_fast32_t = ::std::os::raw::c_long;
543pub type int_fast64_t = ::std::os::raw::c_long;
544pub type uint_fast8_t = ::std::os::raw::c_uchar;
545pub type uint_fast16_t = ::std::os::raw::c_ulong;
546pub type uint_fast32_t = ::std::os::raw::c_ulong;
547pub type uint_fast64_t = ::std::os::raw::c_ulong;
548pub type intmax_t = __intmax_t;
549pub type uintmax_t = __uintmax_t;
550pub type wchar_t = ::std::os::raw::c_int;
551#[repr(C)]
552#[repr(align(16))]
553#[derive(Debug, Copy, Clone)]
554pub struct max_align_t {
555    pub __clang_max_align_nonce1: ::std::os::raw::c_longlong,
556    pub __bindgen_padding_0: u64,
557    pub __clang_max_align_nonce2: u128,
558}
559#[allow(clippy::unnecessary_operation, clippy::identity_op)]
560const _: () = {
561    ["Size of max_align_t"][::std::mem::size_of::<max_align_t>() - 32usize];
562    ["Alignment of max_align_t"][::std::mem::align_of::<max_align_t>() - 16usize];
563    ["Offset of field: max_align_t::__clang_max_align_nonce1"]
564        [::std::mem::offset_of!(max_align_t, __clang_max_align_nonce1) - 0usize];
565    ["Offset of field: max_align_t::__clang_max_align_nonce2"]
566        [::std::mem::offset_of!(max_align_t, __clang_max_align_nonce2) - 16usize];
567};
568pub type __gwchar_t = ::std::os::raw::c_int;
569#[repr(C)]
570#[derive(Debug, Copy, Clone)]
571pub struct imaxdiv_t {
572    pub quot: ::std::os::raw::c_long,
573    pub rem: ::std::os::raw::c_long,
574}
575#[allow(clippy::unnecessary_operation, clippy::identity_op)]
576const _: () = {
577    ["Size of imaxdiv_t"][::std::mem::size_of::<imaxdiv_t>() - 16usize];
578    ["Alignment of imaxdiv_t"][::std::mem::align_of::<imaxdiv_t>() - 8usize];
579    ["Offset of field: imaxdiv_t::quot"][::std::mem::offset_of!(imaxdiv_t, quot) - 0usize];
580    ["Offset of field: imaxdiv_t::rem"][::std::mem::offset_of!(imaxdiv_t, rem) - 8usize];
581};
582unsafe extern "C" {
583    pub fn imaxabs(__n: intmax_t) -> intmax_t;
584}
585unsafe extern "C" {
586    pub fn imaxdiv(__numer: intmax_t, __denom: intmax_t) -> imaxdiv_t;
587}
588unsafe extern "C" {
589    pub fn strtoimax(
590        __nptr: *const ::std::os::raw::c_char,
591        __endptr: *mut *mut ::std::os::raw::c_char,
592        __base: ::std::os::raw::c_int,
593    ) -> intmax_t;
594}
595unsafe extern "C" {
596    pub fn strtoumax(
597        __nptr: *const ::std::os::raw::c_char,
598        __endptr: *mut *mut ::std::os::raw::c_char,
599        __base: ::std::os::raw::c_int,
600    ) -> uintmax_t;
601}
602unsafe extern "C" {
603    pub fn wcstoimax(
604        __nptr: *const __gwchar_t,
605        __endptr: *mut *mut __gwchar_t,
606        __base: ::std::os::raw::c_int,
607    ) -> intmax_t;
608}
609unsafe extern "C" {
610    pub fn wcstoumax(
611        __nptr: *const __gwchar_t,
612        __endptr: *mut *mut __gwchar_t,
613        __base: ::std::os::raw::c_int,
614    ) -> uintmax_t;
615}
616pub type ocsd_trc_index_t = u32;
617#[doc = "< 0 No Error."]
618pub const _ocsd_err_t_OCSD_OK: _ocsd_err_t = 0;
619#[doc = "< 1 General systemic failure."]
620pub const _ocsd_err_t_OCSD_ERR_FAIL: _ocsd_err_t = 1;
621#[doc = "< 2 Internal memory allocation error."]
622pub const _ocsd_err_t_OCSD_ERR_MEM: _ocsd_err_t = 2;
623#[doc = "< 3 Component not initialised or initialisation failure."]
624pub const _ocsd_err_t_OCSD_ERR_NOT_INIT: _ocsd_err_t = 3;
625#[doc = "< 4 Invalid CoreSight Trace Source ID."]
626pub const _ocsd_err_t_OCSD_ERR_INVALID_ID: _ocsd_err_t = 4;
627#[doc = "< 5 Invalid handle passed to component."]
628pub const _ocsd_err_t_OCSD_ERR_BAD_HANDLE: _ocsd_err_t = 5;
629#[doc = "< 6 Invalid value parameter passed to component."]
630pub const _ocsd_err_t_OCSD_ERR_INVALID_PARAM_VAL: _ocsd_err_t = 6;
631#[doc = "< 7 Type mismatch on abstract interface"]
632pub const _ocsd_err_t_OCSD_ERR_INVALID_PARAM_TYPE: _ocsd_err_t = 7;
633#[doc = "< 8 File access error"]
634pub const _ocsd_err_t_OCSD_ERR_FILE_ERROR: _ocsd_err_t = 8;
635#[doc = "< 9 Trace protocol unsupported"]
636pub const _ocsd_err_t_OCSD_ERR_NO_PROTOCOL: _ocsd_err_t = 9;
637#[doc = "< 10 Cannot attach - attach device limit reached."]
638pub const _ocsd_err_t_OCSD_ERR_ATTACH_TOO_MANY: _ocsd_err_t = 10;
639#[doc = "< 11 Cannot attach - invalid parameter."]
640pub const _ocsd_err_t_OCSD_ERR_ATTACH_INVALID_PARAM: _ocsd_err_t = 11;
641#[doc = "< 12 Cannot detach - component not found."]
642pub const _ocsd_err_t_OCSD_ERR_ATTACH_COMP_NOT_FOUND: _ocsd_err_t = 12;
643#[doc = "< 13 source reader - file not found."]
644pub const _ocsd_err_t_OCSD_ERR_RDR_FILE_NOT_FOUND: _ocsd_err_t = 13;
645#[doc = "< 14 source reader - invalid initialisation parameter."]
646pub const _ocsd_err_t_OCSD_ERR_RDR_INVALID_INIT: _ocsd_err_t = 14;
647#[doc = "< 15 source reader - not trace decoder set."]
648pub const _ocsd_err_t_OCSD_ERR_RDR_NO_DECODER: _ocsd_err_t = 15;
649#[doc = "< 16 A decoder in the data path has returned a fatal error."]
650pub const _ocsd_err_t_OCSD_ERR_DATA_DECODE_FATAL: _ocsd_err_t = 16;
651#[doc = "< 17 Trace input to deformatter none-continuous"]
652pub const _ocsd_err_t_OCSD_ERR_DFMTR_NOTCONTTRACE: _ocsd_err_t = 17;
653#[doc = "< 18 Bad frame or half frame sync in trace deformatter"]
654pub const _ocsd_err_t_OCSD_ERR_DFMTR_BAD_FHSYNC: _ocsd_err_t = 18;
655#[doc = "< 19 Bad packet sequence"]
656pub const _ocsd_err_t_OCSD_ERR_BAD_PACKET_SEQ: _ocsd_err_t = 19;
657#[doc = "< 20 Invalid packet header"]
658pub const _ocsd_err_t_OCSD_ERR_INVALID_PCKT_HDR: _ocsd_err_t = 20;
659#[doc = "< 21 Interpreter failed - cannot recover - bad data or sequence"]
660pub const _ocsd_err_t_OCSD_ERR_PKT_INTERP_FAIL: _ocsd_err_t = 21;
661#[doc = "< 22 ISA not supported in decoder."]
662pub const _ocsd_err_t_OCSD_ERR_UNSUPPORTED_ISA: _ocsd_err_t = 22;
663#[doc = "< 23 Programmed trace configuration not supported by decoder."]
664pub const _ocsd_err_t_OCSD_ERR_HW_CFG_UNSUPP: _ocsd_err_t = 23;
665#[doc = "< 24 Packet not supported in decoder"]
666pub const _ocsd_err_t_OCSD_ERR_UNSUPP_DECODE_PKT: _ocsd_err_t = 24;
667#[doc = "< 25 reserved or unknown packet in decoder."]
668pub const _ocsd_err_t_OCSD_ERR_BAD_DECODE_PKT: _ocsd_err_t = 25;
669#[doc = "< 26 overrun in commit packet stack - tried to commit more than available"]
670pub const _ocsd_err_t_OCSD_ERR_COMMIT_PKT_OVERRUN: _ocsd_err_t = 26;
671#[doc = "< 27 unable to access required memory address"]
672pub const _ocsd_err_t_OCSD_ERR_MEM_NACC: _ocsd_err_t = 27;
673#[doc = "< 28 internal return stack overflow checks failed - popped more than we pushed."]
674pub const _ocsd_err_t_OCSD_ERR_RET_STACK_OVERFLOW: _ocsd_err_t = 28;
675#[doc = "< 29 No formatter in use - operation not valid."]
676pub const _ocsd_err_t_OCSD_ERR_DCDT_NO_FORMATTER: _ocsd_err_t = 29;
677#[doc = "< 30 Attempted to set an overlapping range in memory access map"]
678pub const _ocsd_err_t_OCSD_ERR_MEM_ACC_OVERLAP: _ocsd_err_t = 30;
679#[doc = "< 31 Memory access file could not be opened"]
680pub const _ocsd_err_t_OCSD_ERR_MEM_ACC_FILE_NOT_FOUND: _ocsd_err_t = 31;
681#[doc = "< 32 Attempt to re-use the same memory access file for a different address range"]
682pub const _ocsd_err_t_OCSD_ERR_MEM_ACC_FILE_DIFF_RANGE: _ocsd_err_t = 32;
683#[doc = "< 33 Address range in accessor set to invalid values"]
684pub const _ocsd_err_t_OCSD_ERR_MEM_ACC_RANGE_INVALID: _ocsd_err_t = 33;
685#[doc = "< 34 Memory accessor returned a bad read length value (larger than requested"]
686pub const _ocsd_err_t_OCSD_ERR_MEM_ACC_BAD_LEN: _ocsd_err_t = 34;
687#[doc = "< 35 test snapshot file parse error"]
688pub const _ocsd_err_t_OCSD_ERR_TEST_SNAPSHOT_PARSE: _ocsd_err_t = 35;
689#[doc = "< 36 test snapshot file parse information"]
690pub const _ocsd_err_t_OCSD_ERR_TEST_SNAPSHOT_PARSE_INFO: _ocsd_err_t = 36;
691#[doc = "< 37 test snapshot reader error"]
692pub const _ocsd_err_t_OCSD_ERR_TEST_SNAPSHOT_READ: _ocsd_err_t = 37;
693#[doc = "< 38 test snapshot to decode tree conversion error"]
694pub const _ocsd_err_t_OCSD_ERR_TEST_SS_TO_DECODER: _ocsd_err_t = 38;
695#[doc = "< 39 attempted to register a decoder with the same name as another one"]
696pub const _ocsd_err_t_OCSD_ERR_DCDREG_NAME_REPEAT: _ocsd_err_t = 39;
697#[doc = "< 40 attempted to find a decoder with a name that is not known in the library"]
698pub const _ocsd_err_t_OCSD_ERR_DCDREG_NAME_UNKNOWN: _ocsd_err_t = 40;
699#[doc = "< 41 attempted to find a decoder with a type that is not known in the library"]
700pub const _ocsd_err_t_OCSD_ERR_DCDREG_TYPE_UNKNOWN: _ocsd_err_t = 41;
701#[doc = "< 42 attempted to register too many custom decoders"]
702pub const _ocsd_err_t_OCSD_ERR_DCDREG_TOOMANY: _ocsd_err_t = 42;
703#[doc = "< 43 Attempt to connect or use and interface not supported by this decoder."]
704pub const _ocsd_err_t_OCSD_ERR_DCD_INTERFACE_UNUSED: _ocsd_err_t = 43;
705#[doc = "< 44 Opcode found while decoding program memory is illegal"]
706pub const _ocsd_err_t_OCSD_ERR_INVALID_OPCODE: _ocsd_err_t = 44;
707#[doc = "< 45 An optional limit on consecutive instructions in range during decode has been exceeded."]
708pub const _ocsd_err_t_OCSD_ERR_I_RANGE_LIMIT_OVERRUN: _ocsd_err_t = 45;
709#[doc = "< 46 Inconsistencies detected between trace and decode image (e.g. not taken unconditional instructions)"]
710pub const _ocsd_err_t_OCSD_ERR_BAD_DECODE_IMAGE: _ocsd_err_t = 46;
711pub const _ocsd_err_t_OCSD_ERR_LAST: _ocsd_err_t = 47;
712#[doc = " Library Error return type"]
713pub type _ocsd_err_t = ::std::os::raw::c_uint;
714#[doc = " Library Error return type"]
715pub use self::_ocsd_err_t as ocsd_err_t;
716pub type ocsd_hndl_rdr_t = ::std::os::raw::c_uint;
717pub type ocsd_hndl_err_log_t = ::std::os::raw::c_uint;
718#[doc = "< No error logging."]
719pub const _ocsd_err_severity_t_OCSD_ERR_SEV_NONE: _ocsd_err_severity_t = 0;
720#[doc = "< Most severe error - perhaps fatal."]
721pub const _ocsd_err_severity_t_OCSD_ERR_SEV_ERROR: _ocsd_err_severity_t = 1;
722#[doc = "< Warning level. Inconsistent or incorrect data seen but can carry on decode processing"]
723pub const _ocsd_err_severity_t_OCSD_ERR_SEV_WARN: _ocsd_err_severity_t = 2;
724#[doc = "< Information only message. Use for debugging code or suspect input data."]
725pub const _ocsd_err_severity_t_OCSD_ERR_SEV_INFO: _ocsd_err_severity_t = 3;
726#[doc = "  Error Severity Type\n\n   Used to indicate the severity of an error, and also as the\n   error log verbosity level in the error logger.\n\n   The logger will ignore errors with a severity value higher than the\n   current verbosity level.\n\n   The value OCSD_ERR_SEV_NONE can only be used as a verbosity level to switch off logging,\n   not as a severity value on an error. The other values can be used as both error severity and\n   logger verbosity values."]
727pub type _ocsd_err_severity_t = ::std::os::raw::c_uint;
728#[doc = "  Error Severity Type\n\n   Used to indicate the severity of an error, and also as the\n   error log verbosity level in the error logger.\n\n   The logger will ignore errors with a severity value higher than the\n   current verbosity level.\n\n   The value OCSD_ERR_SEV_NONE can only be used as a verbosity level to switch off logging,\n   not as a severity value on an error. The other values can be used as both error severity and\n   logger verbosity values."]
729pub use self::_ocsd_err_severity_t as ocsd_err_severity_t;
730#[doc = "< Standard index + data packet"]
731pub const _ocsd_datapath_op_t_OCSD_OP_DATA: _ocsd_datapath_op_t = 0;
732#[doc = "< End of available trace data. No data packet."]
733pub const _ocsd_datapath_op_t_OCSD_OP_EOT: _ocsd_datapath_op_t = 1;
734#[doc = "< Flush existing data where possible, retain decode state. No data packet."]
735pub const _ocsd_datapath_op_t_OCSD_OP_FLUSH: _ocsd_datapath_op_t = 2;
736#[doc = "< Reset decode state - drop any existing partial data. No data packet."]
737pub const _ocsd_datapath_op_t_OCSD_OP_RESET: _ocsd_datapath_op_t = 3;
738#[doc = " Trace Datapath operations."]
739pub type _ocsd_datapath_op_t = ::std::os::raw::c_uint;
740#[doc = " Trace Datapath operations."]
741pub use self::_ocsd_datapath_op_t as ocsd_datapath_op_t;
742#[doc = "< Continue processing"]
743pub const _ocsd_datapath_resp_t_OCSD_RESP_CONT: _ocsd_datapath_resp_t = 0;
744#[doc = "< Continue processing  : a component logged a warning."]
745pub const _ocsd_datapath_resp_t_OCSD_RESP_WARN_CONT: _ocsd_datapath_resp_t = 1;
746#[doc = "< Continue processing  : a component logged an error."]
747pub const _ocsd_datapath_resp_t_OCSD_RESP_ERR_CONT: _ocsd_datapath_resp_t = 2;
748#[doc = "< Pause processing"]
749pub const _ocsd_datapath_resp_t_OCSD_RESP_WAIT: _ocsd_datapath_resp_t = 3;
750#[doc = "< Pause processing : a component logged a warning."]
751pub const _ocsd_datapath_resp_t_OCSD_RESP_WARN_WAIT: _ocsd_datapath_resp_t = 4;
752#[doc = "< Pause processing : a component logged an error."]
753pub const _ocsd_datapath_resp_t_OCSD_RESP_ERR_WAIT: _ocsd_datapath_resp_t = 5;
754#[doc = "< Processing Fatal Error :  component unintialised."]
755pub const _ocsd_datapath_resp_t_OCSD_RESP_FATAL_NOT_INIT: _ocsd_datapath_resp_t = 6;
756#[doc = "< Processing Fatal Error :  invalid data path operation."]
757pub const _ocsd_datapath_resp_t_OCSD_RESP_FATAL_INVALID_OP: _ocsd_datapath_resp_t = 7;
758#[doc = "< Processing Fatal Error :  invalid parameter in datapath call."]
759pub const _ocsd_datapath_resp_t_OCSD_RESP_FATAL_INVALID_PARAM: _ocsd_datapath_resp_t = 8;
760#[doc = "< Processing Fatal Error :  invalid trace data"]
761pub const _ocsd_datapath_resp_t_OCSD_RESP_FATAL_INVALID_DATA: _ocsd_datapath_resp_t = 9;
762#[doc = "< Processing Fatal Error :  internal system error."]
763pub const _ocsd_datapath_resp_t_OCSD_RESP_FATAL_SYS_ERR: _ocsd_datapath_resp_t = 10;
764#[doc = " Trace Datapath responses"]
765pub type _ocsd_datapath_resp_t = ::std::os::raw::c_uint;
766#[doc = " Trace Datapath responses"]
767pub use self::_ocsd_datapath_resp_t as ocsd_datapath_resp_t;
768#[doc = "< None data operation on data path. (EOT etc.)"]
769pub const _rcdtl_rawframe_elem_t_OCSD_FRM_NONE: _rcdtl_rawframe_elem_t = 0;
770#[doc = "< Raw packed frame data"]
771pub const _rcdtl_rawframe_elem_t_OCSD_FRM_PACKED: _rcdtl_rawframe_elem_t = 1;
772#[doc = "< HSYNC data"]
773pub const _rcdtl_rawframe_elem_t_OCSD_FRM_HSYNC: _rcdtl_rawframe_elem_t = 2;
774#[doc = "< Frame Sync Data"]
775pub const _rcdtl_rawframe_elem_t_OCSD_FRM_FSYNC: _rcdtl_rawframe_elem_t = 3;
776#[doc = "< unpacked data for ID"]
777pub const _rcdtl_rawframe_elem_t_OCSD_FRM_ID_DATA: _rcdtl_rawframe_elem_t = 4;
778#[doc = " Raw frame element data types\nData blocks types output from ITrcRawFrameIn."]
779pub type _rcdtl_rawframe_elem_t = ::std::os::raw::c_uint;
780#[doc = " Raw frame element data types\nData blocks types output from ITrcRawFrameIn."]
781pub use self::_rcdtl_rawframe_elem_t as ocsd_rawframe_elem_t;
782#[doc = "< input source is frame formatted."]
783pub const _ocsd_dcd_tree_src_t_OCSD_TRC_SRC_FRAME_FORMATTED: _ocsd_dcd_tree_src_t = 0;
784#[doc = "< input source is from a single protocol generator."]
785pub const _ocsd_dcd_tree_src_t_OCSD_TRC_SRC_SINGLE: _ocsd_dcd_tree_src_t = 1;
786#[doc = " Indicates if the trace source will be frame formatted or a single protocol source.\nUsed in decode tree creation and configuration code."]
787pub type _ocsd_dcd_tree_src_t = ::std::os::raw::c_uint;
788#[doc = " Indicates if the trace source will be frame formatted or a single protocol source.\nUsed in decode tree creation and configuration code."]
789pub use self::_ocsd_dcd_tree_src_t as ocsd_dcd_tree_src_t;
790#[doc = "< unknown architecture"]
791pub const _ocsd_arch_version_ARCH_UNKNOWN: _ocsd_arch_version = 0;
792#[doc = "< None ARM, custom architecture"]
793pub const _ocsd_arch_version_ARCH_CUSTOM: _ocsd_arch_version = 1;
794#[doc = "< V7 architecture"]
795pub const _ocsd_arch_version_ARCH_V7: _ocsd_arch_version = 1792;
796#[doc = "< V8 architecture"]
797pub const _ocsd_arch_version_ARCH_V8: _ocsd_arch_version = 2048;
798#[doc = "< V8.3 architecture"]
799pub const _ocsd_arch_version_ARCH_V8r3: _ocsd_arch_version = 2051;
800#[doc = "< Min v8r3 plus additional AA64 PE features"]
801pub const _ocsd_arch_version_ARCH_AA64: _ocsd_arch_version = 2148;
802pub const _ocsd_arch_version_ARCH_V8_max: _ocsd_arch_version = 2148;
803#[doc = " Core Architecture Version"]
804pub type _ocsd_arch_version = ::std::os::raw::c_uint;
805#[doc = " Core Architecture Version"]
806pub use self::_ocsd_arch_version as ocsd_arch_version_t;
807#[doc = "< Unknown profile"]
808pub const _ocsd_core_profile_profile_Unknown: _ocsd_core_profile = 0;
809#[doc = "< Cortex-M profile"]
810pub const _ocsd_core_profile_profile_CortexM: _ocsd_core_profile = 1;
811#[doc = "< Cortex-R profile"]
812pub const _ocsd_core_profile_profile_CortexR: _ocsd_core_profile = 2;
813#[doc = "< Cortex-A profile"]
814pub const _ocsd_core_profile_profile_CortexA: _ocsd_core_profile = 3;
815#[doc = "< None ARM, custom arch profile"]
816pub const _ocsd_core_profile_profile_Custom: _ocsd_core_profile = 4;
817#[doc = " Core Profile"]
818pub type _ocsd_core_profile = ::std::os::raw::c_uint;
819#[doc = " Core Profile"]
820pub use self::_ocsd_core_profile as ocsd_core_profile_t;
821#[doc = " Combined architecture and profile descriptor for a core"]
822#[repr(C)]
823#[derive(Debug, Copy, Clone)]
824pub struct _ocsd_arch_profile_t {
825    #[doc = "< core architecture"]
826    pub arch: ocsd_arch_version_t,
827    #[doc = "< core profile"]
828    pub profile: ocsd_core_profile_t,
829}
830#[allow(clippy::unnecessary_operation, clippy::identity_op)]
831const _: () = {
832    ["Size of _ocsd_arch_profile_t"][::std::mem::size_of::<_ocsd_arch_profile_t>() - 8usize];
833    ["Alignment of _ocsd_arch_profile_t"][::std::mem::align_of::<_ocsd_arch_profile_t>() - 4usize];
834    ["Offset of field: _ocsd_arch_profile_t::arch"]
835        [::std::mem::offset_of!(_ocsd_arch_profile_t, arch) - 0usize];
836    ["Offset of field: _ocsd_arch_profile_t::profile"]
837        [::std::mem::offset_of!(_ocsd_arch_profile_t, profile) - 4usize];
838};
839#[doc = " Combined architecture and profile descriptor for a core"]
840pub type ocsd_arch_profile_t = _ocsd_arch_profile_t;
841pub type ocsd_vaddr_t = u64;
842#[doc = "< V7 ARM 32, V8 AArch32"]
843pub const _ocsd_isa_ocsd_isa_arm: _ocsd_isa = 0;
844#[doc = "< Thumb2 -> 16/32 bit instructions"]
845pub const _ocsd_isa_ocsd_isa_thumb2: _ocsd_isa = 1;
846#[doc = "< V8 AArch64"]
847pub const _ocsd_isa_ocsd_isa_aarch64: _ocsd_isa = 2;
848#[doc = "< Thumb EE - unsupported"]
849pub const _ocsd_isa_ocsd_isa_tee: _ocsd_isa = 3;
850#[doc = "< Jazelle - unsupported in trace"]
851pub const _ocsd_isa_ocsd_isa_jazelle: _ocsd_isa = 4;
852#[doc = "< Instruction set - custom arch decoder"]
853pub const _ocsd_isa_ocsd_isa_custom: _ocsd_isa = 5;
854#[doc = "< ISA not yet known"]
855pub const _ocsd_isa_ocsd_isa_unknown: _ocsd_isa = 6;
856#[doc = " Instruction Set Architecture type\n"]
857pub type _ocsd_isa = ::std::os::raw::c_uint;
858#[doc = " Instruction Set Architecture type\n"]
859pub use self::_ocsd_isa as ocsd_isa;
860#[doc = "< Core is in secure state"]
861pub const _ocsd_sec_level_ocsd_sec_secure: _ocsd_sec_level = 0;
862#[doc = "< Core is in non-secure state"]
863pub const _ocsd_sec_level_ocsd_sec_nonsecure: _ocsd_sec_level = 1;
864#[doc = "< PE FEAT_RME: Core is in root state."]
865pub const _ocsd_sec_level_ocsd_sec_root: _ocsd_sec_level = 2;
866#[doc = "< PE FEAT_RME: Core is in realm state."]
867pub const _ocsd_sec_level_ocsd_sec_realm: _ocsd_sec_level = 3;
868#[doc = " Security level type"]
869pub type _ocsd_sec_level = ::std::os::raw::c_uint;
870#[doc = " Security level type"]
871pub use self::_ocsd_sec_level as ocsd_sec_level;
872#[doc = "< EL unknown / unsupported in trace"]
873pub const _ocsd_ex_level_ocsd_EL_unknown: _ocsd_ex_level = -1;
874#[doc = "< EL0"]
875pub const _ocsd_ex_level_ocsd_EL0: _ocsd_ex_level = 0;
876#[doc = "< EL1"]
877pub const _ocsd_ex_level_ocsd_EL1: _ocsd_ex_level = 1;
878#[doc = "< EL2"]
879pub const _ocsd_ex_level_ocsd_EL2: _ocsd_ex_level = 2;
880#[doc = "< EL3"]
881pub const _ocsd_ex_level_ocsd_EL3: _ocsd_ex_level = 3;
882#[doc = " Exception level type"]
883pub type _ocsd_ex_level = ::std::os::raw::c_int;
884#[doc = " Exception level type"]
885pub use self::_ocsd_ex_level as ocsd_ex_level;
886#[doc = "< Other instruction - not significant for waypoints."]
887pub const _ocsd_instr_type_OCSD_INSTR_OTHER: _ocsd_instr_type = 0;
888#[doc = "< Immediate Branch instruction"]
889pub const _ocsd_instr_type_OCSD_INSTR_BR: _ocsd_instr_type = 1;
890#[doc = "< Indirect Branch instruction"]
891pub const _ocsd_instr_type_OCSD_INSTR_BR_INDIRECT: _ocsd_instr_type = 2;
892#[doc = "< Barrier : ISB instruction"]
893pub const _ocsd_instr_type_OCSD_INSTR_ISB: _ocsd_instr_type = 3;
894#[doc = "< Barrier : DSB or DMB instruction"]
895pub const _ocsd_instr_type_OCSD_INSTR_DSB_DMB: _ocsd_instr_type = 4;
896#[doc = "< WFI or WFE traced as direct branch"]
897pub const _ocsd_instr_type_OCSD_INSTR_WFI_WFE: _ocsd_instr_type = 5;
898#[doc = "< PE Arch feature FEAT_TME - TSTART instruction"]
899pub const _ocsd_instr_type_OCSD_INSTR_TSTART: _ocsd_instr_type = 6;
900#[doc = " instruction types - significant for waypoint calculations"]
901pub type _ocsd_instr_type = ::std::os::raw::c_uint;
902#[doc = " instruction types - significant for waypoint calculations"]
903pub use self::_ocsd_instr_type as ocsd_instr_type;
904#[doc = "< no subtype set"]
905pub const _ocsd_instr_subtype_OCSD_S_INSTR_NONE: _ocsd_instr_subtype = 0;
906#[doc = "< branch with link"]
907pub const _ocsd_instr_subtype_OCSD_S_INSTR_BR_LINK: _ocsd_instr_subtype = 1;
908#[doc = "< v8 ret instruction - subtype of BR_INDIRECT"]
909pub const _ocsd_instr_subtype_OCSD_S_INSTR_V8_RET: _ocsd_instr_subtype = 2;
910#[doc = "< v8 eret instruction - subtype of BR_INDIRECT"]
911pub const _ocsd_instr_subtype_OCSD_S_INSTR_V8_ERET: _ocsd_instr_subtype = 3;
912#[doc = "< v7 instruction which could imply return e.g. MOV PC, LR; POP { ,pc}"]
913pub const _ocsd_instr_subtype_OCSD_S_INSTR_V7_IMPLIED_RET: _ocsd_instr_subtype = 4;
914#[doc = " instruction sub types - addiitonal information passed to the output packets\nfor trace analysis tools."]
915pub type _ocsd_instr_subtype = ::std::os::raw::c_uint;
916#[doc = " instruction sub types - addiitonal information passed to the output packets\nfor trace analysis tools."]
917pub use self::_ocsd_instr_subtype as ocsd_instr_subtype;
918#[doc = " Instruction decode request structure.\n\n   Used in IInstrDecode  interface.\n\n   Caller fills in the input: information, callee then fills in the decoder: information."]
919#[repr(C)]
920#[derive(Debug, Copy, Clone)]
921pub struct _ocsd_instr_info {
922    #[doc = "< input: Core Arch and profile"]
923    pub pe_type: ocsd_arch_profile_t,
924    #[doc = "< Input: Current ISA."]
925    pub isa: ocsd_isa,
926    #[doc = "< Input: Instruction address."]
927    pub instr_addr: ocsd_vaddr_t,
928    #[doc = "< Input: Opcode at address. 16 bit opcodes will use MS 16bits of parameter."]
929    pub opcode: u32,
930    #[doc = "< Input: DMB and DSB are waypoints"]
931    pub dsb_dmb_waypoints: u8,
932    #[doc = "< Input: WFI, WFE classed as direct branches"]
933    pub wfi_wfe_branch: u8,
934    #[doc = "< Input: When IT block detected, set conditional output according to IT count"]
935    pub track_it_block: u8,
936    #[doc = "< Decoder: Current instruction type."]
937    pub type_: ocsd_instr_type,
938    #[doc = "< Decoder: Calculated address of branch instrcution (direct branches only)"]
939    pub branch_addr: ocsd_vaddr_t,
940    #[doc = "< Decoder: ISA for next intruction."]
941    pub next_isa: ocsd_isa,
942    #[doc = "< Decoder : size of the decoded instruction"]
943    pub instr_size: u8,
944    #[doc = "< Decoder : set to 1 if this instruction is conditional"]
945    pub is_conditional: u8,
946    #[doc = "< Decoder : is a branch with link instruction"]
947    pub is_link: u8,
948    #[doc = "< Decoder : return number of following instructions set with conditions by this Thumb IT instruction"]
949    pub thumb_it_conditions: u8,
950    #[doc = "< Decoder : current instruction sub-type if known"]
951    pub sub_type: ocsd_instr_subtype,
952}
953#[allow(clippy::unnecessary_operation, clippy::identity_op)]
954const _: () = {
955    ["Size of _ocsd_instr_info"][::std::mem::size_of::<_ocsd_instr_info>() - 64usize];
956    ["Alignment of _ocsd_instr_info"][::std::mem::align_of::<_ocsd_instr_info>() - 8usize];
957    ["Offset of field: _ocsd_instr_info::pe_type"]
958        [::std::mem::offset_of!(_ocsd_instr_info, pe_type) - 0usize];
959    ["Offset of field: _ocsd_instr_info::isa"]
960        [::std::mem::offset_of!(_ocsd_instr_info, isa) - 8usize];
961    ["Offset of field: _ocsd_instr_info::instr_addr"]
962        [::std::mem::offset_of!(_ocsd_instr_info, instr_addr) - 16usize];
963    ["Offset of field: _ocsd_instr_info::opcode"]
964        [::std::mem::offset_of!(_ocsd_instr_info, opcode) - 24usize];
965    ["Offset of field: _ocsd_instr_info::dsb_dmb_waypoints"]
966        [::std::mem::offset_of!(_ocsd_instr_info, dsb_dmb_waypoints) - 28usize];
967    ["Offset of field: _ocsd_instr_info::wfi_wfe_branch"]
968        [::std::mem::offset_of!(_ocsd_instr_info, wfi_wfe_branch) - 29usize];
969    ["Offset of field: _ocsd_instr_info::track_it_block"]
970        [::std::mem::offset_of!(_ocsd_instr_info, track_it_block) - 30usize];
971    ["Offset of field: _ocsd_instr_info::type_"]
972        [::std::mem::offset_of!(_ocsd_instr_info, type_) - 32usize];
973    ["Offset of field: _ocsd_instr_info::branch_addr"]
974        [::std::mem::offset_of!(_ocsd_instr_info, branch_addr) - 40usize];
975    ["Offset of field: _ocsd_instr_info::next_isa"]
976        [::std::mem::offset_of!(_ocsd_instr_info, next_isa) - 48usize];
977    ["Offset of field: _ocsd_instr_info::instr_size"]
978        [::std::mem::offset_of!(_ocsd_instr_info, instr_size) - 52usize];
979    ["Offset of field: _ocsd_instr_info::is_conditional"]
980        [::std::mem::offset_of!(_ocsd_instr_info, is_conditional) - 53usize];
981    ["Offset of field: _ocsd_instr_info::is_link"]
982        [::std::mem::offset_of!(_ocsd_instr_info, is_link) - 54usize];
983    ["Offset of field: _ocsd_instr_info::thumb_it_conditions"]
984        [::std::mem::offset_of!(_ocsd_instr_info, thumb_it_conditions) - 55usize];
985    ["Offset of field: _ocsd_instr_info::sub_type"]
986        [::std::mem::offset_of!(_ocsd_instr_info, sub_type) - 56usize];
987};
988#[doc = " Instruction decode request structure.\n\n   Used in IInstrDecode  interface.\n\n   Caller fills in the input: information, callee then fills in the decoder: information."]
989pub type ocsd_instr_info = _ocsd_instr_info;
990#[doc = " Core(PE) context structure\nrecords current security state, exception level, VMID and ContextID for core."]
991#[repr(C)]
992#[derive(Debug, Copy, Clone)]
993pub struct _ocsd_pe_context {
994    #[doc = "< security state"]
995    pub security_level: ocsd_sec_level,
996    #[doc = "< exception level"]
997    pub exception_level: ocsd_ex_level,
998    #[doc = "< context ID"]
999    pub context_id: u32,
1000    #[doc = "< VMID"]
1001    pub vmid: u32,
1002    pub __bindgen_anon_1: _ocsd_pe_context__bindgen_ty_1,
1003}
1004#[repr(C)]
1005#[repr(align(4))]
1006#[derive(Debug, Copy, Clone)]
1007pub struct _ocsd_pe_context__bindgen_ty_1 {
1008    pub _bitfield_align_1: [u8; 0],
1009    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
1010    pub __bindgen_padding_0: [u8; 3usize],
1011}
1012#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1013const _: () = {
1014    ["Size of _ocsd_pe_context__bindgen_ty_1"]
1015        [::std::mem::size_of::<_ocsd_pe_context__bindgen_ty_1>() - 4usize];
1016    ["Alignment of _ocsd_pe_context__bindgen_ty_1"]
1017        [::std::mem::align_of::<_ocsd_pe_context__bindgen_ty_1>() - 4usize];
1018};
1019impl _ocsd_pe_context__bindgen_ty_1 {
1020    #[inline]
1021    pub fn bits64(&self) -> u32 {
1022        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
1023    }
1024    #[inline]
1025    pub fn set_bits64(&mut self, val: u32) {
1026        unsafe {
1027            let val: u32 = ::std::mem::transmute(val);
1028            self._bitfield_1.set(0usize, 1u8, val as u64)
1029        }
1030    }
1031    #[inline]
1032    pub unsafe fn bits64_raw(this: *const Self) -> u32 {
1033        unsafe {
1034            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
1035                ::std::ptr::addr_of!((*this)._bitfield_1),
1036                0usize,
1037                1u8,
1038            ) as u32)
1039        }
1040    }
1041    #[inline]
1042    pub unsafe fn set_bits64_raw(this: *mut Self, val: u32) {
1043        unsafe {
1044            let val: u32 = ::std::mem::transmute(val);
1045            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
1046                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1047                0usize,
1048                1u8,
1049                val as u64,
1050            )
1051        }
1052    }
1053    #[inline]
1054    pub fn ctxt_id_valid(&self) -> u32 {
1055        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
1056    }
1057    #[inline]
1058    pub fn set_ctxt_id_valid(&mut self, val: u32) {
1059        unsafe {
1060            let val: u32 = ::std::mem::transmute(val);
1061            self._bitfield_1.set(1usize, 1u8, val as u64)
1062        }
1063    }
1064    #[inline]
1065    pub unsafe fn ctxt_id_valid_raw(this: *const Self) -> u32 {
1066        unsafe {
1067            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
1068                ::std::ptr::addr_of!((*this)._bitfield_1),
1069                1usize,
1070                1u8,
1071            ) as u32)
1072        }
1073    }
1074    #[inline]
1075    pub unsafe fn set_ctxt_id_valid_raw(this: *mut Self, val: u32) {
1076        unsafe {
1077            let val: u32 = ::std::mem::transmute(val);
1078            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
1079                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1080                1usize,
1081                1u8,
1082                val as u64,
1083            )
1084        }
1085    }
1086    #[inline]
1087    pub fn vmid_valid(&self) -> u32 {
1088        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
1089    }
1090    #[inline]
1091    pub fn set_vmid_valid(&mut self, val: u32) {
1092        unsafe {
1093            let val: u32 = ::std::mem::transmute(val);
1094            self._bitfield_1.set(2usize, 1u8, val as u64)
1095        }
1096    }
1097    #[inline]
1098    pub unsafe fn vmid_valid_raw(this: *const Self) -> u32 {
1099        unsafe {
1100            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
1101                ::std::ptr::addr_of!((*this)._bitfield_1),
1102                2usize,
1103                1u8,
1104            ) as u32)
1105        }
1106    }
1107    #[inline]
1108    pub unsafe fn set_vmid_valid_raw(this: *mut Self, val: u32) {
1109        unsafe {
1110            let val: u32 = ::std::mem::transmute(val);
1111            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
1112                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1113                2usize,
1114                1u8,
1115                val as u64,
1116            )
1117        }
1118    }
1119    #[inline]
1120    pub fn el_valid(&self) -> u32 {
1121        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
1122    }
1123    #[inline]
1124    pub fn set_el_valid(&mut self, val: u32) {
1125        unsafe {
1126            let val: u32 = ::std::mem::transmute(val);
1127            self._bitfield_1.set(3usize, 1u8, val as u64)
1128        }
1129    }
1130    #[inline]
1131    pub unsafe fn el_valid_raw(this: *const Self) -> u32 {
1132        unsafe {
1133            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
1134                ::std::ptr::addr_of!((*this)._bitfield_1),
1135                3usize,
1136                1u8,
1137            ) as u32)
1138        }
1139    }
1140    #[inline]
1141    pub unsafe fn set_el_valid_raw(this: *mut Self, val: u32) {
1142        unsafe {
1143            let val: u32 = ::std::mem::transmute(val);
1144            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
1145                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1146                3usize,
1147                1u8,
1148                val as u64,
1149            )
1150        }
1151    }
1152    #[inline]
1153    pub fn new_bitfield_1(
1154        bits64: u32,
1155        ctxt_id_valid: u32,
1156        vmid_valid: u32,
1157        el_valid: u32,
1158    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
1159        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
1160        __bindgen_bitfield_unit.set(0usize, 1u8, {
1161            let bits64: u32 = unsafe { ::std::mem::transmute(bits64) };
1162            bits64 as u64
1163        });
1164        __bindgen_bitfield_unit.set(1usize, 1u8, {
1165            let ctxt_id_valid: u32 = unsafe { ::std::mem::transmute(ctxt_id_valid) };
1166            ctxt_id_valid as u64
1167        });
1168        __bindgen_bitfield_unit.set(2usize, 1u8, {
1169            let vmid_valid: u32 = unsafe { ::std::mem::transmute(vmid_valid) };
1170            vmid_valid as u64
1171        });
1172        __bindgen_bitfield_unit.set(3usize, 1u8, {
1173            let el_valid: u32 = unsafe { ::std::mem::transmute(el_valid) };
1174            el_valid as u64
1175        });
1176        __bindgen_bitfield_unit
1177    }
1178}
1179#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1180const _: () = {
1181    ["Size of _ocsd_pe_context"][::std::mem::size_of::<_ocsd_pe_context>() - 20usize];
1182    ["Alignment of _ocsd_pe_context"][::std::mem::align_of::<_ocsd_pe_context>() - 4usize];
1183    ["Offset of field: _ocsd_pe_context::security_level"]
1184        [::std::mem::offset_of!(_ocsd_pe_context, security_level) - 0usize];
1185    ["Offset of field: _ocsd_pe_context::exception_level"]
1186        [::std::mem::offset_of!(_ocsd_pe_context, exception_level) - 4usize];
1187    ["Offset of field: _ocsd_pe_context::context_id"]
1188        [::std::mem::offset_of!(_ocsd_pe_context, context_id) - 8usize];
1189    ["Offset of field: _ocsd_pe_context::vmid"]
1190        [::std::mem::offset_of!(_ocsd_pe_context, vmid) - 12usize];
1191};
1192#[doc = " Core(PE) context structure\nrecords current security state, exception level, VMID and ContextID for core."]
1193pub type ocsd_pe_context = _ocsd_pe_context;
1194#[doc = "< Mem space unknown / not yet set"]
1195pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_NONE: _ocsd_mem_space_acc_t = 0;
1196#[doc = "< Secure EL1/0"]
1197pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_EL1S: _ocsd_mem_space_acc_t = 1;
1198#[doc = "< Non Secure EL1/0"]
1199pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_EL1N: _ocsd_mem_space_acc_t = 2;
1200#[doc = "< Non Secure EL2"]
1201pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_EL2: _ocsd_mem_space_acc_t = 4;
1202#[doc = "< Secure EL3"]
1203pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_EL3: _ocsd_mem_space_acc_t = 8;
1204#[doc = "< Secure EL2"]
1205pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_EL2S: _ocsd_mem_space_acc_t = 16;
1206#[doc = "< Realm EL1/0"]
1207pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_EL1R: _ocsd_mem_space_acc_t = 32;
1208#[doc = "< Realm EL2"]
1209pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_EL2R: _ocsd_mem_space_acc_t = 64;
1210#[doc = "< Root"]
1211pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_ROOT: _ocsd_mem_space_acc_t = 128;
1212#[doc = "< Any Secure"]
1213pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_S: _ocsd_mem_space_acc_t = 25;
1214#[doc = "< Any Non Secure"]
1215pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_N: _ocsd_mem_space_acc_t = 6;
1216#[doc = "< Any Realm"]
1217pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_R: _ocsd_mem_space_acc_t = 96;
1218#[doc = "< Any sec level / EL - live system use current EL + sec state"]
1219pub const _ocsd_mem_space_acc_t_OCSD_MEM_SPACE_ANY: _ocsd_mem_space_acc_t = 255;
1220#[doc = " memory space bitfield enum for available security states and exception levels used\nwhen accessing memory."]
1221pub type _ocsd_mem_space_acc_t = ::std::os::raw::c_uint;
1222#[doc = " memory space bitfield enum for available security states and exception levels used\nwhen accessing memory."]
1223pub use self::_ocsd_mem_space_acc_t as ocsd_mem_space_acc_t;
1224#[doc = " Callback function definition for callback function memory accessor type.\n\n When using callback memory accessor, the decoder will call this function to obtain the\n memory at the address for the current opcodes. The memory space will represent the current\n exception level and security context of the traced code.\n\n Return the number of bytes read, which can be less than the amount requested if this would take the\n access address outside the range of addresses defined when this callback was registered with the decoder.\n\n Return 0 bytes if start address out of covered range, or memory space is not one of those defined as supported\n when the callback was registered.\n\n @param p_context : opaque context pointer set by callback client.\n @param address : start address of memory to be accessed\n @param mem_space : memory space of accessed memory (current EL & security state)\n @param reqBytes : number of bytes required\n @param *byteBuffer : buffer for data.\n\n @return uint32_t  : Number of bytes actually read, or 0 for access error."]
1225pub type Fn_MemAcc_CB = ::std::option::Option<
1226    unsafe extern "C" fn(
1227        p_context: *const ::std::os::raw::c_void,
1228        address: ocsd_vaddr_t,
1229        mem_space: ocsd_mem_space_acc_t,
1230        reqBytes: u32,
1231        byteBuffer: *mut u8,
1232    ) -> u32,
1233>;
1234#[doc = " Callback function definition for callback function memory accessor type.\n\n When using callback memory accessor, the decoder will call this function to obtain the\n memory at the address for the current opcodes. The memory space will represent the current\n exception level and security context of the traced code.\n\n Return the number of bytes read, which can be less than the amount requested if this would take the\n access address outside the range of addresses defined when this callback was registered with the decoder.\n\n Return 0 bytes if start address out of covered range, or memory space is not one of those defined as supported\n when the callback was registered.\n\n @param p_context : opaque context pointer set by callback client.\n @param address : start address of memory to be accessed\n @param mem_space : memory space of accessed memory (current EL & security state)\n @param trcID : Trace ID for source of trace - allow CB to client to associate mem req with source cpu.\n @param reqBytes : number of bytes required\n @param *byteBuffer : buffer for data.\n\n @return uint32_t  : Number of bytes actually read, or 0 for access error."]
1235pub type Fn_MemAccID_CB = ::std::option::Option<
1236    unsafe extern "C" fn(
1237        p_context: *const ::std::os::raw::c_void,
1238        address: ocsd_vaddr_t,
1239        mem_space: ocsd_mem_space_acc_t,
1240        trcID: u8,
1241        reqBytes: u32,
1242        byteBuffer: *mut u8,
1243    ) -> u32,
1244>;
1245#[doc = " memory region type for adding multi-region binary files to memory access interface"]
1246#[repr(C)]
1247#[derive(Debug, Copy, Clone)]
1248pub struct _ocsd_file_mem_region {
1249    #[doc = "< Offset from start of file for memory region"]
1250    pub file_offset: usize,
1251    #[doc = "< Start address of memory region"]
1252    pub start_address: ocsd_vaddr_t,
1253    #[doc = "< size in bytes of memory region"]
1254    pub region_size: usize,
1255}
1256#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1257const _: () = {
1258    ["Size of _ocsd_file_mem_region"][::std::mem::size_of::<_ocsd_file_mem_region>() - 24usize];
1259    ["Alignment of _ocsd_file_mem_region"]
1260        [::std::mem::align_of::<_ocsd_file_mem_region>() - 8usize];
1261    ["Offset of field: _ocsd_file_mem_region::file_offset"]
1262        [::std::mem::offset_of!(_ocsd_file_mem_region, file_offset) - 0usize];
1263    ["Offset of field: _ocsd_file_mem_region::start_address"]
1264        [::std::mem::offset_of!(_ocsd_file_mem_region, start_address) - 8usize];
1265    ["Offset of field: _ocsd_file_mem_region::region_size"]
1266        [::std::mem::offset_of!(_ocsd_file_mem_region, region_size) - 16usize];
1267};
1268#[doc = " memory region type for adding multi-region binary files to memory access interface"]
1269pub type ocsd_file_mem_region_t = _ocsd_file_mem_region;
1270#[doc = "< Protocol unknown"]
1271pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_UNKNOWN: _ocsd_trace_protocol_t = 0;
1272#[doc = "< ETMV3 instruction and data trace protocol decoder."]
1273pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_ETMV3: _ocsd_trace_protocol_t = 1;
1274#[doc = "< ETMV4 instruction trace protocol decoder."]
1275pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_ETMV4I: _ocsd_trace_protocol_t = 2;
1276#[doc = "< ETMV4 data trace protocol decoder."]
1277pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_ETMV4D: _ocsd_trace_protocol_t = 3;
1278#[doc = "< PTM program flow instruction trace protocol decoder."]
1279pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_PTM: _ocsd_trace_protocol_t = 4;
1280#[doc = "< STM system trace protocol decoder."]
1281pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_STM: _ocsd_trace_protocol_t = 5;
1282#[doc = "< ETE trace protocol decoder"]
1283pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_ETE: _ocsd_trace_protocol_t = 6;
1284#[doc = "< ITM trace protocol decoder"]
1285pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_ITM: _ocsd_trace_protocol_t = 7;
1286#[doc = "< Invalid protocol - built-in protocol types end marker"]
1287pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_BUILTIN_END: _ocsd_trace_protocol_t = 8;
1288#[doc = "< Values from this onwards are assigned to external registered decoders"]
1289pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_0: _ocsd_trace_protocol_t = 100;
1290pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_1: _ocsd_trace_protocol_t = 101;
1291pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_2: _ocsd_trace_protocol_t = 102;
1292pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_3: _ocsd_trace_protocol_t = 103;
1293pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_4: _ocsd_trace_protocol_t = 104;
1294pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_5: _ocsd_trace_protocol_t = 105;
1295pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_6: _ocsd_trace_protocol_t = 106;
1296pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_7: _ocsd_trace_protocol_t = 107;
1297pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_8: _ocsd_trace_protocol_t = 108;
1298pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_CUSTOM_9: _ocsd_trace_protocol_t = 109;
1299#[doc = "< Invalid protocol - protocol types end marker"]
1300pub const _ocsd_trace_protocol_t_OCSD_PROTOCOL_END: _ocsd_trace_protocol_t = 110;
1301#[doc = " Trace Protocol Builtin Types + extern"]
1302pub type _ocsd_trace_protocol_t = ::std::os::raw::c_uint;
1303#[doc = " Trace Protocol Builtin Types + extern"]
1304pub use self::_ocsd_trace_protocol_t as ocsd_trace_protocol_t;
1305#[doc = " @name Software Trace Packets Info\n\nContains the information for the generic software trace output packet.\n\nSoftware trace packet master and channel data.\nPayload info:\nsize - packet payload size in bits;\nmarker - if this packet has a marker/flag\ntimestamp - if this packet has a timestamp associated\nnumber of packets - packet processor can optionally correlate identically\nsized packets on the same master / channel to be output as a single generic packet\n\nPayload output as separate LE buffer, of sufficient bytes to hold all the packets.\n@{"]
1306#[repr(C)]
1307#[derive(Copy, Clone)]
1308pub struct _ocsd_swt_info {
1309    pub swt_master_id: u16,
1310    pub swt_channel_id: u16,
1311    pub __bindgen_anon_1: _ocsd_swt_info__bindgen_ty_1,
1312}
1313#[repr(C)]
1314#[derive(Copy, Clone)]
1315pub union _ocsd_swt_info__bindgen_ty_1 {
1316    pub __bindgen_anon_1: _ocsd_swt_info__bindgen_ty_1__bindgen_ty_1,
1317    pub swt_flag_bits: u32,
1318}
1319#[repr(C)]
1320#[repr(align(4))]
1321#[derive(Debug, Copy, Clone)]
1322pub struct _ocsd_swt_info__bindgen_ty_1__bindgen_ty_1 {
1323    pub _bitfield_align_1: [u8; 0],
1324    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
1325    pub __bindgen_padding_0: u8,
1326}
1327#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1328const _: () = {
1329    ["Size of _ocsd_swt_info__bindgen_ty_1__bindgen_ty_1"]
1330        [::std::mem::size_of::<_ocsd_swt_info__bindgen_ty_1__bindgen_ty_1>() - 4usize];
1331    ["Alignment of _ocsd_swt_info__bindgen_ty_1__bindgen_ty_1"]
1332        [::std::mem::align_of::<_ocsd_swt_info__bindgen_ty_1__bindgen_ty_1>() - 4usize];
1333};
1334impl _ocsd_swt_info__bindgen_ty_1__bindgen_ty_1 {
1335    #[inline]
1336    pub fn swt_payload_pkt_bitsize(&self) -> u32 {
1337        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 8u8) as u32) }
1338    }
1339    #[inline]
1340    pub fn set_swt_payload_pkt_bitsize(&mut self, val: u32) {
1341        unsafe {
1342            let val: u32 = ::std::mem::transmute(val);
1343            self._bitfield_1.set(0usize, 8u8, val as u64)
1344        }
1345    }
1346    #[inline]
1347    pub unsafe fn swt_payload_pkt_bitsize_raw(this: *const Self) -> u32 {
1348        unsafe {
1349            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1350                ::std::ptr::addr_of!((*this)._bitfield_1),
1351                0usize,
1352                8u8,
1353            ) as u32)
1354        }
1355    }
1356    #[inline]
1357    pub unsafe fn set_swt_payload_pkt_bitsize_raw(this: *mut Self, val: u32) {
1358        unsafe {
1359            let val: u32 = ::std::mem::transmute(val);
1360            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1361                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1362                0usize,
1363                8u8,
1364                val as u64,
1365            )
1366        }
1367    }
1368    #[inline]
1369    pub fn swt_payload_num_packets(&self) -> u32 {
1370        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 8u8) as u32) }
1371    }
1372    #[inline]
1373    pub fn set_swt_payload_num_packets(&mut self, val: u32) {
1374        unsafe {
1375            let val: u32 = ::std::mem::transmute(val);
1376            self._bitfield_1.set(8usize, 8u8, val as u64)
1377        }
1378    }
1379    #[inline]
1380    pub unsafe fn swt_payload_num_packets_raw(this: *const Self) -> u32 {
1381        unsafe {
1382            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1383                ::std::ptr::addr_of!((*this)._bitfield_1),
1384                8usize,
1385                8u8,
1386            ) as u32)
1387        }
1388    }
1389    #[inline]
1390    pub unsafe fn set_swt_payload_num_packets_raw(this: *mut Self, val: u32) {
1391        unsafe {
1392            let val: u32 = ::std::mem::transmute(val);
1393            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1394                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1395                8usize,
1396                8u8,
1397                val as u64,
1398            )
1399        }
1400    }
1401    #[inline]
1402    pub fn swt_marker_packet(&self) -> u32 {
1403        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
1404    }
1405    #[inline]
1406    pub fn set_swt_marker_packet(&mut self, val: u32) {
1407        unsafe {
1408            let val: u32 = ::std::mem::transmute(val);
1409            self._bitfield_1.set(16usize, 1u8, val as u64)
1410        }
1411    }
1412    #[inline]
1413    pub unsafe fn swt_marker_packet_raw(this: *const Self) -> u32 {
1414        unsafe {
1415            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1416                ::std::ptr::addr_of!((*this)._bitfield_1),
1417                16usize,
1418                1u8,
1419            ) as u32)
1420        }
1421    }
1422    #[inline]
1423    pub unsafe fn set_swt_marker_packet_raw(this: *mut Self, val: u32) {
1424        unsafe {
1425            let val: u32 = ::std::mem::transmute(val);
1426            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1427                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1428                16usize,
1429                1u8,
1430                val as u64,
1431            )
1432        }
1433    }
1434    #[inline]
1435    pub fn swt_has_timestamp(&self) -> u32 {
1436        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
1437    }
1438    #[inline]
1439    pub fn set_swt_has_timestamp(&mut self, val: u32) {
1440        unsafe {
1441            let val: u32 = ::std::mem::transmute(val);
1442            self._bitfield_1.set(17usize, 1u8, val as u64)
1443        }
1444    }
1445    #[inline]
1446    pub unsafe fn swt_has_timestamp_raw(this: *const Self) -> u32 {
1447        unsafe {
1448            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1449                ::std::ptr::addr_of!((*this)._bitfield_1),
1450                17usize,
1451                1u8,
1452            ) as u32)
1453        }
1454    }
1455    #[inline]
1456    pub unsafe fn set_swt_has_timestamp_raw(this: *mut Self, val: u32) {
1457        unsafe {
1458            let val: u32 = ::std::mem::transmute(val);
1459            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1460                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1461                17usize,
1462                1u8,
1463                val as u64,
1464            )
1465        }
1466    }
1467    #[inline]
1468    pub fn swt_marker_first(&self) -> u32 {
1469        unsafe { ::std::mem::transmute(self._bitfield_1.get(18usize, 1u8) as u32) }
1470    }
1471    #[inline]
1472    pub fn set_swt_marker_first(&mut self, val: u32) {
1473        unsafe {
1474            let val: u32 = ::std::mem::transmute(val);
1475            self._bitfield_1.set(18usize, 1u8, val as u64)
1476        }
1477    }
1478    #[inline]
1479    pub unsafe fn swt_marker_first_raw(this: *const Self) -> u32 {
1480        unsafe {
1481            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1482                ::std::ptr::addr_of!((*this)._bitfield_1),
1483                18usize,
1484                1u8,
1485            ) as u32)
1486        }
1487    }
1488    #[inline]
1489    pub unsafe fn set_swt_marker_first_raw(this: *mut Self, val: u32) {
1490        unsafe {
1491            let val: u32 = ::std::mem::transmute(val);
1492            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1493                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1494                18usize,
1495                1u8,
1496                val as u64,
1497            )
1498        }
1499    }
1500    #[inline]
1501    pub fn swt_master_err(&self) -> u32 {
1502        unsafe { ::std::mem::transmute(self._bitfield_1.get(19usize, 1u8) as u32) }
1503    }
1504    #[inline]
1505    pub fn set_swt_master_err(&mut self, val: u32) {
1506        unsafe {
1507            let val: u32 = ::std::mem::transmute(val);
1508            self._bitfield_1.set(19usize, 1u8, val as u64)
1509        }
1510    }
1511    #[inline]
1512    pub unsafe fn swt_master_err_raw(this: *const Self) -> u32 {
1513        unsafe {
1514            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1515                ::std::ptr::addr_of!((*this)._bitfield_1),
1516                19usize,
1517                1u8,
1518            ) as u32)
1519        }
1520    }
1521    #[inline]
1522    pub unsafe fn set_swt_master_err_raw(this: *mut Self, val: u32) {
1523        unsafe {
1524            let val: u32 = ::std::mem::transmute(val);
1525            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1526                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1527                19usize,
1528                1u8,
1529                val as u64,
1530            )
1531        }
1532    }
1533    #[inline]
1534    pub fn swt_global_err(&self) -> u32 {
1535        unsafe { ::std::mem::transmute(self._bitfield_1.get(20usize, 1u8) as u32) }
1536    }
1537    #[inline]
1538    pub fn set_swt_global_err(&mut self, val: u32) {
1539        unsafe {
1540            let val: u32 = ::std::mem::transmute(val);
1541            self._bitfield_1.set(20usize, 1u8, val as u64)
1542        }
1543    }
1544    #[inline]
1545    pub unsafe fn swt_global_err_raw(this: *const Self) -> u32 {
1546        unsafe {
1547            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1548                ::std::ptr::addr_of!((*this)._bitfield_1),
1549                20usize,
1550                1u8,
1551            ) as u32)
1552        }
1553    }
1554    #[inline]
1555    pub unsafe fn set_swt_global_err_raw(this: *mut Self, val: u32) {
1556        unsafe {
1557            let val: u32 = ::std::mem::transmute(val);
1558            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1559                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1560                20usize,
1561                1u8,
1562                val as u64,
1563            )
1564        }
1565    }
1566    #[inline]
1567    pub fn swt_trigger_event(&self) -> u32 {
1568        unsafe { ::std::mem::transmute(self._bitfield_1.get(21usize, 1u8) as u32) }
1569    }
1570    #[inline]
1571    pub fn set_swt_trigger_event(&mut self, val: u32) {
1572        unsafe {
1573            let val: u32 = ::std::mem::transmute(val);
1574            self._bitfield_1.set(21usize, 1u8, val as u64)
1575        }
1576    }
1577    #[inline]
1578    pub unsafe fn swt_trigger_event_raw(this: *const Self) -> u32 {
1579        unsafe {
1580            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1581                ::std::ptr::addr_of!((*this)._bitfield_1),
1582                21usize,
1583                1u8,
1584            ) as u32)
1585        }
1586    }
1587    #[inline]
1588    pub unsafe fn set_swt_trigger_event_raw(this: *mut Self, val: u32) {
1589        unsafe {
1590            let val: u32 = ::std::mem::transmute(val);
1591            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1592                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1593                21usize,
1594                1u8,
1595                val as u64,
1596            )
1597        }
1598    }
1599    #[inline]
1600    pub fn swt_frequency(&self) -> u32 {
1601        unsafe { ::std::mem::transmute(self._bitfield_1.get(22usize, 1u8) as u32) }
1602    }
1603    #[inline]
1604    pub fn set_swt_frequency(&mut self, val: u32) {
1605        unsafe {
1606            let val: u32 = ::std::mem::transmute(val);
1607            self._bitfield_1.set(22usize, 1u8, val as u64)
1608        }
1609    }
1610    #[inline]
1611    pub unsafe fn swt_frequency_raw(this: *const Self) -> u32 {
1612        unsafe {
1613            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1614                ::std::ptr::addr_of!((*this)._bitfield_1),
1615                22usize,
1616                1u8,
1617            ) as u32)
1618        }
1619    }
1620    #[inline]
1621    pub unsafe fn set_swt_frequency_raw(this: *mut Self, val: u32) {
1622        unsafe {
1623            let val: u32 = ::std::mem::transmute(val);
1624            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1625                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1626                22usize,
1627                1u8,
1628                val as u64,
1629            )
1630        }
1631    }
1632    #[inline]
1633    pub fn swt_id_valid(&self) -> u32 {
1634        unsafe { ::std::mem::transmute(self._bitfield_1.get(23usize, 1u8) as u32) }
1635    }
1636    #[inline]
1637    pub fn set_swt_id_valid(&mut self, val: u32) {
1638        unsafe {
1639            let val: u32 = ::std::mem::transmute(val);
1640            self._bitfield_1.set(23usize, 1u8, val as u64)
1641        }
1642    }
1643    #[inline]
1644    pub unsafe fn swt_id_valid_raw(this: *const Self) -> u32 {
1645        unsafe {
1646            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
1647                ::std::ptr::addr_of!((*this)._bitfield_1),
1648                23usize,
1649                1u8,
1650            ) as u32)
1651        }
1652    }
1653    #[inline]
1654    pub unsafe fn set_swt_id_valid_raw(this: *mut Self, val: u32) {
1655        unsafe {
1656            let val: u32 = ::std::mem::transmute(val);
1657            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
1658                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
1659                23usize,
1660                1u8,
1661                val as u64,
1662            )
1663        }
1664    }
1665    #[inline]
1666    pub fn new_bitfield_1(
1667        swt_payload_pkt_bitsize: u32,
1668        swt_payload_num_packets: u32,
1669        swt_marker_packet: u32,
1670        swt_has_timestamp: u32,
1671        swt_marker_first: u32,
1672        swt_master_err: u32,
1673        swt_global_err: u32,
1674        swt_trigger_event: u32,
1675        swt_frequency: u32,
1676        swt_id_valid: u32,
1677    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
1678        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
1679        __bindgen_bitfield_unit.set(0usize, 8u8, {
1680            let swt_payload_pkt_bitsize: u32 =
1681                unsafe { ::std::mem::transmute(swt_payload_pkt_bitsize) };
1682            swt_payload_pkt_bitsize as u64
1683        });
1684        __bindgen_bitfield_unit.set(8usize, 8u8, {
1685            let swt_payload_num_packets: u32 =
1686                unsafe { ::std::mem::transmute(swt_payload_num_packets) };
1687            swt_payload_num_packets as u64
1688        });
1689        __bindgen_bitfield_unit.set(16usize, 1u8, {
1690            let swt_marker_packet: u32 = unsafe { ::std::mem::transmute(swt_marker_packet) };
1691            swt_marker_packet as u64
1692        });
1693        __bindgen_bitfield_unit.set(17usize, 1u8, {
1694            let swt_has_timestamp: u32 = unsafe { ::std::mem::transmute(swt_has_timestamp) };
1695            swt_has_timestamp as u64
1696        });
1697        __bindgen_bitfield_unit.set(18usize, 1u8, {
1698            let swt_marker_first: u32 = unsafe { ::std::mem::transmute(swt_marker_first) };
1699            swt_marker_first as u64
1700        });
1701        __bindgen_bitfield_unit.set(19usize, 1u8, {
1702            let swt_master_err: u32 = unsafe { ::std::mem::transmute(swt_master_err) };
1703            swt_master_err as u64
1704        });
1705        __bindgen_bitfield_unit.set(20usize, 1u8, {
1706            let swt_global_err: u32 = unsafe { ::std::mem::transmute(swt_global_err) };
1707            swt_global_err as u64
1708        });
1709        __bindgen_bitfield_unit.set(21usize, 1u8, {
1710            let swt_trigger_event: u32 = unsafe { ::std::mem::transmute(swt_trigger_event) };
1711            swt_trigger_event as u64
1712        });
1713        __bindgen_bitfield_unit.set(22usize, 1u8, {
1714            let swt_frequency: u32 = unsafe { ::std::mem::transmute(swt_frequency) };
1715            swt_frequency as u64
1716        });
1717        __bindgen_bitfield_unit.set(23usize, 1u8, {
1718            let swt_id_valid: u32 = unsafe { ::std::mem::transmute(swt_id_valid) };
1719            swt_id_valid as u64
1720        });
1721        __bindgen_bitfield_unit
1722    }
1723}
1724#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1725const _: () = {
1726    ["Size of _ocsd_swt_info__bindgen_ty_1"]
1727        [::std::mem::size_of::<_ocsd_swt_info__bindgen_ty_1>() - 4usize];
1728    ["Alignment of _ocsd_swt_info__bindgen_ty_1"]
1729        [::std::mem::align_of::<_ocsd_swt_info__bindgen_ty_1>() - 4usize];
1730    ["Offset of field: _ocsd_swt_info__bindgen_ty_1::swt_flag_bits"]
1731        [::std::mem::offset_of!(_ocsd_swt_info__bindgen_ty_1, swt_flag_bits) - 0usize];
1732};
1733#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1734const _: () = {
1735    ["Size of _ocsd_swt_info"][::std::mem::size_of::<_ocsd_swt_info>() - 8usize];
1736    ["Alignment of _ocsd_swt_info"][::std::mem::align_of::<_ocsd_swt_info>() - 4usize];
1737    ["Offset of field: _ocsd_swt_info::swt_master_id"]
1738        [::std::mem::offset_of!(_ocsd_swt_info, swt_master_id) - 0usize];
1739    ["Offset of field: _ocsd_swt_info::swt_channel_id"]
1740        [::std::mem::offset_of!(_ocsd_swt_info, swt_channel_id) - 2usize];
1741};
1742#[doc = " @name Software Trace Packets Info\n\nContains the information for the generic software trace output packet.\n\nSoftware trace packet master and channel data.\nPayload info:\nsize - packet payload size in bits;\nmarker - if this packet has a marker/flag\ntimestamp - if this packet has a timestamp associated\nnumber of packets - packet processor can optionally correlate identically\nsized packets on the same master / channel to be output as a single generic packet\n\nPayload output as separate LE buffer, of sufficient bytes to hold all the packets.\n@{"]
1743pub type ocsd_swt_info_t = _ocsd_swt_info;
1744#[doc = " @name Demux Statistics\n\nContains statistics for the CoreSight frame demultiplexor.\n\nCounts total bytes sent to decoders registered against a trace ID, bytes in the input stream that are\nassociated with a trace ID that has no registered decoder, and frame bytes that are not trace data, but\nare used to decode the frames - ID bytes, sync bytes etc.\n@{"]
1745#[repr(C)]
1746#[derive(Debug, Copy, Clone)]
1747pub struct _ocsd_demux_stats {
1748    #[doc = "< number of bytes associated with an ID that has a registered decoder"]
1749    pub valid_id_bytes: u64,
1750    #[doc = "< number of bytes associated with an ID that has no decoder"]
1751    pub no_id_bytes: u64,
1752    #[doc = "< number of bytes associated with reserved IDs"]
1753    pub reserved_id_bytes: u64,
1754    #[doc = "< bytes processed before ID seen in input frames"]
1755    pub unknown_id_bytes: u64,
1756    #[doc = "< number of non-data bytes used for frame de-mux - ID bytes, sync etc"]
1757    pub frame_bytes: u64,
1758}
1759#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1760const _: () = {
1761    ["Size of _ocsd_demux_stats"][::std::mem::size_of::<_ocsd_demux_stats>() - 40usize];
1762    ["Alignment of _ocsd_demux_stats"][::std::mem::align_of::<_ocsd_demux_stats>() - 8usize];
1763    ["Offset of field: _ocsd_demux_stats::valid_id_bytes"]
1764        [::std::mem::offset_of!(_ocsd_demux_stats, valid_id_bytes) - 0usize];
1765    ["Offset of field: _ocsd_demux_stats::no_id_bytes"]
1766        [::std::mem::offset_of!(_ocsd_demux_stats, no_id_bytes) - 8usize];
1767    ["Offset of field: _ocsd_demux_stats::reserved_id_bytes"]
1768        [::std::mem::offset_of!(_ocsd_demux_stats, reserved_id_bytes) - 16usize];
1769    ["Offset of field: _ocsd_demux_stats::unknown_id_bytes"]
1770        [::std::mem::offset_of!(_ocsd_demux_stats, unknown_id_bytes) - 24usize];
1771    ["Offset of field: _ocsd_demux_stats::frame_bytes"]
1772        [::std::mem::offset_of!(_ocsd_demux_stats, frame_bytes) - 32usize];
1773};
1774#[doc = " @name Demux Statistics\n\nContains statistics for the CoreSight frame demultiplexor.\n\nCounts total bytes sent to decoders registered against a trace ID, bytes in the input stream that are\nassociated with a trace ID that has no registered decoder, and frame bytes that are not trace data, but\nare used to decode the frames - ID bytes, sync bytes etc.\n@{"]
1775pub type ocsd_demux_stats_t = _ocsd_demux_stats;
1776#[doc = " @name Decode statistics\n\nContains statistics for bytes decoded by the packet decoder, if statistics are supported.\n\nStats block instantiated in the base class - derived protocol specific decoder must initialise and\nuse as required.\n\nThe single channel block contains the stats for the requested channel via the API call.\n\nThe global demux block contains the totals for all channels and non-data bytes used in CoreSight\nframe demux. This block will show identical data for every requested channel via the API.\n\n@{"]
1777#[repr(C)]
1778#[derive(Debug, Copy, Clone)]
1779pub struct _ocsd_decode_stats {
1780    #[doc = "< library version number"]
1781    pub version: u32,
1782    #[doc = "< revision number - defines the structure version for the stats."]
1783    pub revision: u16,
1784    #[doc = "< total bytes processed for this channel"]
1785    pub channel_total: u64,
1786    #[doc = "< number of unsynced bytes processed on this channel"]
1787    pub channel_unsynced: u64,
1788    #[doc = "< number of bad packet header errors"]
1789    pub bad_header_errs: u32,
1790    #[doc = "< number of bad packet sequence errors"]
1791    pub bad_sequence_errs: u32,
1792    #[doc = "< global demux stats block"]
1793    pub demux: ocsd_demux_stats_t,
1794}
1795#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1796const _: () = {
1797    ["Size of _ocsd_decode_stats"][::std::mem::size_of::<_ocsd_decode_stats>() - 72usize];
1798    ["Alignment of _ocsd_decode_stats"][::std::mem::align_of::<_ocsd_decode_stats>() - 8usize];
1799    ["Offset of field: _ocsd_decode_stats::version"]
1800        [::std::mem::offset_of!(_ocsd_decode_stats, version) - 0usize];
1801    ["Offset of field: _ocsd_decode_stats::revision"]
1802        [::std::mem::offset_of!(_ocsd_decode_stats, revision) - 4usize];
1803    ["Offset of field: _ocsd_decode_stats::channel_total"]
1804        [::std::mem::offset_of!(_ocsd_decode_stats, channel_total) - 8usize];
1805    ["Offset of field: _ocsd_decode_stats::channel_unsynced"]
1806        [::std::mem::offset_of!(_ocsd_decode_stats, channel_unsynced) - 16usize];
1807    ["Offset of field: _ocsd_decode_stats::bad_header_errs"]
1808        [::std::mem::offset_of!(_ocsd_decode_stats, bad_header_errs) - 24usize];
1809    ["Offset of field: _ocsd_decode_stats::bad_sequence_errs"]
1810        [::std::mem::offset_of!(_ocsd_decode_stats, bad_sequence_errs) - 28usize];
1811    ["Offset of field: _ocsd_decode_stats::demux"]
1812        [::std::mem::offset_of!(_ocsd_decode_stats, demux) - 32usize];
1813};
1814#[doc = " @name Decode statistics\n\nContains statistics for bytes decoded by the packet decoder, if statistics are supported.\n\nStats block instantiated in the base class - derived protocol specific decoder must initialise and\nuse as required.\n\nThe single channel block contains the stats for the requested channel via the API call.\n\nThe global demux block contains the totals for all channels and non-data bytes used in CoreSight\nframe demux. This block will show identical data for every requested channel via the API.\n\n@{"]
1815pub type ocsd_decode_stats_t = _ocsd_decode_stats;
1816#[doc = "< Unknown trace element - default value or indicate error in stream to client"]
1817pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_UNKNOWN: _ocsd_gen_trc_elem_t = 0;
1818#[doc = "< Waiting for sync - either at start of decode, or after overflow / bad packet"]
1819pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_NO_SYNC: _ocsd_gen_trc_elem_t = 1;
1820#[doc = "< Start of trace - beginning of elements or restart after discontinuity (overflow, trace filtering)."]
1821pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_TRACE_ON: _ocsd_gen_trc_elem_t = 2;
1822#[doc = "< end of the available trace in the buffer."]
1823pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_EO_TRACE: _ocsd_gen_trc_elem_t = 3;
1824#[doc = "< PE status update / change (arch, ctxtid, vmid etc)."]
1825pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_PE_CONTEXT: _ocsd_gen_trc_elem_t = 4;
1826#[doc = "< traced N consecutive instructions from addr (no intervening events or data elements), may have data assoc key"]
1827pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_INSTR_RANGE: _ocsd_gen_trc_elem_t = 5;
1828#[doc = "< traced N instructions in a range, but incomplete information as to program execution path from start to end of range"]
1829pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_I_RANGE_NOPATH: _ocsd_gen_trc_elem_t = 6;
1830#[doc = "< tracing in inaccessible memory area"]
1831pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_ADDR_NACC: _ocsd_gen_trc_elem_t = 7;
1832#[doc = "< address currently unknown - need address packet update"]
1833pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_ADDR_UNKNOWN: _ocsd_gen_trc_elem_t = 8;
1834#[doc = "< exception - start address may be exception target, end address may be preferred ret addr."]
1835pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_EXCEPTION: _ocsd_gen_trc_elem_t = 9;
1836#[doc = "< expection return"]
1837pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_EXCEPTION_RET: _ocsd_gen_trc_elem_t = 10;
1838#[doc = "< Timestamp - preceding elements happeded before this time."]
1839pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_TIMESTAMP: _ocsd_gen_trc_elem_t = 11;
1840#[doc = "< Cycle count - cycles since last cycle count value - associated with a preceding instruction range."]
1841pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_CYCLE_COUNT: _ocsd_gen_trc_elem_t = 12;
1842#[doc = "< Event - trigger or numbered event"]
1843pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_EVENT: _ocsd_gen_trc_elem_t = 13;
1844#[doc = "< Software trace packet - may contain data payload. STM hardware trace with channel protocol"]
1845pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_SWTRACE: _ocsd_gen_trc_elem_t = 14;
1846#[doc = "< Synchronisation marker - marks position in stream of an element that is output later."]
1847pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_SYNC_MARKER: _ocsd_gen_trc_elem_t = 15;
1848#[doc = "< Trace indication of transactional memory operations."]
1849pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_MEMTRANS: _ocsd_gen_trc_elem_t = 16;
1850#[doc = "< PE instrumentation trace - PE generated SW trace, application dependent protocol."]
1851pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_INSTRUMENTATION: _ocsd_gen_trc_elem_t = 17;
1852#[doc = "< Software trace packet - ITM hardware trace protocol."]
1853pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_ITMTRACE: _ocsd_gen_trc_elem_t = 18;
1854#[doc = "< Fully custom packet type - used by none-ARM architecture decoders"]
1855pub const _ocsd_gen_trc_elem_t_OCSD_GEN_TRC_ELEM_CUSTOM: _ocsd_gen_trc_elem_t = 19;
1856#[doc = "  Enum for generic element types"]
1857pub type _ocsd_gen_trc_elem_t = ::std::os::raw::c_uint;
1858#[doc = "  Enum for generic element types"]
1859pub use self::_ocsd_gen_trc_elem_t as ocsd_gen_trc_elem_t;
1860#[doc = "< Trace on at start of trace or filtering discontinuity"]
1861pub const _trace_on_reason_t_TRACE_ON_NORMAL: _trace_on_reason_t = 0;
1862#[doc = "< Trace on due to prior trace overflow discontinuity"]
1863pub const _trace_on_reason_t_TRACE_ON_OVERFLOW: _trace_on_reason_t = 1;
1864#[doc = "< Trace restarted due to debug exit"]
1865pub const _trace_on_reason_t_TRACE_ON_EX_DEBUG: _trace_on_reason_t = 2;
1866pub type _trace_on_reason_t = ::std::os::raw::c_uint;
1867pub use self::_trace_on_reason_t as trace_on_reason_t;
1868#[repr(C)]
1869#[derive(Debug, Copy, Clone)]
1870pub struct _trace_event_t {
1871    #[doc = "< event type - unknown (0) trigger (1), numbered event (2)"]
1872    pub ev_type: u16,
1873    #[doc = "< event number if numbered event type"]
1874    pub ev_number: u16,
1875}
1876#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1877const _: () = {
1878    ["Size of _trace_event_t"][::std::mem::size_of::<_trace_event_t>() - 4usize];
1879    ["Alignment of _trace_event_t"][::std::mem::align_of::<_trace_event_t>() - 2usize];
1880    ["Offset of field: _trace_event_t::ev_type"]
1881        [::std::mem::offset_of!(_trace_event_t, ev_type) - 0usize];
1882    ["Offset of field: _trace_event_t::ev_number"]
1883        [::std::mem::offset_of!(_trace_event_t, ev_number) - 2usize];
1884};
1885pub type trace_event_t = _trace_event_t;
1886#[doc = "< unknown /undefined"]
1887pub const _unsync_info_t_UNSYNC_UNKNOWN: _unsync_info_t = 0;
1888#[doc = "< decoder intialisation - start of trace."]
1889pub const _unsync_info_t_UNSYNC_INIT_DECODER: _unsync_info_t = 1;
1890#[doc = "< decoder reset."]
1891pub const _unsync_info_t_UNSYNC_RESET_DECODER: _unsync_info_t = 2;
1892#[doc = "< overflow packet - need to re-sync / end of trace after overflow."]
1893pub const _unsync_info_t_UNSYNC_OVERFLOW: _unsync_info_t = 3;
1894#[doc = "< specl trace discard - need to re-sync."]
1895pub const _unsync_info_t_UNSYNC_DISCARD: _unsync_info_t = 4;
1896#[doc = "< bad packet at input - resync to restart."]
1897pub const _unsync_info_t_UNSYNC_BAD_PACKET: _unsync_info_t = 5;
1898#[doc = "< bad program image - resync to restart."]
1899pub const _unsync_info_t_UNSYNC_BAD_IMAGE: _unsync_info_t = 6;
1900#[doc = "< end of trace - no additional info"]
1901pub const _unsync_info_t_UNSYNC_EOT: _unsync_info_t = 7;
1902pub type _unsync_info_t = ::std::os::raw::c_uint;
1903pub use self::_unsync_info_t as unsync_info_t;
1904#[doc = "< Marker for timestamp element"]
1905pub const _trace_sync_marker_t_ELEM_MARKER_TS: _trace_sync_marker_t = 0;
1906pub type _trace_sync_marker_t = ::std::os::raw::c_uint;
1907pub use self::_trace_sync_marker_t as trace_sync_marker_t;
1908#[repr(C)]
1909#[derive(Debug, Copy, Clone)]
1910pub struct _trace_marker_payload_t {
1911    #[doc = "< type of sync marker"]
1912    pub type_: trace_sync_marker_t,
1913    #[doc = "< sync marker value - usage depends on type"]
1914    pub value: u32,
1915}
1916#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1917const _: () = {
1918    ["Size of _trace_marker_payload_t"][::std::mem::size_of::<_trace_marker_payload_t>() - 8usize];
1919    ["Alignment of _trace_marker_payload_t"]
1920        [::std::mem::align_of::<_trace_marker_payload_t>() - 4usize];
1921    ["Offset of field: _trace_marker_payload_t::type_"]
1922        [::std::mem::offset_of!(_trace_marker_payload_t, type_) - 0usize];
1923    ["Offset of field: _trace_marker_payload_t::value"]
1924        [::std::mem::offset_of!(_trace_marker_payload_t, value) - 4usize];
1925};
1926pub type trace_marker_payload_t = _trace_marker_payload_t;
1927#[doc = "< Trace started while PE in transactional state"]
1928pub const _memtrans_t_OCSD_MEM_TRANS_TRACE_INIT: _memtrans_t = 0;
1929#[doc = "< Trace after this packet is part of a transactional memory sequence"]
1930pub const _memtrans_t_OCSD_MEM_TRANS_START: _memtrans_t = 1;
1931#[doc = "< Transactional memory sequence valid."]
1932pub const _memtrans_t_OCSD_MEM_TRANS_COMMIT: _memtrans_t = 2;
1933#[doc = "< Transactional memory sequence failed - operations since start of transaction have been unwound."]
1934pub const _memtrans_t_OCSD_MEM_TRANS_FAIL: _memtrans_t = 3;
1935pub type _memtrans_t = ::std::os::raw::c_uint;
1936pub use self::_memtrans_t as trace_memtrans_t;
1937#[repr(C)]
1938#[derive(Debug, Copy, Clone)]
1939pub struct _sw_ite_t {
1940    #[doc = "< exception level for PE sw instrumentation instruction"]
1941    pub el: u8,
1942    #[doc = "< payload for PE sw instrumentation instruction"]
1943    pub value: u64,
1944}
1945#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1946const _: () = {
1947    ["Size of _sw_ite_t"][::std::mem::size_of::<_sw_ite_t>() - 16usize];
1948    ["Alignment of _sw_ite_t"][::std::mem::align_of::<_sw_ite_t>() - 8usize];
1949    ["Offset of field: _sw_ite_t::el"][::std::mem::offset_of!(_sw_ite_t, el) - 0usize];
1950    ["Offset of field: _sw_ite_t::value"][::std::mem::offset_of!(_sw_ite_t, value) - 8usize];
1951};
1952pub type trace_sw_ite_t = _sw_ite_t;
1953#[doc = "< SWIT payload - software generated data"]
1954pub const _swt_itm_type_SWIT_PAYLOAD: _swt_itm_type = 0;
1955#[doc = "< DWT payload - M class DWT generated data"]
1956pub const _swt_itm_type_DWT_PAYLOAD: _swt_itm_type = 1;
1957#[doc = "< Local TS Synchronous with previous SWIT payload"]
1958pub const _swt_itm_type_TS_SYNC: _swt_itm_type = 2;
1959#[doc = "< Local TS Delayed from previous SWIT payload"]
1960pub const _swt_itm_type_TS_DELAY: _swt_itm_type = 3;
1961#[doc = "< Local TS with previous SWIT payload delayed"]
1962pub const _swt_itm_type_TS_PKT_DELAY: _swt_itm_type = 4;
1963#[doc = "< Local TS with both TS and previous SWIT payload delayed"]
1964pub const _swt_itm_type_TS_PKT_TS_DELAY: _swt_itm_type = 5;
1965#[doc = "< Global Timestamp"]
1966pub const _swt_itm_type_TS_GLOBAL: _swt_itm_type = 6;
1967pub type _swt_itm_type = ::std::os::raw::c_uint;
1968pub use self::_swt_itm_type as swt_itm_type;
1969#[repr(C)]
1970#[derive(Debug, Copy, Clone)]
1971pub struct _swt_itm_info {
1972    #[doc = "< type of output packet - TS or payload"]
1973    pub pkt_type: swt_itm_type,
1974    #[doc = "< Channel number for SWIT, Discriminator ID for DWT"]
1975    pub payload_src_id: u8,
1976    #[doc = "< payload size in bytes (1-4)"]
1977    pub payload_size: u8,
1978    #[doc = "< payload value or local TS delta value"]
1979    pub value: u32,
1980    #[doc = "< ITM overflow before this packet"]
1981    pub overflow: u8,
1982}
1983#[allow(clippy::unnecessary_operation, clippy::identity_op)]
1984const _: () = {
1985    ["Size of _swt_itm_info"][::std::mem::size_of::<_swt_itm_info>() - 16usize];
1986    ["Alignment of _swt_itm_info"][::std::mem::align_of::<_swt_itm_info>() - 4usize];
1987    ["Offset of field: _swt_itm_info::pkt_type"]
1988        [::std::mem::offset_of!(_swt_itm_info, pkt_type) - 0usize];
1989    ["Offset of field: _swt_itm_info::payload_src_id"]
1990        [::std::mem::offset_of!(_swt_itm_info, payload_src_id) - 4usize];
1991    ["Offset of field: _swt_itm_info::payload_size"]
1992        [::std::mem::offset_of!(_swt_itm_info, payload_size) - 5usize];
1993    ["Offset of field: _swt_itm_info::value"]
1994        [::std::mem::offset_of!(_swt_itm_info, value) - 8usize];
1995    ["Offset of field: _swt_itm_info::overflow"]
1996        [::std::mem::offset_of!(_swt_itm_info, overflow) - 12usize];
1997};
1998pub type swt_itm_info = _swt_itm_info;
1999#[repr(C)]
2000#[derive(Copy, Clone)]
2001pub struct _ocsd_generic_trace_elem {
2002    #[doc = "< Element type - remaining data interpreted according to this value"]
2003    pub elem_type: ocsd_gen_trc_elem_t,
2004    #[doc = "< instruction set for executed instructions"]
2005    pub isa: ocsd_isa,
2006    #[doc = "< start address for instruction execution range / inaccessible code address / data address"]
2007    pub st_addr: ocsd_vaddr_t,
2008    #[doc = "< end address (exclusive) for instruction execution range."]
2009    pub en_addr: ocsd_vaddr_t,
2010    #[doc = "< PE Context"]
2011    pub context: ocsd_pe_context,
2012    #[doc = "< timestamp value for TS element type, or timestamp for types with associated TS"]
2013    pub timestamp: u64,
2014    #[doc = "< cycle count for explicit cycle count element, or count for element with associated cycle count"]
2015    pub cycle_count: u32,
2016    #[doc = "< Last instruction type if instruction execution range"]
2017    pub last_i_type: ocsd_instr_type,
2018    #[doc = "< sub type for last instruction in range"]
2019    pub last_i_subtype: ocsd_instr_subtype,
2020    pub __bindgen_anon_1: _ocsd_generic_trace_elem__bindgen_ty_1,
2021    pub __bindgen_anon_2: _ocsd_generic_trace_elem__bindgen_ty_2,
2022    #[doc = "< pointer to extended data buffer (data trace, sw trace payload) / custom structure"]
2023    pub ptr_extended_data: *const ::std::os::raw::c_void,
2024}
2025#[doc = "! per element flags"]
2026#[repr(C)]
2027#[derive(Copy, Clone)]
2028pub union _ocsd_generic_trace_elem__bindgen_ty_1 {
2029    pub __bindgen_anon_1: _ocsd_generic_trace_elem__bindgen_ty_1__bindgen_ty_1,
2030    pub flag_bits: u32,
2031}
2032#[repr(C)]
2033#[repr(align(4))]
2034#[derive(Debug, Copy, Clone)]
2035pub struct _ocsd_generic_trace_elem__bindgen_ty_1__bindgen_ty_1 {
2036    pub _bitfield_align_1: [u8; 0],
2037    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
2038    pub __bindgen_padding_0: u16,
2039}
2040#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2041const _: () = {
2042    ["Size of _ocsd_generic_trace_elem__bindgen_ty_1__bindgen_ty_1"]
2043        [::std::mem::size_of::<_ocsd_generic_trace_elem__bindgen_ty_1__bindgen_ty_1>() - 4usize];
2044    ["Alignment of _ocsd_generic_trace_elem__bindgen_ty_1__bindgen_ty_1"]
2045        [::std::mem::align_of::<_ocsd_generic_trace_elem__bindgen_ty_1__bindgen_ty_1>() - 4usize];
2046};
2047impl _ocsd_generic_trace_elem__bindgen_ty_1__bindgen_ty_1 {
2048    #[inline]
2049    pub fn last_instr_exec(&self) -> u32 {
2050        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
2051    }
2052    #[inline]
2053    pub fn set_last_instr_exec(&mut self, val: u32) {
2054        unsafe {
2055            let val: u32 = ::std::mem::transmute(val);
2056            self._bitfield_1.set(0usize, 1u8, val as u64)
2057        }
2058    }
2059    #[inline]
2060    pub unsafe fn last_instr_exec_raw(this: *const Self) -> u32 {
2061        unsafe {
2062            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2063                ::std::ptr::addr_of!((*this)._bitfield_1),
2064                0usize,
2065                1u8,
2066            ) as u32)
2067        }
2068    }
2069    #[inline]
2070    pub unsafe fn set_last_instr_exec_raw(this: *mut Self, val: u32) {
2071        unsafe {
2072            let val: u32 = ::std::mem::transmute(val);
2073            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2074                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2075                0usize,
2076                1u8,
2077                val as u64,
2078            )
2079        }
2080    }
2081    #[inline]
2082    pub fn last_instr_sz(&self) -> u32 {
2083        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 3u8) as u32) }
2084    }
2085    #[inline]
2086    pub fn set_last_instr_sz(&mut self, val: u32) {
2087        unsafe {
2088            let val: u32 = ::std::mem::transmute(val);
2089            self._bitfield_1.set(1usize, 3u8, val as u64)
2090        }
2091    }
2092    #[inline]
2093    pub unsafe fn last_instr_sz_raw(this: *const Self) -> u32 {
2094        unsafe {
2095            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2096                ::std::ptr::addr_of!((*this)._bitfield_1),
2097                1usize,
2098                3u8,
2099            ) as u32)
2100        }
2101    }
2102    #[inline]
2103    pub unsafe fn set_last_instr_sz_raw(this: *mut Self, val: u32) {
2104        unsafe {
2105            let val: u32 = ::std::mem::transmute(val);
2106            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2107                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2108                1usize,
2109                3u8,
2110                val as u64,
2111            )
2112        }
2113    }
2114    #[inline]
2115    pub fn has_cc(&self) -> u32 {
2116        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
2117    }
2118    #[inline]
2119    pub fn set_has_cc(&mut self, val: u32) {
2120        unsafe {
2121            let val: u32 = ::std::mem::transmute(val);
2122            self._bitfield_1.set(4usize, 1u8, val as u64)
2123        }
2124    }
2125    #[inline]
2126    pub unsafe fn has_cc_raw(this: *const Self) -> u32 {
2127        unsafe {
2128            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2129                ::std::ptr::addr_of!((*this)._bitfield_1),
2130                4usize,
2131                1u8,
2132            ) as u32)
2133        }
2134    }
2135    #[inline]
2136    pub unsafe fn set_has_cc_raw(this: *mut Self, val: u32) {
2137        unsafe {
2138            let val: u32 = ::std::mem::transmute(val);
2139            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2140                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2141                4usize,
2142                1u8,
2143                val as u64,
2144            )
2145        }
2146    }
2147    #[inline]
2148    pub fn cpu_freq_change(&self) -> u32 {
2149        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
2150    }
2151    #[inline]
2152    pub fn set_cpu_freq_change(&mut self, val: u32) {
2153        unsafe {
2154            let val: u32 = ::std::mem::transmute(val);
2155            self._bitfield_1.set(5usize, 1u8, val as u64)
2156        }
2157    }
2158    #[inline]
2159    pub unsafe fn cpu_freq_change_raw(this: *const Self) -> u32 {
2160        unsafe {
2161            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2162                ::std::ptr::addr_of!((*this)._bitfield_1),
2163                5usize,
2164                1u8,
2165            ) as u32)
2166        }
2167    }
2168    #[inline]
2169    pub unsafe fn set_cpu_freq_change_raw(this: *mut Self, val: u32) {
2170        unsafe {
2171            let val: u32 = ::std::mem::transmute(val);
2172            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2173                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2174                5usize,
2175                1u8,
2176                val as u64,
2177            )
2178        }
2179    }
2180    #[inline]
2181    pub fn excep_ret_addr(&self) -> u32 {
2182        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
2183    }
2184    #[inline]
2185    pub fn set_excep_ret_addr(&mut self, val: u32) {
2186        unsafe {
2187            let val: u32 = ::std::mem::transmute(val);
2188            self._bitfield_1.set(6usize, 1u8, val as u64)
2189        }
2190    }
2191    #[inline]
2192    pub unsafe fn excep_ret_addr_raw(this: *const Self) -> u32 {
2193        unsafe {
2194            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2195                ::std::ptr::addr_of!((*this)._bitfield_1),
2196                6usize,
2197                1u8,
2198            ) as u32)
2199        }
2200    }
2201    #[inline]
2202    pub unsafe fn set_excep_ret_addr_raw(this: *mut Self, val: u32) {
2203        unsafe {
2204            let val: u32 = ::std::mem::transmute(val);
2205            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2206                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2207                6usize,
2208                1u8,
2209                val as u64,
2210            )
2211        }
2212    }
2213    #[inline]
2214    pub fn excep_data_marker(&self) -> u32 {
2215        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
2216    }
2217    #[inline]
2218    pub fn set_excep_data_marker(&mut self, val: u32) {
2219        unsafe {
2220            let val: u32 = ::std::mem::transmute(val);
2221            self._bitfield_1.set(7usize, 1u8, val as u64)
2222        }
2223    }
2224    #[inline]
2225    pub unsafe fn excep_data_marker_raw(this: *const Self) -> u32 {
2226        unsafe {
2227            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2228                ::std::ptr::addr_of!((*this)._bitfield_1),
2229                7usize,
2230                1u8,
2231            ) as u32)
2232        }
2233    }
2234    #[inline]
2235    pub unsafe fn set_excep_data_marker_raw(this: *mut Self, val: u32) {
2236        unsafe {
2237            let val: u32 = ::std::mem::transmute(val);
2238            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2239                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2240                7usize,
2241                1u8,
2242                val as u64,
2243            )
2244        }
2245    }
2246    #[inline]
2247    pub fn extended_data(&self) -> u32 {
2248        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
2249    }
2250    #[inline]
2251    pub fn set_extended_data(&mut self, val: u32) {
2252        unsafe {
2253            let val: u32 = ::std::mem::transmute(val);
2254            self._bitfield_1.set(8usize, 1u8, val as u64)
2255        }
2256    }
2257    #[inline]
2258    pub unsafe fn extended_data_raw(this: *const Self) -> u32 {
2259        unsafe {
2260            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2261                ::std::ptr::addr_of!((*this)._bitfield_1),
2262                8usize,
2263                1u8,
2264            ) as u32)
2265        }
2266    }
2267    #[inline]
2268    pub unsafe fn set_extended_data_raw(this: *mut Self, val: u32) {
2269        unsafe {
2270            let val: u32 = ::std::mem::transmute(val);
2271            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2272                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2273                8usize,
2274                1u8,
2275                val as u64,
2276            )
2277        }
2278    }
2279    #[inline]
2280    pub fn has_ts(&self) -> u32 {
2281        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
2282    }
2283    #[inline]
2284    pub fn set_has_ts(&mut self, val: u32) {
2285        unsafe {
2286            let val: u32 = ::std::mem::transmute(val);
2287            self._bitfield_1.set(9usize, 1u8, val as u64)
2288        }
2289    }
2290    #[inline]
2291    pub unsafe fn has_ts_raw(this: *const Self) -> u32 {
2292        unsafe {
2293            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2294                ::std::ptr::addr_of!((*this)._bitfield_1),
2295                9usize,
2296                1u8,
2297            ) as u32)
2298        }
2299    }
2300    #[inline]
2301    pub unsafe fn set_has_ts_raw(this: *mut Self, val: u32) {
2302        unsafe {
2303            let val: u32 = ::std::mem::transmute(val);
2304            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2305                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2306                9usize,
2307                1u8,
2308                val as u64,
2309            )
2310        }
2311    }
2312    #[inline]
2313    pub fn last_instr_cond(&self) -> u32 {
2314        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
2315    }
2316    #[inline]
2317    pub fn set_last_instr_cond(&mut self, val: u32) {
2318        unsafe {
2319            let val: u32 = ::std::mem::transmute(val);
2320            self._bitfield_1.set(10usize, 1u8, val as u64)
2321        }
2322    }
2323    #[inline]
2324    pub unsafe fn last_instr_cond_raw(this: *const Self) -> u32 {
2325        unsafe {
2326            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2327                ::std::ptr::addr_of!((*this)._bitfield_1),
2328                10usize,
2329                1u8,
2330            ) as u32)
2331        }
2332    }
2333    #[inline]
2334    pub unsafe fn set_last_instr_cond_raw(this: *mut Self, val: u32) {
2335        unsafe {
2336            let val: u32 = ::std::mem::transmute(val);
2337            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2338                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2339                10usize,
2340                1u8,
2341                val as u64,
2342            )
2343        }
2344    }
2345    #[inline]
2346    pub fn excep_ret_addr_br_tgt(&self) -> u32 {
2347        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
2348    }
2349    #[inline]
2350    pub fn set_excep_ret_addr_br_tgt(&mut self, val: u32) {
2351        unsafe {
2352            let val: u32 = ::std::mem::transmute(val);
2353            self._bitfield_1.set(11usize, 1u8, val as u64)
2354        }
2355    }
2356    #[inline]
2357    pub unsafe fn excep_ret_addr_br_tgt_raw(this: *const Self) -> u32 {
2358        unsafe {
2359            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2360                ::std::ptr::addr_of!((*this)._bitfield_1),
2361                11usize,
2362                1u8,
2363            ) as u32)
2364        }
2365    }
2366    #[inline]
2367    pub unsafe fn set_excep_ret_addr_br_tgt_raw(this: *mut Self, val: u32) {
2368        unsafe {
2369            let val: u32 = ::std::mem::transmute(val);
2370            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2371                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2372                11usize,
2373                1u8,
2374                val as u64,
2375            )
2376        }
2377    }
2378    #[inline]
2379    pub fn excep_M_tail_chain(&self) -> u32 {
2380        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
2381    }
2382    #[inline]
2383    pub fn set_excep_M_tail_chain(&mut self, val: u32) {
2384        unsafe {
2385            let val: u32 = ::std::mem::transmute(val);
2386            self._bitfield_1.set(12usize, 1u8, val as u64)
2387        }
2388    }
2389    #[inline]
2390    pub unsafe fn excep_M_tail_chain_raw(this: *const Self) -> u32 {
2391        unsafe {
2392            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2393                ::std::ptr::addr_of!((*this)._bitfield_1),
2394                12usize,
2395                1u8,
2396            ) as u32)
2397        }
2398    }
2399    #[inline]
2400    pub unsafe fn set_excep_M_tail_chain_raw(this: *mut Self, val: u32) {
2401        unsafe {
2402            let val: u32 = ::std::mem::transmute(val);
2403            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2404                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2405                12usize,
2406                1u8,
2407                val as u64,
2408            )
2409        }
2410    }
2411    #[inline]
2412    pub fn new_bitfield_1(
2413        last_instr_exec: u32,
2414        last_instr_sz: u32,
2415        has_cc: u32,
2416        cpu_freq_change: u32,
2417        excep_ret_addr: u32,
2418        excep_data_marker: u32,
2419        extended_data: u32,
2420        has_ts: u32,
2421        last_instr_cond: u32,
2422        excep_ret_addr_br_tgt: u32,
2423        excep_M_tail_chain: u32,
2424    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
2425        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
2426        __bindgen_bitfield_unit.set(0usize, 1u8, {
2427            let last_instr_exec: u32 = unsafe { ::std::mem::transmute(last_instr_exec) };
2428            last_instr_exec as u64
2429        });
2430        __bindgen_bitfield_unit.set(1usize, 3u8, {
2431            let last_instr_sz: u32 = unsafe { ::std::mem::transmute(last_instr_sz) };
2432            last_instr_sz as u64
2433        });
2434        __bindgen_bitfield_unit.set(4usize, 1u8, {
2435            let has_cc: u32 = unsafe { ::std::mem::transmute(has_cc) };
2436            has_cc as u64
2437        });
2438        __bindgen_bitfield_unit.set(5usize, 1u8, {
2439            let cpu_freq_change: u32 = unsafe { ::std::mem::transmute(cpu_freq_change) };
2440            cpu_freq_change as u64
2441        });
2442        __bindgen_bitfield_unit.set(6usize, 1u8, {
2443            let excep_ret_addr: u32 = unsafe { ::std::mem::transmute(excep_ret_addr) };
2444            excep_ret_addr as u64
2445        });
2446        __bindgen_bitfield_unit.set(7usize, 1u8, {
2447            let excep_data_marker: u32 = unsafe { ::std::mem::transmute(excep_data_marker) };
2448            excep_data_marker as u64
2449        });
2450        __bindgen_bitfield_unit.set(8usize, 1u8, {
2451            let extended_data: u32 = unsafe { ::std::mem::transmute(extended_data) };
2452            extended_data as u64
2453        });
2454        __bindgen_bitfield_unit.set(9usize, 1u8, {
2455            let has_ts: u32 = unsafe { ::std::mem::transmute(has_ts) };
2456            has_ts as u64
2457        });
2458        __bindgen_bitfield_unit.set(10usize, 1u8, {
2459            let last_instr_cond: u32 = unsafe { ::std::mem::transmute(last_instr_cond) };
2460            last_instr_cond as u64
2461        });
2462        __bindgen_bitfield_unit.set(11usize, 1u8, {
2463            let excep_ret_addr_br_tgt: u32 =
2464                unsafe { ::std::mem::transmute(excep_ret_addr_br_tgt) };
2465            excep_ret_addr_br_tgt as u64
2466        });
2467        __bindgen_bitfield_unit.set(12usize, 1u8, {
2468            let excep_M_tail_chain: u32 = unsafe { ::std::mem::transmute(excep_M_tail_chain) };
2469            excep_M_tail_chain as u64
2470        });
2471        __bindgen_bitfield_unit
2472    }
2473}
2474#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2475const _: () = {
2476    ["Size of _ocsd_generic_trace_elem__bindgen_ty_1"]
2477        [::std::mem::size_of::<_ocsd_generic_trace_elem__bindgen_ty_1>() - 4usize];
2478    ["Alignment of _ocsd_generic_trace_elem__bindgen_ty_1"]
2479        [::std::mem::align_of::<_ocsd_generic_trace_elem__bindgen_ty_1>() - 4usize];
2480    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_1::flag_bits"]
2481        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_1, flag_bits) - 0usize];
2482};
2483#[doc = "! packet specific payloads"]
2484#[repr(C)]
2485#[derive(Copy, Clone)]
2486pub union _ocsd_generic_trace_elem__bindgen_ty_2 {
2487    #[doc = "< exception number for exception type packets"]
2488    pub exception_number: u32,
2489    #[doc = "< Trace event - trigger etc"]
2490    pub trace_event: trace_event_t,
2491    #[doc = "< reason for the trace on packet"]
2492    pub trace_on_reason: trace_on_reason_t,
2493    #[doc = "< HW software trace packet info"]
2494    pub sw_trace_info: ocsd_swt_info_t,
2495    #[doc = "< number of instructions covered by range packet (for T32 this cannot be calculated from en-st/i_size)"]
2496    pub num_instr_range: u32,
2497    #[doc = "< additional information for unsync / end-of-trace packets."]
2498    pub unsync_eot_info: unsync_info_t,
2499    #[doc = "< marker element - sync later element to position in stream"]
2500    pub sync_marker: trace_marker_payload_t,
2501    #[doc = "< memory transaction packet - transaction event"]
2502    pub mem_trans: trace_memtrans_t,
2503    #[doc = "< PE sw instrumentation using FEAT_ITE"]
2504    pub sw_ite: trace_sw_ite_t,
2505    #[doc = "< HW SWT packet using ITM protocol"]
2506    pub swt_itm: swt_itm_info,
2507}
2508#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2509const _: () = {
2510    ["Size of _ocsd_generic_trace_elem__bindgen_ty_2"]
2511        [::std::mem::size_of::<_ocsd_generic_trace_elem__bindgen_ty_2>() - 16usize];
2512    ["Alignment of _ocsd_generic_trace_elem__bindgen_ty_2"]
2513        [::std::mem::align_of::<_ocsd_generic_trace_elem__bindgen_ty_2>() - 8usize];
2514    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::exception_number"]
2515        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, exception_number) - 0usize];
2516    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::trace_event"]
2517        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, trace_event) - 0usize];
2518    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::trace_on_reason"]
2519        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, trace_on_reason) - 0usize];
2520    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::sw_trace_info"]
2521        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, sw_trace_info) - 0usize];
2522    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::num_instr_range"]
2523        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, num_instr_range) - 0usize];
2524    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::unsync_eot_info"]
2525        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, unsync_eot_info) - 0usize];
2526    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::sync_marker"]
2527        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, sync_marker) - 0usize];
2528    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::mem_trans"]
2529        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, mem_trans) - 0usize];
2530    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::sw_ite"]
2531        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, sw_ite) - 0usize];
2532    ["Offset of field: _ocsd_generic_trace_elem__bindgen_ty_2::swt_itm"]
2533        [::std::mem::offset_of!(_ocsd_generic_trace_elem__bindgen_ty_2, swt_itm) - 0usize];
2534};
2535#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2536const _: () = {
2537    ["Size of _ocsd_generic_trace_elem"]
2538        [::std::mem::size_of::<_ocsd_generic_trace_elem>() - 96usize];
2539    ["Alignment of _ocsd_generic_trace_elem"]
2540        [::std::mem::align_of::<_ocsd_generic_trace_elem>() - 8usize];
2541    ["Offset of field: _ocsd_generic_trace_elem::elem_type"]
2542        [::std::mem::offset_of!(_ocsd_generic_trace_elem, elem_type) - 0usize];
2543    ["Offset of field: _ocsd_generic_trace_elem::isa"]
2544        [::std::mem::offset_of!(_ocsd_generic_trace_elem, isa) - 4usize];
2545    ["Offset of field: _ocsd_generic_trace_elem::st_addr"]
2546        [::std::mem::offset_of!(_ocsd_generic_trace_elem, st_addr) - 8usize];
2547    ["Offset of field: _ocsd_generic_trace_elem::en_addr"]
2548        [::std::mem::offset_of!(_ocsd_generic_trace_elem, en_addr) - 16usize];
2549    ["Offset of field: _ocsd_generic_trace_elem::context"]
2550        [::std::mem::offset_of!(_ocsd_generic_trace_elem, context) - 24usize];
2551    ["Offset of field: _ocsd_generic_trace_elem::timestamp"]
2552        [::std::mem::offset_of!(_ocsd_generic_trace_elem, timestamp) - 48usize];
2553    ["Offset of field: _ocsd_generic_trace_elem::cycle_count"]
2554        [::std::mem::offset_of!(_ocsd_generic_trace_elem, cycle_count) - 56usize];
2555    ["Offset of field: _ocsd_generic_trace_elem::last_i_type"]
2556        [::std::mem::offset_of!(_ocsd_generic_trace_elem, last_i_type) - 60usize];
2557    ["Offset of field: _ocsd_generic_trace_elem::last_i_subtype"]
2558        [::std::mem::offset_of!(_ocsd_generic_trace_elem, last_i_subtype) - 64usize];
2559    ["Offset of field: _ocsd_generic_trace_elem::ptr_extended_data"]
2560        [::std::mem::offset_of!(_ocsd_generic_trace_elem, ptr_extended_data) - 88usize];
2561};
2562pub type ocsd_generic_trace_elem = _ocsd_generic_trace_elem;
2563pub const _event_t_EVENT_UNKNOWN: _event_t = 0;
2564pub const _event_t_EVENT_TRIGGER: _event_t = 1;
2565pub const _event_t_EVENT_NUMBERED: _event_t = 2;
2566pub type _event_t = ::std::os::raw::c_uint;
2567pub use self::_event_t as event_t;
2568pub const _ocsd_pkt_va_size_VA_32BIT: _ocsd_pkt_va_size = 0;
2569pub const _ocsd_pkt_va_size_VA_64BIT: _ocsd_pkt_va_size = 1;
2570#[doc = " @name Common Packet Types\n@{"]
2571pub type _ocsd_pkt_va_size = ::std::os::raw::c_uint;
2572#[doc = " @name Common Packet Types\n@{"]
2573pub use self::_ocsd_pkt_va_size as ocsd_pkt_va_size;
2574#[repr(C)]
2575#[derive(Debug, Copy, Clone)]
2576pub struct _ocsd_pkt_vaddr {
2577    #[doc = "< Virtual address size."]
2578    pub size: ocsd_pkt_va_size,
2579    #[doc = "< Current value"]
2580    pub val: ocsd_vaddr_t,
2581    #[doc = "< Bits updated this packet"]
2582    pub pkt_bits: u8,
2583    #[doc = "< Currently valid bits"]
2584    pub valid_bits: u8,
2585}
2586#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2587const _: () = {
2588    ["Size of _ocsd_pkt_vaddr"][::std::mem::size_of::<_ocsd_pkt_vaddr>() - 24usize];
2589    ["Alignment of _ocsd_pkt_vaddr"][::std::mem::align_of::<_ocsd_pkt_vaddr>() - 8usize];
2590    ["Offset of field: _ocsd_pkt_vaddr::size"]
2591        [::std::mem::offset_of!(_ocsd_pkt_vaddr, size) - 0usize];
2592    ["Offset of field: _ocsd_pkt_vaddr::val"]
2593        [::std::mem::offset_of!(_ocsd_pkt_vaddr, val) - 8usize];
2594    ["Offset of field: _ocsd_pkt_vaddr::pkt_bits"]
2595        [::std::mem::offset_of!(_ocsd_pkt_vaddr, pkt_bits) - 16usize];
2596    ["Offset of field: _ocsd_pkt_vaddr::valid_bits"]
2597        [::std::mem::offset_of!(_ocsd_pkt_vaddr, valid_bits) - 17usize];
2598};
2599pub type ocsd_pkt_vaddr = _ocsd_pkt_vaddr;
2600#[repr(C)]
2601#[derive(Debug, Copy, Clone)]
2602pub struct _ocsd_pkt_byte_sz_val {
2603    pub val: u32,
2604    pub size_bytes: u8,
2605    pub valid_bytes: u8,
2606}
2607#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2608const _: () = {
2609    ["Size of _ocsd_pkt_byte_sz_val"][::std::mem::size_of::<_ocsd_pkt_byte_sz_val>() - 8usize];
2610    ["Alignment of _ocsd_pkt_byte_sz_val"]
2611        [::std::mem::align_of::<_ocsd_pkt_byte_sz_val>() - 4usize];
2612    ["Offset of field: _ocsd_pkt_byte_sz_val::val"]
2613        [::std::mem::offset_of!(_ocsd_pkt_byte_sz_val, val) - 0usize];
2614    ["Offset of field: _ocsd_pkt_byte_sz_val::size_bytes"]
2615        [::std::mem::offset_of!(_ocsd_pkt_byte_sz_val, size_bytes) - 4usize];
2616    ["Offset of field: _ocsd_pkt_byte_sz_val::valid_bytes"]
2617        [::std::mem::offset_of!(_ocsd_pkt_byte_sz_val, valid_bytes) - 5usize];
2618};
2619pub type ocsd_pkt_byte_sz_val = _ocsd_pkt_byte_sz_val;
2620#[doc = "< set atom packet using pattern supplied"]
2621pub const _ocsd_pkt_atm_type_ATOM_PATTERN: _ocsd_pkt_atm_type = 0;
2622#[doc = "< set atom packet using repeat value (convert to pattern)"]
2623pub const _ocsd_pkt_atm_type_ATOM_REPEAT: _ocsd_pkt_atm_type = 1;
2624pub type _ocsd_pkt_atm_type = ::std::os::raw::c_uint;
2625pub use self::_ocsd_pkt_atm_type as ocsd_pkt_atm_type;
2626pub const _ocsd_atm_val_ATOM_N: _ocsd_atm_val = 0;
2627pub const _ocsd_atm_val_ATOM_E: _ocsd_atm_val = 1;
2628pub type _ocsd_atm_val = ::std::os::raw::c_uint;
2629pub use self::_ocsd_atm_val as ocsd_atm_val;
2630#[repr(C)]
2631#[derive(Debug, Copy, Clone)]
2632pub struct _ocsd_pkt_atom {
2633    #[doc = " pattern across num bits.\nBit sequence:- ls bit = oldest atom (1st instruction executed), ms bit = newest (last instruction executed),\nBit values  :-  1'b1 = E atom, 1'b0 = N atom."]
2634    pub En_bits: u32,
2635    #[doc = "< number of atoms represented"]
2636    pub num: u8,
2637}
2638#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2639const _: () = {
2640    ["Size of _ocsd_pkt_atom"][::std::mem::size_of::<_ocsd_pkt_atom>() - 8usize];
2641    ["Alignment of _ocsd_pkt_atom"][::std::mem::align_of::<_ocsd_pkt_atom>() - 4usize];
2642    ["Offset of field: _ocsd_pkt_atom::En_bits"]
2643        [::std::mem::offset_of!(_ocsd_pkt_atom, En_bits) - 0usize];
2644    ["Offset of field: _ocsd_pkt_atom::num"][::std::mem::offset_of!(_ocsd_pkt_atom, num) - 4usize];
2645};
2646pub type ocsd_pkt_atom = _ocsd_pkt_atom;
2647pub const _ocsd_iSync_reason_iSync_Periodic: _ocsd_iSync_reason = 0;
2648pub const _ocsd_iSync_reason_iSync_TraceEnable: _ocsd_iSync_reason = 1;
2649pub const _ocsd_iSync_reason_iSync_TraceRestartAfterOverflow: _ocsd_iSync_reason = 2;
2650pub const _ocsd_iSync_reason_iSync_DebugExit: _ocsd_iSync_reason = 3;
2651#[doc = " Isync Reason - common to PTM and ETMv3"]
2652pub type _ocsd_iSync_reason = ::std::os::raw::c_uint;
2653#[doc = " Isync Reason - common to PTM and ETMv3"]
2654pub use self::_ocsd_iSync_reason as ocsd_iSync_reason;
2655pub const _ocsd_armv7_exception_Excp_Reserved: _ocsd_armv7_exception = 0;
2656pub const _ocsd_armv7_exception_Excp_NoException: _ocsd_armv7_exception = 1;
2657pub const _ocsd_armv7_exception_Excp_Reset: _ocsd_armv7_exception = 2;
2658pub const _ocsd_armv7_exception_Excp_IRQ: _ocsd_armv7_exception = 3;
2659pub const _ocsd_armv7_exception_Excp_FIQ: _ocsd_armv7_exception = 4;
2660pub const _ocsd_armv7_exception_Excp_AsyncDAbort: _ocsd_armv7_exception = 5;
2661pub const _ocsd_armv7_exception_Excp_DebugHalt: _ocsd_armv7_exception = 6;
2662pub const _ocsd_armv7_exception_Excp_Jazelle: _ocsd_armv7_exception = 7;
2663pub const _ocsd_armv7_exception_Excp_SVC: _ocsd_armv7_exception = 8;
2664pub const _ocsd_armv7_exception_Excp_SMC: _ocsd_armv7_exception = 9;
2665pub const _ocsd_armv7_exception_Excp_Hyp: _ocsd_armv7_exception = 10;
2666pub const _ocsd_armv7_exception_Excp_Undef: _ocsd_armv7_exception = 11;
2667pub const _ocsd_armv7_exception_Excp_PrefAbort: _ocsd_armv7_exception = 12;
2668pub const _ocsd_armv7_exception_Excp_Generic: _ocsd_armv7_exception = 13;
2669pub const _ocsd_armv7_exception_Excp_SyncDataAbort: _ocsd_armv7_exception = 14;
2670pub const _ocsd_armv7_exception_Excp_CMUsageFault: _ocsd_armv7_exception = 15;
2671pub const _ocsd_armv7_exception_Excp_CMNMI: _ocsd_armv7_exception = 16;
2672pub const _ocsd_armv7_exception_Excp_CMDebugMonitor: _ocsd_armv7_exception = 17;
2673pub const _ocsd_armv7_exception_Excp_CMMemManage: _ocsd_armv7_exception = 18;
2674pub const _ocsd_armv7_exception_Excp_CMPendSV: _ocsd_armv7_exception = 19;
2675pub const _ocsd_armv7_exception_Excp_CMSysTick: _ocsd_armv7_exception = 20;
2676pub const _ocsd_armv7_exception_Excp_CMBusFault: _ocsd_armv7_exception = 21;
2677pub const _ocsd_armv7_exception_Excp_CMHardFault: _ocsd_armv7_exception = 22;
2678pub const _ocsd_armv7_exception_Excp_CMIRQn: _ocsd_armv7_exception = 23;
2679pub const _ocsd_armv7_exception_Excp_ThumbEECheckFail: _ocsd_armv7_exception = 24;
2680pub type _ocsd_armv7_exception = ::std::os::raw::c_uint;
2681pub use self::_ocsd_armv7_exception as ocsd_armv7_exception;
2682#[doc = "!< no error in packet - supplimentary data."]
2683pub const _ocsd_etmv3_pkt_type_ETM3_PKT_NOERROR: _ocsd_etmv3_pkt_type = 0;
2684#[doc = "!< no sync found yet"]
2685pub const _ocsd_etmv3_pkt_type_ETM3_PKT_NOTSYNC: _ocsd_etmv3_pkt_type = 1;
2686#[doc = "!< flushing incomplete/empty packet at end of trace."]
2687pub const _ocsd_etmv3_pkt_type_ETM3_PKT_INCOMPLETE_EOT: _ocsd_etmv3_pkt_type = 2;
2688pub const _ocsd_etmv3_pkt_type_ETM3_PKT_BRANCH_ADDRESS: _ocsd_etmv3_pkt_type = 3;
2689pub const _ocsd_etmv3_pkt_type_ETM3_PKT_A_SYNC: _ocsd_etmv3_pkt_type = 4;
2690pub const _ocsd_etmv3_pkt_type_ETM3_PKT_CYCLE_COUNT: _ocsd_etmv3_pkt_type = 5;
2691pub const _ocsd_etmv3_pkt_type_ETM3_PKT_I_SYNC: _ocsd_etmv3_pkt_type = 6;
2692pub const _ocsd_etmv3_pkt_type_ETM3_PKT_I_SYNC_CYCLE: _ocsd_etmv3_pkt_type = 7;
2693pub const _ocsd_etmv3_pkt_type_ETM3_PKT_TRIGGER: _ocsd_etmv3_pkt_type = 8;
2694pub const _ocsd_etmv3_pkt_type_ETM3_PKT_P_HDR: _ocsd_etmv3_pkt_type = 9;
2695pub const _ocsd_etmv3_pkt_type_ETM3_PKT_STORE_FAIL: _ocsd_etmv3_pkt_type = 10;
2696pub const _ocsd_etmv3_pkt_type_ETM3_PKT_OOO_DATA: _ocsd_etmv3_pkt_type = 11;
2697pub const _ocsd_etmv3_pkt_type_ETM3_PKT_OOO_ADDR_PLC: _ocsd_etmv3_pkt_type = 12;
2698pub const _ocsd_etmv3_pkt_type_ETM3_PKT_NORM_DATA: _ocsd_etmv3_pkt_type = 13;
2699pub const _ocsd_etmv3_pkt_type_ETM3_PKT_DATA_SUPPRESSED: _ocsd_etmv3_pkt_type = 14;
2700pub const _ocsd_etmv3_pkt_type_ETM3_PKT_VAL_NOT_TRACED: _ocsd_etmv3_pkt_type = 15;
2701pub const _ocsd_etmv3_pkt_type_ETM3_PKT_IGNORE: _ocsd_etmv3_pkt_type = 16;
2702pub const _ocsd_etmv3_pkt_type_ETM3_PKT_CONTEXT_ID: _ocsd_etmv3_pkt_type = 17;
2703pub const _ocsd_etmv3_pkt_type_ETM3_PKT_VMID: _ocsd_etmv3_pkt_type = 18;
2704pub const _ocsd_etmv3_pkt_type_ETM3_PKT_EXCEPTION_ENTRY: _ocsd_etmv3_pkt_type = 19;
2705pub const _ocsd_etmv3_pkt_type_ETM3_PKT_EXCEPTION_EXIT: _ocsd_etmv3_pkt_type = 20;
2706pub const _ocsd_etmv3_pkt_type_ETM3_PKT_TIMESTAMP: _ocsd_etmv3_pkt_type = 21;
2707pub const _ocsd_etmv3_pkt_type_ETM3_PKT_BRANCH_OR_BYPASS_EOT: _ocsd_etmv3_pkt_type = 22;
2708#[doc = "!< invalid sequence for packet type"]
2709pub const _ocsd_etmv3_pkt_type_ETM3_PKT_BAD_SEQUENCE: _ocsd_etmv3_pkt_type = 23;
2710#[doc = "!< invalid packet type for this trace mode."]
2711pub const _ocsd_etmv3_pkt_type_ETM3_PKT_BAD_TRACEMODE: _ocsd_etmv3_pkt_type = 24;
2712#[doc = "!< packet type reserved."]
2713pub const _ocsd_etmv3_pkt_type_ETM3_PKT_RESERVED: _ocsd_etmv3_pkt_type = 25;
2714#[doc = " @name ETMv3 Packet Types\n@{"]
2715pub type _ocsd_etmv3_pkt_type = ::std::os::raw::c_uint;
2716#[doc = " @name ETMv3 Packet Types\n@{"]
2717pub use self::_ocsd_etmv3_pkt_type as ocsd_etmv3_pkt_type;
2718#[repr(C)]
2719#[derive(Debug, Copy, Clone)]
2720pub struct _ocsd_etmv3_excep {
2721    #[doc = "<  exception type."]
2722    pub type_: ocsd_armv7_exception,
2723    #[doc = "< exception as number"]
2724    pub number: u16,
2725    pub bits: _ocsd_etmv3_excep__bindgen_ty_1,
2726}
2727#[repr(C)]
2728#[repr(align(4))]
2729#[derive(Debug, Copy, Clone)]
2730pub struct _ocsd_etmv3_excep__bindgen_ty_1 {
2731    pub _bitfield_align_1: [u16; 0],
2732    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
2733    pub __bindgen_padding_0: u16,
2734}
2735#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2736const _: () = {
2737    ["Size of _ocsd_etmv3_excep__bindgen_ty_1"]
2738        [::std::mem::size_of::<_ocsd_etmv3_excep__bindgen_ty_1>() - 4usize];
2739    ["Alignment of _ocsd_etmv3_excep__bindgen_ty_1"]
2740        [::std::mem::align_of::<_ocsd_etmv3_excep__bindgen_ty_1>() - 4usize];
2741};
2742impl _ocsd_etmv3_excep__bindgen_ty_1 {
2743    #[inline]
2744    pub fn present(&self) -> u32 {
2745        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
2746    }
2747    #[inline]
2748    pub fn set_present(&mut self, val: u32) {
2749        unsafe {
2750            let val: u32 = ::std::mem::transmute(val);
2751            self._bitfield_1.set(0usize, 1u8, val as u64)
2752        }
2753    }
2754    #[inline]
2755    pub unsafe fn present_raw(this: *const Self) -> u32 {
2756        unsafe {
2757            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2758                ::std::ptr::addr_of!((*this)._bitfield_1),
2759                0usize,
2760                1u8,
2761            ) as u32)
2762        }
2763    }
2764    #[inline]
2765    pub unsafe fn set_present_raw(this: *mut Self, val: u32) {
2766        unsafe {
2767            let val: u32 = ::std::mem::transmute(val);
2768            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2769                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2770                0usize,
2771                1u8,
2772                val as u64,
2773            )
2774        }
2775    }
2776    #[inline]
2777    pub fn cancel(&self) -> u32 {
2778        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
2779    }
2780    #[inline]
2781    pub fn set_cancel(&mut self, val: u32) {
2782        unsafe {
2783            let val: u32 = ::std::mem::transmute(val);
2784            self._bitfield_1.set(1usize, 1u8, val as u64)
2785        }
2786    }
2787    #[inline]
2788    pub unsafe fn cancel_raw(this: *const Self) -> u32 {
2789        unsafe {
2790            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2791                ::std::ptr::addr_of!((*this)._bitfield_1),
2792                1usize,
2793                1u8,
2794            ) as u32)
2795        }
2796    }
2797    #[inline]
2798    pub unsafe fn set_cancel_raw(this: *mut Self, val: u32) {
2799        unsafe {
2800            let val: u32 = ::std::mem::transmute(val);
2801            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2802                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2803                1usize,
2804                1u8,
2805                val as u64,
2806            )
2807        }
2808    }
2809    #[inline]
2810    pub fn cm_type(&self) -> u32 {
2811        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
2812    }
2813    #[inline]
2814    pub fn set_cm_type(&mut self, val: u32) {
2815        unsafe {
2816            let val: u32 = ::std::mem::transmute(val);
2817            self._bitfield_1.set(2usize, 1u8, val as u64)
2818        }
2819    }
2820    #[inline]
2821    pub unsafe fn cm_type_raw(this: *const Self) -> u32 {
2822        unsafe {
2823            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2824                ::std::ptr::addr_of!((*this)._bitfield_1),
2825                2usize,
2826                1u8,
2827            ) as u32)
2828        }
2829    }
2830    #[inline]
2831    pub unsafe fn set_cm_type_raw(this: *mut Self, val: u32) {
2832        unsafe {
2833            let val: u32 = ::std::mem::transmute(val);
2834            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2835                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2836                2usize,
2837                1u8,
2838                val as u64,
2839            )
2840        }
2841    }
2842    #[inline]
2843    pub fn cm_resume(&self) -> u32 {
2844        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 4u8) as u32) }
2845    }
2846    #[inline]
2847    pub fn set_cm_resume(&mut self, val: u32) {
2848        unsafe {
2849            let val: u32 = ::std::mem::transmute(val);
2850            self._bitfield_1.set(3usize, 4u8, val as u64)
2851        }
2852    }
2853    #[inline]
2854    pub unsafe fn cm_resume_raw(this: *const Self) -> u32 {
2855        unsafe {
2856            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2857                ::std::ptr::addr_of!((*this)._bitfield_1),
2858                3usize,
2859                4u8,
2860            ) as u32)
2861        }
2862    }
2863    #[inline]
2864    pub unsafe fn set_cm_resume_raw(this: *mut Self, val: u32) {
2865        unsafe {
2866            let val: u32 = ::std::mem::transmute(val);
2867            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2868                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2869                3usize,
2870                4u8,
2871                val as u64,
2872            )
2873        }
2874    }
2875    #[inline]
2876    pub fn cm_irq_n(&self) -> u32 {
2877        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 9u8) as u32) }
2878    }
2879    #[inline]
2880    pub fn set_cm_irq_n(&mut self, val: u32) {
2881        unsafe {
2882            let val: u32 = ::std::mem::transmute(val);
2883            self._bitfield_1.set(7usize, 9u8, val as u64)
2884        }
2885    }
2886    #[inline]
2887    pub unsafe fn cm_irq_n_raw(this: *const Self) -> u32 {
2888        unsafe {
2889            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
2890                ::std::ptr::addr_of!((*this)._bitfield_1),
2891                7usize,
2892                9u8,
2893            ) as u32)
2894        }
2895    }
2896    #[inline]
2897    pub unsafe fn set_cm_irq_n_raw(this: *mut Self, val: u32) {
2898        unsafe {
2899            let val: u32 = ::std::mem::transmute(val);
2900            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
2901                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
2902                7usize,
2903                9u8,
2904                val as u64,
2905            )
2906        }
2907    }
2908    #[inline]
2909    pub fn new_bitfield_1(
2910        present: u32,
2911        cancel: u32,
2912        cm_type: u32,
2913        cm_resume: u32,
2914        cm_irq_n: u32,
2915    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
2916        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
2917        __bindgen_bitfield_unit.set(0usize, 1u8, {
2918            let present: u32 = unsafe { ::std::mem::transmute(present) };
2919            present as u64
2920        });
2921        __bindgen_bitfield_unit.set(1usize, 1u8, {
2922            let cancel: u32 = unsafe { ::std::mem::transmute(cancel) };
2923            cancel as u64
2924        });
2925        __bindgen_bitfield_unit.set(2usize, 1u8, {
2926            let cm_type: u32 = unsafe { ::std::mem::transmute(cm_type) };
2927            cm_type as u64
2928        });
2929        __bindgen_bitfield_unit.set(3usize, 4u8, {
2930            let cm_resume: u32 = unsafe { ::std::mem::transmute(cm_resume) };
2931            cm_resume as u64
2932        });
2933        __bindgen_bitfield_unit.set(7usize, 9u8, {
2934            let cm_irq_n: u32 = unsafe { ::std::mem::transmute(cm_irq_n) };
2935            cm_irq_n as u64
2936        });
2937        __bindgen_bitfield_unit
2938    }
2939}
2940#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2941const _: () = {
2942    ["Size of _ocsd_etmv3_excep"][::std::mem::size_of::<_ocsd_etmv3_excep>() - 12usize];
2943    ["Alignment of _ocsd_etmv3_excep"][::std::mem::align_of::<_ocsd_etmv3_excep>() - 4usize];
2944    ["Offset of field: _ocsd_etmv3_excep::type_"]
2945        [::std::mem::offset_of!(_ocsd_etmv3_excep, type_) - 0usize];
2946    ["Offset of field: _ocsd_etmv3_excep::number"]
2947        [::std::mem::offset_of!(_ocsd_etmv3_excep, number) - 4usize];
2948    ["Offset of field: _ocsd_etmv3_excep::bits"]
2949        [::std::mem::offset_of!(_ocsd_etmv3_excep, bits) - 8usize];
2950};
2951pub type ocsd_etmv3_excep = _ocsd_etmv3_excep;
2952#[repr(C)]
2953#[derive(Debug, Copy, Clone)]
2954pub struct _etmv3_context_t {
2955    pub __bindgen_anon_1: _etmv3_context_t__bindgen_ty_1,
2956    #[doc = "< Context ID"]
2957    pub ctxtID: u32,
2958    #[doc = "< VMID"]
2959    pub VMID: u8,
2960}
2961#[repr(C)]
2962#[repr(align(4))]
2963#[derive(Debug, Copy, Clone)]
2964pub struct _etmv3_context_t__bindgen_ty_1 {
2965    pub _bitfield_align_1: [u8; 0],
2966    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
2967    pub __bindgen_padding_0: [u8; 3usize],
2968}
2969#[allow(clippy::unnecessary_operation, clippy::identity_op)]
2970const _: () = {
2971    ["Size of _etmv3_context_t__bindgen_ty_1"]
2972        [::std::mem::size_of::<_etmv3_context_t__bindgen_ty_1>() - 4usize];
2973    ["Alignment of _etmv3_context_t__bindgen_ty_1"]
2974        [::std::mem::align_of::<_etmv3_context_t__bindgen_ty_1>() - 4usize];
2975};
2976impl _etmv3_context_t__bindgen_ty_1 {
2977    #[inline]
2978    pub fn curr_alt_isa(&self) -> u32 {
2979        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
2980    }
2981    #[inline]
2982    pub fn set_curr_alt_isa(&mut self, val: u32) {
2983        unsafe {
2984            let val: u32 = ::std::mem::transmute(val);
2985            self._bitfield_1.set(0usize, 1u8, val as u64)
2986        }
2987    }
2988    #[inline]
2989    pub unsafe fn curr_alt_isa_raw(this: *const Self) -> u32 {
2990        unsafe {
2991            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
2992                ::std::ptr::addr_of!((*this)._bitfield_1),
2993                0usize,
2994                1u8,
2995            ) as u32)
2996        }
2997    }
2998    #[inline]
2999    pub unsafe fn set_curr_alt_isa_raw(this: *mut Self, val: u32) {
3000        unsafe {
3001            let val: u32 = ::std::mem::transmute(val);
3002            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3003                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3004                0usize,
3005                1u8,
3006                val as u64,
3007            )
3008        }
3009    }
3010    #[inline]
3011    pub fn curr_NS(&self) -> u32 {
3012        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
3013    }
3014    #[inline]
3015    pub fn set_curr_NS(&mut self, val: u32) {
3016        unsafe {
3017            let val: u32 = ::std::mem::transmute(val);
3018            self._bitfield_1.set(1usize, 1u8, val as u64)
3019        }
3020    }
3021    #[inline]
3022    pub unsafe fn curr_NS_raw(this: *const Self) -> u32 {
3023        unsafe {
3024            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3025                ::std::ptr::addr_of!((*this)._bitfield_1),
3026                1usize,
3027                1u8,
3028            ) as u32)
3029        }
3030    }
3031    #[inline]
3032    pub unsafe fn set_curr_NS_raw(this: *mut Self, val: u32) {
3033        unsafe {
3034            let val: u32 = ::std::mem::transmute(val);
3035            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3036                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3037                1usize,
3038                1u8,
3039                val as u64,
3040            )
3041        }
3042    }
3043    #[inline]
3044    pub fn curr_Hyp(&self) -> u32 {
3045        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
3046    }
3047    #[inline]
3048    pub fn set_curr_Hyp(&mut self, val: u32) {
3049        unsafe {
3050            let val: u32 = ::std::mem::transmute(val);
3051            self._bitfield_1.set(2usize, 1u8, val as u64)
3052        }
3053    }
3054    #[inline]
3055    pub unsafe fn curr_Hyp_raw(this: *const Self) -> u32 {
3056        unsafe {
3057            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3058                ::std::ptr::addr_of!((*this)._bitfield_1),
3059                2usize,
3060                1u8,
3061            ) as u32)
3062        }
3063    }
3064    #[inline]
3065    pub unsafe fn set_curr_Hyp_raw(this: *mut Self, val: u32) {
3066        unsafe {
3067            let val: u32 = ::std::mem::transmute(val);
3068            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3069                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3070                2usize,
3071                1u8,
3072                val as u64,
3073            )
3074        }
3075    }
3076    #[inline]
3077    pub fn updated(&self) -> u32 {
3078        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
3079    }
3080    #[inline]
3081    pub fn set_updated(&mut self, val: u32) {
3082        unsafe {
3083            let val: u32 = ::std::mem::transmute(val);
3084            self._bitfield_1.set(3usize, 1u8, val as u64)
3085        }
3086    }
3087    #[inline]
3088    pub unsafe fn updated_raw(this: *const Self) -> u32 {
3089        unsafe {
3090            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3091                ::std::ptr::addr_of!((*this)._bitfield_1),
3092                3usize,
3093                1u8,
3094            ) as u32)
3095        }
3096    }
3097    #[inline]
3098    pub unsafe fn set_updated_raw(this: *mut Self, val: u32) {
3099        unsafe {
3100            let val: u32 = ::std::mem::transmute(val);
3101            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3102                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3103                3usize,
3104                1u8,
3105                val as u64,
3106            )
3107        }
3108    }
3109    #[inline]
3110    pub fn updated_c(&self) -> u32 {
3111        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
3112    }
3113    #[inline]
3114    pub fn set_updated_c(&mut self, val: u32) {
3115        unsafe {
3116            let val: u32 = ::std::mem::transmute(val);
3117            self._bitfield_1.set(4usize, 1u8, val as u64)
3118        }
3119    }
3120    #[inline]
3121    pub unsafe fn updated_c_raw(this: *const Self) -> u32 {
3122        unsafe {
3123            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3124                ::std::ptr::addr_of!((*this)._bitfield_1),
3125                4usize,
3126                1u8,
3127            ) as u32)
3128        }
3129    }
3130    #[inline]
3131    pub unsafe fn set_updated_c_raw(this: *mut Self, val: u32) {
3132        unsafe {
3133            let val: u32 = ::std::mem::transmute(val);
3134            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3135                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3136                4usize,
3137                1u8,
3138                val as u64,
3139            )
3140        }
3141    }
3142    #[inline]
3143    pub fn updated_v(&self) -> u32 {
3144        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
3145    }
3146    #[inline]
3147    pub fn set_updated_v(&mut self, val: u32) {
3148        unsafe {
3149            let val: u32 = ::std::mem::transmute(val);
3150            self._bitfield_1.set(5usize, 1u8, val as u64)
3151        }
3152    }
3153    #[inline]
3154    pub unsafe fn updated_v_raw(this: *const Self) -> u32 {
3155        unsafe {
3156            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3157                ::std::ptr::addr_of!((*this)._bitfield_1),
3158                5usize,
3159                1u8,
3160            ) as u32)
3161        }
3162    }
3163    #[inline]
3164    pub unsafe fn set_updated_v_raw(this: *mut Self, val: u32) {
3165        unsafe {
3166            let val: u32 = ::std::mem::transmute(val);
3167            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3168                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3169                5usize,
3170                1u8,
3171                val as u64,
3172            )
3173        }
3174    }
3175    #[inline]
3176    pub fn new_bitfield_1(
3177        curr_alt_isa: u32,
3178        curr_NS: u32,
3179        curr_Hyp: u32,
3180        updated: u32,
3181        updated_c: u32,
3182        updated_v: u32,
3183    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3184        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3185        __bindgen_bitfield_unit.set(0usize, 1u8, {
3186            let curr_alt_isa: u32 = unsafe { ::std::mem::transmute(curr_alt_isa) };
3187            curr_alt_isa as u64
3188        });
3189        __bindgen_bitfield_unit.set(1usize, 1u8, {
3190            let curr_NS: u32 = unsafe { ::std::mem::transmute(curr_NS) };
3191            curr_NS as u64
3192        });
3193        __bindgen_bitfield_unit.set(2usize, 1u8, {
3194            let curr_Hyp: u32 = unsafe { ::std::mem::transmute(curr_Hyp) };
3195            curr_Hyp as u64
3196        });
3197        __bindgen_bitfield_unit.set(3usize, 1u8, {
3198            let updated: u32 = unsafe { ::std::mem::transmute(updated) };
3199            updated as u64
3200        });
3201        __bindgen_bitfield_unit.set(4usize, 1u8, {
3202            let updated_c: u32 = unsafe { ::std::mem::transmute(updated_c) };
3203            updated_c as u64
3204        });
3205        __bindgen_bitfield_unit.set(5usize, 1u8, {
3206            let updated_v: u32 = unsafe { ::std::mem::transmute(updated_v) };
3207            updated_v as u64
3208        });
3209        __bindgen_bitfield_unit
3210    }
3211}
3212#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3213const _: () = {
3214    ["Size of _etmv3_context_t"][::std::mem::size_of::<_etmv3_context_t>() - 12usize];
3215    ["Alignment of _etmv3_context_t"][::std::mem::align_of::<_etmv3_context_t>() - 4usize];
3216    ["Offset of field: _etmv3_context_t::ctxtID"]
3217        [::std::mem::offset_of!(_etmv3_context_t, ctxtID) - 4usize];
3218    ["Offset of field: _etmv3_context_t::VMID"]
3219        [::std::mem::offset_of!(_etmv3_context_t, VMID) - 8usize];
3220};
3221pub type etmv3_context_t = _etmv3_context_t;
3222#[repr(C)]
3223#[derive(Debug, Copy, Clone)]
3224pub struct _etmv3_data_t {
3225    #[doc = "< Data value"]
3226    pub value: u32,
3227    #[doc = "< current data address"]
3228    pub addr: ocsd_pkt_vaddr,
3229    pub __bindgen_anon_1: _etmv3_data_t__bindgen_ty_1,
3230}
3231#[repr(C)]
3232#[repr(align(4))]
3233#[derive(Debug, Copy, Clone)]
3234pub struct _etmv3_data_t__bindgen_ty_1 {
3235    pub _bitfield_align_1: [u8; 0],
3236    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3237    pub __bindgen_padding_0: [u8; 3usize],
3238}
3239#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3240const _: () = {
3241    ["Size of _etmv3_data_t__bindgen_ty_1"]
3242        [::std::mem::size_of::<_etmv3_data_t__bindgen_ty_1>() - 4usize];
3243    ["Alignment of _etmv3_data_t__bindgen_ty_1"]
3244        [::std::mem::align_of::<_etmv3_data_t__bindgen_ty_1>() - 4usize];
3245};
3246impl _etmv3_data_t__bindgen_ty_1 {
3247    #[inline]
3248    pub fn ooo_tag(&self) -> u32 {
3249        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) }
3250    }
3251    #[inline]
3252    pub fn set_ooo_tag(&mut self, val: u32) {
3253        unsafe {
3254            let val: u32 = ::std::mem::transmute(val);
3255            self._bitfield_1.set(0usize, 2u8, val as u64)
3256        }
3257    }
3258    #[inline]
3259    pub unsafe fn ooo_tag_raw(this: *const Self) -> u32 {
3260        unsafe {
3261            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3262                ::std::ptr::addr_of!((*this)._bitfield_1),
3263                0usize,
3264                2u8,
3265            ) as u32)
3266        }
3267    }
3268    #[inline]
3269    pub unsafe fn set_ooo_tag_raw(this: *mut Self, val: u32) {
3270        unsafe {
3271            let val: u32 = ::std::mem::transmute(val);
3272            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3273                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3274                0usize,
3275                2u8,
3276                val as u64,
3277            )
3278        }
3279    }
3280    #[inline]
3281    pub fn be(&self) -> u32 {
3282        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
3283    }
3284    #[inline]
3285    pub fn set_be(&mut self, val: u32) {
3286        unsafe {
3287            let val: u32 = ::std::mem::transmute(val);
3288            self._bitfield_1.set(2usize, 1u8, val as u64)
3289        }
3290    }
3291    #[inline]
3292    pub unsafe fn be_raw(this: *const Self) -> u32 {
3293        unsafe {
3294            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3295                ::std::ptr::addr_of!((*this)._bitfield_1),
3296                2usize,
3297                1u8,
3298            ) as u32)
3299        }
3300    }
3301    #[inline]
3302    pub unsafe fn set_be_raw(this: *mut Self, val: u32) {
3303        unsafe {
3304            let val: u32 = ::std::mem::transmute(val);
3305            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3306                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3307                2usize,
3308                1u8,
3309                val as u64,
3310            )
3311        }
3312    }
3313    #[inline]
3314    pub fn update_be(&self) -> u32 {
3315        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
3316    }
3317    #[inline]
3318    pub fn set_update_be(&mut self, val: u32) {
3319        unsafe {
3320            let val: u32 = ::std::mem::transmute(val);
3321            self._bitfield_1.set(3usize, 1u8, val as u64)
3322        }
3323    }
3324    #[inline]
3325    pub unsafe fn update_be_raw(this: *const Self) -> u32 {
3326        unsafe {
3327            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3328                ::std::ptr::addr_of!((*this)._bitfield_1),
3329                3usize,
3330                1u8,
3331            ) as u32)
3332        }
3333    }
3334    #[inline]
3335    pub unsafe fn set_update_be_raw(this: *mut Self, val: u32) {
3336        unsafe {
3337            let val: u32 = ::std::mem::transmute(val);
3338            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3339                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3340                3usize,
3341                1u8,
3342                val as u64,
3343            )
3344        }
3345    }
3346    #[inline]
3347    pub fn update_addr(&self) -> u32 {
3348        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
3349    }
3350    #[inline]
3351    pub fn set_update_addr(&mut self, val: u32) {
3352        unsafe {
3353            let val: u32 = ::std::mem::transmute(val);
3354            self._bitfield_1.set(4usize, 1u8, val as u64)
3355        }
3356    }
3357    #[inline]
3358    pub unsafe fn update_addr_raw(this: *const Self) -> u32 {
3359        unsafe {
3360            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3361                ::std::ptr::addr_of!((*this)._bitfield_1),
3362                4usize,
3363                1u8,
3364            ) as u32)
3365        }
3366    }
3367    #[inline]
3368    pub unsafe fn set_update_addr_raw(this: *mut Self, val: u32) {
3369        unsafe {
3370            let val: u32 = ::std::mem::transmute(val);
3371            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3372                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3373                4usize,
3374                1u8,
3375                val as u64,
3376            )
3377        }
3378    }
3379    #[inline]
3380    pub fn update_dval(&self) -> u32 {
3381        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
3382    }
3383    #[inline]
3384    pub fn set_update_dval(&mut self, val: u32) {
3385        unsafe {
3386            let val: u32 = ::std::mem::transmute(val);
3387            self._bitfield_1.set(5usize, 1u8, val as u64)
3388        }
3389    }
3390    #[inline]
3391    pub unsafe fn update_dval_raw(this: *const Self) -> u32 {
3392        unsafe {
3393            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3394                ::std::ptr::addr_of!((*this)._bitfield_1),
3395                5usize,
3396                1u8,
3397            ) as u32)
3398        }
3399    }
3400    #[inline]
3401    pub unsafe fn set_update_dval_raw(this: *mut Self, val: u32) {
3402        unsafe {
3403            let val: u32 = ::std::mem::transmute(val);
3404            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3405                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3406                5usize,
3407                1u8,
3408                val as u64,
3409            )
3410        }
3411    }
3412    #[inline]
3413    pub fn new_bitfield_1(
3414        ooo_tag: u32,
3415        be: u32,
3416        update_be: u32,
3417        update_addr: u32,
3418        update_dval: u32,
3419    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3420        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3421        __bindgen_bitfield_unit.set(0usize, 2u8, {
3422            let ooo_tag: u32 = unsafe { ::std::mem::transmute(ooo_tag) };
3423            ooo_tag as u64
3424        });
3425        __bindgen_bitfield_unit.set(2usize, 1u8, {
3426            let be: u32 = unsafe { ::std::mem::transmute(be) };
3427            be as u64
3428        });
3429        __bindgen_bitfield_unit.set(3usize, 1u8, {
3430            let update_be: u32 = unsafe { ::std::mem::transmute(update_be) };
3431            update_be as u64
3432        });
3433        __bindgen_bitfield_unit.set(4usize, 1u8, {
3434            let update_addr: u32 = unsafe { ::std::mem::transmute(update_addr) };
3435            update_addr as u64
3436        });
3437        __bindgen_bitfield_unit.set(5usize, 1u8, {
3438            let update_dval: u32 = unsafe { ::std::mem::transmute(update_dval) };
3439            update_dval as u64
3440        });
3441        __bindgen_bitfield_unit
3442    }
3443}
3444#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3445const _: () = {
3446    ["Size of _etmv3_data_t"][::std::mem::size_of::<_etmv3_data_t>() - 40usize];
3447    ["Alignment of _etmv3_data_t"][::std::mem::align_of::<_etmv3_data_t>() - 8usize];
3448    ["Offset of field: _etmv3_data_t::value"]
3449        [::std::mem::offset_of!(_etmv3_data_t, value) - 0usize];
3450    ["Offset of field: _etmv3_data_t::addr"][::std::mem::offset_of!(_etmv3_data_t, addr) - 8usize];
3451};
3452pub type etmv3_data_t = _etmv3_data_t;
3453#[repr(C)]
3454#[derive(Debug, Copy, Clone)]
3455pub struct _etmv3_isync_t {
3456    pub reason: ocsd_iSync_reason,
3457    pub __bindgen_anon_1: _etmv3_isync_t__bindgen_ty_1,
3458}
3459#[repr(C)]
3460#[repr(align(4))]
3461#[derive(Debug, Copy, Clone)]
3462pub struct _etmv3_isync_t__bindgen_ty_1 {
3463    pub _bitfield_align_1: [u8; 0],
3464    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
3465    pub __bindgen_padding_0: [u8; 3usize],
3466}
3467#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3468const _: () = {
3469    ["Size of _etmv3_isync_t__bindgen_ty_1"]
3470        [::std::mem::size_of::<_etmv3_isync_t__bindgen_ty_1>() - 4usize];
3471    ["Alignment of _etmv3_isync_t__bindgen_ty_1"]
3472        [::std::mem::align_of::<_etmv3_isync_t__bindgen_ty_1>() - 4usize];
3473};
3474impl _etmv3_isync_t__bindgen_ty_1 {
3475    #[inline]
3476    pub fn has_cycle_count(&self) -> u32 {
3477        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3478    }
3479    #[inline]
3480    pub fn set_has_cycle_count(&mut self, val: u32) {
3481        unsafe {
3482            let val: u32 = ::std::mem::transmute(val);
3483            self._bitfield_1.set(0usize, 1u8, val as u64)
3484        }
3485    }
3486    #[inline]
3487    pub unsafe fn has_cycle_count_raw(this: *const Self) -> u32 {
3488        unsafe {
3489            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3490                ::std::ptr::addr_of!((*this)._bitfield_1),
3491                0usize,
3492                1u8,
3493            ) as u32)
3494        }
3495    }
3496    #[inline]
3497    pub unsafe fn set_has_cycle_count_raw(this: *mut Self, val: u32) {
3498        unsafe {
3499            let val: u32 = ::std::mem::transmute(val);
3500            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3501                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3502                0usize,
3503                1u8,
3504                val as u64,
3505            )
3506        }
3507    }
3508    #[inline]
3509    pub fn has_LSipAddress(&self) -> u32 {
3510        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
3511    }
3512    #[inline]
3513    pub fn set_has_LSipAddress(&mut self, val: u32) {
3514        unsafe {
3515            let val: u32 = ::std::mem::transmute(val);
3516            self._bitfield_1.set(1usize, 1u8, val as u64)
3517        }
3518    }
3519    #[inline]
3520    pub unsafe fn has_LSipAddress_raw(this: *const Self) -> u32 {
3521        unsafe {
3522            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3523                ::std::ptr::addr_of!((*this)._bitfield_1),
3524                1usize,
3525                1u8,
3526            ) as u32)
3527        }
3528    }
3529    #[inline]
3530    pub unsafe fn set_has_LSipAddress_raw(this: *mut Self, val: u32) {
3531        unsafe {
3532            let val: u32 = ::std::mem::transmute(val);
3533            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3534                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3535                1usize,
3536                1u8,
3537                val as u64,
3538            )
3539        }
3540    }
3541    #[inline]
3542    pub fn no_address(&self) -> u32 {
3543        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
3544    }
3545    #[inline]
3546    pub fn set_no_address(&mut self, val: u32) {
3547        unsafe {
3548            let val: u32 = ::std::mem::transmute(val);
3549            self._bitfield_1.set(2usize, 1u8, val as u64)
3550        }
3551    }
3552    #[inline]
3553    pub unsafe fn no_address_raw(this: *const Self) -> u32 {
3554        unsafe {
3555            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
3556                ::std::ptr::addr_of!((*this)._bitfield_1),
3557                2usize,
3558                1u8,
3559            ) as u32)
3560        }
3561    }
3562    #[inline]
3563    pub unsafe fn set_no_address_raw(this: *mut Self, val: u32) {
3564        unsafe {
3565            let val: u32 = ::std::mem::transmute(val);
3566            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
3567                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3568                2usize,
3569                1u8,
3570                val as u64,
3571            )
3572        }
3573    }
3574    #[inline]
3575    pub fn new_bitfield_1(
3576        has_cycle_count: u32,
3577        has_LSipAddress: u32,
3578        no_address: u32,
3579    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
3580        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
3581        __bindgen_bitfield_unit.set(0usize, 1u8, {
3582            let has_cycle_count: u32 = unsafe { ::std::mem::transmute(has_cycle_count) };
3583            has_cycle_count as u64
3584        });
3585        __bindgen_bitfield_unit.set(1usize, 1u8, {
3586            let has_LSipAddress: u32 = unsafe { ::std::mem::transmute(has_LSipAddress) };
3587            has_LSipAddress as u64
3588        });
3589        __bindgen_bitfield_unit.set(2usize, 1u8, {
3590            let no_address: u32 = unsafe { ::std::mem::transmute(no_address) };
3591            no_address as u64
3592        });
3593        __bindgen_bitfield_unit
3594    }
3595}
3596#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3597const _: () = {
3598    ["Size of _etmv3_isync_t"][::std::mem::size_of::<_etmv3_isync_t>() - 8usize];
3599    ["Alignment of _etmv3_isync_t"][::std::mem::align_of::<_etmv3_isync_t>() - 4usize];
3600    ["Offset of field: _etmv3_isync_t::reason"]
3601        [::std::mem::offset_of!(_etmv3_isync_t, reason) - 0usize];
3602};
3603pub type etmv3_isync_t = _etmv3_isync_t;
3604#[repr(C)]
3605#[derive(Debug, Copy, Clone)]
3606pub struct _ocsd_etmv3_pkt {
3607    #[doc = "< Primary packet type."]
3608    pub type_: ocsd_etmv3_pkt_type,
3609    #[doc = "< current ISA"]
3610    pub curr_isa: ocsd_isa,
3611    #[doc = "< ISA in previous packet"]
3612    pub prev_isa: ocsd_isa,
3613    #[doc = "< current context"]
3614    pub context: etmv3_context_t,
3615    #[doc = "< current Addr"]
3616    pub addr: ocsd_pkt_vaddr,
3617    pub isync_info: etmv3_isync_t,
3618    pub exception: ocsd_etmv3_excep,
3619    #[doc = "< atom elements - non zerom number indicates valid atom count"]
3620    pub atom: ocsd_pkt_atom,
3621    #[doc = "< if atom elements, associated phdr format"]
3622    pub p_hdr_fmt: u8,
3623    #[doc = "< cycle count associated with this packet (ETMv3 has counts in atom packets and as individual packets"]
3624    pub cycle_count: u32,
3625    #[doc = "< current timestamp value"]
3626    pub timestamp: u64,
3627    #[doc = "< bits of ts updated this packet (if TS packet)"]
3628    pub ts_update_bits: u8,
3629    #[doc = "< data transfer values"]
3630    pub data: etmv3_data_t,
3631    #[doc = "< Basic packet type if primary type indicates error or incomplete. (header type)"]
3632    pub err_type: ocsd_etmv3_pkt_type,
3633}
3634#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3635const _: () = {
3636    ["Size of _ocsd_etmv3_pkt"][::std::mem::size_of::<_ocsd_etmv3_pkt>() - 152usize];
3637    ["Alignment of _ocsd_etmv3_pkt"][::std::mem::align_of::<_ocsd_etmv3_pkt>() - 8usize];
3638    ["Offset of field: _ocsd_etmv3_pkt::type_"]
3639        [::std::mem::offset_of!(_ocsd_etmv3_pkt, type_) - 0usize];
3640    ["Offset of field: _ocsd_etmv3_pkt::curr_isa"]
3641        [::std::mem::offset_of!(_ocsd_etmv3_pkt, curr_isa) - 4usize];
3642    ["Offset of field: _ocsd_etmv3_pkt::prev_isa"]
3643        [::std::mem::offset_of!(_ocsd_etmv3_pkt, prev_isa) - 8usize];
3644    ["Offset of field: _ocsd_etmv3_pkt::context"]
3645        [::std::mem::offset_of!(_ocsd_etmv3_pkt, context) - 12usize];
3646    ["Offset of field: _ocsd_etmv3_pkt::addr"]
3647        [::std::mem::offset_of!(_ocsd_etmv3_pkt, addr) - 24usize];
3648    ["Offset of field: _ocsd_etmv3_pkt::isync_info"]
3649        [::std::mem::offset_of!(_ocsd_etmv3_pkt, isync_info) - 48usize];
3650    ["Offset of field: _ocsd_etmv3_pkt::exception"]
3651        [::std::mem::offset_of!(_ocsd_etmv3_pkt, exception) - 56usize];
3652    ["Offset of field: _ocsd_etmv3_pkt::atom"]
3653        [::std::mem::offset_of!(_ocsd_etmv3_pkt, atom) - 68usize];
3654    ["Offset of field: _ocsd_etmv3_pkt::p_hdr_fmt"]
3655        [::std::mem::offset_of!(_ocsd_etmv3_pkt, p_hdr_fmt) - 76usize];
3656    ["Offset of field: _ocsd_etmv3_pkt::cycle_count"]
3657        [::std::mem::offset_of!(_ocsd_etmv3_pkt, cycle_count) - 80usize];
3658    ["Offset of field: _ocsd_etmv3_pkt::timestamp"]
3659        [::std::mem::offset_of!(_ocsd_etmv3_pkt, timestamp) - 88usize];
3660    ["Offset of field: _ocsd_etmv3_pkt::ts_update_bits"]
3661        [::std::mem::offset_of!(_ocsd_etmv3_pkt, ts_update_bits) - 96usize];
3662    ["Offset of field: _ocsd_etmv3_pkt::data"]
3663        [::std::mem::offset_of!(_ocsd_etmv3_pkt, data) - 104usize];
3664    ["Offset of field: _ocsd_etmv3_pkt::err_type"]
3665        [::std::mem::offset_of!(_ocsd_etmv3_pkt, err_type) - 144usize];
3666};
3667pub type ocsd_etmv3_pkt = _ocsd_etmv3_pkt;
3668#[repr(C)]
3669#[derive(Debug, Copy, Clone)]
3670pub struct _ocsd_etmv3_cfg {
3671    #[doc = "< ID register"]
3672    pub reg_idr: u32,
3673    #[doc = "< Control Register"]
3674    pub reg_ctrl: u32,
3675    #[doc = "< CCER register"]
3676    pub reg_ccer: u32,
3677    #[doc = "< Trace Stream ID register"]
3678    pub reg_trc_id: u32,
3679    #[doc = "< Architecture version"]
3680    pub arch_ver: ocsd_arch_version_t,
3681    #[doc = "< Core Profile"]
3682    pub core_prof: ocsd_core_profile_t,
3683}
3684#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3685const _: () = {
3686    ["Size of _ocsd_etmv3_cfg"][::std::mem::size_of::<_ocsd_etmv3_cfg>() - 24usize];
3687    ["Alignment of _ocsd_etmv3_cfg"][::std::mem::align_of::<_ocsd_etmv3_cfg>() - 4usize];
3688    ["Offset of field: _ocsd_etmv3_cfg::reg_idr"]
3689        [::std::mem::offset_of!(_ocsd_etmv3_cfg, reg_idr) - 0usize];
3690    ["Offset of field: _ocsd_etmv3_cfg::reg_ctrl"]
3691        [::std::mem::offset_of!(_ocsd_etmv3_cfg, reg_ctrl) - 4usize];
3692    ["Offset of field: _ocsd_etmv3_cfg::reg_ccer"]
3693        [::std::mem::offset_of!(_ocsd_etmv3_cfg, reg_ccer) - 8usize];
3694    ["Offset of field: _ocsd_etmv3_cfg::reg_trc_id"]
3695        [::std::mem::offset_of!(_ocsd_etmv3_cfg, reg_trc_id) - 12usize];
3696    ["Offset of field: _ocsd_etmv3_cfg::arch_ver"]
3697        [::std::mem::offset_of!(_ocsd_etmv3_cfg, arch_ver) - 16usize];
3698    ["Offset of field: _ocsd_etmv3_cfg::core_prof"]
3699        [::std::mem::offset_of!(_ocsd_etmv3_cfg, core_prof) - 20usize];
3700};
3701pub type ocsd_etmv3_cfg = _ocsd_etmv3_cfg;
3702#[doc = "< no sync found yet."]
3703pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_NOTSYNC: _ocsd_etmv4_i_pkt_type = 512;
3704#[doc = "< flushing incomplete/empty packet at end of trace."]
3705pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_INCOMPLETE_EOT: _ocsd_etmv4_i_pkt_type = 513;
3706#[doc = "< error type not set for packet."]
3707pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_NO_ERR_TYPE: _ocsd_etmv4_i_pkt_type = 514;
3708#[doc = "< invalid sequence for packet type."]
3709pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_BAD_SEQUENCE: _ocsd_etmv4_i_pkt_type = 768;
3710#[doc = "< invalid packet type for this trace mode."]
3711pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_BAD_TRACEMODE: _ocsd_etmv4_i_pkt_type = 769;
3712#[doc = "< packet type reserved."]
3713pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_RESERVED: _ocsd_etmv4_i_pkt_type = 770;
3714#[doc = "< packet type reserved for current configuration"]
3715pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_RESERVED_CFG: _ocsd_etmv4_i_pkt_type = 771;
3716#[doc = "< b00000000"]
3717pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_EXTENSION: _ocsd_etmv4_i_pkt_type = 0;
3718#[doc = "< b00000001"]
3719pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_TRACE_INFO: _ocsd_etmv4_i_pkt_type = 1;
3720#[doc = "< b0000001x"]
3721pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_TIMESTAMP: _ocsd_etmv4_i_pkt_type = 2;
3722#[doc = "< b00000100"]
3723pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_TRACE_ON: _ocsd_etmv4_i_pkt_type = 4;
3724#[doc = "< b00000101 (V8M only)"]
3725pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_FUNC_RET: _ocsd_etmv4_i_pkt_type = 5;
3726#[doc = "< b00000110"]
3727pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_EXCEPT: _ocsd_etmv4_i_pkt_type = 6;
3728#[doc = "< b00000111 (ETE invalid)"]
3729pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_EXCEPT_RTN: _ocsd_etmv4_i_pkt_type = 7;
3730pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_ITE: _ocsd_etmv4_i_pkt_type = 9;
3731#[doc = "  b00001001 (ETE only)"]
3732pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_TRANS_ST: _ocsd_etmv4_i_pkt_type = 10;
3733#[doc = "  b00001010 (ETE only)"]
3734pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_TRANS_COMMIT: _ocsd_etmv4_i_pkt_type = 11;
3735#[doc = "< b0000110x"]
3736pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_CCNT_F2: _ocsd_etmv4_i_pkt_type = 12;
3737#[doc = "< b0000111x"]
3738pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_CCNT_F1: _ocsd_etmv4_i_pkt_type = 14;
3739#[doc = "< b0001xxxx"]
3740pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_CCNT_F3: _ocsd_etmv4_i_pkt_type = 16;
3741#[doc = "< b00100xxx"]
3742pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_NUM_DS_MKR: _ocsd_etmv4_i_pkt_type = 32;
3743#[doc = "< b00101000 to b00101100 0x2C"]
3744pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_UNNUM_DS_MKR: _ocsd_etmv4_i_pkt_type = 40;
3745#[doc = "< b00101101"]
3746pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_COMMIT: _ocsd_etmv4_i_pkt_type = 45;
3747#[doc = "< b00101110"]
3748pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_CANCEL_F1: _ocsd_etmv4_i_pkt_type = 46;
3749#[doc = "< b00101111"]
3750pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_CANCEL_F1_MISPRED: _ocsd_etmv4_i_pkt_type = 47;
3751#[doc = "< b001100xx"]
3752pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_MISPREDICT: _ocsd_etmv4_i_pkt_type = 48;
3753#[doc = "< b001101xx"]
3754pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_CANCEL_F2: _ocsd_etmv4_i_pkt_type = 52;
3755#[doc = "< b00111xxx"]
3756pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_CANCEL_F3: _ocsd_etmv4_i_pkt_type = 56;
3757#[doc = "< b01000000 - b01000010"]
3758pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_COND_I_F2: _ocsd_etmv4_i_pkt_type = 64;
3759#[doc = "< b01000011"]
3760pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_COND_FLUSH: _ocsd_etmv4_i_pkt_type = 67;
3761#[doc = "< b0100010x, b01000110"]
3762pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_COND_RES_F4: _ocsd_etmv4_i_pkt_type = 68;
3763#[doc = "< b0100100x, b01001010, b0100110x, b01001110"]
3764pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_COND_RES_F2: _ocsd_etmv4_i_pkt_type = 72;
3765#[doc = "< b0101xxxx"]
3766pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_COND_RES_F3: _ocsd_etmv4_i_pkt_type = 80;
3767#[doc = "< b011010xx, b0110111x  0x68-0x6B, 0x6e-0x6F"]
3768pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_COND_RES_F1: _ocsd_etmv4_i_pkt_type = 104;
3769#[doc = "< b01101100"]
3770pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_COND_I_F1: _ocsd_etmv4_i_pkt_type = 108;
3771#[doc = "< b01101101"]
3772pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_COND_I_F3: _ocsd_etmv4_i_pkt_type = 109;
3773#[doc = "< b01110000"]
3774pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_IGNORE: _ocsd_etmv4_i_pkt_type = 112;
3775#[doc = "< b01110001 to 0x01111111 0x7F"]
3776pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_EVENT: _ocsd_etmv4_i_pkt_type = 113;
3777#[doc = "< b1000000x"]
3778pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_CTXT: _ocsd_etmv4_i_pkt_type = 128;
3779#[doc = "< b10000010"]
3780pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_CTXT_L_32IS0: _ocsd_etmv4_i_pkt_type = 130;
3781#[doc = "< b10000011"]
3782pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_CTXT_L_32IS1: _ocsd_etmv4_i_pkt_type = 131;
3783#[doc = "< b10000101"]
3784pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_CTXT_L_64IS0: _ocsd_etmv4_i_pkt_type = 133;
3785#[doc = "< b10000110"]
3786pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_CTXT_L_64IS1: _ocsd_etmv4_i_pkt_type = 134;
3787#[doc = "< b10001000"]
3788pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_TS_MARKER: _ocsd_etmv4_i_pkt_type = 136;
3789#[doc = "< b10010000 to b10010010 0x92"]
3790pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_MATCH: _ocsd_etmv4_i_pkt_type = 144;
3791#[doc = "< b10010101"]
3792pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_S_IS0: _ocsd_etmv4_i_pkt_type = 149;
3793#[doc = "< b10010110"]
3794pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_S_IS1: _ocsd_etmv4_i_pkt_type = 150;
3795#[doc = "< b10011010"]
3796pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_L_32IS0: _ocsd_etmv4_i_pkt_type = 154;
3797#[doc = "< b10011011"]
3798pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_L_32IS1: _ocsd_etmv4_i_pkt_type = 155;
3799#[doc = "< b10011101"]
3800pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_L_64IS0: _ocsd_etmv4_i_pkt_type = 157;
3801#[doc = "< b10011110"]
3802pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ADDR_L_64IS1: _ocsd_etmv4_i_pkt_type = 158;
3803#[doc = "< b1010xxxx"]
3804pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_Q: _ocsd_etmv4_i_pkt_type = 160;
3805#[doc = "< b101100xx"]
3806pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_SRC_ADDR_MATCH: _ocsd_etmv4_i_pkt_type = 176;
3807#[doc = "< b10110100"]
3808pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_SRC_ADDR_S_IS0: _ocsd_etmv4_i_pkt_type = 180;
3809#[doc = "< b10110101"]
3810pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_SRC_ADDR_S_IS1: _ocsd_etmv4_i_pkt_type = 181;
3811#[doc = "< b10110110"]
3812pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_SRC_ADDR_L_32IS0: _ocsd_etmv4_i_pkt_type = 182;
3813#[doc = "< b10110111"]
3814pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_SRC_ADDR_L_32IS1: _ocsd_etmv4_i_pkt_type = 183;
3815#[doc = "< b10111000"]
3816pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_SRC_ADDR_L_64IS0: _ocsd_etmv4_i_pkt_type = 184;
3817#[doc = "< b10111001"]
3818pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_SRC_ADDR_L_64IS1: _ocsd_etmv4_i_pkt_type = 185;
3819#[doc = "< b11000000 - b11010100 0xC0 - 0xD4, b11100000 - b11110100 0xE0 - 0xF4"]
3820pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ATOM_F6: _ocsd_etmv4_i_pkt_type = 192;
3821#[doc = "< b11010101 - b11010111 0xD5 - 0xD7, b11110101 0xF5"]
3822pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ATOM_F5: _ocsd_etmv4_i_pkt_type = 213;
3823#[doc = "< b110110xx to 0xDB"]
3824pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ATOM_F2: _ocsd_etmv4_i_pkt_type = 216;
3825#[doc = "< b110111xx to 0xDF"]
3826pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ATOM_F4: _ocsd_etmv4_i_pkt_type = 220;
3827#[doc = "< b1111011x to 0xF7"]
3828pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ATOM_F1: _ocsd_etmv4_i_pkt_type = 246;
3829#[doc = "< b11111xxx to 0xFF"]
3830pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ATOM_F3: _ocsd_etmv4_i_pkt_type = 248;
3831#[doc = "!< b00000000"]
3832pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_ASYNC: _ocsd_etmv4_i_pkt_type = 256;
3833#[doc = "!< b00000011"]
3834pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_DISCARD: _ocsd_etmv4_i_pkt_type = 259;
3835#[doc = "!< b00000101"]
3836pub const _ocsd_etmv4_i_pkt_type_ETM4_PKT_I_OVERFLOW: _ocsd_etmv4_i_pkt_type = 261;
3837pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_PE_RESET: _ocsd_etmv4_i_pkt_type = 1024;
3838pub const _ocsd_etmv4_i_pkt_type_ETE_PKT_I_TRANS_FAIL: _ocsd_etmv4_i_pkt_type = 1025;
3839#[doc = " I stream packets."]
3840pub type _ocsd_etmv4_i_pkt_type = ::std::os::raw::c_uint;
3841#[doc = " I stream packets."]
3842pub use self::_ocsd_etmv4_i_pkt_type as ocsd_etmv4_i_pkt_type;
3843#[repr(C)]
3844#[derive(Copy, Clone)]
3845pub union _etmv4_trace_info_t {
3846    #[doc = "!< trace info full value."]
3847    pub val: u32,
3848    #[doc = "!< bitfields for trace info value."]
3849    pub bits: _etmv4_trace_info_t__bindgen_ty_1,
3850}
3851#[repr(C)]
3852#[repr(align(4))]
3853#[derive(Debug, Copy, Clone)]
3854pub struct _etmv4_trace_info_t__bindgen_ty_1 {
3855    pub _bitfield_align_1: [u16; 0],
3856    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 3usize]>,
3857}
3858#[allow(clippy::unnecessary_operation, clippy::identity_op)]
3859const _: () = {
3860    ["Size of _etmv4_trace_info_t__bindgen_ty_1"]
3861        [::std::mem::size_of::<_etmv4_trace_info_t__bindgen_ty_1>() - 4usize];
3862    ["Alignment of _etmv4_trace_info_t__bindgen_ty_1"]
3863        [::std::mem::align_of::<_etmv4_trace_info_t__bindgen_ty_1>() - 4usize];
3864};
3865impl _etmv4_trace_info_t__bindgen_ty_1 {
3866    #[inline]
3867    pub fn cc_enabled(&self) -> u32 {
3868        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
3869    }
3870    #[inline]
3871    pub fn set_cc_enabled(&mut self, val: u32) {
3872        unsafe {
3873            let val: u32 = ::std::mem::transmute(val);
3874            self._bitfield_1.set(0usize, 1u8, val as u64)
3875        }
3876    }
3877    #[inline]
3878    pub unsafe fn cc_enabled_raw(this: *const Self) -> u32 {
3879        unsafe {
3880            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
3881                ::std::ptr::addr_of!((*this)._bitfield_1),
3882                0usize,
3883                1u8,
3884            ) as u32)
3885        }
3886    }
3887    #[inline]
3888    pub unsafe fn set_cc_enabled_raw(this: *mut Self, val: u32) {
3889        unsafe {
3890            let val: u32 = ::std::mem::transmute(val);
3891            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
3892                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3893                0usize,
3894                1u8,
3895                val as u64,
3896            )
3897        }
3898    }
3899    #[inline]
3900    pub fn cond_enabled(&self) -> u32 {
3901        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 3u8) as u32) }
3902    }
3903    #[inline]
3904    pub fn set_cond_enabled(&mut self, val: u32) {
3905        unsafe {
3906            let val: u32 = ::std::mem::transmute(val);
3907            self._bitfield_1.set(1usize, 3u8, val as u64)
3908        }
3909    }
3910    #[inline]
3911    pub unsafe fn cond_enabled_raw(this: *const Self) -> u32 {
3912        unsafe {
3913            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
3914                ::std::ptr::addr_of!((*this)._bitfield_1),
3915                1usize,
3916                3u8,
3917            ) as u32)
3918        }
3919    }
3920    #[inline]
3921    pub unsafe fn set_cond_enabled_raw(this: *mut Self, val: u32) {
3922        unsafe {
3923            let val: u32 = ::std::mem::transmute(val);
3924            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
3925                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3926                1usize,
3927                3u8,
3928                val as u64,
3929            )
3930        }
3931    }
3932    #[inline]
3933    pub fn p0_load(&self) -> u32 {
3934        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
3935    }
3936    #[inline]
3937    pub fn set_p0_load(&mut self, val: u32) {
3938        unsafe {
3939            let val: u32 = ::std::mem::transmute(val);
3940            self._bitfield_1.set(4usize, 1u8, val as u64)
3941        }
3942    }
3943    #[inline]
3944    pub unsafe fn p0_load_raw(this: *const Self) -> u32 {
3945        unsafe {
3946            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
3947                ::std::ptr::addr_of!((*this)._bitfield_1),
3948                4usize,
3949                1u8,
3950            ) as u32)
3951        }
3952    }
3953    #[inline]
3954    pub unsafe fn set_p0_load_raw(this: *mut Self, val: u32) {
3955        unsafe {
3956            let val: u32 = ::std::mem::transmute(val);
3957            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
3958                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3959                4usize,
3960                1u8,
3961                val as u64,
3962            )
3963        }
3964    }
3965    #[inline]
3966    pub fn p0_store(&self) -> u32 {
3967        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
3968    }
3969    #[inline]
3970    pub fn set_p0_store(&mut self, val: u32) {
3971        unsafe {
3972            let val: u32 = ::std::mem::transmute(val);
3973            self._bitfield_1.set(5usize, 1u8, val as u64)
3974        }
3975    }
3976    #[inline]
3977    pub unsafe fn p0_store_raw(this: *const Self) -> u32 {
3978        unsafe {
3979            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
3980                ::std::ptr::addr_of!((*this)._bitfield_1),
3981                5usize,
3982                1u8,
3983            ) as u32)
3984        }
3985    }
3986    #[inline]
3987    pub unsafe fn set_p0_store_raw(this: *mut Self, val: u32) {
3988        unsafe {
3989            let val: u32 = ::std::mem::transmute(val);
3990            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
3991                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
3992                5usize,
3993                1u8,
3994                val as u64,
3995            )
3996        }
3997    }
3998    #[inline]
3999    pub fn in_trans_state(&self) -> u32 {
4000        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
4001    }
4002    #[inline]
4003    pub fn set_in_trans_state(&mut self, val: u32) {
4004        unsafe {
4005            let val: u32 = ::std::mem::transmute(val);
4006            self._bitfield_1.set(6usize, 1u8, val as u64)
4007        }
4008    }
4009    #[inline]
4010    pub unsafe fn in_trans_state_raw(this: *const Self) -> u32 {
4011        unsafe {
4012            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4013                ::std::ptr::addr_of!((*this)._bitfield_1),
4014                6usize,
4015                1u8,
4016            ) as u32)
4017        }
4018    }
4019    #[inline]
4020    pub unsafe fn set_in_trans_state_raw(this: *mut Self, val: u32) {
4021        unsafe {
4022            let val: u32 = ::std::mem::transmute(val);
4023            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4024                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4025                6usize,
4026                1u8,
4027                val as u64,
4028            )
4029        }
4030    }
4031    #[inline]
4032    pub fn pad(&self) -> u32 {
4033        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 9u8) as u32) }
4034    }
4035    #[inline]
4036    pub fn set_pad(&mut self, val: u32) {
4037        unsafe {
4038            let val: u32 = ::std::mem::transmute(val);
4039            self._bitfield_1.set(7usize, 9u8, val as u64)
4040        }
4041    }
4042    #[inline]
4043    pub unsafe fn pad_raw(this: *const Self) -> u32 {
4044        unsafe {
4045            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4046                ::std::ptr::addr_of!((*this)._bitfield_1),
4047                7usize,
4048                9u8,
4049            ) as u32)
4050        }
4051    }
4052    #[inline]
4053    pub unsafe fn set_pad_raw(this: *mut Self, val: u32) {
4054        unsafe {
4055            let val: u32 = ::std::mem::transmute(val);
4056            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4057                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4058                7usize,
4059                9u8,
4060                val as u64,
4061            )
4062        }
4063    }
4064    #[inline]
4065    pub fn initial_t_info(&self) -> u32 {
4066        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 1u8) as u32) }
4067    }
4068    #[inline]
4069    pub fn set_initial_t_info(&mut self, val: u32) {
4070        unsafe {
4071            let val: u32 = ::std::mem::transmute(val);
4072            self._bitfield_1.set(16usize, 1u8, val as u64)
4073        }
4074    }
4075    #[inline]
4076    pub unsafe fn initial_t_info_raw(this: *const Self) -> u32 {
4077        unsafe {
4078            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4079                ::std::ptr::addr_of!((*this)._bitfield_1),
4080                16usize,
4081                1u8,
4082            ) as u32)
4083        }
4084    }
4085    #[inline]
4086    pub unsafe fn set_initial_t_info_raw(this: *mut Self, val: u32) {
4087        unsafe {
4088            let val: u32 = ::std::mem::transmute(val);
4089            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4090                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4091                16usize,
4092                1u8,
4093                val as u64,
4094            )
4095        }
4096    }
4097    #[inline]
4098    pub fn spec_field_present(&self) -> u32 {
4099        unsafe { ::std::mem::transmute(self._bitfield_1.get(17usize, 1u8) as u32) }
4100    }
4101    #[inline]
4102    pub fn set_spec_field_present(&mut self, val: u32) {
4103        unsafe {
4104            let val: u32 = ::std::mem::transmute(val);
4105            self._bitfield_1.set(17usize, 1u8, val as u64)
4106        }
4107    }
4108    #[inline]
4109    pub unsafe fn spec_field_present_raw(this: *const Self) -> u32 {
4110        unsafe {
4111            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 3usize]>>::raw_get(
4112                ::std::ptr::addr_of!((*this)._bitfield_1),
4113                17usize,
4114                1u8,
4115            ) as u32)
4116        }
4117    }
4118    #[inline]
4119    pub unsafe fn set_spec_field_present_raw(this: *mut Self, val: u32) {
4120        unsafe {
4121            let val: u32 = ::std::mem::transmute(val);
4122            <__BindgenBitfieldUnit<[u8; 3usize]>>::raw_set(
4123                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4124                17usize,
4125                1u8,
4126                val as u64,
4127            )
4128        }
4129    }
4130    #[inline]
4131    pub fn new_bitfield_1(
4132        cc_enabled: u32,
4133        cond_enabled: u32,
4134        p0_load: u32,
4135        p0_store: u32,
4136        in_trans_state: u32,
4137        pad: u32,
4138        initial_t_info: u32,
4139        spec_field_present: u32,
4140    ) -> __BindgenBitfieldUnit<[u8; 3usize]> {
4141        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 3usize]> = Default::default();
4142        __bindgen_bitfield_unit.set(0usize, 1u8, {
4143            let cc_enabled: u32 = unsafe { ::std::mem::transmute(cc_enabled) };
4144            cc_enabled as u64
4145        });
4146        __bindgen_bitfield_unit.set(1usize, 3u8, {
4147            let cond_enabled: u32 = unsafe { ::std::mem::transmute(cond_enabled) };
4148            cond_enabled as u64
4149        });
4150        __bindgen_bitfield_unit.set(4usize, 1u8, {
4151            let p0_load: u32 = unsafe { ::std::mem::transmute(p0_load) };
4152            p0_load as u64
4153        });
4154        __bindgen_bitfield_unit.set(5usize, 1u8, {
4155            let p0_store: u32 = unsafe { ::std::mem::transmute(p0_store) };
4156            p0_store as u64
4157        });
4158        __bindgen_bitfield_unit.set(6usize, 1u8, {
4159            let in_trans_state: u32 = unsafe { ::std::mem::transmute(in_trans_state) };
4160            in_trans_state as u64
4161        });
4162        __bindgen_bitfield_unit.set(7usize, 9u8, {
4163            let pad: u32 = unsafe { ::std::mem::transmute(pad) };
4164            pad as u64
4165        });
4166        __bindgen_bitfield_unit.set(16usize, 1u8, {
4167            let initial_t_info: u32 = unsafe { ::std::mem::transmute(initial_t_info) };
4168            initial_t_info as u64
4169        });
4170        __bindgen_bitfield_unit.set(17usize, 1u8, {
4171            let spec_field_present: u32 = unsafe { ::std::mem::transmute(spec_field_present) };
4172            spec_field_present as u64
4173        });
4174        __bindgen_bitfield_unit
4175    }
4176}
4177#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4178const _: () = {
4179    ["Size of _etmv4_trace_info_t"][::std::mem::size_of::<_etmv4_trace_info_t>() - 4usize];
4180    ["Alignment of _etmv4_trace_info_t"][::std::mem::align_of::<_etmv4_trace_info_t>() - 4usize];
4181    ["Offset of field: _etmv4_trace_info_t::val"]
4182        [::std::mem::offset_of!(_etmv4_trace_info_t, val) - 0usize];
4183    ["Offset of field: _etmv4_trace_info_t::bits"]
4184        [::std::mem::offset_of!(_etmv4_trace_info_t, bits) - 0usize];
4185};
4186pub type etmv4_trace_info_t = _etmv4_trace_info_t;
4187#[repr(C)]
4188#[derive(Debug, Copy, Clone)]
4189pub struct _etmv4_context_t {
4190    pub __bindgen_anon_1: _etmv4_context_t__bindgen_ty_1,
4191    #[doc = "!< Current ctxtID"]
4192    pub ctxtID: u32,
4193    #[doc = "!< current VMID"]
4194    pub VMID: u32,
4195}
4196#[repr(C)]
4197#[repr(align(4))]
4198#[derive(Debug, Copy, Clone)]
4199pub struct _etmv4_context_t__bindgen_ty_1 {
4200    pub _bitfield_align_1: [u8; 0],
4201    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
4202    pub __bindgen_padding_0: [u8; 3usize],
4203}
4204#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4205const _: () = {
4206    ["Size of _etmv4_context_t__bindgen_ty_1"]
4207        [::std::mem::size_of::<_etmv4_context_t__bindgen_ty_1>() - 4usize];
4208    ["Alignment of _etmv4_context_t__bindgen_ty_1"]
4209        [::std::mem::align_of::<_etmv4_context_t__bindgen_ty_1>() - 4usize];
4210};
4211impl _etmv4_context_t__bindgen_ty_1 {
4212    #[inline]
4213    pub fn EL(&self) -> u32 {
4214        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 2u8) as u32) }
4215    }
4216    #[inline]
4217    pub fn set_EL(&mut self, val: u32) {
4218        unsafe {
4219            let val: u32 = ::std::mem::transmute(val);
4220            self._bitfield_1.set(0usize, 2u8, val as u64)
4221        }
4222    }
4223    #[inline]
4224    pub unsafe fn EL_raw(this: *const Self) -> u32 {
4225        unsafe {
4226            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4227                ::std::ptr::addr_of!((*this)._bitfield_1),
4228                0usize,
4229                2u8,
4230            ) as u32)
4231        }
4232    }
4233    #[inline]
4234    pub unsafe fn set_EL_raw(this: *mut Self, val: u32) {
4235        unsafe {
4236            let val: u32 = ::std::mem::transmute(val);
4237            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4238                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4239                0usize,
4240                2u8,
4241                val as u64,
4242            )
4243        }
4244    }
4245    #[inline]
4246    pub fn SF(&self) -> u32 {
4247        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
4248    }
4249    #[inline]
4250    pub fn set_SF(&mut self, val: u32) {
4251        unsafe {
4252            let val: u32 = ::std::mem::transmute(val);
4253            self._bitfield_1.set(2usize, 1u8, val as u64)
4254        }
4255    }
4256    #[inline]
4257    pub unsafe fn SF_raw(this: *const Self) -> u32 {
4258        unsafe {
4259            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4260                ::std::ptr::addr_of!((*this)._bitfield_1),
4261                2usize,
4262                1u8,
4263            ) as u32)
4264        }
4265    }
4266    #[inline]
4267    pub unsafe fn set_SF_raw(this: *mut Self, val: u32) {
4268        unsafe {
4269            let val: u32 = ::std::mem::transmute(val);
4270            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4271                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4272                2usize,
4273                1u8,
4274                val as u64,
4275            )
4276        }
4277    }
4278    #[inline]
4279    pub fn NS(&self) -> u32 {
4280        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
4281    }
4282    #[inline]
4283    pub fn set_NS(&mut self, val: u32) {
4284        unsafe {
4285            let val: u32 = ::std::mem::transmute(val);
4286            self._bitfield_1.set(3usize, 1u8, val as u64)
4287        }
4288    }
4289    #[inline]
4290    pub unsafe fn NS_raw(this: *const Self) -> u32 {
4291        unsafe {
4292            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4293                ::std::ptr::addr_of!((*this)._bitfield_1),
4294                3usize,
4295                1u8,
4296            ) as u32)
4297        }
4298    }
4299    #[inline]
4300    pub unsafe fn set_NS_raw(this: *mut Self, val: u32) {
4301        unsafe {
4302            let val: u32 = ::std::mem::transmute(val);
4303            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4304                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4305                3usize,
4306                1u8,
4307                val as u64,
4308            )
4309        }
4310    }
4311    #[inline]
4312    pub fn updated(&self) -> u32 {
4313        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
4314    }
4315    #[inline]
4316    pub fn set_updated(&mut self, val: u32) {
4317        unsafe {
4318            let val: u32 = ::std::mem::transmute(val);
4319            self._bitfield_1.set(4usize, 1u8, val as u64)
4320        }
4321    }
4322    #[inline]
4323    pub unsafe fn updated_raw(this: *const Self) -> u32 {
4324        unsafe {
4325            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4326                ::std::ptr::addr_of!((*this)._bitfield_1),
4327                4usize,
4328                1u8,
4329            ) as u32)
4330        }
4331    }
4332    #[inline]
4333    pub unsafe fn set_updated_raw(this: *mut Self, val: u32) {
4334        unsafe {
4335            let val: u32 = ::std::mem::transmute(val);
4336            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4337                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4338                4usize,
4339                1u8,
4340                val as u64,
4341            )
4342        }
4343    }
4344    #[inline]
4345    pub fn updated_c(&self) -> u32 {
4346        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
4347    }
4348    #[inline]
4349    pub fn set_updated_c(&mut self, val: u32) {
4350        unsafe {
4351            let val: u32 = ::std::mem::transmute(val);
4352            self._bitfield_1.set(5usize, 1u8, val as u64)
4353        }
4354    }
4355    #[inline]
4356    pub unsafe fn updated_c_raw(this: *const Self) -> u32 {
4357        unsafe {
4358            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4359                ::std::ptr::addr_of!((*this)._bitfield_1),
4360                5usize,
4361                1u8,
4362            ) as u32)
4363        }
4364    }
4365    #[inline]
4366    pub unsafe fn set_updated_c_raw(this: *mut Self, val: u32) {
4367        unsafe {
4368            let val: u32 = ::std::mem::transmute(val);
4369            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4370                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4371                5usize,
4372                1u8,
4373                val as u64,
4374            )
4375        }
4376    }
4377    #[inline]
4378    pub fn updated_v(&self) -> u32 {
4379        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
4380    }
4381    #[inline]
4382    pub fn set_updated_v(&mut self, val: u32) {
4383        unsafe {
4384            let val: u32 = ::std::mem::transmute(val);
4385            self._bitfield_1.set(6usize, 1u8, val as u64)
4386        }
4387    }
4388    #[inline]
4389    pub unsafe fn updated_v_raw(this: *const Self) -> u32 {
4390        unsafe {
4391            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4392                ::std::ptr::addr_of!((*this)._bitfield_1),
4393                6usize,
4394                1u8,
4395            ) as u32)
4396        }
4397    }
4398    #[inline]
4399    pub unsafe fn set_updated_v_raw(this: *mut Self, val: u32) {
4400        unsafe {
4401            let val: u32 = ::std::mem::transmute(val);
4402            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4403                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4404                6usize,
4405                1u8,
4406                val as u64,
4407            )
4408        }
4409    }
4410    #[inline]
4411    pub fn NSE(&self) -> u32 {
4412        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
4413    }
4414    #[inline]
4415    pub fn set_NSE(&mut self, val: u32) {
4416        unsafe {
4417            let val: u32 = ::std::mem::transmute(val);
4418            self._bitfield_1.set(7usize, 1u8, val as u64)
4419        }
4420    }
4421    #[inline]
4422    pub unsafe fn NSE_raw(this: *const Self) -> u32 {
4423        unsafe {
4424            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4425                ::std::ptr::addr_of!((*this)._bitfield_1),
4426                7usize,
4427                1u8,
4428            ) as u32)
4429        }
4430    }
4431    #[inline]
4432    pub unsafe fn set_NSE_raw(this: *mut Self, val: u32) {
4433        unsafe {
4434            let val: u32 = ::std::mem::transmute(val);
4435            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4436                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4437                7usize,
4438                1u8,
4439                val as u64,
4440            )
4441        }
4442    }
4443    #[inline]
4444    pub fn new_bitfield_1(
4445        EL: u32,
4446        SF: u32,
4447        NS: u32,
4448        updated: u32,
4449        updated_c: u32,
4450        updated_v: u32,
4451        NSE: u32,
4452    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
4453        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
4454        __bindgen_bitfield_unit.set(0usize, 2u8, {
4455            let EL: u32 = unsafe { ::std::mem::transmute(EL) };
4456            EL as u64
4457        });
4458        __bindgen_bitfield_unit.set(2usize, 1u8, {
4459            let SF: u32 = unsafe { ::std::mem::transmute(SF) };
4460            SF as u64
4461        });
4462        __bindgen_bitfield_unit.set(3usize, 1u8, {
4463            let NS: u32 = unsafe { ::std::mem::transmute(NS) };
4464            NS as u64
4465        });
4466        __bindgen_bitfield_unit.set(4usize, 1u8, {
4467            let updated: u32 = unsafe { ::std::mem::transmute(updated) };
4468            updated as u64
4469        });
4470        __bindgen_bitfield_unit.set(5usize, 1u8, {
4471            let updated_c: u32 = unsafe { ::std::mem::transmute(updated_c) };
4472            updated_c as u64
4473        });
4474        __bindgen_bitfield_unit.set(6usize, 1u8, {
4475            let updated_v: u32 = unsafe { ::std::mem::transmute(updated_v) };
4476            updated_v as u64
4477        });
4478        __bindgen_bitfield_unit.set(7usize, 1u8, {
4479            let NSE: u32 = unsafe { ::std::mem::transmute(NSE) };
4480            NSE as u64
4481        });
4482        __bindgen_bitfield_unit
4483    }
4484}
4485#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4486const _: () = {
4487    ["Size of _etmv4_context_t"][::std::mem::size_of::<_etmv4_context_t>() - 12usize];
4488    ["Alignment of _etmv4_context_t"][::std::mem::align_of::<_etmv4_context_t>() - 4usize];
4489    ["Offset of field: _etmv4_context_t::ctxtID"]
4490        [::std::mem::offset_of!(_etmv4_context_t, ctxtID) - 4usize];
4491    ["Offset of field: _etmv4_context_t::VMID"]
4492        [::std::mem::offset_of!(_etmv4_context_t, VMID) - 8usize];
4493};
4494pub type etmv4_context_t = _etmv4_context_t;
4495#[doc = " a broadcast address value."]
4496#[repr(C)]
4497#[derive(Debug, Copy, Clone)]
4498pub struct _etmv4_addr_val_t {
4499    #[doc = "!< Address value."]
4500    pub val: ocsd_vaddr_t,
4501    #[doc = "!< instruction set."]
4502    pub isa: u8,
4503}
4504#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4505const _: () = {
4506    ["Size of _etmv4_addr_val_t"][::std::mem::size_of::<_etmv4_addr_val_t>() - 16usize];
4507    ["Alignment of _etmv4_addr_val_t"][::std::mem::align_of::<_etmv4_addr_val_t>() - 8usize];
4508    ["Offset of field: _etmv4_addr_val_t::val"]
4509        [::std::mem::offset_of!(_etmv4_addr_val_t, val) - 0usize];
4510    ["Offset of field: _etmv4_addr_val_t::isa"]
4511        [::std::mem::offset_of!(_etmv4_addr_val_t, isa) - 8usize];
4512};
4513#[doc = " a broadcast address value."]
4514pub type etmv4_addr_val_t = _etmv4_addr_val_t;
4515#[repr(C)]
4516#[derive(Copy, Clone)]
4517pub struct _ocsd_etmv4_i_pkt {
4518    #[doc = "< Trace packet type derived from header byte"]
4519    pub type_: ocsd_etmv4_i_pkt_type,
4520    #[doc = "!< most recently broadcast address packet"]
4521    pub v_addr: ocsd_pkt_vaddr,
4522    #[doc = "!< ISA for the address packet. (0 = IS0 / 1 = IS1)"]
4523    pub v_addr_ISA: u8,
4524    #[doc = "!< current context for PE"]
4525    pub context: etmv4_context_t,
4526    pub ts: _ocsd_etmv4_i_pkt__bindgen_ty_1,
4527    #[doc = "!< cycle count threshold - from trace info."]
4528    pub cc_threshold: u32,
4529    #[doc = "!< atom elements - number of atoms indicates validity of packet"]
4530    pub atom: ocsd_pkt_atom,
4531    #[doc = "!< cycle count"]
4532    pub cycle_count: u32,
4533    #[doc = "!< current speculation depth"]
4534    pub curr_spec_depth: u32,
4535    #[doc = "!< current P0 key value for data packet synchronisation"]
4536    pub p0_key: u32,
4537    pub commit_elements: u32,
4538    pub cancel_elements: u32,
4539    #[doc = "!< trace info structure - programmed configuration of trace capture."]
4540    pub trace_info: etmv4_trace_info_t,
4541    pub exception_info: _ocsd_etmv4_i_pkt__bindgen_ty_2,
4542    #[doc = "!< address match index in this packet."]
4543    pub addr_exact_match_idx: u8,
4544    #[doc = "!<  Data Sync Marker number, or unnumbered atom count - packet type determines."]
4545    pub dsm_val: u8,
4546    #[doc = "!< Event value on event packet."]
4547    pub event_val: u8,
4548    pub cond_instr: _ocsd_etmv4_i_pkt__bindgen_ty_3,
4549    pub cond_result: _ocsd_etmv4_i_pkt__bindgen_ty_4,
4550    pub Q_pkt: _ocsd_etmv4_i_pkt__bindgen_ty_5,
4551    pub ite_pkt: _ocsd_etmv4_i_pkt__bindgen_ty_6,
4552    pub pkt_valid: _ocsd_etmv4_i_pkt__bindgen_ty_7,
4553    pub err_type: ocsd_etmv4_i_pkt_type,
4554    pub err_hdr_val: u8,
4555    pub protocol_version: u8,
4556}
4557#[repr(C)]
4558#[derive(Debug, Copy, Clone)]
4559pub struct _ocsd_etmv4_i_pkt__bindgen_ty_1 {
4560    #[doc = "!< current timestamp value"]
4561    pub timestamp: u64,
4562    #[doc = "!< bits updated in this timestamp packet."]
4563    pub bits_changed: u8,
4564}
4565#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4566const _: () = {
4567    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_1"]
4568        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_1>() - 16usize];
4569    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_1"]
4570        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_1>() - 8usize];
4571    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_1::timestamp"]
4572        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_1, timestamp) - 0usize];
4573    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_1::bits_changed"]
4574        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_1, bits_changed) - 8usize];
4575};
4576#[repr(C)]
4577#[repr(align(4))]
4578#[derive(Debug, Copy, Clone)]
4579pub struct _ocsd_etmv4_i_pkt__bindgen_ty_2 {
4580    pub _bitfield_align_1: [u16; 0],
4581    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
4582    pub __bindgen_padding_0: u16,
4583}
4584#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4585const _: () = {
4586    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_2"]
4587        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_2>() - 4usize];
4588    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_2"]
4589        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_2>() - 4usize];
4590};
4591impl _ocsd_etmv4_i_pkt__bindgen_ty_2 {
4592    #[inline]
4593    pub fn exceptionType(&self) -> u32 {
4594        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 10u8) as u32) }
4595    }
4596    #[inline]
4597    pub fn set_exceptionType(&mut self, val: u32) {
4598        unsafe {
4599            let val: u32 = ::std::mem::transmute(val);
4600            self._bitfield_1.set(0usize, 10u8, val as u64)
4601        }
4602    }
4603    #[inline]
4604    pub unsafe fn exceptionType_raw(this: *const Self) -> u32 {
4605        unsafe {
4606            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
4607                ::std::ptr::addr_of!((*this)._bitfield_1),
4608                0usize,
4609                10u8,
4610            ) as u32)
4611        }
4612    }
4613    #[inline]
4614    pub unsafe fn set_exceptionType_raw(this: *mut Self, val: u32) {
4615        unsafe {
4616            let val: u32 = ::std::mem::transmute(val);
4617            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
4618                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4619                0usize,
4620                10u8,
4621                val as u64,
4622            )
4623        }
4624    }
4625    #[inline]
4626    pub fn addr_interp(&self) -> u32 {
4627        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 2u8) as u32) }
4628    }
4629    #[inline]
4630    pub fn set_addr_interp(&mut self, val: u32) {
4631        unsafe {
4632            let val: u32 = ::std::mem::transmute(val);
4633            self._bitfield_1.set(10usize, 2u8, val as u64)
4634        }
4635    }
4636    #[inline]
4637    pub unsafe fn addr_interp_raw(this: *const Self) -> u32 {
4638        unsafe {
4639            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
4640                ::std::ptr::addr_of!((*this)._bitfield_1),
4641                10usize,
4642                2u8,
4643            ) as u32)
4644        }
4645    }
4646    #[inline]
4647    pub unsafe fn set_addr_interp_raw(this: *mut Self, val: u32) {
4648        unsafe {
4649            let val: u32 = ::std::mem::transmute(val);
4650            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
4651                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4652                10usize,
4653                2u8,
4654                val as u64,
4655            )
4656        }
4657    }
4658    #[inline]
4659    pub fn m_fault_pending(&self) -> u32 {
4660        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 1u8) as u32) }
4661    }
4662    #[inline]
4663    pub fn set_m_fault_pending(&mut self, val: u32) {
4664        unsafe {
4665            let val: u32 = ::std::mem::transmute(val);
4666            self._bitfield_1.set(12usize, 1u8, val as u64)
4667        }
4668    }
4669    #[inline]
4670    pub unsafe fn m_fault_pending_raw(this: *const Self) -> u32 {
4671        unsafe {
4672            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
4673                ::std::ptr::addr_of!((*this)._bitfield_1),
4674                12usize,
4675                1u8,
4676            ) as u32)
4677        }
4678    }
4679    #[inline]
4680    pub unsafe fn set_m_fault_pending_raw(this: *mut Self, val: u32) {
4681        unsafe {
4682            let val: u32 = ::std::mem::transmute(val);
4683            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
4684                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4685                12usize,
4686                1u8,
4687                val as u64,
4688            )
4689        }
4690    }
4691    #[inline]
4692    pub fn m_type(&self) -> u32 {
4693        unsafe { ::std::mem::transmute(self._bitfield_1.get(13usize, 1u8) as u32) }
4694    }
4695    #[inline]
4696    pub fn set_m_type(&mut self, val: u32) {
4697        unsafe {
4698            let val: u32 = ::std::mem::transmute(val);
4699            self._bitfield_1.set(13usize, 1u8, val as u64)
4700        }
4701    }
4702    #[inline]
4703    pub unsafe fn m_type_raw(this: *const Self) -> u32 {
4704        unsafe {
4705            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
4706                ::std::ptr::addr_of!((*this)._bitfield_1),
4707                13usize,
4708                1u8,
4709            ) as u32)
4710        }
4711    }
4712    #[inline]
4713    pub unsafe fn set_m_type_raw(this: *mut Self, val: u32) {
4714        unsafe {
4715            let val: u32 = ::std::mem::transmute(val);
4716            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
4717                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4718                13usize,
4719                1u8,
4720                val as u64,
4721            )
4722        }
4723    }
4724    #[inline]
4725    pub fn new_bitfield_1(
4726        exceptionType: u32,
4727        addr_interp: u32,
4728        m_fault_pending: u32,
4729        m_type: u32,
4730    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
4731        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
4732        __bindgen_bitfield_unit.set(0usize, 10u8, {
4733            let exceptionType: u32 = unsafe { ::std::mem::transmute(exceptionType) };
4734            exceptionType as u64
4735        });
4736        __bindgen_bitfield_unit.set(10usize, 2u8, {
4737            let addr_interp: u32 = unsafe { ::std::mem::transmute(addr_interp) };
4738            addr_interp as u64
4739        });
4740        __bindgen_bitfield_unit.set(12usize, 1u8, {
4741            let m_fault_pending: u32 = unsafe { ::std::mem::transmute(m_fault_pending) };
4742            m_fault_pending as u64
4743        });
4744        __bindgen_bitfield_unit.set(13usize, 1u8, {
4745            let m_type: u32 = unsafe { ::std::mem::transmute(m_type) };
4746            m_type as u64
4747        });
4748        __bindgen_bitfield_unit
4749    }
4750}
4751#[repr(C)]
4752#[derive(Debug, Copy, Clone)]
4753pub struct _ocsd_etmv4_i_pkt__bindgen_ty_3 {
4754    pub cond_c_key: u32,
4755    pub num_c_elem: u8,
4756    pub __bindgen_anon_1: _ocsd_etmv4_i_pkt__bindgen_ty_3__bindgen_ty_1,
4757}
4758#[repr(C)]
4759#[repr(align(4))]
4760#[derive(Debug, Copy, Clone)]
4761pub struct _ocsd_etmv4_i_pkt__bindgen_ty_3__bindgen_ty_1 {
4762    pub _bitfield_align_1: [u8; 0],
4763    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
4764    pub __bindgen_padding_0: [u8; 3usize],
4765}
4766#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4767const _: () = {
4768    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_3__bindgen_ty_1"]
4769        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_3__bindgen_ty_1>() - 4usize];
4770    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_3__bindgen_ty_1"]
4771        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_3__bindgen_ty_1>() - 4usize];
4772};
4773impl _ocsd_etmv4_i_pkt__bindgen_ty_3__bindgen_ty_1 {
4774    #[inline]
4775    pub fn cond_key_set(&self) -> u32 {
4776        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
4777    }
4778    #[inline]
4779    pub fn set_cond_key_set(&mut self, val: u32) {
4780        unsafe {
4781            let val: u32 = ::std::mem::transmute(val);
4782            self._bitfield_1.set(0usize, 1u8, val as u64)
4783        }
4784    }
4785    #[inline]
4786    pub unsafe fn cond_key_set_raw(this: *const Self) -> u32 {
4787        unsafe {
4788            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4789                ::std::ptr::addr_of!((*this)._bitfield_1),
4790                0usize,
4791                1u8,
4792            ) as u32)
4793        }
4794    }
4795    #[inline]
4796    pub unsafe fn set_cond_key_set_raw(this: *mut Self, val: u32) {
4797        unsafe {
4798            let val: u32 = ::std::mem::transmute(val);
4799            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4800                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4801                0usize,
4802                1u8,
4803                val as u64,
4804            )
4805        }
4806    }
4807    #[inline]
4808    pub fn f3_final_elem(&self) -> u32 {
4809        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
4810    }
4811    #[inline]
4812    pub fn set_f3_final_elem(&mut self, val: u32) {
4813        unsafe {
4814            let val: u32 = ::std::mem::transmute(val);
4815            self._bitfield_1.set(1usize, 1u8, val as u64)
4816        }
4817    }
4818    #[inline]
4819    pub unsafe fn f3_final_elem_raw(this: *const Self) -> u32 {
4820        unsafe {
4821            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4822                ::std::ptr::addr_of!((*this)._bitfield_1),
4823                1usize,
4824                1u8,
4825            ) as u32)
4826        }
4827    }
4828    #[inline]
4829    pub unsafe fn set_f3_final_elem_raw(this: *mut Self, val: u32) {
4830        unsafe {
4831            let val: u32 = ::std::mem::transmute(val);
4832            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4833                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4834                1usize,
4835                1u8,
4836                val as u64,
4837            )
4838        }
4839    }
4840    #[inline]
4841    pub fn f2_cond_incr(&self) -> u32 {
4842        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
4843    }
4844    #[inline]
4845    pub fn set_f2_cond_incr(&mut self, val: u32) {
4846        unsafe {
4847            let val: u32 = ::std::mem::transmute(val);
4848            self._bitfield_1.set(2usize, 1u8, val as u64)
4849        }
4850    }
4851    #[inline]
4852    pub unsafe fn f2_cond_incr_raw(this: *const Self) -> u32 {
4853        unsafe {
4854            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
4855                ::std::ptr::addr_of!((*this)._bitfield_1),
4856                2usize,
4857                1u8,
4858            ) as u32)
4859        }
4860    }
4861    #[inline]
4862    pub unsafe fn set_f2_cond_incr_raw(this: *mut Self, val: u32) {
4863        unsafe {
4864            let val: u32 = ::std::mem::transmute(val);
4865            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
4866                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4867                2usize,
4868                1u8,
4869                val as u64,
4870            )
4871        }
4872    }
4873    #[inline]
4874    pub fn new_bitfield_1(
4875        cond_key_set: u32,
4876        f3_final_elem: u32,
4877        f2_cond_incr: u32,
4878    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
4879        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
4880        __bindgen_bitfield_unit.set(0usize, 1u8, {
4881            let cond_key_set: u32 = unsafe { ::std::mem::transmute(cond_key_set) };
4882            cond_key_set as u64
4883        });
4884        __bindgen_bitfield_unit.set(1usize, 1u8, {
4885            let f3_final_elem: u32 = unsafe { ::std::mem::transmute(f3_final_elem) };
4886            f3_final_elem as u64
4887        });
4888        __bindgen_bitfield_unit.set(2usize, 1u8, {
4889            let f2_cond_incr: u32 = unsafe { ::std::mem::transmute(f2_cond_incr) };
4890            f2_cond_incr as u64
4891        });
4892        __bindgen_bitfield_unit
4893    }
4894}
4895#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4896const _: () = {
4897    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_3"]
4898        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_3>() - 12usize];
4899    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_3"]
4900        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_3>() - 4usize];
4901    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_3::cond_c_key"]
4902        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_3, cond_c_key) - 0usize];
4903    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_3::num_c_elem"]
4904        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_3, num_c_elem) - 4usize];
4905};
4906#[repr(C)]
4907#[derive(Debug, Copy, Clone)]
4908pub struct _ocsd_etmv4_i_pkt__bindgen_ty_4 {
4909    pub cond_r_key_0: u32,
4910    pub cond_r_key_1: u32,
4911    pub __bindgen_anon_1: _ocsd_etmv4_i_pkt__bindgen_ty_4__bindgen_ty_1,
4912}
4913#[repr(C)]
4914#[repr(align(4))]
4915#[derive(Debug, Copy, Clone)]
4916pub struct _ocsd_etmv4_i_pkt__bindgen_ty_4__bindgen_ty_1 {
4917    pub _bitfield_align_1: [u16; 0],
4918    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 4usize]>,
4919}
4920#[allow(clippy::unnecessary_operation, clippy::identity_op)]
4921const _: () = {
4922    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_4__bindgen_ty_1"]
4923        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_4__bindgen_ty_1>() - 4usize];
4924    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_4__bindgen_ty_1"]
4925        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_4__bindgen_ty_1>() - 4usize];
4926};
4927impl _ocsd_etmv4_i_pkt__bindgen_ty_4__bindgen_ty_1 {
4928    #[inline]
4929    pub fn res_0(&self) -> u32 {
4930        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 4u8) as u32) }
4931    }
4932    #[inline]
4933    pub fn set_res_0(&mut self, val: u32) {
4934        unsafe {
4935            let val: u32 = ::std::mem::transmute(val);
4936            self._bitfield_1.set(0usize, 4u8, val as u64)
4937        }
4938    }
4939    #[inline]
4940    pub unsafe fn res_0_raw(this: *const Self) -> u32 {
4941        unsafe {
4942            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
4943                ::std::ptr::addr_of!((*this)._bitfield_1),
4944                0usize,
4945                4u8,
4946            ) as u32)
4947        }
4948    }
4949    #[inline]
4950    pub unsafe fn set_res_0_raw(this: *mut Self, val: u32) {
4951        unsafe {
4952            let val: u32 = ::std::mem::transmute(val);
4953            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
4954                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4955                0usize,
4956                4u8,
4957                val as u64,
4958            )
4959        }
4960    }
4961    #[inline]
4962    pub fn res_1(&self) -> u32 {
4963        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 4u8) as u32) }
4964    }
4965    #[inline]
4966    pub fn set_res_1(&mut self, val: u32) {
4967        unsafe {
4968            let val: u32 = ::std::mem::transmute(val);
4969            self._bitfield_1.set(4usize, 4u8, val as u64)
4970        }
4971    }
4972    #[inline]
4973    pub unsafe fn res_1_raw(this: *const Self) -> u32 {
4974        unsafe {
4975            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
4976                ::std::ptr::addr_of!((*this)._bitfield_1),
4977                4usize,
4978                4u8,
4979            ) as u32)
4980        }
4981    }
4982    #[inline]
4983    pub unsafe fn set_res_1_raw(this: *mut Self, val: u32) {
4984        unsafe {
4985            let val: u32 = ::std::mem::transmute(val);
4986            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
4987                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
4988                4usize,
4989                4u8,
4990                val as u64,
4991            )
4992        }
4993    }
4994    #[inline]
4995    pub fn ci_0(&self) -> u32 {
4996        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
4997    }
4998    #[inline]
4999    pub fn set_ci_0(&mut self, val: u32) {
5000        unsafe {
5001            let val: u32 = ::std::mem::transmute(val);
5002            self._bitfield_1.set(8usize, 1u8, val as u64)
5003        }
5004    }
5005    #[inline]
5006    pub unsafe fn ci_0_raw(this: *const Self) -> u32 {
5007        unsafe {
5008            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
5009                ::std::ptr::addr_of!((*this)._bitfield_1),
5010                8usize,
5011                1u8,
5012            ) as u32)
5013        }
5014    }
5015    #[inline]
5016    pub unsafe fn set_ci_0_raw(this: *mut Self, val: u32) {
5017        unsafe {
5018            let val: u32 = ::std::mem::transmute(val);
5019            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
5020                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5021                8usize,
5022                1u8,
5023                val as u64,
5024            )
5025        }
5026    }
5027    #[inline]
5028    pub fn ci_1(&self) -> u32 {
5029        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
5030    }
5031    #[inline]
5032    pub fn set_ci_1(&mut self, val: u32) {
5033        unsafe {
5034            let val: u32 = ::std::mem::transmute(val);
5035            self._bitfield_1.set(9usize, 1u8, val as u64)
5036        }
5037    }
5038    #[inline]
5039    pub unsafe fn ci_1_raw(this: *const Self) -> u32 {
5040        unsafe {
5041            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
5042                ::std::ptr::addr_of!((*this)._bitfield_1),
5043                9usize,
5044                1u8,
5045            ) as u32)
5046        }
5047    }
5048    #[inline]
5049    pub unsafe fn set_ci_1_raw(this: *mut Self, val: u32) {
5050        unsafe {
5051            let val: u32 = ::std::mem::transmute(val);
5052            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
5053                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5054                9usize,
5055                1u8,
5056                val as u64,
5057            )
5058        }
5059    }
5060    #[inline]
5061    pub fn key_res_0_set(&self) -> u32 {
5062        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
5063    }
5064    #[inline]
5065    pub fn set_key_res_0_set(&mut self, val: u32) {
5066        unsafe {
5067            let val: u32 = ::std::mem::transmute(val);
5068            self._bitfield_1.set(10usize, 1u8, val as u64)
5069        }
5070    }
5071    #[inline]
5072    pub unsafe fn key_res_0_set_raw(this: *const Self) -> u32 {
5073        unsafe {
5074            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
5075                ::std::ptr::addr_of!((*this)._bitfield_1),
5076                10usize,
5077                1u8,
5078            ) as u32)
5079        }
5080    }
5081    #[inline]
5082    pub unsafe fn set_key_res_0_set_raw(this: *mut Self, val: u32) {
5083        unsafe {
5084            let val: u32 = ::std::mem::transmute(val);
5085            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
5086                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5087                10usize,
5088                1u8,
5089                val as u64,
5090            )
5091        }
5092    }
5093    #[inline]
5094    pub fn key_res_1_set(&self) -> u32 {
5095        unsafe { ::std::mem::transmute(self._bitfield_1.get(11usize, 1u8) as u32) }
5096    }
5097    #[inline]
5098    pub fn set_key_res_1_set(&mut self, val: u32) {
5099        unsafe {
5100            let val: u32 = ::std::mem::transmute(val);
5101            self._bitfield_1.set(11usize, 1u8, val as u64)
5102        }
5103    }
5104    #[inline]
5105    pub unsafe fn key_res_1_set_raw(this: *const Self) -> u32 {
5106        unsafe {
5107            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
5108                ::std::ptr::addr_of!((*this)._bitfield_1),
5109                11usize,
5110                1u8,
5111            ) as u32)
5112        }
5113    }
5114    #[inline]
5115    pub unsafe fn set_key_res_1_set_raw(this: *mut Self, val: u32) {
5116        unsafe {
5117            let val: u32 = ::std::mem::transmute(val);
5118            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
5119                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5120                11usize,
5121                1u8,
5122                val as u64,
5123            )
5124        }
5125    }
5126    #[inline]
5127    pub fn f2_key_incr(&self) -> u32 {
5128        unsafe { ::std::mem::transmute(self._bitfield_1.get(12usize, 2u8) as u32) }
5129    }
5130    #[inline]
5131    pub fn set_f2_key_incr(&mut self, val: u32) {
5132        unsafe {
5133            let val: u32 = ::std::mem::transmute(val);
5134            self._bitfield_1.set(12usize, 2u8, val as u64)
5135        }
5136    }
5137    #[inline]
5138    pub unsafe fn f2_key_incr_raw(this: *const Self) -> u32 {
5139        unsafe {
5140            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
5141                ::std::ptr::addr_of!((*this)._bitfield_1),
5142                12usize,
5143                2u8,
5144            ) as u32)
5145        }
5146    }
5147    #[inline]
5148    pub unsafe fn set_f2_key_incr_raw(this: *mut Self, val: u32) {
5149        unsafe {
5150            let val: u32 = ::std::mem::transmute(val);
5151            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
5152                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5153                12usize,
5154                2u8,
5155                val as u64,
5156            )
5157        }
5158    }
5159    #[inline]
5160    pub fn f2f4_token(&self) -> u32 {
5161        unsafe { ::std::mem::transmute(self._bitfield_1.get(14usize, 2u8) as u32) }
5162    }
5163    #[inline]
5164    pub fn set_f2f4_token(&mut self, val: u32) {
5165        unsafe {
5166            let val: u32 = ::std::mem::transmute(val);
5167            self._bitfield_1.set(14usize, 2u8, val as u64)
5168        }
5169    }
5170    #[inline]
5171    pub unsafe fn f2f4_token_raw(this: *const Self) -> u32 {
5172        unsafe {
5173            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
5174                ::std::ptr::addr_of!((*this)._bitfield_1),
5175                14usize,
5176                2u8,
5177            ) as u32)
5178        }
5179    }
5180    #[inline]
5181    pub unsafe fn set_f2f4_token_raw(this: *mut Self, val: u32) {
5182        unsafe {
5183            let val: u32 = ::std::mem::transmute(val);
5184            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
5185                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5186                14usize,
5187                2u8,
5188                val as u64,
5189            )
5190        }
5191    }
5192    #[inline]
5193    pub fn f3_tokens(&self) -> u32 {
5194        unsafe { ::std::mem::transmute(self._bitfield_1.get(16usize, 12u8) as u32) }
5195    }
5196    #[inline]
5197    pub fn set_f3_tokens(&mut self, val: u32) {
5198        unsafe {
5199            let val: u32 = ::std::mem::transmute(val);
5200            self._bitfield_1.set(16usize, 12u8, val as u64)
5201        }
5202    }
5203    #[inline]
5204    pub unsafe fn f3_tokens_raw(this: *const Self) -> u32 {
5205        unsafe {
5206            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 4usize]>>::raw_get(
5207                ::std::ptr::addr_of!((*this)._bitfield_1),
5208                16usize,
5209                12u8,
5210            ) as u32)
5211        }
5212    }
5213    #[inline]
5214    pub unsafe fn set_f3_tokens_raw(this: *mut Self, val: u32) {
5215        unsafe {
5216            let val: u32 = ::std::mem::transmute(val);
5217            <__BindgenBitfieldUnit<[u8; 4usize]>>::raw_set(
5218                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5219                16usize,
5220                12u8,
5221                val as u64,
5222            )
5223        }
5224    }
5225    #[inline]
5226    pub fn new_bitfield_1(
5227        res_0: u32,
5228        res_1: u32,
5229        ci_0: u32,
5230        ci_1: u32,
5231        key_res_0_set: u32,
5232        key_res_1_set: u32,
5233        f2_key_incr: u32,
5234        f2f4_token: u32,
5235        f3_tokens: u32,
5236    ) -> __BindgenBitfieldUnit<[u8; 4usize]> {
5237        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 4usize]> = Default::default();
5238        __bindgen_bitfield_unit.set(0usize, 4u8, {
5239            let res_0: u32 = unsafe { ::std::mem::transmute(res_0) };
5240            res_0 as u64
5241        });
5242        __bindgen_bitfield_unit.set(4usize, 4u8, {
5243            let res_1: u32 = unsafe { ::std::mem::transmute(res_1) };
5244            res_1 as u64
5245        });
5246        __bindgen_bitfield_unit.set(8usize, 1u8, {
5247            let ci_0: u32 = unsafe { ::std::mem::transmute(ci_0) };
5248            ci_0 as u64
5249        });
5250        __bindgen_bitfield_unit.set(9usize, 1u8, {
5251            let ci_1: u32 = unsafe { ::std::mem::transmute(ci_1) };
5252            ci_1 as u64
5253        });
5254        __bindgen_bitfield_unit.set(10usize, 1u8, {
5255            let key_res_0_set: u32 = unsafe { ::std::mem::transmute(key_res_0_set) };
5256            key_res_0_set as u64
5257        });
5258        __bindgen_bitfield_unit.set(11usize, 1u8, {
5259            let key_res_1_set: u32 = unsafe { ::std::mem::transmute(key_res_1_set) };
5260            key_res_1_set as u64
5261        });
5262        __bindgen_bitfield_unit.set(12usize, 2u8, {
5263            let f2_key_incr: u32 = unsafe { ::std::mem::transmute(f2_key_incr) };
5264            f2_key_incr as u64
5265        });
5266        __bindgen_bitfield_unit.set(14usize, 2u8, {
5267            let f2f4_token: u32 = unsafe { ::std::mem::transmute(f2f4_token) };
5268            f2f4_token as u64
5269        });
5270        __bindgen_bitfield_unit.set(16usize, 12u8, {
5271            let f3_tokens: u32 = unsafe { ::std::mem::transmute(f3_tokens) };
5272            f3_tokens as u64
5273        });
5274        __bindgen_bitfield_unit
5275    }
5276}
5277#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5278const _: () = {
5279    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_4"]
5280        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_4>() - 12usize];
5281    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_4"]
5282        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_4>() - 4usize];
5283    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_4::cond_r_key_0"]
5284        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_4, cond_r_key_0) - 0usize];
5285    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_4::cond_r_key_1"]
5286        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_4, cond_r_key_1) - 4usize];
5287};
5288#[repr(C)]
5289#[derive(Debug, Copy, Clone)]
5290pub struct _ocsd_etmv4_i_pkt__bindgen_ty_5 {
5291    pub q_count: u32,
5292    pub __bindgen_anon_1: _ocsd_etmv4_i_pkt__bindgen_ty_5__bindgen_ty_1,
5293}
5294#[repr(C)]
5295#[repr(align(4))]
5296#[derive(Debug, Copy, Clone)]
5297pub struct _ocsd_etmv4_i_pkt__bindgen_ty_5__bindgen_ty_1 {
5298    pub _bitfield_align_1: [u8; 0],
5299    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
5300    pub __bindgen_padding_0: [u8; 3usize],
5301}
5302#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5303const _: () = {
5304    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_5__bindgen_ty_1"]
5305        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_5__bindgen_ty_1>() - 4usize];
5306    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_5__bindgen_ty_1"]
5307        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_5__bindgen_ty_1>() - 4usize];
5308};
5309impl _ocsd_etmv4_i_pkt__bindgen_ty_5__bindgen_ty_1 {
5310    #[inline]
5311    pub fn addr_present(&self) -> u32 {
5312        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
5313    }
5314    #[inline]
5315    pub fn set_addr_present(&mut self, val: u32) {
5316        unsafe {
5317            let val: u32 = ::std::mem::transmute(val);
5318            self._bitfield_1.set(0usize, 1u8, val as u64)
5319        }
5320    }
5321    #[inline]
5322    pub unsafe fn addr_present_raw(this: *const Self) -> u32 {
5323        unsafe {
5324            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
5325                ::std::ptr::addr_of!((*this)._bitfield_1),
5326                0usize,
5327                1u8,
5328            ) as u32)
5329        }
5330    }
5331    #[inline]
5332    pub unsafe fn set_addr_present_raw(this: *mut Self, val: u32) {
5333        unsafe {
5334            let val: u32 = ::std::mem::transmute(val);
5335            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
5336                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5337                0usize,
5338                1u8,
5339                val as u64,
5340            )
5341        }
5342    }
5343    #[inline]
5344    pub fn addr_match(&self) -> u32 {
5345        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
5346    }
5347    #[inline]
5348    pub fn set_addr_match(&mut self, val: u32) {
5349        unsafe {
5350            let val: u32 = ::std::mem::transmute(val);
5351            self._bitfield_1.set(1usize, 1u8, val as u64)
5352        }
5353    }
5354    #[inline]
5355    pub unsafe fn addr_match_raw(this: *const Self) -> u32 {
5356        unsafe {
5357            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
5358                ::std::ptr::addr_of!((*this)._bitfield_1),
5359                1usize,
5360                1u8,
5361            ) as u32)
5362        }
5363    }
5364    #[inline]
5365    pub unsafe fn set_addr_match_raw(this: *mut Self, val: u32) {
5366        unsafe {
5367            let val: u32 = ::std::mem::transmute(val);
5368            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
5369                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5370                1usize,
5371                1u8,
5372                val as u64,
5373            )
5374        }
5375    }
5376    #[inline]
5377    pub fn count_present(&self) -> u32 {
5378        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
5379    }
5380    #[inline]
5381    pub fn set_count_present(&mut self, val: u32) {
5382        unsafe {
5383            let val: u32 = ::std::mem::transmute(val);
5384            self._bitfield_1.set(2usize, 1u8, val as u64)
5385        }
5386    }
5387    #[inline]
5388    pub unsafe fn count_present_raw(this: *const Self) -> u32 {
5389        unsafe {
5390            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
5391                ::std::ptr::addr_of!((*this)._bitfield_1),
5392                2usize,
5393                1u8,
5394            ) as u32)
5395        }
5396    }
5397    #[inline]
5398    pub unsafe fn set_count_present_raw(this: *mut Self, val: u32) {
5399        unsafe {
5400            let val: u32 = ::std::mem::transmute(val);
5401            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
5402                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5403                2usize,
5404                1u8,
5405                val as u64,
5406            )
5407        }
5408    }
5409    #[inline]
5410    pub fn q_type(&self) -> u32 {
5411        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 4u8) as u32) }
5412    }
5413    #[inline]
5414    pub fn set_q_type(&mut self, val: u32) {
5415        unsafe {
5416            let val: u32 = ::std::mem::transmute(val);
5417            self._bitfield_1.set(3usize, 4u8, val as u64)
5418        }
5419    }
5420    #[inline]
5421    pub unsafe fn q_type_raw(this: *const Self) -> u32 {
5422        unsafe {
5423            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
5424                ::std::ptr::addr_of!((*this)._bitfield_1),
5425                3usize,
5426                4u8,
5427            ) as u32)
5428        }
5429    }
5430    #[inline]
5431    pub unsafe fn set_q_type_raw(this: *mut Self, val: u32) {
5432        unsafe {
5433            let val: u32 = ::std::mem::transmute(val);
5434            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
5435                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5436                3usize,
5437                4u8,
5438                val as u64,
5439            )
5440        }
5441    }
5442    #[inline]
5443    pub fn new_bitfield_1(
5444        addr_present: u32,
5445        addr_match: u32,
5446        count_present: u32,
5447        q_type: u32,
5448    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
5449        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
5450        __bindgen_bitfield_unit.set(0usize, 1u8, {
5451            let addr_present: u32 = unsafe { ::std::mem::transmute(addr_present) };
5452            addr_present as u64
5453        });
5454        __bindgen_bitfield_unit.set(1usize, 1u8, {
5455            let addr_match: u32 = unsafe { ::std::mem::transmute(addr_match) };
5456            addr_match as u64
5457        });
5458        __bindgen_bitfield_unit.set(2usize, 1u8, {
5459            let count_present: u32 = unsafe { ::std::mem::transmute(count_present) };
5460            count_present as u64
5461        });
5462        __bindgen_bitfield_unit.set(3usize, 4u8, {
5463            let q_type: u32 = unsafe { ::std::mem::transmute(q_type) };
5464            q_type as u64
5465        });
5466        __bindgen_bitfield_unit
5467    }
5468}
5469#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5470const _: () = {
5471    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_5"]
5472        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_5>() - 8usize];
5473    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_5"]
5474        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_5>() - 4usize];
5475    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_5::q_count"]
5476        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_5, q_count) - 0usize];
5477};
5478#[repr(C)]
5479#[derive(Debug, Copy, Clone)]
5480pub struct _ocsd_etmv4_i_pkt__bindgen_ty_6 {
5481    pub el: u8,
5482    pub value: u64,
5483}
5484#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5485const _: () = {
5486    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_6"]
5487        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_6>() - 16usize];
5488    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_6"]
5489        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_6>() - 8usize];
5490    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_6::el"]
5491        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_6, el) - 0usize];
5492    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_6::value"]
5493        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_6, value) - 8usize];
5494};
5495#[doc = "! valid bits for packet elements (addresses have their own valid bits)."]
5496#[repr(C)]
5497#[derive(Copy, Clone)]
5498pub union _ocsd_etmv4_i_pkt__bindgen_ty_7 {
5499    pub val: u32,
5500    pub bits: _ocsd_etmv4_i_pkt__bindgen_ty_7__bindgen_ty_1,
5501}
5502#[repr(C)]
5503#[repr(align(4))]
5504#[derive(Debug, Copy, Clone)]
5505pub struct _ocsd_etmv4_i_pkt__bindgen_ty_7__bindgen_ty_1 {
5506    pub _bitfield_align_1: [u8; 0],
5507    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 2usize]>,
5508    pub __bindgen_padding_0: u16,
5509}
5510#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5511const _: () = {
5512    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_7__bindgen_ty_1"]
5513        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_7__bindgen_ty_1>() - 4usize];
5514    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_7__bindgen_ty_1"]
5515        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_7__bindgen_ty_1>() - 4usize];
5516};
5517impl _ocsd_etmv4_i_pkt__bindgen_ty_7__bindgen_ty_1 {
5518    #[inline]
5519    pub fn context_valid(&self) -> u32 {
5520        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
5521    }
5522    #[inline]
5523    pub fn set_context_valid(&mut self, val: u32) {
5524        unsafe {
5525            let val: u32 = ::std::mem::transmute(val);
5526            self._bitfield_1.set(0usize, 1u8, val as u64)
5527        }
5528    }
5529    #[inline]
5530    pub unsafe fn context_valid_raw(this: *const Self) -> u32 {
5531        unsafe {
5532            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5533                ::std::ptr::addr_of!((*this)._bitfield_1),
5534                0usize,
5535                1u8,
5536            ) as u32)
5537        }
5538    }
5539    #[inline]
5540    pub unsafe fn set_context_valid_raw(this: *mut Self, val: u32) {
5541        unsafe {
5542            let val: u32 = ::std::mem::transmute(val);
5543            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5544                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5545                0usize,
5546                1u8,
5547                val as u64,
5548            )
5549        }
5550    }
5551    #[inline]
5552    pub fn ts_valid(&self) -> u32 {
5553        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
5554    }
5555    #[inline]
5556    pub fn set_ts_valid(&mut self, val: u32) {
5557        unsafe {
5558            let val: u32 = ::std::mem::transmute(val);
5559            self._bitfield_1.set(1usize, 1u8, val as u64)
5560        }
5561    }
5562    #[inline]
5563    pub unsafe fn ts_valid_raw(this: *const Self) -> u32 {
5564        unsafe {
5565            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5566                ::std::ptr::addr_of!((*this)._bitfield_1),
5567                1usize,
5568                1u8,
5569            ) as u32)
5570        }
5571    }
5572    #[inline]
5573    pub unsafe fn set_ts_valid_raw(this: *mut Self, val: u32) {
5574        unsafe {
5575            let val: u32 = ::std::mem::transmute(val);
5576            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5577                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5578                1usize,
5579                1u8,
5580                val as u64,
5581            )
5582        }
5583    }
5584    #[inline]
5585    pub fn spec_depth_valid(&self) -> u32 {
5586        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
5587    }
5588    #[inline]
5589    pub fn set_spec_depth_valid(&mut self, val: u32) {
5590        unsafe {
5591            let val: u32 = ::std::mem::transmute(val);
5592            self._bitfield_1.set(2usize, 1u8, val as u64)
5593        }
5594    }
5595    #[inline]
5596    pub unsafe fn spec_depth_valid_raw(this: *const Self) -> u32 {
5597        unsafe {
5598            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5599                ::std::ptr::addr_of!((*this)._bitfield_1),
5600                2usize,
5601                1u8,
5602            ) as u32)
5603        }
5604    }
5605    #[inline]
5606    pub unsafe fn set_spec_depth_valid_raw(this: *mut Self, val: u32) {
5607        unsafe {
5608            let val: u32 = ::std::mem::transmute(val);
5609            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5610                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5611                2usize,
5612                1u8,
5613                val as u64,
5614            )
5615        }
5616    }
5617    #[inline]
5618    pub fn p0_key_valid(&self) -> u32 {
5619        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
5620    }
5621    #[inline]
5622    pub fn set_p0_key_valid(&mut self, val: u32) {
5623        unsafe {
5624            let val: u32 = ::std::mem::transmute(val);
5625            self._bitfield_1.set(3usize, 1u8, val as u64)
5626        }
5627    }
5628    #[inline]
5629    pub unsafe fn p0_key_valid_raw(this: *const Self) -> u32 {
5630        unsafe {
5631            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5632                ::std::ptr::addr_of!((*this)._bitfield_1),
5633                3usize,
5634                1u8,
5635            ) as u32)
5636        }
5637    }
5638    #[inline]
5639    pub unsafe fn set_p0_key_valid_raw(this: *mut Self, val: u32) {
5640        unsafe {
5641            let val: u32 = ::std::mem::transmute(val);
5642            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5643                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5644                3usize,
5645                1u8,
5646                val as u64,
5647            )
5648        }
5649    }
5650    #[inline]
5651    pub fn cond_c_key_valid(&self) -> u32 {
5652        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
5653    }
5654    #[inline]
5655    pub fn set_cond_c_key_valid(&mut self, val: u32) {
5656        unsafe {
5657            let val: u32 = ::std::mem::transmute(val);
5658            self._bitfield_1.set(4usize, 1u8, val as u64)
5659        }
5660    }
5661    #[inline]
5662    pub unsafe fn cond_c_key_valid_raw(this: *const Self) -> u32 {
5663        unsafe {
5664            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5665                ::std::ptr::addr_of!((*this)._bitfield_1),
5666                4usize,
5667                1u8,
5668            ) as u32)
5669        }
5670    }
5671    #[inline]
5672    pub unsafe fn set_cond_c_key_valid_raw(this: *mut Self, val: u32) {
5673        unsafe {
5674            let val: u32 = ::std::mem::transmute(val);
5675            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5676                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5677                4usize,
5678                1u8,
5679                val as u64,
5680            )
5681        }
5682    }
5683    #[inline]
5684    pub fn cond_r_key_valid(&self) -> u32 {
5685        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
5686    }
5687    #[inline]
5688    pub fn set_cond_r_key_valid(&mut self, val: u32) {
5689        unsafe {
5690            let val: u32 = ::std::mem::transmute(val);
5691            self._bitfield_1.set(5usize, 1u8, val as u64)
5692        }
5693    }
5694    #[inline]
5695    pub unsafe fn cond_r_key_valid_raw(this: *const Self) -> u32 {
5696        unsafe {
5697            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5698                ::std::ptr::addr_of!((*this)._bitfield_1),
5699                5usize,
5700                1u8,
5701            ) as u32)
5702        }
5703    }
5704    #[inline]
5705    pub unsafe fn set_cond_r_key_valid_raw(this: *mut Self, val: u32) {
5706        unsafe {
5707            let val: u32 = ::std::mem::transmute(val);
5708            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5709                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5710                5usize,
5711                1u8,
5712                val as u64,
5713            )
5714        }
5715    }
5716    #[inline]
5717    pub fn trace_info_valid(&self) -> u32 {
5718        unsafe { ::std::mem::transmute(self._bitfield_1.get(6usize, 1u8) as u32) }
5719    }
5720    #[inline]
5721    pub fn set_trace_info_valid(&mut self, val: u32) {
5722        unsafe {
5723            let val: u32 = ::std::mem::transmute(val);
5724            self._bitfield_1.set(6usize, 1u8, val as u64)
5725        }
5726    }
5727    #[inline]
5728    pub unsafe fn trace_info_valid_raw(this: *const Self) -> u32 {
5729        unsafe {
5730            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5731                ::std::ptr::addr_of!((*this)._bitfield_1),
5732                6usize,
5733                1u8,
5734            ) as u32)
5735        }
5736    }
5737    #[inline]
5738    pub unsafe fn set_trace_info_valid_raw(this: *mut Self, val: u32) {
5739        unsafe {
5740            let val: u32 = ::std::mem::transmute(val);
5741            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5742                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5743                6usize,
5744                1u8,
5745                val as u64,
5746            )
5747        }
5748    }
5749    #[inline]
5750    pub fn cc_thresh_valid(&self) -> u32 {
5751        unsafe { ::std::mem::transmute(self._bitfield_1.get(7usize, 1u8) as u32) }
5752    }
5753    #[inline]
5754    pub fn set_cc_thresh_valid(&mut self, val: u32) {
5755        unsafe {
5756            let val: u32 = ::std::mem::transmute(val);
5757            self._bitfield_1.set(7usize, 1u8, val as u64)
5758        }
5759    }
5760    #[inline]
5761    pub unsafe fn cc_thresh_valid_raw(this: *const Self) -> u32 {
5762        unsafe {
5763            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5764                ::std::ptr::addr_of!((*this)._bitfield_1),
5765                7usize,
5766                1u8,
5767            ) as u32)
5768        }
5769    }
5770    #[inline]
5771    pub unsafe fn set_cc_thresh_valid_raw(this: *mut Self, val: u32) {
5772        unsafe {
5773            let val: u32 = ::std::mem::transmute(val);
5774            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5775                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5776                7usize,
5777                1u8,
5778                val as u64,
5779            )
5780        }
5781    }
5782    #[inline]
5783    pub fn cc_valid(&self) -> u32 {
5784        unsafe { ::std::mem::transmute(self._bitfield_1.get(8usize, 1u8) as u32) }
5785    }
5786    #[inline]
5787    pub fn set_cc_valid(&mut self, val: u32) {
5788        unsafe {
5789            let val: u32 = ::std::mem::transmute(val);
5790            self._bitfield_1.set(8usize, 1u8, val as u64)
5791        }
5792    }
5793    #[inline]
5794    pub unsafe fn cc_valid_raw(this: *const Self) -> u32 {
5795        unsafe {
5796            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5797                ::std::ptr::addr_of!((*this)._bitfield_1),
5798                8usize,
5799                1u8,
5800            ) as u32)
5801        }
5802    }
5803    #[inline]
5804    pub unsafe fn set_cc_valid_raw(this: *mut Self, val: u32) {
5805        unsafe {
5806            let val: u32 = ::std::mem::transmute(val);
5807            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5808                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5809                8usize,
5810                1u8,
5811                val as u64,
5812            )
5813        }
5814    }
5815    #[inline]
5816    pub fn commit_elem_valid(&self) -> u32 {
5817        unsafe { ::std::mem::transmute(self._bitfield_1.get(9usize, 1u8) as u32) }
5818    }
5819    #[inline]
5820    pub fn set_commit_elem_valid(&mut self, val: u32) {
5821        unsafe {
5822            let val: u32 = ::std::mem::transmute(val);
5823            self._bitfield_1.set(9usize, 1u8, val as u64)
5824        }
5825    }
5826    #[inline]
5827    pub unsafe fn commit_elem_valid_raw(this: *const Self) -> u32 {
5828        unsafe {
5829            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5830                ::std::ptr::addr_of!((*this)._bitfield_1),
5831                9usize,
5832                1u8,
5833            ) as u32)
5834        }
5835    }
5836    #[inline]
5837    pub unsafe fn set_commit_elem_valid_raw(this: *mut Self, val: u32) {
5838        unsafe {
5839            let val: u32 = ::std::mem::transmute(val);
5840            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5841                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5842                9usize,
5843                1u8,
5844                val as u64,
5845            )
5846        }
5847    }
5848    #[inline]
5849    pub fn cancel_elem_valid(&self) -> u32 {
5850        unsafe { ::std::mem::transmute(self._bitfield_1.get(10usize, 1u8) as u32) }
5851    }
5852    #[inline]
5853    pub fn set_cancel_elem_valid(&mut self, val: u32) {
5854        unsafe {
5855            let val: u32 = ::std::mem::transmute(val);
5856            self._bitfield_1.set(10usize, 1u8, val as u64)
5857        }
5858    }
5859    #[inline]
5860    pub unsafe fn cancel_elem_valid_raw(this: *const Self) -> u32 {
5861        unsafe {
5862            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 2usize]>>::raw_get(
5863                ::std::ptr::addr_of!((*this)._bitfield_1),
5864                10usize,
5865                1u8,
5866            ) as u32)
5867        }
5868    }
5869    #[inline]
5870    pub unsafe fn set_cancel_elem_valid_raw(this: *mut Self, val: u32) {
5871        unsafe {
5872            let val: u32 = ::std::mem::transmute(val);
5873            <__BindgenBitfieldUnit<[u8; 2usize]>>::raw_set(
5874                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
5875                10usize,
5876                1u8,
5877                val as u64,
5878            )
5879        }
5880    }
5881    #[inline]
5882    pub fn new_bitfield_1(
5883        context_valid: u32,
5884        ts_valid: u32,
5885        spec_depth_valid: u32,
5886        p0_key_valid: u32,
5887        cond_c_key_valid: u32,
5888        cond_r_key_valid: u32,
5889        trace_info_valid: u32,
5890        cc_thresh_valid: u32,
5891        cc_valid: u32,
5892        commit_elem_valid: u32,
5893        cancel_elem_valid: u32,
5894    ) -> __BindgenBitfieldUnit<[u8; 2usize]> {
5895        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 2usize]> = Default::default();
5896        __bindgen_bitfield_unit.set(0usize, 1u8, {
5897            let context_valid: u32 = unsafe { ::std::mem::transmute(context_valid) };
5898            context_valid as u64
5899        });
5900        __bindgen_bitfield_unit.set(1usize, 1u8, {
5901            let ts_valid: u32 = unsafe { ::std::mem::transmute(ts_valid) };
5902            ts_valid as u64
5903        });
5904        __bindgen_bitfield_unit.set(2usize, 1u8, {
5905            let spec_depth_valid: u32 = unsafe { ::std::mem::transmute(spec_depth_valid) };
5906            spec_depth_valid as u64
5907        });
5908        __bindgen_bitfield_unit.set(3usize, 1u8, {
5909            let p0_key_valid: u32 = unsafe { ::std::mem::transmute(p0_key_valid) };
5910            p0_key_valid as u64
5911        });
5912        __bindgen_bitfield_unit.set(4usize, 1u8, {
5913            let cond_c_key_valid: u32 = unsafe { ::std::mem::transmute(cond_c_key_valid) };
5914            cond_c_key_valid as u64
5915        });
5916        __bindgen_bitfield_unit.set(5usize, 1u8, {
5917            let cond_r_key_valid: u32 = unsafe { ::std::mem::transmute(cond_r_key_valid) };
5918            cond_r_key_valid as u64
5919        });
5920        __bindgen_bitfield_unit.set(6usize, 1u8, {
5921            let trace_info_valid: u32 = unsafe { ::std::mem::transmute(trace_info_valid) };
5922            trace_info_valid as u64
5923        });
5924        __bindgen_bitfield_unit.set(7usize, 1u8, {
5925            let cc_thresh_valid: u32 = unsafe { ::std::mem::transmute(cc_thresh_valid) };
5926            cc_thresh_valid as u64
5927        });
5928        __bindgen_bitfield_unit.set(8usize, 1u8, {
5929            let cc_valid: u32 = unsafe { ::std::mem::transmute(cc_valid) };
5930            cc_valid as u64
5931        });
5932        __bindgen_bitfield_unit.set(9usize, 1u8, {
5933            let commit_elem_valid: u32 = unsafe { ::std::mem::transmute(commit_elem_valid) };
5934            commit_elem_valid as u64
5935        });
5936        __bindgen_bitfield_unit.set(10usize, 1u8, {
5937            let cancel_elem_valid: u32 = unsafe { ::std::mem::transmute(cancel_elem_valid) };
5938            cancel_elem_valid as u64
5939        });
5940        __bindgen_bitfield_unit
5941    }
5942}
5943#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5944const _: () = {
5945    ["Size of _ocsd_etmv4_i_pkt__bindgen_ty_7"]
5946        [::std::mem::size_of::<_ocsd_etmv4_i_pkt__bindgen_ty_7>() - 4usize];
5947    ["Alignment of _ocsd_etmv4_i_pkt__bindgen_ty_7"]
5948        [::std::mem::align_of::<_ocsd_etmv4_i_pkt__bindgen_ty_7>() - 4usize];
5949    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_7::val"]
5950        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_7, val) - 0usize];
5951    ["Offset of field: _ocsd_etmv4_i_pkt__bindgen_ty_7::bits"]
5952        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt__bindgen_ty_7, bits) - 0usize];
5953};
5954#[allow(clippy::unnecessary_operation, clippy::identity_op)]
5955const _: () = {
5956    ["Size of _ocsd_etmv4_i_pkt"][::std::mem::size_of::<_ocsd_etmv4_i_pkt>() - 176usize];
5957    ["Alignment of _ocsd_etmv4_i_pkt"][::std::mem::align_of::<_ocsd_etmv4_i_pkt>() - 8usize];
5958    ["Offset of field: _ocsd_etmv4_i_pkt::type_"]
5959        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, type_) - 0usize];
5960    ["Offset of field: _ocsd_etmv4_i_pkt::v_addr"]
5961        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, v_addr) - 8usize];
5962    ["Offset of field: _ocsd_etmv4_i_pkt::v_addr_ISA"]
5963        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, v_addr_ISA) - 32usize];
5964    ["Offset of field: _ocsd_etmv4_i_pkt::context"]
5965        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, context) - 36usize];
5966    ["Offset of field: _ocsd_etmv4_i_pkt::ts"]
5967        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, ts) - 48usize];
5968    ["Offset of field: _ocsd_etmv4_i_pkt::cc_threshold"]
5969        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, cc_threshold) - 64usize];
5970    ["Offset of field: _ocsd_etmv4_i_pkt::atom"]
5971        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, atom) - 68usize];
5972    ["Offset of field: _ocsd_etmv4_i_pkt::cycle_count"]
5973        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, cycle_count) - 76usize];
5974    ["Offset of field: _ocsd_etmv4_i_pkt::curr_spec_depth"]
5975        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, curr_spec_depth) - 80usize];
5976    ["Offset of field: _ocsd_etmv4_i_pkt::p0_key"]
5977        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, p0_key) - 84usize];
5978    ["Offset of field: _ocsd_etmv4_i_pkt::commit_elements"]
5979        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, commit_elements) - 88usize];
5980    ["Offset of field: _ocsd_etmv4_i_pkt::cancel_elements"]
5981        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, cancel_elements) - 92usize];
5982    ["Offset of field: _ocsd_etmv4_i_pkt::trace_info"]
5983        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, trace_info) - 96usize];
5984    ["Offset of field: _ocsd_etmv4_i_pkt::exception_info"]
5985        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, exception_info) - 100usize];
5986    ["Offset of field: _ocsd_etmv4_i_pkt::addr_exact_match_idx"]
5987        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, addr_exact_match_idx) - 104usize];
5988    ["Offset of field: _ocsd_etmv4_i_pkt::dsm_val"]
5989        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, dsm_val) - 105usize];
5990    ["Offset of field: _ocsd_etmv4_i_pkt::event_val"]
5991        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, event_val) - 106usize];
5992    ["Offset of field: _ocsd_etmv4_i_pkt::cond_instr"]
5993        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, cond_instr) - 108usize];
5994    ["Offset of field: _ocsd_etmv4_i_pkt::cond_result"]
5995        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, cond_result) - 120usize];
5996    ["Offset of field: _ocsd_etmv4_i_pkt::Q_pkt"]
5997        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, Q_pkt) - 132usize];
5998    ["Offset of field: _ocsd_etmv4_i_pkt::ite_pkt"]
5999        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, ite_pkt) - 144usize];
6000    ["Offset of field: _ocsd_etmv4_i_pkt::pkt_valid"]
6001        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, pkt_valid) - 160usize];
6002    ["Offset of field: _ocsd_etmv4_i_pkt::err_type"]
6003        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, err_type) - 164usize];
6004    ["Offset of field: _ocsd_etmv4_i_pkt::err_hdr_val"]
6005        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, err_hdr_val) - 168usize];
6006    ["Offset of field: _ocsd_etmv4_i_pkt::protocol_version"]
6007        [::std::mem::offset_of!(_ocsd_etmv4_i_pkt, protocol_version) - 169usize];
6008};
6009pub type ocsd_etmv4_i_pkt = _ocsd_etmv4_i_pkt;
6010#[doc = "!< no sync found yet"]
6011pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_NOTSYNC: _ocsd_etmv4_d_pkt_type = 512;
6012#[doc = "!< invalid sequence for packet type"]
6013pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_BAD_SEQUENCE: _ocsd_etmv4_d_pkt_type = 513;
6014#[doc = "!< invalid packet type for this trace mode."]
6015pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_BAD_TRACEMODE: _ocsd_etmv4_d_pkt_type = 514;
6016#[doc = "!< packet type reserved."]
6017pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_RESERVED: _ocsd_etmv4_d_pkt_type = 515;
6018#[doc = "!< flushing incomplete packet at end of trace."]
6019pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_INCOMPLETE_EOT: _ocsd_etmv4_d_pkt_type = 516;
6020#[doc = "!< waiting for a header byte"]
6021pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_NO_HEADER: _ocsd_etmv4_d_pkt_type = 517;
6022#[doc = "!< error packet has no header based type. Use with unknown/res packet types."]
6023pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_NO_ERR_TYPE: _ocsd_etmv4_d_pkt_type = 518;
6024pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DNUM_DS_MKR: _ocsd_etmv4_d_pkt_type = 273;
6025#[doc = "!< b00000000"]
6026pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_EXTENSION: _ocsd_etmv4_d_pkt_type = 0;
6027#[doc = "!< b00000001"]
6028pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DUNNUM_DS_MKR: _ocsd_etmv4_d_pkt_type = 1;
6029#[doc = "!< b00000100"]
6030pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DEVENT: _ocsd_etmv4_d_pkt_type = 4;
6031#[doc = "!< b00000010"]
6032pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DTIMESTAMP: _ocsd_etmv4_d_pkt_type = 2;
6033#[doc = "!< b0111xxxx"]
6034pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DADDR_P1_F1: _ocsd_etmv4_d_pkt_type = 112;
6035#[doc = "!< b10xxxxxx"]
6036pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DADDR_P1_F2: _ocsd_etmv4_d_pkt_type = 128;
6037#[doc = "!< b000101xx"]
6038pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DADDR_P1_F3: _ocsd_etmv4_d_pkt_type = 20;
6039#[doc = "!< b0110xxxx"]
6040pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DADDR_P1_F4: _ocsd_etmv4_d_pkt_type = 96;
6041#[doc = "!< b11111xxx"]
6042pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DADDR_P1_F5: _ocsd_etmv4_d_pkt_type = 248;
6043#[doc = "!< b1111011x"]
6044pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DADDR_P1_F6: _ocsd_etmv4_d_pkt_type = 246;
6045#[doc = "!< b11110101"]
6046pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DADDR_P1_F7: _ocsd_etmv4_d_pkt_type = 245;
6047#[doc = "!< b0010xxxx"]
6048pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DVAL_P2_F1: _ocsd_etmv4_d_pkt_type = 32;
6049#[doc = "!< b00110xxx"]
6050pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DVAL_P2_F2: _ocsd_etmv4_d_pkt_type = 48;
6051#[doc = "!< b010xxxxx"]
6052pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DVAL_P2_F3: _ocsd_etmv4_d_pkt_type = 64;
6053#[doc = "!< b000100xx"]
6054pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DVAL_P2_F4: _ocsd_etmv4_d_pkt_type = 16;
6055#[doc = "!< b00011xxx"]
6056pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DVAL_P2_F5: _ocsd_etmv4_d_pkt_type = 24;
6057#[doc = "!< b00111xxx"]
6058pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DVAL_P2_F6: _ocsd_etmv4_d_pkt_type = 56;
6059#[doc = "!< b00000011"]
6060pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DSUPPRESSION: _ocsd_etmv4_d_pkt_type = 3;
6061#[doc = "!< b00000001"]
6062pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_DTRACE_INFO: _ocsd_etmv4_d_pkt_type = 257;
6063#[doc = "!< b00000000"]
6064pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_ASYNC: _ocsd_etmv4_d_pkt_type = 256;
6065#[doc = "!< b00000011"]
6066pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_DISCARD: _ocsd_etmv4_d_pkt_type = 259;
6067#[doc = "!< b00000101"]
6068pub const _ocsd_etmv4_d_pkt_type_ETM4_PKT_D_OVERFLOW: _ocsd_etmv4_d_pkt_type = 261;
6069pub type _ocsd_etmv4_d_pkt_type = ::std::os::raw::c_uint;
6070pub use self::_ocsd_etmv4_d_pkt_type as ocsd_etmv4_d_pkt_type;
6071#[repr(C)]
6072#[derive(Debug, Copy, Clone)]
6073pub struct _ocsd_etmv4_d_pkt {
6074    pub type_: ocsd_etmv4_d_pkt_type,
6075    pub d_addr: ocsd_pkt_vaddr,
6076    #[doc = "< Packet value -> data value, timestamp value, event value"]
6077    pub pkt_val: u64,
6078    pub err_type: ocsd_etmv4_d_pkt_type,
6079}
6080#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6081const _: () = {
6082    ["Size of _ocsd_etmv4_d_pkt"][::std::mem::size_of::<_ocsd_etmv4_d_pkt>() - 48usize];
6083    ["Alignment of _ocsd_etmv4_d_pkt"][::std::mem::align_of::<_ocsd_etmv4_d_pkt>() - 8usize];
6084    ["Offset of field: _ocsd_etmv4_d_pkt::type_"]
6085        [::std::mem::offset_of!(_ocsd_etmv4_d_pkt, type_) - 0usize];
6086    ["Offset of field: _ocsd_etmv4_d_pkt::d_addr"]
6087        [::std::mem::offset_of!(_ocsd_etmv4_d_pkt, d_addr) - 8usize];
6088    ["Offset of field: _ocsd_etmv4_d_pkt::pkt_val"]
6089        [::std::mem::offset_of!(_ocsd_etmv4_d_pkt, pkt_val) - 32usize];
6090    ["Offset of field: _ocsd_etmv4_d_pkt::err_type"]
6091        [::std::mem::offset_of!(_ocsd_etmv4_d_pkt, err_type) - 40usize];
6092};
6093pub type ocsd_etmv4_d_pkt = _ocsd_etmv4_d_pkt;
6094#[repr(C)]
6095#[derive(Debug, Copy, Clone)]
6096pub struct _ocsd_etmv4_cfg {
6097    #[doc = "< ID0 register"]
6098    pub reg_idr0: u32,
6099    #[doc = "< ID1 register"]
6100    pub reg_idr1: u32,
6101    #[doc = "< ID2 register"]
6102    pub reg_idr2: u32,
6103    pub reg_idr8: u32,
6104    pub reg_idr9: u32,
6105    pub reg_idr10: u32,
6106    pub reg_idr11: u32,
6107    pub reg_idr12: u32,
6108    pub reg_idr13: u32,
6109    #[doc = "< Config Register"]
6110    pub reg_configr: u32,
6111    #[doc = "< Trace Stream ID register"]
6112    pub reg_traceidr: u32,
6113    #[doc = "< Architecture version"]
6114    pub arch_ver: ocsd_arch_version_t,
6115    #[doc = "< Core Profile"]
6116    pub core_prof: ocsd_core_profile_t,
6117}
6118#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6119const _: () = {
6120    ["Size of _ocsd_etmv4_cfg"][::std::mem::size_of::<_ocsd_etmv4_cfg>() - 52usize];
6121    ["Alignment of _ocsd_etmv4_cfg"][::std::mem::align_of::<_ocsd_etmv4_cfg>() - 4usize];
6122    ["Offset of field: _ocsd_etmv4_cfg::reg_idr0"]
6123        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_idr0) - 0usize];
6124    ["Offset of field: _ocsd_etmv4_cfg::reg_idr1"]
6125        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_idr1) - 4usize];
6126    ["Offset of field: _ocsd_etmv4_cfg::reg_idr2"]
6127        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_idr2) - 8usize];
6128    ["Offset of field: _ocsd_etmv4_cfg::reg_idr8"]
6129        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_idr8) - 12usize];
6130    ["Offset of field: _ocsd_etmv4_cfg::reg_idr9"]
6131        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_idr9) - 16usize];
6132    ["Offset of field: _ocsd_etmv4_cfg::reg_idr10"]
6133        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_idr10) - 20usize];
6134    ["Offset of field: _ocsd_etmv4_cfg::reg_idr11"]
6135        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_idr11) - 24usize];
6136    ["Offset of field: _ocsd_etmv4_cfg::reg_idr12"]
6137        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_idr12) - 28usize];
6138    ["Offset of field: _ocsd_etmv4_cfg::reg_idr13"]
6139        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_idr13) - 32usize];
6140    ["Offset of field: _ocsd_etmv4_cfg::reg_configr"]
6141        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_configr) - 36usize];
6142    ["Offset of field: _ocsd_etmv4_cfg::reg_traceidr"]
6143        [::std::mem::offset_of!(_ocsd_etmv4_cfg, reg_traceidr) - 40usize];
6144    ["Offset of field: _ocsd_etmv4_cfg::arch_ver"]
6145        [::std::mem::offset_of!(_ocsd_etmv4_cfg, arch_ver) - 44usize];
6146    ["Offset of field: _ocsd_etmv4_cfg::core_prof"]
6147        [::std::mem::offset_of!(_ocsd_etmv4_cfg, core_prof) - 48usize];
6148};
6149pub type ocsd_etmv4_cfg = _ocsd_etmv4_cfg;
6150#[doc = "!< no sync found yet"]
6151pub const _ocsd_ptm_pkt_type_PTM_PKT_NOTSYNC: _ocsd_ptm_pkt_type = 0;
6152#[doc = "!< flushing incomplete packet at end of trace."]
6153pub const _ocsd_ptm_pkt_type_PTM_PKT_INCOMPLETE_EOT: _ocsd_ptm_pkt_type = 1;
6154#[doc = "!< no error base type packet."]
6155pub const _ocsd_ptm_pkt_type_PTM_PKT_NOERROR: _ocsd_ptm_pkt_type = 2;
6156#[doc = "!< Branch address with optional exception."]
6157pub const _ocsd_ptm_pkt_type_PTM_PKT_BRANCH_ADDRESS: _ocsd_ptm_pkt_type = 3;
6158#[doc = "!< Alignment Synchronisation."]
6159pub const _ocsd_ptm_pkt_type_PTM_PKT_A_SYNC: _ocsd_ptm_pkt_type = 4;
6160#[doc = "!< Instruction sync with address."]
6161pub const _ocsd_ptm_pkt_type_PTM_PKT_I_SYNC: _ocsd_ptm_pkt_type = 5;
6162#[doc = "!< trigger packet"]
6163pub const _ocsd_ptm_pkt_type_PTM_PKT_TRIGGER: _ocsd_ptm_pkt_type = 6;
6164#[doc = "!< Waypoint update."]
6165pub const _ocsd_ptm_pkt_type_PTM_PKT_WPOINT_UPDATE: _ocsd_ptm_pkt_type = 7;
6166#[doc = "!< ignore packet."]
6167pub const _ocsd_ptm_pkt_type_PTM_PKT_IGNORE: _ocsd_ptm_pkt_type = 8;
6168#[doc = "!< context id packet."]
6169pub const _ocsd_ptm_pkt_type_PTM_PKT_CONTEXT_ID: _ocsd_ptm_pkt_type = 9;
6170#[doc = "!< VMID packet"]
6171pub const _ocsd_ptm_pkt_type_PTM_PKT_VMID: _ocsd_ptm_pkt_type = 10;
6172#[doc = "!< atom waypoint packet."]
6173pub const _ocsd_ptm_pkt_type_PTM_PKT_ATOM: _ocsd_ptm_pkt_type = 11;
6174#[doc = "!< timestamp packet."]
6175pub const _ocsd_ptm_pkt_type_PTM_PKT_TIMESTAMP: _ocsd_ptm_pkt_type = 12;
6176#[doc = "!< exception return."]
6177pub const _ocsd_ptm_pkt_type_PTM_PKT_EXCEPTION_RET: _ocsd_ptm_pkt_type = 13;
6178pub const _ocsd_ptm_pkt_type_PTM_PKT_BRANCH_OR_BYPASS_EOT: _ocsd_ptm_pkt_type = 14;
6179pub const _ocsd_ptm_pkt_type_PTM_PKT_TPIU_PAD_EOB: _ocsd_ptm_pkt_type = 15;
6180#[doc = "!< invalid sequence for packet type"]
6181pub const _ocsd_ptm_pkt_type_PTM_PKT_BAD_SEQUENCE: _ocsd_ptm_pkt_type = 16;
6182#[doc = "!< Reserved packet encoding"]
6183pub const _ocsd_ptm_pkt_type_PTM_PKT_RESERVED: _ocsd_ptm_pkt_type = 17;
6184#[doc = " @name PTM Packet Types\n@{"]
6185pub type _ocsd_ptm_pkt_type = ::std::os::raw::c_uint;
6186#[doc = " @name PTM Packet Types\n@{"]
6187pub use self::_ocsd_ptm_pkt_type as ocsd_ptm_pkt_type;
6188#[repr(C)]
6189#[derive(Debug, Copy, Clone)]
6190pub struct _ptm_context_t {
6191    pub __bindgen_anon_1: _ptm_context_t__bindgen_ty_1,
6192    #[doc = "< Context ID"]
6193    pub ctxtID: u32,
6194    #[doc = "< VMID"]
6195    pub VMID: u8,
6196}
6197#[repr(C)]
6198#[repr(align(4))]
6199#[derive(Debug, Copy, Clone)]
6200pub struct _ptm_context_t__bindgen_ty_1 {
6201    pub _bitfield_align_1: [u8; 0],
6202    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6203    pub __bindgen_padding_0: [u8; 3usize],
6204}
6205#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6206const _: () = {
6207    ["Size of _ptm_context_t__bindgen_ty_1"]
6208        [::std::mem::size_of::<_ptm_context_t__bindgen_ty_1>() - 4usize];
6209    ["Alignment of _ptm_context_t__bindgen_ty_1"]
6210        [::std::mem::align_of::<_ptm_context_t__bindgen_ty_1>() - 4usize];
6211};
6212impl _ptm_context_t__bindgen_ty_1 {
6213    #[inline]
6214    pub fn curr_alt_isa(&self) -> u32 {
6215        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6216    }
6217    #[inline]
6218    pub fn set_curr_alt_isa(&mut self, val: u32) {
6219        unsafe {
6220            let val: u32 = ::std::mem::transmute(val);
6221            self._bitfield_1.set(0usize, 1u8, val as u64)
6222        }
6223    }
6224    #[inline]
6225    pub unsafe fn curr_alt_isa_raw(this: *const Self) -> u32 {
6226        unsafe {
6227            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
6228                ::std::ptr::addr_of!((*this)._bitfield_1),
6229                0usize,
6230                1u8,
6231            ) as u32)
6232        }
6233    }
6234    #[inline]
6235    pub unsafe fn set_curr_alt_isa_raw(this: *mut Self, val: u32) {
6236        unsafe {
6237            let val: u32 = ::std::mem::transmute(val);
6238            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
6239                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
6240                0usize,
6241                1u8,
6242                val as u64,
6243            )
6244        }
6245    }
6246    #[inline]
6247    pub fn curr_NS(&self) -> u32 {
6248        unsafe { ::std::mem::transmute(self._bitfield_1.get(1usize, 1u8) as u32) }
6249    }
6250    #[inline]
6251    pub fn set_curr_NS(&mut self, val: u32) {
6252        unsafe {
6253            let val: u32 = ::std::mem::transmute(val);
6254            self._bitfield_1.set(1usize, 1u8, val as u64)
6255        }
6256    }
6257    #[inline]
6258    pub unsafe fn curr_NS_raw(this: *const Self) -> u32 {
6259        unsafe {
6260            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
6261                ::std::ptr::addr_of!((*this)._bitfield_1),
6262                1usize,
6263                1u8,
6264            ) as u32)
6265        }
6266    }
6267    #[inline]
6268    pub unsafe fn set_curr_NS_raw(this: *mut Self, val: u32) {
6269        unsafe {
6270            let val: u32 = ::std::mem::transmute(val);
6271            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
6272                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
6273                1usize,
6274                1u8,
6275                val as u64,
6276            )
6277        }
6278    }
6279    #[inline]
6280    pub fn curr_Hyp(&self) -> u32 {
6281        unsafe { ::std::mem::transmute(self._bitfield_1.get(2usize, 1u8) as u32) }
6282    }
6283    #[inline]
6284    pub fn set_curr_Hyp(&mut self, val: u32) {
6285        unsafe {
6286            let val: u32 = ::std::mem::transmute(val);
6287            self._bitfield_1.set(2usize, 1u8, val as u64)
6288        }
6289    }
6290    #[inline]
6291    pub unsafe fn curr_Hyp_raw(this: *const Self) -> u32 {
6292        unsafe {
6293            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
6294                ::std::ptr::addr_of!((*this)._bitfield_1),
6295                2usize,
6296                1u8,
6297            ) as u32)
6298        }
6299    }
6300    #[inline]
6301    pub unsafe fn set_curr_Hyp_raw(this: *mut Self, val: u32) {
6302        unsafe {
6303            let val: u32 = ::std::mem::transmute(val);
6304            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
6305                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
6306                2usize,
6307                1u8,
6308                val as u64,
6309            )
6310        }
6311    }
6312    #[inline]
6313    pub fn updated(&self) -> u32 {
6314        unsafe { ::std::mem::transmute(self._bitfield_1.get(3usize, 1u8) as u32) }
6315    }
6316    #[inline]
6317    pub fn set_updated(&mut self, val: u32) {
6318        unsafe {
6319            let val: u32 = ::std::mem::transmute(val);
6320            self._bitfield_1.set(3usize, 1u8, val as u64)
6321        }
6322    }
6323    #[inline]
6324    pub unsafe fn updated_raw(this: *const Self) -> u32 {
6325        unsafe {
6326            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
6327                ::std::ptr::addr_of!((*this)._bitfield_1),
6328                3usize,
6329                1u8,
6330            ) as u32)
6331        }
6332    }
6333    #[inline]
6334    pub unsafe fn set_updated_raw(this: *mut Self, val: u32) {
6335        unsafe {
6336            let val: u32 = ::std::mem::transmute(val);
6337            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
6338                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
6339                3usize,
6340                1u8,
6341                val as u64,
6342            )
6343        }
6344    }
6345    #[inline]
6346    pub fn updated_c(&self) -> u32 {
6347        unsafe { ::std::mem::transmute(self._bitfield_1.get(4usize, 1u8) as u32) }
6348    }
6349    #[inline]
6350    pub fn set_updated_c(&mut self, val: u32) {
6351        unsafe {
6352            let val: u32 = ::std::mem::transmute(val);
6353            self._bitfield_1.set(4usize, 1u8, val as u64)
6354        }
6355    }
6356    #[inline]
6357    pub unsafe fn updated_c_raw(this: *const Self) -> u32 {
6358        unsafe {
6359            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
6360                ::std::ptr::addr_of!((*this)._bitfield_1),
6361                4usize,
6362                1u8,
6363            ) as u32)
6364        }
6365    }
6366    #[inline]
6367    pub unsafe fn set_updated_c_raw(this: *mut Self, val: u32) {
6368        unsafe {
6369            let val: u32 = ::std::mem::transmute(val);
6370            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
6371                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
6372                4usize,
6373                1u8,
6374                val as u64,
6375            )
6376        }
6377    }
6378    #[inline]
6379    pub fn updated_v(&self) -> u32 {
6380        unsafe { ::std::mem::transmute(self._bitfield_1.get(5usize, 1u8) as u32) }
6381    }
6382    #[inline]
6383    pub fn set_updated_v(&mut self, val: u32) {
6384        unsafe {
6385            let val: u32 = ::std::mem::transmute(val);
6386            self._bitfield_1.set(5usize, 1u8, val as u64)
6387        }
6388    }
6389    #[inline]
6390    pub unsafe fn updated_v_raw(this: *const Self) -> u32 {
6391        unsafe {
6392            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
6393                ::std::ptr::addr_of!((*this)._bitfield_1),
6394                5usize,
6395                1u8,
6396            ) as u32)
6397        }
6398    }
6399    #[inline]
6400    pub unsafe fn set_updated_v_raw(this: *mut Self, val: u32) {
6401        unsafe {
6402            let val: u32 = ::std::mem::transmute(val);
6403            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
6404                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
6405                5usize,
6406                1u8,
6407                val as u64,
6408            )
6409        }
6410    }
6411    #[inline]
6412    pub fn new_bitfield_1(
6413        curr_alt_isa: u32,
6414        curr_NS: u32,
6415        curr_Hyp: u32,
6416        updated: u32,
6417        updated_c: u32,
6418        updated_v: u32,
6419    ) -> __BindgenBitfieldUnit<[u8; 1usize]> {
6420        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
6421        __bindgen_bitfield_unit.set(0usize, 1u8, {
6422            let curr_alt_isa: u32 = unsafe { ::std::mem::transmute(curr_alt_isa) };
6423            curr_alt_isa as u64
6424        });
6425        __bindgen_bitfield_unit.set(1usize, 1u8, {
6426            let curr_NS: u32 = unsafe { ::std::mem::transmute(curr_NS) };
6427            curr_NS as u64
6428        });
6429        __bindgen_bitfield_unit.set(2usize, 1u8, {
6430            let curr_Hyp: u32 = unsafe { ::std::mem::transmute(curr_Hyp) };
6431            curr_Hyp as u64
6432        });
6433        __bindgen_bitfield_unit.set(3usize, 1u8, {
6434            let updated: u32 = unsafe { ::std::mem::transmute(updated) };
6435            updated as u64
6436        });
6437        __bindgen_bitfield_unit.set(4usize, 1u8, {
6438            let updated_c: u32 = unsafe { ::std::mem::transmute(updated_c) };
6439            updated_c as u64
6440        });
6441        __bindgen_bitfield_unit.set(5usize, 1u8, {
6442            let updated_v: u32 = unsafe { ::std::mem::transmute(updated_v) };
6443            updated_v as u64
6444        });
6445        __bindgen_bitfield_unit
6446    }
6447}
6448#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6449const _: () = {
6450    ["Size of _ptm_context_t"][::std::mem::size_of::<_ptm_context_t>() - 12usize];
6451    ["Alignment of _ptm_context_t"][::std::mem::align_of::<_ptm_context_t>() - 4usize];
6452    ["Offset of field: _ptm_context_t::ctxtID"]
6453        [::std::mem::offset_of!(_ptm_context_t, ctxtID) - 4usize];
6454    ["Offset of field: _ptm_context_t::VMID"]
6455        [::std::mem::offset_of!(_ptm_context_t, VMID) - 8usize];
6456};
6457pub type ptm_context_t = _ptm_context_t;
6458#[repr(C)]
6459#[derive(Debug, Copy, Clone)]
6460pub struct _ocsd_ptm_excep {
6461    #[doc = "<  exception type."]
6462    pub type_: ocsd_armv7_exception,
6463    #[doc = "< exception as number"]
6464    pub number: u16,
6465    pub bits: _ocsd_ptm_excep__bindgen_ty_1,
6466}
6467#[repr(C)]
6468#[repr(align(4))]
6469#[derive(Debug, Copy, Clone)]
6470pub struct _ocsd_ptm_excep__bindgen_ty_1 {
6471    pub _bitfield_align_1: [u8; 0],
6472    pub _bitfield_1: __BindgenBitfieldUnit<[u8; 1usize]>,
6473    pub __bindgen_padding_0: [u8; 3usize],
6474}
6475#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6476const _: () = {
6477    ["Size of _ocsd_ptm_excep__bindgen_ty_1"]
6478        [::std::mem::size_of::<_ocsd_ptm_excep__bindgen_ty_1>() - 4usize];
6479    ["Alignment of _ocsd_ptm_excep__bindgen_ty_1"]
6480        [::std::mem::align_of::<_ocsd_ptm_excep__bindgen_ty_1>() - 4usize];
6481};
6482impl _ocsd_ptm_excep__bindgen_ty_1 {
6483    #[inline]
6484    pub fn present(&self) -> u32 {
6485        unsafe { ::std::mem::transmute(self._bitfield_1.get(0usize, 1u8) as u32) }
6486    }
6487    #[inline]
6488    pub fn set_present(&mut self, val: u32) {
6489        unsafe {
6490            let val: u32 = ::std::mem::transmute(val);
6491            self._bitfield_1.set(0usize, 1u8, val as u64)
6492        }
6493    }
6494    #[inline]
6495    pub unsafe fn present_raw(this: *const Self) -> u32 {
6496        unsafe {
6497            ::std::mem::transmute(<__BindgenBitfieldUnit<[u8; 1usize]>>::raw_get(
6498                ::std::ptr::addr_of!((*this)._bitfield_1),
6499                0usize,
6500                1u8,
6501            ) as u32)
6502        }
6503    }
6504    #[inline]
6505    pub unsafe fn set_present_raw(this: *mut Self, val: u32) {
6506        unsafe {
6507            let val: u32 = ::std::mem::transmute(val);
6508            <__BindgenBitfieldUnit<[u8; 1usize]>>::raw_set(
6509                ::std::ptr::addr_of_mut!((*this)._bitfield_1),
6510                0usize,
6511                1u8,
6512                val as u64,
6513            )
6514        }
6515    }
6516    #[inline]
6517    pub fn new_bitfield_1(present: u32) -> __BindgenBitfieldUnit<[u8; 1usize]> {
6518        let mut __bindgen_bitfield_unit: __BindgenBitfieldUnit<[u8; 1usize]> = Default::default();
6519        __bindgen_bitfield_unit.set(0usize, 1u8, {
6520            let present: u32 = unsafe { ::std::mem::transmute(present) };
6521            present as u64
6522        });
6523        __bindgen_bitfield_unit
6524    }
6525}
6526#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6527const _: () = {
6528    ["Size of _ocsd_ptm_excep"][::std::mem::size_of::<_ocsd_ptm_excep>() - 12usize];
6529    ["Alignment of _ocsd_ptm_excep"][::std::mem::align_of::<_ocsd_ptm_excep>() - 4usize];
6530    ["Offset of field: _ocsd_ptm_excep::type_"]
6531        [::std::mem::offset_of!(_ocsd_ptm_excep, type_) - 0usize];
6532    ["Offset of field: _ocsd_ptm_excep::number"]
6533        [::std::mem::offset_of!(_ocsd_ptm_excep, number) - 4usize];
6534    ["Offset of field: _ocsd_ptm_excep::bits"]
6535        [::std::mem::offset_of!(_ocsd_ptm_excep, bits) - 8usize];
6536};
6537pub type ocsd_ptm_excep = _ocsd_ptm_excep;
6538#[repr(C)]
6539#[derive(Debug, Copy, Clone)]
6540pub struct _ocsd_ptm_pkt {
6541    #[doc = "< Primary packet type."]
6542    pub type_: ocsd_ptm_pkt_type,
6543    #[doc = "< current ISA."]
6544    pub curr_isa: ocsd_isa,
6545    #[doc = "< previous ISA"]
6546    pub prev_isa: ocsd_isa,
6547    #[doc = "< current address."]
6548    pub addr: ocsd_pkt_vaddr,
6549    #[doc = "< current context."]
6550    pub context: ptm_context_t,
6551    pub atom: ocsd_pkt_atom,
6552    #[doc = "< reason for ISync Packet."]
6553    pub i_sync_reason: ocsd_iSync_reason,
6554    #[doc = "< cycle count value associated with this packet."]
6555    pub cycle_count: u32,
6556    #[doc = "< cycle count value valid."]
6557    pub cc_valid: u8,
6558    #[doc = "< timestamp value."]
6559    pub timestamp: u64,
6560    #[doc = "< bits of ts updated this packet. (if TS packet)"]
6561    pub ts_update_bits: u8,
6562    #[doc = "< exception information in packet"]
6563    pub exception: ocsd_ptm_excep,
6564    #[doc = "< Basic packet type if primary type indicates error or incomplete."]
6565    pub err_type: ocsd_ptm_pkt_type,
6566}
6567#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6568const _: () = {
6569    ["Size of _ocsd_ptm_pkt"][::std::mem::size_of::<_ocsd_ptm_pkt>() - 104usize];
6570    ["Alignment of _ocsd_ptm_pkt"][::std::mem::align_of::<_ocsd_ptm_pkt>() - 8usize];
6571    ["Offset of field: _ocsd_ptm_pkt::type_"]
6572        [::std::mem::offset_of!(_ocsd_ptm_pkt, type_) - 0usize];
6573    ["Offset of field: _ocsd_ptm_pkt::curr_isa"]
6574        [::std::mem::offset_of!(_ocsd_ptm_pkt, curr_isa) - 4usize];
6575    ["Offset of field: _ocsd_ptm_pkt::prev_isa"]
6576        [::std::mem::offset_of!(_ocsd_ptm_pkt, prev_isa) - 8usize];
6577    ["Offset of field: _ocsd_ptm_pkt::addr"][::std::mem::offset_of!(_ocsd_ptm_pkt, addr) - 16usize];
6578    ["Offset of field: _ocsd_ptm_pkt::context"]
6579        [::std::mem::offset_of!(_ocsd_ptm_pkt, context) - 40usize];
6580    ["Offset of field: _ocsd_ptm_pkt::atom"][::std::mem::offset_of!(_ocsd_ptm_pkt, atom) - 52usize];
6581    ["Offset of field: _ocsd_ptm_pkt::i_sync_reason"]
6582        [::std::mem::offset_of!(_ocsd_ptm_pkt, i_sync_reason) - 60usize];
6583    ["Offset of field: _ocsd_ptm_pkt::cycle_count"]
6584        [::std::mem::offset_of!(_ocsd_ptm_pkt, cycle_count) - 64usize];
6585    ["Offset of field: _ocsd_ptm_pkt::cc_valid"]
6586        [::std::mem::offset_of!(_ocsd_ptm_pkt, cc_valid) - 68usize];
6587    ["Offset of field: _ocsd_ptm_pkt::timestamp"]
6588        [::std::mem::offset_of!(_ocsd_ptm_pkt, timestamp) - 72usize];
6589    ["Offset of field: _ocsd_ptm_pkt::ts_update_bits"]
6590        [::std::mem::offset_of!(_ocsd_ptm_pkt, ts_update_bits) - 80usize];
6591    ["Offset of field: _ocsd_ptm_pkt::exception"]
6592        [::std::mem::offset_of!(_ocsd_ptm_pkt, exception) - 84usize];
6593    ["Offset of field: _ocsd_ptm_pkt::err_type"]
6594        [::std::mem::offset_of!(_ocsd_ptm_pkt, err_type) - 96usize];
6595};
6596pub type ocsd_ptm_pkt = _ocsd_ptm_pkt;
6597#[repr(C)]
6598#[derive(Debug, Copy, Clone)]
6599pub struct _ocsd_ptm_cfg {
6600    #[doc = "< PTM ID register"]
6601    pub reg_idr: u32,
6602    #[doc = "< Control Register"]
6603    pub reg_ctrl: u32,
6604    #[doc = "< Condition code extension register"]
6605    pub reg_ccer: u32,
6606    #[doc = "< CoreSight Trace ID register"]
6607    pub reg_trc_id: u32,
6608    #[doc = "< Architecture version"]
6609    pub arch_ver: ocsd_arch_version_t,
6610    #[doc = "< Core Profile"]
6611    pub core_prof: ocsd_core_profile_t,
6612}
6613#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6614const _: () = {
6615    ["Size of _ocsd_ptm_cfg"][::std::mem::size_of::<_ocsd_ptm_cfg>() - 24usize];
6616    ["Alignment of _ocsd_ptm_cfg"][::std::mem::align_of::<_ocsd_ptm_cfg>() - 4usize];
6617    ["Offset of field: _ocsd_ptm_cfg::reg_idr"]
6618        [::std::mem::offset_of!(_ocsd_ptm_cfg, reg_idr) - 0usize];
6619    ["Offset of field: _ocsd_ptm_cfg::reg_ctrl"]
6620        [::std::mem::offset_of!(_ocsd_ptm_cfg, reg_ctrl) - 4usize];
6621    ["Offset of field: _ocsd_ptm_cfg::reg_ccer"]
6622        [::std::mem::offset_of!(_ocsd_ptm_cfg, reg_ccer) - 8usize];
6623    ["Offset of field: _ocsd_ptm_cfg::reg_trc_id"]
6624        [::std::mem::offset_of!(_ocsd_ptm_cfg, reg_trc_id) - 12usize];
6625    ["Offset of field: _ocsd_ptm_cfg::arch_ver"]
6626        [::std::mem::offset_of!(_ocsd_ptm_cfg, arch_ver) - 16usize];
6627    ["Offset of field: _ocsd_ptm_cfg::core_prof"]
6628        [::std::mem::offset_of!(_ocsd_ptm_cfg, core_prof) - 20usize];
6629};
6630pub type ocsd_ptm_cfg = _ocsd_ptm_cfg;
6631#[doc = "< Not synchronised"]
6632pub const _ocsd_stm_pkt_type_STM_PKT_NOTSYNC: _ocsd_stm_pkt_type = 0;
6633#[doc = "< Incomplete packet flushed at end of trace."]
6634pub const _ocsd_stm_pkt_type_STM_PKT_INCOMPLETE_EOT: _ocsd_stm_pkt_type = 1;
6635#[doc = "< No error in error packet marker."]
6636pub const _ocsd_stm_pkt_type_STM_PKT_NO_ERR_TYPE: _ocsd_stm_pkt_type = 2;
6637#[doc = "< Alignment synchronisation packet"]
6638pub const _ocsd_stm_pkt_type_STM_PKT_ASYNC: _ocsd_stm_pkt_type = 3;
6639#[doc = "< Version packet"]
6640pub const _ocsd_stm_pkt_type_STM_PKT_VERSION: _ocsd_stm_pkt_type = 4;
6641#[doc = "< Frequency packet"]
6642pub const _ocsd_stm_pkt_type_STM_PKT_FREQ: _ocsd_stm_pkt_type = 5;
6643#[doc = "< Null packet"]
6644pub const _ocsd_stm_pkt_type_STM_PKT_NULL: _ocsd_stm_pkt_type = 6;
6645#[doc = "< Trigger event packet."]
6646pub const _ocsd_stm_pkt_type_STM_PKT_TRIG: _ocsd_stm_pkt_type = 7;
6647#[doc = "< Global error packet - protocol error but unknown which master had error"]
6648pub const _ocsd_stm_pkt_type_STM_PKT_GERR: _ocsd_stm_pkt_type = 8;
6649#[doc = "< Master error packet - current master detected an error (e.g. dropped trace)"]
6650pub const _ocsd_stm_pkt_type_STM_PKT_MERR: _ocsd_stm_pkt_type = 9;
6651#[doc = "< Set current master"]
6652pub const _ocsd_stm_pkt_type_STM_PKT_M8: _ocsd_stm_pkt_type = 10;
6653#[doc = "< Set lower 8 bits of current channel"]
6654pub const _ocsd_stm_pkt_type_STM_PKT_C8: _ocsd_stm_pkt_type = 11;
6655#[doc = "< Set current channel"]
6656pub const _ocsd_stm_pkt_type_STM_PKT_C16: _ocsd_stm_pkt_type = 12;
6657#[doc = "< Flag packet"]
6658pub const _ocsd_stm_pkt_type_STM_PKT_FLAG: _ocsd_stm_pkt_type = 13;
6659#[doc = "< 4 bit data payload packet"]
6660pub const _ocsd_stm_pkt_type_STM_PKT_D4: _ocsd_stm_pkt_type = 14;
6661#[doc = "< 8 bit data payload packet"]
6662pub const _ocsd_stm_pkt_type_STM_PKT_D8: _ocsd_stm_pkt_type = 15;
6663#[doc = "< 16 bit data payload packet"]
6664pub const _ocsd_stm_pkt_type_STM_PKT_D16: _ocsd_stm_pkt_type = 16;
6665#[doc = "< 32 bit data payload packet"]
6666pub const _ocsd_stm_pkt_type_STM_PKT_D32: _ocsd_stm_pkt_type = 17;
6667#[doc = "< 64 bit data payload packet"]
6668pub const _ocsd_stm_pkt_type_STM_PKT_D64: _ocsd_stm_pkt_type = 18;
6669#[doc = "< Incorrect protocol sequence"]
6670pub const _ocsd_stm_pkt_type_STM_PKT_BAD_SEQUENCE: _ocsd_stm_pkt_type = 19;
6671#[doc = "< Reserved packet header / not supported by CS-STM"]
6672pub const _ocsd_stm_pkt_type_STM_PKT_RESERVED: _ocsd_stm_pkt_type = 20;
6673#[doc = " STM protocol packet types.\nContains both protocol packet types and markers for unsynced processor\nstate and bad packet sequences."]
6674pub type _ocsd_stm_pkt_type = ::std::os::raw::c_uint;
6675#[doc = " STM protocol packet types.\nContains both protocol packet types and markers for unsynced processor\nstate and bad packet sequences."]
6676pub use self::_ocsd_stm_pkt_type as ocsd_stm_pkt_type;
6677#[doc = "< TS encoding unknown at present."]
6678pub const _ocsd_stm_ts_type_STM_TS_UNKNOWN: _ocsd_stm_ts_type = 0;
6679#[doc = "< TS encoding natural binary"]
6680pub const _ocsd_stm_ts_type_STM_TS_NATBINARY: _ocsd_stm_ts_type = 1;
6681#[doc = "< TS encoding grey coded."]
6682pub const _ocsd_stm_ts_type_STM_TS_GREY: _ocsd_stm_ts_type = 2;
6683#[doc = " STM timestamp encoding type.\nExtracted from STM version packet.\nCS-STM supports Natural binary and grey encodings."]
6684pub type _ocsd_stm_ts_type = ::std::os::raw::c_uint;
6685#[doc = " STM timestamp encoding type.\nExtracted from STM version packet.\nCS-STM supports Natural binary and grey encodings."]
6686pub use self::_ocsd_stm_ts_type as ocsd_stm_ts_type;
6687#[doc = " STM trace packet\n\nStructure containing the packet data for a single STM packet, plus\ndata persisting between packets (master, channel, last timestamp)."]
6688#[repr(C)]
6689#[derive(Copy, Clone)]
6690pub struct _ocsd_stm_pkt {
6691    #[doc = "< STM packet type"]
6692    pub type_: ocsd_stm_pkt_type,
6693    #[doc = "< current master"]
6694    pub master: u8,
6695    #[doc = "< current channel"]
6696    pub channel: u16,
6697    #[doc = "< latest timestamp value -> as binary - packet processor does grey decoding"]
6698    pub timestamp: u64,
6699    #[doc = "< timestamp bits updated this packet"]
6700    pub pkt_ts_bits: u8,
6701    #[doc = "< current packet has associated timestamp (ts bits can be 0 if same value as last time)"]
6702    pub pkt_has_ts: u8,
6703    #[doc = "< timestamp encoding type"]
6704    pub ts_type: ocsd_stm_ts_type,
6705    #[doc = "< flag to indicate current packet has marker"]
6706    pub pkt_has_marker: u8,
6707    pub payload: _ocsd_stm_pkt__bindgen_ty_1,
6708    #[doc = "< Initial type of packet if type indicates bad sequence."]
6709    pub err_type: ocsd_stm_pkt_type,
6710}
6711#[repr(C)]
6712#[derive(Copy, Clone)]
6713pub union _ocsd_stm_pkt__bindgen_ty_1 {
6714    #[doc = "< payload for D8 or D4 data packet, or parameter value for other packets with 8 bit value [VERSION, TRIG, xERR]"]
6715    pub D8: u8,
6716    #[doc = "< payload for D16 data packet, or reserved opcode in bad packet header (1-3 nibbles)"]
6717    pub D16: u16,
6718    #[doc = "< payload for D32 data packet, or parameter value for other packets with 32 bit value [FREQ]"]
6719    pub D32: u32,
6720    #[doc = "< payload for D64 data packet"]
6721    pub D64: u64,
6722}
6723#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6724const _: () = {
6725    ["Size of _ocsd_stm_pkt__bindgen_ty_1"]
6726        [::std::mem::size_of::<_ocsd_stm_pkt__bindgen_ty_1>() - 8usize];
6727    ["Alignment of _ocsd_stm_pkt__bindgen_ty_1"]
6728        [::std::mem::align_of::<_ocsd_stm_pkt__bindgen_ty_1>() - 8usize];
6729    ["Offset of field: _ocsd_stm_pkt__bindgen_ty_1::D8"]
6730        [::std::mem::offset_of!(_ocsd_stm_pkt__bindgen_ty_1, D8) - 0usize];
6731    ["Offset of field: _ocsd_stm_pkt__bindgen_ty_1::D16"]
6732        [::std::mem::offset_of!(_ocsd_stm_pkt__bindgen_ty_1, D16) - 0usize];
6733    ["Offset of field: _ocsd_stm_pkt__bindgen_ty_1::D32"]
6734        [::std::mem::offset_of!(_ocsd_stm_pkt__bindgen_ty_1, D32) - 0usize];
6735    ["Offset of field: _ocsd_stm_pkt__bindgen_ty_1::D64"]
6736        [::std::mem::offset_of!(_ocsd_stm_pkt__bindgen_ty_1, D64) - 0usize];
6737};
6738#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6739const _: () = {
6740    ["Size of _ocsd_stm_pkt"][::std::mem::size_of::<_ocsd_stm_pkt>() - 48usize];
6741    ["Alignment of _ocsd_stm_pkt"][::std::mem::align_of::<_ocsd_stm_pkt>() - 8usize];
6742    ["Offset of field: _ocsd_stm_pkt::type_"]
6743        [::std::mem::offset_of!(_ocsd_stm_pkt, type_) - 0usize];
6744    ["Offset of field: _ocsd_stm_pkt::master"]
6745        [::std::mem::offset_of!(_ocsd_stm_pkt, master) - 4usize];
6746    ["Offset of field: _ocsd_stm_pkt::channel"]
6747        [::std::mem::offset_of!(_ocsd_stm_pkt, channel) - 6usize];
6748    ["Offset of field: _ocsd_stm_pkt::timestamp"]
6749        [::std::mem::offset_of!(_ocsd_stm_pkt, timestamp) - 8usize];
6750    ["Offset of field: _ocsd_stm_pkt::pkt_ts_bits"]
6751        [::std::mem::offset_of!(_ocsd_stm_pkt, pkt_ts_bits) - 16usize];
6752    ["Offset of field: _ocsd_stm_pkt::pkt_has_ts"]
6753        [::std::mem::offset_of!(_ocsd_stm_pkt, pkt_has_ts) - 17usize];
6754    ["Offset of field: _ocsd_stm_pkt::ts_type"]
6755        [::std::mem::offset_of!(_ocsd_stm_pkt, ts_type) - 20usize];
6756    ["Offset of field: _ocsd_stm_pkt::pkt_has_marker"]
6757        [::std::mem::offset_of!(_ocsd_stm_pkt, pkt_has_marker) - 24usize];
6758    ["Offset of field: _ocsd_stm_pkt::payload"]
6759        [::std::mem::offset_of!(_ocsd_stm_pkt, payload) - 32usize];
6760    ["Offset of field: _ocsd_stm_pkt::err_type"]
6761        [::std::mem::offset_of!(_ocsd_stm_pkt, err_type) - 40usize];
6762};
6763#[doc = " STM trace packet\n\nStructure containing the packet data for a single STM packet, plus\ndata persisting between packets (master, channel, last timestamp)."]
6764pub type ocsd_stm_pkt = _ocsd_stm_pkt;
6765#[doc = "< status of HW event features not known - assume not present or disabled"]
6766pub const _hw_event_feat_HwEvent_Unknown_Disabled: _hw_event_feat = 0;
6767#[doc = "< HW event present and enabled - ignore Feat regs, assume hwev_mast value valid"]
6768pub const _hw_event_feat_HwEvent_Enabled: _hw_event_feat = 1;
6769#[doc = "< Feature Register values and enable bits used to determine HW event trace status"]
6770pub const _hw_event_feat_HwEvent_UseRegisters: _hw_event_feat = 2;
6771#[doc = " HW Event trace feature\nDefines if the STM supports or has enabled the HW event trace feature.\nThis may not always be able to be determined by the registers, or the feature\nvalues can override if HW event trace is to be ignored."]
6772pub type _hw_event_feat = ::std::os::raw::c_uint;
6773#[doc = " HW Event trace feature\nDefines if the STM supports or has enabled the HW event trace feature.\nThis may not always be able to be determined by the registers, or the feature\nvalues can override if HW event trace is to be ignored."]
6774pub use self::_hw_event_feat as hw_event_feat_t;
6775#[doc = " STM hardware configuration.\nContains hardware register values at time of trace capture and HW event feature\nfield to enable and control decode of STM trace stream."]
6776#[repr(C)]
6777#[derive(Debug, Copy, Clone)]
6778pub struct _ocsd_stm_cfg {
6779    #[doc = "< Contains CoreSight trace ID, HWTEN"]
6780    pub reg_tcsr: u32,
6781    #[doc = "< defines number of masters"]
6782    pub reg_feat3r: u32,
6783    #[doc = "< defines number of channels per master"]
6784    pub reg_devid: u32,
6785    #[doc = "< defines HW trace features"]
6786    pub reg_feat1r: u32,
6787    #[doc = "< master ID for HW event trace"]
6788    pub reg_hwev_mast: u32,
6789    #[doc = "< status of HW event trace"]
6790    pub hw_event: hw_event_feat_t,
6791}
6792#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6793const _: () = {
6794    ["Size of _ocsd_stm_cfg"][::std::mem::size_of::<_ocsd_stm_cfg>() - 24usize];
6795    ["Alignment of _ocsd_stm_cfg"][::std::mem::align_of::<_ocsd_stm_cfg>() - 4usize];
6796    ["Offset of field: _ocsd_stm_cfg::reg_tcsr"]
6797        [::std::mem::offset_of!(_ocsd_stm_cfg, reg_tcsr) - 0usize];
6798    ["Offset of field: _ocsd_stm_cfg::reg_feat3r"]
6799        [::std::mem::offset_of!(_ocsd_stm_cfg, reg_feat3r) - 4usize];
6800    ["Offset of field: _ocsd_stm_cfg::reg_devid"]
6801        [::std::mem::offset_of!(_ocsd_stm_cfg, reg_devid) - 8usize];
6802    ["Offset of field: _ocsd_stm_cfg::reg_feat1r"]
6803        [::std::mem::offset_of!(_ocsd_stm_cfg, reg_feat1r) - 12usize];
6804    ["Offset of field: _ocsd_stm_cfg::reg_hwev_mast"]
6805        [::std::mem::offset_of!(_ocsd_stm_cfg, reg_hwev_mast) - 16usize];
6806    ["Offset of field: _ocsd_stm_cfg::hw_event"]
6807        [::std::mem::offset_of!(_ocsd_stm_cfg, hw_event) - 20usize];
6808};
6809#[doc = " STM hardware configuration.\nContains hardware register values at time of trace capture and HW event feature\nfield to enable and control decode of STM trace stream."]
6810pub type ocsd_stm_cfg = _ocsd_stm_cfg;
6811#[doc = " @name ETE config Types\n@{"]
6812#[repr(C)]
6813#[derive(Debug, Copy, Clone)]
6814pub struct _ocsd_ete_cfg {
6815    #[doc = "< ID0 register"]
6816    pub reg_idr0: u32,
6817    #[doc = "< ID1 register"]
6818    pub reg_idr1: u32,
6819    #[doc = "< ID2 register"]
6820    pub reg_idr2: u32,
6821    #[doc = "< ID8 - maxspec"]
6822    pub reg_idr8: u32,
6823    #[doc = "< DevArch register"]
6824    pub reg_devarch: u32,
6825    #[doc = "< Config Register"]
6826    pub reg_configr: u32,
6827    #[doc = "< Trace Stream ID register"]
6828    pub reg_traceidr: u32,
6829    #[doc = "< Architecture version"]
6830    pub arch_ver: ocsd_arch_version_t,
6831    #[doc = "< Core Profile"]
6832    pub core_prof: ocsd_core_profile_t,
6833}
6834#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6835const _: () = {
6836    ["Size of _ocsd_ete_cfg"][::std::mem::size_of::<_ocsd_ete_cfg>() - 36usize];
6837    ["Alignment of _ocsd_ete_cfg"][::std::mem::align_of::<_ocsd_ete_cfg>() - 4usize];
6838    ["Offset of field: _ocsd_ete_cfg::reg_idr0"]
6839        [::std::mem::offset_of!(_ocsd_ete_cfg, reg_idr0) - 0usize];
6840    ["Offset of field: _ocsd_ete_cfg::reg_idr1"]
6841        [::std::mem::offset_of!(_ocsd_ete_cfg, reg_idr1) - 4usize];
6842    ["Offset of field: _ocsd_ete_cfg::reg_idr2"]
6843        [::std::mem::offset_of!(_ocsd_ete_cfg, reg_idr2) - 8usize];
6844    ["Offset of field: _ocsd_ete_cfg::reg_idr8"]
6845        [::std::mem::offset_of!(_ocsd_ete_cfg, reg_idr8) - 12usize];
6846    ["Offset of field: _ocsd_ete_cfg::reg_devarch"]
6847        [::std::mem::offset_of!(_ocsd_ete_cfg, reg_devarch) - 16usize];
6848    ["Offset of field: _ocsd_ete_cfg::reg_configr"]
6849        [::std::mem::offset_of!(_ocsd_ete_cfg, reg_configr) - 20usize];
6850    ["Offset of field: _ocsd_ete_cfg::reg_traceidr"]
6851        [::std::mem::offset_of!(_ocsd_ete_cfg, reg_traceidr) - 24usize];
6852    ["Offset of field: _ocsd_ete_cfg::arch_ver"]
6853        [::std::mem::offset_of!(_ocsd_ete_cfg, arch_ver) - 28usize];
6854    ["Offset of field: _ocsd_ete_cfg::core_prof"]
6855        [::std::mem::offset_of!(_ocsd_ete_cfg, core_prof) - 32usize];
6856};
6857#[doc = " @name ETE config Types\n@{"]
6858pub type ocsd_ete_cfg = _ocsd_ete_cfg;
6859#[doc = " Handle to decode tree"]
6860pub type dcd_tree_handle_t = *mut ::std::os::raw::c_void;
6861#[doc = " function pointer type for decoder outputs. all protocols, generic data element input"]
6862pub type FnTraceElemIn = ::std::option::Option<
6863    unsafe extern "C" fn(
6864        p_context: *const ::std::os::raw::c_void,
6865        index_sop: ocsd_trc_index_t,
6866        trc_chan_id: u8,
6867        elem: *const ocsd_generic_trace_elem,
6868    ) -> ocsd_datapath_resp_t,
6869>;
6870#[doc = " function pointer type for packet processor packet output sink, packet analyser/decoder input - generic declaration"]
6871pub type FnDefPktDataIn = ::std::option::Option<
6872    unsafe extern "C" fn(
6873        p_context: *const ::std::os::raw::c_void,
6874        op: ocsd_datapath_op_t,
6875        index_sop: ocsd_trc_index_t,
6876        p_packet_in: *const ::std::os::raw::c_void,
6877    ) -> ocsd_datapath_resp_t,
6878>;
6879#[doc = " function pointer type for packet processor packet monitor sink, raw packet monitor / display input - generic declaration"]
6880pub type FnDefPktDataMon = ::std::option::Option<
6881    unsafe extern "C" fn(
6882        p_context: *const ::std::os::raw::c_void,
6883        op: ocsd_datapath_op_t,
6884        index_sop: ocsd_trc_index_t,
6885        p_packet_in: *const ::std::os::raw::c_void,
6886        size: u32,
6887        p_data: *const u8,
6888    ),
6889>;
6890#[doc = " function pointer tyee for library default logger output to allow client to print zero terminated output string"]
6891pub type FnDefLoggerPrintStrCB = ::std::option::Option<
6892    unsafe extern "C" fn(
6893        p_context: *const ::std::os::raw::c_void,
6894        psz_msg_str: *const ::std::os::raw::c_char,
6895        str_len: ::std::os::raw::c_int,
6896    ),
6897>;
6898pub const _ocsd_c_api_cb_types_OCSD_C_API_CB_PKT_SINK: _ocsd_c_api_cb_types = 0;
6899#[doc = " Attach to the packet processor primary packet output (CB fn is FnDefPktDataIn)"]
6900pub const _ocsd_c_api_cb_types_OCSD_C_API_CB_PKT_MON: _ocsd_c_api_cb_types = 1;
6901#[doc = " Callback interface type when attaching monitor/sink to packet processor"]
6902pub type _ocsd_c_api_cb_types = ::std::os::raw::c_uint;
6903#[doc = " Callback interface type when attaching monitor/sink to packet processor"]
6904pub use self::_ocsd_c_api_cb_types as ocsd_c_api_cb_types;
6905#[doc = " Raw trace data input function - a decoder must have one of these\nImplements ITrcDataIn with the addition of a decoder handle to provide context in the decoder."]
6906pub type fnTraceDataIn = ::std::option::Option<
6907    unsafe extern "C" fn(
6908        decoder_handle: *const ::std::os::raw::c_void,
6909        op: ocsd_datapath_op_t,
6910        index: ocsd_trc_index_t,
6911        dataBlockSize: u32,
6912        pDataBlock: *const u8,
6913        numBytesProcessed: *mut u32,
6914    ) -> ocsd_datapath_resp_t,
6915>;
6916#[doc = " Function to update the in-use flags for the packet sinks\n\nDefines if the fnPktMonCB or fnPktDataSinkCB callbacks are in use by the library.\nIf so then it is expected that the decoder should call them when trace protocol packets are generated.\n\nThis function must be implemented in the decoder.\n\n@param decoder_handle : handle for decoder accessed by this call.\n@param flags: Values indicating interfaces in use / not in use. [ OCSD_CUST_DCD_PKT_CB_USE_MON or  OCSD_CUST_DCD_PKT_CB_USE_SINK]"]
6917pub type fnUpdatePktMonFlags = ::std::option::Option<
6918    unsafe extern "C" fn(
6919        decoder_handle: *const ::std::os::raw::c_void,
6920        flags: ::std::os::raw::c_int,
6921    ),
6922>;
6923#[doc = " Owned by the library instance object, this structure is filled in by the ocsd_extern_dcd_fact_t createDecoder() function."]
6924#[repr(C)]
6925#[derive(Debug, Copy, Clone)]
6926pub struct _ocsd_extern_dcd_inst {
6927    #[doc = "< raw trace data input function to decoder"]
6928    pub fn_data_in: fnTraceDataIn,
6929    #[doc = "< update the packet monitor / sink usage flags"]
6930    pub fn_update_pkt_mon: fnUpdatePktMonFlags,
6931    #[doc = "< Instance handle for the decoder  - used by library to call the decoder call in functions"]
6932    pub decoder_handle: *mut ::std::os::raw::c_void,
6933    #[doc = "< type name of the decoder - may be used in logging"]
6934    pub p_decoder_name: *mut ::std::os::raw::c_char,
6935    #[doc = "< Coresight ID for the instance - extracted from the config on creation."]
6936    pub cs_id: u8,
6937}
6938#[allow(clippy::unnecessary_operation, clippy::identity_op)]
6939const _: () = {
6940    ["Size of _ocsd_extern_dcd_inst"][::std::mem::size_of::<_ocsd_extern_dcd_inst>() - 40usize];
6941    ["Alignment of _ocsd_extern_dcd_inst"]
6942        [::std::mem::align_of::<_ocsd_extern_dcd_inst>() - 8usize];
6943    ["Offset of field: _ocsd_extern_dcd_inst::fn_data_in"]
6944        [::std::mem::offset_of!(_ocsd_extern_dcd_inst, fn_data_in) - 0usize];
6945    ["Offset of field: _ocsd_extern_dcd_inst::fn_update_pkt_mon"]
6946        [::std::mem::offset_of!(_ocsd_extern_dcd_inst, fn_update_pkt_mon) - 8usize];
6947    ["Offset of field: _ocsd_extern_dcd_inst::decoder_handle"]
6948        [::std::mem::offset_of!(_ocsd_extern_dcd_inst, decoder_handle) - 16usize];
6949    ["Offset of field: _ocsd_extern_dcd_inst::p_decoder_name"]
6950        [::std::mem::offset_of!(_ocsd_extern_dcd_inst, p_decoder_name) - 24usize];
6951    ["Offset of field: _ocsd_extern_dcd_inst::cs_id"]
6952        [::std::mem::offset_of!(_ocsd_extern_dcd_inst, cs_id) - 32usize];
6953};
6954#[doc = " Owned by the library instance object, this structure is filled in by the ocsd_extern_dcd_fact_t createDecoder() function."]
6955pub type ocsd_extern_dcd_inst_t = _ocsd_extern_dcd_inst;
6956#[doc = " callback function to connect into the generic element output point\nImplements ITrcGenElemIn::TraceElemIn with addition of library context pointer."]
6957pub type fnGenElemOpCB = ::std::option::Option<
6958    unsafe extern "C" fn(
6959        lib_context: *const ::std::os::raw::c_void,
6960        index_sop: ocsd_trc_index_t,
6961        trc_chan_id: u8,
6962        elem: *const ocsd_generic_trace_elem,
6963    ) -> ocsd_datapath_resp_t,
6964>;
6965#[doc = " callback functions to connect into the library error logging mechanism\nImplements ITraceErrorLog::LogError with addition of library context pointer."]
6966pub type fnLogErrorCB = ::std::option::Option<
6967    unsafe extern "C" fn(
6968        lib_context: *const ::std::os::raw::c_void,
6969        filter_level: ocsd_err_severity_t,
6970        code: ocsd_err_t,
6971        idx: ocsd_trc_index_t,
6972        chan_id: u8,
6973        pMsg: *const ::std::os::raw::c_char,
6974    ),
6975>;
6976#[doc = " callback functions to connect into the library error logging mechanism\nImplements ITraceErrorLog::LogMessage with addition of library context pointer."]
6977pub type fnLogMsgCB = ::std::option::Option<
6978    unsafe extern "C" fn(
6979        lib_context: *const ::std::os::raw::c_void,
6980        filter_level: ocsd_err_severity_t,
6981        msg: *const ::std::os::raw::c_char,
6982    ),
6983>;
6984#[doc = " callback function to connect an ARM instruction decoder\nImplements IInstrDecode::DecodeInstruction with addition of library context pointer."]
6985pub type fnDecodeArmInstCB = ::std::option::Option<
6986    unsafe extern "C" fn(
6987        lib_context: *const ::std::os::raw::c_void,
6988        instr_info: *mut ocsd_instr_info,
6989    ) -> ocsd_err_t,
6990>;
6991#[doc = " callback function to connect the memory accessor interface\nImplements ITargetMemAccess::ReadTargetMemory with addition of library context pointer."]
6992pub type fnMemAccessCB = ::std::option::Option<
6993    unsafe extern "C" fn(
6994        lib_context: *const ::std::os::raw::c_void,
6995        address: ocsd_vaddr_t,
6996        cs_trace_id: u8,
6997        mem_space: ocsd_mem_space_acc_t,
6998        num_bytes: *mut u32,
6999        p_buffer: *mut u8,
7000    ) -> ocsd_err_t,
7001>;
7002#[doc = " callback function to connect to the packet monitor interface of the packet processor\nImplements IPktRawDataMon::RawPacketDataMon <void> with addition of library context pointer."]
7003pub type fnPktMonCB = ::std::option::Option<
7004    unsafe extern "C" fn(
7005        lib_context: *const ::std::os::raw::c_void,
7006        op: ocsd_datapath_op_t,
7007        index_sop: ocsd_trc_index_t,
7008        pkt: *const ::std::os::raw::c_void,
7009        size: u32,
7010        p_data: *const u8,
7011    ),
7012>;
7013#[doc = " callback function to connect to the packet sink interface, on the main decode\ndata path - use if decoder created as packet processor only\n\nImplements IPktDataIn::PacketDataIn <void> with addition of library context pointer."]
7014pub type fnPktDataSinkCB = ::std::option::Option<
7015    unsafe extern "C" fn(
7016        lib_context: *const ::std::os::raw::c_void,
7017        op: ocsd_datapath_op_t,
7018        index_sop: ocsd_trc_index_t,
7019        pkt: *const ::std::os::raw::c_void,
7020    ) -> ocsd_datapath_resp_t,
7021>;
7022#[doc = " an instance of this is owned by the decoder, filled in by the library - allows the CB fns in the library decode tree to be called."]
7023#[repr(C)]
7024#[derive(Debug, Copy, Clone)]
7025pub struct _ocsd_extern_dcd_cb_fns {
7026    #[doc = "< Callback to output a generic element."]
7027    pub fn_gen_elem_out: fnGenElemOpCB,
7028    #[doc = "< Callback to output an error."]
7029    pub fn_log_error: fnLogErrorCB,
7030    #[doc = "< Callback to output a message."]
7031    pub fn_log_msg: fnLogMsgCB,
7032    #[doc = "< Callback to decode an ARM instruction."]
7033    pub fn_arm_instruction_decode: fnDecodeArmInstCB,
7034    #[doc = "< Callback to access memory images related to the trace capture."]
7035    pub fn_memory_access: fnMemAccessCB,
7036    #[doc = "< Callback to output trace packet to packet monitor."]
7037    pub fn_packet_mon: fnPktMonCB,
7038    #[doc = "< Callback to output trace packet to packet sink - if in pack processing only mode."]
7039    pub fn_packet_data_sink: fnPktDataSinkCB,
7040    #[doc = "< Flags to indicate if the packet sink / packet monitor callbacks are in use. ( OCSD_CUST_DCD_PKT_CB_USE_MON / OCSD_CUST_DCD_PKT_CB_USE_SINK)"]
7041    pub packetCBFlags: ::std::os::raw::c_int,
7042    #[doc = "< library context pointer - use in callbacks to allow the library to load the correct context data."]
7043    pub lib_context: *const ::std::os::raw::c_void,
7044}
7045#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7046const _: () = {
7047    ["Size of _ocsd_extern_dcd_cb_fns"][::std::mem::size_of::<_ocsd_extern_dcd_cb_fns>() - 72usize];
7048    ["Alignment of _ocsd_extern_dcd_cb_fns"]
7049        [::std::mem::align_of::<_ocsd_extern_dcd_cb_fns>() - 8usize];
7050    ["Offset of field: _ocsd_extern_dcd_cb_fns::fn_gen_elem_out"]
7051        [::std::mem::offset_of!(_ocsd_extern_dcd_cb_fns, fn_gen_elem_out) - 0usize];
7052    ["Offset of field: _ocsd_extern_dcd_cb_fns::fn_log_error"]
7053        [::std::mem::offset_of!(_ocsd_extern_dcd_cb_fns, fn_log_error) - 8usize];
7054    ["Offset of field: _ocsd_extern_dcd_cb_fns::fn_log_msg"]
7055        [::std::mem::offset_of!(_ocsd_extern_dcd_cb_fns, fn_log_msg) - 16usize];
7056    ["Offset of field: _ocsd_extern_dcd_cb_fns::fn_arm_instruction_decode"]
7057        [::std::mem::offset_of!(_ocsd_extern_dcd_cb_fns, fn_arm_instruction_decode) - 24usize];
7058    ["Offset of field: _ocsd_extern_dcd_cb_fns::fn_memory_access"]
7059        [::std::mem::offset_of!(_ocsd_extern_dcd_cb_fns, fn_memory_access) - 32usize];
7060    ["Offset of field: _ocsd_extern_dcd_cb_fns::fn_packet_mon"]
7061        [::std::mem::offset_of!(_ocsd_extern_dcd_cb_fns, fn_packet_mon) - 40usize];
7062    ["Offset of field: _ocsd_extern_dcd_cb_fns::fn_packet_data_sink"]
7063        [::std::mem::offset_of!(_ocsd_extern_dcd_cb_fns, fn_packet_data_sink) - 48usize];
7064    ["Offset of field: _ocsd_extern_dcd_cb_fns::packetCBFlags"]
7065        [::std::mem::offset_of!(_ocsd_extern_dcd_cb_fns, packetCBFlags) - 56usize];
7066    ["Offset of field: _ocsd_extern_dcd_cb_fns::lib_context"]
7067        [::std::mem::offset_of!(_ocsd_extern_dcd_cb_fns, lib_context) - 64usize];
7068};
7069#[doc = " an instance of this is owned by the decoder, filled in by the library - allows the CB fns in the library decode tree to be called."]
7070pub type ocsd_extern_dcd_cb_fns = _ocsd_extern_dcd_cb_fns;
7071#[doc = " Function to create a decoder instance\n\nCreate a decoder instance according to the create_flags parameter and the supplied decoder_cfg structure.\nFill in the p_decoder_inst structure, copy the p_lib_callbacks information for use in the decoder instance.\n\nCreate flags can be:\n- OCSD_CREATE_FLG_PACKET_PROC: decoder will split the incoming trace into trace protocol packets and not further decode them. fnPktDataSinkCB likely to be in use.\n- OCSD_CREATE_FLG_FULL_DECODER: decoder will split the incoming trace into trace protocol packets and further decode them to recreate program flow or other generic trace output.\n\n@param create_flags : Sets the decoder operating mode.\n@param *decoder_cfg : Hardware specific configuration for this trace element.\n@param *p_lib_callbacks : Library callbacks plus context pointer.\n@param *p_decoder_inst : Structure representing the new decoder instance being created. Filled in by create function to contain handle and call-in functions for the library.\n\n@return ocsd_err_t  : Library error code -  RCDTL_OK if successful"]
7072pub type fnCreateCustomDecoder = ::std::option::Option<
7073    unsafe extern "C" fn(
7074        create_flags: ::std::os::raw::c_int,
7075        decoder_cfg: *const ::std::os::raw::c_void,
7076        p_lib_callbacks: *const ocsd_extern_dcd_cb_fns,
7077        p_decoder_inst: *mut ocsd_extern_dcd_inst_t,
7078    ) -> ocsd_err_t,
7079>;
7080#[doc = " Function to destroy a decoder instance indicated by decoder handle.\n\n@param decoder_handle : Instance handle for decoder.\n\n@return ocsd_err_t  : Library error code -  RCDTL_OK if successful"]
7081pub type fnDestroyCustomDecoder = ::std::option::Option<
7082    unsafe extern "C" fn(decoder_handle: *const ::std::os::raw::c_void) -> ocsd_err_t,
7083>;
7084#[doc = " Function to extract the CoreSight Trace ID from the configuration structure.\n\n@param *decoder_cfg : Hardware specific configuration for this trace element.\n@parma *p_csid : location to write CoreSight Trace ID value.\n\n@return ocsd_err_t  : Library error code -  RCDTL_OK if successful"]
7085pub type fnGetCSIDFromConfig = ::std::option::Option<
7086    unsafe extern "C" fn(
7087        decoder_cfg: *const ::std::os::raw::c_void,
7088        p_csid: *mut ::std::os::raw::c_uchar,
7089    ) -> ocsd_err_t,
7090>;
7091#[doc = " Function to convert a protocol specific trace packet to human readable string\n\n@param *trc_pkt : protocol specific packet structure.\n@param *buffer  : buffer to fill with string.\n@param  buflen  : length of string buffer.\n\n@return ocsd_err_t  : Library error code -  RCDTL_OK if successful"]
7092pub type fnPacketToString = ::std::option::Option<
7093    unsafe extern "C" fn(
7094        trc_pkt: *const ::std::os::raw::c_void,
7095        buffer: *mut ::std::os::raw::c_char,
7096        buflen: ::std::os::raw::c_int,
7097    ) -> ocsd_err_t,
7098>;
7099#[doc = " set of functions and callbacks to create an extern custom decoder in the library\nvia the C API interface. This structure is registered with the library by name and\nthen decoders of the type can be created on the decode tree."]
7100#[repr(C)]
7101#[derive(Debug, Copy, Clone)]
7102pub struct _ocsd_extern_dcd_fact {
7103    #[doc = "< Function pointer to create a decoder instance."]
7104    pub createDecoder: fnCreateCustomDecoder,
7105    #[doc = "< Function pointer to destroy a decoder instance."]
7106    pub destroyDecoder: fnDestroyCustomDecoder,
7107    #[doc = "< Function pointer to extract the CSID from a config structure"]
7108    pub csidFromConfig: fnGetCSIDFromConfig,
7109    #[doc = "< Function pointer to print a trace protocol packet in this decoder"]
7110    pub pktToString: fnPacketToString,
7111    #[doc = "< protocol ID assigned during registration."]
7112    pub protocol_id: ocsd_trace_protocol_t,
7113}
7114#[allow(clippy::unnecessary_operation, clippy::identity_op)]
7115const _: () = {
7116    ["Size of _ocsd_extern_dcd_fact"][::std::mem::size_of::<_ocsd_extern_dcd_fact>() - 40usize];
7117    ["Alignment of _ocsd_extern_dcd_fact"]
7118        [::std::mem::align_of::<_ocsd_extern_dcd_fact>() - 8usize];
7119    ["Offset of field: _ocsd_extern_dcd_fact::createDecoder"]
7120        [::std::mem::offset_of!(_ocsd_extern_dcd_fact, createDecoder) - 0usize];
7121    ["Offset of field: _ocsd_extern_dcd_fact::destroyDecoder"]
7122        [::std::mem::offset_of!(_ocsd_extern_dcd_fact, destroyDecoder) - 8usize];
7123    ["Offset of field: _ocsd_extern_dcd_fact::csidFromConfig"]
7124        [::std::mem::offset_of!(_ocsd_extern_dcd_fact, csidFromConfig) - 16usize];
7125    ["Offset of field: _ocsd_extern_dcd_fact::pktToString"]
7126        [::std::mem::offset_of!(_ocsd_extern_dcd_fact, pktToString) - 24usize];
7127    ["Offset of field: _ocsd_extern_dcd_fact::protocol_id"]
7128        [::std::mem::offset_of!(_ocsd_extern_dcd_fact, protocol_id) - 32usize];
7129};
7130#[doc = " set of functions and callbacks to create an extern custom decoder in the library\nvia the C API interface. This structure is registered with the library by name and\nthen decoders of the type can be created on the decode tree."]
7131pub type ocsd_extern_dcd_fact_t = _ocsd_extern_dcd_fact;
7132unsafe extern "C" {
7133    #[doc = " @name Library Version API\n\n@{*/\n/** Get Library version. Return a 32 bit version in form MMMMnnpp - MMMM = major version, nn = minor version, pp = patch version"]
7134    pub fn ocsd_get_version() -> u32;
7135}
7136unsafe extern "C" {
7137    #[doc = " Get library version string"]
7138    pub fn ocsd_get_version_str() -> *const ::std::os::raw::c_char;
7139}
7140unsafe extern "C" {
7141    #[doc = " Create a decode tree.\n\n @param src_type : Type of tree - formatted input, or single source input\n @param deformatterCfgFlags : Formatter flags - determine presence of frame syncs etc.\n\n @return dcd_tree_handle_t  : Handle to the decode tree. Handle value set to 0 if creation failed."]
7142    pub fn ocsd_create_dcd_tree(
7143        src_type: ocsd_dcd_tree_src_t,
7144        deformatterCfgFlags: u32,
7145    ) -> dcd_tree_handle_t;
7146}
7147unsafe extern "C" {
7148    #[doc = " Destroy a decode tree.\n\n Also destroys all the associated processors and decoders for the tree.\n\n @param handle : Handle for decode tree to destroy."]
7149    pub fn ocsd_destroy_dcd_tree(handle: dcd_tree_handle_t);
7150}
7151unsafe extern "C" {
7152    #[doc = " Input trace data into the decoder.\n\n Large trace source buffers can be broken down into smaller fragments.\n\n @param handle : Handle to decode tree.\n @param op : Datapath operation.\n @param index : Trace buffer byte index for the start of the supplied data block.\n @param dataBlockSize : Size of data block.\n @param *pDataBlock : Pointer to data block.\n @param *numBytesProcessed : Number of bytes actually processed by the decoder.\n\n @return ocsd_datapath_resp_t  : Datapath response code (CONT/WAIT/FATAL)"]
7153    pub fn ocsd_dt_process_data(
7154        handle: dcd_tree_handle_t,
7155        op: ocsd_datapath_op_t,
7156        index: ocsd_trc_index_t,
7157        dataBlockSize: u32,
7158        pDataBlock: *const u8,
7159        numBytesProcessed: *mut u32,
7160    ) -> ocsd_datapath_resp_t;
7161}
7162unsafe extern "C" {
7163    #[doc = " Set the trace element output callback function.\n\n This function will be called for each decoded generic trace element generated by\n any full trace decoder in the decode tree.\n\n A single function is used for all trace source IDs in the decode tree.\n\n @param handle : Handle to decode tree.\n @param pFn : Pointer to the callback function.\n @param p_context : opaque context pointer value used in callback function.\n\n @return  ocsd_err_t  : Library error code -  OCSD_OK if successful."]
7164    pub fn ocsd_dt_set_gen_elem_outfn(
7165        handle: dcd_tree_handle_t,
7166        pFn: FnTraceElemIn,
7167        p_context: *const ::std::os::raw::c_void,
7168    ) -> ocsd_err_t;
7169}
7170unsafe extern "C" {
7171    #[doc = " Creates a decoder that is registered with the library under the supplied name.\n Flags determine if a full packet processor / packet decoder pair or\n packet processor only is created.\n Uses the supplied configuration structure.\n\n @param handle : Handle to decode tree.\n @param *decoder_name : Registered name of the decoder to create.\n @param create_flags : Decoder creation options.\n @param *decoder_cfg : Pointer to a valid configuration structure for the named decoder.\n @param *pCSID : Pointer to location to return the configured CoreSight trace ID for the decoder.\n\n @return ocsd_err_t  : Library error code -  OCSD_OK if successful."]
7172    pub fn ocsd_dt_create_decoder(
7173        handle: dcd_tree_handle_t,
7174        decoder_name: *const ::std::os::raw::c_char,
7175        create_flags: ::std::os::raw::c_int,
7176        decoder_cfg: *const ::std::os::raw::c_void,
7177        pCSID: *mut ::std::os::raw::c_uchar,
7178    ) -> ocsd_err_t;
7179}
7180unsafe extern "C" {
7181    #[doc = " Remove a decoder from the tree and destroy it.\n\n @param handle :  Handle to decode tree.\n @param CSID : Configured CoreSight trace ID for the decoder.\n\n @return ocsd_err_t  : Library error code -  OCSD_OK if successful."]
7182    pub fn ocsd_dt_remove_decoder(
7183        handle: dcd_tree_handle_t,
7184        CSID: ::std::os::raw::c_uchar,
7185    ) -> ocsd_err_t;
7186}
7187unsafe extern "C" {
7188    #[doc = " Attach a callback function to the packet processor.\n\n The callback_type defines the attachment point, either the main packet output\n (only if no decoder attached), or the packet monitor.\n\n @param handle : Handle to decode tree.\n @param CSID : Configured CoreSight trace ID for the decoder.\n @param callback_type : Attachment point\n @param p_fn_pkt_data_in : Pointer to the callback function.\n @param p_context : Opaque context pointer value used in callback function.\n\n @return ocsd_err_t  : Library error code -  OCSD_OK if successful."]
7189    pub fn ocsd_dt_attach_packet_callback(
7190        handle: dcd_tree_handle_t,
7191        CSID: ::std::os::raw::c_uchar,
7192        callback_type: ocsd_c_api_cb_types,
7193        p_fn_callback_data: *mut ::std::os::raw::c_void,
7194        p_context: *const ::std::os::raw::c_void,
7195    ) -> ocsd_err_t;
7196}
7197unsafe extern "C" {
7198    #[doc = " Get the stats block for the channel indicated.\n Caller must check p_stats_block->version to esure that the block\n is filled in a compatible manner.\n\n @param handle : Handle to decode tree.\n @param CSID : Configured CoreSight trace ID for the decoder.\n @param p_stats_block: block pointer to set to reference the stats block.\n\n @return ocsd_err_t  : Library error code -  OCSD_OK if valid block pointer returned,\n                      OCSD_ERR_NOTINIT if decoder does not support stats counting."]
7199    pub fn ocsd_dt_get_decode_stats(
7200        handle: dcd_tree_handle_t,
7201        CSID: ::std::os::raw::c_uchar,
7202        p_stats_block: *mut *mut ocsd_decode_stats_t,
7203    ) -> ocsd_err_t;
7204}
7205unsafe extern "C" {
7206    #[doc = " Reset the stats block for the chosens decode channel.\n stats block is reset independently of the decoder reset to allow counts across\n multiple decode runs.\n\n @param handle : Handle to decode tree.\n @param CSID : Configured CoreSight trace ID for the decoder.\n\n @return ocsd_err_t  : Library error code -  OCSD_OK if successful."]
7207    pub fn ocsd_dt_reset_decode_stats(
7208        handle: dcd_tree_handle_t,
7209        CSID: ::std::os::raw::c_uchar,
7210    ) -> ocsd_err_t;
7211}
7212unsafe extern "C" {
7213    #[doc = " Add a binary file based memory range accessor to the decode tree.\n\n Adds the entire binary file as a memory space to be accessed\n\n @param handle : Handle to decode tree.\n @param address : Start address of memory area.\n @param mem_space : Associated memory space.\n @param *filepath : Path to binary data file.\n\n @return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7214    pub fn ocsd_dt_add_binfile_mem_acc(
7215        handle: dcd_tree_handle_t,
7216        address: ocsd_vaddr_t,
7217        mem_space: ocsd_mem_space_acc_t,
7218        filepath: *const ::std::os::raw::c_char,
7219    ) -> ocsd_err_t;
7220}
7221unsafe extern "C" {
7222    #[doc = " Add a binary file based memory range accessor to the decode tree.\n\n Add a binary file that contains multiple regions of memory with differing\n offsets wihtin the file.\n\n A linked list of file_mem_region_t structures is supplied. Each structure contains an\n offset into the binary file, the start address for this offset and the size of the region.\n\n @param handle : Handle to decode tree.\n @param region_list : Array of memory regions in the file.\n @param num_regions : Size of region array\n @param mem_space : Associated memory space.\n @param *filepath : Path to binary data file.\n\n @return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7223    pub fn ocsd_dt_add_binfile_region_mem_acc(
7224        handle: dcd_tree_handle_t,
7225        region_array: *const ocsd_file_mem_region_t,
7226        num_regions: ::std::os::raw::c_int,
7227        mem_space: ocsd_mem_space_acc_t,
7228        filepath: *const ::std::os::raw::c_char,
7229    ) -> ocsd_err_t;
7230}
7231unsafe extern "C" {
7232    #[doc = " Add a memory buffer based memory range accessor to the decode tree.\n\n @param handle : Handle to decode tree.\n @param address : Start address of memory area.\n @param mem_space : Associated memory space.\n @param *p_mem_buffer : pointer to memory buffer.\n @param mem_length : Size of memory buffer.\n\n @return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7233    pub fn ocsd_dt_add_buffer_mem_acc(
7234        handle: dcd_tree_handle_t,
7235        address: ocsd_vaddr_t,
7236        mem_space: ocsd_mem_space_acc_t,
7237        p_mem_buffer: *const u8,
7238        mem_length: u32,
7239    ) -> ocsd_err_t;
7240}
7241unsafe extern "C" {
7242    #[doc = " Add a memory access callback function. The decoder will call the function for opcode addresses in the\n address range supplied for the memory spaces covered.\n\n @param handle : Handle to decode tree.\n @param st_address :  Start address of memory area covered by the callback.\n @param en_address :  End address of the memory area covered by the callback. (inclusive)\n @param mem_space : Memory space(s) covered by the callback.\n @param p_cb_func : Callback function\n @param p_context : opaque context pointer value used in callback function.\n\n @return OCSD_C_API ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7243    pub fn ocsd_dt_add_callback_mem_acc(
7244        handle: dcd_tree_handle_t,
7245        st_address: ocsd_vaddr_t,
7246        en_address: ocsd_vaddr_t,
7247        mem_space: ocsd_mem_space_acc_t,
7248        p_cb_func: Fn_MemAcc_CB,
7249        p_context: *const ::std::os::raw::c_void,
7250    ) -> ocsd_err_t;
7251}
7252unsafe extern "C" {
7253    #[doc = " Add a memory access callback function. The decoder will call the function for opcode addresses in the\n address range supplied for the memory spaces covered.\n\n @param handle : Handle to decode tree.\n @param st_address :  Start address of memory area covered by the callback.\n @param en_address :  End address of the memory area covered by the callback. (inclusive)\n @param mem_space : Memory space(s) covered by the callback.\n @param p_cb_func : Callback function - Signature for CB with Trace ID passed to client.\n @param p_context : opaque context pointer value used in callback function.\n\n @return OCSD_C_API ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7254    pub fn ocsd_dt_add_callback_trcid_mem_acc(
7255        handle: dcd_tree_handle_t,
7256        st_address: ocsd_vaddr_t,
7257        en_address: ocsd_vaddr_t,
7258        mem_space: ocsd_mem_space_acc_t,
7259        p_cb_func: Fn_MemAccID_CB,
7260        p_context: *const ::std::os::raw::c_void,
7261    ) -> ocsd_err_t;
7262}
7263unsafe extern "C" {
7264    #[doc = " Remove a memory accessor by address and memory space.\n\n @param handle : Handle to decode tree.\n @param st_address : Start address of memory accessor.\n @param mem_space : Memory space(s) covered by the accessor.\n\n @return OCSD_C_API ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7265    pub fn ocsd_dt_remove_mem_acc(
7266        handle: dcd_tree_handle_t,
7267        st_address: ocsd_vaddr_t,
7268        mem_space: ocsd_mem_space_acc_t,
7269    ) -> ocsd_err_t;
7270}
7271unsafe extern "C" {
7272    pub fn ocsd_tl_log_mapped_mem_ranges(handle: dcd_tree_handle_t);
7273}
7274unsafe extern "C" {
7275    pub fn ocsd_dt_set_mem_acc_cacheing(
7276        handle: dcd_tree_handle_t,
7277        enable: ::std::os::raw::c_int,
7278        page_size: u16,
7279        nr_pages: ::std::os::raw::c_int,
7280    ) -> ocsd_err_t;
7281}
7282unsafe extern "C" {
7283    #[doc = " Initialise the library error logger.\n\n Choose severity of errors logger, and if the errors will be logged to screen and / or logfile.\n\n @param verbosity : Severity of errors that will be logged.\n @param create_output_logger : Set to none-zero to create an output printer.\n\n @return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7284    pub fn ocsd_def_errlog_init(
7285        verbosity: ocsd_err_severity_t,
7286        create_output_logger: ::std::os::raw::c_int,
7287    ) -> ocsd_err_t;
7288}
7289unsafe extern "C" {
7290    #[doc = " Configure the output logger. Choose STDOUT, STDERR and/or log to file.\n Optionally provide a log file name.\n\n @param output_flags : OR combination of required  C_API_MSGLOGOUT_FLG_* flags.\n @param *log_file_name : optional filename if logging to file. Set to NULL if not needed.\n\n @return OCSD_C_API ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7291    pub fn ocsd_def_errlog_config_output(
7292        output_flags: ::std::os::raw::c_int,
7293        log_file_name: *const ::std::os::raw::c_char,
7294    ) -> ocsd_err_t;
7295}
7296unsafe extern "C" {
7297    #[doc = " Configure the library default error logger to send all strings it is outputting back to the client\n to allow printing within the client application. This is in additional to any other log destinations\n set in ocsd_def_errlog_init().\n\n @param *p_context : opaque context pointer\n @param p_str_print_cb : client callback function to \"print\" logstring."]
7298    pub fn ocsd_def_errlog_set_strprint_cb(
7299        handle: dcd_tree_handle_t,
7300        p_context: *mut ::std::os::raw::c_void,
7301        p_str_print_cb: FnDefLoggerPrintStrCB,
7302    ) -> ocsd_err_t;
7303}
7304unsafe extern "C" {
7305    #[doc = " Print a message via the library output printer - if enabled.\n\n @param *msg : Message to output.\n"]
7306    pub fn ocsd_def_errlog_msgout(msg: *const ::std::os::raw::c_char);
7307}
7308unsafe extern "C" {
7309    #[doc = " Convert an error code into a string.\n\n @param err         : error code.\n @param buffer      : buffer for return string\n @param buffer_size : length of buffer."]
7310    pub fn ocsd_err_str(
7311        err: ocsd_err_t,
7312        buffer: *mut ::std::os::raw::c_char,
7313        buffer_size: ::std::os::raw::c_int,
7314    );
7315}
7316unsafe extern "C" {
7317    #[doc = " returns the last error logged by the system, with the related trace byte index, trace channel id,\n and any error message related string.\n If index or channel ID are not valid these will return OCSD_BAD_TRC_INDEX and OCSD_BAD_CS_SRC_ID.\n\n return value is the error code of the last logged error, OCSD_OK for no error available.\n\n @param index      : returns trace byte index relating to error, or OCSD_BAD_TRC_INDEX\n @param chan_id    : returns trace channel ID relating to error, or OCSD_BAD_CS_SRC_ID\n @param message    : buffer to copy the last error message.\n @param message_len: length of message buffer."]
7318    pub fn ocsd_get_last_err(
7319        index: *mut ocsd_trc_index_t,
7320        chan_id: *mut u8,
7321        message: *mut ::std::os::raw::c_char,
7322        message_len: ::std::os::raw::c_int,
7323    ) -> ocsd_err_t;
7324}
7325unsafe extern "C" {
7326    #[doc = " Take a packet structure and render a string representation of the packet data.\n\n Returns a '0' terminated string of (buffer_size - 1) length or less.\n\n @param pkt_protocol : Packet protocol type - used to interpret the packet pointer\n @param *p_pkt : pointer to a valid packet structure of protocol type. cast to void *.\n @param *buffer : character buffer for string.\n @param buffer_size : size of character buffer.\n\n @return  ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7327    pub fn ocsd_pkt_str(
7328        pkt_protocol: ocsd_trace_protocol_t,
7329        p_pkt: *const ::std::os::raw::c_void,
7330        buffer: *mut ::std::os::raw::c_char,
7331        buffer_size: ::std::os::raw::c_int,
7332    ) -> ocsd_err_t;
7333}
7334unsafe extern "C" {
7335    #[doc = " Get a string representation of the generic trace element.\n\n @param *p_pkt : pointer to valid generic element structure.\n @param *buffer : character buffer for string.\n @param buffer_size : size of character buffer.\n\n @return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7336    pub fn ocsd_gen_elem_str(
7337        p_pkt: *const ocsd_generic_trace_elem,
7338        buffer: *mut ::std::os::raw::c_char,
7339        buffer_size: ::std::os::raw::c_int,
7340    ) -> ocsd_err_t;
7341}
7342unsafe extern "C" {
7343    #[doc = " Init a generic element with type, clearing any flags etc."]
7344    pub fn ocsd_gen_elem_init(p_pkt: *mut ocsd_generic_trace_elem, elem_type: ocsd_gen_trc_elem_t);
7345}
7346unsafe extern "C" {
7347    #[doc = " Set a raw frame printer on the trace frame demuxer. Allows inspection of raw trace data frames for debug.\n Prints via the library default error logging mechanisms.\n\n The flags input determines the data printed. OR combination of one or both of:\n OCSD_DFRMTR_PACKED_RAW_OUT   : Output the undemuxed raw data frames.\n OCSD_DFRMTR_UNPACKED_RAW_OUT : Output the raw data by trace ID after unpacking the frame.\n\n @param handle : Handle to decode tree.\n @param flags : indicates type of raw frames to print.\n\n @return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7348    pub fn ocsd_dt_set_raw_frame_printer(
7349        handle: dcd_tree_handle_t,
7350        flags: ::std::os::raw::c_int,
7351    ) -> ocsd_err_t;
7352}
7353unsafe extern "C" {
7354    #[doc = " Set a library printer on the generic element output of a full decoder.\n\n @param handle : Handle to decode tree.\n\n @return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7355    pub fn ocsd_dt_set_gen_elem_printer(handle: dcd_tree_handle_t) -> ocsd_err_t;
7356}
7357unsafe extern "C" {
7358    #[doc = " Attach a library printer to the packet processor. May be attached to the main packet output, or the monitor\n output if the main packet output is to be attached to a packet decoder in the datapath.\n\n @param handle : Handle to decode tree.\n @param cs_id  : Coresight trace ID for stream to print.\n @param monitor: 0 to attach printer directly to datapath packet output, 1 to attach to packet monitor output\n\n @return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7359    pub fn ocsd_dt_set_pkt_protocol_printer(
7360        handle: dcd_tree_handle_t,
7361        cs_id: u8,
7362        monitor: ::std::os::raw::c_int,
7363    ) -> ocsd_err_t;
7364}
7365unsafe extern "C" {
7366    #[doc = " Register a custom decoder with the library\n\n@param *name : Name under which to register the decoder.\n@param *p_dcd_fact : Custom decoder factory structure.\n\n@return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7367    pub fn ocsd_register_custom_decoder(
7368        name: *const ::std::os::raw::c_char,
7369        p_dcd_fact: *mut ocsd_extern_dcd_fact_t,
7370    ) -> ocsd_err_t;
7371}
7372unsafe extern "C" {
7373    #[doc = " Clear all registered decoders - library cleanup\n\n@return ocsd_err_t  : Library error code -  RCDTL_OK if successful."]
7374    pub fn ocsd_deregister_decoders() -> ocsd_err_t;
7375}
7376unsafe extern "C" {
7377    #[doc = " Get a string representation of a custom protocol packet.\n\nSpecific function to extract the packet string for a custom protocol ID only. Custom IDs are allocated to decoder factories\nduring the ocsd_register_custom_decoder() process.\n\nThis function is called by ocsd_pkt_str() when the incoming protocol is a custom ID.\n\n@param pkt_protocol : Packet protocol type - must be in the custom ID range ( >= OCSD_PROTOCOL_CUSTOM_0, < OCSD_PROTOCOL_END)\n@param *p_pkt : pointer to a valid packet structure of protocol type. cast to void *.\n@param *buffer : character buffer for string.\n@param buffer_size : size of character buffer.\n\n@return ocsd_err_t  : Library error code -  RCDTL_OK if successful, OCSD_ERR_NO_PROTOCOL if input ID not in custom range or not in use."]
7378    pub fn ocsd_cust_protocol_to_str(
7379        pkt_protocol: ocsd_trace_protocol_t,
7380        trc_pkt: *const ::std::os::raw::c_void,
7381        buffer: *mut ::std::os::raw::c_char,
7382        buflen: ::std::os::raw::c_int,
7383    ) -> ocsd_err_t;
7384}