Skip to content

Instantly share code, notes, and snippets.

@evanlucas
Created December 8, 2015 19:59
Show Gist options
  • Save evanlucas/ff6ba29ba18a4850174a to your computer and use it in GitHub Desktop.
Save evanlucas/ff6ba29ba18a4850174a to your computer and use it in GitHub Desktop.
printflags.c
#define FLAGS(V) \
V(kFSEventStreamEventFlagItemCreated) \
V(kFSEventStreamEventFlagItemRemoved) \
V(kFSEventStreamEventFlagItemInodeMetaMod) \
V(kFSEventStreamEventFlagItemRenamed) \
V(kFSEventStreamEventFlagItemModified) \
V(kFSEventStreamEventFlagItemFinderInfoMod) \
V(kFSEventStreamEventFlagItemChangeOwner) \
V(kFSEventStreamEventFlagItemXattrMod) \
V(kFSEventStreamEventFlagItemIsFile) \
V(kFSEventStreamEventFlagItemIsDir) \
V(kFSEventStreamEventFlagItemIsSymlink)
#define PRINTFLAG(FLAG) \
printf(#FLAG);
void printFlags(int flags) {
printf("FLAGS: [\n");
#define V(FLAG) if (flags & FLAG) printf(#FLAG",\n");
FLAGS(V)
#undef V
printf("]\n");
}
// flags
//
// file:
// touch: kFSEventStreamEventFlagItemInodeMetaMod, kFSEventStreamEventFlagItemIsFile UV_CHANGE CORRECT
// touch exists:
// rm: kFSEventStreamEventFlagItemRemoved, kFSEventStreamEventFlagItemInodeMetaMod, kFSEventStreamEventFlagItemIsFile UV_RENAME CORRECT
// mv: kFSEventStreamEventFlagItemRenamed, kFSEventStreamEventFlagItemIsFile UV_RENAME
// dir:
// touch dir: kFSEventStreamEventFlagItemInodeMetaMod, kFSEventStreamEventFlagItemIsDir NO event
// touch file: kFSEventStreamEventFlagItemInodeMetaMod, kFSEventStreamEventFlagItemIsFile UV_CHANGE CORRECT
// mv file: kFSEventStreamEventFlagItemRenamed, kFSEventStreamEventFlagItemIsFile UV_RENAME CORRECT
// rm file: kFSEventStreamEventFlagItemRemoved, kFSEventStreamEventFlagItemIsFile UV_RENAME CORRECT
// rm dir: kFSEventStreamEventFlagItemRemoved, kFSEventStreamEventFlagItemIsDir UV_RENAME should be no event
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment