(ctxt: *mut c_void, count: *mut usize)
| 2417 | } |
| 2418 | |
| 2419 | extern "C" fn cb_semantic_flag_groups<A>(ctxt: *mut c_void, count: *mut usize) -> *mut u32 |
| 2420 | where |
| 2421 | A: 'static + Architecture<Handle = CustomArchitectureHandle<A>> + Send + Sync, |
| 2422 | { |
| 2423 | let custom_arch = unsafe { &*(ctxt as *mut A) }; |
| 2424 | let mut flag_groups: Box<[_]> = |
| 2425 | custom_arch.flag_groups().iter().map(|f| f.id().0).collect(); |
| 2426 | |
| 2427 | // SAFETY: `count` is an out parameter |
| 2428 | unsafe { *count = flag_groups.len() }; |
| 2429 | let flags_ptr = flag_groups.as_mut_ptr(); |
| 2430 | std::mem::forget(flag_groups); |
| 2431 | flags_ptr |
| 2432 | } |
| 2433 | |
| 2434 | extern "C" fn cb_flag_role<A>(ctxt: *mut c_void, flag: u32, class: u32) -> BNFlagRole |
| 2435 | where |
nothing calls this directly
no test coverage detected