diff options
Diffstat (limited to 'system_cmds/lskq.tproj')
-rw-r--r-- | system_cmds/lskq.tproj/common.h | 25 | ||||
-rw-r--r-- | system_cmds/lskq.tproj/lskq.c | 6 |
2 files changed, 31 insertions, 0 deletions
diff --git a/system_cmds/lskq.tproj/common.h b/system_cmds/lskq.tproj/common.h index 959ac66..c01cff4 100644 --- a/system_cmds/lskq.tproj/common.h +++ b/system_cmds/lskq.tproj/common.h @@ -26,6 +26,31 @@ #include <stdint.h> +#ifndef __enum_open +#if __has_attribute(enum_extensibility) +#define __enum_open __attribute__((__enum_extensibility__(open))) +#define __enum_closed __attribute__((__enum_extensibility__(closed))) +#else +#define __enum_open +#define __enum_closed +#endif // __has_attribute(enum_extensibility) +#endif + +#ifndef __enum_options +#if __has_attribute(flag_enum) +#define __enum_options __attribute__((__flag_enum__)) +#else +#define __enum_options +#endif +#endif + +#ifndef __enum_decl +#define __enum_decl(_name, _type, ...) \ + typedef _type _name; enum __VA_ARGS__ __enum_open +#define __options_decl(_name, _type, ...) \ + typedef _type _name; enum __VA_ARGS__ __enum_open __enum_options +#endif + /* * This file must be kept in sync with xnu headers */ diff --git a/system_cmds/lskq.tproj/lskq.c b/system_cmds/lskq.tproj/lskq.c index d19f722..91f53c0 100644 --- a/system_cmds/lskq.tproj/lskq.c +++ b/system_cmds/lskq.tproj/lskq.c @@ -153,10 +153,16 @@ fflags_build(struct kevent_extinfo *info, char *str, int len) break; case EVFILT_WORKLOOP: +#ifdef NOTE_WL_SYNC_IPC snprintf(str, len, "%c%c%c%c%c ", +#else + snprintf(str, len, "%c%c%c%c ", +#endif (ff & NOTE_WL_THREAD_REQUEST) ? 't' : (ff & NOTE_WL_SYNC_WAIT) ? 'w' : +#ifdef NOTE_WL_SYNC_IPC (ff & NOTE_WL_SYNC_IPC) ? 'i' : '-', +#endif (ff & NOTE_WL_SYNC_WAKE) ? 'W' : '-', (ff & NOTE_WL_UPDATE_QOS) ? 'q' : '-', (ff & NOTE_WL_DISCOVER_OWNER) ? 'o' : '-', |