Index: uspace/lib/c/include/ipc/vol.h
===================================================================
--- uspace/lib/c/include/ipc/vol.h	(revision f0f87879a2e9616ccbf28e95d70d5e6ec25cf738)
+++ uspace/lib/c/include/ipc/vol.h	(revision 6d00aff50f676ed00b7c450e0aa0dfa31f2108e1)
@@ -48,5 +48,7 @@
 	VOL_PART_LSUPP,
 	VOL_PART_MKFS,
-	VOL_PART_SET_MOUNTP
+	VOL_PART_SET_MOUNTP,
+	VOL_GET_VOLUMES,
+	VOL_INFO
 } vol_request_t;
 
Index: uspace/lib/c/include/types/vol.h
===================================================================
--- uspace/lib/c/include/types/vol.h	(revision f0f87879a2e9616ccbf28e95d70d5e6ec25cf738)
+++ uspace/lib/c/include/types/vol.h	(revision 6d00aff50f676ed00b7c450e0aa0dfa31f2108e1)
@@ -41,4 +41,8 @@
 #include <stdbool.h>
 
+typedef struct {
+	sysarg_t id;
+} volume_id_t;
+
 typedef enum {
 	/** Partition is empty */
@@ -82,4 +86,14 @@
 } vol_part_info_t;
 
+/** Volume configuration information */
+typedef struct {
+	/** Volume identifier */
+	volume_id_t id;
+	/** Volume label */
+	char label[VOL_LABEL_MAXLEN + 1];
+	/** Mount path */
+	char path[MAX_PATH_LEN + 1]; /* XXX too big */
+} vol_info_t;
+
 /** Volume label support */
 typedef struct {
Index: uspace/lib/c/include/vol.h
===================================================================
--- uspace/lib/c/include/vol.h	(revision f0f87879a2e9616ccbf28e95d70d5e6ec25cf738)
+++ uspace/lib/c/include/vol.h	(revision 6d00aff50f676ed00b7c450e0aa0dfa31f2108e1)
@@ -55,5 +55,6 @@
     const char *);
 extern errno_t vol_part_set_mountp(vol_t *, service_id_t, const char *);
-
+extern errno_t vol_get_volumes(vol_t *, volume_id_t **, size_t *);
+extern errno_t vol_info(vol_t *, volume_id_t, vol_info_t *);
 extern errno_t vol_fstype_format(vol_fstype_t, char **);
 extern errno_t vol_pcnt_fs_format(vol_part_cnt_t, vol_fstype_t, char **);
