ViewVC Help
View File | Revision Log | Show Annotations | Revision Graph | Root Listing
root/i-scream/projects/libstatgrab/src/libstatgrab/disk_stats.c
(Generate patch)

Comparing projects/libstatgrab/src/libstatgrab/disk_stats.c (file contents):
Revision 1.39 by tdb, Mon Nov 10 21:07:04 2003 UTC vs.
Revision 1.40 by ats, Mon Nov 10 23:25:45 2003 UTC

# Line 25 | Line 25
25   #include <stdio.h>
26   #include <stdlib.h>
27   #include <string.h>
28 + #include <time.h>
29   #include "statgrab.h"
30  
31   #ifdef SOLARIS
# Line 34 | Line 35
35   #define VALID_FS_TYPES {"ufs", "tmpfs"}
36   #endif
37  
38 < #ifdef LINUX
38 < #include <time.h>
39 < #include <sys/vfs.h>
38 > #if defined(LINUX) || defined(CYGWIN)
39   #include <mntent.h>
40 + #include <sys/vfs.h>
41   #include "tools.h"
42 < #ifdef CYGWIN
43 < #define VALID_FS_TYPES {"user"}
44 < #else
42 > #endif
43 >
44 > #ifdef LINUX
45   #define VALID_FS_TYPES {"adfs", "affs", "befs", "bfs", "efs", "ext2", \
46                          "ext3", "vxfs", "hfs", "hfsplus", "hpfs", "jffs", \
47                          "jffs2", "minix", "msdos", "ntfs", "qnx4", "ramfs", \
48                          "rootfs", "reiserfs", "sysv", "v7", "udf", "ufs", \
49                          "umsdos", "vfat", "xfs", "jfs"}
50   #endif
51 +
52 + #ifdef CYGWIN
53 + #define VALID_FS_TYPES {"user"}
54   #endif
55  
56   #ifdef ALLBSD
# Line 103 | Line 106 | disk_stat_t *get_disk_stats(int *entries){
106          char *fs_types[] = VALID_FS_TYPES;
107          int x, valid_type;
108          int num_disks=0;
109 < #if defined(LINUX) || defined (SOLARIS)
109 > #if defined(LINUX) || defined (SOLARIS) || defined(CYGWIN)
110          FILE *f;
111   #endif
112  
# Line 113 | Line 116 | disk_stat_t *get_disk_stats(int *entries){
116          struct mnttab mp;
117          struct statvfs fs;
118   #endif
119 < #ifdef LINUX
119 > #if defined(LINUX) || defined(CYGWIN)
120          struct mntent *mp;
121          struct statfs fs;
122   #endif
# Line 145 | Line 148 | disk_stat_t *get_disk_stats(int *entries){
148                  }
149   #endif
150  
151 < #ifdef LINUX
151 > #if defined(LINUX) || defined(CYGWIN)
152          if ((f=setmntent("/etc/mtab", "r" ))==NULL){
153                  return NULL;
154          }
# Line 216 | Line 219 | disk_stat_t *get_disk_stats(int *entries){
219                          /* Freebsd doesn't have a "available" inodes */
220                          disk_ptr->used_inodes=disk_ptr->total_inodes-disk_ptr->free_inodes;
221   #endif
222 < #ifdef LINUX
222 > #if defined(LINUX) || defined(CYGWIN)
223                          if((disk_ptr->device_name=copy_string(disk_ptr->device_name, mp->mnt_fsname))==NULL){
224                                  return NULL;
225                          }
# Line 272 | Line 275 | disk_stat_t *get_disk_stats(int *entries){
275  
276          /* If this fails, there is very little i can do about it, so
277             I'll ignore it :) */
278 < #if defined(LINUX)
278 > #if defined(LINUX) || defined(CYGWIN)
279          endmntent(f);
280   #endif
281   #if defined(SOLARIS)

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines