2016-03-18 13:37:29 -05:00
|
|
|
// 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 darwin,kqueue dragonfly freebsd netbsd openbsd
|
|
|
|
|
|
|
|
package notify
|
|
|
|
|
|
|
|
import "syscall"
|
|
|
|
|
|
|
|
// TODO(pblaszczyk): ensure in runtime notify built-in event values do not
|
|
|
|
// overlap with platform-defined ones.
|
|
|
|
|
|
|
|
// Platform independent event values.
|
|
|
|
const (
|
|
|
|
osSpecificCreate Event = 0x0100 << 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
|
|
|
|
)
|
|
|
|
|
|
|
|
const (
|
2017-02-16 06:21:11 -06:00
|
|
|
// NoteDelete is an event reported when the unlink() system call was called
|
2016-03-18 13:37:29 -05:00
|
|
|
// on the file referenced by the descriptor.
|
|
|
|
NoteDelete = Event(syscall.NOTE_DELETE)
|
|
|
|
// NoteWrite is an event reported when a write occurred on the file
|
|
|
|
// referenced by the descriptor.
|
|
|
|
NoteWrite = Event(syscall.NOTE_WRITE)
|
|
|
|
// NoteExtend is an event reported when the file referenced by the
|
|
|
|
// descriptor was extended.
|
|
|
|
NoteExtend = Event(syscall.NOTE_EXTEND)
|
|
|
|
// NoteAttrib is an event reported when the file referenced
|
|
|
|
// by the descriptor had its attributes changed.
|
|
|
|
NoteAttrib = Event(syscall.NOTE_ATTRIB)
|
|
|
|
// NoteLink is an event reported when the link count on the file changed.
|
|
|
|
NoteLink = Event(syscall.NOTE_LINK)
|
|
|
|
// NoteRename is an event reported when the file referenced
|
|
|
|
// by the descriptor was renamed.
|
|
|
|
NoteRename = Event(syscall.NOTE_RENAME)
|
|
|
|
// NoteRevoke is an event reported when access to the file was revoked via
|
|
|
|
// revoke(2) or the underlying file system was unmounted.
|
|
|
|
NoteRevoke = Event(syscall.NOTE_REVOKE)
|
|
|
|
)
|
|
|
|
|
|
|
|
var osestr = map[Event]string{
|
|
|
|
NoteDelete: "notify.NoteDelete",
|
|
|
|
NoteWrite: "notify.NoteWrite",
|
|
|
|
NoteExtend: "notify.NoteExtend",
|
|
|
|
NoteAttrib: "notify.NoteAttrib",
|
|
|
|
NoteLink: "notify.NoteLink",
|
|
|
|
NoteRename: "notify.NoteRename",
|
|
|
|
NoteRevoke: "notify.NoteRevoke",
|
|
|
|
}
|