Index: uspace/lib/c/include/adt/list.h
===================================================================
--- uspace/lib/c/include/adt/list.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/adt/list.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -133,5 +133,5 @@
 
 /** Returns true if the link is definitely part of a list. False if not sure. */
-static inline int link_in_use(link_t *link)
+static inline bool link_in_use(link_t *link)
 {
 	return link->prev != NULL && link->next != NULL;
@@ -237,5 +237,5 @@
  *
  */
-static inline int list_empty(const list_t *list)
+static inline bool list_empty(const list_t *list)
 {
 	return (list->head.next == &list->head);
@@ -357,7 +357,7 @@
  *
  */
-static inline link_t *list_nth(list_t *list, unsigned int n)
-{
-	unsigned int cnt = 0;
+static inline link_t *list_nth(list_t *list, unsigned long n)
+{
+	unsigned long cnt = 0;
 	
 	link_t *link = list_first(list);
@@ -396,7 +396,7 @@
 }
 
-extern int list_member(const link_t *, const list_t *);
+extern bool list_member(const link_t *, const list_t *);
 extern void list_concat(list_t *, list_t *);
-extern unsigned int list_count(const list_t *);
+extern unsigned long list_count(const list_t *);
 
 #endif
Index: uspace/lib/c/include/async.h
===================================================================
--- uspace/lib/c/include/async.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/async.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -48,19 +48,22 @@
 #include <abi/ddi/irq.h>
 #include <abi/ipc/event.h>
+#include <abi/ipc/interfaces.h>
 
 typedef ipc_callid_t aid_t;
+typedef sysarg_t port_id_t;
 
 typedef void *(*async_client_data_ctor_t)(void);
 typedef void (*async_client_data_dtor_t)(void *);
 
-/** Client connection handler
+/** Port connection handler
  *
  * @param callid ID of incoming call or 0 if connection initiated from
- *               inside using async_connect_to_me()
+ *               inside using async_create_callback_port()
  * @param call   Incoming call or 0 if connection initiated from inside
- * @param arg    Local argument passed from async_new_connection() or
- *               async_connect_to_me()
- */
-typedef void (*async_client_conn_t)(ipc_callid_t, ipc_call_t *, void *);
+ *               using async_create_callback_port()
+ * @param arg    Local argument.
+ *
+ */
+typedef void (*async_port_handler_t)(ipc_callid_t, ipc_call_t *, void *);
 
 /** Notification handler */
@@ -80,4 +83,12 @@
 	EXCHANGE_ATOMIC = 0,
 	
+	/** Exchange management via mutual exclusion
+	 *
+	 * Suitable for any kind of client/server communication,
+	 * but can limit parallelism.
+	 *
+	 */
+	EXCHANGE_SERIALIZE = 1,
+	
 	/** Exchange management via phone cloning
 	 *
@@ -87,13 +98,5 @@
 	 *
 	 */
-	EXCHANGE_PARALLEL,
-	
-	/** Exchange management via mutual exclusion
-	 *
-	 * Suitable for any kind of client/server communication,
-	 * but can limit parallelism.
-	 *
-	 */
-	EXCHANGE_SERIALIZE
+	EXCHANGE_PARALLEL = 2
 } exch_mgmt_t;
 
@@ -147,7 +150,4 @@
 extern void async_forget(aid_t);
 
-extern fid_t async_new_connection(task_id_t, sysarg_t, ipc_callid_t,
-    ipc_call_t *, async_client_conn_t, void *);
-
 extern void async_usleep(suseconds_t);
 extern void async_create_manager(void);
@@ -160,5 +160,10 @@
 extern void async_put_client_data_by_id(task_id_t);
 
-extern void async_set_client_connection(async_client_conn_t);
+extern int async_create_port(iface_t, async_port_handler_t, void *,
+    port_id_t *);
+extern void async_set_fallback_port_handler(async_port_handler_t, void *);
+extern int async_create_callback_port(async_exch_t *, iface_t, sysarg_t,
+    sysarg_t, async_port_handler_t, void *, port_id_t *);
+
 extern void async_set_notification_handler_stack_size(size_t);
 
@@ -343,10 +348,13 @@
 extern async_sess_t *async_connect_me_to(exch_mgmt_t, async_exch_t *, sysarg_t,
     sysarg_t, sysarg_t);
+extern async_sess_t *async_connect_me_to_iface(async_exch_t *, iface_t,
+    sysarg_t, sysarg_t);
 extern async_sess_t *async_connect_me_to_blocking(exch_mgmt_t, async_exch_t *,
     sysarg_t, sysarg_t, sysarg_t);
+extern async_sess_t *async_connect_me_to_blocking_iface(async_exch_t *, iface_t,
+    sysarg_t, sysarg_t);
 extern async_sess_t *async_connect_kbox(task_id_t);
 
-extern int async_connect_to_me(async_exch_t *, sysarg_t, sysarg_t, sysarg_t,
-    async_client_conn_t, void *);
+extern int async_connect_to_me(async_exch_t *, sysarg_t, sysarg_t, sysarg_t);
 
 extern int async_hangup(async_sess_t *);
Index: uspace/lib/c/include/cfg.h
===================================================================
--- uspace/lib/c/include/cfg.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ 	(revision )
@@ -1,104 +1,0 @@
-/*
- * Copyright (c) 2011 Radim Vansa
- * 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 cfg.h
- * @brief Simple interface for configuration files manipulation.
- */
-
-#ifndef LIBC_CFG_H_
-#define LIBC_CFG_H_
-
-#include <adt/list.h>
-#include <sys/types.h>
-#include <stdbool.h>
-
-/**
- * One key-value pair
- */
-typedef struct {
-	link_t link;
-	
-	const char *key;
-	const char *value;
-} cfg_entry_t;
-
-/**
- * One section in the configuration file.
- * Has own title (or is anonymous) and contains entries.
- */
-typedef struct {
-	link_t link;
-	
-	const char *title;
-	list_t entries;
-	size_t entry_count;
-} cfg_section_t;
-
-/**
- * The configuration file data. The whole file is loaded
- * into memory and strings in sections (titles) or entries
- * (keys and values) are only pointers to this memory.
- * Therefore all the text data are allocated and deallocated
- * only once, if you want to use the strings after unloading
- * the configuration file, you have to copy them.
- */
-typedef struct {
-	list_t sections;
-	size_t section_count;
-	const char *data;
-} cfg_file_t;
-
-#define cfg_file_foreach(file, cur) \
-	list_foreach((file)->sections, link, const cfg_section_t, (cur))
-
-#define cfg_section_instance(cur) \
-	list_get_instance((cur), const cfg_section_t, link)
-
-#define cfg_section_foreach(section, cur) \
-	list_foreach((section)->entries, link, const cfg_entry_t, (cur))
-
-#define cfg_entry_instance(cur) \
-	list_get_instance((cur), const cfg_entry_t, link)
-
-extern int cfg_load(const char *, cfg_file_t *);
-extern int cfg_load_path(const char *, const char *, cfg_file_t *);
-extern void cfg_unload(cfg_file_t *);
-extern bool cfg_empty(const cfg_file_t *);
-extern const cfg_section_t *cfg_find_section(const cfg_file_t *, const char *);
-extern const char *cfg_find_value(const cfg_section_t *, const char *);
-extern const cfg_section_t *cfg_anonymous(const cfg_file_t *);
-
-#endif
-
-/** @}
- */
Index: uspace/lib/c/include/devman.h
===================================================================
--- uspace/lib/c/include/devman.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/devman.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -42,6 +42,6 @@
 #include <stdbool.h>
 
-extern async_exch_t *devman_exchange_begin_blocking(devman_interface_t);
-extern async_exch_t *devman_exchange_begin(devman_interface_t);
+extern async_exch_t *devman_exchange_begin_blocking(iface_t);
+extern async_exch_t *devman_exchange_begin(iface_t);
 extern void devman_exchange_end(async_exch_t *);
 
@@ -53,7 +53,6 @@
 extern int devman_drv_fun_offline(devman_handle_t);
 
-extern async_sess_t *devman_device_connect(exch_mgmt_t, devman_handle_t,
-    unsigned int);
-extern async_sess_t *devman_parent_device_connect(exch_mgmt_t, devman_handle_t,
+extern async_sess_t *devman_device_connect(devman_handle_t, unsigned int);
+extern async_sess_t *devman_parent_device_connect(devman_handle_t,
     unsigned int);
 
Index: uspace/lib/c/include/errno.h
===================================================================
--- uspace/lib/c/include/errno.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/errno.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -47,12 +47,12 @@
 #define ENOTDIR       (-258)
 #define ENOSPC        (-259)
-#define EEXIST        (-260)
 #define ENOTEMPTY     (-261)
 #define EBADF         (-262)
-#define ERANGE        (-263)
-#define EXDEV         (-264)
-#define EIO           (-265)
-#define EMLINK        (-266)
-#define ENXIO         (-267)
+#define EDOM          (-263)
+#define ERANGE        (-264)
+#define EXDEV         (-265)
+#define EIO           (-266)
+#define EMLINK        (-267)
+#define ENXIO         (-268)
 
 /** Bad checksum. */
Index: uspace/lib/c/include/fourcc.h
===================================================================
--- uspace/lib/c/include/fourcc.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ 	(revision )
@@ -1,49 +1,0 @@
-/*
- * Copyright (c) 2011 Martin Decky
- * 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_FOURCC_H_
-#define LIBC_FOURCC_H_
-
-#include <libarch/common.h>
-
-typedef uint32_t fourcc_t;
-
-#define FOURCC(a, b, c, d) \
-	(((UINT32_T) (a)) | (((UINT32_T) (b)) << 8) | \
-	    (((UINT32_T) (c)) << 16) | (((UINT32_T) (d)) << 24))
-
-#endif
-
-/** @}
- */
Index: uspace/lib/c/include/helenos
===================================================================
--- uspace/lib/c/include/helenos	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
+++ uspace/lib/c/include/helenos	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -0,0 +1,1 @@
+.
Index: uspace/lib/c/include/io/kio.h
===================================================================
--- uspace/lib/c/include/io/kio.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/io/kio.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -40,5 +40,5 @@
 #include <io/verify.h>
 
-extern size_t kio_write(const void *, size_t);
+extern int kio_write(const void *, size_t, size_t *);
 extern void kio_update(void);
 extern void kio_command(const void *, size_t);
Index: uspace/lib/c/include/ipc/devman.h
===================================================================
--- uspace/lib/c/include/ipc/devman.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/ipc/devman.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -141,12 +141,4 @@
 
 typedef enum {
-	DEVMAN_DRIVER = 1,
-	DEVMAN_CLIENT,
-	DEVMAN_CONNECT_TO_DEVICE,
-	DEVMAN_CONNECT_FROM_LOC,
-	DEVMAN_CONNECT_TO_PARENTS_DEVICE
-} devman_interface_t;
-
-typedef enum {
 	DEVMAN_DRIVER_REGISTER = IPC_FIRST_USER_METHOD,
 	DEVMAN_ADD_FUNCTION,
Index: uspace/lib/c/include/ipc/driver.h
===================================================================
--- uspace/lib/c/include/ipc/driver.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ 	(revision )
@@ -1,50 +1,0 @@
-/*
- * Copyright (c) 2010 Lenka Trochtova 
- * 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 libdrv
- * @{
- */
-/** @file
- */
-
-#ifndef IPC_DRIVER_H_
-#define IPC_DRIVER_H_
-
-typedef enum {
-	DRIVER_DEVMAN = 1,
-	DRIVER_CLIENT,
-	DRIVER_DRIVER
-} driver_interface_t;
-
-
-#endif
-
-
-/**
- * @}
- */
Index: uspace/lib/c/include/ipc/inet.h
===================================================================
--- uspace/lib/c/include/ipc/inet.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/ipc/inet.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -37,16 +37,4 @@
 
 #include <ipc/common.h>
-
-/** Inet ports */
-typedef enum {
-	/** Default port */
-	INET_PORT_DEFAULT = 1,
-	/** Configuration port */
-	INET_PORT_CFG,
-	/** Ping service port */
-	INET_PORT_PING,
-	/** Ping6 service port */
-	INET_PORT_PING6
-} inet_port_t;
 
 /** Requests on Inet default port */
Index: uspace/lib/c/include/ipc/loc.h
===================================================================
--- uspace/lib/c/include/ipc/loc.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/ipc/loc.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -76,20 +76,4 @@
 } loc_event_t;
 
-/** Ports provided by location service.
- *
- * Every process that connects to loc must ask one of following
- * ports, otherwise connection will be refused.
- *
- */
-typedef enum {
-	/** Service supplier (server) port */
-	LOC_PORT_SUPPLIER = 1,
-	/** Service consumer (client) port */
-	LOC_PORT_CONSUMER,
-	/** Create new connection to instance of device that
-	    is specified by second argument of call. */
-	LOC_CONNECT_TO_SERVICE
-} loc_interface_t;
-
 typedef struct {
 	service_id_t id;
Index: uspace/lib/c/include/ipc/logger.h
===================================================================
--- uspace/lib/c/include/ipc/logger.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/ipc/logger.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -69,11 +69,4 @@
 } logger_writer_request_t;
 
-typedef enum {
-	/** Interface for controlling logger behavior. */
-	LOGGER_INTERFACE_CONTROL,
-	/** Interface for servers writing to the log. */
-	LOGGER_INTERFACE_WRITER
-} logger_interface_t;
-
 #endif
 
Index: uspace/lib/c/include/ipc/services.h
===================================================================
--- uspace/lib/c/include/ipc/services.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/ipc/services.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -38,9 +38,10 @@
 #define LIBC_SERVICES_H_
 
-#include <fourcc.h>
+#include <sys/types.h>
+#include <abi/fourcc.h>
 
 typedef enum {
 	SERVICE_NONE       = 0,
-	SERVICE_LOAD       = FOURCC('l', 'o', 'a', 'd'),
+	SERVICE_LOADER     = FOURCC('l', 'o', 'a', 'd'),
 	SERVICE_VFS        = FOURCC('v', 'f', 's', ' '),
 	SERVICE_LOC        = FOURCC('l', 'o', 'c', ' '),
@@ -49,18 +50,15 @@
 	SERVICE_IRC        = FOURCC('i', 'r', 'c', ' '),
 	SERVICE_CLIPBOARD  = FOURCC('c', 'l', 'i', 'p'),
-} services_t;
+} service_t;
 
-#define SERVICE_NAME_CORECFG	"corecfg"
-#define SERVICE_NAME_DHCP       "net/dhcp"
-#define SERVICE_NAME_DNSR       "net/dnsr"
-#define SERVICE_NAME_INET       "net/inet"
-#define SERVICE_NAME_INETCFG    "net/inetcfg"
-#define SERVICE_NAME_INETPING   "net/inetping"
-#define SERVICE_NAME_INETPING6  "net/inetping6"
-#define SERVICE_NAME_NETCONF    "net/netconf"
-#define SERVICE_NAME_UDP	"net/udp"
-#define SERVICE_NAME_TCP	"net/tcp"
-#define SERVICE_NAME_VBD	"vbd"
-#define SERVICE_NAME_VOLSRV	"volsrv"
+#define SERVICE_NAME_CORECFG  "corecfg"
+#define SERVICE_NAME_DHCP     "net/dhcp"
+#define SERVICE_NAME_DNSR     "net/dnsr"
+#define SERVICE_NAME_INET     "net/inet"
+#define SERVICE_NAME_NETCONF  "net/netconf"
+#define SERVICE_NAME_UDP      "net/udp"
+#define SERVICE_NAME_TCP      "net/tcp"
+#define SERVICE_NAME_VBD      "vbd"
+#define SERVICE_NAME_VOLSRV   "volsrv"
 
 #endif
Index: uspace/lib/c/include/loc.h
===================================================================
--- uspace/lib/c/include/loc.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/loc.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -42,12 +42,10 @@
 typedef void (*loc_cat_change_cb_t)(void);
 
-extern async_exch_t *loc_exchange_begin_blocking(loc_interface_t);
-extern async_exch_t *loc_exchange_begin(loc_interface_t);
+extern async_exch_t *loc_exchange_begin_blocking(iface_t);
+extern async_exch_t *loc_exchange_begin(iface_t);
 extern void loc_exchange_end(async_exch_t *);
 
 extern int loc_server_register(const char *);
 extern int loc_service_register(const char *, service_id_t *);
-extern int loc_service_register_with_iface(const char *, service_id_t *,
-    sysarg_t);
 extern int loc_service_unregister(service_id_t);
 extern int loc_service_add_to_cat(service_id_t, category_id_t);
@@ -65,5 +63,5 @@
 extern loc_object_type_t loc_id_probe(service_id_t);
 
-extern async_sess_t *loc_service_connect(exch_mgmt_t, service_id_t,
+extern async_sess_t *loc_service_connect(service_id_t, iface_t,
     unsigned int);
 
Index: uspace/lib/c/include/ns.h
===================================================================
--- uspace/lib/c/include/ns.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/ns.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -41,10 +41,7 @@
 #include <async.h>
 
-extern int service_register(sysarg_t);
-extern async_sess_t *service_connect(exch_mgmt_t, services_t, sysarg_t, sysarg_t);
-extern async_sess_t *service_connect_blocking(exch_mgmt_t, services_t, sysarg_t,
-    sysarg_t);
-extern async_sess_t *service_bind(services_t, sysarg_t, sysarg_t, sysarg_t,
-    async_client_conn_t);
+extern int service_register(service_t);
+extern async_sess_t *service_connect(service_t, iface_t, sysarg_t);
+extern async_sess_t *service_connect_blocking(service_t, iface_t, sysarg_t);
 
 extern int ns_ping(void);
Index: uspace/lib/c/include/stdint.h
===================================================================
--- uspace/lib/c/include/stdint.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/stdint.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -60,5 +60,5 @@
 #define UINT64_MAX  UINT64_C(0xFFFFFFFFFFFFFFFF)
 
-#include <libarch/types.h>
+#include <libarch/stdint.h>
 
 /* off64_t */
Index: uspace/lib/c/include/stdio.h
===================================================================
--- uspace/lib/c/include/stdio.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/stdio.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -109,4 +109,6 @@
 extern int puts(const char *);
 
+extern int ungetc(int, FILE *);
+
 /* Formatted string output functions */
 extern int fprintf(FILE *, const char*, ...)
@@ -132,4 +134,5 @@
 extern FILE *fopen(const char *, const char *);
 extern FILE *fdopen(int, const char *);
+extern FILE *freopen(const char *, const char *, FILE *);
 extern int fclose(FILE *);
 
Index: uspace/lib/c/include/sys/statfs.h
===================================================================
--- uspace/lib/c/include/sys/statfs.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/sys/statfs.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -46,4 +46,5 @@
 
 extern int statfs(const char *, struct statfs *);
+
 #endif
 
Index: uspace/lib/c/include/sys/types.h
===================================================================
--- uspace/lib/c/include/sys/types.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/sys/types.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -46,4 +46,6 @@
 typedef uint64_t aoff64_t;
 
+typedef uint32_t fourcc_t;
+
 typedef volatile uint8_t ioport8_t;
 typedef volatile uint16_t ioport16_t;
Index: uspace/lib/c/include/unistd.h
===================================================================
--- uspace/lib/c/include/unistd.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/unistd.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -63,7 +63,4 @@
 extern ssize_t read(int, void *, size_t);
 
-extern ssize_t read_all(int, void *, size_t);
-extern ssize_t write_all(int, const void *, size_t);
-
 extern off64_t lseek(int, off64_t, int);
 extern int ftruncate(int, aoff64_t);
Index: uspace/lib/c/include/vfs/vfs.h
===================================================================
--- uspace/lib/c/include/vfs/vfs.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/vfs/vfs.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -50,17 +50,18 @@
 
 
-extern char *absolutize(const char *, size_t *);
+extern char *vfs_absolutize(const char *, size_t *);
 
-extern int mount(const char *, const char *, const char *, const char *,
+extern int vfs_mount(const char *, const char *, const char *, const char *,
     unsigned int, unsigned int);
-extern int unmount(const char *);
+extern int vfs_unmount(const char *);
 
-extern int fhandle(FILE *, int *);
+extern int vfs_fhandle(FILE *, int *);
 
-extern int fd_wait(void);
-extern int get_mtab_list(list_t *mtab_list);
+extern int vfs_fd_wait(void);
+extern int vfs_get_mtab_list(list_t *mtab_list);
 
 extern async_exch_t *vfs_exchange_begin(void);
 extern void vfs_exchange_end(async_exch_t *);
+
 #endif
 
Index: uspace/lib/c/include/vfs/vfs_sess.h
===================================================================
--- uspace/lib/c/include/vfs/vfs_sess.h	(revision 9854a8faee04ea815f8612666a6e4dac63db2748)
+++ uspace/lib/c/include/vfs/vfs_sess.h	(revision ed9bf14ea271bb6fd2ede343dbda94e25b021c6e)
@@ -39,6 +39,6 @@
 #include <stdio.h>
 
-extern async_sess_t *fd_session(exch_mgmt_t, int);
-extern async_sess_t *fsession(exch_mgmt_t, FILE *);
+extern async_sess_t *vfs_fd_session(int, iface_t);
+extern async_sess_t *vfs_fsession(FILE *, iface_t);
 
 #endif
