Index: sys/sys/event.h =================================================================== RCS file: /cvsroot/src/sys/sys/event.h,v retrieving revision 1.32 diff -u -r1.32 event.h --- sys/sys/event.h 9 Jan 2018 03:31:13 -0000 1.32 +++ sys/sys/event.h 1 Aug 2019 12:01:17 -0000 @@ -55,10 +55,6 @@ intptr_t udata; /* opaque user data identifier */ }; -#define EV_SET(kevp, ident, filter, flags, fflags, data, udata) \ - _EV_SET((kevp), __CAST(uintptr_t, (ident)), (filter), (flags), \ - (fflags), (data), __CAST(intptr_t, (udata))) - static __inline void _EV_SET(struct kevent *_kevp, uintptr_t _ident, uint32_t _filter, uint32_t _flags, uint32_t _fflags, int64_t _data, intptr_t _udata) @@ -71,6 +67,24 @@ _kevp->udata = _udata; } +#ifdef __cplusplus +#define EV_SET(kevp, ident, filter, flags, fflags, data, udata) \ + _EV_SET((kevp), __CAST(uintptr_t, (ident)), (filter), (flags), \ + (fflags), (data), (udata)) + +static __inline void +_EV_SET(struct kevent *_kevp, uintptr_t _ident, uint32_t _filter, + uint32_t _flags, uint32_t _fflags, int64_t _data, void *_udata) +{ + _EV_SET(_kevp, _ident, _filter, _flags, _fflags, _data, + reinterpret_cast(_udata)); +} +#else +#define EV_SET(kevp, ident, filter, flags, fflags, data, udata) \ + _EV_SET((kevp), __CAST(uintptr_t, (ident)), (filter), (flags), \ + (fflags), (data), __CAST(intptr_t, (udata))) +#endif + /* actions */ #define EV_ADD 0x0001U /* add event to kq (implies ENABLE) */ #define EV_DELETE 0x0002U /* delete event from kq */