inotify C заголовки - PullRequest
       7

inotify C заголовки

7 голосов
/ 12 декабря 2010

Итак, я пытаюсь написать программу на C, которая использует inotify.Я использовал pyinotify раньше, поэтому я понимаю, как это работает.Тем не менее, я следую некоторому руководству, и оно говорит мне включить <linux/inotify.h>.Проблема в том, что в этом заголовке есть только определения макросов, а не прототипы funciton.Похоже, что функции прототипированы в <sys/inotify.h>.

Мой вопрос, в чем разница между linux/inotify.h и sys/inotify.h?Почему там оба?

1 Ответ

8 голосов
/ 12 декабря 2010

sys/inotify.h является частью GNU C библиотеки .Он раскрывает структуры и функции, которые ваша программа будет использовать для получения уведомлений об изменениях файловой системы.Его можно рассматривать как открытый API системы уведомлений.

linux/inotify.h является частью ядра Linux.Он определяет структуры ядра и константы, используемые для реализации самой системы уведомлений.Вы не должны включать этот файл, если вы не пишете что-то вроде модуля ядра, потому что он специфичен для Linux и поэтому не переносим

...