UTIME
Section: Linux Programmer's Manual (2)
Updated: 23 maggio 2008
Index
Return to Main Contents
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/
Index
- NOME
-
- SINTASSI
-
- DESCRIZIONE
-
- VALORI RESTITUITI
-
- ERRORI
-
- CONFORME A
-
- NOTE
-
- VEDERE ANCHE
-
- COLOPHON
-
This document was created by
man2html,
using the manual pages.
Time: 23:03:52 GMT, June 17, 2008