Index: uspace/app/blkdump/Makefile
===================================================================
--- uspace/app/blkdump/Makefile	(revision 7901ac8ed5470b03fdbc7ed1cd7a6bdfc01c7dab)
+++ uspace/app/blkdump/Makefile	(revision 3abf70c73779dc7dc5529512275597a1d116e82d)
@@ -30,5 +30,5 @@
 USPACE_PREFIX = ../..
 LIBS = $(LIBBLOCK_PREFIX)/libblock.a
-EXTRA_CFLAGS = -I$(LIBBLOCK_PREFIX)
+EXTRA_CFLAGS = -I$(LIBBLOCK_PREFIX) -I$(LIBSCSI_PREFIX)/include
 BINARY = blkdump
 
Index: uspace/app/blkdump/blkdump.c
===================================================================
--- uspace/app/blkdump/blkdump.c	(revision 7901ac8ed5470b03fdbc7ed1cd7a6bdfc01c7dab)
+++ uspace/app/blkdump/blkdump.c	(revision 3abf70c73779dc7dc5529512275597a1d116e82d)
@@ -44,4 +44,5 @@
 #include <loc.h>
 #include <byteorder.h>
+#include <scsi/mmc.h>
 #include <sys/types.h>
 #include <sys/typefmt.h>
@@ -214,13 +215,14 @@
 static int print_toc(void)
 {
-	toc_block_t *toc;
-
-	toc = block_get_toc(service_id, 0);
-	if (toc == NULL)
+	scsi_toc_multisess_data_t toc;
+	int rc;
+
+	rc = block_read_toc(service_id, 0, &toc, sizeof(toc));
+	if (rc != EOK)
 		return 1;
 
-	printf("TOC size: %" PRIu16 " bytes\n", toc->size);
-	printf("First session: %" PRIu8 "\n", toc->first_session);
-	printf("Last_session: %" PRIu8 "\n", toc->last_session);
+	printf("TOC size: %" PRIu16 " bytes\n", toc.toc_len);
+	printf("First session: %" PRIu8 "\n", toc.first_sess);
+	printf("Last_session: %" PRIu8 "\n", toc.last_sess);
 
 	return 0;
