Index: abi/include/_bits/native.h
===================================================================
--- abi/include/_bits/native.h	(revision bc56f30178279e1e59b8add425abe116ecae93b5)
+++ abi/include/_bits/native.h	(revision 9675296fe33ff287a6d2d86321c97dbd34619703)
@@ -56,4 +56,38 @@
 typedef intptr_t  native_t;
 
+#ifdef KERNEL
+
+typedef sysarg_t uspace_addr_t;
+/* We might implement a way to check validity of the type some day. */
+#define uspace_ptr(type) uspace_addr_t
+#define USPACE_NULL 0
+
+#else /* !KERNEL */
+
+typedef void *uspace_addr_t;
+#define uspace_ptr(type) type *
+
+#endif
+
+// TODO: Put this in a better location.
+#define uspace_ptr_as_area_info_t uspace_ptr(as_area_info_t)
+#define uspace_ptr_as_area_pager_info_t uspace_ptr(as_area_pager_info_t)
+#define uspace_ptr_cap_irq_handle_t uspace_ptr(cap_irq_handle_t)
+#define uspace_ptr_cap_phone_handle_t uspace_ptr(cap_phone_handle_t)
+#define uspace_ptr_cap_waitq_handle_t uspace_ptr(cap_waitq_handle_t)
+#define uspace_ptr_char uspace_ptr(char)
+#define uspace_ptr_const_char uspace_ptr(const char)
+#define uspace_ptr_ddi_ioarg_t uspace_ptr(ddi_ioarg_t)
+#define uspace_ptr_ipc_data_t uspace_ptr(ipc_data_t)
+#define uspace_ptr_irq_code_t uspace_ptr(irq_code_t)
+#define uspace_ptr_size_t uspace_ptr(size_t)
+#define uspace_ptr_struct_uspace_arg uspace_ptr(struct uspace_arg)
+#define uspace_ptr_sysarg64_t uspace_ptr(sysarg64_t)
+#define uspace_ptr_task_id_t uspace_ptr(task_id_t)
+#define uspace_ptr_thread_id_t uspace_ptr(thread_id_t)
+#define uspace_ptr_uintptr_t uspace_ptr(uintptr_t)
+#define uspace_ptr_uspace_arg_t uspace_ptr(uspace_arg_t)
+#define uspace_ptr_uspace_thread_function_t uspace_ptr(uspace_thread_function_t)
+
 __HELENOS_DECLS_END;
 
