Index: uspace/lib/libc/include/ipc/vfs.h
===================================================================
--- uspace/lib/libc/include/ipc/vfs.h	(revision 4198f9c3ae7988eea2c8a649c01af1be31ded05d)
+++ uspace/lib/libc/include/ipc/vfs.h	(revision 852b80130e0f28124d72af653ed0aef959db3053)
@@ -64,4 +64,5 @@
 	VFS_IN_SEEK,
 	VFS_IN_TRUNCATE,
+	VFS_IN_FSTAT,
 	VFS_IN_CLOSE,
 	VFS_IN_MOUNT,
@@ -73,4 +74,5 @@
 	VFS_IN_UNLINK,
 	VFS_IN_RENAME,
+	VFS_IN_STAT,
 	VFS_IN_NODE
 } vfs_in_request_t;
@@ -87,4 +89,5 @@
 	VFS_OUT_DEVICE,
 	VFS_OUT_SYNC,
+	VFS_OUT_STAT,
 	VFS_OUT_LOOKUP,
 	VFS_OUT_DESTROY,
Index: uspace/lib/libc/include/sys/stat.h
===================================================================
--- uspace/lib/libc/include/sys/stat.h	(revision 4198f9c3ae7988eea2c8a649c01af1be31ded05d)
+++ uspace/lib/libc/include/sys/stat.h	(revision 852b80130e0f28124d72af653ed0aef959db3053)
@@ -37,5 +37,23 @@
 
 #include <sys/types.h>
+#include <bool.h>
+#include <ipc/vfs.h>
+#include <ipc/devmap.h>
 
+struct stat {
+	fs_handle_t	fs_handle;
+	dev_handle_t	dev_handle;
+	fs_index_t	index;
+	unsigned	lnkcnt;
+	bool		is_file;
+	off_t		size;
+	union {
+		struct {
+			dev_handle_t	device;
+		} devfs_stat;
+	};
+};
+
+extern int fstat(int, struct stat *);
 extern int mkdir(const char *, mode_t);
 
