Index: uspace/app/edit/search.h
===================================================================
--- uspace/app/edit/search.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/app/edit/search.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -38,5 +38,5 @@
 
 #include <str.h>
-#include <sys/types.h>
+#include <offset.h>
 
 struct search;
Index: uspace/app/testread/testread.c
===================================================================
--- uspace/app/testread/testread.c	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/app/testread/testread.c	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -58,4 +58,5 @@
 #include <errno.h>
 #include <time.h>
+#include <offset.h>
 
 #define NAME	"testread"
Index: uspace/lib/bithenge/include/bithenge/blob.h
===================================================================
--- uspace/lib/bithenge/include/bithenge/blob.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/bithenge/include/bithenge/blob.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -38,5 +38,5 @@
 #define BITHENGE_BLOB_H_
 
-#include <sys/types.h>
+#include <offset.h>
 #include <errno.h>
 #include "tree.h"
Index: uspace/lib/block/block.h
===================================================================
--- uspace/lib/block/block.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/block/block.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,5 +39,5 @@
 #define LIBBLOCK_LIBBLOCK_H_
 
-#include <sys/types.h>
+#include <offset.h>
 #include <async.h>
 #include <fibril_synch.h>
Index: uspace/lib/c/arch/abs32le/include/libarch/stddef.h
===================================================================
--- uspace/lib/c/arch/abs32le/include/libarch/stddef.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/abs32le/include/libarch/stddef.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,4 +39,5 @@
 
 typedef uint32_t size_t;
+typedef int32_t ssize_t;
 typedef int32_t ptrdiff_t;
 
Index: uspace/lib/c/arch/abs32le/include/libarch/types.h
===================================================================
--- uspace/lib/c/arch/abs32le/include/libarch/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/abs32le/include/libarch/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -48,6 +48,4 @@
 typedef int32_t native_t;
 
-typedef int32_t ssize_t;
-
 typedef uint32_t atomic_count_t;
 typedef int32_t atomic_signed_t;
Index: uspace/lib/c/arch/amd64/include/libarch/stddef.h
===================================================================
--- uspace/lib/c/arch/amd64/include/libarch/stddef.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/amd64/include/libarch/stddef.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,4 +39,5 @@
 
 typedef uint64_t size_t;
+typedef int64_t ssize_t;
 typedef int64_t ptrdiff_t;
 
Index: uspace/lib/c/arch/amd64/include/libarch/types.h
===================================================================
--- uspace/lib/c/arch/amd64/include/libarch/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/amd64/include/libarch/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -48,6 +48,4 @@
 typedef int64_t native_t;
 
-typedef int64_t ssize_t;
-
 typedef uint64_t atomic_count_t;
 typedef int64_t atomic_signed_t;
Index: uspace/lib/c/arch/arm32/include/libarch/stddef.h
===================================================================
--- uspace/lib/c/arch/arm32/include/libarch/stddef.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/arm32/include/libarch/stddef.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,4 +39,5 @@
 
 typedef uint32_t size_t;
+typedef int32_t ssize_t;
 typedef int32_t ptrdiff_t;
 
Index: uspace/lib/c/arch/arm32/include/libarch/types.h
===================================================================
--- uspace/lib/c/arch/arm32/include/libarch/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/arm32/include/libarch/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -49,6 +49,4 @@
 typedef int32_t native_t;
 
-typedef int32_t ssize_t;
-
 typedef uint32_t atomic_count_t;
 typedef int32_t atomic_signed_t;
Index: uspace/lib/c/arch/ia32/include/libarch/stddef.h
===================================================================
--- uspace/lib/c/arch/ia32/include/libarch/stddef.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/ia32/include/libarch/stddef.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,4 +39,5 @@
 
 typedef uint32_t size_t;
+typedef int32_t ssize_t;
 typedef int32_t ptrdiff_t;
 
Index: uspace/lib/c/arch/ia32/include/libarch/types.h
===================================================================
--- uspace/lib/c/arch/ia32/include/libarch/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/ia32/include/libarch/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -48,7 +48,4 @@
 typedef int32_t native_t;
 
-typedef int32_t ssize_t;
-typedef uint32_t size_t;
-
 typedef uint32_t atomic_count_t;
 typedef int32_t atomic_signed_t;
Index: uspace/lib/c/arch/ia64/include/libarch/stddef.h
===================================================================
--- uspace/lib/c/arch/ia64/include/libarch/stddef.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/ia64/include/libarch/stddef.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,4 +39,5 @@
 
 typedef uint64_t size_t;
+typedef int64_t ssize_t;
 typedef int64_t ptrdiff_t;
 
Index: uspace/lib/c/arch/ia64/include/libarch/types.h
===================================================================
--- uspace/lib/c/arch/ia64/include/libarch/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/ia64/include/libarch/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -48,6 +48,4 @@
 typedef int64_t native_t;
 
-typedef int64_t ssize_t;
-
 typedef uint64_t atomic_count_t;
 typedef int64_t atomic_signed_t;
Index: uspace/lib/c/arch/mips32/include/libarch/stddef.h
===================================================================
--- uspace/lib/c/arch/mips32/include/libarch/stddef.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/mips32/include/libarch/stddef.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,4 +39,5 @@
 
 typedef uint32_t size_t;
+typedef int32_t ssize_t;
 typedef int32_t ptrdiff_t;
 
Index: uspace/lib/c/arch/mips32/include/libarch/types.h
===================================================================
--- uspace/lib/c/arch/mips32/include/libarch/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/mips32/include/libarch/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -49,6 +49,4 @@
 typedef int32_t native_t;
 
-typedef int32_t ssize_t;
-
 typedef uint32_t atomic_count_t;
 typedef int32_t atomic_signed_t;
Index: uspace/lib/c/arch/ppc32/include/libarch/stddef.h
===================================================================
--- uspace/lib/c/arch/ppc32/include/libarch/stddef.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/ppc32/include/libarch/stddef.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,4 +39,5 @@
 
 typedef uint32_t size_t;
+typedef int32_t ssize_t;
 typedef int32_t ptrdiff_t;
 
Index: uspace/lib/c/arch/ppc32/include/libarch/types.h
===================================================================
--- uspace/lib/c/arch/ppc32/include/libarch/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/ppc32/include/libarch/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -48,6 +48,4 @@
 typedef int32_t native_t;
 
-typedef int32_t ssize_t;
-
 typedef uint32_t atomic_count_t;
 typedef int32_t atomic_signed_t;
Index: uspace/lib/c/arch/riscv64/include/libarch/stddef.h
===================================================================
--- uspace/lib/c/arch/riscv64/include/libarch/stddef.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/riscv64/include/libarch/stddef.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,4 +39,5 @@
 
 typedef uint64_t size_t;
+typedef int64_t ssize_t;
 typedef int64_t ptrdiff_t;
 
Index: uspace/lib/c/arch/riscv64/include/libarch/types.h
===================================================================
--- uspace/lib/c/arch/riscv64/include/libarch/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/riscv64/include/libarch/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -48,6 +48,4 @@
 typedef int64_t native_t;
 
-typedef int64_t ssize_t;
-
 typedef uint64_t atomic_count_t;
 typedef int64_t atomic_signed_t;
Index: uspace/lib/c/arch/sparc64/include/libarch/stddef.h
===================================================================
--- uspace/lib/c/arch/sparc64/include/libarch/stddef.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/sparc64/include/libarch/stddef.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,4 +39,5 @@
 
 typedef uint64_t size_t;
+typedef int64_t ssize_t;
 typedef int64_t ptrdiff_t;
 
Index: uspace/lib/c/arch/sparc64/include/libarch/types.h
===================================================================
--- uspace/lib/c/arch/sparc64/include/libarch/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/arch/sparc64/include/libarch/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -48,6 +48,4 @@
 typedef int64_t native_t;
 
-typedef int64_t ssize_t;
-
 typedef uint64_t atomic_count_t;
 typedef int64_t atomic_signed_t;
Index: uspace/lib/c/generic/bd.c
===================================================================
--- uspace/lib/c/generic/bd.c	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/generic/bd.c	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -44,5 +44,5 @@
 #include <macros.h>
 #include <stdlib.h>
-#include <sys/types.h>
+#include <offset.h>
 
 static void bd_cb_conn(ipc_callid_t iid, ipc_call_t *icall, void *arg);
Index: uspace/lib/c/include/bd.h
===================================================================
--- uspace/lib/c/include/bd.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/include/bd.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -37,5 +37,5 @@
 
 #include <async.h>
-#include <sys/types.h>
+#include <offset.h>
 
 typedef struct {
Index: uspace/lib/c/include/bd_srv.h
===================================================================
--- uspace/lib/c/include/bd_srv.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/include/bd_srv.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -40,5 +40,5 @@
 #include <fibril_synch.h>
 #include <stdbool.h>
-#include <sys/types.h>
+#include <offset.h>
 
 typedef struct bd_ops bd_ops_t;
Index: uspace/lib/c/include/dirent.h
===================================================================
--- uspace/lib/c/include/dirent.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/include/dirent.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -38,5 +38,5 @@
 #define NAME_MAX  256
 
-#include <sys/types.h>
+#include <offset.h>
 
 struct dirent {
Index: uspace/lib/c/include/offset.h
===================================================================
--- uspace/lib/c/include/offset.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
+++ uspace/lib/c/include/offset.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -0,0 +1,59 @@
+/*
+ * Copyright (c) 2017 Josef Cejka
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+/** @addtogroup libc
+ * @{
+ */
+/** @file
+ */
+
+#ifndef LIBC_OFFSET_H_
+#define LIBC_OFFSET_H_
+
+#include <libarch/types.h>
+#include <stdint.h>
+
+/* off64_t */
+#define OFF64_MIN  INT64_MIN
+#define OFF64_MAX  INT64_MAX
+
+/* aoff64_t */
+#define AOFF64_MIN  UINT64_MIN
+#define AOFF64_MAX  UINT64_MAX
+
+
+/** Relative offset */
+typedef int64_t off64_t;
+
+/** Absolute offset */
+typedef uint64_t aoff64_t;
+
+#endif
+
+/** @}
+ */
Index: uspace/lib/c/include/stdint.h
===================================================================
--- uspace/lib/c/include/stdint.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/include/stdint.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -62,12 +62,4 @@
 #include <libarch/stdint.h>
 
-/* off64_t */
-#define OFF64_MIN  INT64_MIN
-#define OFF64_MAX  INT64_MAX
-
-/* aoff64_t */
-#define AOFF64_MIN  UINT64_MIN
-#define AOFF64_MAX  UINT64_MAX
-
 #endif
 
Index: uspace/lib/c/include/stdio.h
===================================================================
--- uspace/lib/c/include/stdio.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/include/stdio.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -36,5 +36,4 @@
 #define LIBC_STDIO_H_
 
-#include <sys/types.h>
 #include <stdarg.h>
 #include <str.h>
Index: uspace/lib/c/include/sys/types.h
===================================================================
--- uspace/lib/c/include/sys/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/include/sys/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -38,10 +38,4 @@
 #include <libarch/types.h>
 
-/** Relative offset */
-typedef int64_t off64_t;
-
-/** Absolute offset */
-typedef uint64_t aoff64_t;
-
 typedef uint32_t fourcc_t;
 
Index: uspace/lib/c/include/vbd.h
===================================================================
--- uspace/lib/c/include/vbd.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/include/vbd.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,5 +39,5 @@
 #include <loc.h>
 #include <types/label.h>
-#include <sys/types.h>
+#include <offset.h>
 
 /** VBD service */
Index: uspace/lib/c/include/vfs/vfs.h
===================================================================
--- uspace/lib/c/include/vfs/vfs.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/c/include/vfs/vfs.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -43,4 +43,5 @@
 #include <stdio.h>
 #include <async.h>
+#include <offset.h>
 
 #define MAX_OPEN_FILES	128
Index: uspace/lib/draw/font/pcf.c
===================================================================
--- uspace/lib/draw/font/pcf.c	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/draw/font/pcf.c	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -41,4 +41,5 @@
 #include <stdio.h>
 #include <align.h>
+#include <offset.h>
 
 #include "pcf.h"
Index: uspace/lib/fs/libfs.h
===================================================================
--- uspace/lib/fs/libfs.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/fs/libfs.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -38,5 +38,5 @@
 
 #include <ipc/vfs.h>
-#include <sys/types.h>
+#include <offset.h>
 #include <async.h>
 #include <loc.h>
Index: uspace/lib/http/include/http/receive-buffer.h
===================================================================
--- uspace/lib/http/include/http/receive-buffer.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/http/include/http/receive-buffer.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -38,5 +38,5 @@
 
 #include <adt/list.h>
-#include <sys/types.h>
+#include <stddef.h>
 
 /** Receive data.
Index: uspace/lib/label/include/types/liblabel.h
===================================================================
--- uspace/lib/label/include/types/liblabel.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/label/include/types/liblabel.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -39,5 +39,5 @@
 #include <adt/list.h>
 #include <types/label.h>
-#include <sys/types.h>
+#include <offset.h>
 #include <vol.h>
 #include <uuid.h>
Index: uspace/lib/posix/include/posix/sys/types.h
===================================================================
--- uspace/lib/posix/include/posix/sys/types.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/posix/include/posix/sys/types.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -41,5 +41,5 @@
 #endif
 
-#include "libc/sys/types.h"
+#include "libc/offset.h"
 #include "libc/sys/time.h"
 
Index: uspace/lib/posix/source/internal/common.h
===================================================================
--- uspace/lib/posix/source/internal/common.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/posix/source/internal/common.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -38,5 +38,5 @@
 #include <stdio.h>
 #include <stdlib.h>
-#include <sys/types.h>
+#include <offset.h>
 #include <vfs/vfs.h>
 
Index: uspace/lib/softrend/rectangle.h
===================================================================
--- uspace/lib/softrend/rectangle.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/softrend/rectangle.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -38,5 +38,5 @@
 
 #include <stdbool.h>
-#include <sys/types.h>
+#include <libarch/types.h>
 
 extern bool rectangle_intersect(
Index: uspace/lib/usb/include/usb/usb.h
===================================================================
--- uspace/lib/usb/include/usb/usb.h	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/lib/usb/include/usb/usb.h	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -38,5 +38,5 @@
 #include <stdbool.h>
 #include <stdint.h>
-#include <sys/types.h>
+#include <libarch/types.h>
 
 /** Convert 16bit value from native (host) endianness to USB endianness. */
Index: uspace/srv/hid/output/proto/vt100.c
===================================================================
--- uspace/srv/hid/output/proto/vt100.c	(revision c09ff7bd1b88585eb4f2aaba5b1a2d603a5979c7)
+++ uspace/srv/hid/output/proto/vt100.c	(revision 23c8acd9c09f549990f7478985878578dc75e2f3)
@@ -36,4 +36,5 @@
 #include <malloc.h>
 #include <io/color.h>
+#include <libarch/types.h>
 #include "vt100.h"
 
