compat.h 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * @headerfile compat.h
  3. * FSEventStream flag compatibility shim
  4. *
  5. * In order to compile a binary against an older SDK yet still support the
  6. * features present in later OS releases, we need to define any missing enum
  7. * constants not present in the older SDK. This allows us to safely defer
  8. * feature detection to runtime (and avoid recompilation).
  9. */
  10. #ifndef fsevent_watch_compat_h
  11. #define fsevent_watch_compat_h
  12. #ifndef __CORESERVICES__
  13. #include <CoreServices/CoreServices.h>
  14. #endif // __CORESERVICES__
  15. #if MAC_OS_X_VERSION_MAX_ALLOWED < 1060
  16. // ignoring events originating from the current process introduced in 10.6
  17. extern FSEventStreamCreateFlags kFSEventStreamCreateFlagIgnoreSelf;
  18. #endif
  19. #if MAC_OS_X_VERSION_MAX_ALLOWED < 1070
  20. // file-level events introduced in 10.7
  21. extern FSEventStreamCreateFlags kFSEventStreamCreateFlagFileEvents;
  22. extern FSEventStreamEventFlags kFSEventStreamEventFlagItemCreated,
  23. kFSEventStreamEventFlagItemRemoved,
  24. kFSEventStreamEventFlagItemInodeMetaMod,
  25. kFSEventStreamEventFlagItemRenamed,
  26. kFSEventStreamEventFlagItemModified,
  27. kFSEventStreamEventFlagItemFinderInfoMod,
  28. kFSEventStreamEventFlagItemChangeOwner,
  29. kFSEventStreamEventFlagItemXattrMod,
  30. kFSEventStreamEventFlagItemIsFile,
  31. kFSEventStreamEventFlagItemIsDir,
  32. kFSEventStreamEventFlagItemIsSymlink;
  33. #endif
  34. #if MAC_OS_X_VERSION_MAX_ALLOWED < 1090
  35. // marking, rather than ignoring, events originating from the current process introduced in 10.9
  36. extern FSEventStreamCreateFlags kFSEventStreamCreateFlagMarkSelf;
  37. extern FSEventStreamEventFlags kFSEventStreamEventFlagOwnEvent;
  38. #endif
  39. #endif // fsevent_watch_compat_h