From 5e533682c0df29d28dc8250c57c2e33406a57835 Mon Sep 17 00:00:00 2001 From: Justus Winter <4winter@informatik.uni-hamburg.de> Date: Thu, 10 Apr 2014 19:13:47 +0200 Subject: include: fix the definition of device_open Previously, every userspace server implementing the device protocol filtered the device definitions to replace the device_t type with mach_port_send_t to make the device argument of device_open polymorphic. Rather than doing that, which makes it impossible to use translation functions, fix the definition of device_open. * include/device/device.defs (device_open): Redefine the device argument to make it polymorphic unless a outran function is specified. --- include/device/device.defs | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/device/device.defs b/include/device/device.defs index d9234e3..5fdf1bd 100644 --- a/include/device/device.defs +++ b/include/device/device.defs @@ -52,7 +52,16 @@ routine device_open( sreplyport reply_port : reply_port_t; mode : dev_mode_t; name : dev_name_t; - out device : device_t + out device : device_t = + MACH_MSG_TYPE_PORT_SEND + ctype: mach_port_t +#if KERNEL_SERVER + outtran: mach_port_t convert_device_to_port(device_t) +#else +#ifdef DEVICE_OUTTRAN + outtran: DEVICE_OUTTRAN +#endif +#endif /* KERNEL_SERVER */ ); routine device_close( -- cgit v1.2.3