All three functions return information about a file. Please note that devices are seen as files to Unix, so you could 'stat' things like /dev/mouse to see when the mouse was last moved.
stat return the status of a file.
fstat stats an open file.
lstat reports on a link, not the file it points too.
Libraries: sys/stat.h unistd.h Syntax: struct stat stat_p; stat ("martin", &stat_p); Stat Structure: struct stat { dev_t st_dev; /* device */ ino_t st_ino; /* inode */ umode_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 */ unsigned long st_blocks; /* number of blocks allocated */ time_t st_atime; /* time of last access */ time_t st_mtime; /* time of last modification */ time_t st_ctime; /* time of last change */ };st_mode can be used with the following macros to discover the type of file being statted.
S_ISLNK(st_mode) is it a symbolic link S_ISREG(st_mode) regular file S_ISDIR(st_mode) directory S_ISCHR(st_mode) character device S_ISBLK(st_mode) block device S_ISFIFO(st_mode) fifo S_ISSOCK(st_mode) socketThese functions return a large amount of information. See the man page (below) for details. You will need to understand structures to work with stat.
man page to provide all the details.
Top | Master Index | Keywords | Functions |