POSIX specifies that sigset_t can be defined either as integer
type or a structure type. Add kernel definition of sigset_t to
avoid compilation errors caused by flavors of libc that use the
struct definition.
Signed-off-by: Michalis Pappas <michalis@unikraft.io>
Reviewed-by: Ioan-Teodor Teugea <ioan_teodor.teugea@stud.acs.upb.ro>
Reviewed-by: Sergiu Moga <sergiu@unikraft.io>
Reviewed-by: Andrei Tatar <andrei@unikraft.io>
Approved-by: Andrei Tatar <andrei@unikraft.io>
GitHub-Closes: #1248
extern "C" {
#endif
+/* Kernel-side definition of sigset_t */
+typedef unsigned long uk_sigset_t;
+
#define uk_sigemptyset(_ptr) (*(_ptr) = 0)
-#define uk_sigfillset(_ptr) (*(_ptr) = ~((__sigset_t)0))
+#define uk_sigfillset(_ptr) (*(_ptr) = ~((uk_sigset_t)0))
#define uk_sigaddset(_ptr, _signo) (*(_ptr) |= (1UL << ((_signo) - 1)))
#define uk_sigdelset(_ptr, _signo) (*(_ptr) &= ~(1UL << ((_signo) - 1)))
#define uk_sigcopyset(_ptr1, _ptr2) (*(_ptr1) = *(_ptr2))