Skip to content
BSD syscall#474

svc · unix #474

symlinkat

Creates a symbolic link whose link path is resolved relative to a directory descriptor.

Prototype

int symlinkat(user_addr_t *path1, int fd, user_addr_t path2);

Returns: int

Arguments

NameTypeDirDescription
path1user_addr_t-
fdint-
path2user_addr_t-

Version history

XNU tagmacOS#
xnu-2782.40.9macOS 10.10 Yosemite474
xnu-3247.1.106macOS 10.11 El Capitan474
xnu-3789.1.32macOS 10.12 Sierra474
xnu-4570.1.46macOS 10.13 High Sierra474
xnu-4903.221.2macOS 10.14 Mojave474
xnu-6153.11.26macOS 10.15 Catalina474
xnu-7195.50.7.100.1macOS 11.0 Big Sur474
xnu-8019.41.5macOS 12.0 Monterey474
xnu-8792.41.9macOS 13.0 Ventura474
xnu-10002.1.13macOS 14.0 Sonoma474
xnu-11215.1.10macOS 15.0 Sequoia474
xnu-11417.101.15macOS 15.4 Sequoia474
xnu-12377.1.9macOS 26.0 Tahoe474
xnu-10002.41.9474
xnu-10002.61.3474
xnu-10002.81.5474
xnu-10063.101.15474
xnu-10063.121.3474
xnu-10063.141.1474
xnu-11215.41.3474
xnu-11215.61.5474
xnu-11215.81.4474
xnu-11417.121.6474
xnu-11417.140.69474
xnu-12377.101.15474
xnu-12377.41.6474
xnu-12377.61.12474
xnu-12377.81.4474
xnu-2782.1.97474
xnu-2782.10.72474
xnu-2782.20.48474
xnu-2782.30.5474
xnu-3247.10.11474
xnu-3248.20.55474
xnu-3248.30.4474
xnu-3248.40.184474
xnu-3248.50.21474
xnu-3248.60.10474
xnu-3789.21.4474
xnu-3789.31.2474
xnu-3789.41.3474
xnu-3789.51.2474
xnu-3789.60.24474
xnu-3789.70.16474
xnu-4570.20.62474
xnu-4570.31.3474
xnu-4570.41.2474
xnu-4570.51.1474
xnu-4570.61.1474
xnu-4570.71.2474
xnu-4903.231.4474
xnu-4903.241.1474
xnu-4903.270.47474
xnu-6153.101.6474
xnu-6153.121.1474
xnu-6153.141.1474
xnu-6153.41.3474
xnu-6153.61.1474
xnu-6153.81.5474
xnu-7195.101.1474
xnu-7195.121.3474
xnu-7195.141.2474
xnu-7195.60.75474
xnu-7195.81.3474
xnu-8019.61.5474
xnu-8019.80.24474
xnu-8020.101.4474
xnu-8020.121.3474
xnu-8020.140.41474
xnu-8792.61.2474
xnu-8792.81.2474
xnu-8796.101.5474
xnu-8796.121.2474
xnu-8796.141.3474

Notes

The target string itself is not interpreted by the kernel until the link is followed, so it may reference paths that do not exist or are outside the dirfd. Sandbox profiles often disallow symlinks pointing outside an allowed prefix.

Detection

ES NOTIFY_CREATE surfaces the new link. syscall::symlinkat:entry shows dirfd, target and linkpath.

Related APIs

symlinkreadlinkatlinkatopenat