Как я могу удалить файл, используя vnode? - PullRequest
0 голосов
/ 01 марта 2011

Я пишу расширение ядра для Mac OS, и мне нужно удалить файл tmp, созданный vnode_open (), но я не могу узнать, как удалить файл и вывести список всех файлов в директорию.

http://developer.apple.com/library/mac/#documentation/Darwin/Reference/KernelIOKitFramework/vnode_h/index.html

Спасибо!

1 Ответ

2 голосов
/ 31 августа 2011

Лучше создать демона пользовательского пространства и связываться с ним, используя mach RPC.Метод удаления файла в kext (который я знаю) зависит от версии ядра, потому что он требует поиска смещения v_op (вектор операций vnode. Он не виден из расширений ядра) в структуре vnode.Структура vnode может меняться от ядра к ядру.И даже если найдутся vnop_remove_desc и vnop_rmdir_desc, я думаю, что их использование может быть опасным из-за возможных изменений логики использования этих обратных вызовов.

...