summaryrefslogtreecommitdiff
path: root/type.h
diff options
context:
space:
mode:
authorFlavio Cruz <flaviocruz@gmail.com>2016-02-07 20:08:58 -0500
committerSamuel Thibault <samuel.thibault@ens-lyon.org>2016-02-09 23:50:11 +0100
commite2e50a2471af7c8708d49323a3f000042a032b59 (patch)
tree05cf4b7abec488d81546ff9f4a9e7dabfd0c6630 /type.h
parentc01a23d17a84fc42caba4031241c050e4a533d3f (diff)
Cast kernel server port arguments to the correct type.
* server.c: Add cast for ipc_port_t arguments that are handled differently. * type.c: Set itKernelPort when the mach_port_t is treated as a ipc_port_t. * type.h: Add itKernelPort to struct ipc_type.
Diffstat (limited to 'type.h')
-rw-r--r--type.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/type.h b/type.h
index 50de063..6cf5d63 100644
--- a/type.h
+++ b/type.h
@@ -129,6 +129,10 @@ typedef enum dealloc {
*
* itElement points to any substructure that the type may have.
* It is only used with variable-sized array types.
+ *
+ * itKernelPort is used only on kernel interfaces and is set to TRUE when
+ * the initial type is mach_port_t, which in turn is actually translated to
+ * internal port pointers (ipc_port_t).
*/
typedef struct ipc_type
@@ -158,6 +162,7 @@ typedef struct ipc_type
boolean_t itString;
boolean_t itVarArray;
boolean_t itIndefinite;
+ boolean_t itKernelPort;
struct ipc_type *itElement; /* may be NULL */