1#[repr(C)]
4#[derive(Copy, Clone, Debug, Default, Eq, Hash, Ord, PartialEq, PartialOrd)]
5pub struct __BindgenBitfieldUnit<Storage> {
6 storage: Storage,
7}
8impl<Storage> __BindgenBitfieldUnit<Storage> {
9 #[inline]
10 pub const fn new(storage: Storage) -> Self {
11 Self { storage }
12 }
13}
14impl<Storage> __BindgenBitfieldUnit<Storage>
15where
16 Storage: AsRef<[u8]> + AsMut<[u8]>,
17{
18 #[inline]
19 fn extract_bit(byte: u8, index: usize) -> bool {
20 let bit_index = if cfg!(target_endian = "big") {
21 7 - (index % 8)
22 } else {
23 index % 8
24 };
25 let mask = 1 << bit_index;
26 byte & mask == mask
27 }
28 #[inline]
29 pub fn get_bit(&self, index: usize) -> bool {
30 debug_assert!(index / 8 < self.storage.as_ref().len());
31 let byte_index = index / 8;
32 let byte = self.storage.as_ref()[byte_index];
33 Self::extract_bit(byte, index)
34 }
35 #[inline]
36 pub unsafe fn raw_get_bit(this: *const Self, index: usize) -> bool {
37 debug_assert!(index / 8 < core::mem::size_of::<Storage>());
38 let byte_index = index / 8;
39 let byte = *(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}