xref: /titanic_50/usr/src/man/man3head/stat.h.3head (revision c10c16dec587a0662068f6e2991c29ed3a9db943)
te
Copyright (c) 2009, Sun Microsystems, Inc. All Rights Reserved
Copyright 1989 AT&T
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License. You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing.
See the License for the specific language governing permissions and limitations under the License. When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with
the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
stat.h 3HEAD "1 Sep 2009" "SunOS 5.11" "Headers"
NAME
stat.h, stat - data returned by stat system call
SYNOPSIS

#include <sys/types.h>
#include <sys/stat.h>
DESCRIPTION

The system calls stat(), lstat() and fstat() return data in a stat structure, which is defined in <stat.h>.

The constants used in the st_mode field are also defined in this file:

#defineS_IFMT/* type of file */
#defineS_IAMB/* access mode bits */
#defineS_IFIFO/* fifo */
#defineS_IFCHR/* character special */
#defineS_IFDIR/* directory */
#defineS_IFNAM/* XENIX special named file */
#defineS_INSEM/* XENIX semaphore subtype of IFNAM */
#defineS_INSHD/* XENIX shared data subtype of IFNAM */
#defineS_IFBLK/* block special */
#defineS_IFREG/* regular */
#defineS_IFLNK/* symbolic link */
#defineS_IFSOCK/* socket */
#defineS_IFDOOR/* door */
#defineS_ISUID/* set user id on execution */
#defineS_ISGID/* set group id on execution */
#defineS_ISVTX/* save swapped text even after use */
#defineS_IREAD/* read permission, owner */
#defineS_IWRITE/* write permission, owner */
#defineS_IEXEC/* execute/search permission, owner */
#defineS_ENFMT/* record locking enforcement flag */
#defineS_IRWXU/* read, write, execute: owner */
#defineS_IRUSR/* read permission: owner */
#defineS_IWUSR/* write permission: owner */
#defineS_IXUSR/* execute permission: owner */
#defineS_IRWXG/* read, write, execute: group */
#defineS_IRGRP/* read permission: group */
#defineS_IWGRP/* write permission: group */
#defineS_IXGRP/* execute permission: group */
#defineS_IRWXO/* read, write, execute: other */
#defineS_IROTH/* read permission: other */
#defineS_IWOTH/* write permission: other */
#defineS_IXOTH/* execute permission: other */

The following macros are for POSIX conformance (see standards(5)):

#defineS_ISBLK(mode)block special file
#defineS_ISCHR(mode)character special file
#defineS_ISDIR(mode)directory file
#defineS_ISFIFO(mode)pipe or fifo file
#defineS_ISREG(mode)regular file
#defineS_ISSOCK(mode)socket file

The following symbolic constants are defined as distinct integer values outside of the range [0, 999 999 999], for use with the futimens() and utimensat() functions:

#define UTIME_NOW use the current time
@define UTIME_OMIT no time change
ATTRIBUTES

See attributes(5) for descriptions of the following attributes:

ATTRIBUTE TYPEATTRIBUTE VALUE
Interface StabilityCommitted
StandardSee standards(5).
SEE ALSO

futimens(2), stat(2), types.h(3HEAD), attributes(5), standards(5)