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.38 by ats, Fri Oct 24 17:46:44 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 + #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", \
# Line 46 | Line 49
49                          "umsdos", "vfat", "xfs", "jfs"}
50   #endif
51  
52 + #ifdef CYGWIN
53 + #define VALID_FS_TYPES {"user"}
54 + #endif
55 +
56   #ifdef ALLBSD
57   #include <sys/param.h>
58   #include <sys/ucred.h>
# Line 99 | 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 109 | 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 141 | 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 212 | 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 266 | Line 273 | disk_stat_t *get_disk_stats(int *entries){
273  
274          *entries=num_disks;    
275  
276 <        /* If this fails, there is very little i can do about it, so i'll ignore it :) */
277 < #if defined(LINUX) || defined(SOLARIS)
276 >        /* If this fails, there is very little i can do about it, so
277 >           I'll ignore it :) */
278 > #if defined(LINUX) || defined(CYGWIN)
279 >        endmntent(f);
280 > #endif
281 > #if defined(SOLARIS)
282          fclose(f);
283   #endif
284  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines