BSD syscall#154
svc · unix #154
pwrite
Writes to a file descriptor at an explicit offset without altering the file pointer.
Prototype
user_ssize_t pwrite(int fd, user_addr_t buf, user_size_t nbyte, off_t offset);Returns: user_ssize_t
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| fd | int | - | |
| buf | user_addr_t | - | |
| nbyte | user_size_t | - | |
| offset | off_t | - |
Version history
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 154 |
| xnu-1699.24.8 | macOS 10.7 Lion | 154 |
| xnu-2050.18.24 | macOS 10.8 Mountain Lion | 154 |
| xnu-2422.115.4 | macOS 10.9 Mavericks | 154 |
| xnu-2782.40.9 | macOS 10.10 Yosemite | 154 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | 154 |
| xnu-3789.1.32 | macOS 10.12 Sierra | 154 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | 154 |
| xnu-4903.221.2 | macOS 10.14 Mojave | 154 |
| xnu-6153.11.26 | macOS 10.15 Catalina | 154 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | 154 |
| xnu-8019.41.5 | macOS 12.0 Monterey | 154 |
| xnu-8792.41.9 | macOS 13.0 Ventura | 154 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 154 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 154 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 154 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 154 |
| xnu-10002.41.9 | — | 154 |
| xnu-10002.61.3 | — | 154 |
| xnu-10002.81.5 | — | 154 |
| xnu-10063.101.15 | — | 154 |
| xnu-10063.121.3 | — | 154 |
| xnu-10063.141.1 | — | 154 |
| xnu-11215.41.3 | — | 154 |
| xnu-11215.61.5 | — | 154 |
| xnu-11215.81.4 | — | 154 |
| xnu-11417.121.6 | — | 154 |
| xnu-11417.140.69 | — | 154 |
| xnu-12377.101.15 | — | 154 |
| xnu-12377.41.6 | — | 154 |
| xnu-12377.61.12 | — | 154 |
| xnu-12377.81.4 | — | 154 |
| xnu-1486.2.11 | — | 154 |
| xnu-1504.15.3 | — | 154 |
| xnu-1504.3.12 | — | 154 |
| xnu-1504.7.4 | — | 154 |
| xnu-1504.9.17 | — | 154 |
| xnu-1504.9.26 | — | 154 |
| xnu-1504.9.37 | — | 154 |
| xnu-1699.22.73 | — | 154 |
| xnu-1699.22.81 | — | 154 |
| xnu-1699.24.23 | — | 154 |
| xnu-1699.26.8 | — | 154 |
| xnu-1699.32.7 | — | 154 |
| xnu-2050.22.13 | — | 154 |
| xnu-2050.24.15 | — | 154 |
| xnu-2050.48.11 | — | 154 |
| xnu-2050.7.9 | — | 154 |
| xnu-2050.9.2 | — | 154 |
| xnu-2422.1.72 | — | 154 |
| xnu-2422.100.13 | — | 154 |
| xnu-2422.110.17 | — | 154 |
| xnu-2422.90.20 | — | 154 |
| xnu-2782.1.97 | — | 154 |
| xnu-2782.10.72 | — | 154 |
| xnu-2782.20.48 | — | 154 |
| xnu-2782.30.5 | — | 154 |
| xnu-3247.10.11 | — | 154 |
| xnu-3248.20.55 | — | 154 |
| xnu-3248.30.4 | — | 154 |
| xnu-3248.40.184 | — | 154 |
| xnu-3248.50.21 | — | 154 |
| xnu-3248.60.10 | — | 154 |
| xnu-3789.21.4 | — | 154 |
| xnu-3789.31.2 | — | 154 |
| xnu-3789.41.3 | — | 154 |
| xnu-3789.51.2 | — | 154 |
| xnu-3789.60.24 | — | 154 |
| xnu-3789.70.16 | — | 154 |
| xnu-4570.20.62 | — | 154 |
| xnu-4570.31.3 | — | 154 |
| xnu-4570.41.2 | — | 154 |
| xnu-4570.51.1 | — | 154 |
| xnu-4570.61.1 | — | 154 |
| xnu-4570.71.2 | — | 154 |
| xnu-4903.231.4 | — | 154 |
| xnu-4903.241.1 | — | 154 |
| xnu-4903.270.47 | — | 154 |
| xnu-6153.101.6 | — | 154 |
| xnu-6153.121.1 | — | 154 |
| xnu-6153.141.1 | — | 154 |
| xnu-6153.41.3 | — | 154 |
| xnu-6153.61.1 | — | 154 |
| xnu-6153.81.5 | — | 154 |
| xnu-7195.101.1 | — | 154 |
| xnu-7195.121.3 | — | 154 |
| xnu-7195.141.2 | — | 154 |
| xnu-7195.60.75 | — | 154 |
| xnu-7195.81.3 | — | 154 |
| xnu-8019.61.5 | — | 154 |
| xnu-8019.80.24 | — | 154 |
| xnu-8020.101.4 | — | 154 |
| xnu-8020.121.3 | — | 154 |
| xnu-8020.140.41 | — | 154 |
| xnu-8792.61.2 | — | 154 |
| xnu-8792.81.2 | — | 154 |
| xnu-8796.101.5 | — | 154 |
| xnu-8796.121.2 | — | 154 |
| xnu-8796.141.3 | — | 154 |
Notes
Counterpart to pread for thread-safe random writes. With O_APPEND the offset argument is ignored and data is appended atomically. As with write, pwrite returning fewer bytes than requested is not an error and the caller must loop.
Detection
syscall::pwrite:entry in DTrace. ES emits NOTIFY_WRITE on the underlying vnode (rate-limited, no data payload).
Related APIs
writepreadwritevlseekpwritev