Index: kqueue.2
===================================================================
--- kqueue.2
+++ kqueue.2
@@ -577,6 +577,58 @@
 If the time limit expires, then
 .Fn kevent
 returns 0.
+.Sh EXAMPLES
+.Bd -literal -compact
+#include <sys/types.h>
+#include <sys/event.h>
+#include <sys/time.h>
+#include <err.h>
+#include <fcntl.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+int
+main(int argc, char **argv)
+{
+
+	struct kevent event;	/* Event we want to monitor */
+	struct kevent tevent;	/* Event triggered */
+	int kq, fd, ret;
+
+	if (argc != 2) {
+		err(EXIT_FAILURE, "Usage: %s path\en", argv[0]);
+	}
+
+	if ((fd = open(argv[1], O_RDONLY)) == -1) {
+		err(EXIT_FAILURE, "Failed to open '%s'", argv[1]);
+	}
+
+	/* Create kqueue */
+	if ((kq = kqueue()) == -1) {
+		err(EXIT_FAILURE, "kqueue() failed");
+	}
+
+	/* Initialize kevent structure */
+	EV_SET(&event, fd, EVFILT_VNODE , EV_ADD | EV_ONESHOT, NOTE_WRITE, 0, NULL);
+	
+	for (;;) {
+		/* Attach event to the kqueue and block until something happens */
+		ret = kevent(kq, &event, 1, &tevent, 1, NULL);
+		if (ret == -1) {
+			perror("kevent");
+			exit(EXIT_FAILURE);
+		} else if (ret > 0) {
+			if (event.flags & EV_ERROR) {
+				fprintf(stderr, "Event error: %s\en", strerror(event.data));
+			} else {
+				printf("Something was written in '%s'\en", argv[1]);
+			}
+		}
+	}
+}
+.Ed
 .Sh ERRORS
 The
 .Fn kqueue