From 7e0f021a9aec35fd8e6725e87e3313b101d26f5e Mon Sep 17 00:00:00 2001 From: Tobias Klauser Date: Sun, 27 Jan 2008 11:37:44 +0100 Subject: Initial import (2.0.2-6) --- reference/C/FUNCTIONS/stat.html | 124 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 124 insertions(+) create mode 100644 reference/C/FUNCTIONS/stat.html (limited to 'reference/C/FUNCTIONS/stat.html') diff --git a/reference/C/FUNCTIONS/stat.html b/reference/C/FUNCTIONS/stat.html new file mode 100644 index 0000000..601aeaa --- /dev/null +++ b/reference/C/FUNCTIONS/stat.html @@ -0,0 +1,124 @@ +stat/fstat/lstat functions. + + + + + + +
+
+

stat/fstat/lstat functions.

+
+
+

+ +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) socket	
+
+ +These 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. +

+


+

Examples

+ + +example program. +

+


+

See also:

+ +POSIX functions to read directory information. +

+


+

Note

+I have seen a problem with the 'access time', it only seems to get updated +if the file system is local. If the filesystem is NFS mounted and +accessed via 'cat' or 'head' the access date is not updated. + + +

+ +


+

+

+ + + + +
+ Top + + Master Index + + Keywords + + Functions +
+
+

+


+
Martin Leslie +

+ + + -- cgit v1.2.3-54-g00ecf