(ctxt: *mut c_void, count: *mut usize)
| 2349 | } |
| 2350 | |
| 2351 | extern "C" fn cb_registers_system<A>(ctxt: *mut c_void, count: *mut usize) -> *mut u32 |
| 2352 | where |
| 2353 | A: 'static + Architecture<Handle = CustomArchitectureHandle<A>> + Send + Sync, |
| 2354 | { |
| 2355 | let custom_arch = unsafe { &*(ctxt as *mut A) }; |
| 2356 | let mut regs: Box<[_]> = custom_arch |
| 2357 | .registers_system() |
| 2358 | .iter() |
| 2359 | .map(|r| r.id().0) |
| 2360 | .collect(); |
| 2361 | |
| 2362 | // SAFETY: `count` is an out parameter |
| 2363 | unsafe { *count = regs.len() }; |
| 2364 | let regs_ptr = regs.as_mut_ptr(); |
| 2365 | std::mem::forget(regs); |
| 2366 | regs_ptr |
| 2367 | } |
| 2368 | |
| 2369 | extern "C" fn cb_flags<A>(ctxt: *mut c_void, count: *mut usize) -> *mut u32 |
| 2370 | where |
nothing calls this directly
no test coverage detected