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.9—136
xnu-10002.61.3—136
xnu-10002.81.5—136
xnu-10063.101.15—136
xnu-10063.121.3—136
xnu-10063.141.1—136
xnu-11215.41.3—136
xnu-11215.61.5—136
xnu-11215.81.4—136
xnu-11417.121.6—136
xnu-11417.140.69—136
xnu-12377.101.15—136
xnu-12377.41.6—136
xnu-12377.61.12—136
xnu-12377.81.4—136
xnu-1486.2.11—136
xnu-1504.15.3—136
xnu-1504.3.12—136
xnu-1504.7.4—136
xnu-1504.9.17—136
xnu-1504.9.26—136
xnu-1504.9.37—136
xnu-1699.22.73—136
xnu-1699.22.81—136
xnu-1699.24.23—136
xnu-1699.26.8—136
xnu-1699.32.7—136
xnu-2050.22.13—136
xnu-2050.24.15—136
xnu-2050.48.11—136
xnu-2050.7.9—136
xnu-2050.9.2—136
xnu-2422.1.72—136
xnu-2422.100.13—136
xnu-2422.110.17—136
xnu-2422.90.20—136
xnu-2782.1.97—136
xnu-2782.10.72—136
xnu-2782.20.48—136
xnu-2782.30.5—136
xnu-3247.10.11—136
xnu-3248.20.55—136
xnu-3248.30.4—136
xnu-3248.40.184—136
xnu-3248.50.21—136
xnu-3248.60.10—136
xnu-3789.21.4—136
xnu-3789.31.2—136
xnu-3789.41.3—136
xnu-3789.51.2—136
xnu-3789.60.24—136
xnu-3789.70.16—136
xnu-4570.20.62—136
xnu-4570.31.3—136
xnu-4570.41.2—136
xnu-4570.51.1—136
xnu-4570.61.1—136
xnu-4570.71.2—136
xnu-4903.231.4—136
xnu-4903.241.1—136
xnu-4903.270.47—136
xnu-6153.101.6—136
xnu-6153.121.1—136
xnu-6153.141.1—136
xnu-6153.41.3—136
xnu-6153.61.1—136
xnu-6153.81.5—136
xnu-7195.101.1—136
xnu-7195.121.3—136
xnu-7195.141.2—136
xnu-7195.60.75—136
xnu-7195.81.3—136
xnu-8019.61.5—136
xnu-8019.80.24—136
xnu-8020.101.4—136
xnu-8020.121.3—136
xnu-8020.140.41—136
xnu-8792.61.2—136
xnu-8792.81.2—136
xnu-8796.101.5—136
xnu-8796.121.2—136
xnu-8796.141.3—136

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