diff --git a/src/app/prototest/Makefile.inc b/src/app/prototest/Makefile.inc
index 56410e041761de8e011746c1e56596f8cc6070b6..ae7794e01500598bf5798d02be236b58e96f9d0b 100644
--- a/src/app/prototest/Makefile.inc
+++ b/src/app/prototest/Makefile.inc
@@ -1,2 +1,2 @@
 loop ?= 1
-TARGETS += src/os/object/xdrstream.cc
+TARGETS += src/os/object/xdrstream.cc src/os/object/xdrinput.cc
diff --git a/src/app/prototest/main.cc b/src/app/prototest/main.cc
index c17b69dfedf5b551ba2483db4c578944f150e0e8..05c3469abbc9fc3fc0b68ad4bdb1d1908c1659c7 100644
--- a/src/app/prototest/main.cc
+++ b/src/app/prototest/main.cc
@@ -5,6 +5,7 @@
 #include "lib/modernjson/json.h"
 #include "object/stdbuf.h"
 #include "object/xdrstream.h"
+#include "object/xdrinput.h"
 
 char buf[256];
 
@@ -29,10 +30,11 @@ void loop(void)
 	kout << ",\"data\":[" << 48.756080 << "," << 2.302038 << "]}" << endl;
 
 	BufferOutput<XDRStream> foostream(buf);
+	XDRInput input(buf);
 
 	char test[] = "Obai World!";
 
-	foostream << 123 << 0 << 12345678;
+	foostream << 123 << -2 << 123456 << 0 << 4294967296 << 0;
 	foostream.setNextArrayLen(3);
 	foostream << fixed << "Hai";
 	foostream.setNextArrayLen(sizeof(test));
@@ -45,6 +47,18 @@ void loop(void)
 	}
 	kout << endl;
 
+	kout << dec;
+	kout << "foostream = " << input.get_uint32() << " = " << 123;
+	kout << ", " << input.get_int32() << " = " << -2;
+	kout << ", " << input.get_uint32() << " = " << 123456;
+	kout << ", " << input.get_uint32();
+	kout << ", " << input.get_uint64();
+	kout << ", " << input.get_uint32();
+	kout << ", " << input.get_opaque(3);
+	uint32_t len = input.get_opaque_length();
+	kout << ", " << input.get_opaque(len);
+	kout << endl;
+
 	gpio.led_toggle(1);
 #ifdef TIMER_S
 	kout << dec << uptime.get_s() << endl;