Я работаю над Kext, который должен иметь доступ к полю struct proc->p_pid
. Проблема в том, что структура определена только в источниках XNU, поэтому я столкнулся с ошибкой incomplete definition of type 'struct proc'
во время компиляции.XNU incudes in Kext
С моей точки зрения, включение заголовков XNU в мой собственный проект - это плохое пахнущее решение, но каков альтернативный способ? Скопировать и вставить структуру в мой собственный код?
К сожалению, я не могу использовать 'proc_pid()', поскольку у меня уже есть указатель на proc внутри обработчика 'mac_rex_policy_gettask' (это платформа TrustedBSD), также мне не нужен текущий PID, мне нужен предоставленный PID. –
'proc_pid' принимает' proc_t' как параметр, то есть вы можете использовать указатель, который у вас уже есть, - извинения, если ответ был немного неоднозначным. Я добавлю параметр proc_t для ввода текстового имени. ('typedef struct proc * proc_t' в kernel_types.h) – Petesh