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
| Name | Type | Dir | Description |
|---|---|---|---|
| path1 | user_addr_t | - | |
| fd | int | - | |
| path2 | user_addr_t | - |
Version history
| XNU tag | macOS | # |
|---|---|---|
| xnu-2782.40.9 | macOS 10.10 Yosemite | 474 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | 474 |
| xnu-3789.1.32 | macOS 10.12 Sierra | 474 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | 474 |
| xnu-4903.221.2 | macOS 10.14 Mojave | 474 |
| xnu-6153.11.26 | macOS 10.15 Catalina | 474 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | 474 |
| xnu-8019.41.5 | macOS 12.0 Monterey | 474 |
| xnu-8792.41.9 | macOS 13.0 Ventura | 474 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 474 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 474 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 474 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 474 |
| xnu-10002.41.9 | — | 474 |
| xnu-10002.61.3 | — | 474 |
| xnu-10002.81.5 | — | 474 |
| xnu-10063.101.15 | — | 474 |
| xnu-10063.121.3 | — | 474 |
| xnu-10063.141.1 | — | 474 |
| xnu-11215.41.3 | — | 474 |
| xnu-11215.61.5 | — | 474 |
| xnu-11215.81.4 | — | 474 |
| xnu-11417.121.6 | — | 474 |
| xnu-11417.140.69 | — | 474 |
| xnu-12377.101.15 | — | 474 |
| xnu-12377.41.6 | — | 474 |
| xnu-12377.61.12 | — | 474 |
| xnu-12377.81.4 | — | 474 |
| xnu-2782.1.97 | — | 474 |
| xnu-2782.10.72 | — | 474 |
| xnu-2782.20.48 | — | 474 |
| xnu-2782.30.5 | — | 474 |
| xnu-3247.10.11 | — | 474 |
| xnu-3248.20.55 | — | 474 |
| xnu-3248.30.4 | — | 474 |
| xnu-3248.40.184 | — | 474 |
| xnu-3248.50.21 | — | 474 |
| xnu-3248.60.10 | — | 474 |
| xnu-3789.21.4 | — | 474 |
| xnu-3789.31.2 | — | 474 |
| xnu-3789.41.3 | — | 474 |
| xnu-3789.51.2 | — | 474 |
| xnu-3789.60.24 | — | 474 |
| xnu-3789.70.16 | — | 474 |
| xnu-4570.20.62 | — | 474 |
| xnu-4570.31.3 | — | 474 |
| xnu-4570.41.2 | — | 474 |
| xnu-4570.51.1 | — | 474 |
| xnu-4570.61.1 | — | 474 |
| xnu-4570.71.2 | — | 474 |
| xnu-4903.231.4 | — | 474 |
| xnu-4903.241.1 | — | 474 |
| xnu-4903.270.47 | — | 474 |
| xnu-6153.101.6 | — | 474 |
| xnu-6153.121.1 | — | 474 |
| xnu-6153.141.1 | — | 474 |
| xnu-6153.41.3 | — | 474 |
| xnu-6153.61.1 | — | 474 |
| xnu-6153.81.5 | — | 474 |
| xnu-7195.101.1 | — | 474 |
| xnu-7195.121.3 | — | 474 |
| xnu-7195.141.2 | — | 474 |
| xnu-7195.60.75 | — | 474 |
| xnu-7195.81.3 | — | 474 |
| xnu-8019.61.5 | — | 474 |
| xnu-8019.80.24 | — | 474 |
| xnu-8020.101.4 | — | 474 |
| xnu-8020.121.3 | — | 474 |
| xnu-8020.140.41 | — | 474 |
| xnu-8792.61.2 | — | 474 |
| xnu-8792.81.2 | — | 474 |
| xnu-8796.101.5 | — | 474 |
| xnu-8796.121.2 | — | 474 |
| xnu-8796.141.3 | — | 474 |
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