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