bug-hurd
[Top][All Lists]
Advanced

[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 -+-



reply via email to

[Prev in Thread] Current Thread [Next in Thread]