summaryrefslogtreecommitdiff
path: root/pnotify/pnotify-0.2/README
diff options
context:
space:
mode:
Diffstat (limited to 'pnotify/pnotify-0.2/README')
-rw-r--r--pnotify/pnotify-0.2/README123
1 files changed, 123 insertions, 0 deletions
diff --git a/pnotify/pnotify-0.2/README b/pnotify/pnotify-0.2/README
new file mode 100644
index 0000000..23d5a55
--- /dev/null
+++ b/pnotify/pnotify-0.2/README
@@ -0,0 +1,123 @@
+
+ pnotify
+
+ pnotify is an event notification framework for monitoring files and
+ directories. It is designed to be portable across different Unix-like
+ operating systems, and currently supports Linux and BSD. The
+ [1]pnotify API is very similar to the [2]inotify API under Linux.
+ ___________________________________
+
+ [3]Download | [4]Documentation | [5]Mailing list
+ ___________________________________
+
+Rationale
+
+ Kernel-based filesystem event notification is a relatively new
+ phenonemon, and several different approaches have been taken by
+ various operating systems. Linux uses inotify, BSD uses kqueue, Apple
+ has kqueue and it's own Spotlight system calls, Solaris has FEM,
+ Windows has the NTFS Change Journal and the ReadDirectoryChangesW
+ function, and so forth.
+
+ The goal of pnotify is to provide a simple, cross-platform API for
+ monitoring filesystem events. The library will conceal all of the
+ messy implementation-specific details from the user and help them to
+ write more portable programs.
+
+History
+
+ pnotify was born out of an effort to port the inotify API from Linux
+ to BSD. This initial effort took the form of a userspace library that
+ would translate inotify requests into their kqueue(4) equivalent.
+ After some time, it became clear that kqueue was not sophisticated
+ enough to support all of the functionality of inotify. There was also
+ the problem of threadsafety; inotify relies on shared global data
+ structures, which is normal within the kernel but complicates the
+ design of a userspace library.
+
+ Eventually, it became clear that a new API was needed to address these
+ portability and threadsafety issues. This new API became 'pnotify', to
+ indicate that it is a portable subset of the inotify API.
+
+Supported Platforms
+
+ pnotify has been ported to the following platforms:
+ * Linux 2.6
+ * OpenBSD 4.0
+ * NetBSD 3.0
+ * MacOS/X 10.4
+
+ There are platforms that are not supported due to lack of developer
+ resources. Interested parties with access to these platforms are
+ encouraged to port the library to their platform. For example:
+
+ * Sun OpenSolaris will soon get a similar API called FEM that could
+ be supported.
+ * Microsoft Windows has a filesystem event notification mechanism
+
+ At the current time, there is no generic polling mechanism to use as a
+ fallback for systems that don't have a kernel event mechanism like
+ inotify or kqueue.
+
+Usage
+
+ When you run './configure && make && make install', pnotify is built
+ as a shared library and installed under the /usr/local prefix.
+
+ Even though pnotify is built as a shared library by default, it is
+ easier for application developers to include pnotify.c and pnotify.h
+ in their source tree and not depend on the existence of a shared
+ library.
+
+Download
+
+ The source code may be downloaded from the [6]download page. You may
+ also check out a working copy of the latest development sources by
+ issuing the following command:
+
+ svn checkout http://pnotify.googlecode.com/svn/trunk/ pnotify
+
+ If you just want a quick peek at the source code, you can browse the
+ [7]webSVN repository
+
+Documentation
+
+ * The pnotify(3) manpage in [8]HTML or [9]PostScript format.
+ * Doxygen-generated API reference manual (coming soon)
+
+Mailing List
+
+ There is a mailing list for discussion about the pnotify library.
+ Click [10]here to sign up, post a question or comment, or browse
+ through the archives.
+
+Contact the Author
+
+ For more information, contact Mark Heily at [11]devel@heily.com
+
+Related Links
+
+ * [12]FAM - the original, unmaintained monitoring utility from SGI.
+ * [13]gamin - the modern FAM replacement. Part of the GNOME project.
+ * [14]libevent - a library for building event-driven servers.
+ Supports socket events, but not filesystem events.
+ _________________________________________________________________
+
+ (C) 2007 Mark Heily.
+
+References
+
+ 1. file://localhost/pnotify/manpage.html
+ 2. http://linux.die.net/man/7/inotify
+ 3. file://localhost/pnotify/index.html#download
+ 4. file://localhost/pnotify/index.html#docs
+ 5. file://localhost/pnotify/index.html#mlist
+ 6. http://code.google.com/p/pnotify/downloads/list
+ 7. http://pnotify.googlecode.com/svn/trunk/
+ 8. file://localhost/pnotify/manpage.html
+ 9. file://localhost/pnotify/manpage.ps
+ 10. http://groups.google.com/group/pnotify/topics
+ 11. mailto:devel@heily.com
+ 12. http://oss.sgi.com/projects/fam/
+ 13. http://www.gnome.org/~veillard/gamin/
+ 14. http://monkey.org/~provos/libevent/