view doc/posix-functions/lseek.texi @ 10876:c83dc7e8df57

Refer to new POSIX:2008 standard.
author Bruno Haible <bruno@clisp.org>
date Sun, 14 Dec 2008 14:38:13 +0100
parents 070329237839
children bb0ceefd22dc
line wrap: on
line source

@node lseek
@section @code{lseek}
@findex lseek

POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/lseek.html}

Gnulib module: lseek

Portability problems fixed by Gnulib:
@itemize
@item
This function mistakenly succeeds on pipes on some platforms: mingw, BeOS.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@item
POSIX does not specify which file descriptors support seeking and which don't.
In practice, regular files and block devices support seeking, and ttys, pipes,
and most character devices don't support it.
@item
On platforms where @code{off_t} is a 32-bit type, @code{lseek} does not work
correctly with files larger than 2 GB.  The fix is to use the
@code{AC_SYS_LARGEFILE} macro.
@item
When the third argument is invalid, POSIX says that @code{lseek} should set
@code{errno} to @code{EINVAL} and return -1, but in this situation a
@code{SIGSYS} signal is raised on some platforms:
IRIX 6.5.
@item
When the @code{lseek} function fails, POSIX says that the file offset remains
unchanged.  But on some platforms, attempting to set a negative file offset
fails and sets the file offset to 0:
BeOS.
@end itemize