Provided by: manpages-es_1.55-10_all bug

NOMBRE

       truncate, ftruncate - trunca un fichero a una longitud especificada

SINOPSIS

       #include <unistd.h>
       #include <sys/types.h>

       int truncate(const char *path, off_t length);
       int ftruncate(int fd, off_t length);

DESCRIPCI'ON

       Las  funciones  truncate  y ftruncate hacen que el fichero regular cuyo
       nombre es path o que es referenciado por fd sea truncado a un tamano de
       length bytes.

       Si  el  fichero  era  previamente mas grande que este tamano, los datos
       extra se pierden.  Si  el  fichero  era  previamente  mas  pequeno,  es
       extendido, y la zona ampliada es rellenada con bytes cero.

       El puntero del fichero no se modifica.

       Si  el  tamano  cambia,  los  campos  ctime  y  mtime  del  fichero son
       actualizados, y los bits de modo suid y sgid pueden ser limpiados.

       Con ftruncate, el  fichero  debe  estar  abierto  para  escritura;  con
       truncate, el fichero debe ser escribible.

VALOR DEVUELTO

       En  caso de exito, se devuelve cero. En caso de  error,  se devuelve -1
       y se establece el errno apropiado.

ERRORES

       Para truncate:

       EACCES Se deniega el permiso de busqueda para un componente del prefijo
              de  la  ruta,  o el fichero nombrado no puede ser escrito por el
              usuario.

       EFAULT Path  apunta  fuera  del  espacio  de  direcciones  asignado  al
              proceso.

       EFBIG  El  argumento  length  es mayor que el tamano maximo de fichero.
              (XSI)

       EINTR  Se capturo una senal durante la ejecucion.

       EINVAL El argumento length es negativo o mayor que el tamano maximo  de
              fichero.

       EIO    Ocurrio un error de E/S mientras se actualizaba el nodo-i.

       EISDIR El fichero nombrado es un directorio.

       ELOOP  Demasiados  enlaces  simbolicos  en  la traduccion del nombre de
              ruta.

       ENAMETOOLONG
              Un componente de la ruta excede los 255 caracteres,  o  la  ruta
              completa excede los 1023 caracteres.

       ENOENT El fichero no existe.

       EROFS  El fichero reside en un sistema de ficheros de solo lectura.

       ETXTBSY
              El  fichero  es  un  fichero  de  procedimientos  puros  (codigo
              compartido) que se esta ejecutando.

       Para ftruncate se aplican los mismos errores, pero en lugar  de  tratar
       con path, los errores pueden ocurrir ahora con fd:

       EBADF  fd no es un descriptor valido.

       EBADF o EINVAL
              fd no esta abierto para escritura.

       EINVAL fd no hace referencia a un fichero regular.

CONFORME A

       4.4BSD,  SVr4 (estas funciones aparecieron por primera vez en BSD 4.2).
       POSIX 1003.1-1996 posee ftruncate.   POSIX  1003.1-2001  posee  tambien
       truncate, como una extension de XSI.

       SVr4  documenta  para  truncate  las  condiciones  de error adicionales
       EMFILE, EMULTIHP, ENFILE, ENOLINK.  SVr4 documenta para  ftruncate  una
       condicion de error adicional EAGAIN.

OBSERVACIONES

       La  descripcion  de  arriba  es  para sistemas conformes con XSI.  Para
       sistemas  no  conformes  con  XSI,  el  estandar  POSIX   permite   dos
       comportamientos  para  ftruncate  cuando  length excede la longitud del
       fichero (observe que truncate no esta especificada en absoluto en tales
       condiciones):  bien  devolver  un  error  o  extender  el fichero.  (La
       mayoria de sistemas UNIX siguen el requisito de XSI.)

V'EASE TAMBI'EN

       open(2)