Accesses information about the file specified by the file descriptor.
#include <stat.h> int fstat (int file_desc, struct stat *buffer);Function Variants Compiling with the _DECC_V4_SOURCE and _VMS_V6_SOURCE feature- test macros defined enables a local-time-based entry point to this function that is equivalent to the behavior before OpenVMS Version 7.0.
Member | Type | Definition |
---|---|---|
st_dev | dev_ t | Pointer to a physical device name |
st_ino[3] | ino_t | Three words to receive the file ID |
st_ mode | mode_t | File "mode" (prot, dir, . . . ) |
st_nlink | nlink_ t | For UNIX system compatibility only |
st_uid | uid_t | Owner user ID |
st_gid | gid_t | Group member: from st_uid |
st_ rdev | dev_t | UNIX system compatibility - always 0 |
st_size | off_ t | File size, in bytes |
st_atime | time_t | File access time; always the same as st_mtime |
st_ mtime | time_t | Last modification time |
st_ctime | time_ t | File creation time |
st_ fab_rfm | char | Record format |
st_fab_rat | char | Record attributes |
st_fab_fsz | char | Fixed header size |
st_fab_mrs | unsigned | Record size |
The types dev_t, ino_t, off_t, mode_t, nlink_t, uid_t, gid_t, and time_t, are defined in the <stat.h> header file. However, when compiling for compatibility (/DEFINE=_DECC_V4_SOURCE), only dev_ t, ino_t, and off_t are defined.
As of OpenVMS Version 7.0, times are given in seconds since the Epoch (00:00:00 GMT, January 1, 1970).
The st_mode structure member is the status information mode and is defined in the <stat.h> header file. The st_mode bits follow:
Bits | Constant | Definition |
---|---|---|
0170000 | S_IFMT | Type of file |
0040000 | S_IFDIR | Directory |
0020000 | S_IFCHR | Character special |
0060000 | S_IFBLK | Block special |
0100000 | S_IFREG | Regular |
0030000 | S_IFMPC | Multiplexed char special |
0070000 | S_ IFMPB | Multiplexed block special |
0004000 | S_ISUID | Set user ID on execution |
0002000 | S_ ISGID | Set group ID on execution |
0001000 | S_ISVTX | Save swapped text even after use |
0000400 | S_ IREAD | Read permission, owner |
0000200 | S_IWRITE | Write permission, owner |
0000100 | S_ IEXEC | Execute/search permission, owner |
0 | Indicates successful completion. |
-1 | Indicates an error other than a protection violation. |
-2 | Indicates a protection violation. |