INNER CODE UNIT · Rust
for_each_kernel_symbols
KernelSU-Next/KernelSU-Next · userspace/ksuinit/src/lib.rs:77
pub fn for_each_kernel_symbols<F: FnMut(&(String, u64)) -> Result<bool>>(mut f: F) -> Result<()> {
for item in kernel_symbols_iter()? {
if !f(&item)? {
break;
}
}
Ok(())
}
const O_NONBLOCK: i32 = 0x800;
fn open_kmsg_at_end() -> Result<File> {
let mut last_error = None;
for path in ["/dev/kmsg", "/kmsg"] {
match OpenOptions::new()
.read(true)
.custom_flags(O_NONBLOCK)