.\" Copyright (c) 1992 Drew Eckhardt (drew@cs.colorado.edu), March 28, 1992 .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" Modified by Michael Haardt .\" Modified 1993-07-24 by Rik Faith .\" Modified 1995-06-10 by Andries Brouwer .\" Modified 2004-06-23 by Michael Kerrisk .\" Modified 2004-10-10 by Andries Brouwer .\" .\" Tradotto da Goffredo Baroncelli 3/4/1998 .\" Aggiornamento a man-pages-2.11 di Giulio Daprelà .\" novembre 2005 .\" Aggiornamento a man-pages-2.26 di Giulio Daprelà - aprile 2006 .\" Aggiornamento a man-pages-2.32 di Giulio Daprelà - maggio 2006 .\" Aggiornamento a man-pages-2.38 di Giulio Daprelà - agosto 2006 .\" Aggiornamento a man-pages-2.64 di Elisabetta Galli - settembre 2007 .\" Aggiornamento a man-pages-2.80 di Elisabetta Galli - giugno 2008 .\" Aggiornamento a man-pages-3.07 di Elisabetta Galli - settembre 2008 .\" Aggiornamento a man-pages-3.53 di Marco Curreli .\" agosto 2013 (formattazione e piccole correzioni) .\" Aggiornamento a man-pages-3.61 di Marco Curreli - marzo 2014 .\" Aggiornamento a man-pages-3.72 di Marco Curreli - settembre 2014 .\" .TH UTIME 2 2014-08-19 "Linux" "Linux Programmer's Manual" .SH NOME utime, utimes \- cambia l'ultimo orario di accesso e di modifica di un file .SH SINTASSI .nf .B #include .br .B #include .sp .BI "int utime(const char *" filename ", const struct utimbuf *" times ); .sp .B #include .sp .BI "int utimes(const char *" filename ", const struct timeval " times [2]); .fi .SH DESCRIZIONE .B Nota: le applicaizoni moderne potrebbero preferire le interfacce descritte in .BR utimensat (2). La chiamata di sistema .BR utime () cambia gli orari di accesso e di modifica dell'inode specificato da .I filename rispettivamente con quelle contenute nei campi .IR actime " e " modtime di .IR times . Se .I times è NULL, allora gli orari di accesso e modifica del file sono impostati a quelli correnti. Cambiare le marcature orarie è permesso quando: o il processo ha i privilegi appropriati, o la user ID effettiva dell'utente è uguale alla user ID del file, o .I times è NULL e il processo ha permessi di scrittura sul file. La struttura .I utimbuf è la seguente: .in +4n .nf struct utimbuf { time_t actime; /* ora di accesso */ time_t modtime; /* ora di modifica */ }; .fi .in La chiamata di sistema .BR utime () permette di specificare le marcature orarie con una risoluzione di 1 secondo. La chiamata di sistema .BR utimes () è simile, ma gli argomenti di .I times fanno riferimento ad un array, non a una struttura. Gli elementi di questo array sono strutture .IR timeval , che permettono una precisione di 1 microsecondo nello specificare data e ora. La struttura .I timeval è la seguente: .in +4n .nf struct timeval { long tv_sec; /* secondi */ long tv_usec; /* microsecondi */ }; .fi .in .PP .IR times [0] specifica la nuova ora di accesso, e .IR times [1] specifica la nuova ora di modifica. Se .I times è NULL, analogamente a .BR utime (), le date di accesso e modifica del file sono impostate a quelle correnti. .SH VALORI RESTITUITI In caso di successo viene restituito zero. In caso di errore viene restituito \-1 e .I errno è impostato di conseguenza. .SH ERRORI .TP .B EACCES Il permesso di ricerca è negato per una delle directory nel prefisso del percorso di .I path (vedere anche .BR path_resolution (7)). .TP .B EACCES .I times è NULL, l'ID effettivo dell'utente chiamante non corrisponde a quello del proprietario del file, il chiamante non ha accesso in scrittura al file, e il chiamante non ha i privilegi necessari (Linux: non ha capacità .B CAP_DAC_OVERRIDE o .BR CAP_FOWNER ). .TP .B ENOENT .I filename non esiste. .TP .B EPERM .I times non è NULL, l'UID effettivo del chiamante non corrisponde al proprietario del file, e il chiamante non ha i privilegi necessari (Linux: non ha capacità .BR CAP_FOWNER ) .TP .B EROFS .I path risiede su un filesystem in sola lettura. .SH CONFORME A .BR utime (): SVr4, POSIX.1-2001. POSIX.1-2008 marca .BR utime () come obsoleto. .br .BR utimes (): 4.3BSD, POSIX.1-2001. .SH NOTE Linux non permette di cambiare data e ora su un file immutabile, o di impostarle a qualcosa di diverso dall'ora corrente in un file di tipo append-only. .\" .\" In libc4 e libc5, .\" .BR utimes () .\" è solo un wrapper per .\" .BR utime () .\" e quindi non permette una risoluzione inferiore al secondo. .SH VEDERE ANCHE .BR chattr (1), .BR futimesat (2), .BR stat (2), .BR utimensat (2), .BR futimes (3) .BR futimens (3) .SH COLOPHON Questa pagina fa parte del rilascio 3.73 del progetto Linux .IR man-pages . Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trova su \%http://www.kernel.org/doc/man\-pages/. La versione italiana fa parte del pacchetto .I man-pages-it v. 3.73, a cura di: ILDP "Italian Linux Documentation Project" \%http://www.pluto.it/ildp .br Per la traduzione in italiano si pu\(`o fare riferimento a http://www.pluto.it/ildp/collaborare/ .br Segnalare eventuali errori di traduzione a .IR ildp@pluto.it