在 KEXT 中,我需要做一些处理,我会得到一个 proc_t 或只是一个 pid。如果我走 pid 路线,我会做一个 sysctl() 之类的。
不幸的是,我也做不到。proc_t 是未定义的, sysctl() 也不是。可以调用 sysctlbyname() 但未定义 kinfo_proc。如果我尝试使用 proc_t,编译器会抱怨 [struct proc] 的前向定义
我假设 sysctl() 可以在用户模式下使用,但是有什么方法可以使用 proc_t 吗?我尝试使用 XNU/osfmk/bsd 包含目录,但由于重新定义和其他错误,它不会编译。
这有点令人不安,我仍在努力思考我能做什么和不能做什么。当然可以做到这一点,但我只是不知道怎么做。