ядерна¤ слежка Alexander S. Salieff —пецвыпуск: ’акер, номер #062, стр. 062-056-5 IN_ATTRIB Ч у файла сменились атрибуты IN_CLOSE_WRITE Ч файл закрыт после открытия на запись IN_CLOSE_NOWRITE Ч файл закрыт после открытия на „тение IN_OPEN Ч файл открыт IN_MOVED_FROM Ч файл перемещен из ј IN_MOVED_TO Ч файл перемещен в Ѕ IN_DELETE_SUBDIR Ч удалена поддиректория IN_DELETE_FILE Ч в этой директории удален файл IN_CREATE_SUBDIR Ч создана поддиректория IN_CREATE_FILE Ч в этой директории создан файл IN_DELETE_SELF Ч объект мониторинга удален IN_UNMOUNT Ч то„ка монтирования размонтирована IN_Q_OVERFLOW Ч о„ередь сообщений переполнилась IN_IGNORED Ч отменить мониторинг данного объекта IN_ALL_EVENTS Ч все события сразу IN_CLOSE Ч то же самое, „то IN_CLOSE_WRITE | IN_CLOSE_NOWRITE оды событий FAM (enum FAMCodes) FAMChanged Ч объект изменен FAMDeleted Ч объект удален FAMStartExecuting Ч объект Ч исполняемый файл, на„ал выполнение FAMStopExecuting Ч объект Ч исполняемый файл, закон„ил выполнение FAMCreated Ч объект создан FAMMoved Ч объект перемещен FAMAcknowledge Ч вызов FAMCancelMonitor успешно выполнен FAMExists Ч объект присутствует в директории FAMEndExist Ч больше объектов в директории нет ѕол¤ структуры kevent (событие дл¤ kqueue) struct kevent { uintptr_t ident; Ч идентификатор события short filter; Ч фильтр события u_short flags; Ч флаги произошедшего события u_int fflags; Ч дополнительные флаги фильтра intptr_t data; Ч данные фильтра void *udata; Ч полезная нагрузка (опционально регистрируется в EV_SET) }; в современных дистрибутивах linux вместо fam „асто используется адаптированный и облегченный демон gamin. программеру это безразли„но, на уровне api они полностью совместимы макрос famrequest_getreqnum(fr) не делает ни„его сложного, это полный аналог fr->reqnum |