.B FAN_CREATE
has occurred.
The event mask indicates which type of filesystem object\(emeither
-a file or a directory\(emwas created".
+a file or a directory\(emwas created.
Once all events have been read from the buffer and processed accordingly,
the program simply terminates.
.PP
struct fanotify_event_info_fid *fid;
if (argc != 2) {
- fprintf(stderr, "Invalid number of command line arguments.\e\n");
+ fprintf(stderr, "Invalid number of command line arguments.\en");
exit(EXIT_FAILURE);
}
exit(EXIT_FAILURE);
}
- printf("Listening for events.\e\n");
+ printf("Listening for events.\en");
/* Read events from the event queue into a buffer */
FAN_EVENT_OK(metadata, len);
metadata = FAN_EVENT_NEXT(metadata, len)) {
fid = (struct fanotify_event_info_fid *) (metadata + 1);
- file_handle = (struct file_handle *) fid->handle;
+ file_handle = (struct file_handle *) fid\->handle;
/* Ensure that the event info is of the correct type */
- if (fid->hdr.info_type != FAN_EVENT_INFO_TYPE_FID) {
- fprintf(stderr, "Received unexpected event info type.\e\n");
+ if (fid\->hdr.info_type != FAN_EVENT_INFO_TYPE_FID) {
+ fprintf(stderr, "Received unexpected event info type.\en");
exit(EXIT_FAILURE);
}
- if (metadata->mask == FAN_CREATE)
+ if (metadata\->mask == FAN_CREATE)
printf("FAN_CREATE (file created):");
- if (metadata->mask == FAN_CREATE | FAN_ONDIR)
+ if (metadata\->mask == FAN_CREATE | FAN_ONDIR)
printf("FAN_CREATE | FAN_ONDIR (subdirectory created):");
- /* metadata->fd is set to FAN_NOFD when FAN_REPORT_FID is enabled.
+ /* metadata\->fd is set to FAN_NOFD when FAN_REPORT_FID is enabled.
To obtain a file descriptor for the file object corresponding to
an event you can use the struct file_handle that\(aqs provided
within the fanotify_event_info_fid in conjunction with the
if (ret == \-1) {
if (errno == ESTALE) {
printf("File handle is no longer valid. "
- "File has been deleted\e\n");
+ "File has been deleted\en");
continue;
} else {
perror("open_by_handle_at");
exit(EXIT_FAILURE);
}
- path[path_len] = \(aq\e\0\(aq;
- printf("\etDirectory \(aq%s\(aq has been modified.\e\n", path);
+ path[path_len] = \(aq\e0\(aq;
+ printf("\etDirectory \(aq%s\(aq has been modified.\en", path);
/* Close associated file descriptor for this event */
close(event_fd);
}
- printf("All events processed successfully. Program exiting.\e\n");
+ printf("All events processed successfully. Program exiting.\en");
exit(EXIT_SUCCESS);
}
.EE