Provided by: manpages-it_2.80-3_all bug

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/