Index: uspace/lib/hound/include/hound/client.h
===================================================================
--- uspace/lib/hound/include/hound/client.h	(revision afd4fc7a43884adea65e30f6c1f606fc848d32fe)
+++ uspace/lib/hound/include/hound/client.h	(revision 6eeaf1df733df0579260b8fa52f5711308c0beda)
@@ -54,6 +54,6 @@
 void hound_context_destroy(hound_context_t *hound);
 
-int hound_context_set_main_stream_format(hound_context_t *hound,
-    unsigned channels, unsigned rate, pcm_sample_format_t format);
+int hound_context_set_main_stream_params(hound_context_t *hound,
+    pcm_format_t format, size_t bsize);
 
 int hound_context_get_available_targets(hound_context_t *hound,
Index: uspace/lib/hound/include/hound/protocol.h
===================================================================
--- uspace/lib/hound/include/hound/protocol.h	(revision afd4fc7a43884adea65e30f6c1f606fc848d32fe)
+++ uspace/lib/hound/include/hound/protocol.h	(revision 6eeaf1df733df0579260b8fa52f5711308c0beda)
@@ -41,7 +41,7 @@
 #include <pcm/format.h>
 
-const char *HOUND_SERVICE;
+extern const char *HOUND_SERVICE;
 
-enum {
+typedef enum {
 	HOUND_SINK_APPS = 0x1,
 	HOUND_SINK_DEVS = 0x2,
@@ -53,9 +53,14 @@
 	HOUND_STREAM_IGNORE_UNDERFLOW = 0x2,
 	HOUND_STREAM_IGNORE_OVERFLOW = 0x4,
-};
+} hound_flags_t;
 
 typedef async_sess_t hound_sess_t;
 typedef intptr_t hound_context_id_t;
 
+/**
+ * Check context id for errors.
+ * @param id Context id
+ * @return Error code.
+ */
 static inline int hound_context_id_err(hound_context_id_t id)
 {
@@ -72,4 +77,13 @@
 int hound_service_get_list(hound_sess_t *sess, const char ***ids, size_t *count,
     int flags, const char *connection);
+
+/**
+ * Wrapper for list queries with no connection parameter.
+ * @param[in] sess hound daemon session.
+ * @param[out] ids list of string identifiers
+ * @param[out] count Number of elements in @p ids
+ * @param[in] flags Flags limiting the query.
+ * @return Error code.
+ */
 static inline int hound_service_get_list_all(hound_sess_t *sess,
     const char ***ids, size_t *count, int flags)
@@ -92,16 +106,29 @@
 
 /* Server */
+
+/** Hound server interace structure */
 typedef struct hound_server_iface {
+	/** Create new context */
 	int (*add_context)(void *, hound_context_id_t *, const char *, bool);
+	/** Destroy existing context */
 	int (*rem_context)(void *, hound_context_id_t);
+	/** Query context direction */
 	bool (*is_record_context)(void *, hound_context_id_t);
+	/** Get string identifiers of specified objects */
 	int (*get_list)(void *, const char ***, size_t *, const char *, int);
+	/** Create connection between source and sink */
 	int (*connect)(void *, const char *, const char *);
+	/** Destroy connection between source and sink */
 	int (*disconnect)(void *, const char *, const char *);
+	/** Create new stream tied to the context */
 	int (*add_stream)(void *, hound_context_id_t, int, pcm_format_t, size_t,
 	    void **);
+	/** Destroy existing stream */
 	int (*rem_stream)(void *, void *);
+	/** Block until the stream buffer is empty */
 	int (*drain_stream)(void *);
+	/** Write new data to the stream */
 	int (*stream_data_write)(void *, const void *, size_t);
+	/** Read data from the stream */
 	int (*stream_data_read)(void *, void *, size_t);
 	void *server;
