|
1 |
| -#if defined(__GNUC__) |
2 |
| -/* |
3 |
| - * It is possible to #include CoreFoundation/CoreFoundation.h when compiling |
4 |
| - * with clang, but not with GCC as of time of writing. |
5 |
| - * |
6 |
| - * See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93082 for details. |
7 |
| - */ |
8 |
| -typedef unsigned int FSEventStreamCreateFlags; |
9 |
| -#define kFSEventStreamEventFlagNone 0x00000000 |
10 |
| -#define kFSEventStreamEventFlagMustScanSubDirs 0x00000001 |
11 |
| -#define kFSEventStreamEventFlagUserDropped 0x00000002 |
12 |
| -#define kFSEventStreamEventFlagKernelDropped 0x00000004 |
13 |
| -#define kFSEventStreamEventFlagEventIdsWrapped 0x00000008 |
14 |
| -#define kFSEventStreamEventFlagHistoryDone 0x00000010 |
15 |
| -#define kFSEventStreamEventFlagRootChanged 0x00000020 |
16 |
| -#define kFSEventStreamEventFlagMount 0x00000040 |
17 |
| -#define kFSEventStreamEventFlagUnmount 0x00000080 |
18 |
| -#define kFSEventStreamEventFlagItemCreated 0x00000100 |
19 |
| -#define kFSEventStreamEventFlagItemRemoved 0x00000200 |
20 |
| -#define kFSEventStreamEventFlagItemInodeMetaMod 0x00000400 |
21 |
| -#define kFSEventStreamEventFlagItemRenamed 0x00000800 |
22 |
| -#define kFSEventStreamEventFlagItemModified 0x00001000 |
23 |
| -#define kFSEventStreamEventFlagItemFinderInfoMod 0x00002000 |
24 |
| -#define kFSEventStreamEventFlagItemChangeOwner 0x00004000 |
25 |
| -#define kFSEventStreamEventFlagItemXattrMod 0x00008000 |
26 |
| -#define kFSEventStreamEventFlagItemIsFile 0x00010000 |
27 |
| -#define kFSEventStreamEventFlagItemIsDir 0x00020000 |
28 |
| -#define kFSEventStreamEventFlagItemIsSymlink 0x00040000 |
29 |
| -#define kFSEventStreamEventFlagOwnEvent 0x00080000 |
30 |
| -#define kFSEventStreamEventFlagItemIsHardlink 0x00100000 |
31 |
| -#define kFSEventStreamEventFlagItemIsLastHardlink 0x00200000 |
32 |
| -#define kFSEventStreamEventFlagItemCloned 0x00400000 |
33 |
| - |
34 |
| -typedef struct __FSEventStream *FSEventStreamRef; |
35 |
| -typedef const FSEventStreamRef ConstFSEventStreamRef; |
36 |
| - |
37 |
| -typedef unsigned int CFStringEncoding; |
38 |
| -#define kCFStringEncodingUTF8 0x08000100 |
39 |
| - |
40 |
| -typedef const struct __CFString *CFStringRef; |
41 |
| -typedef const struct __CFArray *CFArrayRef; |
42 |
| -typedef const struct __CFRunLoop *CFRunLoopRef; |
43 |
| - |
44 |
| -struct FSEventStreamContext { |
45 |
| - long long version; |
46 |
| - void *cb_data, *retain, *release, *copy_description; |
47 |
| -}; |
48 |
| - |
49 |
| -typedef struct FSEventStreamContext FSEventStreamContext; |
50 |
| -typedef unsigned int FSEventStreamEventFlags; |
51 |
| -#define kFSEventStreamCreateFlagNoDefer 0x02 |
52 |
| -#define kFSEventStreamCreateFlagWatchRoot 0x04 |
53 |
| -#define kFSEventStreamCreateFlagFileEvents 0x10 |
54 |
| - |
55 |
| -typedef unsigned long long FSEventStreamEventId; |
56 |
| -#define kFSEventStreamEventIdSinceNow 0xFFFFFFFFFFFFFFFFULL |
57 |
| - |
58 |
| -typedef void (*FSEventStreamCallback)(ConstFSEventStreamRef streamRef, |
59 |
| - void *context, |
60 |
| - __SIZE_TYPE__ num_of_events, |
61 |
| - void *event_paths, |
62 |
| - const FSEventStreamEventFlags event_flags[], |
63 |
| - const FSEventStreamEventId event_ids[]); |
64 |
| -typedef double CFTimeInterval; |
65 |
| -FSEventStreamRef FSEventStreamCreate(void *allocator, |
66 |
| - FSEventStreamCallback callback, |
67 |
| - FSEventStreamContext *context, |
68 |
| - CFArrayRef paths_to_watch, |
69 |
| - FSEventStreamEventId since_when, |
70 |
| - CFTimeInterval latency, |
71 |
| - FSEventStreamCreateFlags flags); |
72 |
| -CFStringRef CFStringCreateWithCString(void *allocator, const char *string, |
73 |
| - CFStringEncoding encoding); |
74 |
| -CFArrayRef CFArrayCreate(void *allocator, const void **items, long long count, |
75 |
| - void *callbacks); |
76 |
| -void CFRunLoopRun(void); |
77 |
| -void CFRunLoopStop(CFRunLoopRef run_loop); |
78 |
| -CFRunLoopRef CFRunLoopGetCurrent(void); |
79 |
| -extern CFStringRef kCFRunLoopDefaultMode; |
80 |
| -void FSEventStreamScheduleWithRunLoop(FSEventStreamRef stream, |
81 |
| - CFRunLoopRef run_loop, |
82 |
| - CFStringRef run_loop_mode); |
83 |
| -unsigned char FSEventStreamStart(FSEventStreamRef stream); |
84 |
| -void FSEventStreamStop(FSEventStreamRef stream); |
85 |
| -void FSEventStreamInvalidate(FSEventStreamRef stream); |
86 |
| -void FSEventStreamRelease(FSEventStreamRef stream); |
87 |
| -#else |
88 |
| -/* |
89 |
| - * Let Apple's headers declare `isalnum()` first, before |
90 |
| - * Git's headers override it via a constant |
91 |
| - */ |
92 |
| -#include <string.h> |
93 |
| -#include <CoreFoundation/CoreFoundation.h> |
94 |
| -#include <CoreServices/CoreServices.h> |
95 |
| -#endif |
96 |
| - |
97 | 1 | #include "cache.h"
|
98 | 2 | #include "fsmonitor.h"
|
99 | 3 | #include "fsm-listen.h"
|
|
0 commit comments