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

📄 stat.h

📁 小型的C编译器
💻 H
字号:
/* * stat.h * * Symbolic constants for opening and creating files, also stat, fstat and * chmod functions. * * This file is part of the Mingw32 package. * * Contributors: *  Created by Colin Peters <colin@bird.fu.is.saga-u.ac.jp> * *  THIS SOFTWARE IS NOT COPYRIGHTED * *  This source code is offered for use in the public domain. You may *  use, modify or distribute it freely. * *  This code is distributed in the hope that it will be useful but *  WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY *  DISCLAIMED. This includes but is not limited to warranties of *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * * $Revision: 1.2 $ * $Author: bellard $ * $Date: 2005/04/17 13:14:29 $ * */#ifndef __STRICT_ANSI__#ifndef _STAT_H_#define _STAT_H_/* All the headers include this file. */#include <_mingw.h>#define __need_size_t#define __need_wchar_t#ifndef RC_INVOKED#include <stddef.h>#endif /* Not RC_INVOKED */#include <sys/types.h>/* * Constants for the stat st_mode member. */#define	_S_IFIFO	0x1000	/* FIFO */#define	_S_IFCHR	0x2000	/* Character */#define	_S_IFBLK	0x3000	/* Block: Is this ever set under w32? */#define	_S_IFDIR	0x4000	/* Directory */#define	_S_IFREG	0x8000	/* Regular */#define	_S_IFMT		0xF000	/* File type mask */#define	_S_IEXEC	0x0040#define	_S_IWRITE	0x0080#define	_S_IREAD	0x0100#define	_S_IRWXU	(_S_IREAD | _S_IWRITE | _S_IEXEC)#define	_S_IXUSR	_S_IEXEC#define	_S_IWUSR	_S_IWRITE#define	_S_IRUSR	_S_IREAD#define	_S_ISDIR(m)	(((m) & _S_IFMT) == _S_IFDIR)#define	_S_ISFIFO(m)	(((m) & _S_IFMT) == _S_IFIFO)#define	_S_ISCHR(m)	(((m) & _S_IFMT) == _S_IFCHR)#define	_S_ISBLK(m)	(((m) & _S_IFMT) == _S_IFBLK)#define	_S_ISREG(m)	(((m) & _S_IFMT) == _S_IFREG)#ifndef _NO_OLDNAMES#define	S_IFIFO		_S_IFIFO#define	S_IFCHR		_S_IFCHR#define	S_IFBLK		_S_IFBLK#define	S_IFDIR		_S_IFDIR#define	S_IFREG		_S_IFREG#define	S_IFMT		_S_IFMT#define	S_IEXEC		_S_IEXEC#define	S_IWRITE	_S_IWRITE#define	S_IREAD		_S_IREAD#define	S_IRWXU		_S_IRWXU#define	S_IXUSR		_S_IXUSR#define	S_IWUSR		_S_IWUSR#define	S_IRUSR		_S_IRUSR#define	S_ISDIR(m)	(((m) & S_IFMT) == S_IFDIR)#define	S_ISFIFO(m)	(((m) & S_IFMT) == S_IFIFO)#define	S_ISCHR(m)	(((m) & S_IFMT) == S_IFCHR)#define	S_ISBLK(m)	(((m) & S_IFMT) == S_IFBLK)#define	S_ISREG(m)	(((m) & S_IFMT) == S_IFREG)#endif	/* Not _NO_OLDNAMES */#ifndef RC_INVOKED#ifndef _STAT_DEFINED/* * The structure manipulated and returned by stat and fstat. * * NOTE: If called on a directory the values in the time fields are not only * invalid, they will cause localtime et. al. to return NULL. And calling * asctime with a NULL pointer causes an Invalid Page Fault. So watch it! */struct _stat{	_dev_t	st_dev;		/* Equivalent to drive number 0=A 1=B ... */	_ino_t	st_ino;		/* Always zero ? */	_mode_t	st_mode;	/* See above constants */	short	st_nlink;	/* Number of links. */	short	st_uid;		/* User: Maybe significant on NT ? */	short	st_gid;		/* Group: Ditto */	_dev_t	st_rdev;	/* Seems useless (not even filled in) */	_off_t	st_size;	/* File size in bytes */	time_t	st_atime;	/* Accessed date (always 00:00 hrs local				 * on FAT) */	time_t	st_mtime;	/* Modified time */	time_t	st_ctime;	/* Creation time */};struct stat{	_dev_t	st_dev;		/* Equivalent to drive number 0=A 1=B ... */	_ino_t	st_ino;		/* Always zero ? */	_mode_t	st_mode;	/* See above constants */	short	st_nlink;	/* Number of links. */	short	st_uid;		/* User: Maybe significant on NT ? */	short	st_gid;		/* Group: Ditto */	_dev_t	st_rdev;	/* Seems useless (not even filled in) */	_off_t	st_size;	/* File size in bytes */	time_t	st_atime;	/* Accessed date (always 00:00 hrs local				 * on FAT) */	time_t	st_mtime;	/* Modified time */	time_t	st_ctime;	/* Creation time */};#if defined (__MSVCRT__)struct _stati64 {    _dev_t st_dev;    _ino_t st_ino;    unsigned short st_mode;    short st_nlink;    short st_uid;    short st_gid;    _dev_t st_rdev;    __int64 st_size;    time_t st_atime;    time_t st_mtime;    time_t st_ctime;};#endif /* __MSVCRT__ */#define _STAT_DEFINED#endif /* _STAT_DEFINED */#ifdef	__cplusplusextern "C" {#endifint	_fstat (int, struct _stat*);int	_chmod (const char*, int);int	_stat (const char*, struct _stat*);#if defined (__MSVCRT__)int  _fstati64(int, struct _stati64 *);int  _stati64(const char *, struct _stati64 *);#if !defined ( _WSTAT_DEFINED) /* also declared in wchar.h */int	_wstat(const wchar_t*, struct _stat*);int	_wstati64 (const wchar_t*, struct _stati64*);#define _WSTAT_DEFINED#endif /* _WSTAT_DEFIND */#endif /* __MSVCRT__ */#ifndef	_NO_OLDNAMES/* These functions live in liboldnames.a. */int	fstat (int, struct stat*);int	chmod (const char*, int);int	stat (const char*, struct stat*);#endif	/* Not _NO_OLDNAMES */#ifdef	__cplusplus}#endif#endif	/* Not RC_INVOKED */#endif	/* Not _STAT_H_ */#endif	/* Not __STRICT_ANSI__ */

⌨️ 快捷键说明

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