Platforms to show: All Mac Windows Linux Cross-Platform

Back to FSEventsMBS class.

Next items

FSEventsMBS.kFSEventStreamCreateFlagFileEvents = 16

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the constants used to create a stream.

Request file-level notifications. Your stream will receive events about individual files in the hierarchy you're watching instead of only receiving directory level notifications. Use this flag with care as it will generate significantly more events than without it.

Available in Mac OS X 10.7 or newer.

FSEventsMBS.kFSEventStreamCreateFlagIgnoreSelf = 8

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the constants used to create a stream.

Don't send events that were triggered by the current process. This is useful for reducing the volume of events that are sent. It is only useful if your process might modify the file system hierarchy beneath the path(s) being monitored. Note: this has no effect on historical events, i.e., those delivered before the HistoryDone sentinel event.

Available in Mac OS X 10.7 or newer.

FSEventsMBS.kFSEventStreamCreateFlagMarkSelf = 32

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 16.0
One of the constants used to create a stream.

Tag events that were triggered by the current process with the "OwnEvent" flag. This is only useful if your process might modify the file system hierarchy beneath the path(s) being monitored and you wish to know which events were triggered by your process. Note: this has no effect on historical events, i.e., those delivered before the HistoryDone sentinel event.

FSEventsMBS.kFSEventStreamCreateFlagNoDefer = 2

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
One of the constants used to create a stream.

Affects the meaning of the latency parameter. If you specify this flag and more than latency seconds have elapsed since the last event, your app will receive the event immediately. The delivery of the event resets the latency timer and any further events will be delivered after latency seconds have elapsed. This flag is useful for apps that are interactive and want to react immediately to changes but avoid getting swamped by notifications when changes are occurringin rapid succession. If you do not specify this flag, then when an event occurs after a period of no events, the latency timer is started. Any events that occur during the next latency seconds will be delivered as one group (including that first event). The delivery of the group of events resets the latency timer and any further events will be delivered after latency seconds. This is the default behavior and is more appropriate for background, daemon or batch processing apps.

FSEventsMBS.kFSEventStreamCreateFlagNone = 0

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
One of the constants used to create a stream.

FSEventsMBS.kFSEventStreamCreateFlagUseCFTypes = 1

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
One of the constants used to create a stream.

The plugin uses this one internally.

FSEventsMBS.kFSEventStreamCreateFlagUseExtendedData = 64

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 17.4
One of the constants used to create a stream.

Requires kFSEventStreamCreateFlagUseCFTypes and instructs the framework to invoke your callback function with CF types but, instead of passing it a CFArrayMBS of CFStringMBSs, a CFArrayMBS of CFDictionaryMBSs is passed. Each dictionary will contain the event path and possibly other "extended data" about the event. See the kFSEventStreamEventExtendedData*Key definitions for the set of keys that may be set in the dictionary.
For macOS 10.13 or newer.

FSEventsMBS.kFSEventStreamCreateFlagWatchRoot = 4

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
One of the constants used to create a stream.

Request notifications of changes along the path to the path(s) you're watching. For example, with this flag, if you watch "/foo/bar" and it is renamed to "/foo/bar.old", you would receive a RootChanged event. The same is true if the directory "/foo" were renamed. The event you receive is a special event: the path for the event is the original path you specified, the flag kFSEventStreamEventFlagRootChanged is set and event ID is zero. RootChanged events are useful to indicate that you should rescan a particular hierarchy because it changed completely (as opposed to the things inside of it changing). If you want to track the current location of a directory, it is best to open the directory before creating the stream so that you have a file descriptor for it and can issue an F_GETPATH fcntl() to find the current path.

FSEventsMBS.kFSEventStreamEventFlagEventIdsWrapped = 8

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
One of the flag values you can get on the callback event.

If kFSEventStreamEventFlagEventIdsWrapped is set, it means the 64-bit event ID counter wrapped around. As a result, previously-issued event ID's are no longer valid arguments for the sinceWhen parameter of the constructors.

FSEventsMBS.kFSEventStreamEventFlagHistoryDone = 16

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
One of the flag values you can get on the callback event.
Example
// check flags inside the callback for your FSEventMBS subclass
Sub Callback(index as Integer, count as Integer, path as string, flags as Integer, eventID as UInt64) Handles Callback

Dim HistoryDone As Boolean = BitwiseAnd(flags, FSEventsMBS.kFSEventStreamEventFlagHistoryDone) <> 0
Dim MustScanSubDirs As Boolean = BitwiseAnd(flags, FSEventsMBS.kFSEventStreamEventFlagMustScanSubDirs) <> 0

Break
End Sub

Denotes a sentinel event sent to mark the end of the "historical" events sent as a result of specifying a sinceWhen value in the constructor call that created this event stream. (It will not be sent if kFSEventStreamEventIdSinceNow was passed for sinceWhen.) After invoking the client's callback with all the "historical" events that occurred before now, the client's callback will be invoked with an event where the kFSEventStreamEventFlagHistoryDone flag is set. The client should ignore the path supplied in this callback.

FSEventsMBS.kFSEventStreamEventFlagItemChangeOwner = &h00004000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.

File changed owner.

FSEventsMBS.kFSEventStreamEventFlagItemCloned = &h00400000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 17.4
One of the flags passed when you use FileEvents and a file changes.

The file system object at the specific path supplied in this event is a clone or was cloned.
(This flag is only ever set if you specified the FileEvents flag when creating the stream.)

FSEventsMBS.kFSEventStreamEventFlagItemCreated = &h00000100

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.

File created.

FSEventsMBS.kFSEventStreamEventFlagItemFinderInfoMod = &h00002000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.

File meta data in Finder info have changed.

FSEventsMBS.kFSEventStreamEventFlagItemInodeMetaMod = &h00000400

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.

File meta data in inode have changed.

FSEventsMBS.kFSEventStreamEventFlagItemIsDir = &h00020000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.
Example
// check flags inside the callback for your FSEventMBS subclass
Sub Callback(index as Integer, count as Integer, path as string, flags as Integer, eventID as UInt64) Handles Callback

Dim IsFile As Boolean = BitwiseAnd(flags, FSEventsMBS.kFSEventStreamEventFlagItemIsFile) <> 0
Dim IsDir As Boolean = BitwiseAnd(flags, FSEventsMBS.kFSEventStreamEventFlagItemIsDir ) <> 0

Break
End Sub

File is a folder.

FSEventsMBS.kFSEventStreamEventFlagItemIsFile = &h00010000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.
Example
// check flags inside the callback for your FSEventMBS subclass
Sub Callback(index as Integer, count as Integer, path as string, flags as Integer, eventID as UInt64) Handles Callback

Dim IsFile As Boolean = BitwiseAnd(flags, FSEventsMBS.kFSEventStreamEventFlagItemIsFile) <> 0
Dim IsDir As Boolean = BitwiseAnd(flags, FSEventsMBS.kFSEventStreamEventFlagItemIsDir ) <> 0

Break
End Sub

File is a regular file.

FSEventsMBS.kFSEventStreamEventFlagItemIsHardlink = &h00100000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 16.0
One of the flags passed when you use FileEvents and a file changes.

Indicates the object at the specified path supplied in this event is a hard link.
(This flag is only ever set if you specified the FileEvents flag when creating the stream.)

FSEventsMBS.kFSEventStreamEventFlagItemIsLastHardlink = &h00200000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 16.0
One of the flags passed when you use FileEvents and a file changes.

Indicates the object at the specific path supplied in this event was the last hard link.
(This flag is only ever set if you specified the FileEvents flag when creating the stream.)

FSEventsMBS.kFSEventStreamEventFlagItemIsSymlink = &h00040000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.

File is a symlink.

FSEventsMBS.kFSEventStreamEventFlagItemModified = &h00001000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.

File modified.

FSEventsMBS.kFSEventStreamEventFlagItemRemoved = &h00000200

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.

File deleted.

FSEventsMBS.kFSEventStreamEventFlagItemRenamed = &h00000800

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.

File renamed.

FSEventsMBS.kFSEventStreamEventFlagItemXattrMod = &h00008000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 11.3
One of the flags passed when you use FileEvents and a file changes.

Extended attributes changed.

FSEventsMBS.kFSEventStreamEventFlagKernelDropped = 4

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
One of the flag values you can get on the callback event.

The kFSEventStreamEventFlagUserDropped or kFSEventStreamEventFlagKernelDropped flags may be set in addition to the kFSEventStreamEventFlagMustScanSubDirs flag to indicate that a problem occurred in buffering the events (the particular flag set indicates where the problem occurred) and that the client must do a full scan of any directories (and their subdirectories, recursively) being monitored by this stream. If you asked to monitor multiple paths with this stream then you will be notified about all of them. Your code need only check for the kFSEventStreamEventFlagMustScanSubDirs flag; these flags (if present) only provide information to help you diagnose the problem.

FSEventsMBS.kFSEventStreamEventFlagMount = 64

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
One of the flag values you can get on the callback event.

Denotes a special event sent when a volume is mounted. The path in the event is the path to the newly-mounted volume. You will receive one of these notifications for every volume mount event inside the kernel (independent of DiskArbitration). Beware that a newly-mounted volume could contain an arbitrarily large directory hierarchy. Avoid pitfalls like triggering a recursive scan of a non-local filesystem, which you can detect by checking for the absence of the MNT_LOCAL flag in the f_flags returned by statfs(). Also be aware of the MNT_DONTBROWSE flag that is set for volumes which should not be displayed by user interface elements.

FSEventsMBS.kFSEventStreamEventFlagMustScanSubDirs = 1

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
One of the flag values you can get on the callback event.
Example
// check flags inside the callback for your FSEventMBS subclass
Sub Callback(index as Integer, count as Integer, path as string, flags as Integer, eventID as UInt64) Handles Callback

Dim HistoryDone As Boolean = BitwiseAnd(flags, FSEventsMBS.kFSEventStreamEventFlagHistoryDone) <> 0
Dim MustScanSubDirs As Boolean = BitwiseAnd(flags, FSEventsMBS.kFSEventStreamEventFlagMustScanSubDirs) <> 0

Break
End Sub

Your application must rescan not just the directory given in the event, but all its children, recursively. This can happen if there was a problem whereby events were coalesced hierarchically. For example, an event in /Users/jsmith/Music and an event in /Users/jsmith/Pictures might be coalesced into an event with this flag set and path=/Users/jsmith. If this flag is set you may be able to get an idea of whether the bottleneck happened in the kernel (less likely) or in your client (more likely) by checking for the presence of the informational flags kFSEventStreamEventFlagUserDropped or kFSEventStreamEventFlagKernelDropped.

FSEventsMBS.kFSEventStreamEventFlagNone = 0

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 8.1
The constant to specify that no flags are used.

FSEventsMBS.kFSEventStreamEventFlagOwnEvent = &h00080000

Type Topic Plugin Version
const Folder Change Watching MBS MacFrameworks Plugin 16.0
One of the flags passed when you use FileEvents and a file changes.

Indicates the event was triggered by the current process.
(This flag is only ever set if you specified the MarkSelf flag when creating the stream.)

Next items

The items on this page are in the following plugins: MBS MacFrameworks Plugin.


💬 Ask a question or report a problem
The biggest plugin in space...