Index: uspace/drv/audio/hdaudio/hdaudio.c
===================================================================
--- uspace/drv/audio/hdaudio/hdaudio.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/audio/hdaudio/hdaudio.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -385,5 +385,5 @@
 	hda_ctl_interrupt(hda->ctl);
 
-	if (IPC_GET_ARG3(*icall) != 0) {
+	if (ipc_get_arg3(icall) != 0) {
 		/* Buffer completed */
 		hda_lock(hda);
Index: uspace/drv/block/ahci/ahci.c
===================================================================
--- uspace/drv/block/ahci/ahci.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/block/ahci/ahci.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -897,6 +897,6 @@
 {
 	ahci_dev_t *ahci = dev_ahci_dev(dev);
-	unsigned int port = IPC_GET_ARG1(*icall);
-	ahci_port_is_t pxis = IPC_GET_ARG2(*icall);
+	unsigned int port = ipc_get_arg1(icall);
+	ahci_port_is_t pxis = ipc_get_arg2(icall);
 
 	if (port >= AHCI_MAX_PORTS)
Index: uspace/drv/block/ddisk/ddisk.c
===================================================================
--- uspace/drv/block/ddisk/ddisk.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/block/ddisk/ddisk.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -179,5 +179,5 @@
 {
 	ddf_msg(LVL_DEBUG, "ddisk_irq_handler(), status=%" PRIx32,
-	    (uint32_t) IPC_GET_ARG1(*icall));
+	    (uint32_t) ipc_get_arg1(icall));
 
 	ddisk_t *ddisk = (ddisk_t *) ddf_dev_data_get(dev);
Index: uspace/drv/bus/adb/cuda_adb/cuda_adb.c
===================================================================
--- uspace/drv/bus/adb/cuda_adb/cuda_adb.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/bus/adb/cuda_adb/cuda_adb.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -208,5 +208,5 @@
 	while (true) {
 		async_get_call(&call);
-		method = IPC_GET_IMETHOD(call);
+		method = ipc_get_imethod(&call);
 
 		if (!method) {
Index: uspace/drv/bus/pci/pciintel/ctl.c
===================================================================
--- uspace/drv/bus/pci/pciintel/ctl.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/bus/pci/pciintel/ctl.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -65,8 +65,8 @@
 		async_get_call(&call);
 
-		if (!IPC_GET_IMETHOD(call))
-			break;
-
-		switch (IPC_GET_IMETHOD(call)) {
+		if (!ipc_get_imethod(&call))
+			break;
+
+		switch (ipc_get_imethod(&call)) {
 		case PCI_GET_DEVICES:
 			pci_ctl_get_devices_srv(bus, &call);
@@ -140,5 +140,5 @@
 	errno_t rc;
 
-	dev_handle = IPC_GET_ARG1(*icall);
+	dev_handle = ipc_get_arg1(icall);
 	log_msg(LOG_DEFAULT, LVL_DEBUG, "pci_dev_get_info_srv(%zu)",
 	    dev_handle);
Index: uspace/drv/bus/usb/ohci/hc.c
===================================================================
--- uspace/drv/bus/usb/ohci/hc.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/bus/usb/ohci/hc.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -514,5 +514,5 @@
 
 	/* Enable interrupts */
-	if (CAP_HANDLE_VALID(instance->base.irq_handle)) {
+	if (cap_handle_valid(instance->base.irq_handle)) {
 		OHCI_WR(instance->registers->interrupt_enable,
 		    OHCI_USED_INTERRUPTS);
Index: uspace/drv/bus/usb/uhci/hc.c
===================================================================
--- uspace/drv/bus/usb/uhci/hc.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/bus/usb/uhci/hc.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -295,5 +295,5 @@
 	pio_write_32(&registers->flbaseadd, pa);
 
-	if (CAP_HANDLE_VALID(instance->base.irq_handle)) {
+	if (cap_handle_valid(instance->base.irq_handle)) {
 		/* Enable all interrupts, but resume interrupt */
 		pio_write_16(&instance->registers->usbintr,
Index: uspace/drv/bus/usb/vhc/conndev.c
===================================================================
--- uspace/drv/bus/usb/vhc/conndev.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/bus/usb/vhc/conndev.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -83,5 +83,5 @@
 		return;
 
-	size_t len = IPC_GET_ARG2(data_request_call);
+	size_t len = ipc_get_arg2(&data_request_call);
 	plugged_device_name[len] = 0;
 }
Index: uspace/drv/bus/usb/xhci/hc.c
===================================================================
--- uspace/drv/bus/usb/xhci/hc.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/bus/usb/xhci/hc.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -494,5 +494,5 @@
 	XHCI_REG_WR(intr0, XHCI_INTR_ERSTBA, erstba_phys);
 
-	if (CAP_HANDLE_VALID(hc->base.irq_handle)) {
+	if (cap_handle_valid(hc->base.irq_handle)) {
 		XHCI_REG_SET(intr0, XHCI_INTR_IE, 1);
 		XHCI_REG_SET(hc->op_regs, XHCI_OP_INTE, 1);
Index: uspace/drv/char/i8042/i8042.c
===================================================================
--- uspace/drv/char/i8042/i8042.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/char/i8042/i8042.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -132,6 +132,6 @@
 	errno_t rc;
 
-	const uint8_t status = IPC_GET_ARG1(*call);
-	const uint8_t data = IPC_GET_ARG2(*call);
+	const uint8_t status = ipc_get_arg1(call);
+	const uint8_t data = ipc_get_arg2(call);
 
 	i8042_port_t *port = (status & i8042_AUX_DATA) ?
Index: uspace/drv/char/msim-con/msim-con.c
===================================================================
--- uspace/drv/char/msim-con/msim-con.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/char/msim-con/msim-con.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -71,5 +71,5 @@
 	fibril_mutex_lock(&con->buf_lock);
 
-	c = IPC_GET_ARG2(*call);
+	c = ipc_get_arg2(call);
 	rc = circ_buf_push(&con->cbuf, &c);
 	if (rc != EOK)
@@ -156,5 +156,5 @@
 	return EOK;
 error:
-	if (CAP_HANDLE_VALID(con->irq_handle))
+	if (cap_handle_valid(con->irq_handle))
 		async_irq_unsubscribe(con->irq_handle);
 	if (bound)
Index: uspace/drv/char/ns8250/ns8250.c
===================================================================
--- uspace/drv/char/ns8250/ns8250.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/char/ns8250/ns8250.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -1080,5 +1080,5 @@
 {
 	ns8250_t *ns8250 = srv_ns8250(srv);
-	sysarg_t method = IPC_GET_IMETHOD(*call);
+	sysarg_t method = ipc_get_imethod(call);
 	errno_t ret;
 	unsigned int baud_rate, parity, word_length, stop_bits;
@@ -1093,8 +1093,8 @@
 
 	case SERIAL_SET_COM_PROPS:
-		baud_rate = IPC_GET_ARG1(*call);
-		parity = IPC_GET_ARG2(*call);
-		word_length = IPC_GET_ARG3(*call);
-		stop_bits = IPC_GET_ARG4(*call);
+		baud_rate = ipc_get_arg1(call);
+		parity = ipc_get_arg2(call);
+		word_length = ipc_get_arg3(call);
+		stop_bits = ipc_get_arg4(call);
 		ret = ns8250_set_props(ns8250->dev, baud_rate, parity, word_length,
 		    stop_bits);
Index: uspace/drv/char/pc-lpt/pc-lpt.c
===================================================================
--- uspace/drv/char/pc-lpt/pc-lpt.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/char/pc-lpt/pc-lpt.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -173,5 +173,5 @@
 	return EOK;
 error:
-	if (CAP_HANDLE_VALID(lpt->irq_handle))
+	if (cap_handle_valid(lpt->irq_handle))
 		async_irq_unsubscribe(lpt->irq_handle);
 	if (bound)
Index: uspace/drv/char/pl050/pl050.c
===================================================================
--- uspace/drv/char/pl050/pl050.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/char/pl050/pl050.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -157,5 +157,5 @@
 	}
 
-	pl050->buffer[pl050->buf_wp] = IPC_GET_ARG2(*call);
+	pl050->buffer[pl050->buf_wp] = ipc_get_arg2(call);
 	pl050->buf_wp = nidx;
 	fibril_condvar_broadcast(&pl050->buf_cv);
Index: uspace/drv/hid/adb-kbd/adb-kbd.c
===================================================================
--- uspace/drv/hid/adb-kbd/adb-kbd.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/hid/adb-kbd/adb-kbd.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -141,12 +141,12 @@
 		errno_t retval = EOK;
 
-		if (!IPC_GET_IMETHOD(call)) {
+		if (!ipc_get_imethod(&call)) {
 			async_answer_0(&call, EOK);
 			return;
 		}
 
-		switch (IPC_GET_IMETHOD(call)) {
+		switch (ipc_get_imethod(&call)) {
 		case ADB_REG_NOTIF:
-			adb_kbd_reg0_data(kbd, IPC_GET_ARG1(call));
+			adb_kbd_reg0_data(kbd, ipc_get_arg1(&call));
 			break;
 		default:
@@ -205,5 +205,5 @@
 	while (true) {
 		async_get_call(&call);
-		method = IPC_GET_IMETHOD(call);
+		method = ipc_get_imethod(&call);
 
 		if (!method) {
Index: uspace/drv/hid/adb-mouse/adb-mouse.c
===================================================================
--- uspace/drv/hid/adb-mouse/adb-mouse.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/hid/adb-mouse/adb-mouse.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -99,12 +99,12 @@
 		errno_t retval = EOK;
 
-		if (!IPC_GET_IMETHOD(call)) {
+		if (!ipc_get_imethod(&call)) {
 			/* TODO: Handle hangup */
 			return;
 		}
 
-		switch (IPC_GET_IMETHOD(call)) {
+		switch (ipc_get_imethod(&call)) {
 		case ADB_REG_NOTIF:
-			adb_mouse_data(mouse, IPC_GET_ARG1(call));
+			adb_mouse_data(mouse, ipc_get_arg1(&call));
 			break;
 		default:
@@ -215,5 +215,5 @@
 	while (true) {
 		async_get_call(&call);
-		method = IPC_GET_IMETHOD(call);
+		method = ipc_get_imethod(&call);
 
 		if (!method) {
Index: uspace/drv/hid/atkbd/atkbd.c
===================================================================
--- uspace/drv/hid/atkbd/atkbd.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/hid/atkbd/atkbd.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -310,5 +310,5 @@
 static void default_connection_handler(ddf_fun_t *fun, ipc_call_t *icall)
 {
-	const sysarg_t method = IPC_GET_IMETHOD(*icall);
+	const sysarg_t method = ipc_get_imethod(icall);
 	at_kbd_t *kbd = ddf_dev_data_get(ddf_fun_get_dev(fun));
 	async_sess_t *sess;
Index: uspace/drv/hid/ps2mouse/ps2mouse.c
===================================================================
--- uspace/drv/hid/ps2mouse/ps2mouse.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/hid/ps2mouse/ps2mouse.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -429,5 +429,5 @@
 void default_connection_handler(ddf_fun_t *fun, ipc_call_t *icall)
 {
-	const sysarg_t method = IPC_GET_IMETHOD(*icall);
+	const sysarg_t method = ipc_get_imethod(icall);
 	ps2_mouse_t *mouse = ddf_dev_data_get(ddf_fun_get_dev(fun));
 	async_sess_t *sess;
Index: uspace/drv/hid/usbhid/kbd/kbddev.c
===================================================================
--- uspace/drv/hid/usbhid/kbd/kbddev.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/hid/usbhid/kbd/kbddev.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -159,5 +159,5 @@
 static void default_connection_handler(ddf_fun_t *fun, ipc_call_t *icall)
 {
-	const sysarg_t method = IPC_GET_IMETHOD(*icall);
+	const sysarg_t method = ipc_get_imethod(icall);
 	usb_kbd_t *kbd_dev = ddf_fun_data_get(fun);
 	async_sess_t *sess;
@@ -165,5 +165,5 @@
 	switch (method) {
 	case KBDEV_SET_IND:
-		kbd_dev->mods = IPC_GET_ARG1(*icall);
+		kbd_dev->mods = ipc_get_arg1(icall);
 		usb_kbd_set_led(kbd_dev->hid_dev, kbd_dev);
 		async_answer_0(icall, EOK);
Index: uspace/drv/hid/xtkbd/xtkbd.c
===================================================================
--- uspace/drv/hid/xtkbd/xtkbd.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/hid/xtkbd/xtkbd.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -344,5 +344,5 @@
 static void default_connection_handler(ddf_fun_t *fun, ipc_call_t *icall)
 {
-	const sysarg_t method = IPC_GET_IMETHOD(*icall);
+	const sysarg_t method = ipc_get_imethod(icall);
 	xt_kbd_t *kbd = ddf_dev_data_get(ddf_fun_get_dev(fun));
 	unsigned mods;
@@ -355,5 +355,5 @@
 		 * assume AT keyboard with Scan Code Set 1.
 		 */
-		mods = IPC_GET_ARG1(*icall);
+		mods = ipc_get_arg1(icall);
 		const uint8_t status = 0 |
 		    ((mods & KM_CAPS_LOCK) ? LI_CAPS : 0) |
Index: uspace/drv/intctl/apic/apic.c
===================================================================
--- uspace/drv/intctl/apic/apic.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/intctl/apic/apic.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -179,5 +179,5 @@
 		async_get_call(&call);
 
-		if (!IPC_GET_IMETHOD(call)) {
+		if (!ipc_get_imethod(&call)) {
 			/* The other side has hung up. */
 			async_answer_0(&call, EOK);
@@ -185,8 +185,8 @@
 		}
 
-		switch (IPC_GET_IMETHOD(call)) {
+		switch (ipc_get_imethod(&call)) {
 		case IRC_ENABLE_INTERRUPT:
 			async_answer_0(&call, apic_enable_irq(apic,
-			    IPC_GET_ARG1(call)));
+			    ipc_get_arg1(&call)));
 			break;
 		case IRC_DISABLE_INTERRUPT:
Index: uspace/drv/intctl/i8259/i8259.c
===================================================================
--- uspace/drv/intctl/i8259/i8259.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/intctl/i8259/i8259.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -108,5 +108,5 @@
 		async_get_call(&call);
 
-		if (!IPC_GET_IMETHOD(call)) {
+		if (!ipc_get_imethod(&call)) {
 			/* The other side has hung up. */
 			async_answer_0(&call, EOK);
@@ -114,8 +114,8 @@
 		}
 
-		switch (IPC_GET_IMETHOD(call)) {
+		switch (ipc_get_imethod(&call)) {
 		case IRC_ENABLE_INTERRUPT:
 			async_answer_0(&call, pic_enable_irq(i8259,
-			    IPC_GET_ARG1(call)));
+			    ipc_get_arg1(&call)));
 			break;
 		case IRC_DISABLE_INTERRUPT:
Index: uspace/drv/intctl/icp-ic/icp-ic.c
===================================================================
--- uspace/drv/intctl/icp-ic/icp-ic.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/intctl/icp-ic/icp-ic.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -84,5 +84,5 @@
 		async_get_call(&call);
 
-		if (!IPC_GET_IMETHOD(call)) {
+		if (!ipc_get_imethod(&call)) {
 			/* The other side has hung up. */
 			async_answer_0(&call, EOK);
@@ -90,8 +90,8 @@
 		}
 
-		switch (IPC_GET_IMETHOD(call)) {
+		switch (ipc_get_imethod(&call)) {
 		case IRC_ENABLE_INTERRUPT:
 			async_answer_0(&call,
-			    icpic_enable_irq(icpic, IPC_GET_ARG1(call)));
+			    icpic_enable_irq(icpic, ipc_get_arg1(&call)));
 			break;
 		case IRC_DISABLE_INTERRUPT:
Index: uspace/drv/intctl/obio/obio.c
===================================================================
--- uspace/drv/intctl/obio/obio.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/intctl/obio/obio.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -90,7 +90,7 @@
 		async_get_call(&call);
 
-		switch (IPC_GET_IMETHOD(call)) {
+		switch (ipc_get_imethod(&call)) {
 		case IRC_ENABLE_INTERRUPT:
-			inr = IPC_GET_ARG1(call);
+			inr = ipc_get_arg1(&call);
 			pio_set_64(&obio->regs[OBIO_IMR(inr & INO_MASK)],
 			    1UL << 31, 0);
@@ -102,5 +102,5 @@
 			break;
 		case IRC_CLEAR_INTERRUPT:
-			inr = IPC_GET_ARG1(call);
+			inr = ipc_get_arg1(&call);
 			pio_write_64(&obio->regs[OBIO_CIR(inr & INO_MASK)], 0);
 			async_answer_0(&call, EOK);
Index: uspace/drv/nic/e1k/e1k.c
===================================================================
--- uspace/drv/nic/e1k/e1k.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/nic/e1k/e1k.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -1244,5 +1244,5 @@
     ddf_dev_t *dev)
 {
-	uint32_t icr = (uint32_t) IPC_GET_ARG2(*icall);
+	uint32_t icr = (uint32_t) ipc_get_arg2(icall);
 	nic_t *nic = NIC_DATA_DEV(dev);
 	e1000_t *e1000 = DRIVER_DATA_NIC(nic);
Index: uspace/drv/nic/ne2k/ne2k.c
===================================================================
--- uspace/drv/nic/ne2k/ne2k.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/nic/ne2k/ne2k.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -52,5 +52,5 @@
  *
  */
-#define IRQ_GET_ISR(call)  ((int) IPC_GET_ARG2(call))
+#define IRQ_GET_ISR(call)  ((int) ipc_get_arg2(&call))
 
 /** Return the TSR from the interrupt call.
@@ -59,5 +59,5 @@
  *
  */
-#define IRQ_GET_TSR(call)  ((int) IPC_GET_ARG3(call))
+#define IRQ_GET_TSR(call)  ((int) ipc_get_arg3(&call))
 
 #define DRIVER_DATA(dev) ((nic_t *) ddf_dev_data_get(dev))
Index: uspace/drv/nic/rtl8139/driver.c
===================================================================
--- uspace/drv/nic/rtl8139/driver.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/nic/rtl8139/driver.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -827,5 +827,5 @@
 	assert(icall);
 
-	uint16_t isr = (uint16_t) IPC_GET_ARG2(*icall);
+	uint16_t isr = (uint16_t) ipc_get_arg2(icall);
 	nic_t *nic_data = nic_get_from_ddf_dev(dev);
 	rtl8139_t *rtl8139 = nic_get_specific(nic_data);
Index: uspace/drv/nic/rtl8169/driver.c
===================================================================
--- uspace/drv/nic/rtl8169/driver.c	(revision 8fed3efa3f7941fe16c62db0eb7b013757e1a179)
+++ uspace/drv/nic/rtl8169/driver.c	(revision 8c193d835ff0dbe71930a075c779f2971353b4e1)
@@ -1038,5 +1038,5 @@
 	assert(icall);
 
-	uint16_t isr = (uint16_t) IPC_GET_ARG2(*icall) & INT_KNOWN;
+	uint16_t isr = (uint16_t) ipc_get_arg2(icall) & INT_KNOWN;
 	nic_t *nic_data = nic_get_from_ddf_dev(dev);
 	rtl8169_t *rtl8169 = nic_get_specific(nic_data);
