Skip to content
Syscall BSD#517

svc · unix #517

fclonefileat

Clone un fichier déjà ouvert (CoW sur APFS) en une nouvelle entrée sous un descripteur de répertoire.

Prototype

int fclonefileat(int src_fd, int dst_dirfd, user_addr_t dst, uint32_t flags);

Retour: int

Arguments

NameTypeDirDescription
src_fdint-
dst_dirfdint-
dstuser_addr_t-
flagsuint32_t-

Historique des versions

XNU tagmacOS#
xnu-3789.1.32macOS 10.12 Sierra517
xnu-4570.1.46macOS 10.13 High Sierra517
xnu-4903.221.2macOS 10.14 Mojave517
xnu-6153.11.26macOS 10.15 Catalina517
xnu-7195.50.7.100.1macOS 11.0 Big Sur517
xnu-8019.41.5macOS 12.0 Monterey517
xnu-8792.41.9macOS 13.0 Ventura517
xnu-10002.1.13macOS 14.0 Sonoma517
xnu-11215.1.10macOS 15.0 Sequoia517
xnu-11417.101.15macOS 15.4 Sequoia517
xnu-12377.1.9macOS 26.0 Tahoe517
xnu-10002.41.9517
xnu-10002.61.3517
xnu-10002.81.5517
xnu-10063.101.15517
xnu-10063.121.3517
xnu-10063.141.1517
xnu-11215.41.3517
xnu-11215.61.5517
xnu-11215.81.4517
xnu-11417.121.6517
xnu-11417.140.69517
xnu-12377.101.15517
xnu-12377.41.6517
xnu-12377.61.12517
xnu-12377.81.4517
xnu-3789.21.4517
xnu-3789.31.2517
xnu-3789.41.3517
xnu-3789.51.2517
xnu-3789.60.24517
xnu-3789.70.16517
xnu-4570.20.62517
xnu-4570.31.3517
xnu-4570.41.2517
xnu-4570.51.1517
xnu-4570.61.1517
xnu-4570.71.2517
xnu-4903.231.4517
xnu-4903.241.1517
xnu-4903.270.47517
xnu-6153.101.6517
xnu-6153.121.1517
xnu-6153.141.1517
xnu-6153.41.3517
xnu-6153.61.1517
xnu-6153.81.5517
xnu-7195.101.1517
xnu-7195.121.3517
xnu-7195.141.2517
xnu-7195.60.75517
xnu-7195.81.3517
xnu-8019.61.5517
xnu-8019.80.24517
xnu-8020.101.4517
xnu-8020.121.3517
xnu-8020.140.41517
xnu-8792.61.2517
xnu-8792.81.2517
xnu-8796.101.5517
xnu-8796.121.2517
xnu-8796.141.3517

Notes

Pendant de clonefileat basé sur fd. Évite de re-résoudre le chemin source et résiste aux renommages concurrents de la source. Utilise les mêmes drapeaux CLONE_*.

Détection

ES NOTIFY_CLONE avec le vnode source et le chemin de destination.

API associées

clonefileatcopyfilerenameatlinkat