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
| Name | Type | Dir | Description |
|---|---|---|---|
| path | user_addr_t | - | |
| mode | int | - |
Version history
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 136 |
| xnu-1699.24.8 | macOS 10.7 Lion | 136 |
| xnu-2050.18.24 | macOS 10.8 Mountain Lion | 136 |
| xnu-2422.115.4 | macOS 10.9 Mavericks | 136 |
| xnu-2782.40.9 | macOS 10.10 Yosemite | 136 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | 136 |
| xnu-3789.1.32 | macOS 10.12 Sierra | 136 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | 136 |
| xnu-4903.221.2 | macOS 10.14 Mojave | 136 |
| xnu-6153.11.26 | macOS 10.15 Catalina | 136 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | 136 |
| xnu-8019.41.5 | macOS 12.0 Monterey | 136 |
| xnu-8792.41.9 | macOS 13.0 Ventura | 136 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 136 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 136 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 136 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 136 |
| 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