#include <mach/arcade_upcall_server.h>
mach/arcade_upcall_server.h
macro_arcade_upcall_server_
#define _arcade_upcall_server_
macroarcade_upcall_MSG_COUNT
#define arcade_upcall_MSG_COUNT 1
functionarcade_upcall
extern MIG_SERVER_ROUTINE kern_return_t arcade_upcall( mach_port_t arcade_upcall, vm_offset_t path, mach_msg_type_number_t pathCnt, uint64_t offset, boolean_t *should_kill )
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu osfmk/mach/arcade_upcall.defs, osfmk/kern/arcade.c
Server-interface routine of the arcade_upcall MIG subsystem (subsystem id 61471), implemented by the Arcade validation service in user space, not by the kernel. The kernel upcalls it from arcade_ast (osfmk/kern/arcade.c) on the registered upcall port, passing the executable path of the current process as out-of-line data (path, pathCnt bytes) and the file offset of the executable within its file. The service validates the process's Arcade entitlement and sets *should_kill to direct the kernel to terminate the process.
functionarcade_upcall_server
extern boolean_t arcade_upcall_server( mach_msg_header_t *InHeadP, mach_msg_header_t *OutHeadP )
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu osfmk/mach/arcade_upcall.defs
MIG-generated demultiplexer for the arcade_upcall subsystem (osfmk/mach/arcade_upcall.defs). If the request message at InHeadP belongs to the subsystem, calls the matching handler (arcade_upcall), formats the reply message at OutHeadP, and returns TRUE; returns FALSE, with a MIG_BAD_ID error reply, for messages that do not belong to the subsystem.
functionarcade_upcall_server_routine
extern mig_routine_t arcade_upcall_server_routine(mach_msg_header_t *InHeadP)
▾
claude-fable-5, 2026-08-24 · not from Apple sources · verified against xnu osfmk/mach/arcade_upcall.defs
Returns the MIG dispatch function for the arcade_upcall subsystem request whose msgh_id is found in InHeadP, or a null pointer if the message is not a request of the subsystem. Alternative to the combined demultiplexer for servers that look up and invoke the handler themselves.
structarcade_upcall_subsystem
Description of this subsystem, for use in direct RPC
| mig_server_routine_t | server | Server routine |
| mach_msg_id_t | start | Min routine number |
| mach_msg_id_t | end | Max routine number + 1 |
| unsigned int | maxsize | Max msg size |
| vm_address_t | reserved | Reserved |
| struct routine_descriptor[1] | routine |
variablearcade_upcall_subsystem
extern const struct arcade_upcall_subsystem { mig_server_routine_t server; /* Server routine */ mach_msg_id_t start; /* Min routine number */ mach_msg_id_t end; /* Max routine number + 1 */ unsigned int maxsize; /* Max msg size */ vm_address_t reserved; /* Reserved */ struct routine_descriptor /* Array of routine descriptors */ routine[1]; } arcade_upcall_subsystemmacrosubsystem_to_name_map_arcade_upcall
#define subsystem_to_name_map_arcade_upcall { "arcade_upcall", 61471 }