Documentation
¶
Overview ¶
Package fsnotify implements filesystem notification.
Index ¶
Examples ¶
Constants ¶
View Source
const ( FSN_CREATE = 1 FSN_MODIFY = 2 FSN_DELETE = 4 FSN_RENAME = 8 FSN_ALL = FSN_MODIFY | FSN_DELETE | FSN_RENAME | FSN_CREATE )
View Source
const ( // Options for AddWatch IN_DONT_FOLLOW uint32 = syscall.IN_DONT_FOLLOW IN_ONESHOT uint32 = syscall.IN_ONESHOT IN_ONLYDIR uint32 = syscall.IN_ONLYDIR // Events IN_ACCESS uint32 = syscall.IN_ACCESS IN_ALL_EVENTS uint32 = syscall.IN_ALL_EVENTS IN_ATTRIB uint32 = syscall.IN_ATTRIB IN_CLOSE uint32 = syscall.IN_CLOSE IN_CLOSE_NOWRITE uint32 = syscall.IN_CLOSE_NOWRITE IN_CLOSE_WRITE uint32 = syscall.IN_CLOSE_WRITE IN_CREATE uint32 = syscall.IN_CREATE IN_DELETE uint32 = syscall.IN_DELETE IN_DELETE_SELF uint32 = syscall.IN_DELETE_SELF IN_MODIFY uint32 = syscall.IN_MODIFY IN_MOVE uint32 = syscall.IN_MOVE IN_MOVED_FROM uint32 = syscall.IN_MOVED_FROM IN_MOVED_TO uint32 = syscall.IN_MOVED_TO IN_MOVE_SELF uint32 = syscall.IN_MOVE_SELF IN_OPEN uint32 = syscall.IN_OPEN OS_AGNOSTIC_EVENTS = IN_MOVED_TO | IN_MOVED_FROM | IN_CREATE | IN_ATTRIB | IN_MODIFY | IN_MOVE_SELF | IN_DELETE | IN_DELETE_SELF // Special events IN_ISDIR uint32 = syscall.IN_ISDIR IN_IGNORED uint32 = syscall.IN_IGNORED IN_Q_OVERFLOW uint32 = syscall.IN_Q_OVERFLOW IN_UNMOUNT uint32 = syscall.IN_UNMOUNT )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type FileEvent ¶
type FileEvent struct {
Name string // File name (optional)
// contains filtered or unexported fields
}
func (*FileEvent) IsModify ¶
IsModify reports whether the FileEvent was triggerd by a file modification or attribute change
type Watcher ¶
type Watcher struct {
Error chan error // Errors are sent on this channel
Event chan *FileEvent // Events are returned on this channel
// contains filtered or unexported fields
}
func NewWatcher ¶
NewWatcher creates and returns a new inotify instance using inotify_init(2)
Example ¶
package main
import (
"log"
"code.google.com/p/go.exp/fsnotify"
)
func main() {
watcher, err := fsnotify.NewWatcher()
if err != nil {
log.Fatal(err)
}
go func() {
for {
select {
case ev := <-watcher.Event:
log.Println("event:", ev)
case err := <-watcher.Error:
log.Println("error:", err)
}
}
}()
err = watcher.Watch("/tmp/foo")
if err != nil {
log.Fatal(err)
}
}
func (*Watcher) Close ¶
Close closes an inotify watcher instance It sends a message to the reader goroutine to quit and removes all watches associated with the inotify instance
func (*Watcher) RemoveWatch ¶
Remove a watch on a file
Click to show internal directories.
Click to hide internal directories.
