Мы пытаемся отслеживать процессы, используя слушатель процесса kauth (KAUTH_SCOPE_PROCESS) . Одним из аргументов для слушателя процесса kauth является указатель на proc_t (struct proc)
Мы хотим получить доступ к некоторым членам proc_t, например, p_name (имя процесса), p_textvp (vnode исполняемого файла процесса) и т. Д. Однако мы написали код, пока при компиляции мы получили ошибку компиляции "Неполное определение типа" struct proc "«
Было бы замечательно, если бы кто-то велел мне это исправить.
static int ProcessScopeListener(
kauth_cred_t credential,
void* idata,
kauth_action_t action,
uintptr_t arg0,
uintptr_t arg1,
uintptr_t arg2,
uintptr_t arg3
)
{
proc_t process = (proc_t) arg0;
…
//Compilation error in the following two lines
char* proc_name = &process->p_name[0];
struct vnode* p_textvp = process-> p_textvp;
.
.
.
return KERN_SUCESS;
}
Дайте мне знать, если вам нужна дополнительная информация.