Skip to content
BSD syscall#136

svc · unix #136

mkdir

Creates a directory at the given path with the requested mode, masked by the process umask.

Prototype

int mkdir(user_addr_t path, int mode);

Returns: int

Arguments

NameTypeDirDescription
pathuser_addr_t-
modeint-

Version history

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard136
xnu-1699.24.8macOS 10.7 Lion136
xnu-2050.18.24macOS 10.8 Mountain Lion136
xnu-2422.115.4macOS 10.9 Mavericks136
xnu-2782.40.9macOS 10.10 Yosemite136
xnu-3247.1.106macOS 10.11 El Capitan136
xnu-3789.1.32macOS 10.12 Sierra136
xnu-4570.1.46macOS 10.13 High Sierra136
xnu-4903.221.2macOS 10.14 Mojave136
xnu-6153.11.26macOS 10.15 Catalina136
xnu-7195.50.7.100.1macOS 11.0 Big Sur136
xnu-8019.41.5macOS 12.0 Monterey136
xnu-8792.41.9macOS 13.0 Ventura136
xnu-10002.1.13macOS 14.0 Sonoma136
xnu-11215.1.10macOS 15.0 Sequoia136
xnu-11417.101.15macOS 15.4 Sequoia136
xnu-12377.1.9macOS 26.0 Tahoe136
xnu-10002.41.9136
xnu-10002.61.3136
xnu-10002.81.5136
xnu-10063.101.15136
xnu-10063.121.3136
xnu-10063.141.1136
xnu-11215.41.3136
xnu-11215.61.5136
xnu-11215.81.4136
xnu-11417.121.6136
xnu-11417.140.69136
xnu-12377.101.15136
xnu-12377.41.6136
xnu-12377.61.12136
xnu-12377.81.4136
xnu-1486.2.11136
xnu-1504.15.3136
xnu-1504.3.12136
xnu-1504.7.4136
xnu-1504.9.17136
xnu-1504.9.26136
xnu-1504.9.37136
xnu-1699.22.73136
xnu-1699.22.81136
xnu-1699.24.23136
xnu-1699.26.8136
xnu-1699.32.7136
xnu-2050.22.13136
xnu-2050.24.15136
xnu-2050.48.11136
xnu-2050.7.9136
xnu-2050.9.2136
xnu-2422.1.72136
xnu-2422.100.13136
xnu-2422.110.17136
xnu-2422.90.20136
xnu-2782.1.97136
xnu-2782.10.72136
xnu-2782.20.48136
xnu-2782.30.5136
xnu-3247.10.11136
xnu-3248.20.55136
xnu-3248.30.4136
xnu-3248.40.184136
xnu-3248.50.21136
xnu-3248.60.10136
xnu-3789.21.4136
xnu-3789.31.2136
xnu-3789.41.3136
xnu-3789.51.2136
xnu-3789.60.24136
xnu-3789.70.16136
xnu-4570.20.62136
xnu-4570.31.3136
xnu-4570.41.2136
xnu-4570.51.1136
xnu-4570.61.1136
xnu-4570.71.2136
xnu-4903.231.4136
xnu-4903.241.1136
xnu-4903.270.47136
xnu-6153.101.6136
xnu-6153.121.1136
xnu-6153.141.1136
xnu-6153.41.3136
xnu-6153.61.1136
xnu-6153.81.5136
xnu-7195.101.1136
xnu-7195.121.3136
xnu-7195.141.2136
xnu-7195.60.75136
xnu-7195.81.3136
xnu-8019.61.5136
xnu-8019.80.24136
xnu-8020.101.4136
xnu-8020.121.3136
xnu-8020.140.41136
xnu-8792.61.2136
xnu-8792.81.2136
xnu-8796.101.5136
xnu-8796.121.2136
xnu-8796.141.3136

Notes

The parent must be writable and searchable. The new directory inherits the gid of the parent on APFS when the parent has the setgid bit set. EEXIST is returned even if the existing entry is not a directory.

Detection

ES emits ES_EVENT_TYPE_NOTIFY_CREATE for the new directory. syscall::mkdir:entry exposes path and mode.

Related APIs

mkdiratrmdirumaskchmodopenat