HPlogo MPE/iX Developer's Kit Reference Manual Volume I: HP 3000 MPE/iX Computer Systems > Chapter 4  POSIX/iX Library Function Descriptions

stat

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

Returns file status information.

Syntax

   #include <sys/types.h>

   #include <sys/stat.h>

   int stat (const char *pathname, struct stat *buffer);

Parameters

pathname

A pointer to a string containing a pathname of the file or directory from which to obtain information. The pathname must be terminated by a null character.

buffer

A pointer to a buffer of type struct stat (defined in <sys/stat.h>) where file status 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 stat() function returns status information on the specified file or directory to the structure pointed to by buffer.

The stat() 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 EACCES, EFAULT, EIMPL, and ESYSERR error descriptions below.

Access permissions to the file are not required, but if the file or directory has an MPE/iX ACD, the calling process must have MPE/iX read ACD (RACD) access to the file or directory, or an error occurs.

Errors

If an error occurs, errno is set to one of the following values:

EACCESCAUSE The calling process does not have search permission to a component of the pathname.
 ACTION Make sure that the calling process has search permission to all components of the pathname.
EFAULTCAUSE The system detected a NULL or bad address in attempting to use the buffer or pathname parameters, or the pathname was not terminated by a null character.
 ACTION Make sure that the pointer is correctly initialized.
ENAMETOOLONGCAUSE

One of the following:

  • The length of the pathname exceeds the {PATH_MAX} limit (defined in the file <limits.h>).

  • A component of the pathname is longer than {NAME_MAX} (defined in <limits.h>), and {_POSIX_NO_TRUNC} is in effect for that directory.

 ACTION Make sure that both the component's length and the full pathname length do not exceed the {NAME_MAX} or {PATH_MAX} limits.
ENOENTCAUSE The specified file does not exist, or pathname points to an empty string.
 ACTION Specify a valid pathname.
ENOTDIRCAUSE A component of the pathname is not a directory.
 ACTION Specify a valid pathname.
EPERMCAUSE The calling process does not have MPE/iX read ACD (RACD) access to the file, or the pathname begins with two slash characters (//>).
 ACTION Make sure that the calling process has RACD access to the file before calling stat(), or do not begin the pathname with two slash characters (//).
ESYSERRCAUSE Access denied. Unable to map UID and GID to owner of the file or directory either because user database is corrupted or because the MPE/iX file type is not supported by POSIX/iX library functions.
 ACTION Check to see if the user database is corrupted, or if the MPE/iX file type is supported by POSIX/iX library functions.

See Also

creat(), dup(), fstat(), open(), <sys/stat.h>, POSIX.1 (Section 5.6.2)

Feedback to webmaster