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.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