lib: xpc: add support for event messages

This commit is contained in:
2026-03-24 20:24:36 +00:00
parent e9ccefd980
commit dade9fa81f
2 changed files with 26 additions and 5 deletions

View File

@@ -54,14 +54,24 @@ static kern_status_t __msg_recv(
return status;
}
if (!xpc_msg_header_validate(&out->msg_header)) {
return KERN_INVALID_ARGUMENT;
switch (msg.msg_type) {
case KERN_MSG_TYPE_DATA:
if (!xpc_msg_header_validate(&out->msg_header)) {
return KERN_INVALID_ARGUMENT;
}
break;
case KERN_MSG_TYPE_EVENT:
out->msg_event = msg.msg_event;
break;
default:
break;
}
out->msg_sender.e_channel = channel;
out->msg_sender.e_task = msg.msg_sender;
out->msg_sender.e_port = msg.msg_endpoint;
out->msg_sender.e_msg = msg.msg_id;
out->msg_type = msg.msg_type;
return KERN_OK;
}