BSD syscall#58
svc · unix #58
readlink
Reads the target string of a symbolic link without dereferencing it.
Prototype
int readlink(char *path, char *buf, int count);Returns: int
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| path | char | - | |
| buf | char | - | |
| count | int | - |
Version history
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 58 |
| xnu-1699.24.8 | macOS 10.7 Lion | 58 |
| xnu-2050.18.24 | macOS 10.8 Mountain Lion | 58 |
| xnu-2422.115.4 | macOS 10.9 Mavericks | 58 |
| xnu-2782.40.9 | macOS 10.10 Yosemite | 58 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | 58 |
| xnu-3789.1.32 | macOS 10.12 Sierra | 58 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | 58 |
| xnu-4903.221.2 | macOS 10.14 Mojave | 58 |
| xnu-6153.11.26 | macOS 10.15 Catalina | 58 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | 58 |
| xnu-8019.41.5 | macOS 12.0 Monterey | 58 |
| xnu-8792.41.9 | macOS 13.0 Ventura | 58 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 58 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 58 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 58 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 58 |
| xnu-10002.41.9 | — | 58 |
| xnu-10002.61.3 | — | 58 |
| xnu-10002.81.5 | — | 58 |
| xnu-10063.101.15 | — | 58 |
| xnu-10063.121.3 | — | 58 |
| xnu-10063.141.1 | — | 58 |
| xnu-11215.41.3 | — | 58 |
| xnu-11215.61.5 | — | 58 |
| xnu-11215.81.4 | — | 58 |
| xnu-11417.121.6 | — | 58 |
| xnu-11417.140.69 | — | 58 |
| xnu-12377.101.15 | — | 58 |
| xnu-12377.41.6 | — | 58 |
| xnu-12377.61.12 | — | 58 |
| xnu-12377.81.4 | — | 58 |
| xnu-1486.2.11 | — | 58 |
| xnu-1504.15.3 | — | 58 |
| xnu-1504.3.12 | — | 58 |
| xnu-1504.7.4 | — | 58 |
| xnu-1504.9.17 | — | 58 |
| xnu-1504.9.26 | — | 58 |
| xnu-1504.9.37 | — | 58 |
| xnu-1699.22.73 | — | 58 |
| xnu-1699.22.81 | — | 58 |
| xnu-1699.24.23 | — | 58 |
| xnu-1699.26.8 | — | 58 |
| xnu-1699.32.7 | — | 58 |
| xnu-2050.22.13 | — | 58 |
| xnu-2050.24.15 | — | 58 |
| xnu-2050.48.11 | — | 58 |
| xnu-2050.7.9 | — | 58 |
| xnu-2050.9.2 | — | 58 |
| xnu-2422.1.72 | — | 58 |
| xnu-2422.100.13 | — | 58 |
| xnu-2422.110.17 | — | 58 |
| xnu-2422.90.20 | — | 58 |
| xnu-2782.1.97 | — | 58 |
| xnu-2782.10.72 | — | 58 |
| xnu-2782.20.48 | — | 58 |
| xnu-2782.30.5 | — | 58 |
| xnu-3247.10.11 | — | 58 |
| xnu-3248.20.55 | — | 58 |
| xnu-3248.30.4 | — | 58 |
| xnu-3248.40.184 | — | 58 |
| xnu-3248.50.21 | — | 58 |
| xnu-3248.60.10 | — | 58 |
| xnu-3789.21.4 | — | 58 |
| xnu-3789.31.2 | — | 58 |
| xnu-3789.41.3 | — | 58 |
| xnu-3789.51.2 | — | 58 |
| xnu-3789.60.24 | — | 58 |
| xnu-3789.70.16 | — | 58 |
| xnu-4570.20.62 | — | 58 |
| xnu-4570.31.3 | — | 58 |
| xnu-4570.41.2 | — | 58 |
| xnu-4570.51.1 | — | 58 |
| xnu-4570.61.1 | — | 58 |
| xnu-4570.71.2 | — | 58 |
| xnu-4903.231.4 | — | 58 |
| xnu-4903.241.1 | — | 58 |
| xnu-4903.270.47 | — | 58 |
| xnu-6153.101.6 | — | 58 |
| xnu-6153.121.1 | — | 58 |
| xnu-6153.141.1 | — | 58 |
| xnu-6153.41.3 | — | 58 |
| xnu-6153.61.1 | — | 58 |
| xnu-6153.81.5 | — | 58 |
| xnu-7195.101.1 | — | 58 |
| xnu-7195.121.3 | — | 58 |
| xnu-7195.141.2 | — | 58 |
| xnu-7195.60.75 | — | 58 |
| xnu-7195.81.3 | — | 58 |
| xnu-8019.61.5 | — | 58 |
| xnu-8019.80.24 | — | 58 |
| xnu-8020.101.4 | — | 58 |
| xnu-8020.121.3 | — | 58 |
| xnu-8020.140.41 | — | 58 |
| xnu-8792.61.2 | — | 58 |
| xnu-8792.81.2 | — | 58 |
| xnu-8796.101.5 | — | 58 |
| xnu-8796.121.2 | — | 58 |
| xnu-8796.141.3 | — | 58 |
Notes
The returned buffer is not NUL-terminated; the caller must use the return value as length. Truncation occurs silently when bufsize is smaller than the link target. EINVAL is returned for paths that are not symlinks.
Detection
syscall::readlink:entry in DTrace. ES emits ES_EVENT_TYPE_NOTIFY_READLINK on supported systems.
Related APIs
readlinkatfreadlinksymlinklstat