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/