Index: uspace/lib/c/generic/devman.c
===================================================================
--- uspace/lib/c/generic/devman.c	(revision e5556e4a11175054df13aab078fc6d3c831cc8c2)
+++ uspace/lib/c/generic/devman.c	(revision cd3b3802ee73ed2b2467458eb3b06bd7d0bf0879)
@@ -598,4 +598,39 @@
 }
 
+int devman_driver_get_handle(const char *drvname, devman_handle_t *handle)
+{
+	async_exch_t *exch;
+
+	exch = devman_exchange_begin(DEVMAN_CLIENT);
+	if (exch == NULL)
+		return ENOMEM;
+	
+	ipc_call_t answer;
+	aid_t req = async_send_0(exch, DEVMAN_DRIVER_GET_HANDLE, &answer);
+	sysarg_t retval = async_data_write_start(exch, drvname,
+	    str_size(drvname));
+	
+	devman_exchange_end(exch);
+	
+	if (retval != EOK) {
+		async_forget(req);
+		return retval;
+	}
+	
+	async_wait_for(req, &retval);
+	
+	if (retval != EOK) {
+		if (handle != NULL)
+			*handle = (devman_handle_t) -1;
+		
+		return retval;
+	}
+	
+	if (handle != NULL)
+		*handle = (devman_handle_t) IPC_GET_ARG1(answer);
+	
+	return retval;
+}
+
 int devman_driver_get_name(devman_handle_t handle, char *buf, size_t buf_size)
 {
@@ -622,4 +657,16 @@
 }
 
+int devman_driver_load(devman_handle_t drvh)
+{
+	async_exch_t *exch = devman_exchange_begin(DEVMAN_CLIENT);
+	if (exch == NULL)
+		return ENOMEM;
+	
+	int rc = async_req_1_0(exch, DEVMAN_DRIVER_LOAD, drvh);
+	
+	devman_exchange_end(exch);
+	return rc;
+}
+
 /** @}
  */
Index: uspace/lib/c/include/devman.h
===================================================================
--- uspace/lib/c/include/devman.h	(revision e5556e4a11175054df13aab078fc6d3c831cc8c2)
+++ uspace/lib/c/include/devman.h	(revision cd3b3802ee73ed2b2467458eb3b06bd7d0bf0879)
@@ -72,6 +72,8 @@
 extern int devman_fun_sid_to_handle(service_id_t, devman_handle_t *);
 extern int devman_get_drivers(devman_handle_t **, size_t *);
+extern int devman_driver_get_handle(const char *, devman_handle_t *);
 extern int devman_driver_get_name(devman_handle_t, char *, size_t);
 extern int devman_driver_get_state(devman_handle_t, driver_state_t *);
+extern int devman_driver_load(devman_handle_t);
 
 #endif
Index: uspace/lib/c/include/ipc/devman.h
===================================================================
--- uspace/lib/c/include/ipc/devman.h	(revision e5556e4a11175054df13aab078fc6d3c831cc8c2)
+++ uspace/lib/c/include/ipc/devman.h	(revision cd3b3802ee73ed2b2467458eb3b06bd7d0bf0879)
@@ -177,6 +177,8 @@
 	DEVMAN_FUN_SID_TO_HANDLE,
 	DEVMAN_GET_DRIVERS,
+	DEVMAN_DRIVER_GET_HANDLE,
 	DEVMAN_DRIVER_GET_NAME,
-	DEVMAN_DRIVER_GET_STATE
+	DEVMAN_DRIVER_GET_STATE,
+	DEVMAN_DRIVER_LOAD
 } client_to_devman_t;
 
