#if defined(_POSIX_SOURCE) || defined(_POSIX_C_SOURCE) \
|| defined(_XOPEN_SOURCE) || defined(_GNU_SOURCE)
+#ifdef _GNU_SOURCE
+#define __siginfo siginfo
+#endif
+
#define __NEED_size_t
#define __NEED_pid_t
#define __NEED_uid_t
void *sival_ptr;
};
-#ifdef _GNU_SOURCE
-struct siginfo
-#else
-struct __siginfo
-#endif
-{
+struct __siginfo {
int si_signo, si_errno, si_code;
union {
char __pad[128 - 3*sizeof(int)];
#define si_fd __si_fields.__sigpoll.si_fd
#define si_timer1 __si_fields.__timer.si_timer1
#define si_timer2 __si_fields.__timer.si_timer2
+#define si_ptr __si_fields.__rt.si_sigval.sival_ptr
+#define si_int __si_fields.__rt.si_sigval.sival_int
struct sigevent {
union sigval sigev_value;