⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 posixstat.h

📁 linux下bash的源码
💻 H
字号:
/* posixstat.h -- Posix stat(2) definitions for systems that   don't have them. *//* Copyright (C) 1987,1991 Free Software Foundation, Inc.   This file is part of GNU Bash, the Bourne Again SHell.   Bash is free software; you can redistribute it and/or modify it   under the terms of the GNU General Public License as published by   the Free Software Foundation; either version 1, or (at your option)   any later version.   Bash is distributed in the hope that it will be useful, but WITHOUT   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public   License for more details.   You should have received a copy of the GNU General Public License   along with Bash; see the file COPYING.  If not, write to the Free   Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. *//* This file should be included instead of <sys/stat.h>.   It relies on the local sys/stat.h to work though. */#if !defined (_POSIXSTAT_H)#define _POSIXSTAT_H#include <sys/stat.h>#if defined (isc386)#  if !defined (S_IFDIR)#    define S_IFDIR 0040000#  endif /* !S_IFDIR */#  if !defined (S_IFMT)#    define S_IFMT  0170000#  endif /* !S_IFMT */#endif /* isc386 *//* This text is taken directly from the Cadmus I was trying to   compile on:    the following MACROs are defined for X/OPEN compatibility    however, is the param correct ??   #define S_ISBLK(s) ((s.st_mode & S_IFMT) == S_IFBLK)  Well, the answer is no.  Thus... */#if defined (BrainDeath)#  undef S_ISBLK#  undef S_ISCHR#  undef S_ISDIR#  undef S_ISFIFO#  undef S_ISREG#endif /* BrainDeath *//* Posix 1003.1 5.6.1.1 <sys/stat.h> file types *//* Some Posix-wannabe systems define _S_IF* macros instead of S_IF*, but   do not provide the S_IS* macros that Posix requires. */#if defined (_S_IFMT) && !defined (S_IFMT)#define S_IFMT _S_IFMT#endif#if defined (_S_IFIFO) && !defined (S_IFIFO)#define S_IFIFO _S_IFIFO#endif#if defined (_S_IFCHR) && !defined (S_IFCHR)#define S_IFCHR _S_IFCHR#endif#if defined (_S_IFDIR) && !defined (S_IFDIR)#define S_IFDIR _S_IFDIR#endif#if defined (_S_IFBLK) && !defined (S_IFBLK)#define S_IFBLK _S_IFBLK#endif#if defined (_S_IFREG) && !defined (S_IFREG)#define S_IFREG _S_IFREG#endif#if defined (_S_IFLNK) && !defined (S_IFLNK)#define S_IFLNK _S_IFLNK#endif#if defined (_S_IFSOCK) && !defined (S_IFSOCK)#define S_IFSOCK _S_IFSOCK#endif/* Test for each symbol individually and define the ones necessary (some   systems claiming Posix compatibility define some but not all). */#if defined (S_IFBLK) && !defined (S_ISBLK)#define	S_ISBLK(m)	(((m)&S_IFMT) == S_IFBLK)	/* block device */#endif#if defined (S_IFCHR) && !defined (S_ISCHR)#define	S_ISCHR(m)	(((m)&S_IFMT) == S_IFCHR)	/* character device */#endif#if defined (S_IFDIR) && !defined (S_ISDIR)#define	S_ISDIR(m)	(((m)&S_IFMT) == S_IFDIR)	/* directory */#endif#if defined (S_IFREG) && !defined (S_ISREG)#define	S_ISREG(m)	(((m)&S_IFMT) == S_IFREG)	/* file */#endif#if defined (S_IFIFO) && !defined (S_ISFIFO)#define	S_ISFIFO(m)	(((m)&S_IFMT) == S_IFIFO)	/* fifo - named pipe */#endif#if defined (S_IFLNK) && !defined (S_ISLNK)#define	S_ISLNK(m)	(((m)&S_IFMT) == S_IFLNK)	/* symbolic link */#endif#if defined (S_IFSOCK) && !defined (S_ISSOCK)#define	S_ISSOCK(m)	(((m)&S_IFMT) == S_IFSOCK)	/* socket */#endif/* * POSIX 1003.1 5.6.1.2 <sys/stat.h> File Modes */ #if !defined (S_IRWXU)#  if !defined (S_IREAD)#    define S_IREAD	00400#    define S_IWRITE	00200#    define S_IEXEC	00100#  endif /* S_IREAD */#  if !defined (S_IRUSR)#    define S_IRUSR	S_IREAD			/* read, owner */#    define S_IWUSR	S_IWRITE		/* write, owner */#    define S_IXUSR	S_IEXEC			/* execute, owner */#    define S_IRGRP	(S_IREAD  >> 3)		/* read, group */#    define S_IWGRP	(S_IWRITE >> 3)		/* write, group */#    define S_IXGRP	(S_IEXEC  >> 3)		/* execute, group */#    define S_IROTH	(S_IREAD  >> 6)		/* read, other */#    define S_IWOTH	(S_IWRITE >> 6)		/* write, other */#    define S_IXOTH	(S_IEXEC  >> 6)		/* execute, other */#  endif /* !S_IRUSR */#  define S_IRWXU	(S_IRUSR | S_IWUSR | S_IXUSR)#  define S_IRWXG	(S_IRGRP | S_IWGRP | S_IXGRP)#  define S_IRWXO	(S_IROTH | S_IWOTH | S_IXOTH)#endif /* !S_IRWXU *//* These are non-standard, but are used in builtins.c$symbolic_umask() */#define S_IRUGO		(S_IRUSR | S_IRGRP | S_IROTH)#define S_IWUGO		(S_IWUSR | S_IWGRP | S_IWOTH)#define S_IXUGO		(S_IXUSR | S_IXGRP | S_IXOTH)#endif /* _POSIXSTAT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -