+++ /dev/null
-// Copyright (c) 2014-2015 The Notify Authors. All rights reserved.
-// Use of this source code is governed by the MIT license that can be
-// found in the LICENSE file.
-
-// +build linux
-
-package notify
-
-import "golang.org/x/sys/unix"
-
-// Platform independent event values.
-const (
- osSpecificCreate Event = 0x100000 << iota
- osSpecificRemove
- osSpecificWrite
- osSpecificRename
- // internal
- // recursive is used to distinguish recursive eventsets from non-recursive ones
- recursive
- // omit is used for dispatching internal events; only those events are sent
- // for which both the event and the watchpoint has omit in theirs event sets.
- omit
-)
-
-// Inotify specific masks are legal, implemented events that are guaranteed to
-// work with notify package on linux-based systems.
-const (
- InAccess = Event(unix.IN_ACCESS) // File was accessed
- InModify = Event(unix.IN_MODIFY) // File was modified
- InAttrib = Event(unix.IN_ATTRIB) // Metadata changed
- InCloseWrite = Event(unix.IN_CLOSE_WRITE) // Writtable file was closed
- InCloseNowrite = Event(unix.IN_CLOSE_NOWRITE) // Unwrittable file closed
- InOpen = Event(unix.IN_OPEN) // File was opened
- InMovedFrom = Event(unix.IN_MOVED_FROM) // File was moved from X
- InMovedTo = Event(unix.IN_MOVED_TO) // File was moved to Y
- InCreate = Event(unix.IN_CREATE) // Subfile was created
- InDelete = Event(unix.IN_DELETE) // Subfile was deleted
- InDeleteSelf = Event(unix.IN_DELETE_SELF) // Self was deleted
- InMoveSelf = Event(unix.IN_MOVE_SELF) // Self was moved
-)
-
-var osestr = map[Event]string{
- InAccess: "notify.InAccess",
- InModify: "notify.InModify",
- InAttrib: "notify.InAttrib",
- InCloseWrite: "notify.InCloseWrite",
- InCloseNowrite: "notify.InCloseNowrite",
- InOpen: "notify.InOpen",
- InMovedFrom: "notify.InMovedFrom",
- InMovedTo: "notify.InMovedTo",
- InCreate: "notify.InCreate",
- InDelete: "notify.InDelete",
- InDeleteSelf: "notify.InDeleteSelf",
- InMoveSelf: "notify.InMoveSelf",
-}
-
-// Inotify behavior events are not **currently** supported by notify package.
-const (
- inDontFollow = Event(unix.IN_DONT_FOLLOW)
- inExclUnlink = Event(unix.IN_EXCL_UNLINK)
- inMaskAdd = Event(unix.IN_MASK_ADD)
- inOneshot = Event(unix.IN_ONESHOT)
- inOnlydir = Event(unix.IN_ONLYDIR)
-)
-
-type event struct {
- sys unix.InotifyEvent
- path string
- event Event
-}
-
-func (e *event) Event() Event { return e.event }
-func (e *event) Path() string { return e.path }
-func (e *event) Sys() interface{} { return &e.sys }
-func (e *event) isDir() (bool, error) { return e.sys.Mask&unix.IN_ISDIR != 0, nil }