Skip to content
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

NameTypeDirDescription
fdint-
bufuser_addr_t-
nbyteuser_size_t-
offsetoff_t-

Historique des versions

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard153
xnu-1699.24.8macOS 10.7 Lion153
xnu-2050.18.24macOS 10.8 Mountain Lion153
xnu-2422.115.4macOS 10.9 Mavericks153
xnu-2782.40.9macOS 10.10 Yosemite153
xnu-3247.1.106macOS 10.11 El Capitan153
xnu-3789.1.32macOS 10.12 Sierra153
xnu-4570.1.46macOS 10.13 High Sierra153
xnu-4903.221.2macOS 10.14 Mojave153
xnu-6153.11.26macOS 10.15 Catalina153
xnu-7195.50.7.100.1macOS 11.0 Big Sur153
xnu-8019.41.5macOS 12.0 Monterey153
xnu-8792.41.9macOS 13.0 Ventura153
xnu-10002.1.13macOS 14.0 Sonoma153
xnu-11215.1.10macOS 15.0 Sequoia153
xnu-11417.101.15macOS 15.4 Sequoia153
xnu-12377.1.9macOS 26.0 Tahoe153
xnu-10002.41.9153
xnu-10002.61.3153
xnu-10002.81.5153
xnu-10063.101.15153
xnu-10063.121.3153
xnu-10063.141.1153
xnu-11215.41.3153
xnu-11215.61.5153
xnu-11215.81.4153
xnu-11417.121.6153
xnu-11417.140.69153
xnu-12377.101.15153
xnu-12377.41.6153
xnu-12377.61.12153
xnu-12377.81.4153
xnu-1486.2.11153
xnu-1504.15.3153
xnu-1504.3.12153
xnu-1504.7.4153
xnu-1504.9.17153
xnu-1504.9.26153
xnu-1504.9.37153
xnu-1699.22.73153
xnu-1699.22.81153
xnu-1699.24.23153
xnu-1699.26.8153
xnu-1699.32.7153
xnu-2050.22.13153
xnu-2050.24.15153
xnu-2050.48.11153
xnu-2050.7.9153
xnu-2050.9.2153
xnu-2422.1.72153
xnu-2422.100.13153
xnu-2422.110.17153
xnu-2422.90.20153
xnu-2782.1.97153
xnu-2782.10.72153
xnu-2782.20.48153
xnu-2782.30.5153
xnu-3247.10.11153
xnu-3248.20.55153
xnu-3248.30.4153
xnu-3248.40.184153
xnu-3248.50.21153
xnu-3248.60.10153
xnu-3789.21.4153
xnu-3789.31.2153
xnu-3789.41.3153
xnu-3789.51.2153
xnu-3789.60.24153
xnu-3789.70.16153
xnu-4570.20.62153
xnu-4570.31.3153
xnu-4570.41.2153
xnu-4570.51.1153
xnu-4570.61.1153
xnu-4570.71.2153
xnu-4903.231.4153
xnu-4903.241.1153
xnu-4903.270.47153
xnu-6153.101.6153
xnu-6153.121.1153
xnu-6153.141.1153
xnu-6153.41.3153
xnu-6153.61.1153
xnu-6153.81.5153
xnu-7195.101.1153
xnu-7195.121.3153
xnu-7195.141.2153
xnu-7195.60.75153
xnu-7195.81.3153
xnu-8019.61.5153
xnu-8019.80.24153
xnu-8020.101.4153
xnu-8020.121.3153
xnu-8020.140.41153
xnu-8792.61.2153
xnu-8792.81.2153
xnu-8796.101.5153
xnu-8796.121.2153
xnu-8796.141.3153

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