opencsd_sys/
bindings.rs

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