Skip to content
Syscall BSD#507

svc · unix #507

__nexus_destroy

Démantèle une instance de nexus précédemment créée, libérant son pool de paquets et ses anneaux.

Prototype

int __nexus_destroy(int ctl, uuid_t nx_uuid, uint32_t nx_uuid_len);

Retour: int

Arguments

NameTypeDirDescription
ctlint-
nx_uuiduuid_t-
nx_uuid_lenuint32_t-

Historique des versions

XNU tagmacOS#
xnu-8792.41.9macOS 13.0 Ventura507
xnu-10002.1.13macOS 14.0 Sonoma507
xnu-11215.1.10macOS 15.0 Sequoia507
xnu-11417.101.15macOS 15.4 Sequoia507
xnu-12377.1.9macOS 26.0 Tahoe507
xnu-10002.41.9507
xnu-10002.61.3507
xnu-10002.81.5507
xnu-10063.101.15507
xnu-10063.121.3507
xnu-10063.141.1507
xnu-11215.41.3507
xnu-11215.61.5507
xnu-11215.81.4507
xnu-11417.121.6507
xnu-11417.140.69507
xnu-12377.101.15507
xnu-12377.41.6507
xnu-12377.61.12507
xnu-12377.81.4507
xnu-8019.80.24507
xnu-8020.101.4507
xnu-8020.121.3507
xnu-8020.140.41507
xnu-8792.61.2507
xnu-8792.81.2507
xnu-8796.101.5507
xnu-8796.121.2507
xnu-8796.141.3507

Notes

Renvoie EBUSY si un canal est encore attaché. Le noyau compte les références aux instances de nexus en fonction des canaux ouverts, donc les appelants doivent se coordonner avec tous les consommateurs avant d'émettre destroy. Utilisé lors du démantèlement d'un VPN et à la suspension d'app quand Network.framework libère son flow_switch privé.

Détection

Pas dans ES. La paire __nexus_create/__nexus_destroy correspondante peut être reconstruite à partir des horodatages d'audit pour le même uuid de nexus.

API associées

__nexus_create__nexus_open__nexus_deregister__channel_open