Index: uspace/lib/drv/include/audio_pcm_iface.h
===================================================================
--- uspace/lib/drv/include/audio_pcm_iface.h	(revision 1bebadeef8c0e20e4858c16afc1cb5411a16aeaa)
+++ uspace/lib/drv/include/audio_pcm_iface.h	(revision 1de97fe6462d672ed1e88df7ccd3b67da8be0d13)
@@ -44,4 +44,14 @@
 #include "ddf/driver.h"
 
+typedef enum {
+	AUDIO_CAP_RECORD,
+	AUDIO_CAP_PLAYBACK,
+	AUDIO_CAP_MAX_BUFFER,
+	AUDIO_CAP_BUFFER_POS,
+	AUDIO_CAP_INTERRUPT,
+	AUDIO_CAP_INTERRUPT_MIN_FRAMES,
+	AUDIO_CAP_INTERRUPT_MAX_FRAMES,
+} audio_cap_t;
+
 enum {
 	PCM_EVENT_FRAMES_PLAYED = IPC_FIRST_USER_METHOD,
@@ -60,4 +70,5 @@
 int audio_pcm_test_format(audio_pcm_sess_t *, unsigned *, unsigned *,
     pcm_sample_format_t *);
+int audio_pcm_query_cap(audio_pcm_sess_t *, audio_cap_t, unsigned *);
 
 int audio_pcm_get_buffer(audio_pcm_sess_t *, void **, size_t *,
@@ -78,4 +89,5 @@
 	int (*test_format)(ddf_fun_t *, unsigned *, unsigned *,
 	    pcm_sample_format_t *);
+	unsigned (*query_cap)(ddf_fun_t *, audio_cap_t);
 	int (*get_buffer)(ddf_fun_t *, void **, size_t *);
 	int (*release_buffer)(ddf_fun_t *);
