Provided by:
manpages-it_2.80-3_all 
NOME
utime, utimes - cambia l’ultimo orario di accesso e di modifica di un
file
SINTASSI
#include <sys/types.h>
#include <utime.h>
int utime(const char *filename, const struct utimbuf *times);
#include <sys/time.h>
int utimes(const char *filename, const struct timeval times[2]);
DESCRIZIONE
La chiamata di sistema utime() cambia le date di accesso e modifica
dell’inode specificato da filename rispettivamente con quelle contenute
nei campi actime e modtime di times.
Se times è NULL, allora le date di accesso e modifica del file sono
impostate a quelle correnti.
Cambiare data e ora è permesso quando: o il processo ha i privilegi
appropriati, o la user ID effettiva dell’utente è uguale alla user ID
del file, o times è NULL e il processo ha permessi di scrittura sul
file.
La struttura utimbuf è la seguente:
struct utimbuf {
time_t actime; /* ora di accesso */
time_t modtime; /* ora di modifica */
};
La chiamata di sistema utime() permette di specificare data e ora con
una risoluzione di 1 secondo.
La chiamata di sistema utimes() è simile, ma gli argomenti di times
fanno riferimento ad un array, non a una struttura, e la struttura
permette di specificare data e ora con la precisione di un 1
microsecondo. La struttura timeval è la seguente:
struct timeval {
long tv_sec; /* secondi */
long tv_usec; /* microsecondi */
};
times[0] specifica la nuova ora di accesso, e times[1] specifica la
nuova ora di modifica. Se times è NULL, analogamente a utime(), le
date di accesso e modifica del file sono impostate a quelle correnti.
VALORI RESTITUITI
In caso di successo viene restituito zero. In caso di errore viene
restituito -1 e errno contiene il codice di errore verificatosi.
ERRORI
EACCES Il permesso di ricerca è negato per una delle directory nel
prefisso del percorso di path (vedere anche path_resolution(7)).
EACCES 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à CAP_DAC_OVERRIDE o
CAP_FOWNER).
ENOENT filename non esiste.
EPERM 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à CAP_FOWNER)
EROFS path risiede su un filesystem in sola lettura.
CONFORME A
utime(): SVr4, POSIX.1-2001.
utimes(): 4.3BSD, POSIX.1-2001.
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, utimes() è solo un wrapper per utime() e quindi non
permette una risoluzione inferiore al secondo.
POSIX.1-2001 annota utimes() come legacy, che è strano, poiché fornisce
più funzionalità di utime().
VEDERE ANCHE
chattr(1), futimesat(2), stat(2), futimes(3)
COLOPHON
Questa pagina fa parte del rilascio 2.80 del progetto man-pages di
Linux. Si può trovare una descrizione del progetto, e informazioni su
come riportare bachi, presso http://www.kernel.org/doc/man-pages/. Per
la traduzione in italiano si può fare riferimento a
http://www.pluto.it/ildp/collaborare/