Index: uspace/lib/libc/include/ipc/dev_iface.h
===================================================================
--- uspace/lib/libc/include/ipc/dev_iface.h	(revision a1769ee69bfe08ce9226b2933a4d000a1218afd1)
+++ uspace/lib/libc/include/ipc/dev_iface.h	(revision 57937dd6bf7466b5c022cfaf61001daece9e0a5a)
@@ -35,6 +35,5 @@
 
 typedef enum {	
-	GENERIC_DEV_IFACE = DEV_IFACE_FIRST,
-	DIRECTLY_ADDRESSABLE_DEV_IFACE,	
+	HW_RES_DEV_IFACE = DEV_IFACE_FIRST,	
 	// TODO add more interfaces
 	DEV_IFACE_MAX
@@ -45,8 +44,44 @@
 
 
+// data types related to some interface - TODO move this to separate header files
 
 
+// HW resource provider interface
 
+typedef enum {
+	GET_RESOURCE_LIST = 0,
+	ENABLE_INTERRUPT	
+} hw_res_funcs_t;
 
+/** HW resource types. */
+typedef enum {
+	INTERRUPT,
+	REGISTER
+} hw_res_type_t;
+
+typedef enum {
+	LITTLE_ENDIAN = 0,
+	BIG_ENDIAN
+} endianness_t;
+
+/** HW resource (e.g. interrupt, memory register, i/o register etc.). */
+typedef struct hw_resource {
+	hw_res_type_t type;
+	union {
+		struct {
+			void *address;
+			endianness_t endianness;			
+			size_t size;			
+		} reg;
+		struct {
+			int irq;			
+		} intr;		
+	};	
+} hw_resource_t;
+
+typedef struct {
+	size_t count;
+	hw_resource_t *resources;	
+} hw_resource_list_t;
 
 #endif
