File:  [MW Coherent from dump] / coherent / f / usr / include.78 / sys / stat.h
Revision 1.1.1.1 (vendor branch): download - view: text, annotated - select for diffs
Wed May 29 04:56:40 2019 UTC (7 years ago) by root
Branches: MarkWilliams, MAIN
CVS tags: relic, HEAD
coherent

/* (-lgl
 * 	COHERENT Version 4.1.0
 * 	Copyright (c) 1982, 1993 by Mark Williams Company.
 * 	All rights reserved. May not be copied without permission.
 -lgl) */
/*
 * /usr/include/sys/stat.h
 * Stat.
 */

#ifndef	__SYS_STAT_H__
#define	__SYS_STAT_H__

#include <sys/types.h>

/*
 * Structure returned by stat and fstat system calls.
 */
struct stat {
	dev_t	 st_dev;		/* Device	*/
	ino_t	 st_ino;		/* Inode number	*/
	unsigned short st_mode;		/* Mode		*/
	short	 st_nlink;		/* Link count	*/
	short	 st_uid;		/* User id	*/
	short	 st_gid;		/* Group id	*/
	dev_t	 st_rdev;		/* Real device	*/
	fsize_t	 st_size;		/* Size		*/
	time_t	 st_atime;		/* Access time	*/
	time_t	 st_mtime;		/* Modify time	*/
	time_t	 st_ctime;		/* Change time	*/
};

/*
 * Modes.
 */
#define	S_IFMT		0xF000		/* Type				*/
#define	S_IFDIR		0x4000		/* Directory			*/
#define	S_IFCHR		0x2000		/* Character special		*/
#define	S_IFPIP		0x1000		/* Pipe				*/
#define	S_IFIFO		S_IFPIP		/* Pipe				*/
#define	S_IFBLK		0x6000		/* Block special		*/
#define	S_IFREG		0x8000		/* Regular			*/
#define	S_IFSOCK	0xC000		/* Socket -- UNIMPLEMENTED	*/
#define	S_IFMPC		0x3000		/* Multiplexed character special */
#define	S_IFMPB		0x7000		/* Multiplexed block special	*/

#define	S_ISUID		0x0800		/* Set user id on execution	*/
#define	S_ISGID		0x0400		/* Set group id on execution	*/
#define	S_ISVTX		0x0200		/* Save swapped text even after use */

#define	S_IREAD		0400		/* Read permission, owner	*/
#define	S_IWRITE	0200		/* Write permission, owner	*/
#define	S_IEXEC		0100		/* Execute/search permission, owner */
#define	S_IRWXU		0700		/* RWX permission, owner	*/
#define	S_IRUSR		S_IREAD		/* Read permission, owner	*/
#define	S_IWUSR		S_IWRITE	/* Write permission, owner	*/
#define	S_IXUSR		S_IEXEC		/* Execute/search permission, owner */
#define	S_IRWXG		0070		/* RWX permission, group	*/
#define	S_IRGRP		0040		/* Read permission, group	*/
#define	S_IWGRP		0020		/* Write permission, group	*/
#define	S_IXGRP		0010		/* Execute/search permission, group */
#define	S_IRWXO		0007		/* RWX permission, other	*/
#define	S_IROTH		0004		/* Read permission, other	*/
#define	S_IWOTH		0002		/* Write permission, other	*/
#define	S_IXOTH		0001		/* Execute/search permission, other */

/* Mode test macros. */
#define	S_ISFIFO(mode)	(((mode)&S_IFMT) == S_IFIFO)
#define	S_ISCHR(mode)	(((mode)&S_IFMT) == S_IFCHR)
#define	S_ISDIR(mode)	(((mode)&S_IFMT) == S_IFDIR)
#define	S_ISBLK(mode)	(((mode)&S_IFMT) == S_IFBLK)
#define	S_ISREG(mode)	(((mode)&S_IFMT) == S_IFREG)
#define	S_ISSOCK(mode)	(((mode)&S_IFMT) == S_IFSOCK)

/*
 * Nonexistent device.
 * Must compare correctly with dev_t, which is an unsigned short.
 */
#define NODEV	((dev_t)-1)

/*
 * Functions.
 */
#define	major(dev)	((dev>>8) & 0xFF)
#define minor(dev)	(dev & 0xFF)
#define makedev(m1, m2)	((m1<<8)|m2)

#endif

/* end of sys/stat.h */

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.