.\" the source, must acknowledge the copyright and authors of this work.
.\" %%%LICENSE_END
.\"
-.TH PREAD 2 2015-04-19 "Linux" "Linux Programmer's Manual"
+.TH PREAD 2 2017-09-15 "Linux" "Linux Programmer's Manual"
.SH NAME
pread, pwrite \- read from or write to a file descriptor at a given offset
.SH SYNOPSIS
.B #include <unistd.h>
-.sp
+.PP
.BI "ssize_t pread(int " fd ", void *" buf ", size_t " count \
", off_t " offset );
-.sp
+.PP
.BI "ssize_t pwrite(int " fd ", const void *" buf ", size_t " count \
", off_t " offset );
-.sp
+.PP
.in -4n
Feature Test Macro Requirements for glibc (see
.BR feature_test_macros (7)):
.in
+.PP
.PD 0
.ad l
-.sp
.BR pread (),
.BR pwrite ():
.RS 4
and
.BR pwrite ()
returns the number of bytes written.
-
-Note that is not an error for a successful call to transfer fewer bytes
+.PP
+Note that it is not an error for a successful call to transfer fewer bytes
than requested (see
.BR read (2)
and
.BR write (2)).
-
+.PP
On error, \-1 is returned and
.I errno
is set to indicate the cause of the error.
.BR lseek (2)
on older kernels without the system calls) was added in glibc 2.1.
.SH CONFORMING TO
-POSIX.1-2001.
+POSIX.1-2001, POSIX.1-2008.
.SH NOTES
The
.BR pread ()
and
.BR pwrite ()
wrapper functions transparently deal with the change.
-
+.PP
On some 32-bit architectures,
the calling signature for these system calls differ,
for the reasons described in