(ctxt: *mut c_void, count: *mut usize)
| 2399 | } |
| 2400 | |
| 2401 | extern "C" fn cb_semantic_flag_classes<A>(ctxt: *mut c_void, count: *mut usize) -> *mut u32 |
| 2402 | where |
| 2403 | A: 'static + Architecture<Handle = CustomArchitectureHandle<A>> + Send + Sync, |
| 2404 | { |
| 2405 | let custom_arch = unsafe { &*(ctxt as *mut A) }; |
| 2406 | let mut flag_classes: Box<[_]> = custom_arch |
| 2407 | .flag_classes() |
| 2408 | .iter() |
| 2409 | .map(|f| f.id().0) |
| 2410 | .collect(); |
| 2411 | |
| 2412 | // SAFETY: `count` is an out parameter |
| 2413 | unsafe { *count = flag_classes.len() }; |
| 2414 | let flags_ptr = flag_classes.as_mut_ptr(); |
| 2415 | std::mem::forget(flag_classes); |
| 2416 | flags_ptr |
| 2417 | } |
| 2418 | |
| 2419 | extern "C" fn cb_semantic_flag_groups<A>(ctxt: *mut c_void, count: *mut usize) -> *mut u32 |
| 2420 | where |
nothing calls this directly
no test coverage detected