12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef fsevent_watch_common_h
- #define fsevent_watch_common_h
- #include <CoreFoundation/CoreFoundation.h>
- #include <CoreServices/CoreServices.h>
- #include <unistd.h>
- #include <fcntl.h>
- #include "compat.h"
- #define _str(s) #s
- #define _xstr(s) _str(s)
- #define COMPILED_AT __DATE__ " " __TIME__
- #define FPRINTF_FLAG_CHECK(flags, flag, msg, fd) \
- do { \
- if ((flags) & (flag)) { \
- fprintf(fd, "%s\n", msg); } } \
- while (0)
- #define FLAG_CHECK_STDERR(flags, flag, msg) \
- FPRINTF_FLAG_CHECK(flags, flag, msg, stderr)
- /*
- * FSEVENTSBITS:
- * generated by `make printflags` (and pasted here)
- * flags MUST be ordered (bits ascending) and sorted
- *
- * idea from: http://www.openbsd.org/cgi-bin/cvsweb/src/sbin/ifconfig/ifconfig.c (see printb())
- */
- #define FSEVENTSBITS \
- "\1mustscansubdirs\2userdropped\3kerneldropped\4eventidswrapped\5historydone\6rootchanged\7mount\10unmount\11created\12removed\13inodemetamod\14renamed\15modified\16finderinfomod\17changeowner\20xattrmod\21isfile\22isdir\23issymlink\24ownevent"
- static inline void
- sprintb(char *buf, unsigned short v, char *bits)
- {
- int i, any = 0;
- char c;
- char *bufp = buf;
- while ((i = *bits++)) {
- if (v & (1 << (i-1))) {
- if (any)
- *bufp++ = ',';
- any = 1;
- for (; (c = *bits) > 32; bits++)
- *bufp++ = c;
- } else
- for (; *bits > 32; bits++)
- ;
- }
- *bufp = '\0';
- }
- #endif /* fsevent_watch_common_h */
|