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.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