Syscall BSD#153
svc · unix #153
pread
Lit depuis un descripteur de fichier à un offset explicite sans modifier le pointeur de fichier.
Prototype
user_ssize_t pread(int fd, user_addr_t buf, user_size_t nbyte, off_t offset);Retour: user_ssize_t
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| fd | int | - | |
| buf | user_addr_t | - | |
| nbyte | user_size_t | - | |
| offset | off_t | - |
Historique des versions
| 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
Utile pour des lectures aléatoires concurrentes depuis plusieurs threads partageant le même fd. L'offset est ignoré pour les objets non seekable où pread renvoie ESPIPE. Sur macOS, pread peut être entrelacé avec d'autres opérations pread/pwrite sans risque, aucun lseek implicite n'ayant lieu.
Détection
syscall::pread:entry en DTrace; arg0=fd, arg1=buf, arg2=size, arg3=offset. Les probes noyau fs.read capturent l'activité VOP_READ.
API associées
readpwritereadvlseekpreadv