stat(), lstat(), fstat() - acquisisce informazioni su un file.
#include #include 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);
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.
La funzione stat() ritorna 0 in caso di successo e -1 in caso di errore.
SVr4, SVID, POSIX, X/OPEN, BSD 4.3 (funzioni stat() e fstat()).
SVr4, BSD 4.3 (funzione lstat())
open(), creat() lseek() read() write() close() link() symlink() unlink() fcntl() ioctl() dup(), dup2() access()
Indice linguaggio C |
Indice librerie C |
Umberto Zappi Home Page |
Indice funzioni C |