aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorFlavio Cruz <flaviocruz@gmail.com>2023-01-11 23:22:53 -0500
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2023-01-13 00:57:55 +0100
commit92fad38a043b75ed6b435b3efa574ede91dbe9ee (patch)
treec9d5294f70db01fb06912b7e24ebfca985f528ea /include
parent963b1794d7117064cee8ab5638b329db51dad854 (diff)
downloadgnumach-92fad38a043b75ed6b435b3efa574ede91dbe9ee.tar.gz
gnumach-92fad38a043b75ed6b435b3efa574ede91dbe9ee.tar.bz2
gnumach-92fad38a043b75ed6b435b3efa574ede91dbe9ee.zip
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: <Y7+LHVbmYxO/cSKs@jupiter.tail36e24.ts.net>
Diffstat (limited to 'include')
-rw-r--r--include/mach/mach_port.defs2
-rw-r--r--include/mach/mach_types.defs2
-rw-r--r--include/mach/message.h2
3 files changed, 4 insertions, 2 deletions
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;