Skip to content
BSD syscall#234

svc · unix #234

getxattr

Reads an extended attribute value by name from a path.

Prototype

user_ssize_t getxattr(user_addr_t path, user_addr_t attrname, user_addr_t value, size_t size, uint32_t position, int options);

Returns: user_ssize_t

Arguments

NameTypeDirDescription
pathuser_addr_t-
attrnameuser_addr_t-
valueuser_addr_t-
sizesize_t-
positionuint32_t-
optionsint-

Version history

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard234
xnu-1699.24.8macOS 10.7 Lion234
xnu-2050.18.24macOS 10.8 Mountain Lion234
xnu-2422.115.4macOS 10.9 Mavericks234
xnu-2782.40.9macOS 10.10 Yosemite234
xnu-3247.1.106macOS 10.11 El Capitan234
xnu-3789.1.32macOS 10.12 Sierra234
xnu-4570.1.46macOS 10.13 High Sierra234
xnu-4903.221.2macOS 10.14 Mojave234
xnu-6153.11.26macOS 10.15 Catalina234
xnu-7195.50.7.100.1macOS 11.0 Big Sur234
xnu-8019.41.5macOS 12.0 Monterey234
xnu-8792.41.9macOS 13.0 Ventura234
xnu-10002.1.13macOS 14.0 Sonoma234
xnu-11215.1.10macOS 15.0 Sequoia234
xnu-11417.101.15macOS 15.4 Sequoia234
xnu-12377.1.9macOS 26.0 Tahoe234
xnu-10002.41.9234
xnu-10002.61.3234
xnu-10002.81.5234
xnu-10063.101.15234
xnu-10063.121.3234
xnu-10063.141.1234
xnu-11215.41.3234
xnu-11215.61.5234
xnu-11215.81.4234
xnu-11417.121.6234
xnu-11417.140.69234
xnu-12377.101.15234
xnu-12377.41.6234
xnu-12377.61.12234
xnu-12377.81.4234
xnu-1486.2.11234
xnu-1504.15.3234
xnu-1504.3.12234
xnu-1504.7.4234
xnu-1504.9.17234
xnu-1504.9.26234
xnu-1504.9.37234
xnu-1699.22.73234
xnu-1699.22.81234
xnu-1699.24.23234
xnu-1699.26.8234
xnu-1699.32.7234
xnu-2050.22.13234
xnu-2050.24.15234
xnu-2050.48.11234
xnu-2050.7.9234
xnu-2050.9.2234
xnu-2422.1.72234
xnu-2422.100.13234
xnu-2422.110.17234
xnu-2422.90.20234
xnu-2782.1.97234
xnu-2782.10.72234
xnu-2782.20.48234
xnu-2782.30.5234
xnu-3247.10.11234
xnu-3248.20.55234
xnu-3248.30.4234
xnu-3248.40.184234
xnu-3248.50.21234
xnu-3248.60.10234
xnu-3789.21.4234
xnu-3789.31.2234
xnu-3789.41.3234
xnu-3789.51.2234
xnu-3789.60.24234
xnu-3789.70.16234
xnu-4570.20.62234
xnu-4570.31.3234
xnu-4570.41.2234
xnu-4570.51.1234
xnu-4570.61.1234
xnu-4570.71.2234
xnu-4903.231.4234
xnu-4903.241.1234
xnu-4903.270.47234
xnu-6153.101.6234
xnu-6153.121.1234
xnu-6153.141.1234
xnu-6153.41.3234
xnu-6153.61.1234
xnu-6153.81.5234
xnu-7195.101.1234
xnu-7195.121.3234
xnu-7195.141.2234
xnu-7195.60.75234
xnu-7195.81.3234
xnu-8019.61.5234
xnu-8019.80.24234
xnu-8020.101.4234
xnu-8020.121.3234
xnu-8020.140.41234
xnu-8792.61.2234
xnu-8792.81.2234
xnu-8796.101.5234
xnu-8796.121.2234
xnu-8796.141.3234

Notes

Passing a NULL buffer returns the value size, useful for sizing the real read. macOS uses xattrs to carry Finder info, resource forks, quarantine metadata (com.apple.quarantine) and code signature data on bundles. Names beginning with com.apple are reserved.

Detection

ES emits ES_EVENT_TYPE_NOTIFY_GETEXTATTR on supported versions. syscall::getxattr:entry in DTrace.

Related APIs

fgetxattrsetxattrlistxattrremovexattr