diff options
Diffstat (limited to 'src/basic/fs-util.h')
-rw-r--r-- | src/basic/fs-util.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/src/basic/fs-util.h b/src/basic/fs-util.h index 0e1906ba3f..b94873e65b 100644 --- a/src/basic/fs-util.h +++ b/src/basic/fs-util.h @@ -21,9 +21,11 @@ along with systemd; If not, see <http://www.gnu.org/licenses/>. ***/ -#include <sys/types.h> #include <fcntl.h> +#include <sys/inotify.h> +#include <sys/types.h> #include <unistd.h> +#include <limits.h> #include "time-util.h" @@ -58,3 +60,15 @@ int mknod_atomic(const char *path, mode_t mode, dev_t dev); int mkfifo_atomic(const char *path, mode_t mode); int get_files_in_directory(const char *path, char ***list); + +#define INOTIFY_EVENT_MAX (sizeof(struct inotify_event) + NAME_MAX + 1) + +#define FOREACH_INOTIFY_EVENT(e, buffer, sz) \ + for ((e) = &buffer.ev; \ + (uint8_t*) (e) < (uint8_t*) (buffer.raw) + (sz); \ + (e) = (struct inotify_event*) ((uint8_t*) (e) + sizeof(struct inotify_event) + (e)->len)) + +union inotify_event_buffer { + struct inotify_event ev; + uint8_t raw[INOTIFY_EVENT_MAX]; +}; |