BSD syscall#153
svc · unix #153
pread
Reads from a file descriptor at an explicit offset without altering the file pointer.
Prototype
user_ssize_t pread(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 | 153 |
| xnu-1699.24.8 | macOS 10.7 Lion | 153 |
| xnu-2050.18.24 | macOS 10.8 Mountain Lion | 153 |
| xnu-2422.115.4 | macOS 10.9 Mavericks | 153 |
| xnu-2782.40.9 | macOS 10.10 Yosemite | 153 |
| xnu-3247.1.106 | macOS 10.11 El Capitan | 153 |
| xnu-3789.1.32 | macOS 10.12 Sierra | 153 |
| xnu-4570.1.46 | macOS 10.13 High Sierra | 153 |
| xnu-4903.221.2 | macOS 10.14 Mojave | 153 |
| xnu-6153.11.26 | macOS 10.15 Catalina | 153 |
| xnu-7195.50.7.100.1 | macOS 11.0 Big Sur | 153 |
| xnu-8019.41.5 | macOS 12.0 Monterey | 153 |
| xnu-8792.41.9 | macOS 13.0 Ventura | 153 |
| xnu-10002.1.13 | macOS 14.0 Sonoma | 153 |
| xnu-11215.1.10 | macOS 15.0 Sequoia | 153 |
| xnu-11417.101.15 | macOS 15.4 Sequoia | 153 |
| xnu-12377.1.9 | macOS 26.0 Tahoe | 153 |
| xnu-10002.41.9 | — | 153 |
| xnu-10002.61.3 | — | 153 |
| xnu-10002.81.5 | — | 153 |
| xnu-10063.101.15 | — | 153 |
| xnu-10063.121.3 | — | 153 |
| xnu-10063.141.1 | — | 153 |
| xnu-11215.41.3 | — | 153 |
| xnu-11215.61.5 | — | 153 |
| xnu-11215.81.4 | — | 153 |
| xnu-11417.121.6 | — | 153 |
| xnu-11417.140.69 | — | 153 |
| xnu-12377.101.15 | — | 153 |
| xnu-12377.41.6 | — | 153 |
| xnu-12377.61.12 | — | 153 |
| xnu-12377.81.4 | — | 153 |
| xnu-1486.2.11 | — | 153 |
| xnu-1504.15.3 | — | 153 |
| xnu-1504.3.12 | — | 153 |
| xnu-1504.7.4 | — | 153 |
| xnu-1504.9.17 | — | 153 |
| xnu-1504.9.26 | — | 153 |
| xnu-1504.9.37 | — | 153 |
| xnu-1699.22.73 | — | 153 |
| xnu-1699.22.81 | — | 153 |
| xnu-1699.24.23 | — | 153 |
| xnu-1699.26.8 | — | 153 |
| xnu-1699.32.7 | — | 153 |
| xnu-2050.22.13 | — | 153 |
| xnu-2050.24.15 | — | 153 |
| xnu-2050.48.11 | — | 153 |
| xnu-2050.7.9 | — | 153 |
| xnu-2050.9.2 | — | 153 |
| xnu-2422.1.72 | — | 153 |
| xnu-2422.100.13 | — | 153 |
| xnu-2422.110.17 | — | 153 |
| xnu-2422.90.20 | — | 153 |
| xnu-2782.1.97 | — | 153 |
| xnu-2782.10.72 | — | 153 |
| xnu-2782.20.48 | — | 153 |
| xnu-2782.30.5 | — | 153 |
| xnu-3247.10.11 | — | 153 |
| xnu-3248.20.55 | — | 153 |
| xnu-3248.30.4 | — | 153 |
| xnu-3248.40.184 | — | 153 |
| xnu-3248.50.21 | — | 153 |
| xnu-3248.60.10 | — | 153 |
| xnu-3789.21.4 | — | 153 |
| xnu-3789.31.2 | — | 153 |
| xnu-3789.41.3 | — | 153 |
| xnu-3789.51.2 | — | 153 |
| xnu-3789.60.24 | — | 153 |
| xnu-3789.70.16 | — | 153 |
| xnu-4570.20.62 | — | 153 |
| xnu-4570.31.3 | — | 153 |
| xnu-4570.41.2 | — | 153 |
| xnu-4570.51.1 | — | 153 |
| xnu-4570.61.1 | — | 153 |
| xnu-4570.71.2 | — | 153 |
| xnu-4903.231.4 | — | 153 |
| xnu-4903.241.1 | — | 153 |
| xnu-4903.270.47 | — | 153 |
| xnu-6153.101.6 | — | 153 |
| xnu-6153.121.1 | — | 153 |
| xnu-6153.141.1 | — | 153 |
| xnu-6153.41.3 | — | 153 |
| xnu-6153.61.1 | — | 153 |
| xnu-6153.81.5 | — | 153 |
| xnu-7195.101.1 | — | 153 |
| xnu-7195.121.3 | — | 153 |
| xnu-7195.141.2 | — | 153 |
| xnu-7195.60.75 | — | 153 |
| xnu-7195.81.3 | — | 153 |
| xnu-8019.61.5 | — | 153 |
| xnu-8019.80.24 | — | 153 |
| xnu-8020.101.4 | — | 153 |
| xnu-8020.121.3 | — | 153 |
| xnu-8020.140.41 | — | 153 |
| xnu-8792.61.2 | — | 153 |
| xnu-8792.81.2 | — | 153 |
| xnu-8796.101.5 | — | 153 |
| xnu-8796.121.2 | — | 153 |
| xnu-8796.141.3 | — | 153 |
Notes
Useful for concurrent random-access reads from multiple threads sharing the same fd. The offset is ignored for objects that are not seekable, where pread returns ESPIPE. On macOS pread is safe to interleave with other pread/pwrite operations as no implicit lseek occurs.
Detection
syscall::pread:entry in DTrace; arg0=fd, arg1=buf, arg2=size, arg3=offset. fs.read kernel probes capture VOP_READ activity.
Related APIs
readpwritereadvlseekpreadv