Documentation
¶
Overview ¶
Package inotify implements a wrapper for the Linux inotify system.
Example:
watcher, err := inotify.NewWatcher() if err != nil { log.Fatal(err) } err = watcher.Watch("/tmp") if err != nil { log.Fatal(err) } for { select { case ev := <-watcher.Event: log.Println("event:", ev) case err := <-watcher.Error: log.Println("error:", err) } }
Note from inotify(7):
IN_IGNORED Watch was removed explicitly (inotify_rm_watch(2)) or automatically (file was deleted, or file system was unmounted).
You will receive the event in case of not only RemoveWatch() but also remove a watch file / directory. In addition to it, you will receive IN_IGNORED if IN_ONESHOT flag to AddWatch().
Index ¶
- Constants
- type Event
- type Watcher
- func (w *Watcher) AddWatch(path string, flags uint32) error
- func (w *Watcher) AddWatchFilter(path string, flags uint32, filter func(*Event) bool) error
- func (w *Watcher) Close() error
- func (w *Watcher) RemoveWatch(path string) error
- func (w *Watcher) Watch(path string) error
- func (w *Watcher) WatchFilter(path string, filter func(*Event) bool) error
Constants ¶
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 // 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 )
const EPOLL_MAX_EVENTS = 64
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Event ¶
type Watcher ¶
type Watcher struct { Error chan error // Errors are sent on this channel Event chan *Event // 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)
func (*Watcher) AddWatch ¶
AddWatch adds path to the watched file set. The flags are interpreted as described in inotify_add_watch(2).
func (*Watcher) AddWatchFilter ¶
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 ¶
RemoveWatch removes path from the watched file set.