Provided by:
manpages-es_1.55-10_all 
NOMBRE
lseek - reposiciona el puntero de lectura/escritura de un fichero
SINOPSIS
#include <sys/types.h>
#include <unistd.h>
off_t lseek(int fildes, off_t offset, int whence);
DESCRIPCI'ON
La funcion lseek reposiciona el puntero del descriptor de fichero
fildes con el argumento offset de acuerdo con la directiva whence as
follows:
SEEK_SET
El puntero se coloca a offset bytes.
SEEK_CUR
El numero de bytes indicado en offset se suma a la direccion
actual y el puntero se coloca en la direccion resultante.
SEEK_END
El puntero se coloca al final del fichero mas offset bytes.
La funcion lseek permite colocar el puntero de fichero despues del
final de fichero. Si despues se escriben datos en este punto, las
lecturas siguientes de datos dentro del hueco que se forma devuelven
ceros (hasta que realmente se escriban datos dentro de ese hueco).
VALOR DEVUELTO
En el caso de una ejecucion correcta, lseek devuelve la posicion del
puntero resultante medida en bytes desde el principio del fichero. Si
se produce un error, se devuelve el valor (off_t)-1 y en errno se
coloca el tipo de error.
ERRORES
EBADF fildes no es un descriptor de fichero abierto.
ESPIPE fildes esta asociado a una tuberia, socket, o FIFO.
EINVAL whence no es un valor adecuado.
CONFORME A
SVr4, POSIX, BSD 4.3
RESTRICCIONES
Algunos dispositivos son incapaces de buscar y POSIX no especifica que
dispositivos deben soportar la busqueda.
Restricciones especificas de Linux: el uso de lseek sobre un
dispositivo tty (terminal) devuelve ESPIPE. Otros sistemas devuelven el
numero de caracteres escritos, usando SEEK_SET para establecer el
contador. Algunos dispositivos, como por ejemplo /dev/null, no provocan
el error ESPIPE, pero devuelven un puntero cuyo valor es indefinido.
OBSERVACIONES
La utilizacion de whence en este documento es incorrecta en ingles,
pero se usa por motivos historicos. Cuando convierta codigo antiguo,
sustituya los valores para whence con las siguientes macros:
antiguo nuevo
0 SEEK_SET
1 SEEK_CUR
2 SEEK_END
L_SET SEEK_SET
L_INCR SEEK_CUR
L_XTND SEEK_END
SVR1-3 devuelve long en lugar de off_t, BSD devuelve int.
Observe que los descriptores de fichero creados con dup(2) o fork(2)
comparten el puntero actual de fichero, por lo que reposicionarse sobre
tales ficheros puede estar sujeto a condiciones de carrera.
V'EASE TAMBI'EN
dup(2), fork(2), open(2), fseek(3)