Обнаружение доступа к папке в Objective C или C ++ в OSX (как команда fs_usage)

Я работаю над антивирусным сканером в реальном времени на OSX. Команда командной строки OSXfs_usage может использоваться для определения доступа к папке следующим образом (и может быть запущен только от имени пользователя root):

fs_usage -w -f pathname | grep '/Users/.*/Documents\|/Users/.*/Downloads' | grep mds

Затем просто отсканируйте строку, содержащую фразу:

    open    

(4 пробела впереди, 4 пробела после)

Это будет излучаться при загрузке файла в папку «Документы» или «Загрузки». Затем вы можете сделать хеш файла (лучше всего sha256) и использовать базу данных SQLite, чтобы проверить, сканировали ли вы этот файл ранее или нет. Если нет, то вы можете отсканировать этот файл.

Ладно, это интересно, но как C ++ или Objective C способ определить такой доступ к папке? Я имею в виду, конечно,fs_usage Команда использует какой-то API для этого, верно?

Я думаю, что есть одна подсказка:API событий файловой системы Apple, Однако я просто не совсем понял это из примеров, приведенных для моего конкретного сценария.