stat, lstat, fstat - get file status
integer*4 function stat(name,statb) character*(*) name integer*4 statb(13)
integer*4 function lstat(name,statb) character*(*) name integer*4 statb(13)
integer function fstat(lunit,statb) integer*4 statb(13)
These routines return detailed information about a file.
The functions stat and lstat do the query by filename.
The function fstat does the query by FORTRAN logical unit lunit.
The value of each function is zero if successful, and an error code otherwise.
The variable statb receives the status structure for the file.
Calling Sequences:
stat: integer*4 stat, statb(13) character name*(*) ierr = stat ( name, statb ) fstat: integer*4 fstat, logunit, statb(13) ierr = fstat ( logunit, statb ) lstat: integer*4 lstat, statb(13) character name*(*) ierr = lstat ( name, statb )
The meaning of the information returned in the array statb is as described for the structure stat under stat(2).
Spare values are not included. The order is:
statb(1) device inode resides on statb(2) this inode's number statb(3) protection statb(4) number of hard links to the file statb(5) user id of owner statb(6) group id of owner statb(7) the device type, for inode that is device statb(8) total size of file statb(9) file last access time statb(10) file last modify time statb(11) file last status change time statb(12) optimal blocksize for file system i/o ops statb(13) actual number of blocks allocated
These routines do not return an error or warning when used on files larger than 2 Gbytes ("large" files, where the size in bytes is beyond the ranger of INTEGER*4 data). However, the value returned as the total size of the file statb will be truncated to the lower 32 bits. Support for large files was introduced with the release of the Solaris 2.6 operating environment. Use stat64(3F), lstat64(3F), and fstat64(3F), the 64-bit versions of these routines, with large files.
stat calls stat(2) in the libc library, while lstat calls lstat(2). For the differences between these two libc functions, see the stat(2) man page. In brief, they differ when the named file is a symbolic link; lstat will return information about the link, while stat will return information about the file the link references.
libfsu.a
stat(2), access(3F), perror(3F), time(3F), stat64(3F), lstat64(3F), fstat64(3F)
Path names cannot be longer than MAXPATHLEN as defined in <sys/param.h>.