Skip to content
BSD syscall#506

svc · unix #506

__nexus_create

Creates a new nexus instance from a registered nexus provider, returning a uuid for clients to bind.

Prototype

int __nexus_create(int ctl, uuid_t prov_uuid, uint32_t prov_uuid_len, uuid_t *nx_uuid, uint32_t nx_uuid_len);

Returns: int

Arguments

NameTypeDirDescription
ctlint-
prov_uuiduuid_t-
prov_uuid_lenuint32_t-
nx_uuiduuid_t-
nx_uuid_lenuint32_t-

Version history

XNU tagmacOS#
xnu-8792.41.9macOS 13.0 Ventura506
xnu-10002.1.13macOS 14.0 Sonoma506
xnu-11215.1.10macOS 15.0 Sequoia506
xnu-11417.101.15macOS 15.4 Sequoia506
xnu-12377.1.9macOS 26.0 Tahoe506
xnu-10002.41.9—506
xnu-10002.61.3—506
xnu-10002.81.5—506
xnu-10063.101.15—506
xnu-10063.121.3—506
xnu-10063.141.1—506
xnu-11215.41.3—506
xnu-11215.61.5—506
xnu-11215.81.4—506
xnu-11417.121.6—506
xnu-11417.140.69—506
xnu-12377.101.15—506
xnu-12377.41.6—506
xnu-12377.61.12—506
xnu-12377.81.4—506
xnu-8019.80.24—506
xnu-8020.101.4—506
xnu-8020.121.3—506
xnu-8020.140.41—506
xnu-8792.61.2—506
xnu-8792.81.2—506
xnu-8796.101.5—506
xnu-8796.121.2—506
xnu-8796.141.3—506

Notes

Takes a provider uuid (registered earlier via __nexus_register) and an instance-attribute blob describing ring counts, slot sizes, and per-instance flags. The returned instance uuid is what clients pass to __channel_open. nehelper, for example, uses this to spin up a flow_switch instance dedicated to a particular VPN.

Detection

Not surfaced by ES. The set of legitimate creators is small (nehelper, networkd, kernel itself); auditing relies on code-signature whitelists.

Related APIs

__nexus_open__nexus_destroy__nexus_register__channel_open