Index: uspace/lib/posix/signal.h
===================================================================
--- uspace/lib/posix/signal.h	(revision f246c81cab070e50f9f2bf7be27419863f9fda6c)
+++ uspace/lib/posix/signal.h	(revision fa9815d96be04a07b13d3182eaead802d5781f6d)
@@ -37,4 +37,5 @@
 
 #include "libc/errno.h"
+#include "sys/types.h"
 
 /* HelenOS doesn't have signals, so calls to functions of this header
@@ -51,4 +52,6 @@
 #undef SIG_ERR
 #define SIG_ERR ((void (*)(int)) 0)
+#undef SIG_HOLD
+#define SIG_HOLD ((void (*)(int)) 0)
 #undef SIG_IGN
 #define SIG_IGN ((void (*)(int)) 0)
@@ -59,4 +62,102 @@
 
 typedef int posix_sig_atomic_t;
+typedef int posix_sigset_t;
+typedef struct posix_mcontext {
+} posix_mcontext_t;
+
+union posix_sigval {
+	int sival_int;
+	void *sival_ptr;
+};
+
+struct posix_sigevent {
+	int sigev_notify; /* Notification type. */
+	int sigev_signo; /* Signal number. */
+	union posix_sigval sigev_value; /* Signal value. */
+	void (*sigev_notify_function)(union sigval); /* Notification function. */
+	posix_thread_attr_t *sigev_notify_attributes; /* Notification attributes. */
+};
+
+typedef struct {
+	int si_signo;
+	int si_code;
+
+	int si_errno;
+
+	pid_t si_pid;
+	uid_t si_uid;
+	void *si_addr;
+	int si_status;
+
+	long si_band;
+
+	union posix_sigval si_value;
+} posix_siginfo_t;
+
+struct posix_sigaction {
+	void (*sa_handler)(int);
+	posix_sigset_t sa_mask;
+	int sa_flags;
+	void (*sa_sigaction)(int, posix_siginfo_t *, void *);
+};
+
+typedef struct {
+	void *ss_sp;
+	size_t ss_size;
+	int ss_flags;
+} posix_stack_t;
+
+typedef struct posix_ucontext {
+	struct posix_ucontext *uc_link;
+	posix_sigset_t uc_sigmask;
+	posix_stack_t uc_stack;
+	posix_mcontext_t uc_mcontext;
+} posix_ucontext_t;
+
+
+/* Values of posix_sigevent::sigev_notify */
+#undef SIGEV_NONE
+#define SIGEV_NONE 0
+#undef SIGEV_SIGNAL
+#define SIGEV_SIGNAL 0
+#undef SIGEV_THREAD
+#define SIGEV_THREAD 0
+
+#undef SIGRT_MIN
+#define SIGRT_MIN 0
+#undef SIGRT_MAX
+#define SIGRT_MAX 0
+
+#undef SIG_BLOCK
+#define SIG_BLOCK 0
+#undef SIG_UNBLOCK
+#define SIG_UNBLOCK 0
+#undef SIG_SETMASK
+#define SIG_SETMASK 0
+
+#undef SA_NOCLDSTOP
+#define SA_NOCLDSTOP 0
+#undef SA_ONSTACK
+#define SA_ONSTACK 0
+#undef SA_RESETHAND
+#define SA_RESETHAND 0
+#undef SA_RESTART
+#define SA_RESTART 0
+#undef SA_SIGINFO
+#define SA_SIGINFO 0
+#undef SA_NOCLDWAIT
+#define SA_NOCLDWAIT 0
+#undef SA_NODEFER
+#define SA_NODEFER 0
+
+#undef SS_ONSTACK
+#define SS_ONSTACK 0
+#undef SS_DISABLE
+#define SS_DISABLE 0
+
+#undef MINSIGSTKSZ
+#define MINSIGSTKSZ 0
+#undef SIGSTKSZ
+#define SIGSTKSZ 0
 
 /* full POSIX set */
@@ -94,4 +195,12 @@
 #ifndef LIBPOSIX_INTERNAL
 	#define sig_atomic_t posix_sig_atomic_t
+	#define sigset_t posix_sigset_t
+	#define sigval posix_sigval
+	#define sigevent posix_sigevent
+	#define sigaction posix_sigaction
+	#define mcontext_t posix_mcontext_t
+	#define ucontext_t posix_ucontext_t
+	#define stack_t posix_stack_t
+	#define siginfo_t posix_siginfo_t
 #endif
 
Index: uspace/lib/posix/sys/types.h
===================================================================
--- uspace/lib/posix/sys/types.h	(revision f246c81cab070e50f9f2bf7be27419863f9fda6c)
+++ uspace/lib/posix/sys/types.h	(revision fa9815d96be04a07b13d3182eaead802d5781f6d)
@@ -49,4 +49,7 @@
 typedef sysarg_t posix_dev_t;
 
+/* PThread types */
+typedef struct posix_thread_attr posix_thread_attr_t;
+
 #ifndef LIBPOSIX_INTERNAL
 	#define ino_t posix_ino_t
@@ -59,4 +62,6 @@
 	#define pid_t posix_pid_t
 	#define dev_t posix_dev_t
+	
+	#define pthread_attr_t posix_thread_attr_t
 #endif
 
