Go to main content
Oracle Developer Studio 12.6 Man Pages

Exit Print View

Updated: June 2017
 
 

fstat(3F)

Name

stat, lstat, fstat - get file status

Synopsis

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)

Description

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

Notes

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.

Files

libfsu.a

See Also

stat(2), access(3F), perror(3F), time(3F), stat64(3F), lstat64(3F), fstat64(3F)

Bugs

Path names cannot be longer than MAXPATHLEN as defined in <sys/param.h>.