From 92fad38a043b75ed6b435b3efa574ede91dbe9ee Mon Sep 17 00:00:00 2001 From: Flavio Cruz Date: Wed, 11 Jan 2023 23:22:53 -0500 Subject: Use rpc_uintptr_t for protected payloads. Not only is uintptr_t more accurate for what protected payloads are but we also provide compatibility for 64 + 32 bits. Also the use of natural_t in the RPC definition is wrong since it is always 32 bits. Message-Id: --- include/mach/mach_port.defs | 2 +- include/mach/mach_types.defs | 2 ++ include/mach/message.h | 2 +- 3 files changed, 4 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/mach/mach_port.defs b/include/mach/mach_port.defs index 7cb8a659..3823bb14 100644 --- a/include/mach/mach_port.defs +++ b/include/mach/mach_port.defs @@ -348,7 +348,7 @@ skip; /* mach_port_create_act */ routine mach_port_set_protected_payload( task : ipc_space_t; name : mach_port_name_t; - payload : natural_t); + payload : rpc_uintptr_t); /* * Only valid for receive rights. diff --git a/include/mach/mach_types.defs b/include/mach/mach_types.defs index 5e5d0f2f..a98e5c67 100644 --- a/include/mach/mach_types.defs +++ b/include/mach/mach_types.defs @@ -121,8 +121,10 @@ type ipc_space_t = mach_port_t ; #if defined(KERNEL) && defined(USER32) +type rpc_uintptr_t = uint32_t; type rpc_vm_size_t = uint32_t; #else /* KERNEL and USER32 */ +type rpc_uintptr_t = uintptr_t; type rpc_vm_size_t = uintptr_t; #endif /* KERNEL_SERVER and USER32 */ diff --git a/include/mach/message.h b/include/mach/message.h index e6d26f58..798b47b4 100644 --- a/include/mach/message.h +++ b/include/mach/message.h @@ -138,7 +138,7 @@ typedef struct mach_msg_header { mach_port_t msgh_remote_port; union { mach_port_t msgh_local_port; - unsigned long msgh_protected_payload; + rpc_uintptr_t msgh_protected_payload; }; mach_port_seqno_t msgh_seqno; mach_msg_id_t msgh_id; -- cgit v1.2.3