* cygwin.din (fstatvfs): Export.
(statvfs): Export. * syscalls.cc: Include sys/statvfs.h. (statvfs): New function. Move statfs functionality here. (fstatvfs): New function. (statfs): Just call statvfs and copy structure. Check validity of incoming struct statfs pointer. * include/cygwin/types.h (fsblkcnt_t): Define. (fsfilcnt_t): Define. * include/cygwin/version.h: Bump API minor version. * include/sys/statvfs.h: New file.
This commit is contained in:
@ -66,6 +66,16 @@ typedef __blkcnt32_t blkcnt_t;
|
||||
#endif
|
||||
#endif /*__blkcnt_t_defined*/
|
||||
|
||||
#ifndef __fsblkcnt_t_defined
|
||||
#define __fsblkcnt_t_defined
|
||||
typedef unsigned long fsblkcnt_t;
|
||||
#endif /* __fsblkcnt_t_defined */
|
||||
|
||||
#ifndef __fsfilcnt_t_defined
|
||||
#define __fsfilcnt_t_defined
|
||||
typedef unsigned long fsfilcnt_t;
|
||||
#endif /* __fsfilcnt_t_defined */
|
||||
|
||||
#ifndef __uid_t_defined
|
||||
#define __uid_t_defined
|
||||
typedef unsigned short __uid16_t;
|
||||
|
@ -248,12 +248,13 @@ details. */
|
||||
118: Export getpriority, setpriority.
|
||||
119: Export fdatasync.
|
||||
120: Export basename, dirname.
|
||||
121: Export statvfs, fstatvfs.
|
||||
*/
|
||||
|
||||
/* Note that we forgot to bump the api for ualarm, strtoll, strtoull */
|
||||
|
||||
#define CYGWIN_VERSION_API_MAJOR 0
|
||||
#define CYGWIN_VERSION_API_MINOR 120
|
||||
#define CYGWIN_VERSION_API_MINOR 121
|
||||
|
||||
/* There is also a compatibity version number associated with the
|
||||
shared memory regions. It is incremented when incompatible
|
||||
|
41
winsup/cygwin/include/sys/statvfs.h
Normal file
41
winsup/cygwin/include/sys/statvfs.h
Normal file
@ -0,0 +1,41 @@
|
||||
/* sys/statvfs.h
|
||||
|
||||
Copyright 2005 Red Hat, Inc.
|
||||
|
||||
This file is part of Cygwin.
|
||||
|
||||
This software is a copyrighted work licensed under the terms of the
|
||||
Cygwin license. Please consult the file "CYGWIN_LICENSE" for
|
||||
details. */
|
||||
|
||||
#ifndef _SYS_STATVFS_H_
|
||||
#define _SYS_STATVFS_H_
|
||||
|
||||
#include <sys/types.h>
|
||||
|
||||
struct statvfs {
|
||||
unsigned long f_bsize; /* file system block size */
|
||||
unsigned long f_frsize; /* fragment size */
|
||||
fsblkcnt_t f_blocks; /* size of fs in f_frsize units */
|
||||
fsblkcnt_t f_bfree; /* free blocks in fs */
|
||||
fsblkcnt_t f_bavail; /* free blocks avail to non-superuser */
|
||||
fsfilcnt_t f_files; /* total file nodes in file system */
|
||||
fsfilcnt_t f_ffree; /* free file nodes in fs */
|
||||
fsfilcnt_t f_favail; /* avail file nodes in fs */
|
||||
unsigned long f_fsid; /* file system id */
|
||||
unsigned long f_flag; /* mount flags */
|
||||
unsigned long f_namemax; /* maximum length of filenames */
|
||||
};
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
int statvfs (const char *__path, struct statvfs *__buf);
|
||||
int fstatvfs (int __fd, struct statvfs *__buf);
|
||||
|
||||
#ifdef __cplusplus
|
||||
};
|
||||
#endif /* __cplusplus */
|
||||
|
||||
#endif /*_SYS_STATVFS_H_*/
|
Reference in New Issue
Block a user