status-go/vendor/github.com/rjeczalik/notify/event_kqueue.go

61 lines
2.1 KiB
Go
Raw Permalink Normal View History

// 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.
2023-06-07 20:46:50 +00:00
//go:build (darwin && kqueue) || (darwin && !cgo) || dragonfly || freebsd || netbsd || openbsd
// +build darwin,kqueue darwin,!cgo 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 (
// NoteDelete is an event reported when the unlink() system call was called
// 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",
}