fstat [ MPE/iX Developer's Kit Reference Manual Volume I ] MPE/iX 5.0 Documentation
MPE/iX Developer's Kit Reference Manual Volume I
fstat
Returns open file status information.
Syntax
#include <sys/types.h>
#include <sys/stat.h>
int fstat (int fildes, struct stat *buffer);
Parameters
fildes An open file descriptor.
buffer A pointer to a buffer of type struct stat (defined in
<sys/stat.h>) where file information is returned.
Return Values
0 Success.
-1 An error occurred. File status information is not returned
and errno is set to indicate the error condition.
Description
The fstat() function returns status information on the open file
specified by fildes. In order to use fstat() on an open directory
stream, the directory stream associated with the open directory must be
converted to a file descriptor by calling the ANSI C function fileno().
The fstat() function updates to the current time all time fields that
have been previously marked for update. All update marks are removed.
Implementation Considerations
Refer to the EFAULT, EPERM, and ESYSERR error descriptions below.
Errors
If an error occurs, errno is set to one of the following values:
EBADF CAUSE The fildes parameter is not a valid open file
descriptor.
ACTION Pass a valid open file descriptor.
EFAULT CAUSE The system detected a NULL or bad address in
attempting to use the buffer parameter.
ACTION Make sure that the pointer is correctly initialized.
EPERM CAUSE One of the following:
* The calling process does not have the MPE/iX
process handling (PH) capability.
* The calling process is not executing a program
file whose MPE/iX file code is NMPRG.
* The calling process has outstanding switches
to CM code, has set critical mode, has
outstanding NOWAITIO, or is holding an
operating system internal resource.
ACTION One of the following:
* Make sure that the calling process has the
MPE/iX PH capability.
* Make sure that the calling process is
executing a program file whose file code is
NMPRG.
* Do not execute fork() when the calling process
has outstanding switches to CM code, has set
critical mode, has outstanding NOWAITIO, or is
holding an operating system internal resource.
ESYSERR CAUSE Access denied. Unable to map UID and GID to owner of
the file or directory designated by fildes, either
because user database is corrupted or file is invalid
for the POSIX/iX environment.
ACTION Check user database or if access to the file is valid
in the POSIX/iX environment.
See Also
creat(), dup(), open(), <sys/stat.h>, POSIX.1 (Section 5.6.2)
MPE/iX 5.0 Documentation