[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH gnumach] include: make `mach_port_t' payload-aware
From: |
Samuel Thibault |
Subject: |
Re: [PATCH gnumach] include: make `mach_port_t' payload-aware |
Date: |
Thu, 27 Nov 2014 19:13:17 +0100 |
User-agent: |
Mutt/1.5.21+34 (58baf7c9f32f) (2010-12-30) |
Justus Winter, le Thu 27 Nov 2014 14:16:19 +0100, a écrit :
> Honor a new macro `MACH_PAYLOAD_TO_PORT' to inject a translation
> function mapping payloads to port names in the definition of
> `mach_port_t'.
Ack.
> * include/mach/std_types.defs (mach_port_t): Honor
> `MACH_PAYLOAD_TO_PORT'.
> * include/device/device.defs (reply_port_t): Likewise.
> * include/device/device_reply.defs (reply_port_t): Likewise.
> * include/device/device_request.defs (reply_port_t): Likewise.
> ---
> include/device/device.defs | 8 +++++++-
> include/device/device_reply.defs | 8 +++++++-
> include/device/device_request.defs | 8 +++++++-
> include/mach/std_types.defs | 8 +++++++-
> 4 files changed, 28 insertions(+), 4 deletions(-)
>
> diff --git a/include/device/device.defs b/include/device/device.defs
> index 5fdf1bd..409146f 100644
> --- a/include/device/device.defs
> +++ b/include/device/device.defs
> @@ -45,7 +45,13 @@ subsystem
> serverprefix ds_;
>
> type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE | polymorphic
> - ctype: mach_port_t;
> + ctype: mach_port_t
> +#ifndef KERNEL_SERVER
> +#ifdef MACH_PAYLOAD_TO_PORT
> + intranpayload: mach_port_t MACH_PAYLOAD_TO_PORT
> +#endif /* MACH_PAYLOAD_TO_PORT */
> +#endif /* KERNEL_SERVER */
> +;
>
> routine device_open(
> master_port : mach_port_t;
> diff --git a/include/device/device_reply.defs
> b/include/device/device_reply.defs
> index 3415677..5a32507 100644
> --- a/include/device/device_reply.defs
> +++ b/include/device/device_reply.defs
> @@ -54,7 +54,13 @@ serverdemux seqnos_device_reply_server;
> #endif /* SEQNOS */
>
> type reply_port_t = polymorphic|MACH_MSG_TYPE_PORT_SEND_ONCE
> - ctype: mach_port_t;
> + ctype: mach_port_t
> +#ifndef KERNEL_SERVER
> +#ifdef MACH_PAYLOAD_TO_PORT
> + intranpayload: mach_port_t MACH_PAYLOAD_TO_PORT
> +#endif /* MACH_PAYLOAD_TO_PORT */
> +#endif /* KERNEL_SERVER */
> +;
>
> simpleroutine device_open_reply(
> reply_port : reply_port_t;
> diff --git a/include/device/device_request.defs
> b/include/device/device_request.defs
> index e8aab2a..7ea8637 100644
> --- a/include/device/device_request.defs
> +++ b/include/device/device_request.defs
> @@ -37,7 +37,13 @@ subsystem device_request 2800; /* to match device.defs
> */
> serverprefix ds_;
>
> type reply_port_t = MACH_MSG_TYPE_MAKE_SEND_ONCE
> - ctype: mach_port_t;
> + ctype: mach_port_t
> +#ifndef KERNEL_SERVER
> +#ifdef MACH_PAYLOAD_TO_PORT
> + intranpayload: mach_port_t MACH_PAYLOAD_TO_PORT
> +#endif /* MACH_PAYLOAD_TO_PORT */
> +#endif /* KERNEL_SERVER */
> +;
>
> simpleroutine device_open_request(
> device_server_port : mach_port_t;
> diff --git a/include/mach/std_types.defs b/include/mach/std_types.defs
> index 00d1a69..a1f156d 100644
> --- a/include/mach/std_types.defs
> +++ b/include/mach/std_types.defs
> @@ -49,7 +49,13 @@ type pointer_t = ^array[] of MACH_MSG_TYPE_BYTE
> ctype: vm_offset_t;
>
>
> -type mach_port_t = MACH_MSG_TYPE_COPY_SEND;
> +type mach_port_t = MACH_MSG_TYPE_COPY_SEND
> +#ifndef KERNEL_SERVER
> +#ifdef MACH_PAYLOAD_TO_PORT
> + intranpayload: mach_port_t MACH_PAYLOAD_TO_PORT
> +#endif /* MACH_PAYLOAD_TO_PORT */
> +#endif /* KERNEL_SERVER */
> +;
> type mach_port_array_t = array[] of mach_port_t;
>
> type mach_port_name_t = MACH_MSG_TYPE_PORT_NAME
> --
> 2.1.3
>
--
Samuel
<s> je la connaissais pas celle la : "make: Entering an unknown directory"
-+- #ens-mim -+-