Index: uspace/srv/audio/hound/audio_data.c
===================================================================
--- uspace/srv/audio/hound/audio_data.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/audio/hound/audio_data.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -36,4 +36,5 @@
 #include <macros.h>
 #include <stdlib.h>
+#include <str.h>
 
 #include "audio_data.h"
@@ -50,5 +51,5 @@
     pcm_format_t format)
 {
-	audio_data_t *adata = malloc(sizeof(audio_data_t));
+	audio_data_t *adata = malloc(sizeof(audio_data_t) + size);
 	if (adata) {
 		unsigned overflow = size % pcm_format_frame_size(&format);
@@ -56,6 +57,6 @@
 			log_warning("Data not a multiple of frame size, "
 			    "clipping.");
-
-		adata->data = data;
+		uint8_t *d = ((uint8_t *)adata) + offsetof(audio_data_t, data);
+		memcpy(d, data, size);
 		adata->size = size - overflow;
 		adata->format = format;
@@ -86,5 +87,4 @@
 	atomic_count_t refc = atomic_predec(&adata->refcount);
 	if (refc == 0) {
-		free(adata->data);
 		free(adata);
 	}
Index: uspace/srv/audio/hound/audio_data.h
===================================================================
--- uspace/srv/audio/hound/audio_data.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/audio/hound/audio_data.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -45,6 +45,4 @@
 /** Reference counted audio buffer */
 typedef struct {
-	/** Audio data */
-	const void *data;
 	/** Size of the buffer pointer to by data */
 	size_t size;
@@ -53,4 +51,6 @@
 	/** Reference counter */
 	atomic_t refcount;
+	/** Audio data */
+	const uint8_t data[];
 } audio_data_t;
 
Index: uspace/srv/audio/hound/audio_sink.h
===================================================================
--- uspace/srv/audio/hound/audio_sink.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/audio/hound/audio_sink.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -54,5 +54,5 @@
 	list_t connections;
 	/** Sink's name */
-	const char *name;
+	char *name;
 	/** Consumes data in this format */
 	pcm_format_t format;
Index: uspace/srv/audio/hound/audio_source.c
===================================================================
--- uspace/srv/audio/hound/audio_source.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/audio/hound/audio_source.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -96,5 +96,5 @@
  * @return Error code.
  */
-errno_t audio_source_push_data(audio_source_t *source, const void *data,
+errno_t audio_source_push_data(audio_source_t *source, void *data,
     size_t size)
 {
Index: uspace/srv/audio/hound/audio_source.h
===================================================================
--- uspace/srv/audio/hound/audio_source.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/audio/hound/audio_source.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -49,5 +49,5 @@
 	list_t connections;
 	/** String identifier */
-	const char *name;
+	char *name;
 	/** audio data format */
 	pcm_format_t format;
@@ -75,5 +75,5 @@
     const pcm_format_t *f);
 void audio_source_fini(audio_source_t *source);
-errno_t audio_source_push_data(audio_source_t *source, const void *data,
+errno_t audio_source_push_data(audio_source_t *source, void *data,
     size_t size);
 static inline const pcm_format_t *audio_source_format(const audio_source_t *s)
Index: uspace/srv/audio/hound/hound.c
===================================================================
--- uspace/srv/audio/hound/hound.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/audio/hound/hound.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -37,4 +37,5 @@
 #include <assert.h>
 #include <stdlib.h>
+#include <str.h>
 
 #include "hound.h"
@@ -413,5 +414,5 @@
  * @return Error code.
  */
-errno_t hound_list_sources(hound_t *hound, const char ***list, size_t *size)
+errno_t hound_list_sources(hound_t *hound, char ***list, size_t *size)
 {
 	assert(hound);
@@ -427,5 +428,5 @@
 		return EOK;
 	}
-	const char **names = calloc(count, sizeof(char *));
+	char **names = calloc(count, sizeof(char *));
 	errno_t ret = names ? EOK : ENOMEM;
 	for (unsigned long i = 0; i < count && ret == EOK; ++i) {
@@ -455,5 +456,5 @@
  * @return Error code.
  */
-errno_t hound_list_sinks(hound_t *hound, const char ***list, size_t *size)
+errno_t hound_list_sinks(hound_t *hound, char ***list, size_t *size)
 {
 	assert(hound);
@@ -469,5 +470,5 @@
 		return EOK;
 	}
-	const char **names = calloc(count, sizeof(char *));
+	char **names = calloc(count, sizeof(char *));
 	errno_t ret = names ? EOK : ENOMEM;
 	for (size_t i = 0; i < count && ret == EOK; ++i) {
Index: uspace/srv/audio/hound/hound.h
===================================================================
--- uspace/srv/audio/hound/hound.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/audio/hound/hound.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -70,15 +70,15 @@
 hound_ctx_t *hound_get_ctx_by_id(hound_t *hound, hound_context_id_t id);
 
-errno_t hound_add_device(hound_t *hound, service_id_t id, const char* name);
+errno_t hound_add_device(hound_t *hound, service_id_t id, const char *name);
 errno_t hound_add_source(hound_t *hound, audio_source_t *source);
 errno_t hound_add_sink(hound_t *hound, audio_sink_t *sink);
-errno_t hound_list_sources(hound_t *hound, const char ***list, size_t *size);
-errno_t hound_list_sinks(hound_t *hound, const char ***list, size_t *size);
+errno_t hound_list_sources(hound_t *hound, char ***list, size_t *size);
+errno_t hound_list_sinks(hound_t *hound, char ***list, size_t *size);
 errno_t hound_list_connections(hound_t *hound, const char ***sources,
     const char ***sinks, size_t *size);
 errno_t hound_remove_source(hound_t *hound, audio_source_t *source);
 errno_t hound_remove_sink(hound_t *hound, audio_sink_t *sink);
-errno_t hound_connect(hound_t *hound, const char* source_name, const char* sink_name);
-errno_t hound_disconnect(hound_t *hound, const char* source_name, const char* sink_name);
+errno_t hound_connect(hound_t *hound, const char *source_name, const char *sink_name);
+errno_t hound_disconnect(hound_t *hound, const char *source_name, const char *sink_name);
 
 #endif
Index: uspace/srv/audio/hound/hound_ctx.h
===================================================================
--- uspace/srv/audio/hound/hound_ctx.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/audio/hound/hound_ctx.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -69,5 +69,5 @@
 
 hound_ctx_stream_t *hound_ctx_create_stream(hound_ctx_t *ctx, int flags,
-	pcm_format_t format, size_t buffer_size);
+    pcm_format_t format, size_t buffer_size);
 void hound_ctx_destroy_stream(hound_ctx_stream_t *stream);
 
Index: uspace/srv/audio/hound/iface.c
===================================================================
--- uspace/srv/audio/hound/iface.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/audio/hound/iface.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -86,5 +86,5 @@
 }
 
-static errno_t iface_get_list(void *server, const char ***list, size_t *size,
+static errno_t iface_get_list(void *server, char ***list, size_t *size,
     const char *connection, int flags)
 {
Index: uspace/srv/bd/file_bd/file_bd.c
===================================================================
--- uspace/srv/bd/file_bd/file_bd.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/bd/file_bd/file_bd.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -52,4 +52,5 @@
 #include <task.h>
 #include <macros.h>
+#include <str.h>
 
 #define NAME "file_bd"
Index: uspace/srv/bd/vbd/disk.h
===================================================================
--- uspace/srv/bd/vbd/disk.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/bd/vbd/disk.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -52,5 +52,5 @@
 extern errno_t vbds_label_delete(service_id_t);
 extern errno_t vbds_part_get_info(vbds_part_id_t, vbd_part_info_t *);
-extern errno_t vbds_part_create(service_id_t, vbd_part_spec_t *,vbds_part_id_t *);
+extern errno_t vbds_part_create(service_id_t, vbd_part_spec_t *, vbds_part_id_t *);
 extern errno_t vbds_part_delete(vbds_part_id_t);
 extern errno_t vbds_suggest_ptype(service_id_t, label_pcnt_t, label_ptype_t *);
Index: uspace/srv/devman/devman.h
===================================================================
--- uspace/srv/devman/devman.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/devman/devman.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -80,5 +80,5 @@
 	char *name;
 	/** Path to the driver's binary. */
-	const char *binary_path;
+	char *binary_path;
 	/** List of device ids for device-to-driver matching. */
 	match_id_list_t match_ids;
Index: uspace/srv/devman/driver.c
===================================================================
--- uspace/srv/devman/driver.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/devman/driver.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -140,5 +140,5 @@
 	
 	/* Check whether the driver's binary exists. */
-	struct stat s;
+	vfs_stat_t s;
 	if (vfs_stat_path(drv->binary_path, &s) != EOK) {
 		log_msg(LOG_DEFAULT, LVL_ERROR, "Driver not found at path `%s'.",
Index: uspace/srv/devman/match.c
===================================================================
--- uspace/srv/devman/match.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/devman/match.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -200,5 +200,5 @@
 	int fd;
 	size_t len = 0;
-	struct stat st;
+	vfs_stat_t st;
 	
 	errno_t rc = vfs_lookup_open(conf_path, WALK_REGULAR, MODE_READ, &fd);
Index: uspace/srv/fs/cdfs/cdfs.c
===================================================================
--- uspace/srv/fs/cdfs/cdfs.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/cdfs/cdfs.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -44,4 +44,5 @@
 #include <stdio.h>
 #include <libfs.h>
+#include <str.h>
 #include "cdfs.h"
 #include "cdfs_ops.h"
Index: uspace/srv/fs/exfat/exfat.c
===================================================================
--- uspace/srv/fs/exfat/exfat.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/exfat/exfat.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -47,4 +47,5 @@
 #include <stdio.h>
 #include <libfs.h>
+#include <str.h>
 #include "../../vfs/vfs.h"
 
Index: uspace/srv/fs/exfat/exfat_bitmap.h
===================================================================
--- uspace/srv/fs/exfat/exfat_bitmap.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/exfat/exfat_bitmap.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -42,20 +42,20 @@
 struct exfat_bs;
 
-extern errno_t exfat_bitmap_alloc_clusters(struct exfat_bs *, service_id_t, 
+extern errno_t exfat_bitmap_alloc_clusters(struct exfat_bs *, service_id_t,
     exfat_cluster_t *, exfat_cluster_t);
-extern errno_t exfat_bitmap_append_clusters(struct exfat_bs *, struct exfat_node *, 
+extern errno_t exfat_bitmap_append_clusters(struct exfat_bs *, struct exfat_node *,
     exfat_cluster_t);
-extern errno_t exfat_bitmap_free_clusters(struct exfat_bs *, struct exfat_node *, 
+extern errno_t exfat_bitmap_free_clusters(struct exfat_bs *, struct exfat_node *,
     exfat_cluster_t);
-extern errno_t exfat_bitmap_replicate_clusters(struct exfat_bs *, struct exfat_node *); 
+extern errno_t exfat_bitmap_replicate_clusters(struct exfat_bs *, struct exfat_node *);
 
 extern errno_t exfat_bitmap_is_free(struct exfat_bs *, service_id_t, exfat_cluster_t);
 extern errno_t exfat_bitmap_set_cluster(struct exfat_bs *, service_id_t, exfat_cluster_t);
-extern errno_t exfat_bitmap_clear_cluster(struct exfat_bs *, service_id_t, 
+extern errno_t exfat_bitmap_clear_cluster(struct exfat_bs *, service_id_t,
     exfat_cluster_t);
 
-extern errno_t exfat_bitmap_set_clusters(struct exfat_bs *, service_id_t, 
+extern errno_t exfat_bitmap_set_clusters(struct exfat_bs *, service_id_t,
     exfat_cluster_t, exfat_cluster_t);
-extern errno_t exfat_bitmap_clear_clusters(struct exfat_bs *, service_id_t, 
+extern errno_t exfat_bitmap_clear_clusters(struct exfat_bs *, service_id_t,
     exfat_cluster_t, exfat_cluster_t);
 
Index: uspace/srv/fs/exfat/exfat_directory.h
===================================================================
--- uspace/srv/fs/exfat/exfat_directory.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/exfat/exfat_directory.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -29,5 +29,5 @@
 /** @addtogroup fs
  * @{
- */ 
+ */
 
 #ifndef EXFAT_EXFAT_DIRECTORY_H_
@@ -66,5 +66,5 @@
 extern errno_t exfat_directory_find(exfat_directory_t *, exfat_dentry_clsf_t,
     exfat_dentry_t **);
-extern errno_t exfat_directory_find_continue(exfat_directory_t *, 
+extern errno_t exfat_directory_find_continue(exfat_directory_t *,
     exfat_dentry_clsf_t, exfat_dentry_t **);
 
Index: uspace/srv/fs/exfat/exfat_fat.h
===================================================================
--- uspace/srv/fs/exfat/exfat_fat.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/exfat/exfat_fat.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -61,5 +61,5 @@
     exfat_cluster_walk((bs), (sid), (fc), NULL, (numc), (uint32_t) -1)
 
-extern errno_t exfat_cluster_walk(struct exfat_bs *, service_id_t, 
+extern errno_t exfat_cluster_walk(struct exfat_bs *, service_id_t,
     exfat_cluster_t, exfat_cluster_t *, uint32_t *, uint32_t);
 extern errno_t exfat_block_get(block_t **, struct exfat_bs *, struct exfat_node *,
Index: uspace/srv/fs/ext4fs/ext4fs.c
===================================================================
--- uspace/srv/fs/ext4fs/ext4fs.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/ext4fs/ext4fs.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -42,4 +42,5 @@
 #include <task.h>
 #include <ipc/services.h>
+#include <str.h>
 #include "ext4/ops.h"
 #include "../../vfs/vfs.h"
Index: uspace/srv/fs/fat/fat.c
===================================================================
--- uspace/srv/fs/fat/fat.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/fat/fat.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -47,4 +47,5 @@
 #include <stdio.h>
 #include <libfs.h>
+#include <str.h>
 #include "../../vfs/vfs.h"
 
Index: uspace/srv/fs/fat/fat_directory.h
===================================================================
--- uspace/srv/fs/fat/fat_directory.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/fat/fat_directory.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -29,5 +29,5 @@
 /** @addtogroup fs
  * @{
- */ 
+ */
 
 #ifndef FAT_FAT_DIRECTORY_H_
Index: uspace/srv/fs/locfs/locfs.c
===================================================================
--- uspace/srv/fs/locfs/locfs.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/locfs/locfs.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -47,4 +47,5 @@
 #include <task.h>
 #include <libfs.h>
+#include <str.h>
 #include "locfs.h"
 #include "locfs_ops.h"
Index: uspace/srv/fs/locfs/locfs.h
===================================================================
--- uspace/srv/fs/locfs/locfs.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/locfs/locfs.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -29,5 +29,5 @@
 /** @addtogroup fs
  * @{
- */ 
+ */
 
 #ifndef LOCFS_LOCFS_H_
Index: uspace/srv/fs/mfs/mfs_dentry.c
===================================================================
--- uspace/srv/fs/mfs/mfs_dentry.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/mfs/mfs_dentry.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -31,4 +31,5 @@
  */
 
+#include <str.h>
 #include "mfs.h"
 
Index: uspace/srv/fs/mfs/mfs_ops.c
===================================================================
--- uspace/srv/fs/mfs/mfs_ops.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/mfs/mfs_ops.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -36,4 +36,5 @@
 #include <adt/hash_table.h>
 #include <adt/hash.h>
+#include <str.h>
 #include "mfs.h"
 
Index: uspace/srv/fs/tmpfs/tmpfs.c
===================================================================
--- uspace/srv/fs/tmpfs/tmpfs.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/fs/tmpfs/tmpfs.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -50,4 +50,5 @@
 #include <task.h>
 #include <libfs.h>
+#include <str.h>
 #include "../../vfs/vfs.h"
 
Index: uspace/srv/hid/console/console.c
===================================================================
--- uspace/srv/hid/console/console.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/hid/console/console.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -51,4 +51,5 @@
 #include <fibril_synch.h>
 #include <stdlib.h>
+#include <str.h>
 #include "console.h"
 
Index: uspace/srv/hid/input/input.c
===================================================================
--- uspace/srv/hid/input/input.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/hid/input/input.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -54,4 +54,5 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <str.h>
 #include <str_error.h>
 
Index: uspace/srv/hid/isdv4_tablet/isdv4.h
===================================================================
--- uspace/srv/hid/isdv4_tablet/isdv4.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/hid/isdv4_tablet/isdv4.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -74,9 +74,16 @@
 
 typedef enum {
-	UNKNOWN, PRESS, RELEASE, PROXIMITY_IN, PROXIMITY_OUT, MOVE
+	UNKNOWN,
+	PRESS,
+	RELEASE,
+	PROXIMITY_IN,
+	PROXIMITY_OUT,
+	MOVE
 } isdv4_event_type_t;
 
 typedef enum {
-	STYLUS_TIP, STYLUS_ERASER, TOUCH
+	STYLUS_TIP,
+	STYLUS_ERASER,
+	TOUCH
 } isdv4_source_type_t;
 
Index: uspace/srv/hid/isdv4_tablet/main.c
===================================================================
--- uspace/srv/hid/isdv4_tablet/main.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/hid/isdv4_tablet/main.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -35,4 +35,5 @@
 #include <stddef.h>
 #include <stdio.h>
+#include <str.h>
 #include <task.h>
 
Index: uspace/srv/hid/output/output.h
===================================================================
--- uspace/srv/hid/output/output.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/hid/output/output.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -42,15 +42,15 @@
 
 typedef struct {
-	errno_t (* yield)(struct outdev *dev);
-	errno_t (* claim)(struct outdev *dev);
+	errno_t (*yield)(struct outdev *dev);
+	errno_t (*claim)(struct outdev *dev);
 	
-	void (* get_dimensions)(struct outdev *dev, sysarg_t *cols,
+	void (*get_dimensions)(struct outdev *dev, sysarg_t *cols,
 	    sysarg_t *rows);
-	console_caps_t (* get_caps)(struct outdev *dev);
+	console_caps_t (*get_caps)(struct outdev *dev);
 	
-	void (* cursor_update)(struct outdev *dev, sysarg_t prev_col,
+	void (*cursor_update)(struct outdev *dev, sysarg_t prev_col,
 	    sysarg_t prev_row, sysarg_t col, sysarg_t row, bool visible);
-	void (* char_update)(struct outdev *dev, sysarg_t col, sysarg_t row);
-	void (* flush)(struct outdev *dev);
+	void (*char_update)(struct outdev *dev, sysarg_t col, sysarg_t row);
+	void (*flush)(struct outdev *dev);
 } outdev_ops_t;
 
Index: uspace/srv/hid/output/proto/vt100.h
===================================================================
--- uspace/srv/hid/output/proto/vt100.h	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/hid/output/proto/vt100.h	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -35,7 +35,7 @@
 #include <io/charfield.h>
 
-typedef void (* vt100_putchar_t)(wchar_t ch);
-typedef void (* vt100_control_puts_t)(const char *str);
-typedef void (* vt100_flush_t)(void);
+typedef void (*vt100_putchar_t)(wchar_t ch);
+typedef void (*vt100_control_puts_t)(const char *str);
+typedef void (*vt100_flush_t)(void);
 
 typedef struct {
Index: uspace/srv/hid/remcons/remcons.c
===================================================================
--- uspace/srv/hid/remcons/remcons.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/hid/remcons/remcons.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -49,4 +49,5 @@
 #include <io/console.h>
 #include <inttypes.h>
+#include <str.h>
 #include "telnet.h"
 #include "user.h"
Index: uspace/srv/hid/rfb/main.c
===================================================================
--- uspace/srv/hid/rfb/main.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/hid/rfb/main.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -35,4 +35,5 @@
 #include <inttypes.h>
 #include <io/log.h>
+#include <str.h>
 #include <task.h>
 
Index: uspace/srv/net/dhcp/dhcp.c
===================================================================
--- uspace/srv/net/dhcp/dhcp.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/net/dhcp/dhcp.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -48,4 +48,5 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <str.h>
 
 #include "dhcp.h"
Index: uspace/srv/net/dnsrsrv/dnsrsrv.c
===================================================================
--- uspace/srv/net/dnsrsrv/dnsrsrv.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/net/dnsrsrv/dnsrsrv.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -43,4 +43,5 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <str.h>
 #include <task.h>
 
Index: uspace/srv/net/loopip/loopip.c
===================================================================
--- uspace/srv/net/loopip/loopip.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/net/loopip/loopip.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -45,4 +45,5 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <str.h>
 #include <task.h>
 
Index: uspace/srv/net/tcp/ncsim.c
===================================================================
--- uspace/srv/net/tcp/ncsim.c	(revision 5a6cc679876514e29ac7899053554db66db754d9)
+++ uspace/srv/net/tcp/ncsim.c	(revision 4e17d54b4419e0e016292f66bc09bd15538510a1)
@@ -81,5 +81,5 @@
 	return;
 
-	if (0 /*random() % 4 == 3*/) {
+	if (0 /*rand() % 4 == 3*/) {
 		/* Drop segment */
 		log_msg(LOG_DEFAULT, LVL_ERROR, "NCSim dropping segment");
@@ -94,5 +94,5 @@
 	}
 
-	sqe->delay = random() % (1000 * 1000);
+	sqe->delay = rand() % (1000 * 1000);
 	sqe->epp = *epp;
 	sqe->seg = seg;
