Skip to content
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

NameTypeDirDescription
pathchar-
bufchar-
countint-

Version history

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard58
xnu-1699.24.8macOS 10.7 Lion58
xnu-2050.18.24macOS 10.8 Mountain Lion58
xnu-2422.115.4macOS 10.9 Mavericks58
xnu-2782.40.9macOS 10.10 Yosemite58
xnu-3247.1.106macOS 10.11 El Capitan58
xnu-3789.1.32macOS 10.12 Sierra58
xnu-4570.1.46macOS 10.13 High Sierra58
xnu-4903.221.2macOS 10.14 Mojave58
xnu-6153.11.26macOS 10.15 Catalina58
xnu-7195.50.7.100.1macOS 11.0 Big Sur58
xnu-8019.41.5macOS 12.0 Monterey58
xnu-8792.41.9macOS 13.0 Ventura58
xnu-10002.1.13macOS 14.0 Sonoma58
xnu-11215.1.10macOS 15.0 Sequoia58
xnu-11417.101.15macOS 15.4 Sequoia58
xnu-12377.1.9macOS 26.0 Tahoe58
xnu-10002.41.958
xnu-10002.61.358
xnu-10002.81.558
xnu-10063.101.1558
xnu-10063.121.358
xnu-10063.141.158
xnu-11215.41.358
xnu-11215.61.558
xnu-11215.81.458
xnu-11417.121.658
xnu-11417.140.6958
xnu-12377.101.1558
xnu-12377.41.658
xnu-12377.61.1258
xnu-12377.81.458
xnu-1486.2.1158
xnu-1504.15.358
xnu-1504.3.1258
xnu-1504.7.458
xnu-1504.9.1758
xnu-1504.9.2658
xnu-1504.9.3758
xnu-1699.22.7358
xnu-1699.22.8158
xnu-1699.24.2358
xnu-1699.26.858
xnu-1699.32.758
xnu-2050.22.1358
xnu-2050.24.1558
xnu-2050.48.1158
xnu-2050.7.958
xnu-2050.9.258
xnu-2422.1.7258
xnu-2422.100.1358
xnu-2422.110.1758
xnu-2422.90.2058
xnu-2782.1.9758
xnu-2782.10.7258
xnu-2782.20.4858
xnu-2782.30.558
xnu-3247.10.1158
xnu-3248.20.5558
xnu-3248.30.458
xnu-3248.40.18458
xnu-3248.50.2158
xnu-3248.60.1058
xnu-3789.21.458
xnu-3789.31.258
xnu-3789.41.358
xnu-3789.51.258
xnu-3789.60.2458
xnu-3789.70.1658
xnu-4570.20.6258
xnu-4570.31.358
xnu-4570.41.258
xnu-4570.51.158
xnu-4570.61.158
xnu-4570.71.258
xnu-4903.231.458
xnu-4903.241.158
xnu-4903.270.4758
xnu-6153.101.658
xnu-6153.121.158
xnu-6153.141.158
xnu-6153.41.358
xnu-6153.61.158
xnu-6153.81.558
xnu-7195.101.158
xnu-7195.121.358
xnu-7195.141.258
xnu-7195.60.7558
xnu-7195.81.358
xnu-8019.61.558
xnu-8019.80.2458
xnu-8020.101.458
xnu-8020.121.358
xnu-8020.140.4158
xnu-8792.61.258
xnu-8792.81.258
xnu-8796.101.558
xnu-8796.121.258
xnu-8796.141.358

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