How to hook file changes?

hello,

Im trying to create some kind of a file change hook on unix machines (should be generic if possible).

Do any of you know how can i write some code that will trigger whenever a file is being modified and then will approve the modifications, or throw an exception if the new content of the file is invalid?

I want to be able to hook specifiec files, and i know to catch any modification that any software will make..

This would probably not be generic across platforms. Linux has a change notify capability now, for example. But nothing like that exists in the HPUX kernel. However, samba does have the feature enbedded, since it is a filesystem - NFS.
Other Samba Configuration Issues
So in this sense you can have change notification on a kernel with out it - by modifying the filesystem code. Which is not very practical.

If you are working in the Linux world you can read about inotify (inode notify) here:
Kernel Korner - Intro to inotify

I don't think there is a generic way as Jim noted.
With *BSD supporting kqueue you can watch for vnode changes, inotify for linux or using the fcntl F_NOTIFY call (same thing).
OSX supports kqueue. On others you can just use a stat loop checking access/mod times, file size, etc...
That's probably the most generic approach.