Index: uspace/lib/sysman/src/ctl.c
===================================================================
--- uspace/lib/sysman/src/ctl.c	(revision 8d74fdd2c255a9b8d91060f48eb2a6ff6cc5ad0c)
+++ uspace/lib/sysman/src/ctl.c	(revision 241f19855d1d9af65e95690ac5eb1dd1facffd0c)
@@ -34,5 +34,5 @@
 #include <sysman/sysman.h>
 
-int sysman_unit_handle(const char *unit_name, unit_handle_t *handle_ptr)
+errno_t sysman_unit_handle(const char *unit_name, unit_handle_t *handle_ptr)
 {
 	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
@@ -40,5 +40,5 @@
 	ipc_call_t call;
 	aid_t req = async_send_0(exch, SYSMAN_CTL_UNIT_HANDLE, &call);
-	sysarg_t rc = async_data_write_start(exch, unit_name, str_size(unit_name));
+	errno_t rc = async_data_write_start(exch, unit_name, str_size(unit_name));
 	sysman_exchange_end(exch);
 
@@ -50,5 +50,5 @@
 	async_wait_for(req, &rc);
 	if (rc == EOK) {
-		*handle_ptr = IPC_GET_ARG1(call);
+		*handle_ptr = ipc_get_arg1(&call);
 	}
 	return rc;
@@ -64,10 +64,10 @@
  * TODO convert to name->handle API
  */
-int sysman_unit_start_by_name(const char *unit_name, int flags)
+errno_t sysman_unit_start_by_name(const char *unit_name, int flags)
 {
 	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
 
 	aid_t req = async_send_1(exch, SYSMAN_CTL_UNIT_START_BY_NAME, flags, NULL);
-	sysarg_t rc = async_data_write_start(exch, unit_name, str_size(unit_name));
+	errno_t rc = async_data_write_start(exch, unit_name, str_size(unit_name));
 	sysman_exchange_end(exch);
 
@@ -81,9 +81,9 @@
 }
 
-int sysman_unit_start(unit_handle_t handle, int flags)
-{
-	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
-
-	int rc = async_req_2_0(exch, SYSMAN_CTL_UNIT_START, handle, flags);
+errno_t sysman_unit_start(unit_handle_t handle, int flags)
+{
+	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
+
+	errno_t rc = async_req_2_0(exch, SYSMAN_CTL_UNIT_START, handle, flags);
 	sysman_exchange_end(exch);
 	
@@ -91,9 +91,9 @@
 }
 
-int sysman_unit_stop(unit_handle_t handle, int flags)
-{
-	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
-
-	int rc = async_req_2_0(exch, SYSMAN_CTL_UNIT_STOP, handle, flags);
+errno_t sysman_unit_stop(unit_handle_t handle, int flags)
+{
+	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
+
+	errno_t rc = async_req_2_0(exch, SYSMAN_CTL_UNIT_STOP, handle, flags);
 	sysman_exchange_end(exch);
 	
@@ -101,5 +101,5 @@
 }
 
-static int sysman_get_units_once(sysarg_t *buf, size_t buf_size,
+static errno_t sysman_get_units_once(sysarg_t *buf, size_t buf_size,
     size_t *act_size)
 {
@@ -108,14 +108,14 @@
 	ipc_call_t answer;
 	aid_t req = async_send_0(exch, SYSMAN_CTL_GET_UNITS, &answer);
-	int rc = async_data_read_start(exch, buf, buf_size);
-
-	sysman_exchange_end(exch);
-
-	if (rc != EOK) {
-		async_forget(req);
-		return rc;
-	}
-
-	sysarg_t retval;
+	errno_t rc = async_data_read_start(exch, buf, buf_size);
+
+	sysman_exchange_end(exch);
+
+	if (rc != EOK) {
+		async_forget(req);
+		return rc;
+	}
+
+	errno_t retval;
 	async_wait_for(req, &retval);
 
@@ -124,9 +124,9 @@
 	}
 
-	*act_size = IPC_GET_ARG1(answer);
+	*act_size = ipc_get_arg1(&answer);
 	return EOK;
 }
 
-int sysman_get_units(unit_handle_t **units_ptr, size_t *cnt_ptr)
+errno_t sysman_get_units(unit_handle_t **units_ptr, size_t *cnt_ptr)
 {
 	*units_ptr = NULL;
@@ -138,5 +138,5 @@
 
 	while (true) {
-		int rc = sysman_get_units_once(units, alloc_size, &act_size);
+		errno_t rc = sysman_get_units_once(units, alloc_size, &act_size);
 		if (rc != EOK) {
 			return rc;
@@ -159,5 +159,5 @@
 }
 
-int sysman_unit_get_name(unit_handle_t handle, char *buf, size_t buf_size)
+errno_t sysman_unit_get_name(unit_handle_t handle, char *buf, size_t buf_size)
 {
 	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
@@ -165,14 +165,14 @@
 	ipc_call_t answer;
 	aid_t req = async_send_1(exch, SYSMAN_CTL_UNIT_GET_NAME, handle, &answer);
-	int rc = async_data_read_start(exch, buf, buf_size);
-
-	sysman_exchange_end(exch);
-
-	if (rc != EOK) {
-		async_forget(req);
-		return rc;
-	}
-
-	sysarg_t retval;
+	errno_t rc = async_data_read_start(exch, buf, buf_size);
+
+	sysman_exchange_end(exch);
+
+	if (rc != EOK) {
+		async_forget(req);
+		return rc;
+	}
+
+	errno_t retval;
 	async_wait_for(req, &retval);
 
@@ -184,19 +184,19 @@
 }
 
-int sysman_unit_get_state(unit_handle_t handle, unit_state_t *state)
-{
-	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
-	int rc = async_req_1_1(exch, SYSMAN_CTL_UNIT_GET_STATE, handle, state);
-	sysman_exchange_end(exch);
-
-	return rc;
-}
-
-int sysman_shutdown(void)
-{
-	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
-	int rc = async_req_0_0(exch, SYSMAN_CTL_SHUTDOWN);
-	sysman_exchange_end(exch);
-
-	return rc;
-}
+errno_t sysman_unit_get_state(unit_handle_t handle, unit_state_t *state)
+{
+	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
+	errno_t rc = async_req_1_1(exch, SYSMAN_CTL_UNIT_GET_STATE, handle, (sysarg_t *)state);
+	sysman_exchange_end(exch);
+
+	return rc;
+}
+
+errno_t sysman_shutdown(void)
+{
+	async_exch_t *exch = sysman_exchange_begin(SYSMAN_PORT_CTL);
+	errno_t rc = async_req_0_0(exch, SYSMAN_CTL_SHUTDOWN);
+	sysman_exchange_end(exch);
+
+	return rc;
+}
Index: uspace/lib/sysman/src/sysman.c
===================================================================
--- uspace/lib/sysman/src/sysman.c	(revision 8d74fdd2c255a9b8d91060f48eb2a6ff6cc5ad0c)
+++ uspace/lib/sysman/src/sysman.c	(revision 241f19855d1d9af65e95690ac5eb1dd1facffd0c)
@@ -37,6 +37,5 @@
 	if (sysman_sess[iface] == NULL) {
 		// TODO serialize vs parallel
-		sysman_sess[iface] = service_connect_blocking(EXCHANGE_SERIALIZE,
-		    SERVICE_SYSMAN, iface, 0);
+		sysman_sess[iface] = service_connect_blocking(SERVICE_SYSMAN, INTERFACE_SYSMAN, iface);
 	}
 
