Linguaggio C - stat(), lstat(), fstat()

NOME

stat(), lstat(), fstat() - acquisisce informazioni su un file.

SINOPSI

#include <sys/stat.h> #include <unistd.h> int stat(const char *file_name, struct stat *buf); int lstat(const char *file_name, struct stat *buf); int fstat(int fd, struct stat *buf);

DESCRIZIONE

La funzione stat() ritorna le informazioni sul file specificato da filename.

La funzione lstat() e' identica a stat() tranne il fatto che quando filename individua un link simbolico vengono acquisite le sue informazioni, piuttosto di quelle del file che e' referenziato.

La funzione fstat() e' identica a stat() con la differenza che la funzione richiede il file descriptor fd al posto del filename.

Per tutte e tre le funzioni, le informazioni richieste sono riportate all'interno della struttura puntata da buf e contenente i campi:
Tipo Variabile Descrizione
dev_t st_dev; /* device */
ino_t st_ino; /* inode */
mode_t st_mode; /* protection */
nlink_t st_nlink; /* number of hard links */
uid_t st_uid; /* user ID of owner */
gid_t st_gid; /* group ID of owner */
dev_t st_rdev; /* device type (if inode device) */
off_t st_size; /* total size, in bytes */
unsigned long st_blksize; /* blocksize for filesystem I/O */
/* Dimensione preferenziale del blocco per le operazioni di I/O sul filesystem (altre dimensioni del blocco possono causare inefficienze) */
unsigned long st_blocks; /* number of blocks allocated */
/* numero dei blocchi fisici. Nessun riferimento con st_blksize */
time_t st_atime; /* time of last access */
time_t st_mtime; /* time of last modification */
time_t st_ctime; /* time of last change */
/* La data/ora riportata riguarda l'ulima modifica delle informazioni contenute nell'inode (proprietario, gruppo permessi, nr. di hard link, ...) */

Per la determinazione del tipo di file, sono disponibili sia macro che maschere di bit. Entrambe sono da applicare al campo st_mode.

VALORE DI RITORNO

La funzione stat() ritorna 0 in caso di successo e -1 in caso di errore.

CONFORME A

SVr4, SVID, POSIX, X/OPEN, BSD 4.3 (funzioni stat() e fstat()).
SVr4, BSD 4.3 (funzione lstat())

VEDI ANCHE

open(), creat() lseek() read() write() close() link() symlink() unlink() fcntl() ioctl() dup(), dup2() access()


Indice-C Indice linguaggio C
Indice librerie Indice librerie C
At Home Umberto Zappi Home Page
Indice funzioni Indice funzioni C