HP-UX Reference (11i v1 05/09) - 2 System Calls (vol 5)
s
stat(2) stat(2)
NAME
stat - get file status
SYNOPSIS
#include <sys/types.h>
#include <sys/stat.h>
int stat(const char *path, struct stat *buf);
DESCRIPTION
The stat() function obtains information about the named file and writes it to the area pointed to by the
buf argument. The path argument points to a pathname naming a file. Read, write or execute permission of
the named file is not required, but all directories listed in the pathname leading to the file must be search-
able. An implementation that provides additional or alternate file access control mechanisms may, under
implementation-dependent conditions, cause
stat() to fail. In particular, the system may deny the
existence of the file specified by path.
The buf argument is a pointer to a
stat structure, as defined in the header <sys/stat.h> , into which
information is placed concerning the file.
The
stat() function updates any time-related fields (as described in the definition of File Times Update
in the XBD specification), before writing into the stat structure.
The structure members st_mode, st_ino, st_dev, st_uid, st_gid, st_atime, st_ctime , and st_mtime will have
meaningful values for all file types defined in this document. The value of the member st_nlink will be set
to the number of links to the file.
RETURN VALUE
Upon successful completion, 0 is returned. Otherwise, −1 is returned and
errno is set to indicate the
error.
ERRORS
The stat() function will fail if:
[EACCES] Search permission is denied for a component of the path prefix.
[EIO] An error occurred while reading from the file system.
[ELOOP] Too many symbolic links were encountered in resolving path.
[ENAMETOOLONG] The length of the path argument exceeds
{PATH_MAX} or a pathname
component is longer than
{NAME_MAX} .
[ENOENT] A component of path does not name an existing file or path is an empty
string.
[ENOTDIR] A component of the path prefix is not a directory.
The stat() function may fail if:
[ENAMETOOLONG] Pathname resolution of a symbolic link produced an intermediate result
whose length exceeds {PATH_MAX}.
[EOVERFLOW] A value to be stored would overflow one of the members of the stat struc-
ture.
SEE ALSO
fstat(2), lstat(2), <sys/stat.h>, <sys/types.h>.
CHANGE HISTORY
First released in Issue 1.
Derived from Issue 1 of the SVID.
Issue 4
The following changes are incorporated for alignment with the ISO POSIX-1 standard:
• The type of argument path is changed from char * to const char *.
• In the DESCRIPTION section, (a) statements indicating the purpose of this interface and a para-
graph defining the contents of stat structure members are added, and (b) the words "extended
Section 2−−400 Hewlett-Packard Company − 1 − HP-UX 11i Version 1: September 2005