import "github.com/howeyc/fsnotify"
Package fsnotify implements filesystem notification.
const (
FSN_CREATE = 1
FSN_MODIFY = 2
FSN_DELETE = 4
FSN_RENAME = 8
FSN_ALL = FSN_MODIFY | FSN_DELETE | FSN_RENAME | FSN_CREATE
)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
)
type FileEvent struct {
Name string // File name (optional)
// contains filtered or unexported fields
}
func (e *FileEvent) IsCreate() bool
IsCreate reports whether the FileEvent was triggerd by a creation
func (e *FileEvent) IsDelete() bool
IsDelete reports whether the FileEvent was triggerd by a delete
func (e *FileEvent) IsModify() bool
IsModify reports whether the FileEvent was triggerd by a file modification or attribute change
func (e *FileEvent) IsRename() bool
IsRename reports whether the FileEvent was triggerd by a change name
func (e *FileEvent) String() string
String formats the event e in the form "filename: DELETE|MODIFY|..."
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() (*Watcher, error)
NewWatcher creates and returns a new inotify instance using inotify_init(2)
func (w *Watcher) Close() error
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 (w *Watcher) RemoveWatch(path string) error
Remove a watch on a file
func (w *Watcher) Watch(path string) error
Watch a given file path
func (w *Watcher) WatchFlags(path string, flags uint32) error
Watch a given file path for a particular set of notifications (FSN_MODIFY etc.)