6

When will the flag kFSEventStreamEventFlagItemInodeMetaMod be set? In Apple's developer documentation it says the value is:

kFSEventStreamEventFlagItemInodeMetaMod = 0x00000400

but it doesn't explain when it's set.

Thanks!

pyrmont
  • 225
  • 5
  • 12
Sharon L.
  • 81
  • 3

1 Answers1

3

That flag is one of the many flags that can be passed to your FSEventStreamCallback function:

  kFSEventStreamEventFlagItemCreated = 0x00000100,
  kFSEventStreamEventFlagItemRemoved = 0x00000200,
  kFSEventStreamEventFlagItemInodeMetaMod = 0x00000400,
  kFSEventStreamEventFlagItemRenamed = 0x00000800,
  kFSEventStreamEventFlagItemModified = 0x00001000,
  kFSEventStreamEventFlagItemFinderInfoMod = 0x00002000,
  kFSEventStreamEventFlagItemChangeOwner = 0x00004000,
  kFSEventStreamEventFlagItemXattrMod = 0x00008000,
  kFSEventStreamEventFlagItemIsFile = 0x00010000,
  kFSEventStreamEventFlagItemIsDir = 0x00020000,
  kFSEventStreamEventFlagItemIsSymlink = 0x00040000

And this is a callback that's called when file system (FS) events occur.

Interesting enough, even the FSEvents.h file doesn't provide any useful elaboration on these event flags. But presumably the callback is called when an item is created, or removed, or renamed, or modified, etc.

Now, about iNodes:

Inodes are a unique ID that the Macintosh file system uses to track files. If the inode number associated with a file is changed or in some way modified, I presume that is when your callback is called with "kFSEventStreamEventFlagItemInodeMetaMod".

Michael Dautermann
  • 88,797
  • 17
  • 166
  • 215
  • 2
    This doesn't really seem like an authoritative answer. It's informational, but the actual question was "when will it be set?" Even in looking at the list of other flags, "kFSEventStreamEventFlagItemModified" is another flag that can be passed, so this would make it seem like these are mutually exclusive compared to what is stated: "If the inode number associated with a file is changed or in some way modified" – Andrew Theken May 13 '16 at 13:36