|  #include <sys/stat.h>and into which information is placed concerning the file.
                     The fields of
                     
                     
                     struct stat
                     related to the file system are as follows:
                     
                     
                     
                     
                     
                      
                        
                           | st_dev | The numeric ID of the device containing the file. |  
                           | st_ino | The file’s inode number. |  
                           | st_nlink |  
                           |  | The number of hard links to the file. |  |
 
                     The
                     
                     
                      st_dev
                     and
                     
                     
                      st_ino
                     fields together identify the file uniquely within the system.
                     
                     
                     
                   
                     The time-related fields of
                     
                     
                     struct stat
                     are as follows:
                     
                     
                     
                     
                     
                      
                        
                           | st_atime | Time when file data last accessed.
                              Changed by the .Xr utimes 2,
                              
                              
                              read
                              and
                              
                              
                              readv
                              system calls. |  
                           | st_mtime | Time when file data last modified. |  
                           | st_ctime | Time when file status was last changed (inode data modification). |  
                           | st_birthtime |  
                           |  | Time when the inode was created. |  |
 
                     If
                     
                     
                      _POSIX_SOURCE
                     is not defined, the time-related fields are defined as:
                     
                     
                     
                   #ifndef _POSIX_SOURCE
#define st_atime st_atimespec.tv_sec
#define st_mtime st_mtimespec.tv_sec
#define st_ctime st_ctimespec.tv_sec
#endif
                     
 
                     The size-related fields of the
                     
                     
                     struct stat
                     are as follows:
                     
                     
                     
                     
                     
                      
                        
                           | st_size | The file size in bytes. |  
                           | st_blksize |  
                           |  | The optimal I/O block size for the file. |  
                           | st_blocks | The actual number of blocks allocated for the file in 512-byte units.
                              As short symbolic links are stored in the inode, this number may
                              be zero. |  |
 
                     The access-related fields of
                     
                     
                     struct stat
                     are as follows:
                     
                     
                     
                     
                     
                      
                        
                           | st_uid | The user ID of the file’s owner. |  
                           | st_gid | The group ID of the file. |  
                           | st_mode |  
                           |  | Status of the file (see below). |  |
 
                     The status information word
                     
                     
                      st_mode
                     has the following bits:
                     
                     
                     
                   #define S_IFMT   0170000  /* type of file */
#define S_IFIFO  0010000  /* named pipe (fifo) */
#define S_IFCHR  0020000  /* character special */
#define S_IFDIR  0040000  /* directory */
#define S_IFBLK  0060000  /* block special */
#define S_IFREG  0100000  /* regular */
#define S_IFLNK  0120000  /* symbolic link */
#define S_IFSOCK 0140000  /* socket */
#define S_IFWHT  0160000  /* whiteout */
#define S_ISUID  0004000  /* set user id on execution */
#define S_ISGID  0002000  /* set group id on execution */
#define S_ISVTX  0001000  /* save swapped text even after use */
#define S_IRUSR  0000400  /* read permission, owner */
#define S_IWUSR  0000200  /* write permission, owner */
#define S_IXUSR  0000100  /* execute/search permission, owner */
                     
 
                     For a list of access modes, see
                     
                     
                     
                   |